Dedinčan odporúča...

logoGIMP je skratka odvodená od GNU Image Manipulation Program. Jedná sa o slobodný program na úlohy ako retušovanie fotografií, tvorbu a zostavovanie obrázkov. Pracuje na mnohých operačných systémoch, v mnohých jazykoch a poskytuje pokročilé...

Prístupové práva po migrácii

Kategória: Návody
Upravené: nedeľa, 4. september 2011

V nedávnom článku som popísal ako premigrovať svoju stránku z verzie 1.5 na 1.7 pomocou komponentu JUpgrade a popísal som tam aj problém s nastavením práv článkov a kategórií, kde som spomenul, že to vydá na celý článok. Tak tu je!

V tomto článku predpokladám, že viete spravovať Joomlu (teda inštalovať rozšírenia a mazať obsah rozšírení) a viete pracovať s databázou (teda zadávať dopyty SQL a exportovať/importovať dáta). Článok nie je určený začiatočníkom, preto nebudem podrobne popisovať každý krok.

Nástroje

Celý problém vyrieši dvojica komponentov J2XML (pre Joomla 1.5) a J2XML Importer (pre Joomla 1.7). Spomínané dva komponenty umožňujú aj priame posielanie článkov, ale toto popisovať nebudem, pretože som to neskúšal, ale mohla by to byť úžasná možnosť ako počas testovania novej verzie udržiavať synchrónny obsah.

J2XML

Komponent J2XML sa používa trochu zvláštne, alebo skôr nezvyčajne. V samotnej stránke komponentu je vlastne len jeho nastavenie a odkaz na správcu článkov. Ohľadom nastavení to je jednoduché. V Joomla 1.5 stačí nastaviť časť Export, ako vidíte na obrázku, neexportujem obrázky ani používateľov, pretože o toto sa postaral JUpgrade.

Po nastavení možno pristúpiť k samotnému exportu. Ten napodiv nie je v stránke komponentu J2XML, ale v stránkach jednotlivých správcov. Napríklad Správca sekcií, Správca kategórií, komponent Odkazy, či správca používateľov. V paneli nástrojov spomínaných stránok pribudli dve tlačidlá Exportovať a Odoslať. Samotný export je prostý, stačí vybrať (zaškrtnúť) položky, ktoré majú byť exportované, kliknúť na tlačidlo export a po chvíli bude poskytnutý súbor na stiahnutie.

Zastavím sa pri exporte článkov:

  • ak budete exportovať články zo Správcu článkov, výsledný export nebude obsahovať sekcie a kategórie;
  • ak budete exportovať články zo Správcu kategórií, bude export obsahovať články i kategórie;
  • a ak budete články exportovať zo Správcu Sekcií, získate kompletný export článkov, sekcií a kategórií.

V dvoch posledných prípadoch však nebudú exportované články, ktoré nie sú zaradené do žiadnej kategórie ani archivované články, tie treba exportovať zo Správcu článkov.

J2XML Importer

Nastavenia v Joomla 1.6 majú len časť na import a mne sa osvedčili nastavenia, ktoré vidno na obrázku, teda nastavenie prepísania existujúcich článkov, kategórií i webových odkazov. Používateľov neimportujem a obrázky len ak neexistujú, ale to je nastavenie do budúcnosti, pretože som obrázky neexportoval.

Samotný import pozostáva z výberu príslušného súboru v okne panela nástrojov a následné kliknutie na tlačidlo import, tentokrát už v okne komponentu J2XML Importer.

Oprava

Samotná oprava práv pozostáva z exportu v starej verzii pomocou J2XML a následného importu v novej verzii Joomla pomocou J2XML Importer.

V Joomla 1.5

  • urobiť migráciu stránky pomocou JUpgrade (ak ešte nie je);
  • nainštalovať J2XML;
  • urobiť export sekcií (to urobí aj export kategórií a článkov) pomocou j2XML bez obrázkov;
  • urobiť export článkov bez kategórie (a prípadného archívu) pomocou j2XML bez obrázkov.

V Joomla 1.7

  • nainštalovať j2xml-importer;
  • pomocou J2XML Importer importovať exportované súbory (sekcie a bez kategórie).

Pozor, pri importovaní väčšieho počtu položiek ma J2XML Importer odhlásil a pri opätovnom prihlásení nebolo v okne menu a panel nástrojov. Netreba robiť paniku, stačilo sa znova odhlásiť a prihlásiť a všetko bolo zase v poriadku.

Výsledkom sú funkčné odkazy v menu na kategórie a články. Články majú opravené vzťahy v tabuľke assets.

Dokončenie

Na kontrolu, či už sú prístupové práva v poriadku si môžete z tabuľky nechať vypísať len tie, ktoré majú nastavené ID rodiča na 0 (ID 0 totiž neexistuje), napríklad pomocou:

SELECT * FROM `j17_assets` WHERE `id` <> 1 AND `parent_id` = 0

Výsledok vyzerá nejako takto:

Pomocou polí „name” a „title” možno jednoducho identifikovať, čo má problém. V tomto prípade vidno, že mi ostala jedna kategória článkov (com_content.category) – to je pozostatok nesprávneho odstraňovania kategórií, keď som odstránil nadradenú kategóriu aj s vnorenou. Tento riadok prosto vymažem. V ďalších vidím, že je problém s kategóriou kontaktov (com_contact.category), tak ju prosto v Správcovi kontaktov otvorím a uložím. Hups, neexistuje, takže riadok odstraňujem. A tak postupujem, až kým nevyriešim všetky porušené práva:

MySQL vrátil prázdny výsledok (tj. nulový počet riadkov). ( Dopyt zabral 0.0012 sek. )

Problémy

Okrem spomenutého problému s odhlásením som narazil na problém s importom článkov, ktoré majú duplikované mená, takto mi ostali tri, či štyri články, ktoré som musel preklikať ručne a v jednom prípade som musel odstrániť duplikát z archívu, ale to je problém mojej stránky.

Opakovanie migrácie

Ak sa pri nastavovaní pomýlite, alebo chcete vyskúšať iné nastavenia, môžete migráciu opakovať, v takom prípade:

  • odstráňte z databázy tabuľky začínajúce na „j17”;
  • vyprázdnite tabuľky „jupgrade_categories”, „jupgrade_menus” a „jupgrade_modules”;
  • vymažte adresár „/jupgrade” a
  • spusťte migráciu znova, pričom môžte nastaviť „Preskočiť sťahovanie”.

Copyright © 2008 - 2012 Sprievodca dedinčana... Niektoré práva vyhradené.
Ak nie je uvedené inak, obsah podlieha licencii „Creative Commons Uveďte autora – Zachovajte licenciu 3.0 Unported

Nenasledovať tento odkaz, inak budete maž zakázaný prístup na stránku!