Jelenleg úgy néz ki, hogy a tartalom migrálása nem lesz annyira összetett, mint amire számítottam, mivel a Confluence 4.x+ esetén az internal storage format pőre HTML lett, illetve a SOAP API használatával létre tudok hozni oldalakat, a JavaForum2.0 alatti HTML tartalmak – több-kevesebb sikerrel – megfelelően jelennek meg, illetve utólag is megfelelő módon szerkeszthetőek.
Az alábbi SOAP hívással létre tudtam hozni néhány tesztoldalt – elnézést az RSS olvasók olvasóitól...
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soap.rpc.confluence.atlassian.com"> <soapenv:Header/> <soapenv:Body> <soap:storePage soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <in0 xsi:type="xsd:string">BN79M4hfB</in0> <in1 xsi:type="bean:RemotePage" xmlns:bean="http://beans.soap.rpc.confluence.atlassian.com"> <space xsi:type="xsd:string">JAVAFORUM</space> <title xsi:type="xsd:string">Teszt teszt4</title> <parentId xsi:type="xsd:long">19365945</parentId> <version xsi:type="xsd:int">0</version> <content xsi:type="xsd:string"><![CDATA[Nyitottam egy új témát <a href="http://www.javaforum.hu/javaforum/6/forum/forum/68/showTopic/android_1.android_mysql_adat_lekerdezes_illetve_feltoltes">Android mysql adat lekérdezés illetve feltöltés</a> címen, így valóban egy helyen lesznek az ehhez kapcsolatos információk. Összevontam a 2 try catch-t, de a <ol start="1" class="dp-j"><li><span><span class="keyword">catch</span><span>(Exception e){ </span></span></li><li class="alt"><span> Log.e(<span class="string">"log_tag"</span><span>, </span><span class="string">"Error converting result "</span><span>+e.toString()); </span></span></li><li><span> } <br /></span></li></ol>catch-részt nem igényelte, így akkor talán nem baj ha kihagytam. A program futása egyébként sajnos nem változott. A fekete képernyő megmaradt.Ha én jól emlékszem a képernyőre kiiratni egy valami.setText(string)-el szokás, de ebben én nem látok hasonlót.<br /><br />Köszönöm a tényleg gyors választ. :)]]></content> </in1> </soap:storePage> </soapenv:Body> </soapenv:Envelope>
Természetesen igényel majd némi utómunkát a létrehozott oldal, mivel a SOAP interfész a WebService hívással aktuálisan belépett felhasználó nevében hozza létre a témát. Ezek után a Confluence adatbázisában mindenképp kell majd turkálni, a SOAP válaszban visszakapott azonosítóval néhány táblában át kell írni az adott tartalom létrehozási idejét (creationdate), illetve az eredeti létrehozót (creation), így az eredeti tartalom az eredeti időpont szerint látszik majd a Confluence felületén.
Ami problémát okoz, azok (főleg a híreknél) a beágyazott képek, amelyeket a JavaForum2.0 tárol, illetve a fórumot tekintve – az FCKEditor nehézkes használata okán – az elrontott hozzászólások, amelyeket vagy javítok kézzel, vagy maradnak hibásan, de a fórum tartalmának és struktúrájának átrostálását egyébként is tervbe vettem, mivel a hozzászólások és kérdések nagy része 10 főbb témát érint, ezek alatt pedig néhol 200-250 téma van létrehozva eléggé vegyes minőségben. Néhány meglévő téma meg fog szűnni, a tartalom pedig be fog olvadni egy meglévő témába, a nagyobb forgalmú témák viszont osztódni fognak – legfőképp érintett a Kezdő című téma, amely közel 3000 üzenetnél jár.
A hétvégén egy kisebb témát megpróbálok átmigrálni a Confluence-ben lévő fórumba, ezzel kiderül, hogy mekkora munka lesz a teljes tartalom átmásolása, de ha megvan a script, akkor már könnyedén szinkronban tudom tartani a két portált, s normális körülmények között tudok rendet tenni a hasznos és haszontalan témákat tekintve, majd idővel a régi portál kéréseit át tudom irányítani az új tartalmak felé.
Vélemény, ötlet vagy javaslat?