Base – opomíjený program?
Program Base bývá někdy poněkud opomíjenou součástí balíků Apache OpenOffice a LibreOffice. Je to do značné míry tím, že ho využívá mnohem méně uživatelů než programy Writer, Calc a Impress. Neznamená to ale, že by Base byl „méněcenný“ a nezasloužil by si zmínky o novinkách, které se v něm objevily.
Právě naopak – některé z novinek v LibreOffice Base ve verzi 4.2 možná přesvědčí i dosavadní odpůrce tohoto programu, aby ho alespoň vyzkoušeli. Následující odstavce ukážou, proč tomu tak je.
Nový databázový engine
Vzhledem k historickým kořenům (OpenOffice.org, firma Sun Microsystems) se dosud jako výchozí databáze používala HSQLDB. Ta je napsána v jazyce Java a to přináší dva dost podstatné problémy. Jednak samozřejmě platí, že „bez Javy ani ránu“ – nemáte-li v počítači (to správné) prostředí Javy (JRE), tuto databázi nemůžete používat. Právě tato závislost je mnohým lidem trnem v oku a kvůli ní program Base nechtějí používat.
V Base lze samozřejmě pracovat i s jinými databázemi. To už ale znamená práci navíc, přitom často je právě rychlost vytvoření jednoduché databáze tím hlavním důvodem, proč Base použít.
Druhým důvodem je nízká rychlost. U minidatabází typu domácího katalogu DVD to samozřejmě významnějším problémem není, ale jakmile se někdo pokusí používat Base na něco jen trochu většího, může se pomalost projevit a být při práci nepříjemná. Problémy s rychlostí jsou způsobeny komunikací přes rozhraní Java/C++ a JNI.
Od LibreOffice 4.2 je možnost – byť zatím jen experimentální (tedy použitelná jen při zapnutí experimentálních funkcí) – využít také databázový systém Firebird. Ten je, podobně jako HSQLDB, k dispozici formou vestavěné (zabudované, embedded) databáze, čili není třeba spouštět nějaký samostatný databázový server.
Databázový systém Firebird má velmi staré kořeny. Vznikl v roce 2000 otevřením zdrojových kódů systému InterBase 6.0 od firmy Borland (který vznikl již v polovině 80. let 20. století), postupně byl z významné části přepsán a nynější verze 2.5 může běžet ve čtyřech různých režimech: Classic, Superclassic, Superserver (liší se úrovní separace relací) a Embedded. Právě poslední z nich se využívá v LibreOffice Base.
Pokud chcete Firebird využívat, stačí si (po povolení experimentálních funkcí) při vytváření databáze zvolit Vestavěná Firebird a můžete začít pracovat.
Výběr databáze Firebird
Další změny
Další novinky v Base postačí vzít poněkud heslovitěji.
Řetězce checkboxů
Tato změna je poněkud nepříjemná, protože může rozbít existující databázové aplikace. Pokud se v LibreOffice 4.1 Base navázal checkbox (zaškrtávací políčko) na textový atribut, do databáze se zapsal řetězec „1“ pro zaškrtnuté pole, resp. „0“ pro pole nezaškrtnuté.
U verze 4.2 je tomu ale jinak – zapíše se text „true“ při zaškrtnutí a „false“ při nezaškrtnutí. Počítá-li se s původními hodnotami (sice obecně není dobrý nápad propojovat checkbox s textovým atributem, někdo to ale mohl udělat), způsobí to problémy. Částečnou útěchou může být, že při čtení se do checkboxu správně zpracují jako nové, tak i původní hodnoty (čtení je zpětně kompatibilní).
Předefinovatelné chování checkboxů
Dobrou zprávou je, že problém s novým chováním checkboxů je explicitně řešitelný pomocí předefinovatelného chování. Tato předefinovatelnost umožňuje vrátit zaškrtávátkům původní chování (ze starších verzí), ale také toto chování změnit podle potřeby, třeba i invertovat apod.
Pro předefinování slouží tzv. referenční hodnoty, které se nastaví ve vlastnostech daného zaškrtávacího políčka. Fantazii se meze nekladou (jakkoli je dobré se držet při zemi).
Předefinování checkboxu pomocí referenčních hodnot
Access2Base – skriptování v jazyce Basic
Od verze 4.2 je součástí LibreOffice skriptovací nástroj Access2Base. Umožňuje skriptování maker v jazyce Basic, které se svým API velmi se podobá tomu používanému v databázovém programu Microsoft Access (není ani zdaleka 100% kompatibilní, ale změny při přenosu většiny běžných aplikací nejsou příliš velké).
Access2Base šlo formou rozšíření doinstalovat i do starších verzí LibreOffice a do Apache OpenOffice, proto tento nástroj nemusí být tak úplně neznámý. S tím souvisí i důležitá věc – pokud jste si ho nainstalovali do starší verze, před instalací LibreOffice 4.2 je potřeba ho odinstalovat.
Nabídka maker v API Access2Base
Hlavní oblastí, kde se Access2Base uplatní, je při migraci z programu Access – kdy je člověk zvyklý psát si
jednoduché aplikace v jazyce Visual Basic a rád by v tom pokračoval i po migraci (přestože lze
samozřejmě používat Basic se standardním API LibreOffice, stejně tak lze použít Python, JavaScript nebo BeanShell).
To stále není vše!
Přestože definitivně končí představení novinek v jednotlivých programech LibreOffice 4.2, neznamená to definitivní konec s novinkami v této verzi. V budoucnu se vrátíme ještě k jedné zajímavé věci (již stručně zmíněné dříve), a to k možnosti spravovat pod Windows konfiguraci LibreOffice prostřednictvím skupinové politiky (Group Policy) v doméně Active Directory. Mnohým administrátorům sítí s Windows to může významně usnadnit práci při správě LibreOffice.