additional_plugins/serendipity_event_autosave/documentation_cz.html
2012-01-21 12:35:38 +01:00

64 lines
4 KiB
HTML

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<title>Dokumentace: Automatické ukládání</title>
</head>
<html>
<body>
<h1>Dokumentace k pluginu 'Automatické ukládání'<br />
<small>(serendipity_event_autosave)</small></h1>
<p>Dokumentaci k tomuto pluginu přeložil do češtiny Vladimír Ajgl (vlada [zavinac] ajgl [tecka] cz) a naposledy zkontroloval dne 21.1.2012. Od té doby mohl být plugin pozměněn nebo mohly být rozšířené jeho funkce. Zkontrolujte pro jistotu i <a href="README.txt">aktuální anglické readme</a>.
<p>
<h1>Jak začít - nastavení</h1>
<p><ol>
Jakmile nainstalujete plugin, měli byste nastavit dvě volby:
<li><strong>Interval ukládání</strong> - Zadáte počet sekund mezi dvěmi voláními funkce automatického uložení. Nebo zadáte 0 a pak bude automatické ukládání vypnuto. I při vypnutém automatickém ukládání je ale stále možné uložit příspěvek ručně kliknutím na tlačítko "Uložit".</li>
<li><strong>Relativní http adresa</strong> - relativně k umístění blogu. Výchozí hodnota by měla dobře fungovat pro většinu uživatelů.</li>
</ol>
Pak můžete začít sepisovat příspěvky.
</p>
<h1>Chování u již publikovaných příspěvků</h1>
<p>
Zabralo pořádnou chvíli vymyslet, jak má plugin pracovat u již vydaných příspěvků. Nakonec pracuje takto:<br />
Nešlo jednoduše přepsat existující příspěvek, protože by návštěvníci blogu viděli částečné změny ještě před dokončením příspěvku. Takže se používá "stínová kopie", jiný, dočasný příspěvek uložený jako koncept, jehož název začíná '[AUTOSAVED] '. Původní příspěvek je svázán se svou stínovou kopií pomocí jedné vlastnosti.
</p>
<h1>Obnova po pádu prohlížeče</h1>
<p>
Pokud příspěvek ještě nebyl publikován, jednoduše upravte koncept, odstraňte z nadpisu text '[AUTOSAVED] ', dokončete text a uložte příspěvek:-)
</p>
<p>
Pokud už jste příspěvek publikovali, vraťte se k jeho editaci (nestarejte se o svázanou stínovou kopii). Měli byste mít k dispozici druhý odkaz. Poté, co na něj kliknete, bude natažena verze s automaticky uloženými daty. Dokončete příspěvek a uložte ho jako obvykle. Příspěvek bude uložen a stínová kopie bude smazána.
</p>
<p>
Poznámka: V současné době se mi nadaří obnovení staré verze "inline" (pomocí ajaxu), kvůli WYSIWYG editorům ;-(
</p>
<h1>Jak to funguje uvnitř?!?</h1>
<p>
Všechna ta kouzla jsou dělána pomocí AJAXového volání v javascriptu. K tomu je použita knihovna Rico. Když je stránka s editací příspěvku natažena, je inicializován ajaxový engine. Vážně nic ohromujícího. Je přiřazena každá koncová url adresa s logickým jménem pro zjednodušení pozdějších volání a také je registrován html element (span), který obdrží výsledky volání.
</p>
<p>
Jakmile uplyne nastavená doba (a nebo při explicitním ručním klinutí), je vytvořeno a odesláno ajaxové volání, které obsahuje text editovaného příspěvku, s výjimkou statustu publikace, který je automaticky nastaven na "koncept", aby se zabránilo zveřejnění nedopsaných příspěvků. Na straně serveru jsou data uložena pomocí stejného kódu, jako při standardním uložení příspěvku (např. include/admin/entries.php je "vložen" s adminAction nastavenou na 'save'). Pokud je potřeba (např. pro ještě neuložený příspěvek), nově vkládané skryté pole "entryid" je aktualizováno nově vygenerovaným ID číslem, takže po stisknutí tlačítka "Uložit" bude příspěvek uložen s dokončeným textem :-)
</p>
<h1>Požadavky</h1>
<p>
<ol>
<li>Ajax-kompatibilní prohlížeč, tedy prohlížeč, který poskytuje objekt XmlHttpRequest. Plugin byl úspěšně otestován v prohlížečích Firefox 1.5 a IE 6.0 SP2 (viz. domovská stránka knihovny RICO, část podporované prohlížeče), včetně WYSIWYG editorů TinyMCE a výchozím editorem HtmlArea.</li>
<li>Plugin aktuálně nefunguje s WYSIWYG editorem Xhina (pracuje se na tom, by pracoval) a nebyl otestován v kombinvaci s pluginem 'versioning' (různé verze jednoho příspěvku). Dobrovolníci na testování? :-)</li>
<li>Funguje perfektně s pluginem entrycheck.</li>
</ol>
</p>
<h1>Závěr</h1>
<p>
Neostýchejte se poslat mi jakékoliv komentáře, otázky, náměty, překlady (jay [tečka] bertrand [zavináč] free [tečka] fr).
</p>
</body>