Projekt: Hesla Jednoty bratrské – příprava Hesel pro rok 2009

Spolupodílí se

editovat
  • Kychot: organizace celého projektu, editace, programování, databáze
  • Friedrich Reinhardt V.: manuskript pro překlad
  • Česká biblická společnost: Poskytnutí práv k použití českého ekumenického překladu (ČEP)
  • Mirek: převod prvního pololetí; autorská korektura
  • Jindra: převod druhého pololetí; autorská korektura
  • Slávek: PHP interface pro editaci; sazba v TeXu; obálka
  • Iny: závěrečná korektura
  • ing. Hink: tisk
  • Jiří Vičík: zakomponování Hesel do konkordance ICASI bible

Pracovní adresáře

editovat

Postup práce rozdělený na etapy (pracovní adresáře). Uvádím je důležitější soubory (milníky).

Do října roku 2007 probíhaly přípravy k tisku atisk Hesel na rok 2008, potom až do prosince probíhala jejich distribuce, Práce na Heslech pro rok 2009 proto začala až v lednu 2008.

w01-Losungen

editovat

2008-01-18

Zpracování vstupního souboru s německým manuskriptem.

  • Losungen_f2009_09.05.2007.rtf – manuskript, verze z 2007-05-09, zaslaný 2008-07-24
  • Losungen_f2009_09.05.2007.odt – načtení do OpenOffice.org/Writer a uložení ve formátu ODT (open document text)
  • content.xml – obsah dokumentu ODT ve formátu XML

w02-Losungen-odt

editovat

2008-01-18

Konverze na plain text. Textové soubory v kódování ISO-8852-2.

  • los09odt-make, styles09.pl, strip.pl – skriptíky, které postupně"očešou" XML soubor a zbyde jen otagovaný text:
  • los09-04.txt (mezi číslem a názvem knihy nejsou mezery, tj. např. "2.Mose")

w03-los-pre

editovat

2008-01-18

Konverze do formátu Projekt: Hesla Jednoty bratrské/.PRE

  • zlomy.pl – odstraní nežádoucí zlomy textových řádků
  • losung09.pl – skript o délce 414 řádků, který postupně přemele textový soubor na formát .PRE. Přitom je nutné neustále opravovat chyby ve formátování textového souboru (práce na celý den)
  • los09-05.txt – poslední verze textového vstupu
  • los09-06.pre – výsledný soubor .PRE

w99-los-sql

editovat

2008-02-11

Původní myšlenka byla, konvertovat německá losungen nejdříve do XML a z něj potom přímo do SQL a převod do češtiny řešit na úrovni SQL (případně už na úrovni XML).

  • hes06-33t.dtd – DTD soubor stejný jako pro česká hesla
  • los09xml.pl – skript (778 řádků), upravený z hes08xml, který přemele losungen z formátu PRE do XML
  • los09-07.xml – výsledný soubor německých Losungen v XML

Konverze do XML umožnila odhalit některé chyby ve vstupním souboru, ale výsledný XML soubor nakonec nebyl k ničemu použit, protože jsem neměl napsané šablony pro jeho další transformaci. Namísto toho jsem použil skripty pro převod na česká hesla ve formátu PRE z minulého roku, viz dále:

w04-los-hes

editovat

2008-02-11 .. 2008-02-12

Konverze do češtiny a naplnění databáze:

  • hes09kni.tab – tabulka názvů biblických knih a zkratek v různých jazycích
  • los09hes.pl – skript (450 řádků), který překonvertuje odkazy z německého souboru los09-07.pre do češtiny (přitom ještě nutno zase vychytávat chyby ve vstupním souboru)
  • hes09-07.pre – zatím jen české odkazy do bible
  • hes09bib.pl – skript, který k odkazům dohledá příslušné verše z kralické nebo ekumenické bible
  • strip-swap.pl – vyhodí vše, co se nebude psát do Hesel a přehodí odkazy ze svátků a nedělí za následující den a perikopy dá do zvláštního souboru.
  • hes09-09swp.pre – už prohozená biblická čtení na správné místo
  • hes09stru02.sql – exportovaná struktura z připravené SQL databáze. Tabulky:
    • comment – komentáře na koci dnů, výroří atd.
    • day – zvláštní dny, neděle, svátky, důležité dny, týdny: 'sunday','holiday','important','week'
    • dayname – názvy dnů v příslušných jazycích, jak se budou tisknout do hesel, např: 23. sobota
    • drittetext – tzv. třetí text z německých losungen
    • losung – biblické verše (hesla) spolu s odkazy do bible
    • reading – biblická čtení
    • song – sloky písní
  • hes09pre-sql.pl – skript (285 řádek) pro naplnění MySQL databáze z formátu PRE

