verbdefs.txt: syntax definition file for database and Knecht.pm
--> [ knecht | aktiv | mlht db | meps db ]
The file genba:/var/www/ffii/verein/verbdefs.txt describes the structures of "command verbs" a.k.a. database tables as used by the Knecht.pm Perl module which is invoked by the knecht@ffii.org mail processor and by the aktiv web interface. It includes a syntax for bridging different versions of the database so as to allow backward compatibility and gradual forward evolution of profiles written by Knecht.pm.
News & Chronology
- 2004-11-01 phm creates the kwiki-based verbdefs documentation
- 2004-01-00 phm changes Knecht.pm so that the database becomes the source and backward compatibility of profiles is no longer of central importance.
- 2002-00-00 phm introduces verbdefs.txt as a configuration file for Knecht.pm
Profile Documentation
Much of the structure of the verbs used by Knecht.pm is also found in the profile template.
Syntax (abstract description)
tab <table=verb> <left_fields>: <right_fields>: the left fields are the indexed keys by which the right keys are searched.
fld <field_name> <type> [<type_arguments>]: field definition
mov <old_verb> <new_verb> [ key <old_field> <new_field> | val <new_value> <field> | rev <old_value> <new_value> <field> ]+: various ways of transforming a table, so as to allow backward compatibility
Current File contents
As of 2004-11-01, the file read as follows:
- tab pnom uid: pntyp pnom mov pnom pnom key nom pnom key typ pntyp fld typ v 2 fld uid v 8 fld nom t fld pnom t tab mf uid: mf fld mf v 1 tab mail uid mailref: mailuser mailhost tab mt uid: user host mov mt mail val norm mailref mov mail mail key ref mailref key nom mailuser key host mailhost rev priv norm mailref fld mailref v 8 fld host t fld mailhost t fld mailuser t tab adr uid: land plz urb str fld land v 2 fld plz t fld urb t fld str t tab padr uid adrref: land plz urb str mov padr padr key ref adrref mov adr padr val norm adrref key ort urb fld adrref v 8 tab firma uid firmref: firmnom firmurl firmmem mov firma firma key fid firmref key ref firmref key nom firmnom key mem firmmem fld firmref v 8 fld firmnom t fld url v 20 fld firmurl v 20 fld mem b fld firmmem b tab beitrag uid: typ bet mon beg fin tab pag uid: pagtyp pagsum pagmon pagbeg pagfin pagpap pagpub mov beitrag pag key typ pagtyp key bet pagsum key mon pagmon key beg pagbeg key fin pagfin fld pagtyp v 2 fld pagsum n 4 2 fld pagmon n 2 fld pagbeg d fld pagfin d fld pagpap b fld pagpub b fld beg d fld fin d tab konto uid: land blz bank knr inh iban mov konto konto key nr knr fld iban t fld blz v 9 fld bank v 24 fld knr v 12 fld inh t tab persist uid pstvar: pstval mov persist persist key var pstvar key val pstval tab sid uid: sidval mov sid sid key val sidval tab sessionid uid: val mov sessionid sid key val sidval fld var t fld val t fld pstvar t fld pstval t fld sidval t tab tel uid: tel tab teln uid telref: tel telrem mov tel teln val norm ref key ref telref key rem telrem mov teln teln key ref telref key rem telrem fld tel t fld ref v 8 fld telref v 8 fld rem t fld telrem t tab http uid: http rem fld http t fld demo t tab href uid urlref: http demo urlrem mov http href val norm urlref key rem urlrm mov href href key ref urlref key rem urlrem fld urlref v 8 fld urlrem t fld lvl n 2 fld ack b tab sign uid sign: siglvl sigrem mov sign sign key lvl siglvl key rem sigrem fld sigrem t tab signeubsa uid: lvl tab signbund028 uid: lvl mov signeubsa sign val eubsa sign key lvl siglvl mov signbund028 sign val bund028 sign key lvl siglvl fld sign v 8 tab subs uid subs: sublvl faru mov subs subs key lvl sublvl fld faru b tab subsneues uid: lvl mov subsneues subs val neues subs key lvl sublvl tab subsverein uid: lvl mov subsverein subs val verein subs key lvl sublvl tab subsnews uid: lvl mov subsnews subs val news subs key lvl sublvl tab subsswpat uid: lvl mov subsswpat subs val swpat subs key lvl sublvl tab subsoffen uid: lvl mov subsoffen subs val offen subs key lvl sublvl tab subspatinfo uid: lvl mov subspatinfo subs val patinfo subs key lvl sublvl fld subs v 16 fld org v 8 tab ffii uid: lvl rem mov ffii asoc val org ffii key lvl asolvl key rem asorem tab asoc uid org: asolvl asorem mov asoc asoc key lvl asolvl key rem asorem fld asolvl n fld sublvl n fld siglvl n fld memlvl n fld replvl n tab memq uid org: memlvl mov memq memq key fid org key ref org key lvl memlvl tab memqbitkom uid: lvl mov memqbitkom memq val bitkom org key lvl memlvl tab memqgiev uid: lvl mov memqgiev memq val giev org key lvl memlvl tab memqvsi uid: lvl mov memqvsi memq val vsi org key lvl memlvl tab memqvdma uid: lvl mov memqvdma memq val vdma org key lvl memlvl tab memqzvei uid: lvl mov memqzvei memq val zvei org key lvl memlvl tab memqccc uid: lvl mov memqccc memq val ccc org key lvl memlvl tab memqguug uid: lvl mov memqguug memq val guug org key lvl memlvl tab memqfitug uid: lvl mov memqfitug memq val fitug org key lvl memlvl tab memqfiff uid: lvl mov memqfiff memq val fiff org key lvl memlvl tab memqisoc uid: lvl mov memqisoc memq val isoc org key lvl memlvl tab memqfsfe uid: lvl mov memqfsfe memq val fsfe org key lvl memlvl tab memqdmmv uid: lvl mov memqdmmv memq val dmmv org key lvl memlvl tab part uid: ref lvl sub tab repr uid grp vip: replvl reprem mov repr repr key lvl replvl key rem reprem fld reprem t fld grp v 3 fld vip t tab epat uid pat: tech deal clms iclm dclm clm1 prog epatrem mov epat epat key rem epatrem fld epatrem t fld pat v 12 fld tech i 1 fld deal i 1 fld clms i 4 fld iclm i 2 fld dclm b fld prog t fld clm1 t tab ven uid ven: venlvl mov ven ven key lvl venlvl tab venqber021205 uid: lvl tab venqbru021107 uid: lvl mov venqber021205 ven val ber021205 ven key lvl venlvl mov venqbru021107 ven val bxl021107 ven key lvl venlvl fld venlvl i fld ven v 12 fld text t fld sessionid v 12 fld cdnr i tab glos uid ref: lok rem nodb glos nodb rol tab perm uid permuid permvar: permval permrem mov perm perm key mid permuid key tem permvar key val permval key rem permrem fld permuid v 8 fld permvar t fld permrem t fld permval t tab lang uid lang: lvl rem tab uidlang uid lang: langlvl langrem mov lang uidlang key lvl langlvl key rem langrem tab proj uid proj: upproj projurl projfin fld proj v 8 fld langlvl i 1 fld langrem t fld upproj v 8 fld projurl t tab projtxt uid proj lang: projtit projdes fld projtit t fld projdes t fld lang v 2 tab projhlp uid proj: hlplvl hlprem faru tab projdon uid proj: donsum dontyp donvalut donrem tab projval uid proj: vallvl valrem tab projprm uid proj prmuid: prmlvl mov projperm projprm key hom prmuid key perm prmlvl fld hlplvl n 1 fld hlprem t fld dontyp n 1 fld donsum n 6 fld donvalut v 3 # 'eur' fld donrem t fld vallvl n 2 fld valrem t fld prmuid v 8 fld prmlvl i fld prmrem t tab pass uid: pass fld pass v 16 tab news uid nbas ndat lang: proj ntit ndes nurl fld nbas v 8 fld ndat d fld ntit t fld ndes t fld nurl t tab langtxt uid dok mlid lang: mltxt mlcki tab mlexp uid dok mlid lang: ciksi ckisku fld mlid v 16 fld mltxt t fld mlcki t fld ciksi v 8 fld ckisku t tab dokurl dok lang: url tab zgana uid dok lang: zgalvl fld zgalvl i tab wikipags uid wikipag: wikisrc wikitit fld wikisrc t fld wikitit t tab grev uid grevref: grevpag kovrpag grevrem g040407 g040414 g040509 g040512 g040609 fld grevref v 4 fld grevpag t fld kovrpag t fld grevrem t fld g040407 b fld g040414 b fld g040509 b fld g040512 b fld g040609 b
# http://kwiki.ffii.org/MlhtDbHotelsEn tab hotnokts uid hotel hotrm: hotnokt fld hotel v 8 fld hotrm v 8 fld hotnokt d
