Home
SuperX Entwicklerhandbuch
Contents
1. z B f r das SOS Modul java cp 30IS_CLASSPATH de his edustore bin ExecuteDBInterface databases_meins xml QISSERVER_PFAD superx WEB INF conf edustore db mo dule sos conf hisl edustore_install edustore_sos_masken_einspielen xml SSOS_PFAD QISSERVER_PFAD superx WEB INF conf edustore db module sos In Eclipse im Dialog Run brauchen Sie die Umgebungsvariablen nicht es reicht die Klasse sowie die Parameter anzugeben Siehe unten das Beispiel fiirs Entladen 2 7 3 2 Masken entladen Sie k nnen die Masken eines Moduls wie folgt aus der Datenbank entladen Das folgende Script ben tigt unter DOS ein paar Umgebungsvariablen java cp 30IS_CLASSPATH de his edustore bin ExecuteDBInterface databases_ lt lt SPEZIALMODUL gt gt xml 30ISSERVER_PFAD superx WEB INF conf edus tore db module lt lt Modulname gt gt conf hisl edustore_install edustore_ lt lt Modulna me gt gt _masken_entladen xml lt lt Modulname gro geschrieben gt gt _PFAD lt lt WEBAPPS_PFAD gt gt superx WEB INF conf edustore db module lt lt Modulname gt gt 112 z B f r das SOS Modul java cp 30IS_CLASSPATH de his edustore bin ExecuteDBInterface databases_meins xml QISSERVER_PFAD superx WEB INF conf edustore db mo dule
2. Ber Kleinerzeichen In meinem Beispiel w rde es dann so aussehen lt table name gang_stg_astat caption Studienf cher amtlich zu Lehreinhei ten version 0 1 thema Studieng nge typ Schl sseltabelle datenquelle 1 gt Beschreibung name Tabellenname caption Beschreibung version Version der Tabelle thema Das Thema welchem die Tabelle zugeordnet werden kann typ Art der Tabelle nm datenquelle Das Element description bietet Ihnen die M glichkeit eine ausf hrliche re Beschreibung der Tabelle zu hinterlassen Der Text wird wie folgt eingef gt lt description gt Hier kommt die Beschreibung rein lt description gt In dem Element columns geht es um die Spalten der Tabelle Hier wird f r jede Spalte ein Element culumn name eingerichtet welches bestimmte Eigenschaften zugeordnet wird Dies sieht z B so aus lt column name lehreinheit type CHAR size 10 notnull false descripti on Lehreinheit gt lt comment gt hochschulinterner Schl ssel lt comment gt lt column gt Beschreibung name Name der Spalte type Datentyp size groke des Datentyps notnull ob das Feld leergelassen werden darf description Beschreibung der Spalte comment Hier kann noch ein zus tzliches Kommentar rein Im Element primaryKeys werden die Prim rschl ssel der Tabelle eingetragen Hier gi
3. Kopieren E Drucken ka Hilfe Info pfe oder F lle Themenauswahl Maske Tabelle Studierende Zeitreihe K pfe i Seit Semester WS 1998 18 Org Einheit ai Seit Semester 55 1992 WS 1992 1993 SS 1993 WS 1993 1994 SS 1994 WS 1994 1995 SS 1995 WS 1995 1996 SS 1996 WS 1996 1997 55 1997 WS 1997 1998 55 1998 WS 1998 1999 ss 1999 Reset HH 0 Beurl Maske auf Seit Semes bis Fachsemester ter klicken erscheinen die Semester in aufstei gender Reihenfolge H rerstatus Auf diese Art und Weite k nnen wir alle Maskenfelder bearbeiten Die restlichen Attribute in der Ta belle felderinfo sind im Adminstrationshandbuch Kernmodul erl utert 2 1 1 3 Maskendefinition So weit so gut wir k nnen nun also Felder ndern Wie k nnen wir nun die Ergebnistabellen bearbei ten SuperX arbeitet hier ebenfalls mit SQL Scripten die als Felder in einer Tabelle gespeichert sind Die Tabelle lautet maskeninfo Wir k nnen uns diese Tabelle ebenfalls im XML Frontend anschauen Im Themenbaum w h len wir Maske suchen Es erscheint rechts eine Auswahlmaske ohne Vorbelegung Dort w hlen wir wieder die Abfrage Studieren de Zeitreihe aus Super Mozilla Datei Bearbeiten Ansicht Gehe Lesezeichen Tools Fenster Hi
4. Fach Absolvenbenstatistik E m Hi Ka EA SF EI BD http vimites 2080 supersiserviet SuperkmIMaske tid 70570 Jet 4 Wenn wir hier Abschicken driicken erscheint folgendes Bild Die Maske enth lt f nf Felder wir sehen die Nummer des Feldes und v D Datei Bearbeiten Ansicht Gehe Lesezeichen Tools Fenster Hilfe Q GA amp http miles 8080 superx xml index htm a IO suchen Sm a Startseite Lesezeichen S The Mozilla O SuSE The Li SuperX Mozilla lt 2 gt 22 Benutzer von SuperX den Namen Rechts da Institutionsrec hte aA Export Druckversion XML Test RTE S S Nutzungsprotokolle intern J neben befindet sich ein Paso ndern User einrichten Feld suchen User l schen Knopf zum Bearbeiten be Maske 10170 Studierende Zeitreihe Stand 01 01 2003 des Feldes e es z pan Feld Nr Name Bearbeiten SE en 10 170 K pfe oder F lle DN Bas 10 171 Seit Semester Maske kopieren Maske l schen 10 172 Org Einheit Maske suchen Stylesheet suchen 10 173 bis Fachsemester DN Studierende Pr fungen F Pr See 10 174 H rerstatus A Absolventen Zeitreihe ber 6 Jahre Absolventen nach Fachsemestern Datensatz 1 5 von insgesamt 5 S tzen Absolventen nach Fachsemestern mit Absolventen nach Fachsemestern nur Fach Absolventenstatistik m Superx Projekt http www superx projekt de 24 01 2005 VE DS E
5. lt signjar jar APPLET_DIR superx jar alias superx_applet storepass changeit gt Danach geben Sie ein ant distApplet Damit werden die Quellen nach weB InF classes kompiliert und dann werden die nicht ben tigten Da teien entfernt Dazu wird das Tool Proguard Obfuscator genutzt zugeh rige Dateien befinden sich in su perx build Wenn die superx jar erzeugt wurde werden alle Dateien unterhalb von WEB INF classes ge l scht 5 N tige nderung bei Upgrade 5 1 auf Version 4 1 5 1 1 nderungen an vorhandenen speziellen XSL Stylesheets Wenn dort in der Ergebnistabelle einTreeTable dargestellt wird Aufklappfunktionzeilen und nicht das Standardex portmen aus pageComponents muss man in dem Exportmen document forms O stylesheet document forms O submit ndern in prepareExport excel pdf druckversion wenn man den Auswahldialog alle Daten nur sichtbare Zabellenzeilen dort auch haben m chte Wenn man dies nicht macht werden wie bisher immer alle Zeilen exportiert 169 Hinweis in tabelle_fo_pdf xsl Standard Header Footer Definitionen ausgelagert nach tabelle_fo_pdf_kopffusszeile xsl Bei speziellen PDF Stylesheets die noch auf der alten tabelle_fo_pdf xsl basieren funktioniert unterschiedliche Fu zeilen f r 1 weitere Seiten noch nicht n tige Korrekturen im Stylesheet in lt fo simple page master master name first gt lt fo region befor xtent 40mm region name first reg
6. Auswahlwerte zu hinterlegen z B bei einem Makro mit 10 Studierendenabfragen die standardm ig die Haupth rerzahl ausgeben soll bei einer Maske stattdessen beim Feld H rerstatus Nebenh rer ausgew hlt sein Lehrbericht 10600 ist ein Makro makro maske sort 10600 10070 10050 10090 10100 10050 11500 10050 hier Nebenh rer gew nscht 10050 COLI DI MN AININ eR Felderinfo der MakroMaske 10600 definiert Felder die sich auf alle Untermasken beziehen bei einer einzelnen Untermaske z B Stud Allg 10050 werden Felder gef llt 94 NEU Ein solcher Eintrag berlagert ggfs in der Makro Maske vorkommende Felder gleichen Namens makro_feld_wert Makro Sortnr feldername value char sicht stand 10600 7 H rerstatus N bei Sicht z B f r Nebenh rer feldern z B 1 1 2005 13 oder oder lt lt Org Ein today heit Sicht gt gt oder lt lt Org Ein heit Stand gt gt Die Werte m ssen genauso so eingetragen werden wie sie vom SQL in der relation Spalte des zugeh rigen Felds geliefert werden z B steht f r das Feld Staatsangeh rigkeit in relation lt lt SQL gt gt select tid text from aggre_bland where tid in 0 1 order by text Ergebnis tid text 1 Ausland 0 Deutschland Wenn Ausland vorbelegt werden soll muss in makro_feld_wert als value nur eingetragen werden TODO Man sollte auch ei
7. Die Ergebnisseiten k nnen verlinkt werden ber spezielle Navigationsspalten s u eIn Feldern k nnen Links zu anderen Masken definiert werden Feldart 15 2 7 9 7 1 Navigationsspalten im XML Frontend Wenn die Ergebnistabelle an das XML Frontend bergeben wird dann k nnen spezielle Spalten f r die Navigation eingesetzt werden Die Spaltennamen werden im letzten select des select_stmt einer Makse bergeben nexttable nextpage nextmask nextdelete nextedit nextmail url 136 Link auf eine andere SuperX Tabelle der Inhalt des Feldes wird dann um den Pfad zum Servlet optional auch den String der Sessionid und den Passus SuperXmlTabelle tid erg nzt d h dem Servlet wird als erster Parameter die maskeninfo tid bergeben So wird z B aus dem Inhalt 20010 amp id 2044 der Link http lt URL der Webapplikation gt gt servlet SuperXmlTabelle tid 20010 amp i1d 2044 Die Ergebnisseite wird dann um einen Button erg nzt Link auf eine andere SuperX Tabelle wie nexttable es wird nur ein anderes Icon und ein anderer Target genutzt Link auf eine andere SuperX Maske der Inhalt des Feldes wird dann um den Pfad zum Servlet optional auch den String der Sessionid und den Passus SuperXmlMaske tid erg nzt So wird z B aus dem Inhalt 20010 amp id 2044 der Link http lt URL der Webapplikation gt gt servlet SuperXmlMaske tid 20010 amp id 2044 Die Ergebnisseite wird dann um einen Button m e
8. Spezielles Frontend Breite Hoehe ampell Hilfe Hinweis irgendwo in der Abfrage stehen Freemarker Template lt include SQL_lingua_franca gt lt include Superx_general gt start Datentabelle lt selectintotmp select L text L lehr L stg as ch30_fach L vertfg as ch39_vertief L kz_fach fach_nr L abschluss as ch35_ang_abschluss summe cal2_staat geschlecht fach_sem_zahl kz_rueck_beur_ein center_heading row_selectable col_selectable rightJust heading_platform readonly width 1 explanation Column CID 4 heading_text 1 FS n gesamt center_heading row_selectable col_selectable rightJust heading_platform readonly width 10 explanation 1Fachsemester Column CID 5 heading_text 1 FS n in center_heading row_selectable col_selectable rightJust heading_platform readonly width 10 explanation wie vorherige Spalte in 96 Column CID 6 heading_text 1 HS n gesamt center_heading row_selectable col_selectable rightJust heading_platform readonly Column CID 3 heading_text center_heading row_selectable col_selectable rightJust heading_platform readonly width 1 explanation Column CID 4 heading_text 1 FS n gesamt center_heading row_selectable col_selectable rightJust heading_platform readonly width 10 explanation 1Fachsemester Column CID 5 heading_text 1 FS n in cerf er_heading row_selectable col_selectable rightJust headi latform readonly width 10 explanation wie v
9. Studierende nach H rerstatus Studierende nach Staatsangeh rigkeit Studierende nach Wohnort Studierende pro Fachsemester Studierende pro Fachsemester Stg Abfrage suchen 10 S tze gefunden Die Abfrage liefert eine Statistik ber Studierende im Laufe von mehreren Semestern je nach 1 Fach semester 1 Hochschulsemester und Geschlecht Die folgende Abbildung zeigt die Maske 18 Die Abbildung zeigt die lt awe Auswahlfelder der Mas s e SB uli ke Wir w hlen f r den X Anmelden Passwort Clone Kopieren Drucken Hilfe Info Tnemenauswahi Maske Tabee Zeitraum im Feld Seit Semester das WS 1998 1999 pfe oder F lle K pfe Seit Semester ws 1998 19 Org Einheit Studierende Zeitreihe bis Fachsemester H rerstatus HH o Beurl 10 S tze gefunden Wenn wir Suchen dr cken erscheint folgende Ergebnisdarstellung Die Tabelle zeigtinder CESEN BNE ersten Spalte die Semes s e Eug ter dann die Gesamt K Anmelden Passwort Clone Kopieren Drucken Hilfe Info Themenauswahl Maske Tabelle zahl der Studierenden u Studierende Zeitreihe und die Studierenden im sde K pfe oder F lle K pfe Seit Semester WS 1998 1999 Org Einheit keine Aus wahl Stand 24 01 2005 H rerstatus HH o Beurl User sup
10. lt lt lt bis Fachsemester Ir H rerstatus fae WW Staatsangeh rigkeit A Hochschulzugangsberechtigung Fe Ausl ndische Studierende sind weibliche oder m nnliche Personen mit einer anderen als der deutschen Staatsangeh rigkeit die an einer deutschen Hochschule immatrikuliert sind Aggregierung Fach F cher Studieng nge Status J le ohne Beurl 2 6 2 Erzeugung der SuperX Hilfe im Javahelp Format Die SuperX Hilfe im Applet besteht aus einem Archiv im Javahelp Format Die Hilfetexte sind in den Modulen erzeugt und k nnen problemlos integriert werden Falls Sie eigene Hilfetexte einbinden wollen m ssen Sie wie folgt vorgehen 1 Erzeugen Sie html Seiten mit der Hilfe html 3 2 2 Binden Sie die Dateien in die Mapping Datei ein SSUPERX_DIR webserver tomcat webapps superx applet javahelp map jhm 3 Falls die Hilfeseiten kontextabh ngig abrufbar sein sollen m ssen die Titel der Mapping Eintr ge fol genden Konventionen folgen Allgemeine Beschreibungen der Abfragen lauten A lt lt TID gt gt htm Beschreibungen der Masken lauten M lt lt TID gt gt htm Beschreibungen der Ergebnistabellen lauten T lt lt TID gt gt htm 108 Am Anfang ist es hilfreich die vorhandenen Hilfetexte als Vorlage zu benutzen Die Javahilfe kann auch komfortabler mit dem Memtext Autorensystem aus einer Word Datei erzeugt werden Details dazu siehe http studio memtext de 2 7 Werkzeuge zur Masken Entwicklung 2 7 1 bersicht
11. wahlweise auf einer separaten Seite dokumentiert Damit nicht f r jedes einzelne Maskenfeld ein Eintrag gemacht werden muss kann ein Hilfetext ber seinen Namen auch mehreren Maskenfeldern zugeordnet werden in diesem Fall ist die Spalte record no leer F r Felder aus der Tabelle felderinfo schaut SuperX nach ob in der Tabelle sx_captions ein Eintrag f r die Tabelle felderinfo field name studiengang und record no 10050 oder null vorhanden ist Im folgenden Beispiel ist ein Maskenbutton Studiengang erl utert der in dieser Weise und bei dem Feld Nummer 10050 dokumentiert sein soll tid id table nam field_name record_no locale contents_short contents_long sachgebiete_id e 9 felderinfo studiengang 10050 de Grundst ndiger Ein Studien 16 Studiengang gang im grundst n digen Studi um 10 felderinfo studiengang 10050 en Degree program 16 106 Wenn Sie den Erl uterungstext bei allen Feldern mit dem Namen studiengang erscheinen lassen wol len dann m ssen Sie das Feld record_no leer lassen Im folgendne Beispiel wollen wir die Beschriftungen der Maskenfelder bearbeiten Gehen Sie im Men baum zum Eintrag Administration gt Beschriftungen suchen Wir w hlen z B das Stichwort Staats aus Beschriftungen suchen und schicken das For Bitte schr nken sie Ihre Auswahl ein mular ab S Stichwort kurz Staats Stichwort lang Sprache De
12. String zu formulieren 121 Eile statement Z Tools Help Markieren Sie die Ta User Statement H superx URL jdbc postgresql localhost 5433 superx Statement 9 y SECH State ment 18 Statement19 Statement 20 Statement 21 Database Explorer 22 belle im Database Ex State Statement Lo ent 10 Statement 11 Statement 12 Statement 13 Statement 14 Statement 15 Statement 16 Stat EE 2 pment 2 I Statement 3 Statement 4 Statement 5 Statement 6 I Statement 7 Statement 8 plorer und gehen Sie Scher Statement 12 Obje Sales SEE table data i 3 N Statement 14 ber das Kontextmen b ie SEET NAME Statement 16 Copy Data To Clipboard Stra DATA TYPE Pr nuLLAB DEFAULT REMARKS auf Show table data SSC Statement 17 copy selected E ECH x d Gel ST 1 are varchar 6 NO YES und wahlen Sie ein Edi sta9 Statement 19 if ee varchar 255 NO YES Statement 20 a Stat ment 21 3 Export data Show table data H Create empty INSERT Create default SELECT Create DDL Script Create schema report torfenster aus Der Se lect String wird dann angezeigt Drop ivs_asp_neu Delete data ivs_erwb ivs_erwb_neu amp Print ke fikr Print preview ivs_fikr_neu TROTE ivs_gege TABLE ivs_gege_neu TABLE TABLE TABLE v TABLE ivs_ivsplit_neu TABLE EN 4 il j ala ll Ir 670 Object s Columns Source D
13. lt sql lvar name hhanssum gt lt CDATA select K_FIN Quellsystem instname from xdummy select XX sum hhans from fin_konto_aggr where rechnungsjahr lt lt Haushaltsjahr gt gt and ch110_institut in Kostenstelle allNeededElements lt sqlvar gt neu in sqlvars kann man auch auf die vorherigen sqlvars zugreifen lt sql lt sql lvars gt var name v1 lt sql lt sqlvars gt lvar name v2 geht bisher nur CDATA ist wichtig damit wohlgeformtes xml lt sql lt sqlvar gt gt select lt sqlvar gt gt lt CDATA select where lt if vl 1 gt f ld 1 lt else gt feld 2 lt if gt gt lt sqlvar gt innerhalb von if Anweisungen o lvar name COB_FIN_STARTJAHR gt select apnr from konsta lt sql lvar name vo fin_buch_akt whe hier komt Fehle Hintergrund COB_FIN_TO_BUSA_STARTJAHR wird als Kommentar vom klassischen general sql gel scht und select distinct rhandene_fin_monate gt lt CDATA select dis nten where beschreibung COB_FIN_STARTJAHR tinct klrjahr 12 klrmonat monat from re klrjahr gt 0 and klrjahr gt COB_FIN_TO_B rmeldung smallint Operator gt existiert klrjahr 12 klrmonat monat from fin buc abgeschickt neu typ hash hashsequence lt sqlvar name kennzahl type hash gt select id shortname sqlchunk calcratio decimalplaces linksub linktimeline from man catalo
14. um die Masken zu installieren oder zu entladen lt maske tid 25240 name Zulassung thema Auswertungen zu Studieng ngen gt lt src gt lt path gt SGANG_PFAD masken lt path gt lt author gt D Quathamer lt author gt lt lastChange gt 23 5 2007 lt lastChange gt lt dbsystem gt INFORMIX lt db system gt lt src gt lt src gt lt path gt SGANG_PFAD masken lt path gt lt author gt D Quathamer lt author gt lt lastChange gt 23 5 2007 lt lastChange gt lt dbsystem gt POSTGRES lt db system gt lt src gt lt maske gt 160 3 2 6 Data integrity In der Data integrity werden die Verkn pfungen der Tabellen eingetragen Dies ist einmal f r die lt lt Modul gt gt html wichtig da dann die Verkn pfungen auch als Link zu der entsprechenden Tabelle er scheinen und damit in SuperX in den entsprechenden Tabellen nicht nur eine Nummer sondern auch ein aussagekr ftiger Text steht Au erdem kann mit den Relationen in HISinOne automatisch ein Foreign Key Ausdruck erzeugt wer den 3 2 6 1 Beispiel 1 Deskriptive Eigenschaften einer Relation In meinem Beispiel verkn pfe ich die Tabellen gang_k_lehr_hs mit der gang_stg_astat Auch die Reihenfolge spielt hier eine wichtige Rolle Die erste Tabelle ist die in der der entsprechende Inhalt und der Schl ssel in einer Spalte stehen a Iso die Schl sseltabelle Die zweite Tabelle enth lt nur den Schl ssel von dem auf die Schl sseltabelle referenziert wird Daher wird in
15. 2 2 3 2 Allgemeine FM Makros Funktionen Es gibt eine Reihe von allgemeinen Makros die f r alle Abfragen interessant sind Standardm ig werden Kommentare von der klassischen SuperX Verarbeitung generateSql gel scht damit nicht soviel an die DB geschickt wird Wenn man aber bei Entwicklungszwecken noch Kommentare drin haben will kann man das Makro addcomment benutzen Da FreeMarker erst nach dem klassischen generateSql ausgef hrt wird kann man Kommentare wieder einf gen lt addcomment comment Hier wirds interessant gt printkeys Druckt die Schl ssel aus lt printkeys Kostenarten allNeededKeys gt schreibt z B wenn Personalkosten ausgew hlt wurde 1 11 12 Entwicklungsm glichkeit Man k nnte bei Bedarf gewisse k nstliche Schl ssel raus filtern 2 2 3 3 Spezielle M glichkeiten bei Sicht Feldern Bei Sicht Feldern Feldart 12 gibt es besondere M glichkeiten Mittels Java Reflection kann FreeMar ker auf Methoden der Objekte im Datenmodell zugreifen Bei Sichtfeldern wie Org Einheit oder Kostenart sind folgende Methoden interessant 2 2 3 3 1 allNeededKeys f r tempor re Datentabellen Diese Methode liefert alle ben tigten Schl ssel Wenn bei Org Einheit oder Kostenart nichts ausgew hlt wurde werden einfach alle im Baum vorhan denen Schl ssel geliefert Wenn z B Personalkosten ausgew hlt wurde wird nur der Schl ssel von Personalkosten CU und des sen Unterknoten z B
16. Einheit Stand gt gt falls das schleifenfeld einen Stand oder lt lt today gt gt ben tigt schleifenfsicht 13 oder lt lt Org Einheit Sicht gt gt falls das schleifenfeld Sichten un terst tzt art 12 und mehr als eine Sicht zur Auswahl steht muss die gew nschte Sicht tid angegeben werden aktion Im Makro 10800 wird die Maske Stud Allg 10050 aufgerufen Da Feld schleifenrelation gef llt ist wird lt lt soL gt gt ausgef hrt und Stud Allg mehrmals entsprechend der Anzahl gefundener Eintr ge ausgef hrt dabei wird immer ein Eintrag das Feld mit dem schleifenfeld namen Org Einheit eingesetzt 2 5 3 2 Schleife ber ein anderes Makro Um nicht eine einzelne Maske sondern einen Makro mit mehreren Abfragen mehrmals per Schleife aufzurufen muss ein bergeordnetes Makro geschaffen werden Im folgenden Beispiel gibt es ein Makro dass Studierenden und Absolventenzahlen ausgibt 15000 Dies wird vom bergeordneten Makro 16000 f r alle Lehreinheiten aufgerufen 93 maskeninfo_idl maskeninfo_id2 sort schleifenrelation schleifenfeldname 16000 15000 15000 10050 lt lt SQL gt gt se lect key_apnr name from organi gramm where lehre 1 and orgstrukur 30 or der by 2 Org Einheit 15000 11930 2 5 4 Spezielle Auswahlwerte hinterlegen Beim Durchf hren von Makros soll es m glich sein f r einzelne Felder einzelner Masken spezielle
17. F lle gt gt finden wir den SQL Ausdruck studiengang_nr 1 and fach_nr 1 der Horer status ist auf H co diert und die Beurlaub ten Status 4 werden ausgefiltert Das Semes ter muss gt 19982 sein die Exmatrikulierten Status 5 werden eben falls ausgefiltert und die relevanten Lehrheinheiten werden ausgew hlt create temp table tmp_studis2 semester integer eintrag char 30 gesamt integer frauen integer ges_1fs integer frau_1fs integer ges_1hs integer frau_lhs integer with no log select from sos_stat_lehr S where studiengang_nr 1 and fach_nr 1 and hrst H and kz_rueck_beur_ein 4 and S sem_rueck_beur_ein gt 19982 and not S kz_rueck_beur_ein select apnr from konstanten where tid 3 and S lehr in select ch110_institut from tmp_ch110_institut into temp tmp_sos_stat_lehr with no log L schen Kopieren schlie en 3 In anderen SuperX Abfragen wie z B Studierende allgemein wird auch mit der Tabelle Lehr_stg_ab gejoined um die zugeh rigen Studieng nge abzurufen dies brauchen wir in dieser Abfrage nicht 29 Der letzte Select enth lt EEE a Datei Bearbeiten Ansicht Gehe Lesezeichen Tools Fenster Hilfe die Ergebnistabelle ee Q Q remesep lect eintrag Egg Fee Das Feld eintrag enth lt Vasen den Volltext des Semes ters gesamt die Gesamt summe ges_ifs die Ge samtsumme der Studie renden im 1 FS etc remer select eintr
18. Refresh Branches a ei Select Projects Select the remote projects whose tags should be refreshed ei ei w Ki This wizard helps discover the tags associated with one or more remote projects Check the projects whose tags you wish to refresh amp javang jsf2_test amp Idapadmintool myfaces_patches amp myfaces2_patches nonfreewrapper amp aistsv aisfsv_alt amp aistsv_test amp quality amp rails amp tomahawk_patches amp tomahawk_sandbox_patches amp tomahawk2_patches a C gt SelectAll DeselectAll e Do not use a working set _ Select a working set matching projects will be checked de his edustore und dbi Klassen G Other Cancel m a Markieren Sie Branches mit der rechten Maustaste k nnen Sie Refresh Branches angeben Dann suchen Sie alle Branches vom webapps Projekt DS CVS Annotate CVS Repositories 8 _ Wa Deol ale en A TL HiSinOne_PRE_2009 08 17 TL HiSinOne_PRE_2009 12 16 TL HISinone_PRE_2009_11_17 HISinone_PRE_2010 01 18 TL HiSinOne_PRE_2010 02 16 TL HISinone_PRE_2010 03 18 TL HiSinOne_PRE_2010 04 16 HISinone_PRE_2010 05 17 TL HiSinOne_PRE_2010 06 16 TL HISinone_PRE_2010 07 15 TL HiSinOne_PRE_2010 08 20 HISinone_PRE_2010 11 17 TL HiSinOne_PRE_2010 12 15 TL HISinone_PRE_2011 01 19 TL HiSinOne_PRE_201
19. de his edustore modules WebFrontendForMo duleInstall databases_meins xml sos install SSOS_PFAD webserver tom cat webapps superx WEB INF conf edustore db module sos Achten Sie darauf da Sie beim Start als Java Anwendung in Eclipse keine einfachen Anf hrungszei chen benutzen Ein Beispiel f r Eclipse 1 Men Run gt Open Run Dialog gt Neue Java Application 151 2 Im Reiter Main bei Project den Projektnamen und als Main Class de bs edustore modules Weh FrontendForModulelnstall eintragen 3 Im Reiter Arguments im Feld Program Arguments eingeben databases_meins xml sos install SOS_PFAD superx WEB INF conf edustore db module sos wenn Sie bei Working directory Default Workspace loc webapps 3 1 1 Module Scripts Create mit Ant In Edustore werden Datenbank Metadaten in XML Dateien gepflegt s o Aus diesen XML Dateien werden Installations und Pflegescripte erzeugt sowie Datenbankdokumentationen 3 1 2 Umgebung einrichten Als erstes m ssen die Variablen JAVA_HOME und ANT HOME gesetzt sein Nun gehen Sie in das Verzeichnis webapps superx WEB INF conf edustore db module lt lt Modulname gt gt Ausnahme Kernmodul webapps superx WEB INF conf edustore db install Um das Script nun auszuf hren geben Sie folgenden Befehl ein ant f conf module_scripts_create_ant xml DMODULE lt lt MODULNAME gt gt DDA TABASE lt lt DATENBANKSYSTEM POSTGRES
20. ern 123 Hier die Maske und hier der XML Code Sep Beem Qem Datei Bearbeiten Ansicht Chronik Lesezeichen Extras Hilfe lt gt O Meer Super Entwicklung Lo 1 Attp 4fmereur aram maskxmi E Alter der Studierenden Mit dieser XML Datei sind anscheinend keine Style Informationen verkn pft Nachfolgend wird die Baum Ansicht des Dokuments angezeigt Bitte schr nken Sie Ihre Auswahl ein lt maske tid 16340 name Alter der Studierenden sortnr null datum 17 06 2008 ape cer F Frag 3 teg Tannen zahlen MandantenID default jsessionid JSESSIONID gt Set Semester Ter bis Semester ERT Ts See admin true gt 4 lt UserlD gt lt felder gt F cher nichts gew ht San Iesse Ba lt tid gt 16340 lt tid gt Miasma i D lt name gt K pfe oder F lle lt name gt lt caption_short gt K pfe oder F lle lt caption_short gt Aogegenng Fach F cher Studieng nge v Abschluss nichts gew hlt lt caption_long gt SE EN Die Auswahl K pfe oder F lle l sst u a die Vorgabe K pfe F lle gewichtete F lle zu lt br gt Si K pfe sind dabei als einzelne studierende Personen zu verstehen lt br gt die das Fach im ersten Fach des ersten Studiengangs belegen lt br gt Bei F llen werden die Belegungen gez hlt Zweite GE und dritte bzw lt br gt Nebenf cher f r Lehramt und Magister sowie Zweitstudieng nge lt br gt Weiterhin ist es teilweise m glich g
21. first_page_header gt lt fo static content gt lt fo static content flow name first region after gt lt xsl call template name first_page_footer gt lt fo static content gt 170 cal l template lt fo static content flow name rest region before gt lt xs name rest_page_header gt lt fo static content gt lt fo static content flow name rest region after gt lt xsl cal l template name rest_page_footer gt lt fo static content gt
22. lt else gt lt if gt 1 Zeile gt gt 78 lt if gt 2 4 7 Direkt aus einer Maske Jasper Excel PDF erzeugen 2 4 7 1Direkter Aufruf eines JasperReport Stylesheet Wenn Sie ein Stylesheet egal ob JasperReport oder XSLT der Maske als alleiniges Tabellenstylesheet zuweisen wird dieses direkt im Ergebnis aufgerufen Wenn Sie dann noch in der Maske ein Feld Ausga beformat integrieren k nnen die Anwender zwischen HTML Excel PDF etc w hlen s u Standardm ig werden im Ergebnis nur die ersten 30 Zeilen angezeigt Damit Sie mehr Zeilen anzeigen lassen k nnen k nnen Sie ein verstecktes Feld maxoffset in die Maske kopieren mit der Feldart 13 verstecktes Feld und dem Defaultwert z B 10000 um die maximale Zeilenanzahl 10 000 zu erlauben Dieser Wert ist eigentlich viel zu hoch servletseitig wird im Parameter maxRows ein allgemeines Limit gesetzt um die Stabilit t des Servers zu gew hrleisten 2 4 7 2Auswahl des JasperReport in der Maske Sie k nnen auch eine Maske mit den Feldern Bericht und Ausgabeformat versehen in dem die An wender das entsprechende Layout d h den JasperReport ausw hlen kann Ein funktionierendes Beispiel w re z B die Maske Studierende Datenblatt Um so etwas zu erzeugen gehen Sie wie folgt vor Es muss auf der Maske ein Feld der Feldart 1 geben mit dem Namen tablestylesheet und der relation lt lt SQL gt gt select distinct filename X caption from sx_stylesheets X sx_
23. name eineKostenart name index_of 1 eineKostenart name length 1 lt assign maxEbene 99 gt lt if lt lt Filter bis Ebene gt gt gt lt assign maxEbene lt lt Filter bis Ebene gt gt gt lt if gt Bei Feldart 1 z B Buchungsart Name des selektierten Items auswerten lt if BuchungsartObject selectedItems 0 name Bewilligung gt lt assign tab_name fin_buch_man gt lt if gt lt if BuchungsartObject selectedItems 0 name verfuegbares budget gt lt assign tab_name fin_indiv_wert gt lt if gt lt if BuchungsartObject selectedItems 0 name Drittmittelsperre gt lt assign tab_name fin_indiv_wert gt lt if gt lt lt SQL gt gt execute procedure sp_user_orga_child lt lt UserID gt gt mdy 1 1 year lt lt Organigramm Stand gt gt lt lt Organigramm Sicht gt gt lt lt Institution gt gt lt lt erlaubt gt gt notinxmlfrontend 44 execute procedure sp_user_orga lt lt UserID gt gt mdy 1 1 year lt lt Organigramm Stand gt gt lt lt Organi gramm Sicht gt gt create temp table tmp_ch110_ institut ch110_institut char 10 insert into tmp_chl110_institut select key_apnr from tmp organigram drop table tmp_organigramm notinapplet Ri select distinct fb fb ktobez from mbs_projekte_konto where 1 1 and inst_nr in select ch110_institut from t
24. weil sie nicht als Felder auf der Maske vorkommen Allerdings muss die Freemarker Transformation ja schon laufen bevor der fertige SQL an die Daten bank geschickt wird weil Postgres Informix ja mit FreeMarker Befehlen nichts anfangen k nnen Man kann also nicht so etwas lt assign gegename select name from fin_geldgeber G where G xyz lt lt XYZ gt gt gt machen weil die Variable gegename dann einfach nur select als String enth lt Freemarker hat mit der Datenbank keinen direkten Kontakt SuperX gibt Abhilfe man legt einen Block an lt sqlvars gt lt einfache Variable gt lt sqlvar name fin_gel ldgeber_exists gt select sp_table_exists fin_geldgeber from xdummy lt sqlvar gt lt Listenvariable 1 Spalte key darf nicht null sein 2 Spalte name gt lt sqlvar name geldgeber gt select ggnr ggnamel from fin_geldgeber lt sqlvar gt lt sqlvars gt Anschlie end kann man in der Abfrage mit FreeMarker auf diese aus der Datenbank gef llten Varia blen zugreifen lt if fin_geldgeber_exists 1 gt insert into lt else gt insert into lt if gt sel sel lect from fin_gel ldgeber lect from fin_gel ldgeber Die Variable wird als einfacher Wert erkannt weil nur eine Spalte im SQL selektiert wurde Achtung Sofern der Select mehrere Zeilen liefert wird nur der letzte gefundene Wert hinterlegt wenn ma
25. wird der Name und die Version des Views eingetragen und in description die Beschreibung In columns wird f r jede Spalte ein column Ele mom mom type der select des Views eingetragen Die Besonderheit hier ist dass CDATA Durch diesen Befehl wird ment angelegt mit den entsprechenden Eigenschaften wie name size In sql wird dann der eingeschlossene Text nicht von XSLT ausgewertet sondern direkt bergeben 3 2 4 Themen Hier handelt es sich um die berschriften im Themenbaum z B Auswertungen zu Studieng ngen Im Attribut Parent wird das bergeordnete Element definiert lt thema name Auswertungen zu Studieng ngen parent Studieng nge gt Abfragen zur Akkreditierung etc lt thema gt In der jew Modul XML gibt es zwei Varianten Das oberste Element zum Themenbaum steht ganz oben z B Studierende Pr fungen in der sos xml lt xml version 1 0 encoding UTF 8 gt lt module name sos version 1 0b sachgebiet_id 16 sachgebiet Studieren de systeminfo_id 7 system Studierende Pr fungen thema Studierende Pr fungen thema_parent Abfragen gt lt description gt Abfragen und Berichte im Bereich der Studierenden und Pr fungsverwaltung d h Statistiken zu Studierenden oder Absolventen nach ver schiedenen Merkmalen sos_doku_benutzer_url lt description gt Bei den Themen darunter steht z B in der sos xml 159 lt thema name Administration S
26. 1 Checkboxen und Ouerabh nggketen sn 63 2 42 Felder auf der Maske yerstecken 2284er et lH ea else bb 63 2 4 3 Inhalte benutzerspezifisch ausblenden 64 2431 Felder EE 64 PAA BEWA W aTe lG EE 64 2 4 4 Baumdaretellung rsio reor ieir 25er E E EE EEEE tens EEEE SOSEO AES EEEE EEE EEEE Ene ERS 64 243 Banweis aut Maskesi senne e e a S a Del 65 ZAG CSV Upload WE 65 2 4 7 Direkt aus einer Maske Jasper Excel PDF erzeugen een 67 2 4 7 1Direkter Aufruf eines JasperReport Stivlesbheet A 67 2 4 7 2 Auswahl des JasperReport in der Maske oe eee eeeseesecseecseceseesecseeseceseeseceseeseeseeseeseaeeseseaeeessaeeenaeees 67 2 4 8 Navigationsspalten im XSMI Frontend 68 2 4 9 Einzelne Zellen Spalten formatieren CS 70 2 4 10Spaltenlayout in Brgebnztabellen AA 70 24 10 1 Die Attribute in der Xi Proplist eebe pen niet ss Bl 70 2 4 10 2 Mehrzeilige Spaltent berschrften A 72 2 4 10 3 Verkn pfte Spaltentberschften eee eee eseeeeeceeceeceseeaecacesececesecseeseeseeeeseaeeseeeasesseeeesaeees 72 2 4 10 4 dynamische Spaltenanzahl 2 20 satin Ras SEES KEES iE rE pataas 73 AE ER EE EEN E EE 76 2 4 10 6 Standardabfragen mit hochschulspezifischen Details versehen nn 77 2 4 10 7 Anzeigen von Balkendiagrammen in der Tabelle AA 78 2 5 Abfragemakros einschl Schleifen u Grafiken 78 23 1 Makfos Und Sichten ag de costs soos rasen Et deed eg Meck leier 79 2 32 Makro Schachtel ng i 522 2 Bsagesskseiiss ln E RE EEEE E E E E E
27. 11 12 geliefert 48 Daf r wird noch das allgemeine Makro printkeys benutzt lt printkeys Kostenarten allNeededkeys gt Beispiel f r Erstellung einer tempor ren Datentabelle execute procedure sp_user_orga_child lt lt UserID gt gt lt lt Organigramm Stand gt gt 0 lt lt Institution gt gt lt lt erlaubt gt gt Create temp table tmp_erg fikr varchar 200 betrag decimal 14 2 with no log select fikrkey sum betrag as betrag from cob_busa B tmp_ch110_institut T where B ch110_institut T ch110_institut and B jahr lt lt Haushaltsjahr gt gt and fikrkey in lt printkeys Kostenarten allNeededkeys gt group by fikrkey into temp tmp_busa Statt Benutzung der Prozedur sp_user_orga_child konnte man analog verwenden where B 110_institut in lt printkeys Institition allNeededKeys gt Ggfs versteckte Knoten werden hier mit ausgegeben Bei Kostenstellen Feldern werden nur erlaubte Eintr ge ausgegeben Neu ab kern4 5 diese Methode kann man auch f r Feldart 1 Felder benutzen z B mit Haushaltsprogramm allNeededKeys 2 2 3 3 2 ContainsElements Neu ab Kern4 5 f r Sichten und auch Feldart 1 ob eine Auswahl m glich ist z B lt if Kostenstelle containsElements gt lt if gt Oder bei Feldart 1 lt if HaushaltsprogrammObject containsElements gt lt if gt 2 2 3 3 3keysToRoot f r Verteilschritte Verteilschritte sind ein ungew hnliches Konzept 1
28. 2 22 24 140 3 2 3 EE 142 3 24 EE EE 143 SE EE 144 KS RE LE EE 144 3 2 6 1 Beispiel 1 Deskriptive Eigenschaften einer Relapon nn 144 3 2 6 2 Beispiel 2 Erzeugung von Premdschl sseln eee ceeeeeceseeeeceeeeeeceeceeeeeeeeesseeeseesnessaeeesaeeeenea 145 3 2 6 3 Beispiel 3 Referenztabelle hat zus tzliche ber 146 3 3 Install uninstall ETL und upsrade es 146 3 3 1 Spezialit t bei ETE 4 2 22 0 ea iR EI 146 3 3 2 0lap system 2 2 220 e e as EHRISHHR RB SERIE 147 JA Patches ee ee eege eege 147 3 4 1 Anleitung zur Erstellung von Patches A 147 3 4 1 1 Dokument tioni u hr EEE 148 3 4 2 Patches einspielen 4 3 4 na BERB0 ERS Hk Bin HER nn 148 Be eI OU 11 AO AEAEE EIET E iu cast 148 3 51 Erl uterung der XIMIE Blemente vz c gecceess de oe 22 Yemen iR Bent nenn 149 2 Ges amtstruk tities ee Eed 149 3 9 12 E 150 3 32 Test der UE 150 4 Build der Java AT Rh ae LOL 4 1 Umgebung Hr TR EE 151 4 2 Build des SuperX Servlets sanssunenununesksanat ak E E RN 151 4 2 1 1Build des SuperX Applet 222 88 0282 80ER RRH LEBER Rs 151 5 N tige Anderung bei Upgrade esssssesssss0nsssuensnnuunnnnuunnnnuunnnnuunnnnsensnunsnsnusensnesensnusensnnsneseee LOD 5 laut Version EE 152 5 1 1 nderungen an vorhandenen speziellen XS Stvlesbeets 152 8 1 Einrichten der Entwicklungsumgebung 1 1 SuperX F r die Entwicklung unter SuperX m ssen Sie ein Unix Linux System nutzen F r die Entwicklu
29. Button zum Speichern von Datens tzen in die Access Symbolleiste setzen Extras gt Anpassen gt Befehle gt Datensatz speichern in eine h ufig benutzte Sym bolleiste ziehen Mit dem Button Felderinfo gelangen Sie zu den Feldern dieser Maske Sie k nnen die Felder dort bear beiten Bein Hinzuf gen neuer Felder m ssen Sie allerdings die jeweiligen tids manuell in die Tabelle masken_felder_bez eintragen Analog funktioniert die Bearbeitung der individuellen Stylesheets f r eine Maske Warum ausgerechnet Word Das Access Frontend ist in Visual Basic for Applications programmiert und nach unserer Er fahrung ist dies der am meisten verf gbare Editor mit VBA Unterst tzung wenn auch Access als Teil von MS Office instal liert ist Der Editor WordPad z B bietet keine VBA Schnittstelle Uns war au erdem eine ausgefeilte Such und Undo Funkti on wichtig Theoretisch k nnte man in der mitgelieferten Dokumentvorlage editblob dot im gleichen Verzeichnis auch Au totexte und Makros hinterlegen Daher Auch wenn es ungew hnlich ist Word als IDE zu benutzen nach unserer Erfahrung ist es recht praktisch Fehlt nur noch die farbige Syntaxunterst tzung 119 2 7 6 Weitere Tools Durch die odbc und jdbc Treiber k nnen beliebige Datenbankfrontends eingesetzt werden Gute Erfah rungen gerade mit Tabellen ohne Prim rschl ssel haben wir mit der SQLWorkbench von Thomas Keller er gemacht Exemplarisch f r andere jdbc Clients h
30. Die Masken werden in der Datenbank in der Tabelle maskeninfo und anh ngige Tabellen gespei chert und k nnen dort auch ge ndert werden Bei der Installation Upgrade des Moduls werden die Mas ken vom Dateisystem in die Datenbank eingespielt Im Dateisystem liegen die Masken im Verzeichnis SuperX SSUPERX_DIR db module lt lt Modulname gt gt masken Edustore tomcat webapps superx WEB INF conf edustore db module lt lt Modulname gt gt masken Achtung wenn Sie die Masken in der Datenbak d h ber den Browser oder das Access Frontend n dern d rfen Sie keinen Upgrade Installe Uninstall eines Moduls ausf hren die Masken werden dann n mlich ersetzt bzw gel scht F r die Verwaltung der Masken gibt es Shell Scripte Linux und Edustore DBI Scripte Windows Zentrale Steuerungsinstanz ist aber die Modul XML Datei in dieser Datei werden die Masken deklariert und in den Themenbaum eingeh ngt Und wenn diese Datei ge ndert wurde m ssen die Verwaltungs scripte Installation Sicherung Upgrade neu generiert werden 2 7 2 Shell Scripte 2 7 2 1 Masken Verwaltung Zum Erzeugen und Ver ndern von Masken gibt es unter UNIX eine Kommandoschnittstelle die auf dem Gebrauch folgender Skripte beruht Die Skripte stehen unter dem Verzeichnis SUPERX_DIR db masken und erzeugen oder verwenden Dateien in dem gegenw rtigen Arbeitsverzeichnis Nach dem Einspielen der Datenbank sollten Sie darauf acht
31. E EEEE 79 23 3 Schleifenf nktion isiin 2 252528 ea aeae E E EE EE EEE S eoh sosie 80 2 9 35 Grundlagen enee eaea a ans mes ee E 80 2 3 3 2 Schleife ber em deres Makro 2e90 dg nerna nsa r aa docks docs ceces dvev r sh Eaei e 80 2 5 4 Spezielle Auswahlwerte bnterlegen cece ceceeeceeceeeeeeeeeeeeseeseecaeesaecsecsaecaecsaeeseceseeeeccseesesaeeeseeeesaeees 81 2 5 5 Zuk nftig Feldnamen SynonyMe 0 0 eeeceeeesesseesecseecsecseecsecaeesecacsecesceseceseeeseeeeseseaeeseesaessaecseseaseeesaees 82 2 5 6 Aktionen Grafikerzeugung 3 05504028 eis Ciok E ESEE TeRi KEES Eia Ea ERE SaaS TEES 83 259 631 Gd O a nennen EN e o ae E EEAO E E APEE deed Ee ers dit 83 2 5 6 2 Grafikeistellung 2 2 2 02842 Ras S E E EEE EE sale EEE EE AE EO E E E SA EEEE 84 2 0 2 TE EE 84 29 0 2 2 MoreAttnibsun seta Hirn a E O E E E E tin 85 2 3 6 2 3 S lendiag rame sire nii iio era aere 200222150 evs EES EEEE EAEE E E tutus ER geg in 85 25 0 2 4 Balkendiapramime ee EE ENEE EEN REE S ee 85 2 5 6 2 5 RRE EE 86 2 5 6 3 spezielle Stylesheets benutzten eee eee ane eE EKE EEEE EEE EESE EEEE EEEE EE E E EEEE 86 2 06 Dokumentation von Abfragen a al nee 87 EE EE 87 2 6 1 1 Allgemeine Schl sselw rter 22 4s 8 K2 20080spasnhssc nenne 87 2 6 1 2 Der Spezialtall Maskenfelderz 3u2 2 steel et als ri Han onen 88 2 6 1 3 nderung von Glossaren im XMI Prontend 89 2 6 1 3 1 Maskenerl ufer ng 3 24 2 284 2 8 828 Rss sea RR Hei
32. Hierarchieebenen in Ergebnisspalten In Ergebnistabellen wird oft gew nscht Tabellen berschriften ineiner zu verschacheln So wird z B aus folgender Tabelle Themenauswahl Maske Tabelle Im Applet I l Statistik 3 Studierende nach Alter und Geschlecht Parameter K pfe oder F lle K pfe Semester WS 2004 2005 Stichtag Aktuelle Zahlen F cher Fak FB 05 Fak f Philologie Fachbereiche und F cher intem Status Alle Aggregierung Fach F cher User John Doe K pfe Erster Studiengang erstes Fach Stand 29 06 2005 18 19 18 19 20 21 20 21 22 23 22 23 24 25 24 25 26 27 26 27 Ebene Studiengang M w M w D w D w M w Fachbereich FakiFB 05 Fak f Philologie 3o ag me 1034 zu s28 me mei ui 99 Fach intern Allg amp vgl Literaturwiss 2 8 17 59 21 51 14 25 8 16 Fach intern Allg amp vgl Sprachwiss D D D D D D 3 2 2 1 Fach intern Amerikastudien ol 0 0 0 0 6 d 21 2 2 Fach intern Anglistik al 70 mm 260 mm ug za 110 30 RH Fach intern Biling LiL Zusatzstud 0 o 0 o 0 oj 0 a 0 2 Fach intern Deutsch oj o 0 1 4 40 17 46 19 23 Fach intern Deutsch Zweitspr Zusatz 0 D D D D D D 2 D 1 Fach intern Deutschunt i Ausl Zusatz 0 D D 1 D 1 3 16 2 56 Fach intern Englisch 0 D ol D 9 4 23 31 13 26 e Feerereeeme a nur al a al 7 nal ES ES an gt Im XML Frontend ES Bui Export Druckversion XML PDF RTE XLS Mit leeren Spalten
33. INF conf edust tore db instal tore db instal l1 conf hisl dbconv sch eduetl 1 conf hisl dbconv view eduetl Bei Neuinstallationen ist das kein Problem aber bei vorhandenen Installationen m ssen diese Dateien unbedingt gel scht werden sonst w rden sie beim Neuaufbau der Datenbank wieder angelegt Dazu m s sen wir noch herausfinden wie man beim Upgrade in HIS1 Dateien l scht 158 3 2 3 Views F r die Views wird wie bei den Tabellen eine bestimmte Syntax verfolgt Diese erl utere ich an dem Beispiel der gang_k_sb lt view name gang_k_sb version 0 1 gt lt description gt View Studienbereiche Landesschl ssel lt description gt lt columns gt lt column name apnr type char size 2 default notnull true gt lt column name kurz type VARCHAR size 150 default notnull false gt lt column name druck type VARCHAR size 255 default notnull fal se gt lt column name lang_1 type VARCHAR size 255 default notnull fal se gt lt column name astat type SMALLINT size 2 default notnull false gt lt columns gt lt sql dbsystem gt lt CDATA SELECT apnr kurz druck lang_l astat FROM gang_cifx where key 3 gt lt sql gt lt view gt Die Vorgehensweise hnelt hier der der Tabellen In view
34. INFORMIX oder HSQLDB gt gt lt lt PARAMETER gt gt 3 1 3 Beispiele Fiir das SOS Modul miisste zuerst in das Verzeichnis webapps superx WEB INF conf edustore db module sos gewechselt werden Mit einer Postgres Datenbank wiirde der Befehl um das Script komplett auszufiih ren folgenderma en aussehen ant f conf module_scripts_create_ant xml DMODULE sos DDATABASE POSTGRES al F r das FIN Modul m sste zuerst in das Verzeichnis webapps superx WEB INF conf edustore db module fin gewechselt werden Mit einer Informix Datenbank w rde der Befehl um das Script nur zum erzeugen der Dokumentation auszuf hren folgenderma en aussehen ant f conf module_scripts_create_ant xml DMODULE fin DDATABASE IN FORMIX doc Beim Kernmodul befinden wir uns in der Shell in db install daher muss man um nach db conf zu ge langen nur ein Verzeichnis nach oben gehen Hier ein Beispiel f r Windows mit Postgres Datenbank welches nur die Scripte f r die Modulinstallation erzeugt ant f 152 conf module_scripts_create_ant xml DMODULE kern DDATABASE POST GRES install 3 1 4 Parameter all Modulscripte komplett erzeugen backup Erzeugt Scripte f r Backup Restore und k rzen und wiederherstellen der Felderinhalte dbforms Erzeugt DB Forms jsp Seiten Muster f r dbforms config xml deinst Er
35. Prozedur aus der Sprachwissenschaft Verst ndigungssprache f r Sprecher verschiedener Sprachen prominentestes Beispiel Eng lisch 46 Informix execute procedure sp_proc Postgres select sp_proc Informix FreeMarker wird transformiert gt execute procedure sp_proc lt procedure Postgres select sp_proc sp_proc gt procedure ist ein FreeMarker Makro das definiert ist in der Tabelle fm_templates id SQL_lingua fran ca lt informixnolog gt wenn Informix als Datenbanksystem benutzt wird wird der Zusatz with no log ausgegeben selectintotmp Informix und Postgres unterscheiden sich darin wie ein select into temp table aufgebaut ist Beispiel Informix select key sum betrag from cob_busa where group by into temp tmp_busa und Postgres select key sum betrag into temp tmp busa from cob_ busa where group by HIT Um dieses datenbankunabh ngig zu halten gibt es das Makro selectintotmp mit den parametern select die Spalten source Quelltabelle n und target Zieltabelle Eine gegebenenfalls n tige where Bedingung und group by muss als Body innerhalb des selectin totmp Aufrufs angegeben werden Die obigen Beispiele k nnen mit FreeMarker mit folgendem Makroaufruf automatisch erzeugt werden lt selectintotmp select key sum betrag source cob_busa target tmp_busa gt 47 where group by lt selectintotmp gt
36. Sie erneut mit den normalen Parametern eIn dem Dialog Window Preferences Tomcat geben Sie die Tomcat Version an die Sie nutzen und den Pfad zu Tomcat Das Projekt SuperX qisserver oder ICE deklarieren Sie dann in den Projekteingeschaften unter Tomcat als Ist ein Tomcat Projekt Die Pfade zu den Java Quellen sind anzugeben Machen Sie dann einen Clean build 9 Wenn der Tomcat Start aus Eclipse dann klappt k nnen Sie damit arbeiten Wenn die Quellen neu kompiliert sind k nnen Sie auch Servlet Debugging betreiben 1 2 1 3 Umgebung f r Eclipse Dar ber hinaus sollten Sie die Compilerwarnungen gem Vorgabe HIS einrichten http wiki his de mediawiki index php Eclipse_Konfiguration_f C3 BCr_QIS Derzeit ist nur die CVS Entwicklung in HISinOne auf diese Compilerwarnungen umgestellt aber die Edustore Entwicklung noch nicht Wenn Sie aus Eclipse auch ANT nutzen m ssen Sie unter Window Preferences Ant Runtime Classpath im Button Ant Home auf webapps qisserver WEB INF inter nal ant umstellen 1 2 1 3 1 Erg nzung Path Properties f r SuperX Projekt Beim Aufruf von einem Jasperbericht kam die Fehlermeldung org eclipse jdt internal compiler ICompilerRequestor not found Man muss in Project Properties Java Build Path Libraries Add external library org eclipse jdt core jar hinzuf gen Sonst kommt org eclipse jdt internal compiler CompilerRequest Alternative ggfs googlen System Variable auf J
37. Spalte additionalkeyssql kann eine Besonderheit angegeben werden zus tzliche Keys die die User sehen d rfen Das kann im einfachen Fall z B eine zus tzliche tabelle sein f r finanzstellen select finanzstelle from finanzstelle_zusatzrechte where userinfo_id lt lt UserID gt gt Das obige Beispiel f r HHProgramme ist f r eine Querabh nigkeit select distinct Ktr_nr from gxstage_huel where kst_nr in lt lt SAP Finanzstellen Sicht gt gt es werden aus der HUEL alle hhprogramme rausgesucht f r Finanzstellen die der User in einer SAP Finanzstellen Sicht sehen darf unabh ngig von der G ltigkeit der Finanzstellen Interna im Log Daf r wird die SAP FInanzstellen Sichtarten einmal mit dem Spezialdatum 1 1 1970 aufgebaut gt das bedeu tet ohne G ltigkeit Es gibt zwei zus tzliche Freemarker Variablen die man Abfragen kann UserHasAllSichtart Rights UserHasNoSichtart Rights z B lt if vars UserHasNoSAP Finanzstellen SichtRights gt insert into tmp_erg name values Keine Rechte f r Finanzstellen gefunden lt else gt 2 2 3 8 Man kann sich auch die gew hlte Sichtart name name_intern ausgeben lassen z B Finanzposition sichtart 56 Finanzposition sichtname_intern Finanzposition sichtname Beispiel lt assign linkbuch SuperXm1Tabelle tid 33000 amp cachingcontrol clearmask amp Jahr lt lt Jahr gt gt gt lt if Finanzposition sichtname_intern fipos_inkl_stats gt lt assign lin
38. Text RTF Beschriftungen suchen Zur cksetzen Stichwort kurz Fachsem Sprache Deutsch Stand 01 01 2003 id Tabelle Feld Datensatz Sprache Inhalt kurz Inhalt lang Bearbeiten Nr kurz 1Fachsemester de 1 Die Anzahl der EV Fachsemester Studierenden felderinfo bis de bis EV Fachsemester Fachsemester felderinfolab de ab DN Fachsemester Fachsemester Datensatz 1 3 von insgesamt 3 S tzen Der Erl uterungstext zur Spalte steht im Feld contents_long Genau dieser Text wurde oben in der Erl uteurng der Spalte 5 angezeigt Sie speichern die Anga ben mit Speichern Beschriftungen Table name Field name tid 223 Id 1Fachsemester 105 Supers In diesem Formular k nnen Sie Beschriftungen bearbeiten Record_nol NuLL Locale Deutsch Contents_short Contents_long Equalitystatus p Sachgebiete_id Studierende 1 Fachsemester Die Anzahl der Studierenden im ersten Fachsemester Speichern etzter L schen I Neu 2 6 1 3 2 Feldbeschriftungen ndern F r die Erl uterung von Maskenfeldern k nnen kurze und l ngere Hilfetexte hinterlegt werden Die kurzen Texte dienen als Beschriftung des Feldes berschreiben also den Feldnamen und die langen Texte erscheinen als Tool Tip bei Mausbewegung auf den Button Im Ausdruck werden die Maskenfelder
39. Zum Suchen an den Anfang der Datei gehen dann im Men search Search String Forward ggfs im gleichen Men Repeat Forward 4 Um auch bei l ngeren SQL Abschnitten den berblick zu behalten kann man auch Pseudo if statements einf gen z B lt if Tabellenerzeugung gt create temp table tmp_konto_aggr hs_nr INTEGER jahr SMALLINT quartal integer monat SMALLINT fikrkey CHAR 12 klr_geldgeber CHAR 10 titelgruppe_gege varchar 24 titel char 10 dr char 5 dr2 char 5 t k 67 itelart CHAR 1 apitel char 5 ch110_institut CHAR 10 projnr char 10 bet ragsart CHAR 1 bund_fachgebiet char 10 bv e e X x da kr art char 12 tkotr char 30 tkost char 30 tum date kfmkam smallint h e a a h e a E 4 hans decimal 14 2 innahmen decimal 14 2 usgaben decimal 14 2 nur Sachsen ben tigt kts_tit decimal 14 2 hans_tit decimal 14 2 innahmen_tit decimal 14 2 usgaben_tit decimal 14 2 este_tit decimal 14 2 lt 7 if gt Das IF ist nat rlich nur pseudo weil immer true man kann im String dem Block einen Namen geben und dadurch dass es ein Freemarkerbefehl ist Fold Unfold benutzen Bei Fold sieht man dann nur lt if Tabellenerzeugung gt lt if gt Die Unterstreichung weist darauf hin dass ein Fold Block dahinter liegt So kann man bei langen Scripten
40. aktualisiert werden In den Abfragen kann man die Repository Eintr ge z B folgenderma en verwenden insert into tmp_erg bezeichnung wert select Professoren sum value from xxx where SVA_Professor anstatt den Beschreibungstext fest anzugeben kann man auch die caption des Eintrags benutzen select S SVA_Professor caption sum value from xxx where SVA_Professor Wenn es nur einen Eintrag fiir eine ID gibt reicht die beschriebene Vorgehensweise Falls es aber fiir eine ID mehrere Eintr ge mit unterschiedlichen G ltigkeitszeitr umen gibt schreibt man z B select Sachmittel sum value from xxx where FIN_Sachmittel 1 1 lt lt Rechnungsjahr gt gt dann wird der erste gefundene FIN_Sachmittel Eintrag ausgegeben der zum angegebenen Datum g ltig ist Dabei kann bei Bedarf auch wieder auf einzelne Attribute zugegriffen werden also z B select S FIN_Sachmittel 1 1 lt lt Rechnungsjahr gt gt caption sum value from xxx where FIN_Sach mittel 1 1 lt lt Rechnungsjahr gt gt 2 2 7 Abfragen mit variabler Spaltenzahl Es ist nun mit FreeMarker auch m glich Abfragen mit einer variablen Anzahl von Ergebnisspalten zu erzeugen Dazu muss mit Freemarker an zwei Stellen Variabilit t eingebracht werden im SQL der Maske und in der XIL Proplist die die Definition der Ergebnisspalten enth lt Einfaches Beispiel Im FIN Modul gibt es zwei Quellsysteme MBS und KAHIKA Je nac
41. auf Abschicken 131 miles PulTY Es erscheint die Ergeb nisanzeige Dies sieht Gruppe Administratoren natiirlich noch nicht be SE sonders gut aus weil u textbasierte Browser a und Tabellen sich nicht a superkl2 Awinistretoren 0 0 Acwinistration supers Administratoren 0 0 Administration gut vertragen Via Sty nid Anzahl Benutzer S lesheet lassen sich aber ganz tibersichtlich Dar stellungen entwerfen Das Beispiel zeigt dass durch XML und XSL keine Grenzen bei der Gestaltung von Benutzeroberfl chen f r SuperX existieren Die obigen Stylesheets befin den sich als Muster im Verzeichnis SUPERX_DIR webserver tomcat webapps superx xml und haben jeweils den Zusatz html2 f r einfaches HTML Version 2 0 im Datein amen z B maske_html2 xsl Wein kleiner Tipp noch f r lynx Wenn Sie das produzierte html berpr fen wollen dann starten Sie lynx wie folgt lynx trace http localhost 8080 superX xml Eine Logdatei lynx trace wird in das aktuelle Verzeichnis geschrieben Benutzer Gruppe Admini steator Archiv Recht Sachgebiete Leertaste f r n te Pfeile Auf b andere Seite in Text Rechts Verweis folgen Links zuc ck Hilfe Optionen P Druck Gehe zu H Hauptseite 0 Beenden Suche lt History d 2 7 9 4 Eigene XSL Stylesheets f r Masken oder Tabellen erstellen Mit eigenen XSL Stylesheets kann man das
42. bei Ag gregierung m glich ist mit lt if AggregierungObject containsElements gt ab Kern4 5 oder ab kern4 5 S Aggregierung allNeededKeys wie bei 2 2 2 3 2 if Abfragen Mit Freemarker k nnen Sie z B if then Abfragen in normales SQL einbauen z B um je nach ge w nschter Aggregierungsstufe einen unterschiedlichen insert zu benutzen if then in normalem lt if lt lt Aggregierung gt gt stark gt SQL insert into select lt elseif lt lt Aggregierung gt gt mittel gt insert into select lt telse gt insert into select lt if gt Der klassische SuperX Tag lt lt Aggregierung gt gt wird vor der FreeMarker Transformation ersetzt sodass FreeMarker effektiv zwei Strings vergleicht if stark stark Alternativ k nnte den ausgew hlten Wert des Felds Aggregierung im Java Objekt direkt ansprechen lt if Aggregierung stark gt Hier braucht kein um Aggregierung da wir ja schon innerhalb einer FreeMarker Anweisung sind 36 2 2 2 3 3 Variablen assign Mit assign kann man eigene Variabeln definieren z B lt assign sortnr 0 gt lt assign sortnr sortnr 1 gt insert into values sortnr lt if lt lt Stichtagsbezogen gt gt NEIN gt lt assign quelltabelle sos_statistik gt lt else gt lt assign quelltabelle sos_statistik gt l
43. bleiben und in felderinfo default auch ein fester Wert stehen wie true Wenn es auf der Maske auch dynamische Felder gibt in deren SQL z B lt lt UserID gt gt steht ist es wich tig dass auch f r checkboxen in relation und default datenbanktypische Definitionen der ausw hlbaren Werte stehen z B lt lt SQL gt gt select true Ja from xdummy union select false Nein from xdummy 74 lt lt SQL gt gt select false Nein from xdummy 2 4 2 Felder auf der Maske verstecken Wenn Felder auf der Maske versteckt werden sollen gibt es zwei M glichkeiten Feldart 13 gt das Feld ist versteckt und wird intern nicht aufgebaut im Masken XML ist es aber ent halten Feldart beliebig Eintrag in Spalte attribut hidden Das Feld wird intern aufgebaut und kann auch im Masken SQL per FreeMarker benutzt werden es wird aber keine Auswahlm glichkeit auf der Maske angezeigt benutzt bisher f r Feld Kostenstelle das nicht angezeigt werden sollte im Masken SQL aber schon f r Rechtekontrollen benutzt wird Feldart 999 ab SuperX3 5rc2 Feld wird gar nicht erst aus Datenbank eingelesen also ob nicht exis tent Bei Benutzung der erweiterten kameralen Rechte SxFinRechte Auch wenn auf der Maske nicht alle kameralen Felder ben tigt werden z B Titel m ssen diese als versteckte Felder vor handen sein damit Querabh ngigkeiten in Maskenbuttons z B FB SxFinRechte lt lt Titel gt gt aufgel st werden k nnen
44. cob_busa where monat lt lt Monat gt gt and gege lt lt Geldgeber gt gt wenn kein Geldgeber ausgew hlt wurde select monat sum betrag from cob_busa where monat 1 wenn aber ein Geldgeber ausgew hlt wurde statt dessen z B select monat sum betrag from cob_busa where monat and gege 3 Achtung t 1 Der Ausdruck in lt lt XXX gt gt darf nur einmal in dem optionalen Block vorkommen Falls er zweimal ben tigt wird muss es auf zwei Bl cke aufgeteilt werden ER z B and dr in lt lt Deckungsring gt gt or dr2 in lt lt Deckungsring gt gt 2 2 2 FreeMarker Transformation 2 2 2 1 bersicht Nach der klassischen Transformation mit generateSql folgt ggfs die FreeMarker Transformation FreeMarker transformiert eine Vorlage template mit Hilfe eines Datenmodells mit Java Objekten zu einem Ausgabetext Template file lt html gt Hello name lt fhtml gt Output lt html gt Java objects Hello Fred lt Free Marker gt Sehr oft wird es zur Erzeugung von HTML benutzt wir produzieren statt dessen SQL Die Java Objekte im Datenmodell sind die Felder die auf der Maske zur Auswahl stehen lt fhtm I gt data name Fred Als einfachsten Anwendungsfall k nnten wir also f r eine Maske mit einem Monatsfeld statt des klassi schen SuperX Tags select monat sum betrag from tmp_busa where monat lt lt Monat gt gt auch di
45. den Ablauf db conf patch_generate xsl Hier wird der Patch erzeugt Es werden tempor re Scripte erzeugt welche das Patch Paket schn ren und Scripte welche in das Patch Paket eingef gt werden WEB INF patch ml patch_2011 xx xx xml In dieser Datei stehen die nderungen welche von den zu vor erw hnten Dateien verwendet werden um das Patch Paket zu erstellen WEB INF patch patch archive ist der Ordner in dem die fertigen Patches abgelegt werden 3 4 1 Anleitung zur Erstellung von Patches Die Patches werden aus der Datei patch 2011 xx xx erstellt Wobei xx xx f r Monat und Tag steht Die PatchID ist hierbei ein zentraler Punkt der die Zugeh rigkeit aller Dateien erkennen l sst und nat rlich auch den Zeitpunkt an dem der Patch erstellt wurde Die PatchID besteht aus Jahr Monat und T ag z B 2011 05 23 Der Name der PatchXML darf diesem Muster nicht abweichen und in der XML Datei muss diese ID genau so auch angegeben werden Der Aufbau der PatchXML hnelt sehr der Modul XML Dateien Wer sich also damit schon etwas be sch ftigt hat wird sich hier schnell zurecht finden Am einfachsten ist es ein vorhandene XML Datei zu nehmen und diese den eigenen W nschen anzu passen 164 Wenn die PatchXML Datei fertig ist muss nur noch die patch_scripts_create x gestartet werden und der Patch wird automatisch erstellt Ein Beispielaufruf f r einen Patch mit der ID 2011 05 23 wenn der PatchOrdner in home supe
46. eingeben und bei id die Nummer der Maske z B 16420 Dann auf Absenden klicken Im Textfeld erscheint dann der XML mit allen Infos zur Maske Das ist ein lt xupdate gt mit verschiedenen Unterknoten lt themenbaum gt macht Themenbaumeintrage lt sql gt lt sql gt f hrt einzelne SQL aus z B delete from maskeninfo where tid 16420 oder insert into felderinfo Fiir die Text Blob Felder gibt es Knoten lt text table maskeninfo field select_stmt where tid 16420 gt xxx lt text gt Bedeutet Es wird per JDBC ein Update aufgebaut f r die Tabelle maskeninfo mit dem Feld select_stmt mit der where Bedingung tid 16420 und der Inhalt des Knoten lautet dann xxx Dank JDBC geht das auch f r Informix 115 Schwierigkeit war wenn in dem Feld select_stmt oder xil_proplist selbst bei Freemarker sqlvars ein CDATA vorkam CDATA innerhalb von cpata geht per XML nicht Dies ist nun so gel st dass lt CDATA in nerhalb der Felder durch festen Text CDATASTART ersetzt wird und dann beim Einspielen CDATASTART wieder durch lt cDaTALL ob das so 100 klappt bitte beobachten Beispieltext lt xml version 1 0 encoding ISO 8859 1 gt lt xupdate gt lt fuer Maske 16420 gt lt themenbaum maskentid 16420 parentname Administration Studierende Priifungen gt lt macht beim Einspielen Themenbaumeintrag gt lt qgfs vorhandene Daten L schen lt sql gt delete from maskeninfo where tid 1642
47. field starts_with linkbuchoffsolle amp amp lt lt Einnahmen anzeigen gt gt nein gt lt assign result false gt lt if gt lt return result gt lt if customize exists gt lt foreach f in customize resulttable gt lt if isWanted f field gt Column CID 2 heading_text f caption center_heading explanation lt if f explanation exists gt f explanation lt if gt row_selectable col_selectable heading_platform readonly width f width 88 lt if gt lt foreach gt lt else gt 2 4 10 5 Dezimalstellen variieren Normalerweise werden Werte mit Dezimalstellen immer zweistellig wiedergegeben Im Ausnahmefall kann man dies ndern indem man eine Spalte mit dem Namensschema hidden Spaltenname dp hin ter die jeweilige Spalte setzt und der Inhalt der Spalte enth lt die Zahl der Nachkommastellen 0 6 m g lich Beispiel select plan_soll l integer as hiddenplan_solldp bewirkt dass die Spalte plan_soll einstellig dargestellt wird Achtung dies klappt nicht bei verschachtelten Spaltenlayouts 2 4 10 6 Standardabfragen mit hochschulspezifischen Details versehen Bei ganz Standardabfragen bei denen nur Kleinigkeiten hochschulspezifisch angepasst werden sollen Kann man einen Block einbauen z B lt if K_hs_nr 6850 gt HFT Stuttgart update tmp_erg set fest 0 where jahr year today Festlegungen nur be
48. gut den berblick behalten Man kann zu SQL Highlighting wechseln indem man ESC losl sst und dann x dr ckt und dann sql mode RETURN eingibt Zur ck zum web modes mit Freemarker Funktionen kommt man mit ESC x web mode Happy Coding 2 2 9 3sx_masken_sql_update x Wenn man das select_stmt einer Abfrage in einer eigenen Datei bearbeitet z B mit Jedit kann man es mit dem Skript sx_masken_sql_update x komfortabel in die Datenbank einspielen Die Syntax ist einfach sx_masken_sql_update x Maskennummer Pfad zur Datei sql sx_masken_sql_update x 11300 home superx entwicklung 11300 sql 68 2 3 Abfragenentwurf mit SuperX Sichten In SuperX k nnen bei Auswahldialogen verschiedene Sichten angeboten werden Alternative Hierarchien bzw Auswertungshierarchien aus COB werden automatisiert bernommen Jede Hierarchie bekommt einen Eintrag in der Sichtentabelle nager den Cache leeren und sich neu anmelden Achtung Die Inhalte und Rechte der Sichten werden gecached Nach einer nderung der Inhalte einer Sicht im laufenden Betrieb musst man im SuperXMa Die Sichten werden in der folgenden Tabelle definiert Spalte Datentyp Beschreibung Beispiel Beispiel 2 tid integer se eindeutiger Identifier der beim Einlesen und auch zur 0 100 rial Rechtevergabe benutzt wird Die tid 0 bis 9 sind f r interne Sichten reserviert parent integer Uum zuk nftig evtl Hierarchien von Sichten abzubil den system int
49. innerhalb eines Makros k nnen auch Stylesheets hinterlegt werden die ange wendet werden sollen aktion stylesheet 1 stylesheet 2 Nummer ist tid in sx_stylesheets 2 6 Dokumentation von Abfragen 2 6 1 Glossare Die Statistiken in SuperX ist nicht immer f r Au enstehende selbsterkl rend und insbesondere bei Kennzahlen und kondensierten Werten sollten die Konzepte mit einem Glossar versehen sein Die Frontends von SuperX bieten drei M glichkeiten der Dokumentation Dialogelemente auf den Masken k nnen mit einem Tool Tip versehen werden d h bei Mausbewe gung ber den Button wird eine Erl uterung angezeigt Ergebnistabellen k nnen mit einem Glossar versehen werden das die in der Tabelle benutzten Begriffe auf einer zweiten Seite erl utert Umfangreichere Hilfetexte sind ber die Kontextabh ngigen Hilfetexte zu einer Maske und Ergebnista belle verlinkt Dies ist im Administrationshandbuch dokumentiert F r die ersten beiden Dokumentationsarten wird in SuperX die Tabelle sx_captions gepflegt die Fel derl uterungen und allgemeine Schl sselw rter dokumentieren Die Dokumentation ist sogar mehrspra chig m glich Referenzen auf die sx_captions werden ber die ID gemacht Dabei gilt Beim Platzhalter meine_ide wird das Feld Beschriftung kurz angezeigt Beim Platzhalter ee meine_ideee wird das Feld Beschriftung lang angezeigt HTML Codierung ist m glich 2 6 1 1 Allgemeine Schl sselw rter Allge
50. installieren http web mode org Download der Datei https raw github com fxbois web mode master web mode el speichern in emacs de 3 Bearbeiten der Datei emacs bzw diese hier benutzen SITIETITITTITITTITITTITITITITITITI TI TI TITIETETITITEIETTI TI TI TIETITITETETITITITITITEITEH File name emacs If you need your own personal emacs 65 i7 please make a copy of this file j an placein your changes and or extension Copyright c 1997 2002 SuSE Gmbh Nuernberg Germany Author Werner Fink lt feedback suse de gt 1997 98 99 2002 TSIETIETITIETETETTT FT TI ASSA EES ESA EES ESA EES ZER IT TI TIT TI TI TTNTT rt Test of Emacs derivates E if string match XEmacs Lucid emacs version 777 XEmacs rrrrrrrerrrvcvyvrvrrrvrrrecrrvvrrrvrrrrrcvyvrrvrrvrrrvrrrvtrrrrvvvrrvrrvrrrvvrvrrvvrrvrrvy vrvrrvrrrr E 4 progn if file readable p xemacs init el load xemacs init el nil t VTTIeTTeTTeTTeTTeTTeTTeTTeTTeTTeTTeTTeTTeTTeTTeTTTTeTTeTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 777 GNU Emacs load gnu emacs or if not exists etc skel gnu emacs For a description and the settings see etc skel gnu emacs rip for your private gnu emacs your are on your one ZE EZ EE EE PEE EE EE PE REET IZ ELLE TEE LT Z LT FF EFT HF ETELE TEE TZ EE EZE ZZ FEEF EFT FEN if file readable p gnu emacs load gnu emacs nil t if file readabl
51. ist hier auch wenn eine Stufe nicht richtig verarbeitet wird bricht das Script komplett ab Zu den einzelnen Stufen Unload Hier werden die Daten aus dem Vorsystem entladen Load Hier werden die Daten in das Datawarehouse geladen Trans Hier wird die Transformation durchgef hrt D h es wird eine Schl sselharmonisierung durchge f hrt Aggregation Hier werden die Hilfstabellen gef llt System Hier wird das Datum aktualisiert welches die Aktualit t angibt Test Hier findet die Pr froutine statt 163 3 3 2 olap system Hier werden die Dimensionen und Faktentabellen f r ICE definiert Beispiel Dimension lt dimension blueprint system_key bluep_stg name Studienfach intern keyandparentcoltype varchar datatype nominal gt Beispiel Faktentabelle lt fact table name sos_stg_cube gt lt calc function gt sum lt calc function gt lt fact table gt 3 4 Patches In SuperX gibt es Scripte um Patches zu erstellen welche ber weitere Scripte an der Hochschule auto matisch eingespielt werden k nnen Dies erm glicht es kleinere nderungen in ein SuperX System zu bernehmen ohne gleich ein Modulupgrade durchzuf hren Au erdem kann ein Patch auch nderungen f r mehrere Module beinhalten Zugeh rige Dateien db bin patch_scripts_create x Dieses Script startet die Pachtgenerierung mit ANT db conf patch_scripts_create_ant xml Wird von ANT aufgerufen Dieses Script verwaltet
52. lt xsl otherwise gt lt Hier der Code f r alle anderen gt lt xsl otherwise gt lt xsl choose gt Falls Anderungen im Themenbaum stattfinden soll dann muss folgender Code in die test Bedingung menue mandantenid FHHN Falls z B der Link zum Applet oder Passwort ndern raus soll 134 2 7 9 6 Besonderes XML zu ALLEN Masken hinzuf gen F r Management Modul gibt es ganz besondere Erweiterung Anwendungsfall ein Navigationsmen soll in allen Masken bereitgestellt werden es soll aber auch m glich sein ganz normale SuperX Masken einzubinden also Aufruf z B http localhost 8080 superx servlet SuperXmlTabelle tid xxy amp param 1 amp stylesheet tabelle_html_man xsl Legen Sie dazu in Repository ein Feld ID CUSTOMXMLADD an Da kann fester XML Drin stehen der wird zu allen Tabellen xmls hinzugef gt zB lt navigation gt lt iteml gt lt item2 gt lt navigation gt der wird dann im Tabellen XML unter ergebnisse ergebniselement hinzuf gt und kann ausgewertet werden z B lt div id Navigation gt lt xsl for each select ergebnisse ergebnis ergebniselement navigati on item gt lt p class ebene0 gt lt a class ebenel target _self gt lt xsl attribute name href gt lt xsl value of select concat HtmlUtils en codeURL SuperXmlTabelle ergebnisse jsessionid tid href gt lt xsl attribute gt lt CDATA gt lt
53. noch Feld kopieren folgende Abfragen Feld l schen Dar ber hinaus gibt es nur unter Post Maske suchen gres die Masken zur Pflege von Mas Feld suchen ken bzw Feldern Maske kopieren Wie im UNIX Script wir eine Maske in eine neue Maske kopiert und alle zugeh rigen Tabellen werden aktualisiert Zus tzlich wird auch der Eintrag im Themenbaum gemacht Bei der Nummer der Maske tid sollten Sie das Nummernschema von SuperX einhalten um in Zukunft Abfragen Pooling zu erm glichen Maske l schen Wie im UNIX Script werden Masken aus allen dazugeh rigen Tabellen entfernt Zus tzlich wird auch der Eintrag im Themenbaum gel scht Zur Sicherheit muss die Nummer der Maske manuell eingegeben werden Maske suchen Sie k nnen Masken suchen und im XML Frontend komfortabel editieren Schr nken Sie Ihre Auswahl auf ein Sachgebiet ein und dr cken Sie Abschicken Sie erhalten eine Liste mit Treffern und rechts befinden sich jeweils Buttons zum ansehen bzw editieren einer Maske Die Maske l uft nur unter Postgres weil Informix kein direktes Bearbeiten von Blob Feldern mit sql unterst tzt Feld suchen Sie k nnen analog zu Maske suchen auch Felder suchen und bearbeiten Die Abfragen sind selbsterkl rend das Erzeugen neuer Masken L schen vorhandener Masken und Ko Dieren vorhandener Masken ist nur f r Userkennungen m glich die in der Tabelle userinfo im Feld ad ministration den Wert 1 haben Nat rlich sollten die Abfra
54. nur im XML Frontend erscheint da nur das XML Frontend Makros unterst tzt Welche Einzelabfragen ein Makro ausf hren soll wird in macro_masken_bez eingetragen maskeninfo_idl maskeninfo tid des makros maskeninfo_id2 maskeninfo tid der Einzelabfrage active 0 1 deaktivieren m glich sortnr zur Reihenfolgebestimmung der Durchf hrung also z B maskeninfo_idl maskeninfo_id2 12000 12000 10050 Das Makro 12000 f hrt die Einzelabfragen 10000 und 10050 aus Das select_stmt eines Makros in der maskeninfo wird nicht benutzt wichtig sind hingegen die Fel der z B Lehreinheit und Semester Diese Felder werden zur Auswahl angeboten wenn das Makro im XML Frontend angeklickt wird Klickt man auf Abschicken werden die einzelnen Unterabfragen durchgef hrt wobei das ausgew hlte Se mester und die ausgew hlte Lehreinheit auch automatisch in jeder Unterabfrage ausgew hlt werden Die Feldnamen m ssen aber gleich sein hei t das Feld in der Makromaske Lehreinheit in der Einzelabfrage aber Org Einheit kann keine automatische Zuordnung erfolgen Die Felder m ssen gleich hei en oder man muss auf der Makromaske das Feld Org Einheit zus tztlich aufnehmen 2 5 1 Makros und Sichten Wenn in den Submasken eines Makros verschiedene Sichten benutzt werden m ssen auf der Haupt maske alle in den Untermasken ben tigten Sichten ausw hlbar sein Sonst gelten ggfs vorgenommene Stand nderungen nur f r die Sichten de
55. sos conf hisl edustore_install edustore_sos_masken_entladen xml SSOS_PFAD QISSERVER_PFAD superx WEB INF conf edustore db module sos In Eclipse im Dialog Run brauchen Sie die Umgebungsvariablen nicht es reicht die Klasse sowie die Parameter anzugeben Hier zwei Screenshots fiir Linux und das TT Modul unter Postgres amp Run oes Create manage and run configurations Run a Java application Q Be a UC E Xx B ax Name ExecuteDBinterface Maske TT entladen je filter te 5 gt KH S 2 P m Main 69 Arguments BA JRE amp Classpath Ey Source PS Environment Common D Apache Tomcat Project EN Eclipse Application webapps Browse amp Eclipse Data Tools D Generic Server Main class D Generic Server External Launch 3 HTTP Preview de his edustore bin ExecuteDBinterface Search D J2EE Preview Include system libraries when searching for a main class 5 Java Applet v F Java Application f Include inherited mains when searching for a main class O cob_busa_unload Stop in main 5 DatabaseAdapterUnload Fj Datalmporter O ExecuteDBinterface executeFile O ExecuteDBinterface executeFile_fm ExecuteDBinterface exportFilewithSQL O ExecuteDBinterface joolap_upload O ExecuteDBinterface Maske einspielen O ExecuteDBinterface Maske SOS entladen za ExecuteDBinterface Maske TT entladen ExecuteDBinterface sqiquery ExecuteDBinterface test Transaction 7 Exec
56. tigt Per multipart form data wird bertragen Beispiel 18020 Diese Felder werden ben tigt Tabelle Zieltabelle Trennzeichen Kodierung Feldnamen in 1 Zeile 0 1 nein ja zip komprimiert 0 1 nein ja Modus 1 hinzuf gen 0 alles l schen und hinzuf gen Beispiel f r select_stmt freemarker templat lt if testupload 1 gt insert into tmp_errors bezeichnung 77 select distinct falsche Hochschulnummer hs_nr from tmp_ Tabelle where hs_nr lt lt Hochschule gt gt lse gt A Qa A A lse gt hinzufuegen do nothing lt if gt insert into Tabelle lt if colnames gt S colnames select lt if colnames gt S S colnames from tmp_ Tabelle insert into data_upload tablename filename datatype datadelimiter withheader lt lt Feldnamen zipped dataencoding ch110_institut submission_userid submission_email submission_date submission_mode select lt lt Tabelle gt gt lt lt Dateityp gt gt lt lt Trennzeichen gt gt lt lt Feldnamen 1 Zeile gt gt lt lt zip komprimiert gt gt lt lt Kodierung gt gt lt lt Hochschule gt gt lt lt UserID gt gt lt lt Email fuer Protokoll gt gt now lt lt Modus gt gt from xdummy if Modus 0 gt alles loeschen und einfuegen elete from Tabelle where hs_nr lt lt Hochschule gt gt lt if gt
57. xsl value of select caption gt lt CDATA gt lt a gt lt p gt lt xsl for each gt Richtig cool wird es aber noch wenn der hinzuzuf gende XML dynamisch mit Freemarker generiert wird z B lt xupdate gt lt text table sx_repository field content where id CUSTOMXMLADD gt 135 lt CDATA lt include MAN_MAKROS gt lt sqlvars gt lt sqlvar name entries type hash gt select R catalogue_id K shortname sqichunk calcratio decimalpla ces linksub linktimeline from man_catalogue K man_catalogue_rpt R where ogue_id and R active 1 order by R sortnr R sortnr2 lt sqlvar gt lt if Semester exists gt lt assign Semester gt lt if gt lt if Bezugs sts gt lt assign Bezugssemester gt lt if gt lt if Jahr exists gt lt as gt lt if gt lt if faecherkeys exists gt lt assign faecherkeys gt lt if gt K id R catal lt sqlvars gt semester exi sign Jahr lt if F cher stelle exist vars Datum lt if vars gungsstelle exists gt lt assign F cher s s gt lt assign Kostenstelle s ctedKey gt lt if gt lt if Kosten ctedKey gt lt if gt lt if Personal exists gt lt assign Datum Personal gt lt if gt Besch ftigungsstelle Person exists gt lt assign Besch fti Person gt lt if gt lt navigation gt lt item gt lt href gt CDATASTART888880190 a
58. 0 lt sql gt lt sql gt lt CDATA insert into maskeninfo tid name chart_xtitel chart_ytitel values 16420 Fachsemester Anzahl gt lt sql gt lt sql gt lt CDATA update maskeninfo set name Studiengangsverzeichnis lt lehr_stg_ab where tid 16420 gt lt sql gt sql gt insert into maske_system_bez maskeninfo_id systeminfo_id values 16420 7 lt sql gt lt text table maskeninfo field select_stmt where tid 16420 gt lt CDATA Freemarker Templat lt include SQL _lingua_franca gt lt include SuperX_general gt lt text gt Um eine Maske einzuspielen kann man den xupdate Text nehmen bei Windows auf Codierung achten Nach Aufruf von http lt lt ServerIP gt gt lt lt Port gt gt superx servlet SuperXManager xupdater true den xupdate Text in das gro e Textfeld enter here kopieren und absenden zum Einspielen darf nichts in Spezialparam oder id stehen Wie man an den Knoten sieht kann man das nicht nur f r Maskeneinspielen nutzen sondern f r belie bigen SQL Beispiel lt xupdate gt lt sql gt update felderinfo set buttonbreite 120 where name Kostenstelle lt sql gt 116 lt text table sx_captions field contents_long where id fin_dritt gt Erl uterung zu Drittmitteln lt text gt lt xupdate gt Hier gibt es viele M glichkeiten aber es ist auch Vorsicht geboten wenn bei lt text table s
59. 0 interpret gt lt inlineTemplate gt lt if gt 2 2 9 Tooleinsatz 2 2 9 1 Jedit Wenn intensiv mit FreeMarker gearbeitet wird ist es angenehm mit Jedit zu arbeiten Dazu speichert man das select_stmt der betreffenden Abfrage in einer Datei z B 11300 sql Wenn man diese mit Jedit ffnet hat man schon mal SQL Syntax Highlighting man kann aber bei Be darf auch Freemarker Syntax Highlighting einschalten Men Utilities Buffer Options Edit Mode gt Freemarker Sehr angenehm ist auch die Folding Funktion s u Um ein ge ndertes Skript komfortabel einzuspielen kann man das Skript sx_masken_sql_update x benut zen 64 2 2 9 1 1 FreeMarker Syntax Highlighting Men Utilities Buffer Options Edit Mode gt Freemarker 2 2 9 1 2 Folding Mit dem Jedit PluginManager das Plugin ConfigurableFoldHandler installieren klappte mit Jedit 4 2 bei 4 3 teilweise Probleme Einzelne Abschnitt mit start und end Kommentaren versehen z B start Schleife lt foreach lt foreach gt end Schleife Men Plugins ConfigurableFoldHandler Use default ausschalten statt dessen start und end als Fold String eingeben Men Utilities Buffer Options Folding Mode custom und dann Men Folding Collapse All Folds 2 2 9 2 emacs for freemarker Emacs erm glicht f r lange Freemarker Scripte Folding und auch Indentation Einr cken Man geht so vor 1 Emacs per yast installieren 2 web mode
60. 1 02 08 HISinone_PRE_2011 04 11 TL HiSinOne_VERSION_01 TL HiSinOne_VERSION_02 TL HISinone_VERSION_02_APP HISinone_VERSION_02_RELEAS dssvvvvvwvwvvvvvvvvv Kontostand_Passau LSF2_3 branch LSF_Version_7 LSF_Version_7_FINAL b b b b impon SIE e XM v Sa pub14 JD QISXMLUtil java ER d 17 TransformFile java P odt2htmi java 3 ExportFileHandlerja B Copyright c 2003 2007 HIS GmbH All Rights Reserved package de his tools w Check Out As Check Out As Select the method of check out Choose how to check out folder webapps D Check out as a project configured using the New Project Wizard _ Check out as a project in the workspace amp ProjectName webapps Check out into an existing project E Checkout subfolders Add project to a working set 2 Browse lt Back Next gt Cancel KOPTETT EreMmencttrerurst MTC unteretemertten wober MUDULES um Surenninetat wiee Checken Sie das jew Projekt als neues Projekt mit dem Project Wizard aus Die Art des Projektes ist ein Java Projekt Select a wizard Create a Java project D gt amp General gt amp Crystal Reports b cvs gt amp Eclipse Modeling Framework gt CG EJB PD CG J2EE ect from Existing Ant Buildfile Tomcat Projekt D gt amp JPA Dann geben Sie den Speicherort an Create a Java pro
61. 2 3 Schritt 3 ist die Summe aus 1 3 In Abfragen wird lt printkeys Verteilschritt keysToRoot gt benutzt Ab Kernmodul 3 0rc3 49 2 2 3 3 4 elements f r Schleife ber ausgew hlte Knoten Diese Methode liefert eine Collection entweder ber alle Knoten im Sichtbaum oder nur ber einen ausgew hlten Knoten und deren Kinder Beispiel lt foreach eineKostenart in Kostenarten elements gt Auswertung f r eineKostenart lt foreach gt elements liefert die Knoten genau in der Reihenfolge in der sie auch im Baum sind Alternativ kann man breadthFirstElements oder depthFirstElements angeben Dann wird beim Baum zun chst in die Breite Tiefe gegangen Wichtig F r eine foreach Schleife werden auch bei Kostenstellen Feldern bei eingeschr nkten Usern immer alle Knoten ausgegeben z B nur Rechte auf 11 und 13 root Hochschule Auswahl fak Fakult ten Auswahl 1 fak1 Auswahl 11 Institut 1 13 Institut 3 Es werden alle Knoten durchlaufen weil Teil summenzeilen interessant sein k nnen Anders ist es bei Berechnung Methode subkeys da werden nur die tats chlich erlaubten Schl ssel ausge geben 2 2 3 3 5 Zugriff auf einzelne Knoten im Baum Im Rahmen einer forEach Schleife bekommt man Zugriff auf einzelne Elemente eines Sichtenbaums F r die einzelnen Knoten kann FreeMarker wiederum mittels Java Reflection auf bestimmte Methoden zugreifen id name Zugriff auf den Schl ssel und de
62. 25 54 27 00 11 903 00 1 015 00 225 00 116 00 78 00 42 00 112 00 4 00 2 00 intern Fach inter Biologie 139 00 24 62 1 00 86 00 39 00 8 00 3 0 2 00 0 00 0 00 0 00 0 00 Studiengang Biologie Bachelor DM Pr f Ordn 49 00 23 22 1 00 36 00 9 00 2 00 0 00 1 00 0 00 0 00 0 00 0 00 20052 Studiengang Biologie LA an 1 00 26 00 0 00 0 00 1 00 0 00 0 001 0 00 0 00 0 00 0 00 0 00 Realschulen Hauptf Studiengang Biologie LA an Realschulen Hauptt 51 00 25 90 0 00 25 00 18 00 6 00 1 00 1 00 0 00 0 00 0 00 0 00 Pruf Ordn 0 Studiengang Biologie LA an Realschulen Haupt 10 00 25 00 0 00 6 00 3 00 0 00 1 00 0 00 0 00 0 00 0 00 0 00 Pr f Ordn 3 127 und hier der XML Code g Datei Bearbeiten Ansicht Chronik Lesezeichen Extras Hilfe A nttp 7mercury 8080 supers servietide superx servet Entwic gt lv L Supencentwickiung L https mereury param maskxmi http mercur aram tablexm E Mit dieser XML Datei sind anscheinend keine Style Informationen verkn pft Nachfolgend wird die Baum Ansicht des Dokuments angezeigt lt ergebnisse MandantenID default jsessionid 4CE721 ABAF75BC1E49CC7672726EE9D5 datum 17 zeit 10 34 59 isMakro false gt lt user id 4 admin true gt superx lt user gt lt userlD admin true gt 4 lt userlD gt lt ergebnis ordnr 0 gt lt maskenname id 16340 gt A
63. 4 16 84 1797 13 08 5338 13055 12 606 3 44 216 1 65 5030 38 53 13903 11 760 15 41 1583 11 39 5353 38 50 13466 12 981 3 60 161 1 20 5089 37 79 12982 10 990 15 34 1469 11 32 4835 37 24 d Ex e a j U E a SuperX 2 2 0 73 jEdit dbform Konsole 5 a a d PNG Natei R5 S cal Warkhen Kwrite 3 a 2 1 2 Konventionen F r die Erstellung von SQL Abfragen gibt es ein paar wichtige Konventionen wenn Sie Abfragen schreiben sollten Sie tempor re Tabellen immer mit tmp_ vorab benennen Grund es k nnte mal sein dass wir die Tabelle auch als statische Tabelle nutzen Dann gibt es einen SQL Fehler vermeiden Sie bei tempor ren Tabellen Umlaute in Spaltennamen z B Fakult t Das klappt zwar unter Informix aber nicht unter Postgres Nutzen Sie wenn m glich die ANSI SQL Standards Postgres ist hier standardkonformer als Infor mix Hinweise zu Unterschieden zwischen Postgres und Informix finden Sie hier http www super ics de superx postgres f_StandardSQL Untersttz htm 2 1 3 Fazit So viel zu unserem Einstieg in die Abfragengestaltung Wir sehen dass mit den Bordmitteln der Daten bank Stored Procedures und dem dynamischen SQL fast beliebige Statistiken generierbar sind Die hohe Flexibilit t erkaufen wir uns mit einer recht hohen H rde beim Einstieg au erdem ist die Arbeit nicht ge rade visuell N tzliche Hilfsmittel sind SQL Generatoren wie z B die SQLWorkbench von Thomas Kelle
64. 4 4 Baumdarstellung Um im XML Frontend eine Baumstruktur Treetable zu erhalten die auf und zugeklappt werden kann muss nur in dem letzten select als erstes Feld die Spalte ebene angegeben werden Dieses Feld soll Zah len enthalten welche die Ebene angeben 1 erste Ebene 2 zweite Ebene Dabei ist darauf zu ach ten dass es keine Spr nge zur bern chsten h heren Ebene gibt z B nicht von Ebene 2 auf Ebene 4 ge sprungen wird Andersherum ist dies kein Problem also z B von Ebene 4 auf Ebene 2 Wenn es nun zu erst eine Spalte mit Ebene 1 gibt und darauf mehrere mit der Ebene 2 sind diese alle unter der Spalte der Ebene 1 Die Reihenfolge der Auflistung entscheidet dabei den bergeordneten Knoten und nicht nur die Ebene Ein Beispiel Ebene Kostenart 2 1 Personal ISTkosten 3 K 11 Beziige Vergiitungen Lohne a 112 Angestelltenverg tungen 4 113 L hne der Arbeiter 12 Besch ftigungsentgelte 121 Verg tungen f r Lehrkr fte 1211 Verg tungen f r Lehrauftr ge 1212 Verg f Kolloquien Vortr ge 122 Verg f Hilfskr fte und Tutoren 125 Stipendien 126 Verg f sonst Besch ftigte 3 13 Personalnebenkosten 2 2 Objektkosten 2 3 Kosten Fahrzeuge Masch Ger te SIE Zum Nachladen von Ergebniszeilen wird das Stylesheet tabelle_html_rows xsl benutzt Wenn man ein spezielles Stylesheet hat das auch die nachgeladenen Zeilen besonders darstellt kann man eine eigene Variante v
65. Aussehen von Masken oder Ergebnistabellen sehr individu ell anpassen Klassisch war das Vorgehen dass man eine Kopie von maske_html pdf xIs xsl bzw tabelle_html pdf xIs xsl machte und darin nderungen vornahm Da inzwischen immer wieder Erweiterungen an den Standardstylesheets vorgenommen werden ist es nur bl d dass diese Erweiterungen dann nicht in die kopierten Spezialstylesheets kommen Daher sind die Stylesheets inzwischen etwas objektorientierter und kleine nderungen kann auch per page_compontents_final xsl machen Beispiel aus der Praxis bei 2 3 Masken sollte unter dem Maskennamen noch ein Link zu PDF Dateien erscheinen In der Standard maske_html xsl ist nach dem Titel eine template Aufruf definiert lt p class maskentitel gt lt xsl value of select maske name gt lt p gt lt xsl call template name pccustomize gt lt xsl with param name position se lect mask_post_title gt lt xsl with param gt lt xsl call template gt Das template ist leer in Page Compnents xsl definiert Man kann es in pageCompontents_final xsl defi nieren dann wird es berschrieben 132 lt xsl template name pccustomize gt lt xsl param name position gt lt xsl if test Sposition mask_post_title gt lt hier kommt der individuelle Inhalt rein gt lt xsl if gt lt xsl template gt Die Links werden nur bei den entsprechenden Masken eingebaut Au erdem wird standardm ig l
66. Bei sehr vielen versteckten Feldern rutscht der Abschicken Button nach unten da auch versteckte Fel der noch f r die absolute Positionierung ber cksichtigt werden Trick versteckte Felder in felderinfo auf y 1 setzen dann kommen sie nicht in Reihenz hlung 2 4 3 Inhalte benutzerspezifisch ausblenden Es gibt in SuperX Sichten bereits die M glichkeit Inhalte f r spezielle Gruppen bzw User ein oder auszublenden Au erdem kann man einzelne User f r einzelne Masken berechtigen oder nicht Dar ber hinaus kann es aber auch die Anforderung geben einzelne Felder userspezifisch anzuzeigen oder nicht oder Inhalte in Ergebnistabellen userspezifisch ein oder auszublenden Dies wird im folgenden erl utert Hier eine Anleitung am Beispiel des TT Modul wie man in einigen Masken user spezifische Masken rechte abbildet Es soll also gesteuert werden da gewisse Gruppen bestimmte Felder auf der Maske nicht sehen k nnen und in der Ergebnistabelle auch nicht angezeigt bekommen Das geht nur mit ein paar Tricks 2 4 3 1 Felder Siehe Kernmodul Handbuch Felder f r Benutzergruppen verstecken 2 4 3 2 Tabellen Dann legt man ein spezielles XSL Stylesheet f r die Maske an das in der Schleife ber alle Felder mit XSLT abfragt ob der Wert 1 ist nur dann wird das Feld angezeigt 75 Im select_stmt muss man mit dem gleichen Select wie oben im Defaultwert abfragen ob die Spalte in der Ergebnistabelle gef llt werden soll 2
67. Bildungspl iinstr Design Bakkalaureus Artium H 1 Studiengang Bildungspl iinstr Design Bakkalaureus Artium H 5 Fach intern Biologie 62 Studiengang Biologie Diplom Pr f Ordn 2000 10 Studiengang Biologie Diplom Prif Ordn 2002 23 gt _ E Ej 234 S tze gefunden E Erl uterung zu Studierende und Studienanf Sele Erl uterung zur Abfrage Studierende und Studienanf nger nach Geschlecht Gesamtzahl r ckgemeldeter Studierender in einem Semester Nach Studiengang Geschlecht 1 F3 1 H3 Spalte 2 Stg Spalte 5 Die Anzahl der Studierenden im ersten Fachsemester Spalte 6 wie vorherige Spalte in amp Drucken Der Erl uterungstext von Spalte 5 ist ein Sonderfall hier wurde oben in der Maske mit einem Platzhal ter namens 1Fachsemester gearbeitet Der Inhalt f r den Platzhalter wird in der Beschrif tungstabelle gepflegt Dazu m ssen wir in das Men Administration gt Beschriftung suchen gehen Wir w hlen z B das Stichwort Fachsem aus und schicken das Formular ab Es erscheinen als Ergeb nis mehrer Zeilen die erste Zeile enth lt unse ren Platzhalter im Feld id Wir bearbeiten diesen Eintrag 104 Beschriftungen suchen Bitte schranken sie Ihre Auswahl ein Le Stichwort kurz Fachsem Stichwort lang Sprache Deutsch Tabelle v Feldname Eo j Maske Abschicken JEME Export Druckversion XML
68. Code lt if lt lt nur aktuelle Stg gt gt gt select Beispiel nur aktuelle Stg nicht angekreuzt from xdummy lt if gt Wenn das Feld nicht angekreuzt ist macht der SuperX Parser daraus zun chst lt if gt und Freemarker w rde diese if Bedingung mit wahr beantworten und den SQL select Beispiel nur aktuelle Stg nicht angekreuzt from xdummy ausf hren Wenn das Feld angekreuzt wird macht der SuperX Parser daraus zun chst lt if LT a gl k ea und Freemarker w rde diese if Bedingung mit falsch beantworten und den SQL select Beispiel nur aktuelle Stg nicht angekreuzt from xdummy nicht ausf hren 35 2 2 2 3 Programmieren mit FreeMarker FreeMarker unterst tzt praktisch alle Konzepte klassischer Programmiersprachen Die Tags sind HTML hnlich 2 2 2 3 1 Zugriff auf Java Objekte im Datenmodell Generell geht der Zugriff auf Java Objekte im Datenmodell mit der Notation S varname z B ausgew hlte Aggegrierung Aggregierung innerhalb von FreeMarker Befehlen muss weggelassen werden lt if Aggregierung stark gt lt printkeys Kostenarten allNeededKeys gt Bei Sichten ist unter dem Kostenstellen das Field Objekt mit verschiede nen Methoden enthalten Bei Feldart 1 ist unter Aggregierung die ausgew hlten Werte wenn man auf das Field Objekt Zugriff haben m chte kann man dies mit S AggregierungObject tun Man kann z B abfragen ob eine Auswahl
69. DK_HOME setzen o Denn Achtung Unterschiede zum Compiler ohne Eclipse Prim rinfo Datenblatt aufrufen und dann Bericht als Kreuztabelle kommt net sf jasperreports engine JRException org xml sax SAXParseException cvc complex type 2 4 d Invalid content was found starting with element text Field No child element is expected at this point at net sf Jjasperre ports engine xml JRXmlLoader loadXML JRXmlLoader java 247 at net sf jasper reports engine xml JRXmlLoader 1loadXML JRXmlLoader java 230 at Das Problem existiert nicht bei Tomcat ohne Eclipse CVS In Eclipse k nnen Sie das CVS Plugin nutzen um Java Quellen zu verwalten und zu kompilieren Gehen Sie dazu in die CVS Repository Perspective und suchen zun chst den jew Branch bzw den HEAD Hier das Beispiel f r einen Branch Swe File Edit Source Refactor Navigate Search Project Tomcat CVS Run Window Help S Repository Exploring webappsiqisserver WVEB INF javaide hisfo MLUtil java Eclipse Platform jo m alna a AlHOvar lo vy g 4el o B ER lv ov ov 8 CVS Annotate CVS Repositories 8 _ A P asxmu tes lelpslerrs gt O pserer danielg localhost srvievs igisprojects packa v 7 pserer danielg memtext de localhost srvievsigisprojects gt AHEAD impor D lS Versions XM BD Dates v a publi pP P P Pp Q Task Repositories EX a vra i EI History amp
70. Die Einschr nkungen durch die Maskenfelder K p fe oder F lle Seit Semester und H rerstatus sieht in SQL wie folgt aus F r K pfe oder F lle etc finden wir hier nur Platzhalter Alle rele vanten S tze werden in die tempor re Tabelle tmp_sos_stat_lehr selektiert Syntax von Informix bei Postgres sieht das etwas anders aus D Super Mozilla six _ Datei Bearbeiten Ansicht Gehe Lesezeichen Tools Fenster Hilfe 6 e http miles 8080 superx xml index htm Suchen Se Mf 4 Startseite Lesezeichen The Mozilla O S SuSE The emp Maskeninfo verwalten In diesem Formular k nnen Sie Masken verwalten Supeix Sart tid 10 170 Snr ohn Dom name Studierende Zeitreihe select_stmt Eeject rom sos_stat_lehr S where lt lt KOpfe oder F lle gt gt and lt lt H rerstatus gt gt and S sem_rueck_beur_ein gt lt lt Seit Semester gt gt exmatikulierte Studenten zaehlen fuer das laufende Semester and not S kz_rueck_beur_ein select apnr from konstanten where tid 5 and S lehr in select ch110_institut from tmp_ch110_institut and fach_sem_zahl lt lt lt bis Fachsemester gt gt 31 into temp tmp_sos_stat_lehr with no log xil_proplist iL List sizable_columns horizontal_scrolling De OF DS Feria E32 Wenn das Script abl uft werden die Platzhalter ersetzt In der Java Konsole sieht das so aus Statt lt lt K pfe oder
71. Hilfe 1 amp 9 amp Be E f unsere Maske sowie ZWeEl Bearbeitungsbut 4 Startseite Lesezeichen The Mozilla O S gt SuSE The Li A Benutzer von Suter tons Wir wahlen den berech Be Export Druckversion Dn rent PTT Nutzungspretokolle intern DH Passwort ndern ersten Button Bearbei ee Maske suchen User l schen ten ene Maske 10170 Studierende Zeitreihe Stand 01 01 2003 Ges bien Maske Nr Name Bearbeiten Stylesheets Tiene 10 170 Studierende Zeitreine DN N Maske erzeugen Pam Kakteen Datensatz 1 1 von insgesamt 1 Satz Maske l schen Maske suchen Stylesheet suchen Studierende Pr fungen Superx Projekt http www superx projekt de 24 01 2005 Pr fungen Absolventen Zeitreihe ber 6Jahre Absolventen nach Fachsemestern Absolventen nach Fachsemestern mit Absolventen nach Fachsemestern nur Fach Absolventenstatistik ef A Wir gelangen in das Be E Datei Bearbeiten Ansicht Gehe Lesezeichen Tools Eenster Hilfe arbeitungsfor mular der d Q Q F hpimieswosorsuperxemlindexhm suchen Se it Lesezeichen The Mozilla O S SuSE The Li Maske Neben der Num Ze Institut Maskeninfo verwalten In diesem Formular k nnen Sie Masken verwalten mer der Maske sehen dzee wir den Namen und die SS namelistudierende Zeitreihe select_stmt Studierend
72. IER tid 12 719 000 Name der Maske Testbericht nach Kostenstelle Projekt Select Statement Freemarker Template lt include SQL_lingua_franca gt lt include SuperX_general gt create temp table tmp_erg gt gt ch110_institut varchar 24 Kostenstelle kostentraeger varchar 50 Projekt Sie k nnen den Inhalt in einem Texteditor wie Jedit bearbeiten was Vorteile wie Syntax Highlighting bietet achten Sie aber darauf dass die Kodierung mit Ihrem SuperX System bereinstimmt sonst k nnen die Umlaute kaputt gehen 148 Der Abschnitt im Select_statement f r die Kostenstellen Rechteverwaltung lautet Start Rechtekontrolle auf Kostenstelle and ch11l0_ institut in lt printkeys Kostenstelle allNeededkeysList gt Ende Rechtekontrolle auf Kostenstelle ch110_institut ist das Feld f r die Kostenstelle Das Makro printkeys Kostenstelle allNeededKeysList listet alle berechtigten und gew nschten Kostenstellen auf Hat ein User z B nur Rechte auf Kostenstellen A und B wird daraus and chl10_institut in A B W hle er vorher im Baum aus dass er nur Daten f r die Kostenstelle A m chte ergibt das Makro and chll0_institut in A Bei einem Admin oder einem User der alle Kostenstellenrechte hat und keine Einschr nkung auf dem Maskenfeld Kostenstelle macht wird daraus ein langer SQL z B and chl1l0_institut in root A Bp G re Ja Buchungen bei denen keine exp
73. Jahr will kann sie custom xxx repository Objekt anlegen mit lt assign FestlegungenNurAktuelles Jahr true gt und bekokmmt nur die aktuellen you re welcome 2 4 10 7 Anzeigen von Balkendiagrammen in der Tabelle Es gibt die M glichkeit in der Ergebnistabelle vertikale Balken anzeigen zu lassen Dies kann z B daf r genutzt werden um ein Balkendiagramm darzustellen Die bergebene Zahl sollte vom Typ her Integer sein Die Zahl entspricht dann den Pixelwert der L nge des Balkens Wenn Ihnen der Wert zu klein ist k nnen Sie durch Multiplikation den Balken verl ngern Um diese Funktion zu nutzen muss der bergebene Feldname mit _graph beginnen Damit wird diese Funktion aktiviert Hier ein Beispiel Note Anzahl Prozent Graph 1 00 13 00 2 00 E 1 30 116 00 17 85 M 1 70 172 00 26 46 U 2 00 181 00 27 85 U 2 30 118 00 18 15 U 2 70 37 00 5 69 i 3 00 12 00 1 85 W 3 30 1 00 0 15 2 5 Abfragemakros einschl Schleifen u Grafiken Makros sind Abfragen die mehrere andere Abfragen hintereinander ablaufen lassen Makros haben die blichen Eintr ge in maskeninfo felderinfo masken_felder_bez maske_sachgeb_bez etc Die Spalte macro in der maskeninfo hatte im vorherigen Jahrtausend mal was damit zu tun ob eine Maske ein Makro ist oder nicht jetzt steuern die Eintr ge in der Spalte nur ob eine Maske nur im App let nur im XML Frontend oder in beiden erscheinen soll 90 Der Eintrag sollte so sein dass das Makro
74. LECT distinct L key_apnr L drucktext L name as strukturstr from gang k lehr hs L gang k semester S where 1 1 and L key_apnr in lt lt Anbietende Lehreinh gt gt and S tid lt lt Semester gt gt and S sem beginn between L gueltig seit and L gueltig bis order by 2 lt sqlvar gt lt sqlvars gt Anschlie end wird die Ergebnistabelle variabel erzeugt has_content pr ft ob berhaupt Lehreinheiten gefunden wurden create temp table tmp_gang_cnw2 ord integer tid integer semester_von integer sem beginn date lehr_abg character 10 lehr_empf character 10 lehr_empf_str char 255 lehr_empf_sort char 255 stg_empf_str nchar 255 lt assign i 0 gt lt if lehr_abg has_content gt lt foreach row_gang in lehr abg gt lt assign i i 1 gt lehr_ i decimal 5 2 lt foreach gt lt if gt An spaterer Stelle Konnen variabel updates auf die Ergebnistabelle gemacht werden damit kann mit key auf den Schl ssel der Lehreinheit zugegriffen werden lt assign i 0 gt lt if lehr_abg has_content gt lt foreach row_gang in lehr_abg gt lt assign i i 1 gt update tmp_gang_cnw2 set lehr_ i select sum C ca_wert from tmp_gang_cnw C where C lehr_abg tmp_gang_cnw2 lehr_abg and C lehr_empf tmp_gang_cnw2 lehr_empf and C tid tmp_gang_cnw2 tid and tmp_gang_cnw2 lehr_abg row_gang key where ord 2 lt foreach gt 61 lt if gt Zum Schl
75. Link auf eine externe Seite oder eine andere SuperX Tabelle anders als bei nexttable wird ein frei w hlbarer textueller Link angegeben wobei der Voll text des Links und der eigentliche Linkt durch ein Trennzeichen getrennt sind So wird z B der Feldwert Erl uterungenlhttp www erlaeuterungen de wie folgt ersetzt lt a href http www erlaeuterungen de gt Erl amp auml uterungen lt a gt Wenn nach dem Trennzeichen keine externe Web Adresse angeboten wird erkennbar am vorangestellten http dann wird der Inhalt des Feldes um den Pfad zum Tabellen Servlet erg nzt So wird z B aus dem Inhalt Details zur Hochschule 20010 amp id 2044 der Link lt a href servlet SuperXmlTabelle tid 20010 amp id 2044 gt Details zur Hochschu le lt a gt 2 4 9 Einzelne Zellen Spalten formatieren CSS Beispiel Spalte verfuegbar es muss eine versteckte Spalte hiddenverfuegbarcss geben dass enth lt hid dencss Klasse z B neu in kern44 td boldnumber Auszug create temp table tmp_erg titel char 5 titelbez varchar 255 sort smallint hhans decimal 14 2 sperre decimal 14 2 reste decimal 14 2 akts decimal 14 2 einnahmen decimal 14 2 ausgaben decimal 14 2 fest decimal 14 2 verfuegbar decimal 14 2 hiddenverfuegbarcss varchar 200 lt informixnolog gt update mp erg set hiddenverfuegbarcss boldnumber where sort 0 select titelbez hhans sperre reste akts einnahmen ausgaben fest verfuegbar fest v
76. NSTRAINT fkzusvirtuell_merkmal_ausprerg FOR EIGN KEY merkmal ausprerg REFERENCES tabellenschluessel mschluessel aschluessel alter table zusvirtuell ADD CONSTRAINT fkzusvirtuell_merkmal_ausprsummand FOREIGN KEY merkmal ausprsummand REFERENCES tabellenschluessel mschlues sel aschluessel Hinweis wenn eine Tabelle mehrere Fremdschl ssel hat ist es bersichtlicher wenn Sie am Anfang einen Kommentar mit dem Ziel Tabellennamen setzen also oben z B lt zusvirtuell gt lt relation from tabellenschluessel lt relation from tabellenschluessel to zusvirtuell to zusvirtuell 3 2 6 3 Beispiel 3 Referenztabelle hat zus tzliche Filter Wenn eine Fremdschl sselbeziehung auf mehrere Spalten geht dann k nnen auch mehrere rela tio columns angegeben werden Im folgenden Beispiel referenziert das Feld lehr_stg_ab lehr auf die Tabelle organigramn allerdings nur auf Werte mit der orgstruktur 30 lt relation from organigramm to lehr_stg_ab delete FALSE displayType select visibleFields name lt relation column from orgstruktur to 30 lt relation column from key_apnr to lehr lt relation gt format s gt gt gt 162 Vorsicht bei zus tzlichen Filtern die vom Typ CHAR sind hier muss das Zeichen mit einem Backs lash maskiert werden Beispiel lt relation from menu_element to felderinfo delete FALSE displayType select visibleFields des
77. S Ein kleiner Hinweis an dieser Stelle Die Felder werden in der Tabelle masken_felder_bez der Maske Nr 10170 zugeordnet Wir z hlen also bei Feldnummern in Einer Schritten von der Maskennummer aus hoch Aus diesem Grunde w hlen wir bei Maskennummern Intervalle von mindestens 10 die n chste Maske w re also mit 10180 nummeriert Wir wahlen nun das Feld Seit Semester und gelangen in ein Be arbeitungsformular der Tabelle felderinfo Wir sehen Name Num mer Position auf der Maske Breite und Typ des Feldes ganzzahlig Das Feld ist obligato risch und von der Art Nr 1 Nummer Text mit Dialog X SuperX Mozilla lt 2 gt IsIx Datei Bearbeiten Ansicht Gehe Lesezeichen Tools Fenster Hilfe d Q O Q Litwimies soc0rsupenimiindextim sen amp E Startseite Blesezeichen re The Mozilla O SuSE The Li Benutzer von SuperX Institutionsrechte Felderinfo verwalten In diesem Formular konnen Sie Felder verwalten Nutzungspretokolle intern fern tid 10 172 name Seit Semester Masken Se nummer Feld erzeugen Feld kopieren Feld l schen i x a EI H buttonbreite feldbreite Ju zeilenanzahl Studierende Pr fungen Pr fungen typ intege Absolventen Zeitreihe ber 6 Jahre zul bengelza obligatorisch Ti Ja art CN 1 Nummer Text nur mit Dialog relation lt lt SQL gt gt sele
78. Sofern die Spalte aktion null oder einen Leerstring enth lt wird die Aktion showTable durchgef hrt In den Beispielen wird nach Java Konvention das erste Wort klein und danach jeder Wortanfang gro geschrieben Sie k nnen aber auch alles klein oder alles gro schreiben 96 2 5 6 2 Grafikerstellung 2 5 6 2 1 Grundlagen Als Erstes muss irgendwo hinterlegt werden dass nachdem eine Abfrage durchgef hrt wurde auch eine Grafik erzeugt werden soll Dies geschieht im Feld aktion der Tabelle makro_masken_bez Das Kommando lautet createChart graphicformatTid z B makro_maske_bez maskeninfo_idl maskeninfo_id2 sort schleifenrelation Schleifenfeldname aktion 10800 10050 2 createChart 2 In der Tabelle graphicformat werden Attribute fiir eine Grafik hinterlegt die graphicformatTid im Kom mando verweist auf einen Eintrag Tabelle graphicformat tid charttype bar S ulen hbar Balken pie Torten line Linien caption Studierendezahl Personen nach Semestern width 400 height 400 caption x Semester caption y Studierende line x Trennlinien 0 oder 1 line y 0 oder 1 showvalues Wert bei Balken anzeigen 0 oder 1 moreattribs Da es janoch eine ganze Menge weiterer Attribute z B Farben von Balken 1 15 Intervalle auf der Y Achse 1000 2000 3000 oder 1500 3000 5000 etc geben kann haben wir berlegt nicht f r jedes poten tielle Attribut eine eige
79. Statistik 3 Studierende nach Alter und Geschlecht K pfe oder F lle K pfe Semester WS 2004 2005 Stichtag Aktuelle Zahlen F cher Fak FB 03 Fak f Philos P d Publ Status Alle Aggregierung Fach F cher Stand 29 06 2005 K pfe Erster Studiengang erstes Fach 18 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 2 40 41 Ebene Studiengang 19 39 MWM WM WM WM w Mm lwim wm wm wm wm WM ow Fachbereich Fak FB 03 Fak f Philos P d Publ 536 51 202 65 215 83 215 65 113 50 60 33 32 27 28 20 16 24 11118 8 16 1 Fach intern Erziehungswissenschaft 1 32 32 168 37 151 23 67 5 15 1 7 3 6 1 O 1 2 D 2 1 1 0 Fach intern Europ Culture amp F e el ol e a A Economy 0 o Of 1 0 20 7 49 10 27 3 15 2 6 2 1 0 O i 1 1 0 ot Fach intern Philosophie 4 4 19 3328 18 32 17127 15 21 6 18 5 6 8 11 4 15 1 11 3 10 Fach intern Publizistik Komm wiss 0 DD 0 O 7110 25 8 221013 61012893 4563 313 Fach intern P dagogik D OO Oo 1911 5715 34 15 19 4 5 6 11 4 5 2 4 2 3 3 Datensatz 1 6 von insgesamt 6 S tzen Die Spalten werde also verkn pft Wie geht das 138 Versehen Sie in der XIL_PROPLIST die Spalten berschrift mit einem Steuerzeichen 000 also z B Das Steuerzei Column CID 1 heading_text Studiengang center_heading chen 000 zur row_selectable heading_platform readonly width 40 text_size 60 V
80. SuperX Entwicklerhandbuch Eu BRHIBSHERZENBE Daniel Quathamer danielq memtext de Meikel Bisping mbisping memtext de Das Fihrungsinformationssystem f r Hochschulen Eine Entwicklung der Universit t Karlsruhe TH http www superx projekt de Version 4 5 Stand 18 5 2015 Datei home superx git edustore doc entwicklung entwicklerhandbuch SuperX Entwicklung4 0 odt Inhaltsverzeichnis 1 Einrichten der Entwicklungsumgebun8 0 c00ss000sssesnssensnssensnsnensnssensnssnssunnensnsnessusssnnnensnnen 7 SUPER ER 7 eeneg eecht ease a E aS 7 1 2 1 Installation und Konfiguration von che 7 1 2 11 Starten von Eclipse eeose sercar esenee einsa Eaa Eae EE e ei Euer 7 1 2 1 2 Tomcat E 7 1 2 1 3 Umgeb ng f r Eclipse iero ror e rE O E E E E E S E EEE E 8 1 2 1 3 1 Erg nzung Path Properties fiir Super Droiekt AA 8 A LEE 12 1 2 1 5 Integration mm enen Tomcat niies nern nes tobe sous EEE TEREE EEE ESEE S 13 1 2 1 6 Installation Updates via ANT 222220020020002ensensnensnnsnennnesnnnnnennennnennennnennnnnnensnnnnensonsnsnensennnnen 13 12 2 DOS TEE 14 2 Erzeugung und nderung von Masken sssscsssssssscsssssssessscsscssssssssssssssssssesssessssssesssesessesseee LA GK ee se ee 15 2 1 AUS ere EE 16 2 1 1 1 Das Beispiel 20 2 0 2 0 8 Rss RsH Rain see eh 16 2 1 1 2 Hintergr nde sushi denne na de SE EEN ee eege eh svete eege Eer 17 2 1 1 2 1 Die Felddefinition
81. WEB INF conf dbconv conf sch sch edustore sowie view edustore und Start der Methode headlessCloneDB invokeEngine check edustore edustore 2 Bei HIS CloneDB werden dann die Tabellen erzeugt aber Angaben zum Spaltenmerkmal default werden ignoriert in der Methode von HIS de his dbutils schema createTable Deshalb f gen wir ggf bei Spalten mit Default Attributen das Merkmal mit alter table an dabei wird jeweils f r Postgres und Informix die richtige Syntax gew hlt 3 Stored Procedures anlegen hier wird in der Moduldatei z B SUPERX_DIR db install kern conf kern xml das Element lt functions gt lt function gt ausgelesen die Funktionen werden installiert 4 Installationsscript f r spezielle Modulscripte und Tabelleninhalte derzeit Work in progress hier m s sen wir komplexere SQL Scripte zur Installation ausf hren Hierzu m ssen wir vermutlich dbinterface nutzen 5 Masken einspielen Ersatz f r das Shellscript SUPERX_DIR db install kern_masken_einspielen_pg x bzw _ids x f r Informix 6 Datei MODULPFAD conf customize sgl ausf hren wenn vorhanden hier legen Hochschulen eige ne Scripte ab 7 dbforms config xml anpassen Tabellendefinitionen f r dbforms Nach der Modulinstallation ist ein Tomcat Neustart notwendig Die Module k nnen ber Browser oder Kommandozeile bzw direkt aus Eclipse als Java Anwendung installiert werden Hier ein Beispiel f r die Linux Kommandozeile java Xmx700M cp OIS_CLASSPATH
82. WEB INFilibifidbe jar Ca MIX Sample URL idbc informix sqli imiles 1542 informixserver superm_hostdata Adaptive Server Anywh Die Parameter entspre FirebirdSQL be an FirstSQLiJ A chen denen die Sie f r HSQLDE E S Informix das SuperX Servlet m Microsoft JDBC Driver db properties definieren wot ODBC Bridge Oracle PostgreSQL ThinkS L ifxjdbc jar muss lokal dBase 8 iNet MS SQL Driver gespeichert sein DE _ SS SS SS SE Der Informix Treiber VERRE D RNS Cancel Im Dialog File gt Connect k nnen Sie dann eine Datenquelle eintragen und die Verbindungsparameter vervollst ndigen Username Passwort Autocommit sollten Sie immer einschalten Interessant ist der Datenbank Explorer Tools gt Database Explorer der es erm glicht die Datenbank nach Tabellen Prozeduren etc zu durchsuchen Wenn eine Tabelle ausgew hlt ist kann sie auch ber die Registerkarte Data editiert werden Achten Sie darauf dass Sie das Feld Max Rows auf einen sinn vollen Wert setzen z B 2000 Die SQLWorkbench ist gerade f r die Arbeit mit Tabellen ohne Prim r schl ssel geeignet weil jede derung intern als Update formuliert wird Der Nachteil ist dass das Tool manchmal recht langsam ist und dass nicht mehrere Zellen ber Zwischenablage ge ndert eingef gt werden k nnen Sehr praktisch f r die Entwicklung von SQL Abfragen ist die M glichkeit zu jeder Tabelle eine select
83. Wenn eine Fehlermeldung kommt package javax servlet http does not exist dann sind Sie ggf im falschen Verzeichnis ANT sucht relativ zum aktuellen Verzeichnis in common lib Tomcat 5 5 oder lib Tomcat 6 nach der Datei servlet api jar diese wird vom Java Com piler ben tigt Nach einem build der superx lt lt V ersionsnr gt gt jar sollten Sie mit dem Target ant cleanBuildPath die class Dateien im Verzeichnis WEB INF classes l schen und Tomcat neu starten Bitte committen Sie keinesfalls class Dateien in das SVN 168 4 2 1 1Build des SuperX Applet Der ANT Target distApplet erzeugt einen build des SuperX Applet Die fertige JAR Datei lautet we bapps superx applet superx jar Um sie m glichst klein zu halten enh lt sie nur die ben tigten Klassen aus dem SuperX Projekt sowie ben tigte Libraries von Fremdherstellern JavaHelp lassen Freemarker Log4J Au erdem wird sie nach dem build signiert um die Druckfunktion f r Clients zu aktivieren Um den Build ausf hren zu K nnen gehen Sie wie folgt vor einmalig Erzeugen Sie ein Zertifikat z B mit den Befehlen keytool genkey alias superx_applet keyalg RSA keytool selfcert alias superx_applet validity 365 Hiermit wird ein Zertifikat provisorisch zertifiziert f r 365 Tage Als Passwort geben Sie z B chan geit an Wenn Sie ein anderes Passwort eintragen m ssen Sie es in der build xml ndern Der Passus in der build xml lautet
84. aben wir dieses Programm n her beschrieben 2 7 6 1 SOLWorkbench Die SQL Workbench arbeitet mit dem jdbc Treiber jeweils von Postgres oder Informix Sie ist Teil des SuperX Clientpakets 3 0 oder h her das Sie vom Download Bereich des SuperX Projektes laden k nnen In dem Clientpaket sind alle notwendigen Treiber und Profile bereits enthalten deshalb empfehlen wir den Einsatz des Clientpakets Das Clientpaket l t sich unter Windows und Linux einsetzen Voraussetzung ist lediglich eine Java Runtime 1 5 oder h her Bei Nutzung unter Linux und Zei chencodierung der Datenbank im ISO Format sollten Sie in der Shell die das Script sqlWorkbench sh ausf hrt die Umgebungsvariable LANG de_DE euro setzen Sonst werden Umlaute nicht richtig erkannt Beim ersten Aufruf der Workbench k nnen Sie Profile f r Treiber und Datenbanken eingeben Muster profile f r viele g ngige Datenbanksysteme liegen vor Leider ist der Informix Treiber nicht dabei des halb muss dieser von Hand registriert werden Gehen Sie dazu ber File gt Connect in das Feld Manage Drivers Dort k nnen Sie einen Namen vergeben und die jdbc Parameter bertragen Die folgende Ab bildung zeigt ein Beispiel 120 Der Dialog zur Einrich x tung von Datenbanktrei Bm Name Informix 4d 5 Classname com informixjdbe IfxDriver rn am Beispiel Infor pe S sp S S E Library hwebserveritomcatwebappsisupend
85. ag gesamt ges_lfs round 100 ges_1fs gesamt 2 ges_1hs round 100 ges_1hs gesamt 2 frauen round 100 frauen gesamt 2 frau_1fs round 100 frau_1fs ges_1fs 2 frau_lhs round 100 frau_1hs ges_1hs 2 from tmp_studis xil_proplisti xiL List sizable_columns horizontal_scrolling white_space_color COLOR_WHITE fixed_columns 1 drop_and_delete movable_columns min_heading_height 55 Column CID 0 heading_text Semester center_heading In der XIL Proplist se row_selectable heading_platform readonly width 10 ee me W Column CID 1 heading_text Gesamt n zahl center_heading 1 1 i e row_selectable col_selectable rightjust heading_platform hen Sie schon die Uber ye Se ri width 8 schriften in der Ergebni Se Column CID 2 heading text 1 FS n gesamt center headinq chart_xtitell Semester Alter bei Studienbeginn L FS stabelle Facheriombinatonen Zekreihe SIE C E o DS SF OB rs Ein kurzer Hinweis zur xil_proplist Spalten berschriften sind von 0 aufsteigend durchnummeriert und die berschriften selbst k nnen durch n mit Zeilenumbr chen versehen werden Pro berschrift wird ein Absatz formuliert u a auch die Breite der Spalte Alle anderen Angaben werden zur Zeit noch nicht auswertet Wichtig ist dass eine Spalte pro Absatz definiert ist 2 1 1 3 2 nderung einer Abfrage Stellen wir uns nun vor will wollten die Abfrage dahingehend ndern dass wir in der Ergebnistabel
86. als Sicht externe Kostentr ger aus gew hlt ist oder nicht Zeile 4 12 Falls ja muss ein Unterselect gemacht werden sonst nicht Bei der optionalen Kostentr gerauswahl wird durch die Notation und or lt lt Kostentr ger gt gt null daf r gesorgt dass die Einf gung der Zeile optional ist d h wenn in dem Mas kenfeld Kostentr ger der Maske kein Wert ausgew hlt wurde wird die Zeile komplett entfernt 149 Welcher SQL konkret erzeugt wird kann man sich im Webanwendungs Manager ansehen Rufen Sie dazu den Webanwendungs Manager im Themenbaum auf Studierende Webanwend ung Manager Masken Sicherung Masken Entwicklung Im mittleren Block k nnen Sie sich den letzten SQL ansehen der gelaufen ist letzter Masken sql vom XML Frontend Abfrage Maske Testbericht nach Kostenstelle Projekt 12719000 durchf hren 11 26 57 Abfrage create temp table tmp_erg ch110 institut varchar 24 kostentraeger varchar 50 budget decimal 14 2 einnahmen decimal 14 2 ausgaben decimal 14 2 festgelegt decimal 14 2 verfuegbar decimal 14 2 insert into tmp_erg select ch110 institut kostentraeger sum hhans_dr sum einnahmen_dr sum ausgaben_dr sum festgelegt_ a dr sum verfuegbar_dr v from fin_konto_aggr Der Webanwendungsmanager ist nur als Admin aufrufbar Um mit einem eingeschr nkten User zu tes ten ist es am einfachsten sich in einem Browser z B Int
87. an IsUserInGroupWithName name boolean IsUserInAtLeastOneGroup boolean today als String yeartoday aktuelles Jahr databaseMajorVersion int databaseMinorVersion int 45 Beispiele select UserMaskRights from xdummy select today from xdummy select yeartoday from xdummy select databaseMajorVersion from xdummy select databaseMinorVersion from xdummy select Username from xdummy select UserGroups from xdummy select UserGroupnames from xdummy lt if UserHasMaskRight 23230 gt select ja from xdummy lt else gt select nein from xdummy lt if gt lt if UserIsAdmin IsUserInGroup 4 IsUserInGroupWithName Administratoren IsU serInAtLeastOneGroup gt macro truncate table gt if SQLdialect Postgres SQLdialect Informix amp amp databaseMajorVersion gt 10 gt runcate table table AN tA A else gt delete from S table lt if gt lt macro gt lt truncate table fin_fikr_neu gt Teilweise auch in session verf gbar f r JSP z B String maskRights request getSession getAttribute UserMaskRights toString if maskRights indexOf 14571000 gt 1 hasFinRights true 2 2 3 1 SQL Lingua Franca Um Abfragen nicht separat fiir Informix Postgres entwickeln zu miissen gibt es FreeMarker SQL Lin gua Franca Makros Einfaches Beispiel Aufruf einer
88. and trim table_name name in lt lt Felder gt gt lt else gt and trim table_name name in FelderObject allKeys lt if gt Dies kann abgekiirzt durch Freemarker Methode DatenblattFields eingefiigt werden DatenblattFields lt lt tablestylesheet gt gt lt lt Felder gt gt FelderObject allKeys 2 2 3 5 Grundgeriist fiir neue Abfragen Voraussetzung Feld ber das Schleife laufen soll muss eine Sicht sein Feldart 12 Schritt Beispiel 1 tempor re Datenta lt selectintotmp bellen erstellen select ch30_fach source sos_statistik S target tmp_sosstatistik gt where lt lt K pfe oder F lle gt gt and lt lt H rerstatus gt gt and 53 and ch30_fach in lt printkeys F cher allNeededKeys gt lt selectintotmp gt lt informixnolog gt 2 Schleife ber jede Kostenart im ausgew hlten Kostenar Schleife ber alle ten Baum Reihenfolge genau wie im Baum gew nschten Knoten lt foreach eineKostenart in Kostenarten elements gt mit if Anweisungen k nnen ggfs einzelne Eintr ge bersprungen werden z B wegen Aggregierungsauswahl Insert into mp erg fikr betrag SELECT eineKostenart id char 10 II Il eineKostenar t name char 100 sum betrag FROM tmp_busa where fikrkey in eineKostenart subkeys liefert n tige Schl ssel als 1 12 13 f r aktuelle Kostenart group by 1 lt fo
89. arker Variablen auslesen kann wie Kostenstelle muss es als dy namisch markiert sein SuperX erkennt ein Feld als dynamisch wenn lt lt darin vorkommt Daher lt lt SQL gt gt Freemarker Templat lt include SQL_lingua_franca gt lt include SuperX_general gt select distinct buchungsab_fb trim buchungsab_fb max ba_name from fin_used_inst where kostenstelle in lt printkeys Kostenstelle allNeededKeysList gt klappt nicht aber lt lt SQL gt gt Freemarker Templat lt include SQL_lingua_franca gt lt include SuperX_general gt select distinct buchungsab_fb trim buchungsab_fb max ba_name from fin_used_inst 43 where kostenstelle in lt printkeys Kostenstelle allNeededKeysList gt quatsch lt lt Kostenstelle gt gt 2 2 2 3 8Makros und Funktion Es k nnten auch Makros und Funktionen die Werte zur ckliefern definiert werden lt macro macroname paraml param2 gt lt macro gt Auf gerufen werden sie mit lt makroname gt bzw lt makroname paraml param gt Die Reihenfolge in der Makros definiert werden spielt keine Rolle Einige Makros f r Datenbankunabh ngigkeit SQL lingua franca und allgemeine Makros sind in der Tabelle fm_templates hinterlegt Diese k nnen mit lt include xx gt eingebunden werden 2 2 2 4 Special tricks Kostenarten name xxx Name nur Namen ausgeben S eineKostenart
90. ass gt de superx servlet Entwicklung lt servlet class gt lt init param gt lt param name gt authorized_users lt param name gt lt param value gt test test2 lt param value gt lt init param gt lt servlet gt Hinweis Wenn Sie einen Eintrag wie oben machen gilt der f r die aufrufende URL http RECHNER PORT superx servlet Entwicklung Nicht jedoch f r die Langversion http RECHNER PORT superx servlet de superx servlet Entwick lung ggfs also zwei lt servlet gt Eintr ge f r die Servletnamen Entwicklung und de superx servlet Ent wicklung anlegen 128 2 7 9 Masken f r das XML Frontend vorbereiten Das XML Frontend arbeitet mit den vorhandenen Masken und stellt dort grundlegende Funktionen zur Verf gung Dar ber hinaus bietet das Frontend die M glichkeit einzelne Abfragen individuell zu gestal ten Hierzu sind allerdings grundlegende XML Kenntnisse erforderlich Ein gro er Vorteil des XML Frontends ist dass Anwender sich ihre Bericht im XML Format herunter laden k nnen und ohne Datenbankkenntnisse ihre Berichte ma schneidern k nnen Es ist z B damit m glich auf beliebte Berichte mit gesetzten Parametern einen Bookmark zu legen 2 7 9 1 Erzeugen eines Stylesheets Es ist m glich f r Spezialfunktionen eigene Stylesheets f r einzelne Masken zu hinterlegen Zun chst muss f r das Ergebnis ein neues Stylesheet erzeugt werden Als Vorlage f r Masken k nnen Sie das Muster Styleshee
91. asse de superx bin ExcelPdfCreator Params in home superx iaf ausgaben xml xsl home superx tabelle_fo_pdf_xxxx xsl out home superx test pdf Dateiendung legt fest dass PDF erzeugt werden soll 2 7 9 7 4 Excelexport Ab Kernmodul 4 5 kann man einen Performance optimierten Excelexport anstoBen indem man im Be Select Freemarker Template lt include SQL_lingua_franca gt lt include SuperX_general gt lt include SQL_multitable_output gt gt gt richtskopf den Kommentar ram excelexport setzt lt sqlvars gt Spaltenlayout _ Freemarker Template A Maskeninfo verwalten FA Ka i DNH e tid 18 400 Name der Studierende Datenblatt Maske lt sqlivars gt A v lt sqlivar name get_felder gt SELECT caption foreignkey_tab description as strukturStr from sx_fields VI ek Chart_xtitell Studienfach Chart_ytitell Anzahl bzw Anteil Erl uterung Flexible Ausgabe der Studierendenstatistik nr drop table tmp_tabelle Default file studallg dat Kasel Breite 850 Hoehe 600 Ampel o Hilfe za dl 141 2 7 9 7 5Anpassung des Layout beim Excelexport Kurz ein paar Hinweise Am besten nimmt man zur Bearbeitung eine bestehende xsl Vorlage Man kann eine bestehende Exceldatei als Vorlage nehmen attribut vorlage des xl workbook Knotens Dies ist praktisch um nicht direkt erzeugbare Einstellungen zu hinterlegen z B Skalierung auf 70 wiederholende Tabellen berschrift Seit
92. ata Indexes References Referenced by Triggers Das Tool bietet au erdem eine Makrofunktion und in neueren Versionen auch ETL Funktionen ber einen Data Pumper was es nat rlich f r SuperX besonders interessant macht Weitere Tipps und Hilfen erhalten Sie im gelungenen aber englischen Benutzerhandbuch 2 7 7 Diagnose Tool jsp Um Rechteeinstellungen nach der Anmeldung im Browser f r den aktuellen User zu pr fen kann man superx xml diagnosetool jsp aufrufen Voraussetzung dass auch FIN Modul existiert weil die entsprechenden Tabellen gelesen werden Unten sind auch Sichten dargestellt die enthalten direkt nach der Anmeldung noch keine Eintr ge weil sie erst bei Bedarf Maskenaufruf mit der entsprechenden Sicht geladen werden Bei Bedarf kann man diagnosetool jsp sichstand true bergeben dann werden auch die Sichten alle ge laden experimentelles Feature Evtl kann es danach bei Maskenaufruf zu Problemen kommen 2 7 8 Entwicklungsservlet f r SuperX Abfragen Neu ab Kernmodul3 5 ist ein spezielles Entwicklungsservlet das die verschiedenen Stadien der Verar beitung und Berichtserstellung in SuperX transparent macht Bisher wurde zu Entwicklungszwecken insbesondere das Applet oder die SQL Angaben im SuperXMa nager genutzt nun gibt es ein spezielles Entwicklungsservlet das die Arbeit erleichtern soll 122 2 7 8 1 Aufrufseite des Entwicklungsservlets Es ist auf Ihrem Webserver unter der Adre
93. atus gt gt and sem_rueck_beur_ein between lt lt Seit Semester gt gt and lt lt bis Semester gt gt AND S fach_sem_zahl lt lt lt bis Fachsemester gt gt and stichtag lt lt Stichtag gt gt and L abschluss in lt lt Abschluss gt gt and S tid_stg L tid andL stg in lt printkeys Facher allNeededKeysList gt Vie A oa a Hi os alu a ED Schlussendlich K nnen Sie noch den XML Code der Ergebnistabelle anzeigen Link T i CYT inf Geert abellen XML 126 Snagsznivlerdlingebluzilkiricaro e Datei Bearbeiten Ansicht Chronik Lesezeichen Extras Hilfe gt S A O ottp rmercury 2080 superx serviet de supers selet Entwicklung HE O SuperX Entwicklung SuperX Entwicklung SuperX 3 5 build 12 06 2008 14 50 user superx Masken XML Parameter anzeigen SQL Quelle SQL nach 1 Transformation fertiger SOL nach Freemarker Transformation Tabellen XML S Hier die Tabelle Alter der Studierenden K pfe oder F lle K pfe Stichtag Aktuelle Zahlen Seit Semester SS 2007 bis Semester SS 2007 Status Alle ohne Beurl Horerstatus alle Aggregierung Fach F cher Studieng nge User super Stand 28 02 2008 Datensatz 1 30 von Insgesamt 192 S tzen Ebene Studiengang Gesamtzahi Durchschnitt lt 20 20 24 25 29 30 34 35 39 40 44 45 49 50 54 55 59 gt 60 Summe Fach intern Fach 3 424 00
94. ceproject und cocoon m ssen Sie zun chst einen Build ausf hren Gehen Sie dazu in der Shell in das Verzeichnis ice ii build und starten Sie das Script ant f build_hisl xml dist_his 14 Die Webanwendungen cocoon und iceproject werden im Unterverzeichnis dist erzeugt und k nnen dort direkt genutzt in einem Tomcat gemounted werden Das Vorgehen wird im Folgenden beschrieben 1 2 1 5 Integration in einen Tomcat Sie k nnen alle Webanwendungen nicht in einem Eclipse Projekt betreiben weil die Einstellungen von CVS und git kollidieren Aber in einem Tomcat lassen sich alle Webanwendungen bereitstellen indem man wie folgt vorgeht Stellen Sie in der server xml Ihres Tomcat die appBase auf das Verzeichnis wo Ihr qisserver liegt ge nauer gesagt eines dar ber Damit sind der qisserver und die ROOT Webanwendung aus HISinOne di rekt verf gbar Erstellen Sie unterhalb dieses appBase Verzeichnisses symbolische Links zu den Webanwendungen superx iceproject und cocoon Nun k nnen Sie entweder den Tomcat Installer von Edustore nutzen oder ein vorgefertigtes ANT Script Beim Tomcat Installer Erzeugen Sie die Datenbanken edudata edugeta und eduetl und f r eduetl noch die Prozedursprache plpgsql und konfigurieren Sie Ihre databases xml sowie Ihr Spezialmodul Anleitung siehe hier http wiki his de mediawiki index php Edustore_Installation_und_Administration Datenbanken_ein richten Danach brauchen Sie nur noch Tomca
95. clude SQL_lingua_franca gt lt include SuperX_general gt lt include SQL _multitable_output gt Danach kommen die 4 SQL Vars get_tables get_table_joins get_felder und get_felder_tk Dieser sql var Block untersheidet sich bei den Datenblattberichten nur an der Bezugstabelle Bei Studierende Daten blatt ist es z B die Tabelle sos_stg_aggr Diese m ssen Sie dann nur mit Ihrer Tabelle ersetzten Danach werden 3 Macros aufgerufen lt generate_multitable_list gt lt generate_field_list_multitable aggregationsfeld summe aggregatfunktion sum gt lt generate_foreign_fields_multitable gt 143 Bei dem Macro generate_field_list_multitable muss eventuell das Aggregationsfeld ge ndert werden Das Aggregationsfeld muss addierbar sein also kein Text oder Datumsfeld und sollte die Summenzeile der jeweiligen Tabelle sein Darauf folgt die Zuweisung der Filter Die Filter m ssen hier der Variable filter zugewisen werden Die funktioniert mit z B lt assign filter and lt lt H rerstatus gt gt and lt lt Semester gt gt gt Die Filter die mehrfachauswahl erlauben oder eine Baumstruktur besitzen m ssen speziell eingef gt werden Dabei ist folgendes zu beachten 1 Start des Kommentar Tags eine Zeile zuvor 2 filter zu dem Filter hinzuf gen 3 Macro printkeys geht hier nicht Daher die Syntax von dem Beispiel unten verwenden 4 Buttonfeld immer am E
96. cription format s gt lt relation column from element to Feldtyp gt lt relation column from element_value char 15 to typ gt lt relation gt 3 3 Install uninstall ETL und upgrade Hier werden Aktionen und Ladeschritte bei der jeweiligen Aktion eines Moduls definiert Das Hauptau genmark liegt hier auf nativeaction und loadtable Eine nativeaction w re z B lt nativeaction sql scriptfile SGANG_PFAD conf gang_tabellen_fuellen sql database gt Hier wird der Inhalt der SQL Datei genommen und ausgef hrt Es ist auch m glich einen SQL Befehl direkt in das Attribut sql zu schreiben Falls erforderlich kann auch noch als Bedingung die Datenbank angegeben werden z B POSTGRES oder INFORMIX f r die diese nativeaction gedacht ist F r loadtable ist folgendes Beispiel lt loadtable refresh false delimiter header false tabname gang_cifx gt lt file path SGANG_PFAD schluesseltabellen gang_cifx unl gt lt loadtable gt Hier wird der Inhalt einer Tabelle in eine Datei abgespeichert delimiter steht fiir Feldtrenner hea der ob die Spalten berschrift bernommen werden soll und tabname f r den Tabellennamen in file in dem Attribut path wird der Pfad mit Dateinamen angegeben wo der Inhalt abgespeichert werden soll 3 3 1 Spezialit t bei ETL In dem ETL Modul sind 6 Stufen eingebaut Zu beachten
97. ct tid eintrag from semester order by tid DESC T gt STEVE Ganz unten sehen Sie das Feld relation in dem nach einem Steuerungszeichen lt lt soL gt gt der SQL Befehl steht den wir vorhin in der Java Konsole gesehen haben 23 Der Vollst ndigkeit hal Datei Bearbeiten Ansicht Gehe Lesezeichen Tools Fenster Hilfe ber zeigen wir hier den Rest der Tabelle Unten u ist noch der Defaultwert eege Passwort ndern 1 Nummer Text nur mit Dialog q User einrichten relation lt lt SQL gt gt select tid eintrag from semester order by tid DESC fiir das Feld angegeben echten ebenfalls ein SQL Aus Sege druck SES Pr tungen attributi NULL Absolventen Zeitreihe ber 6 Jahre Absolventen nach Fachsemesern Absolventen nach Fachsemestern mit Absolventen nach Fachsemestern nur Fach Absolventenstatistik Alber bei der Pr fung Prafungsneten defaultwerti lt lt SQL gt gt select S tid eintrag from semester S konstanten K where K apnr S tid and K beschreibung Start SOS Semester Pr fungsnoten nach Abschl ssen Studierende Alber bei Studienbeginn L FS F cherkombinationen Zeitreihe ndern SuperX liest also aus der Datenbank die Scripte f r eine Maske bzw f r ein Feld aus einer Tabelle und f hrt Sie dann in der Datenbank aus 2 1 1 2 3 nderung einer Felddefinition Su
98. de f llen in dem Script ment_value type VARCHAR size 255 default notnull ment_descr type VARCHAR size 255 default notnull ment_type type VARCHAR size 255 default notnull ment_comment type VARCHAR size 255 default not lt loadtable refresh true delimiter header false tabname schluessel gt lt file path S SUPI sel unl gt lt loadtable gt ERX_DIR db install rohdaten schlues Achtung es gibt auch views die auf der Tabelle schluessel basieren Tabelle hinweise und hinweis_akzept neuer Name user_dialog und user_dialog_accept Vorgehen ana log Bitte die Spalten auch auf englisch bersetzen und als Prim rschl ssel id statt tid Text Datenty pen bekommen immer varchar statt char Dann muss der Quellcode nach dem betr Tabelle durchsucht werden Tabellen des Kernmoduls werden auch im Java Code der Webanwendung abgefragt jsp tore db sql xml webapps superx WEB INF edit webapps superx WEB INF conf edust webapps superx WEB INF conf edust sre de superx java tore db masken unl Dann gibt es noch eine spezielle Herausforderung in HIS1 Die alten Tabellen Views liegen als Schema Dateien noch in qisserver WEB INF conf dbconv conf sch sch eduet1 qisserver WEB INF conf dbconv conf sch view eduetl sowie im SVN in superx WEB INF conf edust superx WEB
99. der lt lt Modul gt gt xml in der zweiten Tabelle der entsprechende Fremdschl ssel eingetragen Im folgenden Beispiel steht also der Schl ssel in der Spalte gang_stg_astat lehreinheit und dies referenziert auf die Spalte gang_k_lehr_hs key_apnr Der Bezeichnungstext wird dann aus der gang_k_lehr_hs drucktext geholt lt gang_stg_astat gt lt relation from gang_k_lehr_hs to gang_stg_astat delete FALSE display Type select visibleFields drucktext format s gt lt relation column from key_apnr to lehreinheit gt lt relation gt In visibleFields wird die entsprechende Spalte eingetragen die ausgegeben werden soll Mit zwei Pipes II K nnen auch mehrere Spalten miteinander verbunden werden wenn z B der Key und der Text ausge geben werden soll Beispiel lt gang_stg_astat gt lt relation from gang_k_lehr_hs to gang_stg_astat delete FALSE display Type select visibleFields key_apnr trim drucktext format s gt lt relation column from key_apnr to lehreinheit gt lt relation gt Zur Beschreibung relation from Tabelle mit Schl ssel und zugeh rigen Text to Tabelle nur mit Schl ssel delete displayType visibleFields welche Spalten angezeigt werden sollen format Format der Anzeige Zur Beschreibung relation column from Key Spalte der ersten Tabelle to Key Spalte der zweiten Tabelle 161 3 2 6 2 B
100. der_bez sachgeb_maske_bez und maske_system_bez zur Maske mit tid lt TID gt 2 7 2 2 Anderungen an einer Maske vornehmen 1 Selektieren der Metadaten der betreffenden Maske sx_select_mask lt TID gt 2 Editieren der f nf Metadaten Dateien lt TID gt _ 111 3 Abspeichern der neuen Metadaten sx_insert_mask lt TID gt 2 7 3 Maskenverwaltung in Edustore F r Windows Anwender bieten sich die Werkzeuge in Edustore an Hier werden keine Shellscripte be nutzt sondern XML Scripte die mit der HIS Technologie DB Interface arbeiten Diese werden mit Java ber die Kommandozeile aufgerufen einige sind auch direkt in der Webanwendung ber den Browser verf gbar 2 7 3 1 Masken einspielen Beim Upgrade eines Moduls werden die Masken von der Festplatte wieder neu in die Datenbank einge spielt d h das Modul wird auf seinen Auslieferungszustand zur ckgesetzt Sie k nnen die Masken ber die Kommandozeile einf gen Das folgende Script ben tigt unter DOS ein paar Umgebungsvariablen java cp 30IS_CLASSPATH de his edustore bin ExecuteDBInterface databases_ lt lt SPEZIALMODUL gt gt xml 30ISSERVER_PFAD superx WEB INF conf edus tore db module lt lt Modulname gt gt conf hisl edustore_install edustore_ lt lt Modulna me gt gt _masken_einspielen xml lt lt Modulname gro geschrieben gt gt _PFAD lt lt WEBAPPS_PFAD gt gt superx WEB INF conf edustore db module lt lt Modulname gt gt
101. die gang xml die in SUPERX_DIR db module gang conf liegt Die Modul Dateien sind in der Regel mehrere tausend Zeilen lang und daher un bersichtlich wenn man keine Legende hat Daher w rde ich JEdit zum bearbeiten empfehlen da Sie sich hier auf der linken Seite diese Legende einblenden lassen k nnen Nachdem nun die Modul Datei ge ffnet ist k nnen Sie in JEdit in der Legende sehr sch n die Auftei n lung der Datei in 6 Unterbereiche sehen database install uninstall upgrade etl und dbforms 3 2 1 Database In der database werden die Tabellen Views Themen und Masken Integriert 3 2 2 Tabellen 3 2 2 1 Allgemeines Dies ist der Kernbereich Um hier eine Tabelle einzutragen muss eine genaue Syntax eingehalten wer den damit es funktioniert Das Hauptelement die Tabelle startet mit lt table gt und endet mit lt table gt Wie Sie sehen werden die Elemente in Gr er Kleinerzeichen gesetzt und das Ende wird einfach mit ei nem Schr gstrich vor dem Namen bekannt gemacht In dem Element Tabelle kommen noch die Elemente description columns und primaryKeys Zusammen w rde das dann folgenderma en aussehen lt table gt lt description gt lt description gt lt columns gt lt columns gt 154 lt primaryKeys gt lt primaryKeys gt lt table gt Das ist sozusagen das Grundger st Bestimmte Eigenschaften und der Name der Tabelle kommen wie in der HTML Programmierung mit in die Gr
102. e FreeMarker Notation nehmen select monat sum betrag from tmp_busa where monat S Monat Ein komplexes Beispiel 34 SuperX Verarbeitung 1 klassische Verarbeitung mit generateSql Auswahl in der Maske Haushaltsjahr 2004 Kostenarten Personalkosten Kostenarten ist ein Sicht Objekt 2 Verarbeitung mit FreeMarker ein Baum mit Kostenarten Zugriff auf Felder als Java Objekte KostenartenallNeededKeys liefert alle ben tigen keys f r die Auswahl Personalkosten Das Ergebris wird an das FM Makro printkeys geschickt das die keys ausgibt 1 114 12 Vorlage SQL Befehle 2 2 2 2 Interaktion Freemarker mit Maskenfeldern Das Servlet verarbeitet bei der Maskenausf hrung zuerst die Maskenfelder die mit den Steuerungszei chen lt lt und gt gt in das select_stmt eingefiigt werden So wird z B bei der Anweisung lt if einFach strukturStr Fach intern amp amp lt lt Aggregierung Fach gt gt 10 gt im Servlet zun chst die Variable Aggregierung Fach aufgel st und dann erst startet der Freemarker Parser F r das og Statement w rde also zun chst lt if einFach strukturStr Fach intern amp amp 10 10 gt ersetzt und dann die Freemarker IF Bedingung ausgewertet So k nnen Sie z B auch Checkboxen auswerten wenn sie nicht angekreuzt sind nehmen wir an das Feld hei t nur aktuelle Stg und hat den Typ char und die art 10 dann w re der
103. e einrichten Tabelle Extras Schutz Blattschutz Poi kann trotzdem reinschreiben Wenn man lt xls_workbook vorlage vorlagel xls removeAdditionalSheets true gt Wenn man Tabellen auf Vorrat angelegt hat kann man mit dem Tag removeAdditionalSheets true berfl ssige Tabellen entfernen Es werden alle Zellen neu erzeugt man kann jedoch einzelne Zeilen oder Zellen berspringen um in der Excelvorlage Enthaltenes nicht zu berschreiben lt xls_row jumpover true gt lt xls_cell jumpover true gt lt xls_cell gt lt xsl_sheet gt ist ein Tabellenblatt lt xsl_row gt kann Attribute haben ebene summe Zellen F r Zahlen lt xIs_cell style body_dec numeric true gt m gliche Attribute width gilt logischweise f r ganze Spalte Um lokal zu testen gibt es Java klasse de superx bin ExcelPdfCreator Params in home superx iaf ausgaben xml xsl home superx tabelle_xls_xxxxxx xsl out home superx test xls Dateiendung legt fest dass Exceldatei erzeugt werden soll 2 8 Erstellung von Datenblattberichten Datenblattberichte sollen es fiir Hochschulen vereinfachen eigene Berichte z B mit JasperReports zu er zeugen Diese Datenblattberichte miissen daher fiir jeden Geschmack die richtigen Informationen liefern ohne dabei verluste bei Geschwindigkeit und Kopfort zu haben Fiir diese Herausforderung gibt es nun eine L sung welche hier vorgestellt wird 142 2 8 1 Vorgehensweise Um ein Datenblattbericht zu erst
104. e p etc skel gnu emacs load etc skel gnu emacs nil t Custom Settings ii To avoid any trouble with the customization system of GNU emacs we set the default file gnu emacs custom setq custom file qgnu emacs custom load gnu emacs custom t t rie add to list load path emacs d load emacs d web mode el require web mode add to list auto mode alist sql web mode 77 Informix mag keine Tabs beim Einruecken fuert zu Syntax Error 66 setq default indent tabs mode nil fuer sql files freemarker modus nutzen setq web mod ngines alist reemarker s Ch EE EE jj beim Umschalten zu SQL keywords highlight add hook sql mode hook sql highlight postgres keywords Danach eine langes Freemarker Script z B trans_kenn_konto_aggr sql ffnen mit emacs trans_kenn_konto_aggr sql Standardm ig ist man zun chst im Web Modus d h man hat Freemarker Highlighting Im Men Web mode kann man w hlen Indent Buffer zum Einr cken Kann hilfreich zur ber sicht sein Wenn man auf einem lt if oder lt macro oder hnlichem Befehl mit dem Cursor steht kann man im Web Mode Men w hlen Fold Unfold um den Block ein auszublenden Leider gehen bekannt Shortcuts f r Copy Paste nicht wie blich man kann das Men nehmen Um einen l ngeren Abschnitt zu markieren dr ckt man CTRL space und dann einfach den Cur sor
105. eben Sie ein p atch_apply x patch_2011 06 15_superx_iso zip Das Ergebnis wird in die Datei patch_2011 06 15_superx_iso zip log geloggt Wenn Fehler auftreten kommt direkt eine Meldung in der Shell 3 5 dbforms In der Modul XML werden auch die Vorlagen f r die DBforms gemacht Dabei wird mit XSLT aus der abstrakten Beschreibung des Formulars eine funktionst chtige JSP Seite erzeugt Hier werde ich nur auf die wichtigsten Felder eingehen 165 3 5 1 Erl uterung der XML Elemente 3 5 1 1 Gesamtstruktur Als erstes sollte der Tabellenname eingetragen werden Dieser wird hier an mehreren stellen ben tigt Bei table path customfield table path Zu beachten ist das der Tabellenname sowie das Modul in den Pfad path Angaben auch richtig eingetragen wird Im ersten Block wird meist in den Feldern name und caption das selbe eingetragen und zwar eine kurze aber aussagekr ftige Bezeichnung der Tabelle Diese kann auch in dem zweiten Block bernom men werden Dort gibt es genau die selben Felder Eine ausf hrlichere Beschreibung der Tabelle wird in das Feld description geschrieben Diese Be schreibung sollte aber auch nicht l nger sein als ein normaler Satz Wenn man lt field selection complete true gt w hlt dann werden automatisch alle Felder der Tabelle im Formular angezeigt Wenn Sie nur einige Felder anzeigen wollen nutzen Sie das Element lt custom field gt Au erdem kann man mit cust
106. eere maskonload berschrieben um den div der folgenden maskenfelder etwas tiefer zu setzen damit Platz f r den gr eren Titel ist sonst war Link nicht anklickbar Um bei bestimmten Masken export Buttons auszublenden kopieren Sie das entsprechende Template hier exportButtons aus der Page Compnents xsl in die pageCompontents_final xsl und f gen dort eine if Bedingung ein Beispiel f r entfernen des PDF export Buttons f r die Masken mit der tid 16000 und 17000 lt xsl template name exportButtons gt lt xsl if test ergebnisse ergebnis maskenname id 16000 and ergebnisse ergebbnis maskenname id 17000 gt lt hier kommt der PDF Button gt lt xsl if gt lt xsl template gt Will man eine spezielles Tabellenstylesheet erzeugen braucht man tabelle_html xsl nicht mehr kopie ren sondern erzeugt eine xsl Datei mit den Standard imports und f gt dort den import f r tabelle_html xsl hinzu lt xsl import lt xsl import lt xsl import lt xsl import lt xsl import lt xsl import href xsl_functions xsl gt href resultset_html xsl gt href interLinks_html xsl gt href pageComponents_html xsl gt href tabelle_ html xsl gt href pageComponents_html_final xsl gt mr vr Cr CT CT ET als weiteres braucht man nur das Template von tabelle_html xsl zu tiberlagern was ge ndert werden soll Einfachstes Beispiel keine Erl uterungslink
107. eger querverweis zur systeminfo 0 10 info_id 0 f r allgemein art char Art der Sicht Bezeichnung sollte auf Sicht enden Organigramm Sicht Kosten Erl sarten Sicht dann wird auch xxx Sicht und xxx Stand im Masken SQL ersetzt type integer 10 f r regul re Sichten 20 f r alternative Hierarchien name char Name der auf dem Bildschirm bei der Auswahl er Organisatorische Sicht Standardsicht Kostenar scheint ten name_ char interner eindeutiger Name intern wenn der interne Name mit memtext beginnt sollte die Sicht nicht eigenst ndig ge ndert werden beschrei char ausf hrliche Beschreibung der Sicht bung stand integer soll man bei einer Sicht den Stand ndern k nnen 1 1 button muss f r eine Sichtart Organigramm Sicht einheit lich sein label integer kann zur Charakterisierung einer Sicht benutzt werden 0 0 in Duisburg Essen intern f r altes Feld lehre benutzt 0 alle Org Einheiten 1 Nur Lehre anzeigen Institutionen im Be reich Lehre gefiltert nach user_institution 2 Nur Lehre anzeigen Institutionen im Be reich Lehre NICHT gefiltert wird von Prozeduren sp_user_org sp_user_orga_child noch unterst tzt in 69 tern aber auf neue Variante Label und User Rechte um gesetzt u ser_ integer sollen beim Aufbau der Hierarchie vergl Spalte quel 1 1 rechte le Userrechte beriicksichtigt werden wird bisher nur von Duisburg Essen benutzt rechte char 255 f r z
108. eispiel 2 Erzeugung von Fremdschl sseln Die Relation in der data integrity Kann auch f r die Generierung von datenbankbasierten Fremd schl sseln genutzt werden Die Syntax ist dieselbe wie oben nur das Attritut createForeignKey true muss hinzugef gt werden Beispiel lt relation from tabellenmerkmal to tabellenschluessel delete FALSE displayType select visibleFields merkmal createForeignKey true gt lt relation column from mschluessel lt relation gt Daraus wird folgende Datei erzeugt lt lt Modulname gt gt conf hisl dbconv sc mit dem Inhalt alter to mschluessel sel FOREIGN KEY R mschluessel EFER h eduda table tabellenschluessel ADD CONSTI ENCES Auch Fremdschl ssel ber mehrere Spalten k nn format s gt ta tabellenschluessel fk RAINT fktabellenschluessel_mschlues tabellenmerkmale mschluessel en erzeugt werden hier ein Beispiel lt relation from tabellenschluessel to zusvirtuell delete FALSE display Type select visibleFields merkmal format s createForeignKey true gt lt relation column from mschluessel to merkmal gt lt relation column from aschluessel to ausprerg gt lt relation gt Resultat alter table zusvirtuell ADD CO
109. ellen gehen Sie am besten volgenderma en vor Maske kopieren welche Ihrer zuk nftigen Felderauswahl am n hesten kommt Felder anpassen Die Felder Bericht Weitere Tabellen Felder Schl ssel anzeigen und Ausgabeformat aus einem Bestehenden Datenblattbericht in Ihre neue Maske kopieren Masken SQL select_stmt und Tabellenformat xil_proplist anpassen Stylesheets der Maske zuordnen Spalten Felder dem Stylesheet zuordnen 2 8 2 Felder anpassen Bei den Feldern Bericht Weitere Tabellen und Felder m ssen nach dem kopieren noch nderungen vorgenommen werden Bei dem Feld Bericht muss bei relation und defaultwerd die MaskenID tid der neuen Maske eingetra gen werden Bei den Feldern Weitere Tabellen und Felder m ssen die Tabellen auf die sich die alte Maske bezogen hat mit denen der neue Maske ersetzt werden 2 8 3 Masken SQL Am einfachsten ist es wenn Sie den Quellcode einer vorhandenen Datenblattmaske bernehmen und diesen dann anpassen Um den Code der Maske select_stmt bersichtlicher zu gestalten und da er sich zum Teil f r jeden Datenblattbericht wiederholen w rde haben wir einiges in Macros gesteckt und diese in das Kernmodul verf gbar ab Version 4 1 gepackt Uber lt include SQL_multitable_output gt werden die ben tigten Ma cros in der Maske geladen und stehen zur verf gung Die erstel Zeilen eines Datenblattberichts werden also immer volgenderma en aussehen Freemarker Template lt in
110. en 222 2282ER RL En 17 2 1 1 2 2 Speichern der Felddefinition die Tabelle feldernto AAA 19 21 123 Anderung EE essen keeeeneteeslnin 22 2 1 1 3 Maskendefinition 4 8 s amp cus u Aa ee ae eatis a testa she EEs aA NE vet oo evyounss tees 23 2 1 1 3 1 Abfragen in Maskendefuponen eee eee ce ceeeceeeeeeeeeeeeeeeeeeseecsecsaecaecsaecsecaeceseeecsaeensaeeeenaeees 25 EE AE EE Ra 28 21 2 e 30 2 1 3 Fazit De RER BEN IRRE Besen SUR keene 30 2 2 Erweiterte Maskenprogrammierung Freemarker Templates seen 31 2 2 1 Klassische Verarbetmng 21 31 2 2 2 FreeMarker Transform ationstsss sccccei ess sus e rs enee EELER konnen ek EEN 32 2 224 bersicht E 32 2 2 2 2 Interaktion Freemarker mit Maskenteldern A 33 2 22 3 Programmierenmit FreeMarker 2 08er ln este 33 2 2 2 3 1 Zugriff auf Java Objekte im Datenmodell A 33 E EE EE 33 GE Mtb ee eben eh eege edd eh ee ee Zoe gd 34 EE Wee 39 22 2 3 3 KorE ch zn tn re BER RR RR BREI HL LE 39 AH r bor Net Schleifen Eist dE 538080 RE EE AA En 39 2 2 2 3 7 M kros und Funkti n 2 ssa s2 2 82 42 ee a ENEE 40 22 24 E Mee EE 40 2 2 3 neue Funktionen 2011 UserRights Dbhveraion eee eee ceeseecseesecneceseceecseesecseeseceeseeeeeseseeecaeeeaeeneeaeees 41 223 1 SQL Eingu Fr nea EE 42 2 2 3 2 Allgemeine PM MakrosdPunktonen eceseecsesceesecseecsecsseesecsceaecscesecesceseeeeeeeeseaseaesenseesaeeessaeees 43 2 2 3 3 Spezielle M glichkeiten bei Sicht Feldern A 44 2 2 3 3 1 allNeededKey
111. en den Dateien Ausf hrungsberechtigung chmod 750 sx_ zu ge ben 109 2 7 2 1 1 Eine Maske suchen Wenn Sie eine Maske suchen sollten die die Felder tid oder name in der Tabelle maskeninfo durchsuchen Das folgende Script macht dies automatisch sx_search_mask Aufruf sx_search_mask lt String gt Aktion sx_search_mask sucht die Masken deren Name lt String gt enth lt Ausgabe tid name der gefundenen Masken 2 7 2 1 2 Eine Maske sichern und entladen Um eine Maske zu sichern m ssen Sie die entsprechenden Eintr ge in den Tabellen l felderinfo 2 masken_felder_bez 3 maskeninfo 4 sachgeb_maske_bez 5 maske_system_bez selektieren und sichern Fiir dies gibt es das Script sx_select_mask sx_select_mask Aufruf Informix sx_select_mask lt TID gt Postgres sx_select_mask_xil lt TID gt Aktion sx_select_mask entl dt alle Metadaten aus den Tabellen maskeninfo felderinfo masken_felder_bez sachgeb_maske_bez maske_system_bez zur Maske mit tid lt TID gt Ausgabe F nf Dateien 1 lt TID gt _felderinfo unl 2 lt TID gt _masken_felder_bez unl 3 lt TID gt _maskeninfo unl 4 lt TID gt _sachgeb_maske_bez unl 5 lt TID gt _maske_system_bez unl 2 7 2 1 3 Eine Maske neu einfiigen Um eine Maske neu einzuf gen m ssen Sie die entsprechenden Eintr ge in den Tabellen 1 felderinfo 2 masken_felder_bez 3 maskeninfo 4 sachgeb_maske_bez 5 maske_sys
112. en auch mehreren Maskenfeldern zugeordnet werden in diesem Fall ist die Spalte record_no leer F r Felder aus der Tabelle felderinfo schaut SuperX nach ob in der Tabelle sx_captions ein Eintrag f r die Tabelle felderinfo field_name studiengang und record_no 10050 oder null vorhanden ist 101 Im folgenden Beispiel ist ein Maskenbutton Studiengang erl utert der in dieser Weise und bei dem Feld Nummer 10050 dokumentiert sein soll tid id table_nam field_name record_no locale contents_ short contents_long sachgebiete_id e 9 felderinfo studiengang 10050 de Grundst ndiger Ein Studien 16 Studiengang gang im grundst n digen Studi um 10 felderinfo studiengang 10050 en Degree program 16 Wenn Sie den Erl uterungstext bei allen Feldern mit dem Namen studiengang erscheinen lassen wol len dann m ssen Sie das Feld record_no leer lassen 2 6 1 3 nderung von Glossaren im XML Frontend Im XML Frontend gibt es komfortable M glichkeiten zur nderung von Glossaren Melden Sie sich als Administrator im XML Frontend an Zun chst zeigen wir wie allgemeine Erl uterungen zur Makse so wie Erl uterugnen von Ergebnisspalten erzeugt werden dann werden Felderl uterungen eingepflegt 2 6 1 3 1 Maskenerl uterung Masken bearbeiten wir im XML Frontend im Men Maske Suchen wie es im Tutorial beschrieben ist Wir w hlen bei Maske suchen eine Maske die wir dokumen
113. enblatt Berichte sind mitunter recht ressourcenintensiv ber die Konstante Datenblatt max Zeilen zahl kann man steuern wie viele Zeilen man zulassen will Siehe http www superx projekt de de doku kern_modul admin f_KonfigurationderDatenblatt BerichtemaxZeilenanzahl htm Au erdem sollten Sie den Performanc optimierten Excelexport aktivieren 2 9 Eine einfache SAP Abfrage Ziel ist es eine ganz einfache SAP Abfrage zu zeigen die per Kostenstelle und Projekte zeigt wieviel Budget gebucht wurde wieviel Einnahmen und Ausgaben es gegeben hat wieviele Festlegungen sowie wieviel Geld noch verf gbar ist Vorrang liegt dabei auf der Rechtekontrolle nach Kostenstelle und Pro jekt Die Maske sieht so aus Testbericht nach Kostenstelle Projekt Jahr 2013 gt Kostenstelle nichts gew hlt Kostentr ger nichts gew hlt Abschicken Zur cksetzen Wenn man unter Administration Masken Felder Felder suchen ausw hlt kann man die Maske ausw h len 145 X Super Sie sind hier Abfragen gt Administration gt Masken gt Felder gt Feld suchen Bericht erstellen Administration Benutzer heess Feld suchen Masken Ve EE fa cr marke 12719000 Testbericht nach Kostenstelle Projekt 7 Finanzrechnung 2 Administration Finanzrechnung Feld nichts gewahlt Haushalt Titelstichwort Grunddaten und Kennzahlen Administration Kenn Modul Grunddaten Finanzrechnung Es erscheint eine Ubersicht Feld suc
114. ennummer f r hnliche Masken gleiches select_stmt Vererbung oder objektorientierte Entwicklung von Masken gibt es in SuperX zwar zum Gl ck noch nicht Es gibt aber schon mal F lle wo man zwei oder drei Masken hat die den gleichen Grundaufbau haben und sich nur in Details unterscheiden 62 Effizient ist es daf r wenn man den gleichen select_stmt f r alle Masken nehmen kann und nur die De tails per Freemarker anpasst Z B eine Datei 5S0000 50100 sql die den Sql f r die beiden Masken 50000 und 50100 enth lt Anfang freemarker template create temp table tmp_erg insert into spezifisch je nach Maske lt if Maskennummer 50000 gt update tmp_erg set x y 1 where lt if gt lt if Maskennummer 51000 gt delete from tmp_erg where z 0 update tmp_erg set x z 1 where lt if gt abschluss select select from tmp_erg Die Datei kann man als select_stmt sowohl f r Maske 50000 als auch f r 50100 verwenden Wenn eine Maske in SuperX aufgerufen wird wird je nach Maskennummer ein Abschnitt ausgef hrt Damit erspart man sich das Copy amp Paste in beide Masken und wenn man allgemeine nderungen Er weiterungen an beiden Masken macht kann man nichts vergessen Praktisch Datei mit sx_masken_sql_update x einspiel s unten Die Variable Maskennummer steht auch in der XIL Proplist zur Verfiigung beim Einsatz von CU STOM_XXX Repository Variabeln fiir dynamische Masken wurde das so
115. entabelle und Hochschulinfo Die Konstantentabelle steht auch komplett als FreeMarker Variablen zur Verf gung Damit es keine et waigen berschneidungsprobleme mit Feldernamen gibt wird ein K_ vorangestellt Die COB_Version k nnte also z B so abgefragt werden lt if K_COB Version gt 7 gt lt else gt lt if gt Die ersten Eintr ge der Tabelle hochschulinfo sind ebenfalls verf gbar als K_Name K_Adresse K_hs_nr und K_Kapitel 2 2 6 Sx_repository In der Tabelle sx_repository k nnen Eintr ge hinterlegt werden die in allen Abfragen zur Verf gung stehen z B kann dort ein SQL hinterlegt werden der bestimmt wie sich ein Professor in SVA definiert z B bvl 30000 and dienstbez like Prof Die Tabelle ist folgenderma en aufgebaut tid serial 1 Sollte mit der Modulbezeichnung an SVA_Professor id bpchar 200 f fangen und keine Leerzeichen enthalten der Inhalt der in den Abfragen ein bvi 30000 and content text 1 gesetzt werden soll dienstbez prof f Bezeichnung die ggfs auch auf dem Professoren caption bpchar 200 f Bildschirm mit ausgegeben werden soll comment text 1 version int2 art bpchar 200 sachgebiete_id int4 sort int4 sort2 int4 sort3 int4 58 gueltig_seit Die Repository wird im Applet bei der Anmeldung mit bermittelt im XML Frontend wird es gecacht Wenn nderungen gemacht werden muss einmal im SuperXManager der Server Cache
116. enzahlen Frauen 1 FS 1 HS Verlauf ute d hild Felder select_stmt sej EE N O Einheit gt gt 7 lt lt erlaubt gt gt und xil_proplist P P 2 create temp table tmp_studis1 las d ter integer Das Feld select_stmt Im ib integer wege ia i en m_ihs integer w_1hs integer enth lt das SQL Script r funges g GE SE E integer with no log und xil_proplist die dere nur sizable_columns horizontal_scrolling j ach hi lor COLt ITE fixed_columns 1 Ergebnisdarstellung Vase ee Pr fungsneten min_heading_height 55 ri in nach Abschl ssen Column CID 0 heading_text Semester center_heading row_selectable heading_platform readonly width 10 Column CID 1 heading text Gesamt n zahl center headina ienbeginn 1 FS Facherkombinationen Zeitreihe 2 1 1 3 1 Abfragen in Maskendefinitionen Das Script in select_stmt ist relativ lang wir wollen es daher nur Auszugsweise kommentieren All gemein formuliert arbeiten wir so 1 Zun chst werden die Eingaben in den Auswahlfeldern ausgewertet und eine Ergebnismenge ermittelt meist in Form einer tempor ren Tabelle 2 Diese Tabelle wird mit den Hilfstabellen in der Datenbank gejoined und es wir eine Ergebnistabelle be rechnet Ggf werden noch Summen oder Prozente berechnet meist ben tigen wir dazu weitere tempo r re Tabellen 3 Der letzte select im Feld select_stmt enth lt die Ergebnistabelle die das Applet empf ngt Mit Hilfe der xil_proplist w
117. er da die Absatzstruktur des vorhandenen Dokuments beibehalten wird d h jede Spalte 82 ist in einem Absatz definiert der mit Column beginnt Am Ende der gesamten xil_proplist befindet sich die Endemarke in einem neuen Absatz Hier eine Erl uterung der Attribute Name Bedeutung Column Definiert eine neue Spalte Achtung die Anzahl der Column Anweisun gen muss mit der Anzahl der Spalten bereinstimmen die beim select_stmt geliefert werden heading_text Die Spalten berschrift in der Ergebnistabelle Hier sind noch spezielle Lay outanweisungen m glich s u au erdem k nnen Sie Glossare nutzen width Die Spaltenbreite in Zeichen Diese Anweisung wird im HTML Layout nicht ausgewertet Im PDF Layout wird sie relativ ausgewertet Alle Spal tenbreiten werden addiert und zum DIN A 4 Querformat in Beziehung gesetzt und dann werden alle Spalten prozentual auf cm heruntergerechnet In Excel werden die Breiten in Zeichen umgesetzt explanation Erl uterungstext der zu der Ergebnistabelle in einem separation Fenster an gezeigt werden kann Achtung Wenn Sie explanations einsetzen m ssen alle Spalten dieses Attribut haben Bitte nicht nur einzelne Spalten doku mentieren Im Notfall schreiben Sie nur die Spalten berschrift rein 2 4 10 2 Mehrzeilige Spalten berschriften Im Attribut heading text k nnen auch mehrzeilige Spalten berschriften definiert werden F gen Sie den Zeilenumbr
118. er zugeh rigen Tar get Gruppe mit antcall In den Target Gruppen werden dann die einzelnen Targets aufgerufen Namensgebung Start Targets lt lt Ober Bezeichnung gt gt Gruppen Targets modul_ lt lt Ober Bezeichnung gt gt Targets modul_ lt lt Ober Bezeichnung gt gt _ lt lt Target Bezeichnung gt gt _superx 153 3 2 Modul XML Das XML Format hat den Vorteil dass die Scripte dynamisch f r Postgres und Informix erzeugt wer den k nnen und dass die Scripte vereinheitlicht werden Aus dieser Datei werden die Scripte erzeugt die das Modul jeweils f r Postgres und Informix installieren updaten aktualisieren berpr fen und entfer nen Im folgenden finden Sie eine genaue Erl uterung der Elemtente Um neue Tabellen in der Datenbank in ein Modul zu integrieren sind einige Schritte erforderlich In die ser Anleitung werde ich anhand von einem Beispiel zeigen wie es geht Wichtig dabei ist auch penibel auf die Bezeichnungen zu achten da die Gro und Kleinschreibung bei Tabellen und Feldnamen be r cksichtigt wird Daher ist Gang nicht gleich gang und zus tzliche Leerzeichen f hren auch zu Feh lern Als Beispiel nehme ich die Tabelle gang_stg_astat die wie der Name schon verr t ins GANG Modul soll Zuerst m ssen Sie die XML Datei des entsprechenden Moduls ffnen Diese liegt in SSUPERX_DIR db module lt lt MODUL gt gt conf Die Datei hei t lt lt MODUL gt gt xml In meinem Beispiel w re dies
119. erden die Spalten berschriften und Breiten gesetzt und das Ergebnis wird angezeigt 27 4 Direkt danach wird die letzte tempor re Tabelle gedroppt und die Datenbankverbindung wird an das SuperX Servlet zur ckgegeben Am Anfang eines SQL Scriptes werden die Auswahlfelder ausgewertet die der Anwender angeklickt hat bevor er Suchen gedr ckt hat So wird z B das Feld Org Einheit wie folgt interpretiert v M SuperX Mozilla lt 2 gt a Datei Bearbeiten Ansicht Gehe Lesezeichen Tools Fenster Hilfe We S005 SY SE J Keen S a Startseite Lesezeichen The Mozilla O SuSE The Li Benutzer von SuperX Institutionsrechte Maskeninfo verwalten In diesem Formular k nnen Sie Masken verwalten Nutzungsprotokolle intern Passwort ndern ti d User einrichten 10 170 User l schen Masken Felder Studierendenzahlen Frauen 1 FS 1 HS Verlauf Feld erzuugen execute procedure sp_user_orga_child Fek d z 8 ae reg lt lt UserID gt gt lt lt Organigramm Stand gt gt lt lt Organigramm Sicht gt gt lt lt Org Einheit gt gt Feld suchen lt lt erlaubt gt gt Maske erzeugen Maske kopieren A ER create temp table tmp_studis1 Maske suchen semester integer Stylesheet suchen m_1fs integer w_1fs integer Studierende Pr fungen m_ihs integer w_1hs integer Pr fungen m_gesamt integer w_gesamt integer with no log Absolventen Zeitreihe ber 6 Jahre Absolventen nach Fachseme
120. erfuegbar hiddenverfuegbarcss from tmp_erg order by sort titel entsprechende XIL_proplist Definition muss es auch geben 81 2 4 10Spaltenlayout in Ergebnistabellen Wie im Tutorial gezeigt wird das Spaltenlayout berschriften Breite in der sog xil_proplist ge steuert der Name stammt brigens vom fr her im SuperX Windows Client eingesetzten XVT Compiler zur Layoutdarstellung Das Format ist etwas eigenwillig und soll hier erl utert werden 2 4 10 1 Die Attribute in der xil_proplist Zun chst ein Beispiel der Code f r die Maske Bewerbungsprozess nach Studiengang im ZUL Modul beginnt wie folgt XIL List sizable_columns horizontal_scrolling drop_and_delete movable_columns white_space_color COLOR_WHITE fixed_columns 2 min_heading_height 55 Column CID 0 heading_text Ebene center_heading row_selectable heading_platform readonly width 5 text_size 20 explanation Hier sehen Sie die Ausgabe Bericht Anzeige Sie sind hier Grunddaten und Basisberichte Bewerbung Zulassung Bewerbunc Bewerbungsprozess nach Studiengang Legende Bewerberz hlung Alle Semester WS 2009 2010 Studieng nge a Studiengang Bewerbungen l vente weiblich weibl in Fach intern 39 00 Der Code stammt wie gesagt von einem alten Windows Client und wurde nur aus Gr nden der abw rts kompatibilit t bernommen Nur die fett hervorgehobenen Code Teile werden berhaupt ausgewertet Wichtig ist ab
121. erkn pfung Column CID 2 heading_text 18 19 000 n m center_heading von Spalten row_selectable col_selectable rightJust heading_platform readonly berschriften width 8 kommt direkt Column CID 3 heading_text 18 19 000 n w center_heading nach dem ge EE col_selectable rightJust heading_platform readonly Wi meinsamen gt Column CID 4 heading_text 20 21 000 n Teil der Uber row_selectable col_selectable rightJust heading_platform readonly schrift width 8 Column CID 5 heading_text 20 21 000 n w center heading row_selectable col_selectable rightJust heading_platform readonly width 8 Column CID 6 heading text 22 23 000 n M center heading row_selectable col_selectable rightJust heading platform readonly width 8 M center _heading Zus tzlich kann es gew nscht sein f r diese Hierarchieebenen im Browser eine Auf und Zuklappm g lichkeit zu haben Beispielsweise k nnte man bei einer Abfrage bersicht ber Kennzahlenlieferungen drei Spalten zu Fl cheninformationen haben 2005 2006 2007 in denen angegeben wird ob geliefert wurde Fl chen e r TT wenn man den Punkt Fl chen zuklappt soll eine Zahl erscheinen wieviele Lieferungen es f r die Jahre 2005 2007 gegeben hat Um dies zu erreichen m ssen von der Datenbank vier Spalten geliefert werden flaeche2005 flae che2006 flaeche2007 und flaeche_gesamt Der entsprechende Abschnitt in der XIL Proplist mus
122. ernetExplorer als Admin anzumelden und den Webanwendungsmananger zu nutzen und in einem anderen Browser z B Firefox als eingeschr nkter User die Abfrage durchzuf hren Wenn Sie dann im Webanwendungsmanager auf Log aktualisieren kli cken sehen Sie welcher SQL f r den eingeschr nkten User erzeugt wurde 3 Modulverwaltung 3 1 Modulverwaltung mit ANT Das Datenmodell eines Edustore Moduls ist in der TOMCAT_HOME webapps superx W EB INF conf edustore db module lt lt Modulname gt gt conf lt lt Modulname gt gt xml abgelegt und dokumentiert Ausnahme Das Kernmodul liegt in TOMCAT_HOME webapps superx WEB 150 INF conf edustore db install conf kern xml Aus dieser Datei kann man mit XSLT die entsprechenden HIS1 Dateien erzeugen die f r die Installation den Upgrade die Deinstallation und die Laderoutine ei nes Moduls ben tigt werden Bei manchen Modulen z B GANG werden sogar alle Datenbankformulare aus dieser Datei erzeugt Die tab und idx Dateien werden dann in sch edustore erzeugt view Dateien in view edustore Die Klasse die im Servlet Browser die Installation erm glicht lautet de his edustore modules WebFrontendForModuleInstall Diese Klasse zeigt zun chst eine Liste der installierbaren Module Wenn ein Modul ausgew hlt wurde geht die Klasse die og Schritte durch 1 Tabellen und Views des Moduls anlegen Kopieren der oben erzeugten Schema Dateien von SU PERX_DIR db module conf his1 nach qisserver
123. erx 1 Fachsemester Stand 19 01 2005 Semester 552008 13655 159 Lie 63 0 46 5487 40 18 85 53 46 28 44 44 ws 2002 15049 3106 20 84 2427 16 13 6051 40 21 1391 44 78 1106 45 57 Ss 2002 13661 535 39 348 2 55 5371 3932 ei 4916 136 29 08 ws 2001 14324 2792 19 49 2230 15 57 5681 39 66 1251 4481 978 43 86 ss2001 12862 426 331 210 Le 5010 38 95 203 47 65 an 46 19 ws 2000 13737 2313 16 84 1797 13 08 5338 38 86 985 42 59 763 42 46 ss2000 13055 449 3 44 216 Le 5030 3853 235 52 34 110 50 93 ws 1999 13903 2143 15 41 1583 11 39 5353 38 50 9223 43 07 694 43 84 ss1999 12466 485 3 60 161 1 20 5089 37 79 252 51 96 86 53 42 ws 1998 12982 1992 15 34 1469 11 32 4835 37 24 3849 42 62 en 43 09 10 S tze gefunden 2 1 1 2 Hintergr nde Wie werden nun Felder in den Auswahlmasken gef llt und wie werden die Ergebnisse in SuperX er mittelt 2 1 1 2 1 Die Felddefinitionen Gehen wir kurz zuriick zur Auswahlmaske Jedes Feld der Maske z B Seit Semester ist ein Daten satz in der Tabelle felderinfo Dort finden Sie Angaben zum Namen Inhalt und Layout des Feldes Gehen wir zun chst zum Inhalt des Feldes Die Liste der Semester 19 Beim Klick auf das Feld Semester erhalten wir eine Reiche von Semes tern zur Auswahl Die Liste ist absteigend sor tiert Um den Inhalt des Feldes zu e
124. ewichtete F lle auszuw hlen lt br gt hierbei werden die F lle nach folgendem Prinzip gewichtet lt br gt Magister Hauptfach und Lehramt z hlt als halber Fall lt br gt Magister Nebenfach als Viertelfall alle anderen F lle Diplom z hlen voll lt caption_long gt lt nummer gt 0 lt nummer gt Im n chsten Schritt k nnen die vom Benutzer eingegebenen Parameter sichtbar gemacht werden 124 a SPEX EMMEK MONA TITEIOR Datei Bearbeiten Ansicht Chronik Lesezeichen Extras Hilfe z e gh O http mercury 8080 superx servlet de superx servlet Entwict gt SuperX Entwicklung B L http mercury param maskxml SuperX Entwicklung SuperX 3 5 build 12 06 2008 14 50 user superx fertiger SQL nach Freemarker Transformation Tabellen XML Parameter Ausblenden Alter der Studierenden 16340 gelaufen 10 31 01 Abschluss Aggregierung Fach 10 Filter Studierende F cher F cher Sicht 2376 F cher Sicht Stand date_val 17 06 2008 F cher Stand date_val 17 06 2008 Geschlecht H rerstatus 1 1 K pfe oder F lle studiengang_nr 1 and fach_nr 1 MAXOFFSET 30 OFFSET 0 Organigramm Sicht 0 Organigramm Stand date_val 17 06 2008 Seit Semester 20071 Status 1 2 3 5 6 Stichtag 0 UserlD 4 bis Fachsemester bis Semester 20071 erlaubt 0 locale de tid 16340 http mercury 8080 superx serviet de superx servlet En
125. gar schon mal in einer CU STOM_XXX Variablen eingesetzt Gleiche Vorlage f r zwei Masken je nach Maskennummer geringe Unterschiede Beispiel CUSTOM_50000_50100 lt if Maskennummer 50000 gt lt assign customize resulttable field name caption Ghiederung width 14 field akt_soll caption Ansatz width 15 explanation Haushaltsansatz inkl Einnahmen und Reste Haushalterisch Aktuelles Soll 63 field einnahmen caption Einnahmen width 10 field aus caption Ausgaben width 10 field fest caption Festgelegt width 10 field verfuegbar caption verfiigbar width 12 explanation fin_verfuegbar D gt lt else gt field name caption Gliederung width 14 field verfuegbar caption verf gbar width 12 explanation fin_verfuegbar D gt lt A gt Bei Maske 50000 erscheinen alle Spalten bei 50100 nur name und Verf gbar Man erg nzt dann vor dem Abschluss select lt if CUSTOM_50000_50100 exists gt lt assign inlineTemplate CUSTOM_50000_50100 interpret gt lt inlineTemplate gt lt if gt ginge nat rlich auch mit zwei custom_variablen im repository lt if Maskennummer 50000 amp amp CUSTOM_50000 exists gt lt assign inlineTemplate CUSTOM_50000 interpret gt lt inlineTemplate gt lt if gt lt if Maskennummer 50100 amp amp CUSTOM_50100 exists gt lt assign inlineTemplate CUSTOM_5010
126. gehen in sx_repository eine Variable definieren CUSTOM_XXXXXX Maskennummer assign der einen Hash definiert lt assign customize resulttable field name caption Gliederung width 14 field akt_soll caption Ansatz width 15 explanation Haushaltsansatz inkl Einnahmen und Reste Haushalterisch Aktuelles Soll 86 field einnahmen caption Einnahmen width 10 field aus caption Ausgaben width 10 field fest caption Festgelegt width 10 field verfuegbar caption verfiigbar width 12 explanation fin_verfuegbar D gt es wird ein customize hash defniert danin sind felder definiert die angezeigt werden sollen Nach Eingabe nderung manager cache leeren So wie oben ist die gleiche Ausgabe wie Standard Reihenfolge ndern verf gbar nach vorne lt assign customize resulttable field name caption Gliederung width 14 field verfuegbar caption verfiigbar width 12 explanation fin_verfuegbar field akt_soll caption Ansatz width 15 explanation Haushaltsansatz inkl Einnahmen und Reste Haushalterisch Aktuelles Soll field einnahmen caption Einnahmen width 10 field aus caption Ausgaben width 10 field fest caption Festgelegt width 10 D gt Will eine Hochschule zum verf gbar vom stehen haben und akt_soll gar nicht sehen muss Eintrag so a
127. gen sehr vorsichtig benutzt werden sie sind die einzigen Abfragen in SuperX die tats chlich nderungen an der Datenbank vornehmen k nnen 17 2 1 Ein Tutorial Im Folgenden wollen wir zeigen wie Abfragemasken in SuperX arbeiten und wie man die Ergebnisdar stellung von Abfragen ver ndern kann Wir zeigen dies am Beispiel der Abfrage Studierende Zeitrei he Erforderliche Kenntnisse SQL und Datenbankbedienung Grundkenntnisse zu SuperX 2 1 1 Ausgangspunkt 2 1 1 1 Das Beispiel Der Ausgangspunkt ist ein Beispiel aus dem SOS Modul Klicken Sie jeweils auf die Grafiken um sie zu vergr ern Wir w hlen aus dem I been ui Aue Themenbaum im Be ts e a e jm reich Studierende die X Anmelden Passwort Clone Kopieren Drucken Hilfe Info Th hi Maske Tabelle Abfrage Studierende Kn Erl uterung H jA E Anfragen Zeitverlauf ber die Anzahl r ckgemeldeter Studierender Zeitreihe EH Administration Frauenanteil Studierende im ersten Fachsemester ersten CH Studierende Pr fungen Hochschulsemester DJ Pr fungen CI Studierende Alter bei Studienbeginn 1 FS F cherkombinationen Zeitreihe Internationalit t der Studierenden Stud nach Hochschulzugangsb Zeitreihe Studierende Einschreibungen Studierende Zeitreihe Studierende allgemein Studierende in der Regelstudienzeit Studierende nach Abschl ssen
128. gt Es werden soviele Eintr ge auf unteren Ebe nen ausgeblendet wie n tig sortnr integer kann fiir Sortierungen benutzt werden aktiv integer ber das Feld aktiv k nnen bei Bedarf Aktivierung Deaktivierung vorgenommen werden wenn man z B im Felderinfo relation schreibt lt lt SQL gt gt select tid from sichten where art Organigramm Sicht and aktiv 1 gueltig_se date Zuk nftig f r G ltigkeitszeitr ume von Sichten 70 it gueltig_bi date S Quelle Es handelt sich um den SQL der ausgef hrt werden soll lt lt SQL gt gt am Anfang ist optional Wenn der SQL mit sp_ anf ngt wird davor je nach Datenbankserver execute procedure oder select ge setzt F r alle Sichten wird erwartet dass mindestens drei Felder name key und parent geliefert werden der konkrete Name der Spalten ist irrelevant Anschlie end k nnen optional noch Strukturinformationen folgen entweder Integer oder String Beispiel sp_fin_inst_hier lt lt UserID gt gt lt lt Stand gt gt lt lt Sicht gt gt select name key parent strukturint from tmp_hier order by name drop table tmp_hier strukturint gef llt aus fin_inst orgstruktur gibt mit Zahlen an ob ein Eintrag eine Lehreinheit oder ein Fachbereich ist Auf diese Information kann sp ter in Abfragen mit FreeMarker zugegriffen werden Beispiel select lt foreach eineInstitution in Institutionen gt lt if Aggregierung stark a
129. gue where id lt lt Kennzahl gt gt lt sqlvar gt USA_STARTJAHR gt lt sqlvar gt nicht h_akt where klrjahr gt 0 and klrjahr gt 40 kann beliebig viele Spalten enthalten bei concat as benutzen wie idll lIname as bezeichnung auf diese kann man sp ter so zugreifen t kennzahl shortname Falls mehrere Werte gefunden werden k nnen benutzt man am besten type hashse quence neu Mai 2013 man kann zwar auch type hash benutzen falls aber weniger als zwei Eintr ge ge funden werden und man ein foreach macht lt foreach entry in entries gt S fentry id entry shortname S S entry description S entry bezeichnung kommt der fehler Expected collection or sequence auswertungids evaluated instead to de superx common TemplateProcessor SxHash also am besten wenn nur ein wert gefunden werden kann type hash wenn es mehrere sein k nnen type hashsequence Neu in Kern4 2 Man kann sich auch in einem SQL File das per DOSOL ausgef hrt wird eine Sicht bauen Im select_stmt von Masken geht dies nicht da gibt es ja Sichten ja schon als Feld Beispiel lt sqlvars gt lt sqlvar name auswertungsdefinition type sicht name_intern fibu_auswertung_def stand 1 1 1900 gt lt sqlvars gt Stand ist optional als default wird today genommen lt foreach def in auswertungsdefinition elements gt def name def key lt oreach gt Su
130. h Quellsystem soll in einer Ab frage unterschiedliche Spalten erscheinen Das Quellsystem kann ber die Konstante FIN_QUELLSYS TEM ermittelt werden Zugriff ber FreeMarker als K_FIN_QUELLSYSTEM 1 MBS 2 KAHIKA Am Ende des Masken SQLs kann beispielweise stehen lt if K_FIN_Quellsystem 2 gt select eintrag hhans reste bewegungen fest verfuegbar verfuegbar fest from tmp_erg order by dr sortnr tit lt else gt 59 select eintrag hhans reste akts_ein sperr angeordneta offsoll_a angeordnete offsoll_e fest verfuegbar verfuegbar fest from tmp_erg order by dr sortnr tit lt if gt Die definierten Spalten berschriften in der XIL Proplist m ssen ebenfalls variabel angelegt werden freemarker template XIL List drop_and_delete movable_columns sizable_columns horizontal_scrolling white_space_color COLOR_WHITE fixed_columns 1 min_heading_height 35 Column CID 0 heading_text Titel DR center_heading row_selectable col_selectable heading_platform readonly width 20 text_size 8 explanation fin_titel_dr e Column CID 0 heading_text Zuweisungen center_heading row_selectable col_selectable heading_platform readonly width 15 text_size 8 explanation fin_zuweisungen Column CID 0 heading_text Reste center_heading row_selectable col_selectable heading_platform readonly width 15 text_size 8 explanation fin_reste lt if K_FIN_Quellsystem 2 gt Column CID 0 heading_text Bewegungen center_heading
131. halten in der edie Datens tze gefiltert werden k nnen ber einen Bearbeiten Button zug nglich gemacht werden 167 Sie z B die Maske Tabelle suchen diese ist ein gutes einfaches Beispiel f r eine Kombination aus Suchformular und Bearbeitungsformular 4 Build der Java Quellen Wenn Sie edustore trunk aus Subversion in Ihren Tomcat Verzeichnis webapps ausgecheckt haben gibt es im webapps Verzeichnis drei neue Verzeichnisse src Hier liegen die Java Quellen f r SuperX superx Hier liegt die SuperX Webanwendung superx build Hier liegt die build xml um aus den Java Quellen in src die superx lt lt Versionsnr gt gt jar in WEB INF lib zu erzeugen und um das superx war Archiv zu erzeugen Auch die Dateien f r den Build des SuperX Applet liegen hier 4 1 Umgebung f r ANT Um die build xml korrekt nutzen zu k nnen m ssen Sie die Umgebung f r ANT einrichten Gehen Sie in der Shell in das Verzeichnis superx build Wenn Sie planen die fertigen JAR Dateien an Kunden auszuliefern Um abw rtskompatibel zu kompi lieren sollte ANT mit einer Java 1 4 Runtime gestartet werden Setzen Sie ggf die Umgebungsvariable JAVA_HOME und JAVACMD auf eine Java 1 4 Installation z B PATH usr java j2sdk1 4 1_01 bin PATH export PATH JAVA_HOME usr java j2sdk1 4 1_01 export JAVA_HOME 4 2 Build des SuperX Servlets Um einen build des Servlets zu erzeugen gehen Sie wie folgt vor e rufen Sie auf ant distServer e
132. hen Klicken Sie z B in der Zeile Kostentr ger auf den Bearbeiten Button Es ffnet sich ein Dialog Felderinfo verwalten lt lt SQL gt gt select tid type name sortnr from sichten where art FIN Kostentr ger Sicht and aktiv 1 order by sortnr type name 146 Interessant ist die Zeile Relation die angibt welche Sichten f r den Button aktiv sein sollen Sie k nnen diese kopieren und in einem Datenbanktool wie pg_access oder der SQLWorkbench ausf h ren Erg nzen Sie vielleicht noch um die Spalte Quelle select tid type name sortnr quelle from sichten where art FIN Kostentrager Sicht and aktiv 1 order by sortnr type name av Result Messages tid type name sortnr quelle 990 10regulare Sicht n Osp_fin_ktr_hier lt lt UserlD gt gt lt lt Stand gt gt lt lt Sicht gt gt select name key parent strukturstr from mp bier order by name drop table tmp_ 1013 20 Forschungsprojekte a Ocob_alt_keys 1014 20KoTr Proj Hier Stand Update 8 0 Ocob_alt_keys Type 10 ist die regul re Sicht Typ 20 sind alternative Hierarchien aus COB Bei Quelle der regul ren Sicht sieht man dass die Prozedur sp_fin_ktr_hier mit verschiedenen dynami schen Parametern aufgerufen wird lt lt UserID gt gt wird zur Laufzeit mit der Userid tid in der Tabelle userinfo des angemeldeten Users ersetzt lt lt Stand gt gt mit dem gewiinschten Standdatum und lt lt Sicht gt gt mit der Sich
133. hsemestern sizable_columns horizontal_scrolling white_space_color COLOR_WHITE fixed_columns 1 Absolventen nach Fachsemestern nur Fach drop_and_delete movable_columns Absolventenstatistik min_heading_height 55 Column CID 0 heading_text Semester center_heading ZS Goal der Prin row_selectable heading_platform readonly width 10 Pr fungsneten e x y S e DE column CID 1 heading_text Gesamt n zahl center_heading Studierende row_selectable col_selectable rightjust heading_platform Aber bei Studienbeginn 1 FS readonly Fichertombinationen Zekreihe 8 width 8 Dann m ssen wir die Spalten berschrift n dern Spalte 2 erg nzen IStudierende Zeitreihe Insitutionsrechte S H Nutzungsprotokolle intern d leede wir am Anfang um ein Fees hee tmp studis a set frau_1hs where frau_1hs 0 NM Peer gt Zeichen Select eintrag gesamt gesamt Feld erzeugen ges_lfs round 100 ges_1fs gesamt 2 Feld kopieren ges_lhs round 100 ges_1hs gesamt 2 Meran frauen round 100 frauen gesamt 2 Maske erzeugen frau_1fs round 100 frau_1fs ges_1fs 2 Maske kopieren frau_1hs round 100 frau_1hs ges_1hs 2 giereg from tmp_studis Maske suchen Stylesheet suchen IXIL List sizable_columns horizontal_scrolling r white_space_color COLOR_WHITE fixed_columns 1 Absolventen Zeitreihe ber 6 Jahre Eiere Futter drop_and_delete movable_columns Absolvente
134. hts gt 2 2 2 3 4 has_content Wenn man wissen m chte ob eine Variable mit Inhalt gef llt ist kann man dies mit has_content Abfra gen z B lt if lehr_abg has_content gt 2 2 2 3 5 ForEach FreeMarker kann nicht nur primitive Datentypen wie Strings oder Zahlen verarbeiten sondern auch Collections Wenn im Datenmodell eine Collection hinterlegt ist kann man forEach benutzten Das sieht ungef hr so aus lt foreach eineKostenart in Kostenarten elements gt Auswertung f r eineKostenart lt foreach gt Details siehe bei Sichtfeldern Schleifen 2 2 2 3 6 For Next Schleifen List FreeMarker kann auch eine For Next Schleife mit l er Schritten erzeugen Das sieht z B so aus 42 Erzeugung einer temp create temp table tmp_aggre e e struktur char 50 text char 200 ch30_fach char 3 sortnr Tabelle mit Altersin a tervallen m_al8 lt iist 0 30 as i gt Mm_a20 m_a 18 i 2 decimal 7 2 w_a 18 1 2 decimal 7 2 lt list gt gesamt decimal 7 2 ergibt nach Freemar create temp table tmp_aggre struktur char 50 text char 200 ch30_fach char 3 sortnr ker Transformation a m_al8 decimal 7 2 w_al8 decimal 7 2 m_a20 decimal 7 2 7 2 7 2 7 2 w_a20 decimal m_a22 decimal w_a22 decimal x m_a78 decimal 7 2 w_a78 decimal 7 2 gesamt decimal 7 2 2 2 2 3 7 Freemarker in dynamischen Felderrelationen Damit ein Feld Freem
135. i aktuellem Haushaltsjahr lt if gt Freemarker greift mit K_hs_nr auf die Hochschulnr aus der Tabelle hochschulinfo zu der update wird also nur an der HFT Stuttgart gemacht eine dynamsiche Spaltenanzahl kann man mit CUSTOM_xxxx repository Objekt definieren siehe Abschnitt vorher zu dyn Spaltenanzahl Dies kann man auch erweitern in dem man im CUSTOM_xxx Repository objekt nicht nur cusotmize Objekt defienert sondern auch weitere Parameter z B FIN Abfrage zeigt Festlegungen immer an einige Hoch shculen wollen Festlegungen nur f r aktuelles Haushaltsjahr man kann z B in CUSTOM_ XXX zus tzliche Variable defnieren lt assign FestlegungenNurAktuellesJahr true gt in masken sql der Maske definiert man dann zun chst einen default wert lt assign FestlegungenNurAktuellesJahr false gt default alle festelegungen lt if CUSTOM_xxxxxx exists gt falls custom XXXX f r die maske exisiert wird es aufgerufen lt assign inlineTemplate CUSTOM_xxxxxx interpret gt lt inlineTemplate gt ausf hren der Definition berschreibt default wert von FestlegungenNurAktuellesJahr mit lt assign Fest legungenNurAktuellesJahr true gt 89 lt if gt lt if FestlegungenNurAktuellesJahr gt update tmp_erg set fest 0 where jahr year today lt if gt Standard in der Maske ist also alle Festlegungen anzeigen wenn eine Hochschule nur die vom aktuel len
136. ichtsstylesheet stehen im Art1 Feld Felder verschiedene M glichkeiten zu Auswahl Wenn der User einen bestimmten Bericht ausgew hlt hat sollen nur die zugeh rigen Felder ausgelesen werden Dazu gibt es ein zus tzliche FreemarkerV ariable lt lt Feldname gt gt Object dass das Field Objekt enth lt sowie eine Methode allKeys die eine komma separierte Liste aller Auswahlm glichkeiten liefert unab h ngig davon ob der User nur etwas ausgew hlt hat oder nicht Ergibt FelderObject allKeys bzw vars Weitere TabellenObject allKeys In der Datenblattmaske muss ein recht komplexe Definition von sqlvars mit Abfrage auf gew hlte Tabel len erfolgen z B lt sqlvar name get_tables gt lt CDATA SELECT distinct name name from sx_tables where name in sos_stg_aggr 52 lt if lt lt tablestylesheet gt gt tabelle_html xsl gt lt lt Weitere Tabellen gt gt lt else gt lt if vars Weitere TabellenObject allKeys length amp gt 0 gt vars Weitere Tabel lenObject allKeys lt if gt lt if gt order by 2 gt lt sqlvar gt Das gleiche wie der rote Block erledigt die FreemarkerMethode DatenblattTables lt lt tablestylesheet gt gt lt lt Weitere Tabellen gt gt vars Weitere Ta bellenObject allKeys auch fiir Auswahl von Feldern gab es komplexen SQL in sqlvars lt if lt lt tablestylesheet gt gt tabelle_html xsl gt
137. ie Erzeugung der neuen Tabellen passiert beim Install Upgrade automatisch darum muss man sich nicht k mmern Beispiel Tabelle schluessel neuer Name menu_element Alt lt table name schluessel version 2 0 thema Administration typ Schl s seltabelle gt lt columns gt lt column name id type INTEGER size 4 default notnull true gt lt column name variable type CHAR size 50 default notnull false gt lt column name wert type CHAR size 255 default notnull false gt lt column name beschreibung type CHAR size 255 default notnull false gt lt column name typ type CHAR size 255 default notnull false gt lt column name erlaeuterung type CHAR size 255 default notnull false gt lt columns gt Neu lt table name menu_element version 4 0 thema Administration typ Schl s seltabelle gt lt columns gt lt column name id type SERIAL size 4 default notnull true gt lt column name element_name type VARCHAR size 255 default notnull false gt me ele gt lt column n false lt column name el a a false gt a lt column name ele false gt lt column name ele null false gt lt columns gt 157 Tabelle beim Install Upgra
138. ign inlineTemplate CUSTOM_xxxx interpret gt lt inlineTemplate gt lt if gt lt if customize exists gt wenn Hochschul customizeobjekt exisit xil dynamisch aufbauen lt foreach f in customize resulttable gt Column CID 0 heading_text f caption center_heading explanation lt if f explanation exists gt f explanation lt if gt row_selectable col_selectable heading platform readonly width f width lt f oreach gt lt else gt standard xil list Column CID 0 heading_text Name explanation center_heading row_selectable col_selectable hea ding_platform readonly width 9 text_size 0 Column CID 0 heading_text aktsoll explanation center_heading row_selectable col_selectabl lt if gt complex but coool l uft schon mit 3 2010 superx4 0 jar for the super nerds Technik kann man sogar mit eigenen freemarker funktionen verbinden z B dynamsiche spalten nach cu stomizing und Link Spalten zur Einzelbuchungen nur anzeigen wenn Rechte f r Einzelbuchungen da sind einfach aus dem Kontext XIL lt function isWanted field gt lt assign result true gt lt if field starts_with linkbuch amp amp Einzelbuchrecht fexists amp amp Einzelbuchrecht is_number amp amp Einzelbuch recht 0 gt lt assign result false gt lt if gt lt if field einnahmen field starts_with linkbuchein field offsoll_e
139. ion before gt lt fo region after extent 10mm gt bei region after muss ein Name eingetragen sein in neuer Version per template rest region after bei lt fo simple page master master name rest gt lt fo region befor xtent 10mm gt lt fo region after extent 10mm gt ebenfalls Namen eintragen jetzt per template lt fo region befor xtent 10mm region name rest region before gt lt fo region after extent 10mm region name rest region after gt unter lt xsl template name pdfpage gt lt fo page sequence master name sequence master reference sequence gt lt Anzeige Aktuelle Seite Seitenanzahl gt FALSCH gilt f r alle Seiten lt fo static content flow name xsl region after gt lt fo block gt lt fo inline align left font size 8pt space end 224mm gt Erzeugungsdatum lt xsl value of select ergebnisse datum gt lt fo inline gt lt fo inline align right font size 8pt gt lt fo page number gt lt fo page number citation ref id endofdoc gt lt fo inline gt lt fo block gt lt fo static content gt lt fo static content flow name first region before gt neu lt xsl template name pdfpage gt lt fo page sequence master name sequence master reference sequence gt lt fo static content flow name first region before gt lt xsl call template name
140. isserver rem die folgenden Variablen braucht man nicht ndern rem ggf pr fen ob Dateiname der freemarker jar existiert set QISSERVER_LIB_PFAD SQISSERVER_PFAD WEB INF 1lib set QIS_CLASSPATH SQISSERVER_PFAD WEB INF classes QISSERVER_LIB_PFAD quartz 1 5 2 jar S0ISSERVER_LIB_PFAD 10o945j 1 2 16 jar QISSERVER_LIB_PFAD mail 1 4 jar 0OISSERVER_LIB_PFAD commons i0o 1 4 jar QISSERVER_LIB_PFAD freemarker jar SQISSERVER_LIB_PFAD ifxjdbc jar sQISSERVER_LIB_PFAD ant 1 8 1 jar SQISSERVER_LIB_PFAD hosu jar 3QISSERVER_LIB_PFAD postgresq1 8 3 604 jdbc4 jar QISSERVER_LIB_PFAD xercesImp1 2 8 1 jar SQISSERVER_PFAD lib servlet api jar S30ISSERVER_LIB_PFAD velocity 1 6 1 patched jar SQISSERVER_LIB_PFAD commons lang 2 4 jar SQISSERVER_LIB_PFAD jdom patche d jar SQISSERVER_LIB_PFAD mail 1 4 2 jar 2 Erzeugung und Anderung von Masken Die Abfragemasken liefern die Daten aus den Basissystemen an das SuperX Frontend aus Einige Ab fragen zur Administration sind im Kernmodul enthalten die Abfragen zu den Basissy
141. ject Create a Java project in the workspace or in an external location D Working sets AV Select Den Pfad f r Quellen und kompilierte Dateien gibt Eclipse zun chst vor Sie bernehmen die Einstel lugnen zun chst 13 ew New Java Project wo W Java Settings Define the Java build settings C Source Projects w Libraries Order and Export BB FF ey Se hk fwebapps_05_2011 gt amp sr Details Create new source folder use this if you want to add a new source folder to your project Se Link additional source use this ifyou have a folder in the file system that should be used as additional source folder g Add project webapps 05 2011 to build path Add the project to the build path ifthe project is the root of packages and source files Entries on the build path are visible to the compiler and used for building ge Allow output folders for source folders Default output folder webapps_05_2011 bin O lt Back Next gt Finish Cancel Li In der project des CVS wird das sp ter automatisch korrigiert Mit Klick auf Finish wird das Projekt geladen Danach k nnen Sie direkt den Build des Projektes starten 1 2 1 4 Git Ab August 2011 wird git genutzt vergl https wiki his de mediawiki index php Arbeiten_mit_dem_verteilten_Versionskontrollsystem_Git F r die Webanwendung super sind keine weiteren T tigkeiten mehr n tig Bei den Webanwendungen i
142. kbuch linkbuch amp Finanzpositionswahl alle gt lt else gt lt assign linkbuch linkbuch amp Finanzpositionswahl zahlungswirksam gt lt if gt 2 2 4 Datenbankunabhangigkeit Grundlage f r die Datenbankunabh ngigkeit Informix Postgres von SuperX Abfragen sind die Free Marker Makros SQL Lingua Franca s 0 Zus tzlich sollte man auf Folgendes achten entwickeln mit Postgres Da Postgres bei einigen Dingen strenger ist sollte man mit Postgres entwickeln wo m glich einfache Hochkommata haben Vorrang SELECT eineKostenart id char 10 sum betrag FROM tmp_busa Informix w rde auch eineKostenart id verstehen Postgres w rde dies jedoch f r einen festen Spaltennamen halten und meckern dass es keine solche Spalte gibt Casting benutzen Postgres muss fter mittels Casting ber den Datentyp informiert werden insert into select Summe char 100 from group by 1 2 3 Informix braucht das nicht unbedingt Postgres meldet bei fehlendem Casting gerne ERROR Unable to identify an ordering operator lt for type unknown Use an explicit ordering operator or modify the query Andersherum ist es wichtig bei unions auch null zu casten select x y z from test 57 union select x null char 10 z from test2 Postgres kommt ohne Casting klar weil es aus dem ersten Select den Datentyp erkennt Informix mel det demgegen ber nur Syntax Error 2 2 5 Zugriff auf Konstant
143. laden xml TT_PFAD home supemProjekte his hisinone mirrorwebserverftomcatwebapps supemWEB INF confledustore db modulestt v Variables VM arguments Dfile encoding UTF 8 Variables Working directory __ Default workspace_loc webapps e Other home supermProjekte his hisinone mirrortodo dbinterface Workspace Eile System Variables Apply Revert Close 2 7 4 Webanwendung Wenn nur die Grafische Oberfl che zur Verf gung steht gibt es auch hier eine M glichkeit die Maske zu sichern Xupdater Aufruf von SuperXManager als Admin http lt lt ServerlP gt gt lt lt Port gt gt superx servlet SuperXManager xupdater true Beispiel http localhost 8080 superx servlet SuperXManager xupdater true Die Seite die sich ffnet sollte folgenderma en aussehen 114 XUpdater SuperX 4 0 build 26 10 2010 19 44 enter here oder Spezialparam Absenden Hier gibt es drei Eingabefelder enter here ist zum Einspielen von Updates Masken in die Datenbank oder wird als Ausgabe f r den zu speichernden Quelltext einer Maske benutzt Spezialparam hier wird der Parameter eingegeben Bisher gibt es nur den Parameter maske eId ist die Masken ID Bei Verwendung des Spezialparams maske muss hier die ID der Maske einge geben werden welche gesichert werden soll Zum Auslesen von Masken bei Feld Spezialparam maske
144. le statt der Studierenden im 1 FS die Studierendem im 2 Xten Fachsemester sehen wollen Das ist eine recht anschauliche bung dazu ndern wir den letzten select Eine Erblast des alten Win32 Client wenn wir irgendwann wirklich mal Zeit haben widmen wir uns diesem Problem Die Syntax ist nicht gerade elegant ebenfalls ein berbleibsel vom SuperX Client 1 x XVT Compiler Aus Gr nden der Ab w rtskompatibilit t weichen wir noch nicht davon ab gt In der Praxis w rden wir nicht so arbeiten sondern die Abfrage zun chst zu einer neuen TID kopieren und dann ndern 30 Wir schreiben vor das GEES a Datei Bearbeiten Ansicht Gehe Lesezeichen Tools Fenster Hilfe Feld ges_ifs den Aus 080 supersxmiindexhtm druck ergo Insitutionsrechte m Nutzungspretokolle intern 10 170 gesamt aa isan Studierende Zeitreihe User einrichten User l schen besi Masken update tmp_studis Felder set frau_1hs where frau_1hs 0 Feld erzeugen Feld kopieren 2 ei select eintrag gesamt Feld suchen ges_1fs round 100 ges_1fs gesamt 2 ne ges_ihs round 100 ges_1hs gesamt 2 Maske kopieren Dicke Machen frauen round 100 frauen gesamt 2 Maske suchen frau_1fs round 100 frau_1fs ges_1fs 2 Stylesheet suchen frau_1hs round 100 frau_1hs ges_1hs 2 Studierende Pr fungen from tmp_studis Pr fungen Absolventen Zeitreihe ber 6 Jahre IXIL List Absolventen nach Fac
145. lfe 25 Benutzer von SuperX Institutionsrec hte Nutzungspretokolle intern Passwort ndern User einrichten User l schen Masken Felder Feld erzeugen Feld kopieren Feld l schen Feld suchen Maske erzeugen Maske kopieren Maske l schen Maske suchen Stylesheet suchen Studierende Pr fungen Pr fungen Absolventen nach Fachsemestern Fach Absolventenstatistik Absolventen Zeitreihe ber 6 Jahre Absolventen nach Fachsemestern mit Absolventen nach Fachsemestern nur Super 24 01 2005 hilfe ber Maske suchen Bitte schr nken sie Ihre Auswahl ein Gegen RS Zur cksetzen I RN Institutionsrechte Nutzungsprotokolle intern Passwort ndern User einrichten User l schen Masken Felder Feld erzeugen Feld kopieren Feld l schen Feld suchen Maske erzeugen Maske kopieren Maske l schen Maske suchen Stylesheet suchen Studierende Pr fungen Pr fungen Absolventen Zeitreihe ber 6 Jahre Absolventen nach Fachsemestern Absolventen nach Fachsemestern nur Fach Absolventenstatistik mi Absolventen nach Fachsemestern mit 24 01 2005 hilfe ber Maske suchen Bitte schr nken sie Ihre Auswahl ein Sachgebii EI Ma 10170 Studierende Zeitreihe E Ge Zur cksetzen Als Ergebnis sehen wir DE d i Datei Bearbeiten Ansicht Gehe Lesezeichen Tools Fenster
146. lizite Kostenstelle angegeben wurde erhalten als ch110_institut den obersten Knoten root Die Rechtekontrolle f r Kostentr ger ist komplizierter Start Rechtekontrolle auf Projekte lt if K_FIN_PROJ_RECHTE 1 UserIsAdmin K_FIN_PROJ_RECHTE 2 amp amp 4UserHasAllKostenstellenRights gt Kostentr gerauswahl ist optional f r externe Kostentr ger ist ein Join ber proj n tig Kostentr ger enth lt Schl ssel dur and kostentraeger in select projnr from fin_proj P where P key_extkotr in printkeys Kostentr ger allNeededkeys gt or lt lt Kostentr ger gt gt null and kostentraeger in lt printkeys Kostentr ger allNeededkeys gt or lt Kostentr ger gt gt null nur berechtigte Kostentr ger anzeigen lt if Kostentr ger is_hash amp amp Kostentr ger sichtname externe Kostentr ger gt f r externe Kostentr ger ist ein Join ber proj n tig Kostentr ger enth lt Schl ssel and kostentraeger in select projnr from fin_proj P where P key_extkotr in lt printkeys Kostentr ger allNeededkeys lt else gt Es wird zun chst unterschieden ob die klassische Projekterechteverwaltung genutzt wird K_FIN_PROJ_RECHTE 1 der User Admin ist oder alle Kostenstellenrechte hat dann ist die Kosten tr gerauswahl optional Zeile 3 10 ansonsten werden nur berechtigte Kostentr ger angezeigt Zeile 12 19 Innerhalb der beiden Bl cke wird noch mal unterschieden ob
147. lkendiagramme charttype hbar oder hbar3D f r horizontal bar MoreAttribs useOnlyColNo useOnlyColNo 2 wenn nur 2 Spalte ausgegeben werden soll 2 5 6 2 5 Tortendiagramme Bei einem Tortendiagramm wird blicherweise die erste und zweite Spalte visualisiert Im Beispiel die Hauptnutzfl che aufgeteilt nach Geb uden Ge Hauptnutz Nebennutz Verkehrs Funktions Sonstige Gesamt b ude fl che HNF fl che NNF fl che fl che Fl che fl che GA 31 56 14 00 0 00 0 00 0 00 31 56 GABF 83 50 15 00 0 00 0 00 0 00 83 50 GB 810 20 123 00 0 00 0 00 0 00 810 20 GBCF 43 53 20 00 0 00 0 00 0 00 43 53 UB Bibliothek 944 29 183 00 0 00 0 00 0 00 944 29 Falls nicht die Werte der zweiten Spalten visualiert werden sollen kann in der Tabelle graphicformars unter moreAttribs der Parameter useNo angegeben werden also z B useNo 3 f r eine Darstellung der Nebennutzfl che Sie k nnen bei Tortendiagrammen auch das Attribut lipFlop angeben Dann wird standardm ig die zweite Zeile hier das Geb ude GA mit HNF NNF Verkehrsfl che etc als Torte dargestellt Um die Gesamtfl che auszublenden f gen Sie noch ignoreColNo 7 hinzu das funktioniert da der Aus tausch von Zeilen und Spalten flipFlop ja grunds tzlich als Letztes passiert Um statt der zweiten Zeile GA die dritte Zeile GABF zu visualisieren m ssten Sie useNo 3 ange ben 99 2 5 6 3 spezielle Stylesheets benutzten Zuk nftig F r einzelne Masken
148. lt folgende Syn tax lt rs gt lt row gt lt fld name table_cat gt superx lt fld gt lt fld name table_schem gt superx lt fld gt lt fld name table_name gt gang_stg_astat lt fld gt lt fld name column_name gt tid lt fld gt 155 lt fld name key_seq gt 1 lt fld gt lt fld name pk_name gt gang_stg_stat_tid lt fld gt lt row gt lt rs gt Die Elemente fld name m ssen hier von rs und row umschlossen werden F r einen Weiteren primaryKey wird ein neues Element row in dem selben rs geschrieben Zur Beschreibung table_cat Databasenamen table_schem Databasename table_name Tabellenname in dem der Primarykey steht column_name Spaltenname vom Primarykey key_seq Der wievielte Primarykey ist dies von der Tabelle pk_name Name vom Primarykey blicherweise lt lt Tabellenname gt gt _ lt lt Spaltenname gt gt Im gesamten sieht es in meinem Beispiel von der gang_stg_astat so aus lt table name gang_stg_astat caption Studienf cher amtlich zu Lehreinheiten version 0 1 thema Studieng nge typ Schl sseltabelle datenquelle 1 gt lt description gt Zuordnung amtlicher Studienf cher einer Hochschule zu internen Lehreinheiten lt descrip tion gt lt columns gt lt column name tid type SERIAL size 4 default notnull true description Laufnummer 4 8 Key true gt lt column name lehreinheit
149. lter der Studierenden lt maskenname gt lt explanation gt Altersverteilung der Studierenden lt explanation gt lt hinweis gt lt hinweis gt lt stand gt 28 02 2008 lt stand gt lt chartx gt Altersgruppe lt chartx gt lt charty gt Anzahl lt charty gt lt felder gt lt feld varname K pfe oder F lle typ sql gt lt caption_short gt K pfe oder F lle lt caption_short gt lt caption_long gt lt html gt Die Auswahl K pfe oder F lle l sst u a die Vorgabe K pfe F lle gewichtete F lle zu lt br gt dabei als einzelne studierende Personen zu verstehen lt br gt die das Fach im ersten Fach des erster Studiengangs belegen lt br gt Bei F llen werden die Belegungen gez hlt Zweite und dritte bzw lt br gt Nebenf cher f r Lehramt und Magister sowie Zweitstudieng nge lt br gt Weiterhin ist es teilweise mp EECH D Fertig o 2 7 8 3 Berechtigung f r das Entwicklungsservlet Standard ist dass das Servlet aus Sicherheitsgr nden nur f r Adminstratoren zug nglich ist wenn Sie es auch als eingeschr nkter User nutzen m chten m ssen Sie es f r diesen User in der tomcat webapps superx WEB INF web xml freigeben Erg nzen Sie einen lt init param gt Block zur obig auf gef hrten lt servlet gt Definition Inhalt ist eine mit Komma getrennte Liste der Userkennungen die Zugriff erhalten sollen z B lt servlet gt lt servlet name gt Entwicklung lt servlet name gt lt servlet cl
150. mask_style S where X tid S stylesheet_id and S maskeninfo_id lt lt Maskennummer gt gt und zum Beispiel f r Defaultwert lt lt SQL gt gt select distinct filename X caption from sx_stylesheets X sx_mask_style S where X tid S stylesheet_id and S maskeninfo_id lt lt Maskennummer gt gt and S ord 2 order by 2 F r das Feld tablestylesheet wird automatisch eine Beschriftung hinterlegt damit auf der Maske als Anzeige Bericht erscheint Au erdem m ssen Sie ein Feld Ausgabeformat in der Maske erg nzen ebenfalls Feldart 1 relation lt lt SQL gt gt select element_value description from menu element where element Ausgabeformat and nature smallint lt 100 order by nature smallint Beispiel f r Excel als defaultwert 79 lt lt SQL gt gt select element_value description from menu element where element Ausgabeformat and description Excel 2 4 8 Navigationsspalten im XML Frontend Wenn die Ergebnistabelle an das XML Frontend tibergeben wird dann Konnen spezielle Spalten fiir die Navigation eingesetzt werden Die Spaltennamen werden im letzten select des select_stmt einer Makse bergeben nexttable Link auf eine andere SuperX Tabelle der Inhalt des Feldes wird dann um den Pfad zum Servlet optional auch den String der Sessionid und den Passus SuperXmlTabelle tid erg nzt d h dem Servlet wird als erster Parameter die maskeninfo tid bergeben So wird z B aus dem Inhalt 20010 amp id 2044 der Link ht
151. meine Schl sselw rter sind der Tabelle sx_captions definiert man erkennt sie daran dass die Spalte id gef llt ist table_name field_name und record_no hingegen leer tid id table_nam field_nam record pol locale contents_short contents_long sachgebiete_id e e 100 1 studiengang de Studiengang Studieng nge definieren sich durch das Fach die Vertiefungs richtung durch Haupt oder Nebenfach sowie den Abschluss 2 studiengang 3 stud_general en de Subject De gree Studierende allgemein A combina tion of sub ject and de gree as well as the major minor dis tinction 16 4 stud_general Im Beispiel wird der Tag studiengang definiert en students ge neral Dieser Tag wird an beliebiger Stelle Maskennamen berschriften select_stmt XIL Proplist XSL Dateien etc durch den Eintrag contents_short der aktuellen Locale ersetzt 2 6 1 2 Der Spezialfall Maskenfelder F r die Erl uterung von Maskenfeldern k nnen kurze und l ngere Hilfetexte hinterlegt werden Die kurzen Texte dienen als Beschriftung des Feldes berscheiben als den Feldnamen und die langen Texte erscheinen als Tool Tip bei Mausbewegung auf den Button Im Ausdruck werden die Maskenfelder wahlweise auf einer separaten Seite dokumentiert Damit nicht f r jedes einzelne Maskenfeld ein Eintrag gemacht werden muss kann ein Hilfetext ber seinen Nam
152. mm Sicht gt gt und lt lt Organigramm Stand gt gt 13 Empfehlenswert ist aber insbesondere bei Sichten die Benutzung der FreeMarker Technologie Wenn diese nicht benutzt wird muss bei Abfragen mit Organigramm Sichten ggfs das select_stmt in Maskeninfo angepasst werden Beispiel xecute procedure sp user_orga child lt lt UserID gt gt lt lt Organigramm Stand gt gt lt lt Organigramm Sicht gt gt lt lt Org Einheit gt gt lt lt erlaubt gt gt Freemarker Trick um festzustellen ob bei einer Sicht etwas ausw hlbar ist lt if Kostenstelle elementsMaxEbenesgt 1 gt lt if gt wenn nichts ausw hlbar ist Anzeige Keine Auswahl m glich liefert elementsMaxEbene 1 Ansonsten die tiefste Ebene im Baum z B 5 2 3 4 Alt Hierarchien aus CoB Es werden Hauptsichten Type 10 f r Kostenstellen Kosten Erl sarten und Kostentr ger angelegt Au erdem f r jede Auswertungshierarchie einen Eintrag mit Type 20 Im Feld quelle muss die Tabelle angegeben sein in der die alt Hierarchie definiert ist Eine Tabelle mit alternativen Hierarchie muss so aufgebaut sein hierarchie_id integer key char 10 parent char 10 Zum Aufbau der Hierarchie werden weiterhin alt_hier_id treeviewtable und treeviewid benutzt 2 4 Spezielle Details 2 4 1 Checkboxen und Querabh ngigkeiten Checkboxen k nnen mit Feldart 10 definiert werden Bei einfachen Masken kann feldeinfo relation leer
153. mp Jahr S Jahr amp Semester Semester amp Datum 20 Personal vars Datum Personal is_sequence gt terpret gt lt assign linkt gt lt CDATAEND lt href gt lt caption gt Start lt caption gt lt item gt lt if entries lt foreach in entries gt lt assign linktimeline e linktimeline in linktimeline gt lt assign gt lt assign linksub e linksub interpret gt lt assign links gt lt linksub gt lt assign gt lt doubleitem id e id gt lt ak tuell gt lt zeit replace Zei reihe gt CDATASTARTS linkt name CDATAEN lt text gt lt xupdate gt 2 7 9 7 Erweiterungen des XML Frontends tuell gt CDATASTARTS links replace Fakultaten CDATAEND lt ak treihe CDATAEND lt zeitreihe gt lt caption gt CDATASTARTS e short D lt caption gt lt doubleitem gt lt foreach gt lt if gt lt navigation gt gt Das XML Frontend bietet gegen ber dem Applet einige Erweiterungen die insbesondere f r aufw ndi ger gestaltete Webapplikationen n tzlich sind Die Ergebnissseiten werden nicht komplett geladen sondern im Rahmen von frei definierbaren Inter vallen z B 30 Datens tze pro Seite Am Seitenende wird dann eine Navigationsm glichkeit gelifert Vorherige Seite N chste Seite Der Intervall wird in SUPERX_DIR webserver tomcat webapps superx WEB INF web xm1 definiert Parameter maxOffset
154. mp_ch110_institut and dr in lt lt Deckungsring gt gt and jahr lt lt Haush altsjahr gt gt and kap in lt lt Kapitel gt gt order by 2 Achtung Absatzmarke scheint auch wichtig zu sein Eurozeichen in Namen Eurozeichen in Namen k nnen Probleme mit XSL machen daher am besten namen mit Freemarker set zen und replace vornehmen Beispiel lt sqlvar name sachkontonamen gt select sachkonto bezeichnung from fin_fibu_kont whe re haushaltsjahr integer amp lt lt lt Jahr gt gt and hhjende is null or hhjende integer amp gt lt lt Jahr gt gt lt sqlvar gt create index ix_tmp_ergl on tmp_erg issachkonto sachkonto lt foreach s in sachkontonamen gt update tmp_erg set name s name replace E EUR replace x20AC EUR replace x0080 EUR where issachkonto 1 and sachkonto S s id lt foreach gt Neu in kern4 5 Einen Defaultwert setzen nur wenn der auch in der Auswahlliste vorkommt lt lt SQL gt gt select apnr apnril Idruck from gxstage_cifx where key 3 and apnr 9999 and lt if vars Haushaltsprog InnenauftragObject containselementwithid 9999 gt 1 1 lt else gt 1 0 lt if gt 2 2 3 neue Funktionen 2011 UserRights Dbversion UserMaskRights Komma getrennte Liste am Anfang auch f hrendes Komma UserHasMaskRight UserIsAdmin boolean UserName UserGroups tids UserGroupnames namen IsUserInGroup tid boole
155. n Sie k nnen eine TID vergeben und einen Na men eintragen EC I reitet Stylesheets hoehe lt CREATE temp TABLE tmp_user tid integer NOT NULL benutzer char 30 NOT NULL By kennwort Char pi NOT NULL name char 0 max_versuch smallint NOT NULL akt_versuch smallint NOT NULL XIL List drop_and_delete movable_columns sizable_columns horizontal_scrolling white_space_color COLOR_WHITE fixed_columns 1 Be min_heading_height 35 Column CID 0 heading_text Feld center_heading row_selectable col_selectable heading_platform readonly width 28 text size 30 Datensatz nl 4 IN gt t r von 1 Gefiltert Das select_stmt ist ein gro es Textfeld und l t sich besser durch Dr cken der Taste in einem se paraten Fenster bearbeiten Leider werden Tabulatoren im normalen Windows Editor nicht korrekt darge stellt deshalb befinden sich rechts noch zwei Buttons mit denen Sie Masken in Word editieren k nnen Mit dem Button ffnen Sie das select_stmt in Word und k nnen dort nderungen vornehmen Mit dem Button Ka speichern Sie die nderungen in der Datenbank und Word wird geschlossen Bitte be achten Sie dass Sie die Dateien in Word nicht speichern m ssen Analog k nnen Sie verfahren wenn Sie das Feld xil_proplist bearbeiten Um in Access sicherzustellen dass Feld nderungen wirklich in der Da tenbank gespeichert werden sollten Sie sich einen
156. n 89 2 621 372 Feld bescht gen andern Aerer Eeer 93 2 6 2 Erzeugung der SuperX Hilfe im Javabelp Format 95 2 7 Werkzeuge zur Masken Entwieklung 2 2u u2 202er 95 2 7 1 bersicht 4 2 2 2 2 3 22 28 5805450 asians Es WR BB E ne RI BB 95 EE EE 96 2 7 2 1 Masken V erwalttn gs sn 623 ase sth 222220 anna nen Nam Ged a 96 2725 A Eme Maske suchen isis eegen u heat EE eG NARS SR Rs 96 2 7 2 1 2 Eine Maske sichern und entladen ANNE 96 2 7 2 1 3 Eine M ske neweinf gen 220u2 20 decdsgs ee es iaech sue vba buss cnsunsndsad scene Sungai seiner 97 2 1 2 4 Eine Maskeil schen 2 2 22 2 222 22 sa Ae a a ee e 98 2 7 2 2 nderungen an einer Maske vormmehmen 98 2 7 3 Masken verwaltting 1m ECustore siinon ee E ied eaten E Haseena este 98 2 9 321 Masken einspielen ees ie idee ie AE ee e hee 98 2 7 3 2 Masken Entladen 888820 Rips br EEE a EREE sp ep 99 PATEE EE e EE 101 WE Das Access Frontend enee dee EES 103 2 7 6 Wetere 00185 3 22 22 2322 hontai a ee 106 24 OV SQU Workbench Muse ae an Egeter 106 2 7 7 Diagnose Tool GSP erneer ria nso ae EA saben eee EE Eed ich 107 2 7 8 Entwicklungsservlet f r Super XS Abhiragen eee eee ceeeecseesseceeeesecsecesececeseeesceseseeseseseaeeseeeseaeeesaaeeenaa 108 2 7 8 1 Aufrufseite des Entowicklungsservletg nennen 108 2 7 8 2 Funktionalit t des Pntwicklungsservlets 108 2 7 8 3 Berechtigung f r das Bntwicklungsservlet eee eeeeeeseeeeeceeesecaeesaecseceaececeseeseesseesseeseaeeseaaeee
157. n Namen des Knotens 50 Insert into mp erg fikr betrag SELECT eineKostenart id II II eineKostenart name sum betrag FROM tmp_busa subkeys liefert eine Liste mit dem Schl ssel des aktuellen Knotens z B Personalkosten 1 und aller seiner Unterknoten z B 11 12 auch von versteckten Knoten Insert into mp erg fikr betrag SELECT eineKostenart id II II eineKostenart name sum betrag FROM tmp_busa where fikrkey in lt printkeys eineKostenart subkeys group by 1 Bei Kostenstellen Sichten werden nur die erlaubten Knoten ausgegeben z B root Hochschule Auswahl fak Fakult ten Auswahl 1 fak1 Auswahl 11 Institut 1 13 Institut 3 wenn nichts ausgew hlt wurde root fak oder fakl wird trotzdem nur 11 13 als subkeys ausgegeben weil nur die selbst erlaubt sind gt bei foreach Methode elements ist es anders root fak fak1 werden auch mit durchlaufen weil Teil summenzeilen interessant sein k nnen strukturInt strukturStr beschreibt Art oder Struktur des Knotens Beispiel orgstruktur im Organigramm beschreibt ob ein Knoten eine Lehreinheit oder ein Fachbereich ist 20 bzw 30 Diese Strukturinformation ist im Knoten hinterlegt sofern beim Einlesen der Sicht an Postition 4 und oder 5 etwas angegeben wurde z B select name key_apnr parent orgstruktur from organigramm Sie kann z B f r if Abfragen zur Aggregierung benutzt werden lt foreach eineInstitution in Insti
158. n abfragen m ch te ob berhaupt etwas in der Datenbank gefunden wurde kann man lt if fin _geldgeber_exists has_content gt benutzen Die zweite Art von Variable Geldgeber wird als Liste von Items gef hrt und kann in der Abfrage be nutzt werden z B mit where ggnr in 38 lt foreach gg in geldgeber gt S gg key r lt foreach gt Die erste per SQL eingelesene Spalte ist das Attribut key die zweite name optional kann auch noch dritte vierte Spalte mit Strukturinfo eingelesen werden lt sqlvar name geldgeber gt select ggnr ggnamel klr_geldgeber strukturint from fin_geldgeber lt sqlvar gt Auf die dritte Spalte kann man zugreifen ber das Attribut strukturstr und die vierte Spalte mit strukturInt also f r das orbige Beispiel mit lt foreach gg in geldgeber gt Hier steht der Inhalt der Spalte klr_geldgeber S gg strukturStr Analog fiir strukturInt In den sqlvars kann auch freemarker syntax und repository konstanten benutzt werden obstruses Bei spiel lt sqlvar name spezial_gege gt lt if K_FIN_Quellsystem 1 gt select ggnr ggnamel from fin_geldgeber where ggnr in FIN_Drittmittel lt else gt select ggnr ggname2 from fin_geldgeber where ggnr in FIN_Drittmittel lt if gt lt sqlvar gt Achtung bei den SQL Statements innerhalb von SQLVAR Abschnitten d rfen Sie keine lt oder gt Zeichen nutzen sondern mi
159. n nach Fachsemestern mit min_heading_height 55 Column CID 0 heading_text Semester center_heading a nach Fachsemestern nur row_selectable heading_platform readonly width 10 Column CID 1 heading_text Gesamt n zahl center_heading Studierende Pr fungen Pr fungen Abeolventenstatistik Alter bei der Pr fung row_selectable col_selectable rightjust heading_platform Pr fungsneten readonly Pr fungsncten nach Abschl ssen width 8 EE column CID 2 heading text 1 FS n gesamt center headina Alter bei Studienbeginn 1 FS eS Facherkombinationen Zeitreihe Gi Semester Und wenn wir dann die Maske im Themenbaum neu ausw hlen und ablaufen lassen erhalten wir fol gendes Ergebnis Die dritte Spalte zeigt gt Superx 2 2 Universitat Duisburg nicht mehr die Studie Bs E 8 i renden im 1 Fachse Anmelden Passwort Clone Kopieren Drucken Hilfe Info mester sondern den e Toa Rest Alle anderen Spal Studierende Zeitreihe 5 b Parameter ten haben sich nicht ver K pfe oder F lle K pfe Seit Semester WS 1998 1995 Org Einheit keine Aus wahl Stand 25 01 2005 Horerstatus HH ndert o Beurl User superx Stand 19 01 2005 13655 13 496 1 16 63 0 46 5487 15049 11 943 20 64 2427 16 13 6051 13661 13 126 3 92 348 2 55 5371 14324 11 532 19 49 2230 15 57 5681 12862 12 436 3 31 210 1 63 5010 13737 11 42
160. nd eineInstitution strukturInt 30 gt lt else gt lt if gt lt foreach gt 2 3 1 Eintrage verstecken oder nicht selektierbar machen Es kann gew nscht sein dass Eintr ge versteckt hinterlegt werden wenn z B immer bei Auswahl eines Instituts 0405 auch intern dessen alte Nummer 0205 ber cksichtigt werden soll Der User soll in SuperX nur 0405 sehen und ausw hlen k nnen Bei Berechnung durch die Datenbank soll aber 0405 und 0205 ber cksichtigt werden F r die klassischen Organigramm Sichten muss an Position 4 und 5 zun chst die Information lehre 0 1 und erlaubt 0 1 folgen 71 Um einen solchen Effekt zu erreichen muss einzelnen Eintr gen f r die Sicht der Wert nodeattrib 1 ge geben werden Das geschieht indem man den Quell SQL der Sicht s o erweitert um ein explizit benanntes Feld nodeattrib z B sp_fin_inst_hier lt lt UserID gt gt lt lt Stand gt gt lt lt Sicht gt gt select name key parent strukturint nodeattrib from tmp_hier order by name drop table tmp_hier Die Position von nodeattrib muss nach name key und parent liegen ist ansonsten aber irrelevant Ent scheidend ist die Spaltenbezeichnung nodeattrib Sichergestellt werden muss auch dass die Hierarchie stimmig ist also dass der Eintrag mit dem Schl ssel 0205 als Parent den Wert 0405 hat Noch ein Beispiel f r eine spezielle Kostenartensicht bei der Kostenarten mit langen Schl sseln ver steck
161. nde Auskommentiert angeben Z B lt lt Studiengang gt gt lt assign filter filter and tid_stg in Studiengang allNeededKeysList gt lt lt Studiengang gt gt Zum Schluss kommt noch das Macro welches die bisherigen Eingaben verarbeitet Dies mird unver n dert an das Ende angeh ngt lt generate_resultset_multitable tabellen table_list p_show_keys lt lt Schl ssel anzeigen gt gt p_field_list_select field_list_select p_foreign_fields foreign_fields p_filter filter p_field_list_groupby field_list_groupby p_join_clause join_clause J gt Und fertig ist der Datenblattbericht Nun muss nur noch die XIL_Problist eingerichtet werden Hier ist es am einfachsten wenn die XIL_Problist eines vorhandenen Datenblattberichts genommen wird und in der SQLVAR get_felder in der where Bedingung der Name der Bezugstabelle ausgetauscht wird In dem Beispiel ist es die Tabelle sos_stg_aggr where table_name in sos_stg_aggr 2 8 4Schl ssel Anzeigen data integrity Wenn Sie eine eigene Tabelle als Grundlage haben m ssen in der modul xml data integrity Eintr ge gepflegt werden damit die Anzeige von Schl sseln Ja Nein funktioniert 144 Beispiel lt relation from semester to man_facts delete FALSE displayType select visibleFields eintrag format s gt lt relation column from tid to sem gt lt relation gt 2 8 5Performance bei Datenblatt Berichten Dat
162. ne Spalte in der Tabelle anzulegen irgendwas fehlt sp ter stimmt auch noch son dern ein BLOB Feld moreattribs in dem weitere Attribute nach der Syntax 97 attributname wertl attributname wert eingetragen werden k nnen z B color1 100 200 0lmax Wert Y Achse 18000 Wenn es in Ergebnistabellen Leerzeilen gibt werden diese fiir die Grafikerstellung automatisch igno riert 2 5 6 2 2 MoreAttribs Die Attribute sind nicht case sensitive Statt nach Java Convention ignoreRowsWith kann man auch ignorerowswith oder IGNOREROWSWITH schreiben Die Reihenfolge der Attribute spielt keine Rolle Attribute die bei allen Grafiken anwendbar sind Name Beispiel Erlauterung ignoreRowsWith ignoreRows With Summe Alle Zeilen der Ergebnistabelle bei denen in der ersten Spalte das Stichwort Summe vorkommt werden bei der Grafikerstellung igno riert ignoreColNo ignoreColNo 4 Spalte vier wird nicht ausgegeben colorX colorl redlcolor2 155 0 30lcolor3 gray30 Definition von Farben ber Systemname mit Komma getrennten RGB Werten oder Grauabstufung von 0 wei bis 100 schwarz flipFlop Ganz zum Schlu werden Zeilen und Spalten ausgetauscht Eintr ge f r ignoreRows und ignoreColNo beziehen sich auf die ur spr ngliche Tabelle 2 5 6 2 3 S ulendiagramme charttype bar oder bar3D moreAttribs useOnlyColNo useOnlyColNo 2 wenn nur 2 Spalte ausgegeben werden soll 98 2 5 6 2 4 Ba
163. ne gew nschte Sicht mit einem gew nschten Stand hinterlegen k nnen 2 5 5 Zuk nftig Feldnamen Synonyme Wenn besonderes Problem tritt auf wenn inhaltlich gleiche Felder in unterschiedlichen Masken unter schiedlich hei en z B Institution Lehreinheit Org Einheit oder Semester Seit Semester Start Semester Auf der Makro Maske sollte idealerweise nur ein Feld stehen z B Org Einheit 95 Wenn verschiedene Sichten benutzt werden m ssen alle in den Untermasken ben tigten Sichten aus w hlbar sein s o Man m sste irgendwo Synomyme hinterlegen k nnen z B makro_feld_alias makro integer 15000 feldname char Org Einheit alias char Lehreinheit sortnr integer null f r grunds tzlich oder sonst sortnr in ei nem Makro hei t nur f r die Abfrage x and sortnr 3 2 5 6 Aktionen Grafikerzeugung 2 5 6 1 Grundlagen In der Tabelle macro_masken_bez gibt es eine Spalte aktion in der verschiedene Aktionen definiert werden k nnen Derzeit sind folgende Aktionen m glich Beschreibung showTable Die Ergebnistabelle anzeigen Diese Aktion wird standardm ig durchge f hrt wenn bei aktion nichts angegeben ist createChart x Eine Grafik erzeugen s Kapitel Grafikerzeugung Mehrere Befehle sind durch zu trennen die Reihenfolge spielt eine Rolle showTable createChart 1 zeigt erst die Tabelle und danach die Grafik createChart 1 showTable zeigt erst die Grafik und danach die Tabelle
164. ng un ter Windows k nnen Sie eduSTORE nutzen Je nach Werkzeug gibt es unterschiedliche Vorgaben Wichtig ist aber immer dass die Shell Umge bungsvariablen in der Datei SQL_ENV korrekt sind Wenn Sie sich ein Kernmodul lokal installieren ist die auf jeden Fall gegeben 1 2 eduSTORE Unter Windows k nnen Sie z B Eclipse nutzen um in eduSTORE zu entwickeln Siehe auch http wiki his de mediawiki index php EduStore _Installation_und_Einrichtung_der_Entwicklungsum gebung 1 2 1 Installation und Konfiguration von Eclipse Eclipse ist die Standard Entwicklungsumgebung fiir eduSTORE Ein Teil von eduSTORE wird im HIS CVS gepflegt und ein Teil in diversen git Repositories 1 2 1 1 Starten von Eclipse Die Installation von Eclipse ist denkbar einfach Wenn Java installiert ist muss man Eclipse nur noch herunterladen und Entpacken und danach die Anwendung eclipse starten Achten Sie darauf dass Eclipse mit gen gen RAM gestartet wird Aufrufbeispiel eclipse vm home superx tools java jdk1 6 0_21 bin vmargs Dfile encoding UTF 8 Xmx1500m XX MaxPermSize 200m 1 2 1 2 Tomcat Plugin Um Tomcat aus Eclipse zu starten muss man das Sysdeo Tomcat Plugin installieren Laden Sie das Plugin herunter von der Eclipse Site und entpacken Sie es in lt lt Eclipse Pfad gt gt dropin Starten Sie dann Eclipse einmal mit dem Parameter clean Wenn das Tomcat Symbol f r Start Stopp und Restart erscheint ist alles ok Danach starten
165. omfield spezielle Layoutanweisungen kombinieren z B Feldgr e E lt form name Studienf cher amtlich zu Lehreinheiten Liste table gang_stg_astat path edit gang gang_stg_astat_list jsp followUp caption Studienf cher amtlich zu Lehreinheiten Liste orderBy astat gotoHt helpfile maxRows mode update_insert gt lt description gt Zuordnung amtlicher Studienfacher einer Hochschule zu internen Lehreinheiten lt description gt lt filters gt lt filters gt lt field selection complete false gt lt customfield name tid nullFieldValue gt lt customfield name astat type label nullFieldValue visibleSize 10 gt lt customfield type link name Details path superx edit gang gang_stg_astat_edit jsp linkid tid gt lt form gt lt form name Studienf cher amtlich u Lehreinheiten table gang_stg_astat path edit gang gang_stg_astat_edit jsp followUp caption Studienfacher amtlich zu Lehreinheiten bearbeiten 166 orderBy astat gotoHt tid helpfile maxRows 1 mode full gt lt description gt Zuordnung amtlicher Studienf cher einer Hochschule zu internen Lehreinheiten lt description gt lt filters gt lt filters gt lt field selection complete false gt lt customfield name tid nullFieldVal
166. on tabelle_html_rows xsl erstellen und den Dateinamen in der Maske bei char tx eintragen 76 2 4 5 Hinweis auf Masken in Der tabelle maskeninfo hinweis kann man einen festen Hinweistext eintragen z B Beta Phase Bei Bedarf kann man auch SQL nutzen lt lt SQL gt gt select ohne Lehramtsabschl sse from xdummy where lt lt Semester gt gt lt 19961 Seit 4 1 10 1 2012 geht auch Freemarker ein Beispiel lt lt SQL gt gt freemarker template lt if UserlsAdmin amp amp IsUserInGroupWithName Administratoren amp amp IsUserInGroupWithName Personalabteilung gt select ohne Personalkosten from xdummy lt if gt 2 4 6 CSV Upload Die Daten werden zun chst in eine temp Tabelle Kopie der Zieltabelle eingef gt und auf Datentyp Foreign keys etc getestet wenn der Import prinzipiell m glich ist k nnen im select_stmt der Maske zu s tzliche Kontrollen erfolgen Freemarker Variable testupload 1 z B ob die hs_nr auch die der gew hl ten Hochschule entspricht entwaige Fehler K nnen in die temp Tabelle tmp_error eingef gt werden Falls Fehler eingef gt wurden zeigt das System diese in der HTML Vorschau an Ansonsten wird eine Import Vorschau im HTML angezeigt und ein Jetzt importieren Button Wenn der Button angeklickt wurde wird der SQL im select_stmt der Maske testupload 0 ausgef hrt die Spaltennamen werden in der Free marker Variablen colnames hinterlegt Ein Feld mit Feldart 19 Datei wird ben
167. orherige Spalte in Column CID 6 heading_text 1 HS row_selectable col_selectable rig esamt center_heading st heading_platform readonly Studienfach Anzahl bzw Anteil lt html gt Gesamtzahl r ckgemeldeter Studieren drop table tmp_rs_final2 studallg dat x 850 600 In 1 GES lt me amp l gt E 2 8 In diesem Formular k nnen Sie Masken verwalte Applet 0 XML 1 beide 2 lt lt SQL gt gt select erlaeuterung from koepfe_oder_faelle where apnr lt lt K pfe oder F lle Im Applet wird der Er l uterungstext bei Mausklick auf den Bu ton Erl uterung ange zeigt Wie sehen den Text aus der Maskenerl uterung sowie f r jede dokume niterte Spalte den Text der Spaltenerl uterung 103 Themenauswahl Maske Tabelle Studierende und Studienanf nger nach Geschlecht Parameter K pfe oder F lle K pfe Semester SS 2005 F cher keine Einschr nkung F cher intern Stand 12 05 2005 H rerstatus alle Aggregierung Fach F cher Studieng nge Status Alle ohne Beurl User supenm Stand 01 01 2003 Gesamt 1 FS 1 FS 1 HS 1 HS Ebene Studiengang zahl gesamt in gesamt in Summe Fach intern Fach intern 1 416 13 0 92 zl Fach intern Allgemeine Sprachwissenschaft H Studiengang Allg Sprachwiss Allg Spr Grammatik Sern Grun 1 Fach intern Bildungsplanungilnstructional Design 6 Studiengang
168. orm readonly width 10 explanation sieht in der Ausgabe so aus 84 Bericht Anzeige Sie sind hier Grunddaten und Basisberichte gt Bewerbung Zulassung gt Bewerbunc Bewerbungsprozess nach Studiengang Legende Bewerberzahlung Alle Semester WS 2009 2010 Studieng nge a Ebene Art Studiengang d Ebene Bewerbungen gesamt weiblich weibl 64 25 39 00 2 4 10 4 dynamische Spaltenanzahl kann mit Freemarker realisiert werden Einfaches Beispiel nur bei FIN_Quellsystem 1 MBS Soll Ansatz ausgegeben werden abschluss Select in masken sql select name lt if K_FIN_Quellsystem 1 gt hhans lt if gt einnahmen ausgaben from fin XIL Column CI row_sel D 4 heading_text Name width 1 center_heading ectable col_selectable rightJust heading_platform readonly 0 lt if K_FIN_Quellsystem 1 gt Column CI row_sel D 4 heading_text Ansatz width 1 lt if gt Column CI row_sel D 4 heading_text Einnahmen width 1 D 4 heading_text Column CI center_heading ectable col_selectable rightJust heading_platform readonly 0 center_heading ectable col_selectable rightJust heading_platform readonly 0 Einnahmen center_heading 85 row_selectable col_selectable rightJust heading_platform readonly width 10 weiteres Beispiel Spalte Bewilligung soll nur angezeigt werden wenn werte gr er 0 in masken sql lt sql
169. perX Mozilla lt 2 gt Wir k nnen nun spas senshalber das Feld n dern um die Sortierung na anzupassen Wir l en Passwort ndern 8080 superx xml index htm E o su Li Felderinfo verwalten In diesem Formular k nnen Sie Felder verwalten fidl 10 171 User einrichten schen im feld Relation Ur ache Masken das Wort DESC und en Feld kopieren name Seit Semester nummer x a E i Feld l schen schicken die Anderung Fld suchen Maske erzeugen y a er buttonbreite g ab Maske l schen Maske suchen feldbreitel g Stylesheet suchen zeilenanzahl Studierende Pr fungen typ Pr tungen integer q Absolventen Zeitreihe ber 6 Jahre Absolventen nach Fachsemestern laenge i Absolventen nach Fachsemestern mit Absolventen nach Fachsemestern nur Fach Absolventenstatistik Alber bei der Pr fung Pr fungsneten Pr fungsnoten nach Abschl ssen Studierende Alter bei Studienbeginn L FS F cherkombinationen Zeitreihe obligatorisch Di aks D an 1 Nummer Text nur mit Dialog relation lt lt SQL gt gt select tid eintrag from semester order by tid Nun m ssen wir im Ap plet die Maske einmal neu in der Themenaus wahl ffnen dann wird das neue Script aus der Datenbank geladen Wenn wir dann in der 24 Anmelden Om Passwort E Clone
170. perX Konstanten Es gibt in SuperX Konstanten welche in der Maskenprogrammierung immer zur Verfiigung stehen in HttpSession fiir Zugriff in jsp ist username UserlsAdmin true false UserMaskRights z B 23000 23030 23050 UserGroups z B 2 3 4 UserGroupnames z B Administration Dezernent Test Am Anfang und Ende ist jeweils ein Komma dann kann z B Rechte priifen mit indexOf 23000 und bekommt keine Probleme wenn es eine Maske 523000 gibt 41 hnlich und noch komfortabler auch in Freemarker username UserMaskRights z B 23000 23030 23050 UserGroups z B 2 3 4 UserGroupnames z B Administration Dezernent Test lt if UserIsAdmin gt admin lt if gt lt if UserHasMaskRight 17070 23000 gt ERLAUBT lt else gt VERBOTEN lt if gt Klammer kann ein oder mehrere Maskennummern enthalten lt if IsUserInGroup 2 gt in ADMIN GROUP lt else gt nicht in ADMIN group lt if gt eine Gruppe in Klammer lt if IsUserInGroupWithName Administratoren gt NAME ADMIN GROUP lt else gt NAME nicht in ADMIN group lt if gt eine Gruppe in Klammer lt if IsUserInAtLeastOneGroup 3 2 4 gt user ist in mindestens einer Gruppe lt else gt user ist in keiner der angegebenen Gruppen lt if gt lt if UserHasSachgebRight 152 gt neu in kern44 ab Nov 2014 lt if UserHasAllKostenstellenRig
171. perx servlet Su perXManager und der User muss sich neu anmelden Alternativ k nnte auch Tomcat neu gestartet werden Im Dateisystem unter SUPERX_DIR db bin gibt es zwei Skripte userrechte_sichern x und userrechte_einspielen x Die entladen alle usertabellen userinfo groupinfo user_sachgeb_bez etc und spielen sie wieder ein Diese k nnen z B daf r benutzt werden um alle Einstellungen von Test auf Echtrechner zu bernehmen 2 3 3 Benutzung der Sichten in Masken In Felderinfo muss f r das Feld Org Einheit F cher Kostenstelle Kostenart als Art 12 eingetragen werden Im Feld Relation muss ein Select stehen der die Tids der gew nschten Sichten zur ckliefert z B lt lt SOL gt gt select tid type name from sichten where art Organigranm Sicht and aktiv 1 order by type name Die aktiv Einschr nkung ist praktisch f r Entwicklungs und Wartungszwecke weil man dann leicht einzelne Sichten de aktivieren kann Sortierung nach type damit erst Hauptsichten und dann alternative Hierarchien angezeigt werden dann nach Name Der select sollte alle Sichtentids liefern die ein Adminstrator sehen darf Wenn ein User f r einzelne Sichten keine Berechtigung hat filtert der Server diese automatisch raus Bei einem Sichtenfeld werden Tags bezogen auf Feldname und Sichtenart ersetzt z B beim Feld Org Einheit sowohl lt lt Org Einheit Sicht gt gt und lt lt Org Einheit Stand gt gt als auch lt lt Organigra
172. r Hauptmaske nicht f r die der Untermasken Alternativ m sste man pr fen ob Sichten von der Hauptmaske Organigramm Sicht ihren Stand auch auf alle Sichten in den Untermasken bertragen die von der gleichen Art sind wahrscheinlich eher ge f hrlich 2 5 2 Makro Schachtelung Makros sollen geschachtelt werden k nnen ein Makro soll also Untermakros aufrufen k nnen F r ein Statistikheft k nnte man dann einzelne Makros zu den Abschnitten des Hefts erstellen und tes ten und sp ter dann ein Mastermakro f r das ganze Heft 91 Auf Datenbankseite k nnte man das recht einfach erm glichen wenn auch in maskeninfo_id2 k nnen Makros angegeben sein k nnen z B Lehrbericht 10600 Untermakro Einschreibungen 10800 Einzelne Maske 10060 10050 makro_maske_bez maskeninfo_idl maskeninfo_id2 sort 10600 10800 1 106005 10050 2 10800 10060 1 10800 10070 2 2 5 3 Schleifenfunktion 2 5 3 1 Grundlagen Ein Makro soll automatisch mehrmals durchgef hrt werden z B f r alle Lehreinheiten Erweiterung von makro_maske_bez 92 makro_maske_bez Feld Beispiel Kommentar maske 10800 ninfo_id1 maskeninfo_id 10050 2 active 01 0 zum zeitweisen deaktivieren sort 1 schleifenrela lt lt SQL gt gt select key_apnr name from or tion ganigramm where lehre 1 and orgstrukur 30 order by 2 schleifenfeld Org Einheit name schleifenfstand 1 1 2005 oder lt lt Org
173. r Tabelle semester die Felder tid Tupelidentifier und eintrag der Volltext des Semesters Der Schliissel des Feldes tid ist unsichtbar sorgt aber dafiir dass die Sor tierung richtig erfolgt Hier sehen Sie einen i eintrag Screenshot der Tabelle 1992155 1992 19922W5 1992 1993 semester Auszug di HEEL 1993 rekt in der Datenbank 19932 WS 1993 1994 Die Nummerierung ist 1334155 1994 e 193942 WS 1994 1995 f nfstellig un h uniste 8 Se d besteht 1995155 1995 aus Jahr vier Stellen 19952WS 1995 1996 und 1 f r Sommer und 1996155 1996 19962W5 1996 1997 19397155 1997 19972WS 1997 1998 1998155 1998 19982WS 1995 1999 1999155 1999 1939392 WS 1999 2000 2000155 2000 20002Ws 2000 2001 2001155 2001 20012Ws 2001 2002 2002155 2002 20022Ww5 2002 2003 2003155 2003 2 f r Wintersemester 2 1 1 2 2 Speichern der Felddefinition die Tabelle felderinfo Wo wird nun in SuperX die Felddefinition gespeichert Viele Scripte in SuperX werden selbst in Daten banktabellen abgelegt die Tabelle felderinfo enth lt die relevanten Angaben f r die Felder 21 Um dies zu sehen ffnen wir ein Formular im XML Frontend dort befinden sich Bearbeitungsformula re f r Felder und Masken Im Themenbaum des Datei Bearbeiten Ansicht Gehe Lesezeichen Tools Fenster Hilfe XML Frontends finden z wir den Men punkt i Feld suchen Rechts eege Nutzungsprotokolle intern erscheint ein leeres For Pasmo ndern U
174. r den Button dar relation bezieht sich auf die Beziehung des Stylesheets m gliche Werte sind mask f r eine Maske und table f r Tabelle useragent beitet die M glichkeit ein Stylesheet f r spezielle Leseger te anzubieten z B WAP Han dys oder Braille Zeilen contenttype entspricht dem useragent und kennzeichnet den content type der dem Leseger t im http header bermittelt werden soll M glich sind derzeit die obigen Varianten svg oder excel sind in Vorbe reitung 129 Bitte bei Upgrade auf SuperX 4 1 und Treetable Tabellen Abschnitt unter 5 1 beachten 2 7 9 2 Zuordnung einer Maske zu einem Stylesheet Konkret arbeitet SuperX so Wenn einer Abfrage ein oder mehrere Stylesheets zugeordnet sind dann werden die in der Reihenfolge angezeigt in der sie definiert sind Wenn kein Stylesheet definiert ist dann wird das Standard Stylesheet von SuperX benutzt maske_html xs1 f r Masken sowie tabelle html xs1 f r Tabellen Die Zuordnung eines Stylesheets geschieht in der Tabelle sx_mask_style Der Tupelidentifier des Stylesheets wird in der Tabelle sx_mask_style im Feld stylesheet_id eingetragen Das Beispiel zeigt dass GER diebeidenobenbe DI maskoninfo id siyleshast i od schriebenen Stylesheets D H 11690 der Maske 11690 zuge Ei 2 11690 R Datensatz 14 4 1 gt D gt von 2 Das Feld ord kennzeichnet die Reihenfolge der anzubietenden Stylesheets Wir sehen hier dass zuerst ordnet werden das gene
175. reach gt 3 ggfs Weiterverar udpate tmp_erg set beitung 4 Abschluss Select select from tmp_erg 2 2 3 6 Mehrfachauswahl bei Sicht Feldern mit Schleifenfunktion Ab Kern4 5 kann man eine Mehrfachauswahl bei Sichtfeldern aktivieren die als Schleife fiir die Ergeb nisdarstellung benutzt werden Angenommen wir haben folgenden Finanzstellenbaum Hochschule Al All A12 B2 B21 B22 Bisher gab es ein Problem wenn ein User bei der Mehrfachauswahl All und B2 ausw hlte weil dann die Ebenendarstellung durcheinander kam die Ergebniszeile f r All wurde gar nicht angezeigt weil Ebene 2 lt als Ebene 1 der zweiten Selektion B2 54 Dies kann man jetzt umgehen in dem man das Feld Finanzstelle obligatorisch macht es muss also im mer eine Selektion geben und dann f r jede Finanzstelle nicht level benutzt sondern levelFromSelection 1 lt foreach eineFistl in Finanzstelle elements gt lt assign sortnr sortnr 1 gt insert into tmp_erg sortnr ebene key name budgetsumme einnahmen mittelbindung ausgaben verfuegbar_of verfuegbar select sortnr eineFistl levelFromSelection tl eineFistl key eineFist l name eineFistl name index_of 1 eineFistl name length 1 sum budgetsumme sum einnahmen sum mittelbindung sum ausgaben sum verfuegbar_of Ss um verfuegbar from tmp_konto2 where kat nr in lt printkeys eineFistl subkeys gt group by 1 2 3 4 l
176. rer ww w kellerer org bitte beachten Sie dabei dass die Syntax der zugrunde liegenden Datenbanken ber ck sichtigt werden muss Der n chste Schritt f r Sie w re Gestaltung von Abfragenlayouts im XML Frontend 32 Erkunden weiterer Feldarten und Typen z B Text und Datumsfelder insbes unseren Organi gramm Button f r Auswertungen im Bereich Haushalt Personal etc Zuordnen neuer Felder zu Masken bzw Entfernen von Feldern Entwerfen von Stored Procedures 2 2 Erweiterte Maskenprogrammierung Freemarker Templates Mit SuperX 3 0 wird eine stark erweiterte M glichkeit zur Abfragenentwicklung eingef hrt Die OpenSource Bibliothek FreeMarker www freemarker org wird als Template Engine eingesetzt Damit Sie in einer Abfrage die Freemarker Funktionalit t benutzen k nnen muss im Kopf des select_stmt eine Hinweiszeile FREEMARKER TEMPLATE enthalten sein 2 2 1 Klassische Verarbeitung Die einzelnen Abfragen auch synonym Masken genannt enthalten SQL Befehle Platzhalter z B select monat sum betrag from cob_busa where monat lt lt Monat gt gt Auf der Maske ten Wert ersetzt Ausdr cke die Wenn man auf Aus z B gibt es ein Feld Monat Vorm Abschicken des SQL wird lt lt Monat gt gt durch den gew hl zwischen und stehen werden entfernt falls kein Wert ausgew hlt wurde einer Maske z B optional auf einen Geldgeber einschr nken kann select monat sum betrag from
177. rg nzt Link auf eine andere SuperX Maske Im Unterschied zu nextmask wird hier ein anderes Icon gew hlt Die Ergebnisseite wird dann um einen Delete But ton L erg nzt Link auf ein DBForms Formular relativ zur URL des Servlets die Ergebnis seite wird um einen Bearbeiten Button A erg nzt Feldinhalte werden um einen Mailto Tag erg nzt z B info superx projekt de wird zu lt a mailto info superx projekt de gt info superx projekt de lt a gt Feldinhalte werden um einen href Tag sowie wenn n tig um ein http er g nzt z B www superx projekt de wird zu lt a href http www superx projekt de gt www superx projekt de lt a gt 137 nextlink Link auf eine externe Seite oder eine andere SuperX Tabelle anders als bei nexttable wird ein frei w hlbarer textueller Link angegeben wobei der Voll text des Links und der eigentliche Linkt durch ein Trennzeichen getrennt sind So wird z B der Feldwert Erl uterungenlhttp www erlaeuterungen de wie folgt ersetzt lt a href http www erlaeuterungen de gt Erl amp auml uterungen lt a gt Wenn nach dem Trennzeichen keine externe Web Adresse angeboten wird erkennbar am vorangestellten http dann wird der Inhalt des Feldes um den Pfad zum Tabellen Servlet erg nzt So wird z B aus dem Inhalt Details zur Hochschule 20010 amp i1d 2044 der Link lt a href servlet SuperXmlTabelle tid 20010 amp id 2044 gt Details zur Hochschu le lt a gt 2 7 9 7 2
178. rische Standard Stylesheet angezeigt wird und dann das Stylesheet Nr 2 Defaultm ig sind die Stylesheets fiir html Druckversion in neuem Fenster xml Excel und PDF in je der Ergebnistabelle enthalten Andere Stylesheets pfg miissen in der obigen Tabelle zugeordnet werden dies ist sinnvoll da die Standard Stylesheets zun chst mit der in Frage kommenden Maske erprobt wer den muss 2 7 9 3 Anpassung an Leseger te Der Vorteil von XML Berichten ist dass sie sich an individuelle Leseger te anpassen lassen So k nnen Sie die Standardoberfl che automatisch f r das jeweilige Leseger t anpassen und dadurch ganz individu elle Designs erzielen z B auch f r barrierefreie Angebote Das folgende Beispiel zeigt dies anhand des textbasierten HTML Browsers lynx der sich zumindest am Anfang gut zum Testen f r barrierefreie Angebote eignet Klicken Sie jeweils auf die Grafik um sie zu vergr ern Die rechte Abbildung zeigt die SuperX Home page in einer Konsole im Browser lynx Wir gehen auf das XML Frontend und er halten die Anmeldemas ke Die Frame Tags ignorieren wir mies DH Nach erfolgreicher An meldung erscheint das Men aus dem Themen baum Wir w hlen hier als Beispiel die Abfrage Benutzer von SuperX Nun wird die Maske von dieser Abfrage an gezeigt Bei Kombinati onsfeldern gehen wir auf das Feld und dr cken die Return Tas te Es erscheinen die Auswahleintr ge Zum Abschluss gehen wir
179. rl utern wollen wir kurz auf eine n tzliche Funktion bei der Abfragen entwicklung hinweisen die Java Konsole Wenn Sie die Java Konsole in der Systemsteuerung aktiviert haben dann k nnen Sie im Browser die Konsole anzeigen lassen Im Mozilla z B gehen Sie in das Men Werkzeuge gt Web Entwicklung und dort auf Java Konsole Im Internet Explorer machen Sie einen Doppelklick auf das Apfelm nnchen bzw eine Kaffeetasse Java Symbol je nach Java Version unten rechts in der Shortcut Leiste des Betriebssystems Beim Klick auf den But ton Semester sehen wir in der Konsole fol genden SQL Befehl un ten rechts BT ini Home Verzeichnis des Benutzers home superx C Konsolenfenster l schen f Objekte in Finalisierungswarteschlange finalisieren g Speicherbereinigung h Diese Hilfemeldung anzeigen I ClassLoader Liste ausgeben m Speicherbelegung drucken o Protokollieren ausl sen p Proxy Konfiguration neu laden q Konsole ausblenden r Richtlinien Konfiguration neu laden s Systemeigenschaften ausgeben t v x 0 Threadliste ausgeben Thread Stack ausgeben ok Abbrechen Leeren ClassLoader Cache l schen 5 Trace Stufe auf lt n gt setzen Select Stmt gestartet am 24 1 2005 12 52 32 select tid eintrag from semester order by tid DESC L schen Kopieren schiiegen Die SQL Anweisung liefert aus de
180. row_selectable col_selectable heading_platform readonly width 15 text_size 80 explanation fin_bewegungen e lt else gt Column CID 0 heading_text Akt Soll center_heading row_selectable col_selectable heading_platform readonly width 15 text_size 8 explanation fin_akt_soll e lt if gt Column CID 1 heading_text Festgelegt center_heading row_selectable col_selectable heading_platform readonly width 15 text_size 80 explanation fin_festgelegt Grundprinzip ist also dass mit FreeMarker die Variablit t in den SQL und die XIL Proplist gebracht werden muss Ein komplexes Beispiel In einer Abfrage soll ein variable Anzahl von Lehreinheiten in den Spalten erscheinen diese k nnen nicht direkt aus einem Sicht Feld Lehreinheiten ermittelt werden in FreeMarker w re dann z B Zugriff ber lt foreach lehrein in Lehreinheiten gt m glich Stattdessen wird die Gesamtliste aller gew nschten Lehreinheiten ber die Felder Semester und Anbietende Lehreinheit definiert Damit Freemarker vor der eigentlichen Transformation noch eine passende aus der Datenbank gef llt Variable erh lt wird am An fang der Abfrage eine sqlvar namens lehr_abg angelegt vergl Abschnitt zu Variabeln Freemarker Templat 60 lt include SOL_lingua_franca gt lt include SuperX_general gt lt sqlvars gt lt sqlvar name lehr_abg gt SE
181. rver aber informiert und auch Druckversion und Excel PDF Export k nnen angepasst werden Diese Funktionalit t wird im XML Frontend ausgewertet im Applet wird das Steuerzeichen sowie hiddenAggregationColums einfach ignoriert 2 7 9 7 3 PDF Export Kurz ein paar Hinweise Am besten nimmt man zur Bearbeitung eine bestehende pdf Vorlage Tabellen F r jede Spalte muss direkt unter fo table fin table column Knoten mit der Breite kommen im mm lt fo tabl lt fo tab e gt e column column width 30mm gt lt fo block font size 10pt text align start end font weight bold font family serif line height 9pt space before optimum 6pt space after op timum 6pt language en hyphente true gt lt xsl value if select format number ergebnisse 0 00 German gt German gro ist wichtig lt fo block gt lt fo table column gt e cell border width 0 1mm border style solid padding 5mm padding right 0 5mm gt lt fo table header gt lt fo table row gt lt fo tabl left 0 lt fo table body gt lt fo tabl le row gt lt fo table cell gt 140 lt fo block text align center font size 9pt font weight bold hyphenate false gt Bl cke zusammenhalten lt fo block keep together within page always gt Block Block2 lt fo block gt Um lokal zu testen gibt es Java kl
182. rx svn_his superx trunk superx WEB INF patch liegt w re cd home superx svn_his superx trunk superx WEB INF conf edustore db bin patch_scripts_create x 2011 05 23 home superx git superx superx WEB INF patch 3 4 1 1 Dokumentation In jedem Element von files masken und upgrade kann das Element patch description hinzugef gt wer den Wenn dies der Fall ist wird die Beschreibung zusammen mit dem Element in dem die Beschreibung steht in der Dokumentation des Patches erw hnt Zus tzlich ist es m glich in der Beschreibung die Feau tureID zu hinterlassen um weitere Informationen zu der nderung zu bekommen 3 4 2 Patches einspielen Ab Kernmodul 4 1 gibt es eine komfortable M glichkeit Patches einzuspielen Wichtige Vorbedi n gungen sind Vorhandensein des Scriptes SUPERX_DIR db bin patch_apply x ab Kernmodul 4 1 Wenn Sie das Kernmodul 4 0rc1 einsetzen laden Sie die Datei herunter http www superx projekt de dist kernmodul40rc1_patch_apply_iso zip iso http www superx projekt de dist kernmodul40rc1_patch_apply_utf8 zip utf8 und entpacken Sie sie in SSUPERX_DIR Auf dem System muss das Programm unzip installiert sein Wenn diese Voraussetzungen gegeben sind Laden Sie die Patch Datei die zu Ihrem System pa t SuperX oder HISinOne iso oder utf 8 Codie rung herunter z B nach SUPERX_DIR patches patch_2011 06 15_superx_iso zip Gehen Sie in das Verzeichnis SSUPERX_DIR patches und g
183. s f r tempor re Datentabellen AAA 44 2 2 3 3 2 keysToRoot f r Nertelschte eee eee ceeceeceeceseeseceseessceeeeseceseesaecneeeaecasesaecsaesaecnsenseentes 45 2 2 3 3 3 elements f r Schleife ber ausgew hlte Knoten nennen 45 2 2 3 3 4 Zugriff auf einzelne Knoten im Baum nee 46 2 2 3 4 Spezielle M glichkeiten bei Feldart Auswahlfeldern Datenbl tter unseeesneeneeennen 47 2 2 3 3 Grundger st f r neue Abfragen rer essen rn a erriek a len 48 2 2 4 Datenbank nabh ngiskeit 2 4 2 22 8340osH est EEE EEEE EEEE E EEEE EEEE AE EKE ERS p EE ESSEE 49 2 2 5 Zugriff auf Konstantentabelle und Hochschulinfo 0 ec eeesesccsecseeeeesecseceeeecaecaseecseceaeeesseceecseecneeseeeeuees 50 2 26 SK TLEPOSILOLY EE 31 2 2 7 Abfragen mit variabler Spaltenzahl usersuesensessnersnesnesnnesnnennesnennnennnnnnennnnnnennnnsnensennensnnnnnnnennene 52 2 2 8 Maskennummer f r hnliche Masken gleiches select stmt 55 RE 56 ER TE a EE 56 2 2 9 1 1 FreeMarker Syntax Highlighting A 57 2 29 V2 BOING EE 57 2 292 Sx Masken sgl update E 57 2 3 Abfragenentwurf mit SuperX Sichten EE TE 57 2 3 1 Eintr ge verstecken oder nicht selektierbar machen sssseseessseesseeesrsrssesrsseerrsteersrrnsesreeresseerrsrerseessreseees 60 23 2 ser Gruppenrechte 2 2 4 52 02s2 Ee EES 61 2 3 3 Benutzung der Sichten ins Masken voices 2 AS ke esse 62 2 3 4 Alt Hierarchien aus e EE 62 Ee Eeer AE 63 2 4
184. s anzeigen Template explanation wird berlagert 133 lt xsl template name explanation gt Bei Bedarf kann man auch die standardm ig leeren Funktionen wie lt xsl call template name tablecustomize gt lt xsl with param name position se lect table_post_center gt lt xsl with param gt lt xsl call template gt berlagern Am Ende folgt dann um die Tabelle aufzubauen lt xsl template match gt lt xsl call template name table gt lt xsl template gt it s fricking complex but enjoy 2 7 9 5Eigene XSL Stylesheets fiir Mandanten In Mandantensystemen wird trotz des Mandantenverzeichnisses die pageComponents_html_final xsl aus dem superx xml Verzeichnis genommen Auch die css Dateien werden aus dem Allgemeinen Ver zeichnis verwendet Um Individuelle Anpassungen vornehmen zu k nnen gibt es die M glichkeit mit Be dingung auf die MandantenID in der pageComponents_html_final xsl Ver nderungen vorzunehmen Die Bedingung auf die MandantenID ist hier notwendig damit andere Hochschulen nicht von der nderung betroffen werden Hier ist also Vorsicht geboten Die pageComponents_html_final xsl sollte auch nicht ersetzt werden sondern erweitert werden falls andere Hochschulen schon Individuelle Anpassungen vorgenommen haben Hier ein Beispiel lt xsl choose gt lt xsl when test maske MandantenID MANDANTENID gt lt Hier der Code f r den Mandant MANDANTENID gt lt xsl when gt
185. s so aussehen wie vorher mit Steuerzeichen 000 und allen vier Spalten Column CID 2 heading text F1 lectable col_selectable heading_platform readonly width 15 text_size 100 row row row 139 Colum CID 2 heading text Fl chen 000 2005 center heading explanation lectable col_selectable heading_platform readonly width 15 text_size 100 chen 000 2006 center_heading explanation Column CID 2 heading_text Flachen 000 2007 center_heading explanation lectable col_selectable heading_platform readonly width 15 text_size 100 Column CID 2 heading_text Flachen 000 2005 7 center_heading explanation row_se ctable col_selectable heading platform readonly width 15 text_size 100 und jetzt kommt der Clou Am Ende der XIL Proplist macht man noch eine Angabe welche Spalten den zu versteckende Aggre gierungsspalten sind also hiddenAggregationColumns Fl chen 000 2005 7 Wenn es mehrere gibt mit getrennt angeben Dadurch wei der Server dass Fl chen 2005 Fl chen 2006 und Fl chen 2007 Detailspalten sind und zeigt zun chst zur diese an Wenn der Punkt Fl chen zugeklappt wird werden die Detailsspalten ausge blendt und statt dessen wird die versteckte Aggregierungsspalte Fl chen 2005 7 angezeigt Beim Auf und Zuklappen wird vom Server nachgeladen dass dauert zwar einen Moment daf r ist der Se
186. sea 113 2 7 9 Masken f r das XML Frontend vorbereiten nn 114 2 14 91 Przeugen eines Stylesheets 2 2244 23er am Bs Base ieh 114 2 7 9 2 Zuordnung einer Maske zu einem Stvlesheet A 115 2 7 9 3 Anpassung an Leseger te ANEN 115 2 7 9 4 Eigene XSL Stylesheets f r Masken oder Tabellen erstellen 117 2 7 9 5Eigene XSL Stylesheets f r Mandanten 119 2 7 9 6 Besonderes XML zu ALLEN Masken bunzufugen eee eee ceese cee cnsececeseeseceeeeeeeeeeeeeeeeeeeseneees 119 2 7 9 7 Erweiterungen des XS MI Prontende AAA 121 2 7 9 7 1 Navigationsspalten im XM Prontend AA 121 2 7 9 7 2 Hierarchieebenen in Ergebnisspalten Au 123 Ee ER HE EE 125 2IIT AEXEEIEXPOR ee mh RR mb 126 2 8 Erstellung von D tenblattberichten u uaueuneioasusesi leesne ea 127 2 8 1 Vorgehensweise nern nel dude ege Ada Ne EEE 127 2 8 2 Felder anpassen rek n EEEE e EE E EEEE cance drops cosas shevbopantancuseussie ated subusecvavens EE Meveeedusatesds 127 2 8 3 Masken SQL 2a ID RIEDEL 127 2 8 4Schl ssel Anzeigen d taintegtity 3 2 8202e essen ni m 129 2 9 Eine Emfache SAP Abfr se unsere 129 3 Modulverwaline naar 3 Mod lverwalt ng mit Eeer rule 134 3 1 1 Module Scripts Create mit Amt 136 3 1 2 Umgebung einrichten EE 136 3 1 3 Beispiele 25 2022 een nach EES ee EE 136 3 1 4 Baratte ASSEN E in Rn Ri Ing 136 3 1 5 Erl uterung zum Aufbau der ANT Date 137 SE EE 137 SE RRE 138 SKI EE 138 3 2 2 EU 138 3 2 2 2 Tabellen umbenennen HOWTO
187. ser einrichten 24 01 2005 hilfe ber 1 User l schen mular Macken Felder Feld suchen Feld erzeugen Feld kopieren Feld l schen Feld suchen Maske erzeugen Maske kopieren Se gt Maske loschen Maske suchen an Stylesheet suchen e Studierende Pr fungen Pr fungen Absolventen Zeitreihe ber 6 jahre Absolventen nach Fachsemestern Zur cksetzen Absolventen nach Fachsemestern mit Abschicken Absolventen nach Fachsemestern nur Ww Bitte schr nken sie Ihre Auswahl ein Fach Absolvenbenstatistik E T el EI D 8 tpmils8080supendservie SuperXmIMaske tid 70570 In dem Formular w h ea 2 a Datei Bearbeiten Ansicht Gehe Lesezeichen Tools Fenster Hilfe len wir die Abfrage Stu We QO OD Kremiessmopermimdern dierende Zeitreihe aus ee Te ES a Zus tzlich sehen wir a X F Nutzungsprotokolle intern F auch die Nummer der KE Be User einrichten 24 01 2005 hilfe ber Maske 10170 das ist ara k jer Feld suchen bei der Maskenbearbei en Feld kopieren Bitte schr nken sie Ihre Auswahl ein tung ganz n tzlich ern g Maske erzeugen Masekin 10170 Studierende Zeitreihe Maske l schen Feld Maske suchen E Stylesheet suchen EE Studierende Pr fungen Pr fungen Absolventen Zeitreihe ber 6 Jahre Absolventen nach Fachsemestern Zur cksetzen Absolventen nach Fachsemestern mn Abschicken Absolventen nach Fachsemestern nur
188. sse http RECHNER PORT superx servlet de superx servlet Entwicklung erreichbar Wenn Sie eine k rze URL einrichten m chten k nnen Sie in der Datei webserver tomcat webapps superx WEB INF web xml einen Eintrag hinzuf gen lt servlet gt lt servlet name gt Entwicklung lt servlet name gt lt servlet class gt de superx servlet Entwicklung lt servlet class gt lt servlet gt Dann k nnen Sie nach einem Tomcatneustart das Servlet auch unter der folgenden Adresse aufrufen http RECHNER PORT superx servlet Entwicklung 2 7 8 2 Funktionalit t des Entwicklungsservlets Mit dem Servlet kann man sich den Ausgangs SQL die Anpassungen durch die klassische Su perX Transformation sowie den fertigen SQL nach FreeMarker Transformation und auch die bergebe nen Parameter ansehen Au erdem kann man sich den Masken und Tabellen XML runterladen Hier eine Abbildung der Startseite Datei Bearbeiten Ansicht Chronik Lesezeichen Extras Hilfe x a L http mercury 8080 superx serviet de superx servlet Entwicklung SuperX Entwicklung SuperX 3 5 build 12 06 2008 14 50 user superx Masken XML Parameter anzeigen SQL Quelle SQL nach 1 Transformation fertiger SQL nach Freemarker Transformation Tabellen XML Wenn Sie eine Abfrage ausf hren k nnen Sie zun chst mit dem Link Masken XML den XML Code der Maske aufrufen klicken Sie jeweils auf die Grafik um sie zu vergr
189. stemen sind in den jeweiligen Modulen enthalten Die Abfragen in der Administration erlauben es neue Masken anzulegen zu kopieren und zu l schen Um den Austausch von Abfragen innerhalb der Hochschulen zu erleichtern Abfragen Pooling ber die SuperX Website sollten die Masken immer im Nummernkreis xxxx0000 bis xxxx9990 liegen wobei xxxx der von der HIS verwandten Hochschulnummer entspricht Die Zehnerschritte ergeben sich daraus dass die dazwischen liegenden Nummern f r die Maskenfelder Tabelle felderinfo reserviert sind Im Folgenden finden Sie allgemeine Hinweise f r die Verwaltung der Masken Die Masken lassen sich browserbasiert ber UNIX Shellscripte und ber Access administrieren Aus historischen Gr nden liegen die Nummern aus Karlsruhe im Bereich 0 9990 aus Duisburg im Bereich 10000 19990 16 Weitergehende M glichkeiten bietet aber das XML Frontend M glichkeit der Editierung von gro en text Feldern bei Postgres als Datenbanksystem Nach der Anmeldung haben Administratoren das Recht Masken zu l schen zu kopieren und erzeugen Die einzelnen Felder der Masken lassen sich direkt in der Datenbank oder z B mit MS Access ver ndern Im Applet sind nur grundlegende Verwaltungsoperatio nen m glich Sie sind als Ersatz f r die UNIX Scripte gedacht Folgende Abfragen zur Maskenver Maske kopieren waltung gibt es im Sachgebiet Admi Maske l schen nistration Darunter im Ast Felder gibt es
190. stern P Absolventen nach Fachsemestern mit XIL List Absolventen nach Fachsemestern nur sizable_columns horizontal_scrolling Fach white_space_color COLOR_WHITE fixed_columns 1 Absolventenstatistik Aver bei dar Pr fung drop_and_delete movable_columns Pr fungsneten min_heading_height 55 Pr fungsnoten nach Abschl ssen Column CID 0 heading_text Semester center_heading Studierende row_selectable heading_platform readonly Alter bei Studienbeginn 1 FS Facherkombinationen Zeitreihe Km DEA US reng Die Prozedur execute procedure steht am Anfang von fast jeder SuperX Abfrage und ermittelt eine tempor re Tabelle tmp_ch110_institut die die ausgew hlten Lehreinheitsnummern enth lt Konkret wird der Passus lt lt Org Einheit gt gt durch den Schl ssel ersetzt der in der Maske ausgew hlt wur de Es handelt sich also bei SuperX Abfragen um dynamisches SQL Das ist grob verk rzt dargestellt aber im Augenblick f r Abfragen im Bereich Studium ausreichend Die Prozedur ermittelt au erdem noch die Institutionen zu denen Ein User Leserechte hat Das versteckte Feld lt lt UserID gt gt ist in jeder Maske vor handen und die zugeh rigen Institutionen und deren Kinder werden aus der Tabelle user_institution und orga nigramm ermittelt 28 Die Lehreinheiten wiederum werden dann mit der Hilfstabelle sos_stat_lehr gejoined die eine Sta tistik von allen Lehreinheiten und Semestern enth lt
191. t foreach gt Eine Summenberechnung bei mehr als einer Zeile geht dann so lt if Finanzstelle selectionCount gt 1 gt create table insert into tmp_sum budgetsumme einnahmen ausgaben mittelbindung verfuegbar verfuegbar_of select sum budgetsumme sum einnahmen S sum ausgaben 7 sum mittelbindung sum verfuegbar sum verfuegbar_of from tmp_konto2 where kst_nr in lt foreach eineFistl in Finanzstelle elements gt S eineFistl key lt if eineFistl_has_next gt lt if gt lt foreach gt i lt if gt Ein Beispiel ist die Maske SAP Budget nach Finanzstellen 33060 55 2 2 3 7 Kern 4 5 Rechte f r beliebige Sichtarten Es gibt eine neue Kerntabelle sichtart_rechttabelle Beispielhaft F llung Tid Art Tabelle Feldname _ Additionalkeyssql 1 SAP Finanzstel gxtage_user_finanzstellen finanzstelle len Sicht 2 SAP Pro gxtage_user_hhprog hhprog select distinct ktr_nr from jekt Sicht gxstage_huel where kst_nr in lt lt SAP Finanzstellen Sicht gt gt Fiir Eine Sichtart wird eine Rechtetabelle angegeben dabei ist Konvention dass die Userspalte userin fo_id hei t der Feldname des Rechtfelds kann angegeben werden finanzstelle bzw hhprog im Beispiel CREATE TABLE gxstage_user_finanzstellen tid serial primary key userinfo_id integer NOT NULL finanzstelle varchar 24 i In der letzten
192. t if gt select from quelltabelle where lt lt Stichtagsbezogen gt gt wird von der SuperX Transformation ersetzt sodass Freemarker vergleicht lt if JA NEIN gt oder lt if NEIN NEIN gt Auf alle Felder einer Maske kann man neben der klassischen SuperX Notation lt lt FELDNAME gt gt auch per FreeMarker zugreifen Es ginge z B auch lt if Haushaltsjahr 2005 gt insert into select from where jahr Haushaltsjahr Au erhalb von FreeMarker Anweisungen muss die Variable mit umschlossen sein wenn Leerzei chen oder Sonderzeichen vorkommen muss man die vars Notation benutzen z B alles aufsummieren Wenn man wissen m chte ob eine Variable mit Inhalt gef llt ist kann man dies mit has_content Abfra gen z B lt if lehr_abg has_content gt Folgender Effekt ist schon mal aufgetreten Wenn man ein einer Abfrage z B schreibt lt assign sortnr sortnrtl gt insert into tmp_rs_base struktur text ch30_fach kz_fach fach_nr ch35_ang_abschluss sortnr dann klappt das nicht man muss unter dem assign eine Leerzeile machen lt assign sortnr sortnr 1 gt insert into tmp_rs_base ch30_fach ka fach fach_nr ch35_ang_abschluss sortnr struktur text Fiir Fortgeschrittene sqlvars 37 Manchmal w nscht man sich mit FreeMarker auf Variablen zugreifen zu k nnen die aus der Datenbank gef llt werden m ssten
193. t SSUPERX_DIR webserver tomcat webapps superx xml maske_html xsl F r Ergebnistabellen k nnen Sie das Muster Stylesheet SSUPERX_DIR webserver tomcat webapps superx xml tabelle_html xsl verwenden Speichern Sie das Stylesheet unter einem anderen Namen im gleichen Verzeichnis ab und ndern Sie das Stylesheet Dann f gen Sie das Stylesheet in die Tabelle sx_stylesheets ein lolx tid filename caption description relation userag _ contentype D l tabelle_html xsl Generisches St Generisch table text html charset 150 8859 1 2 tabellenfeld_bearbeiten xsl Generisches St Generisch table text html charset ISO 8859 1 3 maske_html xsl Generisches St Generisch mask text html charset ISO0 8859 1 4 maske_html_tabfeld xsl Generisches St Generisch mask text html charset 150 8859 1 5 tabelle_html_11570 xsl Berichtsblatt Ki Kurze Zusamm table text html charset 150 3359 1 7 tabelle_fo_rtf xsl RTF Export in Textve table application msword 6 tabelle_fo_pdf xsl PDF Export in PDF table application pdf Datensatz 14 4 If 1 gt D gt von 7 Das Beispiel zeigt einige Styleheets das erste ist bereits Teil des Kernmoduls das f nfte befindet sich im COB Modul Zu den Feldern filename kennzeichnet den Dateinamen relativ zum Verzeichnis SSUPERX_DIR webserver tomcat we bapps superx xml caption dient als Kurz berschrift die im Ergebnisblatt als Button angezeigt wird description stellt einen Erl uterungstext f
194. t der html Notation 1t und sgt umschreiben also statt lt sqlvar name Semester gt select distinct tid eintrag from semester where tid lt 20101 order by 1 lt sqlvar gt schreiben Sie besser lt sqlvar name Semester gt select distinct tid eintrag from semester where tid amp 1t 20101 order by 1 lt sqlvar gt Bei Problemen mit sqlvars deren SQL dynamisch generiert werden ist es schwierig sich den produ zierten SQL anzusehen insb wenn nur Browserzugriff besteht Beispiel lt sqlvar name hhanssum gt lt CDATA 39 select sum hhans from fin_konto_aggr where rechnungsjahr lt lt Haushaltsjahr gt gt and ch110_institut in Kostenstelle allNeededElements lt sqlvar gt Trick Einen SQL Syntaxfehler einbauen lt sqlvar name hhanssum gt lt CDATA select XXXXX sum hhans from fin_konto_aggr where rechnungsjahr lt lt Haushaltsjahr gt gt and ch110_institut in Kostenstelle allNeededElements lt sqlvar gt Dadurch wird ein SQL Fehler erzeugt der im Browser angezeigt wird und man kann sehen wie lt lt Haushaltsjahr gt gt ersetzt wurde und Freemarker arbeitet Man kann auch Inhalt von Freemarker Variablen bzw vorhergehenden SQLVars anzeigen lassen Beispiel Konstante FIN_Quellsystem und vorhergehende sqlvar instname lt sql lvar name instname gt select drucktext from fin_inst where key_apnr lt lt Kostenstelle gt gt lt sqlvar gt
195. t werden sollen select lbez key ueberg 0 as nodeattrib from cob_fikr where len key lt 6 union select lbez key ueberg 1 as nodeattrib from cob fikr where len key gt 6 Weiterhin kann es gew nscht sein dass man in einer Sicht nur spezielle Eintr ge ausw hlen kann So k nnen man eine Lehreinheitsauswahl vielleicht so darstellen Uni XY Fak 1 Lehreinheit A Lehreinheit B Fak 2 Lehreinheit C Lehreinheit D Die Kategorisierung Fak 1 2 dient der Klarheit der Darstellung fiir eme Abfrage soll aber vielleicht nur eine konkrete Lehreinheit ausw hlbar sein In dem Fall kann wie oben das nodeattrib 2 vergeben werden Dadurch wird ein Eintrag als nicht selektierbar markiert 2 3 2 User Gruppenrechte Au er Administratoren d rfen normale User zun chst einmal keine der nicht internen Sichten benutzen In den Tabellen user_sichten und user_sichtarten kann hinterlegt werden dass ein User eine einzelne Sicht z B name_intern Kostenstellen Hauptsicht oder eine ganze Sichtart z B Kostenarten benutzen darf F r Gruppen gibt es analog die Tabellen group_sichten und group_sichtarten Au erdem sachgeb_sichten und sachgeb_sichtarten wenn Leute die ganzes Sachgebiete sehen d rfen auch Sicht sehen sollen 72 Die Pflege dieser Tabellen kann bequem ber Administrationsformular im XML Frontend vorgenom men werden Achtung Nach nderungen muss der Server Cache aktualisiert werden http superx rechner su
196. t zu starten im ersten Start wird Edustore automatisch konfigu riert 1 2 1 6 Installation Updates via ANT Beim ANT Script werden die vorhandenen Datenbanken geleert und dann wird jedes Modul nachein ander installiert und beim Target reinstall_demo mit Demodaten geladen Zur Einrichtung m ssen Sie das Edustore Repository Head oder einen Branch herunterladen Danach k nnen Sie ANT installieren und das Script benutzen http wiki his de mediawiki index php Edustore_Installation_und_Administration Apache_ANT_ein richten Sie k nnen dann s mtliche Datenbanken leeren und neu installieren sowie mit Demodaten f llen indem Sie das ANT Script mit ant f install_hisl xml reinstall_demo ausf hren Auch andere T tigkeiten sind m glich z B Module zu deinstallieren und zu installieren Rufen Sie ant f install_hisl xml p auf um eine Ubersicht zu bekommen Achtung die ANT targets die mit dem Kiirzel update_ beginnen laden stan dardm ig immer die Demodaten aus dem Edustore Repository Wenn Sie eige 15 ne Testdaten verwenden wollen sollten Sie direkt ber Eclipse bzw die Java Kommandozeile arbeiten 1 2 2 DOS F r den Start von Scripten aus der DOS Box m ssen Sie ein paar Umgebungsvariablen einstellen die sich auf Java und auf Pfade zum Edustore Server beziehen set JAVA_OPTS Xmx256M Dfile encoding UTF 8 set QISSERVER_PFAD lt lt Ihr Pfad zu Tomcat gt gt webapps q
197. tem_bez 110 einf gen Daf r gibt es das Script sx_insert_mask sx_insert_mask Aufruf sx_insert_mask lt TID gt lt neue TID gt j Aktion sx_insert_mask l dt den Inhalt der f nf Dateien 1 lt TID gt _felderinfo unl 2 lt TID gt _masken_felder_bez unl 3 lt TID gt _maskeninfo unl 4 lt TID gt _sachgeb_maske_bez unl 5 lt TID gt _maske_system_bez unl in die jeweiligen Tabellen der SuperX Datenbank Mit j wird die Sicher heitsabfrage umgangen Falls lt neue TID gt nicht angegeben wird werden die Metadaten wieder mit der alten TID in die Daten bank eingespielt Update Falls lt neue TID gt angegeben wird werden die Metadaten mit der neuen TID in die Datenbank einge spielt Insert Dabei werden alle TIDs in den abh ngigen Tabellen angepasst So k nnen Masken sehr einfach kopiert werden Eine neue TID bekommt man durch die Wahl der n chsten Zehnerzahl die gr Ber als die gr te vorkommende Nummer ist Die gr te vorkommende Nummer erh lt man durch Aus f hrung des folgenden SQL Ausdrucks mit Hilfe des Kommandos SQL Client select max tid from maskeninfo 2 7 2 1 4 Eine Maske l schen Um eine Maske zu l schen m ssen Sie die Eintr ge in den oben genannten Tabellen entfernen Daf r gibt es das Script sx_delete_mask sx_delete_mask Aufruf sx_delete_mask lt TID gt Aktion sx_delete mask l scht alle Metadaten aus den Tabellen maskeninfo felde rinfo masken_fel
198. tieren wol len z B die Abfrage Studierende und Stu dienanf nger nach Ge schlecht 12 05 2005 hilfe ber Maske suchen Bitte schr nken sie Ihre Auswahl ein Sachgebiet v Mask asie 16020 Studierende und Studienanf nger nach Geschlecht Titelstichwort Moo Zur cksetzen Abschicken Wir schicken das For mular ab und erhalten Bearbeitungsm glich keiten zur Maske Wir w hlen hier Bearbei ten Wir werhalten das Bea brietungsformular der Maske Diesmal k m menr wir uns nicht um das Feld select_stmt alsod er Script sondern um die Dokumentation Weiter unten auf dem Formular stehen die Spaltenbeschriftungen bei Spalte 5 z B wie vorherige Spalte Zu n chst schauen wir uns die Erl uterung der Maske an Feld Erlaeu terung Maske s 102 uchen Maske 16020 Studierende und Studienanf nger nach Gesc Stand 01 01 2003 Maske Nr 16 020 Stud Geschlecht Name Sachgebiete Sachgebiet Bearbeiten erende und Studienanf nger nach Bee D E28 Stylesheets Datensatz 1 1 von insgesamt 1 Satz Maskeninfo verwalten Tid 16 020 Name Studierende und Studienanf nger nach Gesc Select_stmt Wenn Freemarker eingesetzt wird muss der folgende Kommentar case insensitive Xil_proplist Column CID 3 heading_text Xil_proplist Chart_xtitell Chart_ytitel Erlaeuterung Cleanup_stmt Default_file
199. tnull false description Use rID des Erzeugers currentlyUsed false gt lt columns gt lt primaryKeys gt lt rs gt lt row gt lt fld name table_cat gt superx lt fld gt lt fld name table_schem gt superx lt fld gt lt fld name table_name gt gang_stg_astat lt fld gt lt fld name column_name gt tid lt fld gt lt fld name key_seq gt 1 lt fld gt lt fld name pk_name gt gang_stg_stat_tid lt fld gt lt row gt lt rs gt lt primaryKeys gt lt table gt 156 3 2 2 2 Tabellen umbenennen HOWTO Zuerst wird das Datenbankschema in der Modul XML Datei angepa t also hier superx WEB INF conf edustore db install conf kern xml Dann werden daraus die Installationsscripte erzeugt http wiki his de mediawiki index php Edustore _Datenbank _und_Modulinstallation Module Scripts Create_mit_Ant Wenn die Tabelle auch gef llt werden soll muss eine Einf geoperation mit den Ele menten loadtable erzeugt werden lt loadtable refresh true delimiter header false tabname schluessel gt lt file path SUPERX_DIR db install rohdaten schlues sel unl gt lt loadtable gt Zu Kl ren ist ob auch bisherigen Anwender die Tabellen Upgraden k nnen Es m sste ein Up grade SQL Script entwickelt werden das zuerst pr ft ob die alten Tabellen mit den alten Feldnamen noch existieren und wenn ja m ssen sie entfernt werden Derzeit planen wir das nur f r eine Neuinstalla tion D
200. tnummer noch nicht relevant Als Ergebnis liefert ein select auf die tempor re tabelle tmp_hier die Projekte die der User sehen darf und diese werden dann im Baum beim Button Kostentr ger dargestellt Bei einem eingeschr nkten User sieht der Baum z B so aus wenn er auf den Button Kostentr ger klickt Auswahl Kostentr ger Sicht regul re Sicht Sichtauswahl Stand 19 11 2014 ndern Gesamt GE Beier Kirgistan 20555 F AMB PT FT Prof Seliga Suchen Abbrechen OK Leeren Die Rechteverarbeitung in der Maske wollen wir zun chst am Beispiel von Kostenstellen veranschauli chen 147 F r die Berechnung der Werte ist das sogenannte select_stmt in der Tabelle Maskeninfo mit der tid 12719000 zust ndig Sie k nnen es sich ansehen wenn Sie unter Administration Masken Maske suchen die Maske aus w hlen Maske suchen Sachgebiet H Maske 12719000 Testbericht nach Kostenstelle Proje Titelstichwort Abschicken Zur cksetzen Klicken Sie anschlie end auf den Bearbeiten Button Maske suchen Maske 12719000 Testbericht nach Kostenstelle Projekt User superx Stand 14 09 2010 Maske Nr Name Erl uterung Sachgebiet Bearbeiten Sachgebiete Stylesheets NW DN Testbericht nach Kostenstelle Projekt Testbericht nach Kostenstelle Projekt Finanzrechnung 12 719 000 Das select Statement steht im sich ffnenden Dialog an zweiter Stelle Maskeninfo verwalten GEERT
201. tp lt URL der Webapplikation gt gt servlet SuperXmlTabelle tid 20010 amp id 2044 Die Ergebnisseite wird dann um einen Button erg nzt nextwin Das gleiche wie nexttable nur es wird ein neues Fenster ge ffnet dowtable nextpage Link auf eine andere SuperX Tabelle wie nexttable es wird nur ein anderes Icon und ein anderer Target genutzt nextmask Link auf eine andere SuperX Maske der Inhalt des Feldes wird dann um den Pfad zum Servlet optional auch den String der Sessionid und den Passus SuperXmlMaske tid erg nzt So wird z B aus dem Inhalt 20010 amp id 2044 der Link http lt URL der Webapplikation gt gt servlet SuperXmlMaske tid 20010 amp id 2044 Die Ergebnisseite wird dann um einen Button erg nzt nextdelete Link auf eine andere SuperX Maske Im Unterschied zu nextmask wird hier ein anderes Icon gew hlt Die Ergebnisseite wird dann um einen Delete But ton x erg nzt nextedit Link auf ein DBForms Formular relativ zur URL des Servlets die Ergebnis seite wird um einen Bearbeiten Button DN erg nzt nextmail Feldinhalte werden um einen Mailto Tag erg nzt z B info superx projekt de wird zu lt a mailto info superx projekt de gt info superx projekt de lt a gt url Feldinhalte werden um einen href Tag sowie wenn n tig um ein http er g nzt z B www superx projekt de wird zu lt a href http www superx projekt de gt www superx projekt de lt a gt 80 nextlink
202. tudierende Pr fungen parent Studierende Pr fungen gt Abfragen zur Administration des SOS Moduls sos_doku_admin_ur l lt thema gt Nach Generierung der Modulscripte wird der Themenbaum entsprechend aufgebaut und das Thema entsprechend mit dem Inhalt unter Informationen hinterlegt Wichtig ist aber das passiert nur bei der Ers tinstallation bzw beim Upgrade nur dann wenn das Thema noch nicht existiert und neu eingef gt ist Warum Damit die Hochschulen das bei Bedarf ndern k nnen Wenn Sie den Inhalt des Feldes themenbaum erlaeuterung auch bei vorhandenen Installationen ndern wollen m ssen Sie das als speziellen Upgrade Step codieren Beispiel in sos xml lt upgrade step gt lt nativeaction sql scriptfile SOS_PFAD schluesseltabellen themenbaum_up date sql database gt lt upgrade step gt Wir machen das bisher selten weil es wie gesagt eigentlich nicht so gedacht ist Fazit um Release Captions zu ndern muss man also 1 die jew Modul XML anpassen beim obersten Element unter module description f r elemente dar unter im Bereich lt thema gt 2 f r vorhandene Installationen einen Upgrade step einrichten nach dem Motto update themenbaum set rlaeuterung where name 3 Modulscripte generieren 4 In der jew Installation das Modul dann Upgraden 3 2 5Masken Hier werden die Masken bzw Berichte des Moduls deifnieret Diese Definitionen werden z B genutzt
203. tutionen gt lt if Aggregierung stark and eineInstitution strukturInt 30 gt lt else gt 51 lt if gt lt foreach gt nodeattrib ein Knotenattribut wenn null oder 0 Knoten ganz normal 1 versteckt 2 nicht selektierbar im Baum neu in kern4 5 3 einger ckt bei Feldart 1 Beispiel f r relations SQL f r Feldart 1 select key name 0 as nodeattrib from tabelle where name like LFB 0 normale Darstellung union select key name 3 as nodeattrib from tabelle where name not like LFB 3 eingerueckt Eine besonderer Trick ist wenn man einen bestimmten Knoten aus dem Baum braucht der nicht aus gw hlt sein muss Man nimmt den Feldnamen der Sicht und schreibt z B Kostenarten getSubkeys 21 Dann kriegt man eine Schl sselliste f r alle Schl ssel 21 und untergeordnete 2 2 3 4 Spezielle M glichkeiten bei Feldart1 Auswahlfeldern Datenbl tter Bei einfachen Auswahlfeldern z B H rerstatus kann man im SQL klassisch vorgehen select from where hrst lt lt H rerstatus gt gt Wenn ein Schl ssel ausgew hlt wurde kann auch per Freemarker auf die Variable zugegriffen werden select from where hsrt H rerstatus wenn nichts ausgew hlt wurde enth lt die Variable einen Leerstring Spezielle Anforderungen bei Datenblattabfragen Beim Feld Felder sind verschiedene Felder hinterlegt dort gibt es eine Querabh ngigkeit vom ausge w hlten Bericht Je nach Ber
204. twicklung param maskxml 125 Die Parameter werden dem nun folgenden SQL Quellcode der Abfrage bergeben SQL Quelle dar aus wird dann ein Script erzeugt das nur noch die Freemarker Befehle enth lt SQL nach 1 Transforma tion Das tats chlich nach der Freemarker Transformation in der Datenbank ausgef hrte Script wird in der rechten Spalte angezeigt 5 SIPERLENEMCRIINGEMOZINGFITEIOR en FH Datei Bearbeiten Ansicht Chronik Lesezeichen Extras Hilfe a gt z Qj a he S ei eh L http mercury 8080 superx serviet de superx servlet Entwicklung LJ SuperX Entwicklung G5 http mercury param maskxml D SuperX Entwicklung SuperX 3 5 build 12 06 2008 14 50 user superx Masken XML Parameter anzeigen SQL Quelle SQL nach 1 Transformation em er SOL nach Freemarker Transfori SQL Quelle Ausblenden Alter der Studierenden 16340 gelaufen 10 31 01 Freemarker Template lt include SQL_lingua_franca gt lt include SuperX_general gt mation Tabellen XML diese Zwischentabelle wird erstellt um sp ter gew F lle zu erm glichen 1 FS start Datentabelle lt selectintotmp select L text L lehr L stg as ch30_fach L vertfg L kz_fach L abschluss sem_rueck_beur_ein S alter S fach_nr sum S summe decimal 14 2 as summe source sos_stg_aggr S lehr_stg_ab L target tmp_zwischen gt where lt lt K pfe oder F lle gt gt and lt lt H rerst
205. type CHAR size 10 notnull false description Lehreinheit gt lt com ment gt hochschulinterner Schl ssel lt comment gt lt column gt lt column name beschreibung type CHAR size 150 notnull false description Bezeichnung des Studienfachs gt lt column name astat type CHAR size 3 notnull false description Externer Schl ssel gt lt column name studienbereich type CHAR size 10 notnull false description Schl ssel Studienbe reich gt lt column name aktiv type SMALLINT notnull false description Aktiv gt lt comment gt Nur aktive Stati 1 werden im Studiengangsbaum angezeigt lt comment gt lt column gt lt column name bund_key type CHAR size 10 notnull false description Bundesschl ssel Lehrein heit gt lt column name datenquelle type INTEGER size 4 default 1 notnull false description Da tenquelle f r diesen Datensatz gt lt column name erzeugt_am type DATE size 4 default today notnull false description Da tum der Erzeugung des Datensatzes currentlyUsed false gt lt column name geaendert_am type DATE size 4 default notnull false description Datum der letzten nderung des Datensatzes currentlyUsed false gt lt column name geaendert_von_id type INTEGER size 4 default notnull false description Use rID des ndernden currentlyUsed false gt lt column name erzeugt_von_id type INTEGER size 4 default no
206. uch aber nicht direkt ein sondern codieren Sie diesen als n Bei der Ausgabe wird dies als Umbruch umgesetzt Beispiel Der Code Column CID 0 heading_text Art nd Ebene center_heading row_selectable heading_platform readonly width 10 text_size 20 explanation A sos_ebeneQ sieht in der Ausgabe so aus 83 Bericht Anzeige Sie sind hier Grunddaten und Basisberichte Bewerbung Zulassung Bewerbung ES amp E OR lt gt A GB Bericht entwerfen Leerer Bericht Bewerbungsprozess nach Studiengang Legende Bewerberz hlung Alle Semester WS 2009 2010 Studieng nge a Bewerbungen d Ebene gesamt weiblich weibl in ER Um Spalten berschriften zu verkn pfen muss man wie folgt vorgehen 2 4 10 3 Verkn pfte Spalten berschriften Alle Zellen die verkn pft werden sollen m ssen den gleichen Namen haben und mit dem Steuerzei chen 000 sowie einem Zeilenumbruch n enden Beispiel Der Code Column CID 4 heading_text Bewerbungen 000 n gesamt center_heading row_selectable col_selectable rightJust heading_platform readonly width 10 explanation Bewerberanzahl Column CID 4 heading_text Bewerbungen 000 n weiblich center_heading row_selectable col_selectable rightJust heading_platform readonly width 10 explanation Column CID 5 heading_text Bewerbungen 000 nweibl in center_heading row_selectable col_selectable rightJust heading_platf
207. ue gt lt customfield name lehreinheit nullFieldValue visibleSize 10 gt lt customfield name beschreibung nullFieldValue visibleSize 30 gt lt customfield name astat nullFieldValue visibleSize 100 gt lt customfield name studienbereich nullFieldValue visibleSize 30 gt lt customfield name aktiv nullFieldValue visibleSize 10 gt lt customfield name bund_key nullFieldValue visibleSize 30 gt lt customfield name Datensatzstatus type include path edit gang daten satzstatus inc gt lt form gt 3 5 1 2 Filter Mit dem Element lt filters gt lt filters gt kann man Parameter definieren die in der URL zum DB FORM bergeben werden sollen Z B mit dem Passus lt filters gt lt filter mandatory true type equals gt tid lt filter gt lt filters gt definiert man den Parameter tid als Pflichtfeld Siehe Beispiel lt form name zuordnung in der gang xml 3 5 2 Test der Formulare Die Formulare werden in der Modul XML Datei definiert s o Die JSP Seiten werden dann generiert indem man das module_scripts_create ausf hrt Danach muss man einen Modulupgrade ausf hren damit die Formulare in der Datenbank gespeichert werden Und dann kann man die Formulare testen indem man im Men Administration gt Tabelle su chen gt Bearbeiten anklickt Wenn Sie die Bearbeitungsformulare auch im Themenbaum anzeigen wollen m ssen Sie eine Such maske vorsc
208. uk nftig erweiterte Rechteverwaltung quelle sesamkey char 100 f r zuk nftig erweiterte Rechteverwaltung quelle text SQL zum Aufbau der Hierarchie sp_user_orga lt lt Use sp_cob_fikr_hier lt lt Use vergl ausf hrliche Beschreibung unten rID gt gt lt lt Stand gt gt lt lt Sic rID gt gt lt lt Stand gt gt lt lt Sicht ht gt gt gt gt select name key parent select from tmp_hier drop table name key_apnr parent le tmp_hier hre erlaubt from tmp_or ganigramm drop table tmp_organigramm attr but char bei Bedarf noch Attribute der Sicht hinterlegt werden attribut2 char auf die man bei Bedarf Einschr nkungen fahren kann attribut3 integer attribut4 integer alt_quelle char Tabelle mit Infos zu altn Hierarchie alt_hier_id id der alt Hier in angegebenen Quelltabelle null bei re gul re Hierarchie treecfgta char Tabelle mit Infos zu TreeView aus Cob ble treecfgid id des benutzen trees aus Cob Tabelle trees null bei regul rer Hierachie implie text future use dTags spezifische Tags die in select_stmts ersetzt werden Syntax lt lt Tagname gt gt valuel Diese Spalte wird von Memtext gepflegt und darf nur von Memtext angepasst werden userTags text future use Falls Sie selbst spezielle Tags f r eine Sicht hinterle gen wollen k nnen Sie das analog zur implied Tags Spalte hier tun xmlma integer wenn ein Wert angegeben ist werden maximal die xentries Anzahl von Eintr gen in Comboboxen im Xml Frontend angezei
209. uss k nnte man einfach select from tmp_xx machen oder sicherheitshalber besser select ord as ebene stg_empf_str lt assign i 0 gt lt if lehr_abg has_content gt lt foreach row_gang in lehr_abg gt lt assign i i 1 gt lehr i lt foreach gt lt if gt from tmp_gang_cnw4 Schlie lich muss nur noch die XIL Proplist variabel erzeugt werden dabei kann mit name auf den Na men der Lehreinheit zugegriffen werden XIL List sizable _ colums horizontal_scrolling white_space_color COLOR_WHITE fixed_columns 1 min_heading_height 35 Column CID 0 heading_text Ebene explanation center_heading row_selectable col_selectable rightJust heading_platform readonly width 30 Column CID 1 heading_text NachfragendenLehreinheit nStudiengang explanation center_heading row_selectable col_selectable rightJust heading_platform readonly width 30 lt assign i l gt lt if lehr_abg has_content gt lt foreach row_gang in lehr_abg gt lt assign i i 1 gt Column CID i heading_text row_gang name explanation center_heading row_selectable col_selectable rightJust heading_platform readonly width 20 lt foreach gt lt if gt Die volle Flexibilitat ist im XML Frontend gegeben Da sich das Applet Spaltendefinitionen merkt kann es Unstimmigkeiten geben wenn die Spaltenzahl von Auswahlfeldern der Maske abh ngt 2 2 8 Mask
210. ussehen lt assign customize resulttable field name caption Ghiederung width 14 field verfuegbar caption verf gbar width 12 explanation fin_verfuegbar field einnahmen caption Einnahmen width 10 field aus caption Ausgaben width 10 field fest caption Festgelegt width 10 DA field ist Feldname in der tmp_erg tabelle caption Spalten berschrift width f r xil proplist und explanation ggfs auch man muss genau auf richtige anzahl von achten sonst kommt beim Maskenaufruf interpretation error im Masken sql gegen Ende baut man ein lt if CUSTOM_xxxxxx exists gt lt assign inlineTemplate CUSTOM_xxxxxx interpret gt lt inlineTemplate gt lt if gt wenn eine Hochschule ein custom xxx angelegt hat wird der Inhalt interpretiert und ein custo mize Hash steht zur verf gung Abschluss select pr ft also lt if customize exists gt customize existiert abschluss select daraus aufbauen 87 select lt foreach f in customize resulttable gt S f field lt if h_has_next gt lt if gt lt foreach gt from tmp_erg2 lt else gt kein customize objekt existiert standard abschluss select select name akt_soll einnahmen ausgaben verf gbar from tmp_erg lt if gt F r die XIL Proplist muss es genauso laufen XIL List freemarker templat lt if CUSTOM_xxxx exists gt lt ass
211. uteDBinterface test upload_iso O ExecuteDBinterface test upload_utf8 en E AE ENER ten Apply Filter matched 70 of 70 items 9 Q o S Wichtig ist auch der Parameter file encoding wenn das zugrunde liegende Betriebssystem ISO als Standardcodierung nutzt 113 3 o Create manage and run configurations Run a Java application Run Y x D Apache Tomcat A Eclipse Application amp Eclipse Data Tools B Generic Server 5 Generic Server External Launch D HTTP Preview D J2EE Preview 5 Java Applet v 5 Java Application O cob_busa_unload DatabaseAdapterUnload Datalmporter O ExecuteDBinterface executeFile DI ExecuteDBinterface executeFile_fm ExecuteDBinterface exportFilewithSQL Sj ExecuteDBinterface joolap_upload ExecuteDBinterface Maske einspielen 59 ExecuteDBinterface Maske SOS entladen 3 ExecuteDBinterface Maske TT entladen ExecuteDBinterface sqiquery 5 ExecuteDBinterface test Transaction ExecuteDBinterface test upload_iso ExecuteDBinterface test upload_utf8 lt Filter matched 70 of 70 items Name ExecuteDBinterface Maske TT entladen Main pi Arguments gt A JRE gt Classpath S Source MB Environment I Common Program arguments databases_dq xml home supendProjekte his hisinone mirrorwebserveritomcat a webapps supen WEB INF confledustore db module tconffhis1 edustore_install edustore_tt_masken_ent
212. utsch ze Tabelle p si PS Maske a ar Zur cksetzen Es erscheint als Ergeb agm Export Druckversion XML Text RTF mis eIn Felderinfo Ein Beschriftungen suchen trag zu diesem Thema S Stichwort kurz Staats Sprache Deutsch Stand 01 01 2003 wir sehen dass au die id Tabelle Feld Datensatz Sprache Inhalt kurz Inhalt Bearbeiten Es Nr kurz lang Kurzbeschriftung gef llt felderinfo Staatsangeh rigkeit de Staatsangeh rigkeit DN ist Wenn wir das Kon zept mit einem ToolTip a versehen wollen gehen wir rechts auf Bearbei ten 107 Wir k nnen eine Lang Ge D Supe beschreibung im Feld ii eg Beschriftungen In diesem Formular k nnen Sie Beschriftungen bearbeiten contents_long einfii S tid 215 gen Der dortige Text Wise Table_name felderinfa wird als ToolTip ange Field_name staatsangehdrigkeit zeigt Sie speichern die Record_nolffnuit u Locale Deutsch Angaben mit Spei Contents_short Staatsangehdrigkeit chern REMMI os ccanschoc Stastzungehnngtet ais sn sor UESN MEERES una sind Equalitystatus NULL Sachgebiete_id Studierende Speichern Erste I orherige In ichste I Letzter L schen I Neu Im Applet wird derText Te dann bei Mausbewe Studierende und Studienanf nger nach Geschlecht gung ber den Button K pfe oder F lle k pte Semester ss 2005 Stichtag ose Staatsangeh rigkeit wie folgt angezeigt i
213. vars gt lt sqlvar bewilligungen gt select sum bewill from fin where ins lt lt Ins gt gt lt sqlvar gt lt sqlvars gt Abschluss select select name ansatz lt if bewilligungen amp gt 0 gt bewill lt if gt ausgaben verfuegbar from tmp erg XilPropliste XIL Column CID 4 heading_text Name center_heading row_selectable col_selectable rightJust heading_platform readonly width 10 lt if bewilligungensgt gt 0 gt Column CID 4 heading_text bewill center_heading row_selectable col_selectable rightJust heading_platform readonly width 10 lt if gt Column CID 4 heading_text Ausgaben center_heading row_selectable col_selectable rightJust heading_platform readonly width 10 Column CID 4 heading_text verftigbar center_heading row_selectable col_selectable rightJust heading_platform readonly width 10 Bisher musste daf r in der XIL Proplist der sqlvar Block wiederholt werden in der aktuellen superx version stehen aber die sqlvars aus der masken sql automatisch zu verf gung hochschulspezifische Einstellungem glichkeit Der Standardbericht sollte so viele Spalten wie max ben tigt enthalten in der Standardauslieferung werden alle Spalten gezeigt Beispiel standard schluss select select name akt_soll einnahmen aus verfuegbar from tmp erg Wenn eine Hochschule nicht alle Spalten sehen m chte oder die Spalten in einer anderen Reihenfolg folgendes Vor
214. x_captions field contents_long gt die Wherebedingung fehlt hei t das wie in klassischem SQL update sx_captions set contents_long und alle Zeilen in der ganzen Tabelle werden auf einen Leerstring gesetzt brigens ist DOSQL erweitert so dass man xupdate auch per Shell nutzen kann Z B module_cifx_in stall sql lt xupdate gt lt sql gt DELETE FROM fm_templates WHERE id KERN_CIFX_UPDATE lt sql gt lt sql gt INSERT INTO fm_templates id description content version select KERN_CIFX_UPDATE Makro cifx update content 1 from fm_templates where id SuperX_general Content ist leider als not null definiert daher erst mit anderem Wert f llen und dann berschreiben lt sql gt lt text table fm_templates field content where id KERN_CIFX_UPDATE gt lt CDATA lt macro MODUL_CIFX_UPDATE gt select Quellsystem_var Quellsystem_var char 30 from xdummy select S SQLdialect from xdummy lt text gt Man kann mit dem Element lt postsql gt auch ein oder mehrere SQL Befehle nach dem TEXT Update ausf hren 2 7 5 Das Access Frontend Die Access Datenbank enth lt die Tabellen des Kernmoduls als Verkn pfungen und erm glicht so ein leichtes Administrieren der Datenbank Die Installation ist in der Installationsanleitung f r ODBC Quel len beschrieben Die folgende Abbildung
215. zeigt das Hauptmen Das Frontend eignet sich zur Verwaltung von Usern Gruppen Sach gebieten und Masken sowie deren relationalen Verk pfungen blaue K stchen Dar berhin aus sind Formulare f r das Systeminfo den Themenbaum und das Organigramm vorgese hen 117 X Superx Administration User Masken Macto Masken Das SuperX Insthuton I Traneist Kemmodul Setup rpebi ccet wsd Yw zl wid Aaaa supercon eh de D Probleme mit der Bedienung von Access gibt es immer dann wenn Tabellen keine Prim rschl ssel ha ben oder wenn die Felder mit den Prim rschl sseln nicht gef llt sind Mit der Version 2 1 erhalten alle Tabellen in SuperX au er Datentabellen und Hilfstabellen weil diese normal nicht manuell bearbeitet werden Prim rschl ssel Wenn es dennoch Probleme gibt empfehlen wir die Java basierte SQLWork bench Das Access Frontend erm glicht die bequeme Anderung von Abfragen fiir die Eingabe neuer Masken und Felder empfehlen wir eher die Abfragen im normalen Themenbaum Nach dem Offnen der Datei db superx_frontend mdb k nnen Sie unter Masken die einzelnen Masken von SuperX anw hlen und ff nen Sie erhalten im Formular maskeninfo ein Formular das Eingaben oder nderungen in der Tabelle maskeninfo erm glicht 118 Das Formular erm g BER X SuperX Maskeninfo O ser einrichten drop table tmp_ergebnis SEEN licht es Masken zu n dern und zu erzeuge
216. zeugt die Deinstallation Scripte SuperX Platform doc Erzeugt die Datenbank Dokumentation Entladeroutine Laderoutine Modulbeschrei bung im HTML bzw RTF Format SSES Erzeugt die ETL Scripte f r HIS Edustore HISinOne Platform edustore_ Erzeugt die Installations Scripte HISinOne Platform inkl Upgrade Scripte und Mas install kenverwaltung im Verzeichnis conf his1l edustore_install etl Erzeugt ETL Scripte SuperX Platform ice Erzeugt die Scripte zum F llen der Metadaten Tabellen und Hilfstabellen f r ICE install Erzeugt die Modulscripte f r die Modulinstallation SuperX Platform mask Erzeugt die Verwaltungsscripte f r die Masken des Moduls Laden Entladen mediawi Erzeugt die Datenbankdokumentation im Mediawiki Format im Verzeichnis ki conf his 1 edustore_doc meta Erzeugt die SQL Dateien die die Metadaten Tabellen und Felder f llen leeren upgrade Erzeugt das Script zum Datenbank Upgrade SuperX Platform Aktualisierung einer vorhandenen Modulinstallation auf die aktuelle Version Mit dem Befehl ant f conf module_scripts_create_ant xml help wird auch nochmal eine Erl uterung in der Shell ausgegeben 3 1 5 Erl uterung zum Aufbau der ANT Datei Die Targets die zum Starten gedacht sind stehen ganz am Anfang unter dem Punkt Start Parameter Diese Targets enthalten alle den Parameter depends init da in init die sp ter ben tigten Variablen gef llt werden In den Start Targets steht in der Regel nur ein Aufruf d
Download Pdf Manuals
Related Search
Related Contents
Raptor System Datasheet - Rapid 組立説明書 Altronix AL400ULXB D/A/CH MACCHINA INDUSTRIALE INDUSTRIAL MACHINE MACHINE 096 Sept Techlink 2010_Sept 2010 Techlink Pyle PPHP1290 loudspeaker Motorola CP150 Two-Way Radio User Manual Modus 2005 - Laboratoire Parole et Langage Copyright © All rights reserved.
Failed to retrieve file