w05-net

editovat

2008-02-14

Upload databáze a skriptů na server, kde budou Hesla (2. pololetí) zpracovávána. Testovací verze.

  • styl.css
  • functions.php
  • index.php

w06-net

editovat

2008-03-03 .. 2008-03-04

Dtto, upgrade

w07-net

editovat

2008-03-13

Dtto, upgrade

w08-mirkovi-sql

editovat

2008-04-26

Dtto, pro lokální PC (1. pololetí)

Řešení problémů s přenosem mezi různými verzemi MySQL, u starších verzí (novější u MIrka nejede na tom jeho starém železe) problémy s kódováním utf-8. U sebe to zkouším na Ině a na Alu, ten export a import:

Snažím se to exportovat a pak importovat na ALU
CO:             INA:                    ALU:                            uvažuji upgrade ALU:
debian          lenny                   3.1 sarge                       4.0 etch
phpMyAdmin      2.11.5.1deb1            2.6.2-Debian--3Sarge6
MySQL           5.0.51a-3               4.0.24                          5.0.32-7etch5
PHP:            5.2.5-3
Asi by se vyplatilo upgradeovat na etch...

Konverzi exportovaného souboru hes09mirek-u.sql z utf-8 na latin2 řeším trochu humpolácky přímo konverzí toho setxtového souboru .sql.

  • hes09mirek-u.sql – původní souboru v utf-8
  • hes09mirek.sql – překonvertovaný do latin2

(Později se ukáže, že to byla slepá ulička: udělal jsem to na Debian etch, který už má MySQL 5.0, která už utf-8 zvládá bez problémů. Předtím jsem se bál, že Debian etch už na tom starém železe nepoběží, ale utáhlo ho to, i když to není nejrychlejší.)

w09-mirkovi-sql

editovat

2008-04-26

Experimentuji s různými režimy kompatibility u exportu databáze:

  • hes09mirek00.sql – NONE
  • hes09mirek00-ansi.sql – ANSI
  • hes09mirek00-trad.sql – TRADITIONAL

