Program Base v LibreOffice 4.2

base.png Při představování novinek v LibreOffice 4.2 se nedostalo na databázový program Base. Račte si o nich tedy přečíst teď.  

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 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 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 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.

(Jako ve škole) Průměr: 1,80 | Hodnotilo: 5
 

Komentáře

user avatar js
Odpovědět
Program Base v LibreOffice 4.2
2. 04. 2014, 17:06:26
Článek s informační hodnotou skoro k ničemu... je sice pěkně, že se tu dozvíme historický vývoj firebirdu, ale to hlavní - k čemu je to dobré, co nám to přinese a v čem se od HSQLDB liší tu už nepíšete...
user avatar neutr
Odpovědět
Program Base v LibreOffice 4.2
2. 04. 2014, 19:20:18
O rozdílech mezi HSQL databází a Firebirdem tady už zdůvodnění bylo - sice jako popis novinek a jejich odůvodnění - ale bylo.
Zde také autor článku píše proč Firebird místo HSQLDB. Je to zejména kvůli rychlosti. Firebird k datům přistupuje rychleji HSQL musí projít cituji : "Problémy s rychlostí jsou způsobeny komunikací přes rozhraní Java/C++ a JNI."
Samotná Java je sice multiplatformní ale není žádný rychlík. To co autor nepíše je zřejmě skutečnost, že na Firebird se přistupuje přes Python rozhraní. (Značné zrychlení podobně jako u Calcu LO).

Co to přinese mimo rychlosti? Python sám může pracovat s databází a je v něm možné přímo scriptovat (prakticky cokoliv). Jde možná i o to, že se použije pouze iniciace pomocí UNO a pak už lze používat čístý Python pomocí příkazové řádky. Doporučuji si přečíst například :
http://python.cz/ nebo : http://www.pythondocs.ic.cz/tut/index.html
práce s databázemi např : http://www.py.cz/Pysqlite

Takže lze čekat, že se zjednoduší a zejména rozšíří možnost přístupů jak k tabulkám, tak k různým dotazům a makrům přímo pracujícím s databázemi. Java sice umí totéž ale stačí se podávat jak se s ní pracuje a bude Vám jasno. HSQLDB jakoby jela z Prahy do Berlína přes Budapešť a ještě ke všemu courákem, zatímco Python jede přímo a rychlíkem : - )
user avatar Lukáš Jelínek
Odpovědět
Re:Program Base v LibreOffice 4.2
2. 04. 2014, 23:35:41
Děkuji za zajímavé doplnění. Sice nejsem pythonista, takže to osobně neocením, ale pro hodně lidí je to dobrá zpráva.

Jen bych si dovolil poopravit tvrzení, že "Java není žádný rychlík". Java dokáže být pořádný rychlík, dokonce díky runtime optimalizacím může v některých případech předčit nativní, staticky optimalizovaný kód. Nesporné je, že je Java hodně náročná na paměť a při jejím nedostatku (ve smyslu fyzické paměti) jde rychlost rapidně dolů. Hodně záleží i na stylu programování, Java sice dovoluje nelámat si hlavu s alokacemi paměti pro objekty ("GC to uklidí"), ale právě lehkovážným přístupem se dá program hodně zpomalit.
user avatar Petr Valach
Odpovědět
Program Base v LibreOffice 4.2
3. 04. 2014, 23:23:06
Mně se nelíbí tvrzení, že článek je k ničemu, na to tu nejsme zvyklí. Naši čtenáři jsou si velmi dobře vědomi, že openoffice.cz je jediný český web (a jediný široko daleko), který se věnuje OpenOffice a LibreOffice. Proto taky četné citace na wikipedii apod. Předpokládám, že podobný výrok napíše člověk, který v životě nikdy nic kloudného nepublikovatl, a neuvědomuje si tedy, kolik je s tím práce.
user avatar neutr
Odpovědět
Re:Program Base v LibreOffice 4.2
4. 04. 2014, 06:55:16
To je tím, že si "js" neuvědomuje k čemu je tato kategorie článků a plete si to s návody, či popisy (manuály).

Je také možné že mu jde jen o to pohanit OOo, nebo jen autora. Vypozoroval jsem, že nejprve článek dostal "jako ve škole" za 5, a komentář se objevil až za dost dlouhou dobu - zřejmě obé od "js".
user avatar student
Odpovědět
Program Base v LibreOffice 4.2
4. 04. 2014, 09:19:30
Base patrí ka najsilnejším častia LO alebo OO... majmä ak potrebujete prepojiť napr. dáta z Calc-u do ostatných čatí či už do Write, Impress .... alebo pre jednoduché spracovnie alýz.
Tento článok je dobrý hlavne pre tých, ktorý niečo s Base skúšali... ale narazili na prekážku a vzdali sa...
user avatar neutr
Odpovědět
Program Base v LibreOffice 4.2
4. 04. 2014, 09:59:32
To co uvádí "student" není to nejpodstatnější co článek uvádí. Není dokonce ani podstatné to, co jsem uvedl ve svém příspěvku 2.4.2014 já.

