Filstruktur og CVS-struktur, organisering av databasen
Filstruktur og CVS-struktur
Filene i ordboksdatabasen er lagra to stader:
- i to webapp-katalogar i Tomcat - det er desse som brukarane ser
- i eit CVS-repositorium, for å sikra versjonskontroll, og gje fleire brukarar tilgang til tekstene samtidig
Nedanfor er dei to filstrukturane, og samanhengen mellom dei, skissert.
Filstruktur i Forrest
Filstrukturen til eit Forrest-prosjekt ser slik ut:
/ # $PROJECT_ROOT = /Volumes/Data/Users/sjur/Documents/samsandok /status.xml # List of project developers, todo list and change log /forrest.properties # Optional file describing your site layout /src/documentation/ # Doc-specific files /src/documentation/skinconf.xml # Info about your project used by the skin /src/documentation/content/ # Site content. /src/documentation/content/ # Static content files /src/documentation/content/xdocs # XML content. /src/documentation/content/xdocs/index.xml # Home page /src/documentation/content/xdocs/site.xml # Navigation file for site structure /src/documentation/content/xdocs/tabs.xml # Skin-specific 'tabs' file. /src/documentation/content/xdocs/images # Project images (logos, etc)
Meir info om Forrest finn du på heimesida til Forrest-prosjektet.
CVS-struktur
I versjonar av Forrest frå 0.6 og nyare, er det slutt på å kopiera filer frå strukturen over til instansar i ein webapp (som når ein skriv forrest run). I og med omorganiseringa av CVS-en har eg derfor lagt Forrest-strukturen over til grunn, med nokre tillegg som vist nedanfor.
CVS-strukturen speglar den logiske oppdelinga i tre hovudkomponentar: konvertering frå gamalt til nytt format, databasegrensesnittet (søking og redigering), og den kringliggjande dokumentasjonen. Dokumentasjonsdelen er delt i to: ein del som inneheld den eigentlege dokumentasjonen organisert etter standardhierarkiet til Forrest, og ein del som inneheld lokale tilpassingar og endringar av Forrest. Resultatet er:
$CVSROOT/termdb/src/db-conv/ ! konvertering frå SQL/8-bits til XML/utf-8
db-app/ ! søkjegrensesnitt / interaksjon med XML-basen
documentation/ ! portal og dokumentasjon, alt utanfor XML-basen
site-app/ ! tilpassingar av portalen, modifikasjonar av Forrest
forrest.properties ! grunnleggjande innstillingar for Forrest
status.xml ! inneheld status for prosjektet: endringar og gjereliste
Desse fire delane er strukturert som vist nedanfor.
Konverteringsmodulen
Katalogstruktur for konverteringa frå ein 8-bits SQL-database til ein utf-8-koda XML-database:
db-conv/bin/ ! Ferdige konverteringsverkty
db-files/ ! databasefiler
db-files/doc/ ! dokumentasjon for databasefiler
doc/ ! overordna dokumentasjon for konverteringa
src/ ! kjeldefiler for konverteringsverktya
src/doc/ ! dokumentasjon for konverteringsverktya
Databasemodulen
Katalogstruktur for databasen:
db-app/admin/ ! passordbeskytta område for administrasjon
query/ ! søkjeskript
edit/ ! redigeringsskript
support/ ! Additional supporting files
Forrest-basert dokumentasjon
Katalogstruktur for portalen:
documentation/classes/ ! intern Forrest-mappe
content/ ! det eigentlege innhaldet i portalen;
! statiske filer ligg her.
content/xdocs/ ! XML-dokument her, detaljstruktur finst nedanfor
resources/ ! ressursar for å prosessera eigne format, eller
! annan tilpassing
sitemap.xmap ! Sitemap for å overkøyra standard-forrest;
kan brukast til å handtera eigne XML-format
skinconf.xml ! tilpassing av Forrest-portalen, inkl.
! eigne stilar, søkjemotor, m.m.
translations/ ! omsetjingar for flikar og menyar
Innhaldet er organisert slik:
xdocs/ ! det eigentlege innhaldet i portalen
index.xml ! Framsida
site.xml ! "katalog" over alle filer som skal publiserast,
! med visingsnamn - grunnlaget for menyane
tabs.xml ! fil for flikane i portalen
gram/ ! grammatikkar finst her
sme/ ! nordsamisk grammatikk
smj/ ! lulesamisk grammatikk
sma/ ! sørsamisk grammatikk
help/ ! hjelp for portalen
hist/ ! det som ligg under Historikk i den gamle portalen
images/ ! bilete og grafikk som heng i hop med dokumenta,
! ordna i ein parallell katalogstruktur:
hist/ ! grafikk for hist-dokumenta
gram/sme/ ! grafikk for nordsamisk grammatikk
specs/ ! grafikk for spesifikasjonane
specs/ ! prosjektspesifikasjonar
Tilpassingar av Forrest og den ferdige portalen
Visse lokale tilpassingar har eg gjort
site-app/httpd/ ! Mappe for introsider som automatisk opnar portalen
schema/ ! Alternative eller modifiserte DTD-ar ligg her
site/ ! Innhaldet her er forelda:
Makefile ! make-fil for å "installera" filene i mappa
forrest-targets.ent ! build-fil for Ant (Ant er eit javabasert
! make-system, build-fila er ei XML-fil)
skin/ ! "huda", utsjånaden til portalen (delvis forelda):
Makefile ! make-fil for å "installera" filene i underkatalogane
css/ ! CSS-filer for huda
images/ ! grafikk som huda bruker
xslt/ ! hud-spesifikke XML-transformasjonar
Installera portalen
For å installera portalen på servaren til Sametinget, må ein laga eit "web-arkiv" av web-applikasjonen:
> forrest war↵
Dette arkivet (war-fila) må ein så kopiera og installera i Tomcat (web-applikasjonsservaren) til servaren. Hugs å fjerna den gamle applikasjonen fyrst!
Databasestruktur
Databasen (eXist) organiserer xml-filene i eit hierarki likt eit vanleg filsystem, men i staden for mapper kallar eXist det for collections - ei samling med xml-dokument. Kvar slik samling kan ha andre samlingar i seg, og dermed får ein ein hierarkisk struktur. Kvar database har ei rot-samling, /db. Nedanfor fylgjer ei skisse til korleis databasen kan organiserast.
/db/ordbase/ ! Felles rot for alle termsamlingar og ordboksfiler;
! gjer det mogleg å ha andre samlingar for andre formål
! om det trengst seinare
terms/ ! rot for terminologisamlingar
class/ ! klassifikasjonssystem: det er mogleg å ha fleire paral-
! lelle klassifikasjonssystem
$NAME/ ! ei samling per terminologisamling, $NAME er eit stutt
! namn på samlinga
dicts/ ! rot for ordbøker
$NAME/ ! ei samling per ordbok, $NAME er ei stuttform av ordboka
! som eignar seg for teknisk bruk (blir ikkje vist brukaren)
common/ ! felles ressursar for alle ordbøker og terminologisamlingar,
! typisk ordklasser og bøyingsklasser (dei er språk-
! spesifikke, men ikkje spesifikke for kvar ordbok el.)
Skillet mellom termar og ordbøker er reint teknisk, og speglar ingen lingvistiske realitetar. (Betydningar av) ord som det er hensiktsmessig å organisera på tvers av fleire språk (t.d. faguttrykk/-termar, medisinske termar, flora og fauna) blir termar i kraft av måten dei er organisert på i databasen/xml-filene, og alle andre ord (som fylgjer ein tradisjonell tospråkleg ordboksstruktur) blir ordbøker.
Kvar ordbok og kvar termbase ligg i si eiga samling, og vil vera bygd opp av fleire filer. Ein typisk termbase vil ha ein struktur som skissert her (for detaljar om xml-strukturen, sjå spesifikasjonen for ny termstruktur):
/terms/$NAME/ ! termbase med kortnamnet $NAME (sjå nedanfor)
meta.xml ! tekniske metadata
front-sme.xml ! innleiing, forord, forkortingar, samisk versjon
front-nor.xml ! innleiing, forord, forkortingar, norsk versjon
... ! ... fleire språkspesifikke innleiingar m.m.
termcenter.xml ! navet for termbasen, ordna etter omgrep
terms-sme.xml ! språkspesifikke termpostar, nordsamisk
terms-nor.xml ! språkspesifikke termpostar, norsk
... ! ... tilsvarande ei fil pr språk
exmpl-sme.xml ! språkspesifikke døme i ei eiga xml-fil
... ! ... fleire språkspesifikke dømefiler
Tilsvarande vil ordbøker vera organiserte i separate samlingar, ei samling pr. ordbok, og med ein fast filstruktur (som eit døme kan vi tenkja oss ei ordbok mellom nordsamisk og norsk, båe vegar):
/dicts/$NAME/ ! ordbok med kortnamnet $NAME
meta.xml ! tekniske metadata
front-sme.xml ! innleiing, forord, forkortingar, samisk versjon
front-nor.xml ! innleiing, forord, forkortingar, norsk versjon
dict-nor-sme.xml ! norsk-samisk ordbok
dict-sme-nor.xml ! samisk-norsk ordbok
exmpl-nor-sme.xml ! norske eksempel med samisk omsetjing
exmpl-sme-nor.xml ! samiske døme med norsk omsetjing
Dei ordboksbasane som er definert til no (dvs innhaldet av $NAME i opplistingane over) er:
SD-terms ! Terminologibasen til Språkavdelinga, Sametinget
! Inneheld alle oppslag med ein fagkode i den gamle databasen
SD-dict-sme ! Dei ikkje-terminologiske oppslaga i den gamle databasen
by Sjur N. Moshagen


