‹ paviānu štelles

Par pārvākšanos

Dec 21, 2005

2003. gada beigās es ierados Sviesta Cibā. Pirms tam man bija cu.eclub.lv. Atskatoties tālākā pagātnē, vēl senāk mana lapa bija uz times.lv, un pavisam sen uz world.lv. Un pavisam pavisam sen uz angelfire.com. Bet, tātad, ievācos Sviesta Cibā. Sapratu, kā strādā S1 stilu sistēma un pārnesu stilu no vecās lapas. Uztaisīju arī stilu S2 sistēmā. Un vēl es, protams, lielā labpatikā vēroju, kā lēnām aug SC draugu skaits. Un ar lielu prieku lasīju katru saņemto komentāru. To es daru tagad arī, protams. Bet lūk, padzīvojoties cibā, pamazām tika apzinātas tās robežas. Pa laikam uzdūros uz kā tāda, ko gribētos, bet nevar dabūt. Piemēram, tagu karināšana pie rakstiem parādījās gluži nesen. Rakstus nevar kārtot pa kategorijām (doma uztaisīt cibas lietotāju katrai rakstu kategorijai, bet kaut kā tomēr no tās atteicos. Bet tā radās lietotāji cu_p, cu_v un cu_f). Ciba drošības apsvērumu dēļ neatļauj Javascript kodu lapas tekstā – līdz ar to nevar dabūt apmeklētāju skaitītājus, bildītes no flickr un tamlīdzīgus niekus. Vēl man ļoti gribējās savus dienasgrāmatas ierakstus rakstīt textile pierakstā, nevis plikā htmlā.

Laikam ritot, arvien biežāk prātā spēlējos ar domu ierīkot savu žurnālu – savu savu savu. No vienas puses, savs žurnāls skaitās tā kā nākamā attīstības pakāpe pēc ierindas cibiņa. No otras puses, dikti negribējās pamest komentētājus, ikdienā lasīto draugu lentu un savu vietiņu diženajā cibā. Var tēlaini salīdzināt ar pārcelšanos no kopmītnēm (kur visiem viena duša un tualetes no rītiem aizvemtas, bet toties sabiedrība) uz māju meža vidū. Tad es domāju taisīt zelta vidusceļu un ierīkoties tā – turēt savu dienasgrāmatu kā pieklājas, bet dienasgrāmatas ierakstus transportēt arī uz cibu, un komentēšanos vest cibā.

Sākumā likās, ka tādu dienasgrāmatas dzinēju, kas mācētu sadarboties ar cibu, būs jāraksta pašam. Jau pēc dažu rindiņu uzrakstīšanas skaidri jutu, ka nemūžam nepietiks pacietības visu sataisīt skaisti un labi līdz galam. Sākumā pameklēju, vai šāda sinhronizācija nav jau kādam dzinējam gatava uztaisīta, bet nekas neatradās. No dienasgrāmatu dzinējiem man pieredze bija bijusi ar diviem – WordPress un Textpattern. Ar Textpattern man bija sanācis darīties drusku vairāk un iespaidi bija bijuši gluži labi. Tāpēc nolēmu izpētīt, cik sarežģīti būtu sajūgt Textpattern kopā ar Sviesta Cibu. Izrādījās – neticami vienkārši. Izmantojot Textpattern sastāvā ietilpstošo Incutio XML-RPC bibliotēku, dienasgrāmatas ieraksta aizsūtīšanai uz SC nepieciešamais kods (ar visu rokas kratīšanas autorizāciju) ir apmēram tik īss:

$wl_client = new IXR_Client(LJ_URL);
$wl_client->query('LJ.XMLRPC.getchallenge');
$challenge_data = $wl_client->getResponse();
$magic_key = md5($challenge_data['challenge'].md5(LJ_PASS));
$fixed = str_replace('\\ n', "\ n", $Body_html);
$fixed = str_replace('\"', '"', $fixed);
$lj_data = array(
  'username' => LJ_USER,
  'auth_method' => 'challenge',
  'auth_challenge' => $challenge_data['challenge'],
  'auth_response' => $magic_key,
  'event' => $fixed,
  'lineendings' => 'unix',
  'subject' => $Title, 
  'security' => 'public',
  'year' => $year,
  'mon' => $month,
  'day' => $day,
  'hour' => $hour,
  'min' => $minute,
  'props' => array('opt_preformatted' => true)
);
$wl_client->query('LJ.XMLRPC.postevent', $lj_data);
$resp = $wl_client->getResponse();
$message = '';
if (array_key_exists('faultString',$resp)) 
  $message = 'LJ problem: '.$resp['faultString'];

Patiesībā labojumi gan ir drusku garāki (bet šī ir tā būtiskākā daļa), un vēl nav pilnībā pabeigti. Piemēram, man vajadzētu, bet nav sataisīts, ka, ja ieraksta kategorija ir “Dzīve”, tad ieraksts aiziet uz SC lietotāju “cu”, bet, ja kategorija ir “Filmas” – tad uz lietotāju “cu_f”. Un ja kategorija tiek mainīta, tad ierakstam arī jāpārlec.

Tālāk bija jāieimportē ieraksti no cibas jaunajā Textpattern dienasgrāmatā. No cibas var eksportēt ierakstus CSV un XML formātā, bet tikai pa vienam mēnesim. Krietnu laiku klikšķinājos un dabūju čupu ar XML failiem. Tālāk uzrakstīju mazu PHP skriptiņu, kas iet cauri šiem failiem un sadzen tos Textpattern datubāzē. Ar otru, līdzīgu skriptu tur tika sadzīti arī raksti no cu.eclub.lv.

Tad ķēros pie “Pimp my Textpattern”. Ar “dizaina” taisīšanu man galīgi nevedās, tas ar nedēļu atstarpēm tika taisīts un pārtaisīts, bet nekas prātīgs nesanāca. Tagad jau arī – nu tā. Mērkaķi ir nosperti no flickr.

Pieliku dažus Textpattern spraudņus (textpattern.org to ir lērums, tikai retais gan liekas noderīgs) – lai kategoriju nosaukumos rādītos garumzīmes, lai būtu lauciņš, kurā ierakstīt Technorati tagus. Par tagiem man nav skaidrība – mani ieraksti ir latviešu valodā – tad tagiem būtu jābūt latviski (“dienasgrāmata, internets”) vai angliski (“blog, internet”)?

Lūk tā. Tiesa, pārvākšanās procesā bija daudz galvas sišanas pret sienu, bet bija arī viss kas interesants.