Nejdůležitější obecně je informace o Access2Base a Active Directory. Sice některé věci už jako dílčí informace přišly jako připravovaný záměr, ale tento článek to dává do jedné spojitosti.

Já se musím přiznat, že jsem tyto věci zatím neprostudoval a hraju si jen s Calcem, který doznal značných změn. Ale na info, které zde jen letmo projde se většinou podívám kvůli přehledu (mimochodem to je pravý účel takových článků - upozornit a dát povědomí). Takhle jsem také přišel na to, že pro embedding programů (případ Firebirdu) je zapotřebí multiplatformnost a příkazová řádka (je otázka zda je portován celý engin, nebo kolik knihoven, ale to je jiná věc).

Access2Base je výraz pro 'Access To Base' - což asi většina lidí odtud ví. Znamená to ale doslova tolik, že existuje prostředek pro práci MS Access v Base, respektive konverzi v obou směrech. Pohříchu nevím do jaké míry je to úplná asociace. Proto jsem se o tom nezmínil.

Active Directory je věc, na kterou jsem narazil už dříve a v podstatě jsem nevěděl co to je, nebo spíš k čemu. Objevilo se to jen v hlavičkových nastaveních dokumentů. Už to vím, ale ne vše tak, abych k tomu byl schopen sdělit detaily. Jde ale obecně o správu dokumentů. Autor to uvádí jako : "........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."

!!! - Obě ty mnou původně vynechané věci jsou o přímém ataku na dominantu MS Office v síťovém prostředí intranetů. Znamená to například možnost spravovat LibreOffice na Windows serverech stejně jako MSO, a dokonce pracovat přímo s databázemi Access. Mimo Outlocku jde dělat vše s LO tak jako s MSO - ale zadrmo !!!

No a když si to přečte někdo, kdo ví o čem to je, tak to nejméně otestuje - a nebo se naštve protože ví jak snadno přijde o kšeft.
Na komerční prostředí jsem už narazil, a příspěvek zřejmě pana "js" by mohl být z téhož soudku. (Tedy já nebývám většinou konfliktní - ale umím být, dokonce bych řekl, že je mi to bližší, nežli ustoupit. Vždy se přichytím nad myšlenkou co bych takovému člověku řekl z ruky do obličeje, a nebo jesli bych ho nazval blbcem, nebo raději hajzlem. Blbec je tvor, který zasluhuje politování - hajzl ne.
user avatar zvedavec
Odpovědět
Program Base v LibreOffice 4.2
4. 04. 2014, 14:09:44
"Objevilo se to jen v hlavičkových nastaveních dokumentů. Už to vím, ale ne vše tak, abych k tomu byl schopen sdělit detaily. Jde ale obecně o správu dokumentů. Autor to uvádí jako : "........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."

Ted nevim, jestli to myslite ve vztahu k LO/OO nebo obecne, nicmene AD neni o sprave dokumentu.
user avatar neutr
Odpovědět
Program Base v LibreOffice 4.2
4. 04. 2014, 16:31:10
Pro upřesnění mého výroku : "Objevilo se to jen v hlavičkových nastaveních dokumentů...".
Jde o záložku ke které se dopracujeme : "Soubor" > "Vlastnosti" > záložka "Vlastnosti CMIS". Z nápovědy kopíruji její účel :
'Připojit k serveru
Otevře dialog, ve kterém lze nastavit připojení k různým typům serverů jako WebDAV, FTP, SSH, Windows 'Share' nebo CMIS.'

CMIS - Wikipédie : "CMIS redirects here. For the computer networking standard for a service that may be employed by network elements for network management, see Common management information service."

Z překladače : "Share" = Sdílet, "Sharing" = Sdílení.

Windows Share ze stránek Windows : "The "Share with" menu
The quickest way to share something is using the new Share with menu. The options you'll see depend on the file you're sharing and the type of network your computer is connected to—homegroup , workgroup, or domain.

Vlastní Active Directory je správa sítě Windows (intranetu s různými strukturami, přístupy a podobně). - tedy jedna z alternativ pro CMIS LO.
Ačkoliv se tedy u CMIS jedná o správě sítě (obecně různých sítí), tak je to také o správě dokumentů v sítích Windows "Windows Share".

Takže to je o správě dokumentů LO v sítích řízených jako Windows AD. Takže k tomu si stačí přečíst odkaz na 'Active Directory' podle odkazu z hlavního článku a lze zjistit dost snadno, že je to udělování různých oprávnění - přístupů, nebo také hromadné zásahy - instalace aj. No a ten hlavičkový odkaz je vlastně vazba na CMIS - tedy také na sítě Windows (Win NT, server 2003 ap.)
Bez akceptování nadřazené struktury sítě by sice LO také fungovalo, ale admin určitě nechce "nezávislé" dokumenty v síti. Tím, že LO umí akceptovat řízení sítě lze bez problémů a výčitek svědomí vykopnout MSO a nasadit LO bez toho aby síť postrádala něco ze své funkčnosti.

Stejně to je o správě dokumentů - ale v případě obecného interpretování (definování, či popisu) Active Directory je to jedna menší úloha AD ze všech, které tento pojem představuje.

Takže se ostatním omlouvám - tohle bylo prakticky jen pro ZVEDAvce.
user avatar zvedavec
Odpovědět
Re:Program Base v LibreOffice 4.2
4. 04. 2014, 17:13:04
http://cs.wikipedia.org/wiki/Active_Directory

At mam taky nejaky "pisemny" argument... :-)
user avatar zvedavec
Odpovědět
Program Base v LibreOffice 4.2
4. 04. 2014, 17:10:45
Ano, jako mensi uloha to je mozne (nebo se to tak aspon da chapat, i kdyz v samotnem nastaveni AD toho ciste o sprave dokumentu asi moc nenajdete, nevim, jak casto neco nastavujete v AD), s tim ja problem nemam, ze se struktura AD da vyuzit pro spravu dokumentu take ne.

