14
UPUTE ZA KORISNIKE WEB (CGI) APLIKACIJE mki.cgi (make index) ver.0.3.0 ZAGREB 2012. 1

UPUTE ZA KORISNIKE WEB (CGI) APLIKACIJE mki.cgi (make ...sinbad.bplaced.net/dwnldir/mki_cgi_info.pdf · 0.0. Uvod Web aplikacija mki.cgi nastala je odgovarajućom prilagodbom C-programa

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UPUTE ZA KORISNIKE WEB (CGI) APLIKACIJE mki.cgi (make ...sinbad.bplaced.net/dwnldir/mki_cgi_info.pdf · 0.0. Uvod Web aplikacija mki.cgi nastala je odgovarajućom prilagodbom C-programa

UPUTE ZA KORISNIKE

WEB (CGI) APLIKACIJE

mki.cgi (make index) ver.0.3.0

ZAGREB 2012.

1

Page 2: UPUTE ZA KORISNIKE WEB (CGI) APLIKACIJE mki.cgi (make ...sinbad.bplaced.net/dwnldir/mki_cgi_info.pdf · 0.0. Uvod Web aplikacija mki.cgi nastala je odgovarajućom prilagodbom C-programa

SADRŽAJ

0.0. Uvod 31.0. Ulazni fileovi 3 1.1. pdf file 3 1.2. txt file 32.0. Postupak kreiranja indeksa 4 (2.) 1. Korak - Otvoriti stranicu http://sinbad.bplaced.net/projekti.html 4 (2.) 2. Korak - Preko odgovarajućeg linka doći na stranicu za preusmjeravanje na

web server na kojemu se nalazi web aplikacija mki.cgi 5 (2.) 3. Korak - Otvoriti osnovnu stranicu aplikacije mki.cgi (mki_index.html) i

unijeti putanje za pdf i txt fileove 6 (2.) 4. Korak - Pokrenuti upload pdf i txt fileova te u slučaju uspješnog uploada

i transformacije pdf filea na stranici mki_transf.php unijeti tražene podatke o "elementima teksta" u knjizi 7

(2.) 5. Korak - Pokrenuti program mki.cgi tj. postupak kreiranja indeksa za knjigu 9 (2.) 6. Korak - Otvoriti stranicu s linkovima na rezultate izvršavanja programa

(mki_results.php) 10 (2.) 7. Korak - Otvoriti jednostavni i detaljni indeks i spremiti ih na lokalni

disk/mrežu (po potrebi) 11 2.8. Napomene o izlaznim podacima 123.0. Dodatne napomene o aplikaciji mki.cgi 14

2

Page 3: UPUTE ZA KORISNIKE WEB (CGI) APLIKACIJE mki.cgi (make ...sinbad.bplaced.net/dwnldir/mki_cgi_info.pdf · 0.0. Uvod Web aplikacija mki.cgi nastala je odgovarajućom prilagodbom C-programa

0.0. Uvod

Web aplikacija mki.cgi nastala je odgovarajućom prilagodbom C-programa mki, namijenjenog automatskoj izradi indeksa (kazala) pojmova za knjige (uz kreiranje još nekoliko neophodnih html/php stranica). Više o samom C-programu mki (čija je oznaka trenutačne "stable" verzije 0.3.0, a u izradi je verzija 0.3.1), može se pročitati u dokumentu mki_info.pdf, koji se nalazi na web stranicama Udruge za slobodne informacije "SINBAD" (http://sinbad.bplaced.net/projekti.html - na istoj se stranici nalazi i source kod programa).Ukratko rečeno, osnovne ulazne parametre za program čine nazivi (putanje) pdf filea koji predstavlja knjigu za koju treba složiti indeks i txt (tekstualnog) filea koji sadrži listu pojmova koji u indeks ulaze. C-program mki ima veći broj programskih opcija koje se u web aplikaciji mogu zadati pomoću odgovarajućih polja za upis i radio buttona na odgovarajućim njezinim stranicama.

1.0. Ulazni fileovi

Ulazni fileovi za mki (pdf i txt file) trebali bi koristiti UTF-8 character encoding (što je danas standard). Ako se upotrebljava neki drugi character encoding, korisnik bi trebao kontaktirati autora programa, odnosno Udrugu "SINBAD" (koji bi možda mogli omogućiti da mki radi i s nekim alternativnim encodingom). Podržani charsetovi navedeni su u mki_info.pdf.

1.1. pdf file

File u pdf formatu koji predstavlja knjigu za koju se slaže indeks, može biti kreiran na bilo koji standardni način. Napominjemo da u nekim primjerima pdf fileova pri pretvorbi pdf -> txt, koja se događa u web aplikaciji, mogu nastati problemi (greške u "pretvorenom" tekstualnom fileu) - recimo ako je pdf file nastao iz odt formata u OpenOfficeu, pri čemu su korišteni neki "problematični" fontovi. No, pdf fileovi kreirani pomoću standardnog DTP softvera (kao što je recimo InDesign), koji se obično koriste za ovu svrhu, u pravilu se pretvaraju korektno.

1.2. txt file

File u txt formatu (plain tekst) s popisom pojmova koji idu u indeks, kreira se u bilo kojem editoru teksta (preporuča se vi/vim;). M$Win korisnici mogu kreirati taj file pomoću Notepada ili Wordpada (preporuča se Wordpad (i inače - zbog handlanja EOL (end-of-line) oznaka - o čemu će biti riječi kasnije)).txt file mora sadržavati po jedan pojam koji ulazi u indeks u svakom retku i tu ne smije bi suvišnih spaceova/tabova, recimo na početku retka, na kraju ili između pojedinih riječi - zasad nije ugradjena automatika za njihovu korekciju. Ne bi trebalo biti niti praznih redaka (treba paziti da ih ne bude na kraju filea), jer se tako samo produžuje vrijeme obrade.Napomena o regularnim izrazima u mki.cgi - Pošto zasad još nije moguće automatski kreirati regularne izraze koji odgovaraju pojmovima koji idu u indeks (zbog problema s rječnikom hrvatskog jezika koji nam je na raspolaganju), u txt fileu trebaju zapravo biti zadani regularni izrazi koji će pokupiti sve gramatičke oblike tih pojmova tj. riječi. Oni manje verzirani u rad s regularnim izrazima mogu u txt file staviti jednostavno korijene tražene riječi, odnosno dijelove riječi koji će kao regularni izrazi "pokupiti" (pronaći) sve što je potrebno (premda se u tom slučaju može pokupiti i nešto što ne treba). Kod složenih izraza (fraza), koji se sastoje od više riječi, zasad se koristi samo Whole Expression Comparison Strategy - komparacija cijelog (regularnog) izraza, što malo komplicira situaciju u ovom smislu. No u C-programu mki već je implementirana Each Word Comparison Strategy, pa će uskoro biti omogućeno da u txt fileu budu zadani korijeni svake riječi koja pripada složenom pojmu i u slučaju web (CGI) aplikacije. Inače, treba napomenuti da regularni izrazi u mki-ju ne razlikuju velika i mala slova, osim u slučaju "hrvatskih" (ili točnije non-ASCII znakova), pa o tome treba voditi računa pri slaganju txt filea (ako je prvo slovo riječi "hrvatsko", treba raditi s alternacijama (Č|č), (Š|š) i sl.).

Primjer tekstualnog filea pripremljenog za obradu uz pomoć programa mki tj. web aplikacije mki.cgi dan je na Slici 0. Može se primijetiti da se tu uglavnom radi s korijenima riječi - regularni izrazi koriste se samo u složenim pojmovima iz gore navedenog razloga.

3

Page 4: UPUTE ZA KORISNIKE WEB (CGI) APLIKACIJE mki.cgi (make ...sinbad.bplaced.net/dwnldir/mki_cgi_info.pdf · 0.0. Uvod Web aplikacija mki.cgi nastala je odgovarajućom prilagodbom C-programa

Slika 0

2.0. Postupak kreiranja indeksa

Postupak kreiranja indeksa za knjigu (nakon što su pripremljeni pdf i txt fileovi) sastoji se od 7 (odnosno 5) "koraka". Slijedi njihov opis i prikaz onoga što se vidi u web browseru nakon što je pojedini od njih izvršen.

(2.) 1. Korak - Otvoriti stranicu http://sinbad.bplaced.net/projekti.html

Zbog problema sa smještajem aplikacije mki.cgi na webu, ona se zasad vrti na stroju koji nema fiksnu IP adresu, pa je najzgodnije programu pristupati korištenjem neke "fiksne" web adrese - konkretno, to je adresa stranice "Projekti" na web siteu Udruge "SINBAD" (gdje se nalaze neki podaci o projektu mki).

Ova stranica prikazana je na Slici 1.

4

Page 5: UPUTE ZA KORISNIKE WEB (CGI) APLIKACIJE mki.cgi (make ...sinbad.bplaced.net/dwnldir/mki_cgi_info.pdf · 0.0. Uvod Web aplikacija mki.cgi nastala je odgovarajućom prilagodbom C-programa

Slika 1

(2.) 2. Korak - Preko odgovarajućeg linka doći na stranicu za preusmjeravanje na web server na kojemu se nalazi web aplikacija mki.cgi

Na stranici "Projekti" web sitea Udruge "Sinbad", treba kliknuti na web link pod nazivom "link" - zadnja riječ u odjeljku teksta koji se odnosi na projekt mki (riječ "link" je na slici ljubičaste boje za razliku od drugih linkova koji su plavi). Tada se otvara stranica za preusmjeravanje na (Apache) server na kojemu se nalazi web aplikacija mki.cgi.Na toj stranici nalazi se obavijest da li server "radi" ili ne. Ako server "ne radi", to će ondje biti i napisano, a ako "radi", uz obavijest o tome, pojavit će se link na osnovnu stranicu web aplikacije mki.cgi na tome serveru (http://ip.adr.srv.n8/mki_index.html)

Stranica za preusmjeravanje na server na kojemu se "vrti" web aplikacija mki.cgi prikazana je na slici 2.

5

Page 6: UPUTE ZA KORISNIKE WEB (CGI) APLIKACIJE mki.cgi (make ...sinbad.bplaced.net/dwnldir/mki_cgi_info.pdf · 0.0. Uvod Web aplikacija mki.cgi nastala je odgovarajućom prilagodbom C-programa

Slika 2

(2.) 3. Korak - Otvoriti osnovnu stranicu aplikacije mki.cgi (mki_index.html) i unijeti putanje za pdf i txt fileove

Ako Apache web server na kojemu se nalazi web aplikacija mki.cgi "radi", klikom na link na stranici za preusmjeravanje dolazi se na osnovnu stranicu ove aplikacije (mki_index.html). Na ovoj stranici se nalaze kraće upute za rad s web aplikacijom mki.cgi (koje je također zgodno pročitati). Ispod tih uputa nalaze se polja u koje treba upisati putanju do pdf filea (koji predstavlja knjigu za koju se slaže indeks) i txt filea (koji sadrži popis pojmova koji idu u indeks), o kojima je bilo riječi na početku. Najzgodnije je kliknuti na gumb Browse i onda pronaći ta dva filea na lokalnom disku, odnosno mreži. Treba napomenuti da (kao što piše u uputama na ovoj stranici) program postavlja ograničenja na veličinu ovih fileova - pdf file može imati maksimalno 4MB, a txt maksimalno 100kB. Također, broj stranica knjige mora biti manji od 1000. U slučaju potrebe, korisnik može postaviti zahtjev autoru programa, odnosno Udruzi "SINBAD", da mu omoguće rad s većim fileovima (tj. knjigama).

Stranica mki_index.html prikazana je na Slici 3.

6

Page 7: UPUTE ZA KORISNIKE WEB (CGI) APLIKACIJE mki.cgi (make ...sinbad.bplaced.net/dwnldir/mki_cgi_info.pdf · 0.0. Uvod Web aplikacija mki.cgi nastala je odgovarajućom prilagodbom C-programa

Slika 3

(2.) 4. Korak - Pokrenuti upload pdf i txt fileova te u slučaju uspješnog uploada i transformacije pdf filea na stranici mki_transf.php unijeti tražene podatke o "elementima teksta" u knjizi

Nakon što su unešene putanje do pdf i txt filea na stranici mki_index.html treba kliknuti na gumb "Pokreni upload fileova" (na dnu stranice). Tada će se ova dva filea pokušati uploadati na web server. Ako upload uspije, pokreće se transformacija pdf filea u tekstualni oblik (koji se koristi u postupku potrage za zadanim pojmovima). Ako i ta transformacija uspije, otvara se stranica mki_transf.php na kojoj se nalazi obavijest o uspješnom uploadu/transformaciji pdf filea, te odjeljak u kojemu se definiraju neke programske opcije za mki.cgi. U slučaju da nešto od toga ne uspije, na istoj stranici će biti ispisana poruka o neuspjelom uploadu/transformaciji pdf filea i bit će ponudjen link za povratak na početnu stranicu. U slučaju neuspjeha ove vrste, korisniku se preporuča da se vrati na početnu stranicu, promijeni imena pdf i txt fileova (trebala bi biti što jednostavnija i kraća, bez bilo kakvih "specijalnih znakova") i onda ponovi postupak. Ako stvar ni tada ne prođe, o problemu bi trebalo obavijestiti autora programa, odnosno Udrugu "SINBAD".Spomenute programske opcije, koje se izabiru na stranici mki_transf.php pomoću radio buttona, služe za to da se (radi preciznijeg postupka pretraživanja pojmova) programu pošalju informacija postoje li na (standardnoj) stranici knjige headeri (zaglavlja), footeri (podnožja), te da li knjiga sadrži fusnote. Te informacije omogućavaju lakše "prepoznavanje" ovih elemenata teksta na stranici, što je potrebno zato jer se detektirani headeri/footeri

7

Page 8: UPUTE ZA KORISNIKE WEB (CGI) APLIKACIJE mki.cgi (make ...sinbad.bplaced.net/dwnldir/mki_cgi_info.pdf · 0.0. Uvod Web aplikacija mki.cgi nastala je odgovarajućom prilagodbom C-programa

isključuju iz pretrage za pojmovima navedenim u txt fileu - ako se stavi da headera/footera nema, onda program u pretragu uključuje sav tekst na pojedinoj stranici knjige. Što se tiče informacije o postojanju fusnota, ona samo pomaže programu pri njihovoj detekciji (radi određivanja pravog mjesta page breaka i sl.) - fusnote su inače uvijek uključene u pretragu (s tim da se pretpostavlja da se ne nastavljaju na sljedećim stranicama).Također, na istoj stranici (mki_transf.php) postoji i polje za unos (input field), preko kojega je moguće zadati brojeve stranica koje će pri pretrazi biti preskočene (tu obično spadaju naslovne stranice knjige ili pojedinih poglavlja, stranice sa sadržajem, referencama i sl.). Ako se pretražuju sve stranice knjige, treba ostaviti već upisanu crticu. Može se primijetiti da osim navedenih, postoje još dvije programske opcije koje nisu "aktivne".

Stranica mki_transf.php prikazana je na Slici 4.

Slika 4

8

Page 9: UPUTE ZA KORISNIKE WEB (CGI) APLIKACIJE mki.cgi (make ...sinbad.bplaced.net/dwnldir/mki_cgi_info.pdf · 0.0. Uvod Web aplikacija mki.cgi nastala je odgovarajućom prilagodbom C-programa

(2.) 5. Korak - Pokrenuti program mki.cgi tj. postupak kreiranja indeksa za knjigu

Nakon što su definirane sve potrebne programske opcije na stranici mki_transf.php, treba kliknuti na gumb "Nastavak postupka kreiranja indeksa" (na dnu stranice). Tako se pokreće (CGI) program mki.cgi tj. postupak kreiranja indeksa za zadanu knjigu. Ako se program izvrši uspješno, otvorit će se stranica mki.cgi?(parms) na kojoj će biti ispisane programske poruke (uglavnom one o pronalasku/nepronalasku odgovarajućih "patterna" na pojedinim stranicama knjige), dok će na dnu stranice stajati poruka da je "Program uspješno izvršen", a ispod nje link na stranicu s rezultatima obrade. Ako dođe do greške u izvršavanju programa, na istoj stranici će se ispisati poruka o grešci tj. njezin broj. U slučaju greške, dobro bi bilo da korisnik o njoj obavijestiti autora programa, odnosno Udrugu "SINBAD".

Početni dio stranice mki.cgi?(parms) prikazan je na Slici 5.

Slika 5

9

Page 10: UPUTE ZA KORISNIKE WEB (CGI) APLIKACIJE mki.cgi (make ...sinbad.bplaced.net/dwnldir/mki_cgi_info.pdf · 0.0. Uvod Web aplikacija mki.cgi nastala je odgovarajućom prilagodbom C-programa

Završni dio stranice mki.cgi?(parms) za slučaj kad je program mki.cgi uspješno izvršen, prikazan je na Slici 6.

Slika 6

(2.) 6. Korak - Otvoriti stranicu s linkovima na rezultate izvršavanja programa (mki_results.php)

Ako je program mki.cgi izvršen uspješno, klikom na link na dnu stranice mki.cgi?(parms) otvara se stranica mki_results.php na kojoj postoje dva linka - na fileove koje je upravo kreirao program mki.cgi - prvi vodi na tekstualni file sa "jednostavnim" (uobičajenim) indeksom za zadanu knjigu (s obzirom na listu uključenih pojmova), a drugi na file s "detaljnim" indeksom, koji osim brojeva stranica na kojima se pojedini pojam nalazi, sadrži i (gramatičke) oblike odgovarajućih riječi koje su pronađene na danoj stranici - ovaj indeks je koristan (i svakako bi ga trebalo malo prekontrolirati), jer se u postupku potrage za zadanim pojmovima može "pokupiti" i

10

Page 11: UPUTE ZA KORISNIKE WEB (CGI) APLIKACIJE mki.cgi (make ...sinbad.bplaced.net/dwnldir/mki_cgi_info.pdf · 0.0. Uvod Web aplikacija mki.cgi nastala je odgovarajućom prilagodbom C-programa

nešto što ne treba (zbog nedovoljno preciznih regularnih izraza ili jednostavno zbog sličnosti/homonimnosti ovih riječi).

Stranica mki_results.php prikazana je na slici 7.

Slika 7

(2.) 7. Korak - Otvoriti jednostavni i detaljni indeks i spremiti ih na lokalni disk/mrežu (po potrebi)

Dva spomenuta filea koji sadrže jednostavni i detaljni indeks za danu knjigu, mogu se otvoriti klikom na odgovarajuće linkove na stranici mki_results.php, spremiti na lokalni disk odnosno mrežu i kasnije koristiti gdje je već potrebno (opcija Save As u korištenom browseru). Napominjemo da korisnici M$Wina takve fileove naknadno trebaju otvarati i njima manipulirati pomoću Wordpada, koji ispravno "prepoznaje" oznake EOL (end-of-line) što se koriste na Unixima (ASCII 10, za razliku od kombinacije ASCII 13, 10 koja se koristi na M$Win).

Primjer ovih dvaju fileova otvorenih pomoću (Epiphany) web browsera prikazan je na slikama 7 (jednostavni indeks) i 8 (detaljni indeks).

11

Page 12: UPUTE ZA KORISNIKE WEB (CGI) APLIKACIJE mki.cgi (make ...sinbad.bplaced.net/dwnldir/mki_cgi_info.pdf · 0.0. Uvod Web aplikacija mki.cgi nastala je odgovarajućom prilagodbom C-programa

Slika 8

2.8. Napomene o izlaznim podacima

Ako je pronađena riječ rastavljena (na kraju linije) tako da se nastavlja na sljedećoj stranici, u rezultatu će biti naveden broj te sljedeće stranice. Slično vrijedi i za složeni pojam (frazu) koji "prelazi" na sljedeću stranicu.Inače, obavijesti o rastavljenim riječima koje se nastavljaju na sljedećoj stranici, mogu se vidjeti u programskom logu, koji se ispisuje pri izvršavanju programa mki.cgi (prikazanom na Slikama 5 i 6).Pošto u kreiranom "jednostavnom" indeksu stoje regularni izrazi (korijeni) za pojmove ovdje uključene, a ne njihovi "osnovni oblici" (recimo nominativ jednine za imenice), on u ovom obliku ne predstavlja "gotov" indeks, koji se direktno može prenijeti (pejstati) u knjigu. Da se njegova korekcija u ovom smislu ne bi morala provoditi "pješice", postoji bash skripta mki_indcrrct.sh koja automatski može obaviti taj posao, ako uz spremljeni (tekstualni) file koji predstavlja upravo kreirani "jednostavni" indeks, imamo (također tekstualni) file koji odgovara ulaznom txt fileu (koji smo opisali na početku), s tom razlikom da umjesto liste regularnih izraza odnosno "korijena" za tražene pojmove, imamo listu "osnovnih" oblika riječi, koje im odgovaraju (u istom redosljedu) - tj. oblika, kakve želimo imati ispisane u "gotovom" indeksu.Opcija kojom bi se pokrenula ova skripta i provela korekcija "jednostavnog" indeksa, još nije uključena u web aplikaciju mki.cgi (bit će uključena uskoro).

12

Page 13: UPUTE ZA KORISNIKE WEB (CGI) APLIKACIJE mki.cgi (make ...sinbad.bplaced.net/dwnldir/mki_cgi_info.pdf · 0.0. Uvod Web aplikacija mki.cgi nastala je odgovarajućom prilagodbom C-programa

Slika 9

13

Page 14: UPUTE ZA KORISNIKE WEB (CGI) APLIKACIJE mki.cgi (make ...sinbad.bplaced.net/dwnldir/mki_cgi_info.pdf · 0.0. Uvod Web aplikacija mki.cgi nastala je odgovarajućom prilagodbom C-programa

3.0. Dodatne napomene o aplikaciji mki.cgi

Program je izradila Udruga za slobodne informacije "SINBAD" (negdašnja LLn_grupa). Sve obavijesti o bugovima, upite vezane uz program, te eventualne sugestije za njegovu dopunu i doradu, treba slati na e-mail adresu Udruge - [email protected] informacije o programu mogu se naći na web stranicama Udruge - http://sinbad.bplaced.net/.Program je zasad u fazi testiranja, što znači da se njegovo funkcioniranje i rezultati ne mogu smatrati posve pouzdanima. Svi zainteresirani pozivaju se da program testiraju na što više primjera i što je moguće detaljnije, te da svoja iskustva zapišu i pošalju na gore navedenu e-mail adresu.Program se izdaje kao slobodan softver pod GNU GPL licencom (GPLv3).

14