Rozdíly:

  • ANSI oproti NONE:
    • namísto backticks ` používá ansii uvozovky "
    • nezná takové příkazy jako:
      • SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
      • ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci COMMENT='Anniversaries etc.';
      • DROP TABLE IF EXISTS
  • TRADITIONAL oproti NONE:
    • backticks vynechává úplně
    • nezná takové příkazy jako:
      • DROP TABLE IF EXISTS

Blbé je, že se to nikde v komentáři toho souboru nepíše, v jakém režimu kompatibility to bylo vygenerováno. Nakonec jsem nechal režim kompatibility NONE. (Možná jsem mohl zvolit MYSQ40, ale to nevím, proč jsem to neudělal.)

Problém v délce pole: Původní nastavení délky pole v tabulce `losung`

`text` varchar(600) default NULL

u staré verze MySQL neprojde, musím snížit na 255:

 `text` varchar(255) default NULL

To jsem už v tom exportovaném souboru udělal ručně a pak jsem vyházel věci, jako:

 collate utf8_czech_ci 
 ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci COMMENT='brekeke';

w10-mirkovi-sql-etch

editovat

2008-04-26 .. 2008-04-29, 2008-05-22 .. 2008-05-23

Vidím, že na té prastaré verzi Debian/sarge, kterou mám na jednom starém železe nainstalovanou, je to téměř neřešitelné. Proto na zvláštním harddisku jiného starého počítače Compaq

  • Pentium Pro MMX 233 MHz
  • 128 MB RAM
  • HDD Western Digital Caviar WDAC 2850 853.6 MB CHS=1654/16/63

byla vytvořena instalace Debian/etch (jádro 2.6.18-6-486), obsahující komponenty:

  • mysql-server-5.0, -common, -client (Verze MySQL: 5.0.32)
  • php (Verze PHP: 5.2.0-8+etch11)
  • apache2.2
  • xserver
  • fwvm2
  • opera
  • phpmyadmin (version 2.9.1.1-Debian-7)

Instalace (celkem 336 balíků) zabrala 619 MB, takže na disku zbylo 49 MB volných pro data.

Finální soubory pro editaci Hesel, vytvořené předtím ve w09-mirkovi-sql, sem byly překopírovány do adresáře webového prostoru /var/www/

  • index.php
  • styl.css
  • functions.php
  • hes09mirek.sql

Pomocí phpmyadmin byla vytvořena databáze hes09mirek01 a naimportována do ní data z hes09mirek.sql.

Zřejmě bylo nedopatření, že byla vytvořena databáze s maximální délkou pole omezenou na 255, která byla vynucena bývalou verzí, což už teď není potřeba. Týká se to polí:

  • drittetext: text
  • losung: text
  • song: text

(U databáze na druhé pololetí přitom bylo:

  • drittetext: `text` varchar(600)
  • losung: `text` varchar(500)
  • song: `text` varchar(600)

)

Připravený harddisk byl potom přenesen do domácího počítače editora, který běžně používá nějaké staré Windows. Aby se nemuselo zasahovat do jejich instalace, je bootování debianu řešeno přes grub, zaváděný z disketty: Pokud se editor rozhodne editovat hesla, prostě zasune do mechaniky bootovací diskettu s GRUBem, který nabootuje Lunux. (V případě, že bude celý harddisk s instalací debianu opět demontován, není nutné nic na bootování Windows překonfigurovávat.)

V domácím adresáři byl posléze vytvořen soubor ~/.xsession

opera
sudo /sbin/shutdown -h now

který po nabootování spouští rovnou prohlížeč opera, který má nastavenou domácí stránku na index.php, takže se editorovi Hesel rovnou otvírá okno prohlížeče, připravené k editaci.


w11-od-mirka+jindry

editovat

Dumpování a export dat z MySQL databáze (od teďka je už to vše v utf-8)

2008-06-30 .. 2008-07-18

  • hes09mirek01.sql – zpracované 1. pololetí od Mirka z 2008-06-30
  • hes09jindra01.sql – zpracované 2. pololetí od Jindry z 2008-07-05
  • hes0903.sql – spojení databází a korektury v databázi
  • hes09dayname-oprava.pl – byla chyba databázi, chyběla první cifra u data nedělí – opravný skriptík
  • hes09sqlpre.pl – skript (160 řádků) pro export z MySQL databáze do .PRE (vloni měl 103 řádků)
  • hes09sql-rannichvilky.pl – podobný skript (215 řádků), upravený pro vytváření Ranních chvilek
  • pro_ranni_chvilky2009_win.txt – výstup pro ranní chvilky (2008-07-18)
  • z nějakého důvodu (nebo omylem?) omezená max. délka polí na max. 255 znaků. V databázi:
    • hes09_00 je ještě neomezená (texty 500 a 600 znaků)
    • hes09_01 je už omezená
  • hes09_05.sql – export s omezenými délkami

2008-09-06

  • hes09sql-dump.pl – podobný skript (160 řádků), který provede kontrolní dump z databáze
  • hes09sql-pre.pl – úprava předchozího skriptu pro export z MySQL databáze do .PRE (nyní má 236 řádků, tj. od loňska nabobtnal více než dvakrát, část jsou ale zakomentované staré řádky)
  • hes09-01.pre – výsledný soubor ve formátu .PRE
  • hes09-01.odt, hes09-01.pdf – konverze pro tisk na papír pro autorské korektury

w12-autorske-korektury

editovat

2008-10-04

Podle autorských korektur, které dělali Mirek a Jindra na papír, jsem to opravil přímo v MySQL databázi.

  • /SQL-export:
    • hes09-1.pre – hes09-6.pre – postupné korektury
    • evep.pl – zkonvertuje odkazy na čtení (evangelium, epištola, žalm atd.) na 1., 2. a 3. odkaz
    • hes09-7.pre – konečný soubor v .PRE
    • hes09spl.pl – rozdělí soubor s celým rokem do jednotlivých měsíců
  • /pre
    • hes0901.pre – hes0912.pre – rozděleno do měsíců,
  • /tex – konverze do formátu TeX pro sazbu kartáčových archů pro konečnou korekturu (během toho docházelo zase k opravám zdrojových souborů PRE)
  • hes0901.tex – hes0912.tex – jednotlivé měsíce
  • *.tex – další soubory (titulní strana, předmluva, vysvětlivky atd. až nakonec tiráž)

Na vytištěných arších dělal Iny závěrečnou korekturu.

w13-iny

editovat

2008-10-09 .. 2008-10-10

Podle Inyšových korektur jsem opět opravil Hesla v MySQL databázi. Zase jsem to exportoval do PRE a zkonvertoval to TeXu

Soubory od Inyše:

  • Geleitwort.doc – přeložená předmluva
  • hesla2009-pisne.doc – opravené písně

pracovní adresáře:

  • SQL-export – export z databáze po korektuře
  • pre – soubory PRE po měsících
  • tex-utf8 – soubory pto TeX
  • perikopy – doplněné soubory pro perikopy
  • tex-il2 – neumíme sázet v TeXu z UTF-8
  • do-texu-u-me – sázel jsem u sebe (nemám ale ten řez Jannon Text)
  • od-slavy-vysazene – vysázel Slávek – Jannon Text

hes09tex.pl* mkdiff* tex-go*

w14-slava

editovat

2008-10-13 .. 2008-10-14

Slávek vysázel opět archy pro poslední korektury.

w15-hinkovi

editovat

2008-10-14

  • hesla09-tisk.pdf – sazba pro tiskárnu, která z ní vytiskne maketu k podpisu

w16-hinkovi-opr

editovat

2008-10-19

  • hesla09-tisk.pdf – finální sazba pro tiskárnu

w17-kontrola

editovat

2008-12-26, 2009-01-24

Porovnání zdrojových PRE souborů s aktuálním stavem databáze. (Poprvé kvůli generování HTML, viz w18-web, podruhé kvůli generování XML, viz w20-xml)

w18-web

editovat

2008-12-27

Hesla na Web http://dulos.cz/cz/jb/hesla09idx.htm

  • hes09htm.pl – skript (417 řádek) pro generování HTML souborů z PRE
  • hes09kal.pl – skript (281 řádek) pro generování HTML kalendáře
  • hes09idx.htm – hlavní soubor
  • hes0901.htm – hes0912.htm – hesla jednotlivých měsíců

w19-xml-vicik

editovat

2009-01-11

  • los2009.cs – Hesla, která zkonvertoval do XML Jirka Vičík

w20-xml

editovat

2008-01-24

Konverze do XML

  • pre.old – PRE soubory z 2008-01-21
    • hes09prf.pl – skriptík (170 řádek), který zaláme formát PRE do PRF:
  • prf – soubory PRF
  • prg – soubory PRG
    • hes09prfprg.pl – skriptík (77 řádků), který z PRF vygeneruje PRG
  • xml
    • xml.dcl – SGML Declaration for valid XML documents
    • hes06-33t.dtd – DTD soubor pro XML formát Hesel
    • hes09xml.pl – skript (778 řádků), který z PRE vygeneruje XML
    • hes09-21.xml – výslewdný XML dokument
  • xmlpre
    • xml2pre.xsl – XSL šablona (118 řádek), pomocí které Sablotron z XML vygeneruje zpátky PRE (pro kontrolu)