Taky jsem napsal, ze nevim, jestli to bylo mysleno obecne nebo ciste ve vztahu ke kancelarskemu baliku. Obecne to (ciste AD) opravdu neni o dokumentech ve smyslu primarniho ucelu.

Vychazel jsem z:
"Active Directory je věc, na kterou jsem narazil už dříve a v podstatě jsem nevěděl co to je, nebo spíš k čemu. Objevilo se to jen v hlavičkových nastaveních dokumentů."

Z techto dvou vet to moc nedevalo smysl. Jinak nemusite kopirovat hromady textu z napoved, zase se v tom budete topit, staci napsat jednoduse, ze jste to myslel jinak, nez jsem napsal. At je v napovedach co chce, proste Active Directory nema jako primarni cil spravovat dokumenty.

Ja jsem nereagoval proto, ze jste to napsal vy, ale kvuliva te "domene" a nijak jsem se Vas nechtel dotknout.

Neni treba do toho tahat osobni pocity.
user avatar Lukáš Jelínek
Odpovědět
Re:Program Base v LibreOffice 4.2
4. 04. 2014, 18:19:41
Poněkud nerozumím tomu, proč se tady a teď řeší Active Directory, když jsem to dal na konec článku jen jako "upoutávku" pro budoucnost. AD má pro LibreOffice 4.2 ten význam, že při správě sítě prostřednictvím AD (častá věc ve firmách, na úřadech apod.) lze do této správy zahrnout i konfiguraci LO a podle potřeby některé konfigurační parametry zamknout.
user avatar zvedavec
Odpovědět
Program Base v LibreOffice 4.2
4. 04. 2014, 19:20:01
Ano, mate pravdu, ja jsem taky jen upozornil na moznost nepresnost, ktera se u jednoho prispevku objevila, nic vic jsem resit nechtel.

Přidat názor

 

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích najdete v nápovědě. Diskuzi můžete sledovat pomocí RSS kanálu.

 
EDU Trainings
Lukáš Jelínek

Lukáš Jelínek

Dlouholetý člen autorského týmu LinuxEXPRESu a OpenOffice.cz. Vystudoval FEL ČVUT v oboru Výpočetní technika. Žije v Kutné Hoře a podniká v oblasti informačních technologií. Ve volném čase rád fotografuje, natáčí a stříhá video, občas se věnuje powerkitingu a na prahu čtyřicítky začal hrát tenis.

 

Public Relations

IPv4 zastarává, i tak si však zaslouží kvalitní zabezpečení

Znáte souvislost mezi doménami a typickými IP adresami? Není od věci si uvědomit, že zatímco domény jsou určeny pro zjednodušení hledání webové stránky na internetu, IP adresy slouží primárně pro výpočetní techniku, konkrétně pro přesné vyhledání konkrétního serveru nebo počítače.

Pokračování ...


IT Systems - předplatné
SAM v kostce 2019
 
 
woo jaw demo hz