Novinkami v OS X Lion sú aj funkcie Versions a AutoSave, ktoré zjednodušujú prácu pri ukladaní dokumentov, hlavne textových. AutoSave ich ukladá v pravidelných intervaloch a pri každom vypnutí aplikácie. Versions potom umožňuje si prezerať históriu daného súboru, od jeho vytvorenia, cez všetky jeho zmenené verzie. Prebieha to v podobnom rozhraní ako Time Machine, s časovou osou.
Používatelia si zvyknú premazať alebo neuložiť svoju prácu niekedy v najdôležitejších okamihoch, ako je deň pred deadlinom a podobne. Zákon schválnosti to robí aj napriek častému ukladaniu súborov. Apple priniesol AutoSave a Versions, aby zabránil takýmto prípadom, a aby zbavil používateľov potreby stláčania cmd+s. Neuvedomelé zaobchádzanie s týmito funkciami môže spôsobiť viac škody, ako úžitku. V skutočnosti sa ale dajú obe dokonale využiť tam, kde to Apple zamýšlal.
Versions a AutoSave podporuje zatiaľ len niekoľko aplikácií od Apple: TextEdit, iWork, Automator a Preview. Okrem nich napríklad NeoOffice. Masového rozšírenia sa asi nedočkajú, ale v kancelárskych balíčkoch a textových editoroch si určite nájdu svoje miesto. Microsoft Office pre Mac ich sľubuje v najbližšom upgrade.
Používanie
Mnohí ukladajú svoje dokumenty pravidelne, skratkou cmd+s aj bez rozmýšlania a takmer každých niekoľko sekúnd. V podporovaných aplikáciách to už nebude treba, lebo AutoSave ukladá súbory každých päť minút, pri každom pozastavení v písaní alebo napĺňaní obsahu a pred každým zatvorením dokumentu.
Save, Duplicate
Po vytvorení nového dokumentu je možné ho uložiť kliknutím na Save alebo skratkou cmd+s. Aplikácia ponúkne dialógové okno požadujúce informácie o uložení súboru (formát, názov, cieľ, atď.). Z ponuky zmizla funkcia Save As, namiesto nej je tu Duplicate. Po kliknutí na ňu sa vytvorí nový neuložený dokument, vyzerajúci rovnako ako aktuálny spracovávaný, ktorý už nie je nijako spojený s pôvodnou verziou.
Popri napĺňaní obsahu dokumentu ho aplikácia na pozadí automaticky ukladá. V záhlaví dokumentu je možnosť Browse All Versions…, ktorá zobrazí kompletnú históriu dokumentu od jeho vzniku. Netreba sa báť, že veľa verzií a uložení by zaberalo veľa miesta ako súčet veľkostí všetkých uložení. Jednotlivé verzie sa totiž ukladajú len ako zmeny voči predošlému obsahu.
Zamknutie dokumentu
V ponuke po kliknutí na názov v záhlaví dokumentu sa ešte nachádza možnosť Lock, ktorá uzamkne súbor. Znamená to, že po jeho otvorení sa do neho nebude dať písať a teda sa nebudú pridávať jeho nové verzie. Po pokuse niečo napísať vyskočí okno s tlačidlami Unlock a Duplicate. Systém automaticky zamkne každý dokument po dvoch týždňoch od jeho poslednej úpravy. Tento interval sa dá zmeniť v System Preferences → Time Machine → Options… → Lock documents after last edit.
Nahradenie za poslednú otvorenú/uloženú verziu dokumentu
Po otvorení dokumentu a zmenení obsahu, ale ešte pred uložením, AutoSave ponúka Revert to Last Opened Version, čo zmení dokument na taký, ako vyzeral pri otvorení. Po uložení sa možnosť zmení na Revert to Last Saved Version, ktorá dostane dokument do stavu, kedy užívateľ vedome naposledy uložil dokument.
Prostredie Versions, podobné Time Machine: Zobrazuje aktuálnu verziu spracovávaného dokumentu (1); kaskádu starších verzií dokumentov, medzi ktorými je možné scrollovať (2); tlačidlo Restore, ktoré nahradí dokument zobrazenou verziou na pravej strane (3); časovú os, kde sa sa dá vracať na konkrétne miesto v čase.
Priamo vo Versions sa dá upravovať aktuálny dokument a kopírovať naň kusy textu alebo obrázky zo starších verzií.
Funkcionalita
Versions funguje podobne ako programátorské verzovacie systémy Git alebo SVN. Prináša vytváranie verzií dokumentov do života používateľov. Ukladanie verzií pripomína Commit. Saving-as-preserving sa deje automaticky a saving-as-commiting sa deje ako vytváranie novej verzie: Každých 5 minút, každé pozastavenie písania a pred každým zatvorením dokumentu sa ukladá/obnovuje aktuálna verzia dokumentu. Nevytvárajú sa nové, len sa premazáva aktuálna. Naproti tomu, každú hodinu, každé otvorenie dokumentu a každé kliknutie na Save a Version sa vytvorí nová verzia dokumentu a automaticky sa na ňu ukladajú aktuálne zmeny.
Správa systému je veľmi efektívna: verzie uložené každú hodinu uchováva jeden deň, potom každý mesiac uchováva verzie z každého dňa a týždenné verzie si nechá navždy. Po priložení dokumentu k emailu sa odošle len jeho aktuálna verzia, história ostáva lokálne na počítači.
Celý engine je dobre prepracovaný. Snaží sa, aby uchovávanie dát bolo fyzicky čo najmenej náročné. Rozdeľuje spracovávané súbory na kúsky (chunks), ktoré potom ukladá podľa toho, či sa zmenia alebo nie. Nerozdeľuje podľa fixnej veľkosti, pretože tak by ľahko mohla nastať situácia, že réalne uložená jedna verzia by aj tak mohla zabrať takmer 100 % veľkosti. Využíva metódu Rabin fingerprinting, kedy jednotlivé „chunks“ sú vyberané na základe zmien, ktoré používateľ vykoná v súbore. Server arstechnica.com podotýka, že podobný spôsob by mohol Apple využívať aj v iCloud. Okrem toho sa v systéme nachádza množstvo informácií o vnútorných štruktúrach súborov, obrázkov, videí, atď. Versions engine to berie do úvahy, vďaka čomu môže ešte inteligentnejšie rozdeľovať jednotlivé chunks.
Fyzicky sú Versions dáta a databázy v priečinku /.DocumentRevisions-V100/, ku ktorému je pre prístup potrebné mať administrátorské práva. Nachádza sa v ňom päť priečinkov, z ktorých tri sú veľmi dôležité. Údajne až tak, že po ich zmazaní odmietajú Versions aplikácie úplne ukladať súbory, až pokiaľ sa disk neopraví cez Disk Utlity → Repair Disk.
- V adresári .cs sú binárne uložené všetky chunks všetkých verzií všetkých súborov z Versions. Okrem toho je tam SQLite databáza, ktorá ich spravuje. Tu sa dáta fyzicky nachádzajú.
- V PerUID sa podľa užívateľského čísla UID rozdeľujú všetky kompletné verzie (teda nie rozdelené na chunks). Podľa tohto by teda fyzicky na disku boli z každej verzie dve kópie: jedna ako súčet všetkých chunks jednotlivých verzií a druhá ako „hotový“ súbor v PerUID priečinku. Na blogu tekonomist.wordpress.com uvažujú ešte hlbšie, že v PerUID sa tieto súbory nachádzajú podobne ako hardlinky. Na úrovni inodov sú tu „kompletizované“ súbory pomocou odkazov na fyzické miesta na disku s chunks, ktoré sú prvotne v .cs priečinku.
- V db-V1 je SQLite databáza s informáciami o jednotlivých verziách. Jednotlivé položky sa potom zobrazujú v prostredí Versions a v aplikáciách. Sú to napríklad názov, zámok, status (či je súbor menený alebo zmenený), atď.
d--x--x--x 7 root wheel 238 Aug 8 18:57 . drwxr-xr-x 38 root wheel 1360 Aug 26 23:43 .. drwx------ 5 root wheel 170 Aug 21 14:37 .cs drw------- 2 root wheel 68 Aug 8 18:59 ChunkTemp d--x--x--x 3 root wheel 102 Aug 8 18:57 PerUID drwx------ 4 root wheel 136 Aug 21 14:37 db-V1 drwx--x--x 2 root wheel 68 Aug 8 18:59 staging
Aplikačné rozhranie a dokumentácia je dostupná na developer.apple.com. Popísané sú hlavne spôsoby ako implementovať AutoSave, samotná funkcionalita nie je oficiálne dokumentovaná. Nečudo, veď to nie je open-source.
komentárov
Ani raz v živote sa mi nestalo, že by som zmazal niečo, o čom som predpokladal, že budem potrebovať, alebo že by som zmazal niečo náhodne. Takéto funkcie sú fajn pre marketing, no v skutočnosti podľa môjho názoru spôsobujú, že užívatelia sú ešte nepozornejší a hlúpejší, pretože dochádza k prehnanej automatizácii. Kým v minulosti bola pre užívanie počítačov potrebná aspoň priemerná inteligencia a trochu osobného rozvoja, v súčasnosti to zvládnu aj zvieratá. Ani jediný raz som nepoužil Time Machine a ani jediný raz som to neoľutoval. Je tragikomické, ako priemerná inteligencia spoločnosti klesá.
Hmm, to je jeden pohlad. Moj pohlad je ze mam versioning „zadarmo“ a nemusim to podhadzovat externemu softu a zvladne to aj moja sekretarka.
Ponúka sa pár otázok. Čo sa stane s verziami ak verzionovaný súbor premenujem, presuniem, nahradím, v rámci jedného počítača. Otázne je tak i zdieľanie histórie dokumentu s druhými osobami. Navyše verzionovanie ako také je už dlhšiu dobu napr. v ODF súboroch a kancelárske balíky toho využívajú.
Ako riešenie automatizácie ukladania to vyzerá fajn ale neviem si predstaviť ako by to mohlo fungovať s verzionovaním podporovaným daným formátom dokumentu alebo zdielaním takto vytvorenej histórie dokumentu s niekým iným (na inom počítači).
a preco nie openoffice?????????????????????????!!!!!!!!!!
To Psittacula: Muzete prosim vysvetlit, co ma spolecneho mira inteligence s pocitacovou gramotnosti? Znamena to tedy, ze pokud dokazu „ulozit dokument napr. stisknutim klavesove zkratky“ a nasledne ho „zkopirovat treba na nejake externi uloziste“ tak jsem inteligentni? Pokud ale pouziji pro zalohu treba Dropbox, ktery zalohuje a verzuje automaticky, pak moje inteligence tragikomicky klesa ;-)?
a ja som to uz vyuzil. napisal som, co som potreboval a vyexpedoval ako pdf, vytlacil a pokraoval som dalej v uprave povodneho textu. opät som urobil nove pdf a vytlacil. skontroloval som oba vytlacene texty a v prvom som sa pomylil v datume. tu mi versions velmi pomohli!!!++++
@Tomas Skoda: Znamená to, že ak sa človek nemusí starať skoro o nič a technológie to vykonávajú namiesto neho, jeho pamäť a kognitívne funkcie sa degenerujú. Čím jednoduchšie sú užívateľské rozhrania, tým nižšie nároky budú kladú na ich užívateľov, ktorí sa prirodzene adaptujú aktuálnym podmienkam. Predpokladám vývoj podobný, ako vo filme WALL•E – mnohí by najradšej celý deň ležali na lehátku ako v tej, žiaľ známej, pesničke.
Psittacula > Cize inteligentnym ludom nikdy nezlyhava hard-disk, pamat, cely pocitac… To ti gratulujem ze k takym patris. Ja sa v tom pripade hrdo hlasim k debilom.
Psittacula: velmi hlupy priklad k tomuto clanku.. Iba ze by novi uzivatelia OSX s funkciou Versions kvoli menej vyuzivanej pamati, ktora by sa im zacala tym padom skracovat, zabudli kopirovat subory.
Okrem toho by som velmi rad videl tvoju produktivitu, keby neexistoval ziadny zalohovaci software, ze kolko casu by si stravil nad zalohami a kolko casu by si sa mohol venovat praci tak, aby sa to neodzrkadlilo na tvojich potomkoch / rodine..
@Jan Pal, cyki: Pche, zálohy, stačí trojité zrkadlenie disku a je po probléme. Netrepte tu somariny o produktivite, nikdy som tie zálohovacie programy nepoužíval.
Psittacula: pokial si monter, je to celkom logicke.
RAID ti je na dve veci ked slahne blesk a specie ti cely notes aj s tvojim mirrorom. Potom zistis naco je offline backup respektivne nezistis lebo zrejme nic neprodukujes.
@cyki: Viete, pán „cyki“, ja nie som dilino a problém, ktorý popisujete, rieši prepäťová ochranu a záložný zdroj. Choďte vašou „profesionalitou“ ohurovať malé deti a schizofrenikov na sme.sk, ak na tom trváte.
Diskusný príspevok odoslaný 8. septembra 2011 o 15:57 som písal ja, no z príčin, ktoré sú mi nejasné, som sa omylom podpísal „cyki“. Ospravedlňujem sa, nemal som to v úmysle.