FormularMax 4000 (english)

Aus WollMux
Wechseln zu: Navigation, Suche

FormularMax 4000 is an integrated development environment (IDE) for creating and maintaining WollMux forms and templates. THIS PAGE IS UNDER CONSTRUCTION. Please check back frequently. Tranlation has just begun. Note: this page may refer to OpenOffice.org or LibreOffice interchangeably, at least for now. Make the appropriate substitutions in the instructions. FormularMax 4000 is also referred to as FM4000.

Handbook for Converting and Adapting WollMux Templates

There is a German-language handbook on FormularMax 4000 at the following link: ein Handbuch (PDF) If you read German, it will be quite useful, although many of the URLs it contains are dead links, as it gives a very detailed description of FormularMax 4000 and its use (much more so than this Wiki page). This page, however, will be updated regularly -- not so the Handbuch.

Add the FormularMax 4000 toolbar buttons

To start FormularMax 4000, you'll need a corresponding toolbar with buttons. Go to View -> Toolbars -> "Tools for creating templates(WollMux)" and select this option. The "FormularMax 4000" toolbar should appear below the menu items, and above the document editing frame. If this doesn't work for you, add FormularMax 4000 manually as follows:

  1. Tools -> Customize -> "Toolbars" tab
  2. At the top of the Toolbars tab is a "Toolbars" combo box. Select "Standard"
  3. At the bottom of the Toolbars tab is a "Save in" combo box. Select "LibreOffice Writer" or "OpenOffice.org Writer"
  4. Click on the "Add..." button on the right of the Toolbars tab
  5. To the left under "Category" select (OpenOffice.org/LibreOffice) Macros/My Macros/WollMux/Call
  6. On the right under "Commands" select FormularMax4000
  7. Click "Add"
  8. Click "Close"
  9. Click "OK"

Note: if you've already installed a FormularMax 4000 toolbar via the menu, the path to FormularMax 4000 will already exist under "LibreOffice Macros" and not "My Macros". Choose one method or the other - not both.

Using FormularMax 4000

Important
The current instance of FormularMax 4000 remains attached to document that had focus when FormularMax 4000 was started. FM4000 closes automatically when this document is closed. This means that you need to open a new FM4000 for each template you want to work on.

Menus

The functions of FM4000 available from the menu are described below, in the order a typical work process would require.

Form/Get Form Fields from Template

This "grabs" all input fields, "dropdowns" and checkboxes that are not already assigned WollMux commands (in other words, only newly entered form fields are picked up) and integrates them into the form description. Once "harvested", the corresponding form fields will be enclosed by WollMux command characters.

Tip
At present, checkboxes are only "harvested" if they are anchored as a character or anchored to a character, or if they've been imported from a Word document (and therefore have no standard anchoring). Refer to Positioning Objects if necessary.

FormularMax4000 looks for references/names/entries with the following pattern:

Text1<<Text2>>

Entries with patterns of this type are pulled in for determination of labels, IDs, and other information. The following cases are distinguishable in some respects:


  • Input field: A "Reference" of the form "Label<<ID>>" will be imported and used to determine the label and ID of the correpsonding field in the form GUI. An entry of the form "<<ID>>" marks the field purely as a placeholder (insertValue or insertContent). No corresponding control element will be created in the form GUI.
  • Input list/Dropdown: A "Name" of the form "Label<<ID>>" can be entered. It will be handled as above. You can use the special entry "<<Freitext>>", letting FM4000 know that the Combobox should allow free text. As for input fields, "<<ID>>" without "Label" lets FM4000 know to treat this as a place holder, without creating a combox in the form GUI. If present, up to (N-1) spaces will be removed from entries in the dropdown list, where N equals the number of entries identical to this entry except for trailing spaces. This makes it possible to enter the same word in the list more than once. Tip: You don't need to use <<Freitext>> for free text. To the right of comboxes in FM4000 are a checkbox, "N" and "X". Checking the checkbox allows free text. In fact, if you use <<Freitext>>, the checkbox will appear checked in FM4000 when you "harvest" form fields from your template.
  • Checkbox: For checkboxes, you can enter "help text" of the form "Label<<ID>>", which will be handled accordingly.
  • For input fields and input lists, "<<ID>>" without Label is permitted. As described above, this signals the presence of a placeholder to be replaced with the value of the form field's ID. Use this to allow multiple entries of the same value without requiring the end user to enter it more than once.
  • For input fields and input lists, "<<glob:ID>>" without Label is permitted. This signals an "insertValue" placeholder for global data (in WollMux's original incarnation, usually the sender data of the end user).
  • Gender-related entries. Note: For languages other than German, this functionality can be problematic. Somewhere in your template there must be a combobox with two or three entries related to gender (you can hide it, a topic covered elsewhere). Originally, it appears that the pattern was "Anrede<<Anrede>> for this entry, but now other values appear to work. "Title<<Title>> has been used successfully. (Other values may work fine, but the translator hasn't tested them yet.) It is suggested that you use the following values: Entry No. 1: It appears not to matter what you put, but the first entry is always male. I use "Mr.". Entry No. 2: As with Entry No. 1, but will always be female. I use "Mrs." or "Ms.". Entry No. 3: For this to work, it is suggested that you use the German entry "Damen und Herren". I don't know why, but it doesn't work with "Mr. and Mrs.", for example. For input lists/dropdowns, the entry form "<<gender:ID>>" is permitted. This creates a pure placeholder provided with a Gender function designator ("TRAFO"). Depending on the form field id, the TRAFO will insert one of the values from the dropdown: If the dropdown has only 2 entries, a third case will insert the field ID unchanged. If present, 1 to 2 spaces at the end of the entry will be removed. This makes it possible to enter the same word in the list more than once. This topic is covered in much greater detail in the Handbuch.

Form/Set Title Of Form

Here you can change the window title of the form's GUI.

Formular/Druckfunktionen setzen

In der erscheinenden Maske können eine oder mehrere Druckfunktionen aus einer DropDown-Liste ausgewählt und für dieses Dokument gesetzt werden. In der DropDown-Liste werden alle Druckfunktionen angezeigt, die im globalen Druckfunktionen-Abschnitt der WollMux-Konfiguration konfiguriert sind. Von den mit dem WollMux und der Standardkonfiguration ausgelieferten Funktionen, können nur die folgenden hier sinnvoll verwendet werden:

  • SeriendruckMitAuswahl: Diese Funktion kann verwendet werden, um dem Benutzer eine Auswahl von vorher festgelegten Adressen zu präsentieren (z.B. Krankenkassen) und für jede vom Benutzer selektierte eine Ausfertigung zu drucken. Zusätzlich zum Setzen dieser Funktion muss die Vorlage mit einer OpenOffice-Datenquelle verbunden werden (über den Menüpunkt Bearbeiten/Datenbank austauschen...). Beim Drucken präsentiert diese Funktion dem Benutzer eine Auswahlliste in der er die Datensätze wählen kann, für die eine Ausfertigung gedruckt werden soll. Angezeigt wird in dieser Liste für jeden Datensatz der Inhalt der Spalte "WollMuxDescription". Ist eine Spalte "WollMuxSelected" vorhanden und enthält "1", "ja" oder "true", so ist der entsprechende Datensatz in der Auswahlliste bereits vorselektiert.
  • SeriendruckOhneAuswahl: Druckt für jeden Datensatz der über den Menüpunkt Bearbeiten/Datenbank austauschen... gewählten Datenquelle eine Ausfertigung, ohne Benutzerrückfrage. Kann verwendet werden, wenn immer für eine vorher bekannte Liste von Empfängern mehrere Ausfertigungen gedruckt werden sollen.
Achtung
Die folgenden Druckfunktionen lassen sich nicht sinnvoll mit dem FormularMax 4000 verwenden. Wenn Sie hier eine dieser Druckfunktionen setzen, so wird es nicht das tun, was sie vielleicht erwarten.
  1. PDFGesamtdokumentOutput
  2. SachleitendeVerfuegung
  3. MailMergeNewSetFormValue
  4. OOoMailMergeToOdtFile
  5. MailMergeNewToEMail
  6. Seriendruck
  7. PDFGesamtdokument
  8. Gesamtdokument
  9. MailMergeNewToSingleODT
  10. SachleitendeVerfuegungOutput
  11. OOoMailMergeToPrinter

Formular/Dateiname vorgeben

Über diesen Menüpunkte kann der Vorlage eine Logik hinterlegt werden, die den Dateinamen vorschlägt unter dem ein neu aus der Vorlage erzeugtes Dokument abgespeichert werden soll, wenn es bislang noch nicht abgespeichert wurde (was daran zu erkennen ist, dass z.B. "Unbenannt 1" in der Titelzeile angezeigt wird). Dabei kann sich der vorgeschlagene Dateiname aus fest definierten Bestandteilen und aus Inhalten von Formularfeldern zusammen setzen.

Nach Betätigen des Menüpunktes erscheint ein Dialog in dem folgende Einstellungen getroffen werden können:

Das Feld "Dateiname"

In dieses Feld wird der zu vergebende Dateiname eingetragen, der sich aus Text und Inhalten von Formularfeldern zusammen setzen kann, die über einen Button "ID" eingefügt werden können. Ist die angegebene Datei mit einem absoluten Pfad hinterlegt (wie z.B. /mnt/share/mein_verz/schreiben<UnserZeichen>_<Datum>.odt oder U:\gemeinsameSchreiben\schreiben<UnserZeichen>_<Datum>.odt), so wird dieser Pfad verwendet. Ist die Datei mit einem relativen Pfad hinterlegt (wie z.B. brief<UnserZeichen>.odt), so wird diese Datei relativ zu dem in OpenOffice.org/LibreOffice unter Extras->Optionen/Pfade definierten Arbeitsverzeichnis aufgelöst. Ein evtl. angegebenes aber noch nicht existierendes Verzeichnis wird durch den WollMux nicht angelegt, sondern ignoriert.

Enthält das Feld Dateiname keinen Inhalt, so ist die Funktion zum Vorschlagen eines Dateinamens deaktiviert.

Das Feld "Nachträgliche Anpassung"

Über dieses Feld kann eine Funktion ausgewählt werden, die den sich aus dem obigen Feld "Dateiname" ergebenen Dateinamen nachträglich anpasst. Damit kann z.B. eine in Ihrem Unternehmen gesetzte Dateinamenskonvention umgesetzt werden (wie z.B. das Ersetzen aller Umlaute ä, ö, ü durch ae, oe und ue). In diesem Feld werden alle in Ihrer WollMux-Konfiguration definierten Funktionen zur Auswahl angezeigt, die einen Parameter namens "Filename" erwarten. Eine solche Funktion könnte z.B. wie folgt aussehen:

# Diese Funktion bring einen Dateinamen in eine garantiert bei der LHM zulässige Form.
# Dazu werden mehrere Anpassungen vorgenommen:
#
# 1) Die Umlautzeichen ö, ä, ü, ß werden durch oe, ae, ue, ss ersetzt 
#    (in Groß- und Kleinschreibung)
# 2) alle anderen Zeichen außer a-z, A-Z, 0-9, _ und / werden durch _ ersetzt
# 3) Der Dateinamensteil ohne Suffix wird nach 236 Zeichen abgeschnitten
#
# Die Funktion verarbeitet Dateinamen mit und ohne Suffix.
Funktionen(
  LHMDateinamensanpassung(
    CAT(
      REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE(
        VALUE "Filename"
        "^(.*)\.\w+$" "$1") "ö" "oe") "ä" "ae") "ü" "ue") "Ö" "OE") "Ä" "AE") "Ü" "UE") "ß" "ss") "[^a-zA-Z_0-9\/]", "_") "(.{0,236}).*" "$1") 
      IF(MATCH(VALUE "Filename", "^(.*)(\.\w+)$") 
        THEN(REPLACE( VALUE "Filename", "^(.*)(\.\w+)$", "$2")) 
        ELSE("")
      )
    )
  )
)

Die Angabe einer Funktion für die nachträgliche Anpassung ist optional.

Die Funktion Formular/Dateiname vorgeben kann erst verwendet werden, wenn das Formular einen Namen hat. Deshalb muss das Formular erst unter einem beliebigen Namen gespeichert werden und dann die Funktion angewandt werden. Ansonsten kann das Formular nicht mehr als Vorlage gespeichert werden!

Bearbeiten/Checkboxen zu ComboBox

Viele Formulare verwenden Reihen von Checkboxen in denen genau eine anzukreuzen ist (z.B. [ ] Ja [ ] Nein [ ] keine Angabe). Werden solche Checkboxen mit dem FM4000 erfasst, entstehen dadurch WollMux-Formulare die mit Checkboxen (die in der WollMux-FormularGUI immer vertikal angeordnet werden) überladen und nicht vernünftig bedienbar sind. Statt mehrerer Checkboxen sollte in solchen Fällen eine ComboBox verwendet werden, die je nach im Pull-Down-Menü ausgewählten Wert die passende Checkbox im Dokument aktiviert. Dies von Hand umzusetzen ist zwar möglich, aber sehr mühsam. Die Funktion Checkboxen zu ComboBox erledigt dies automatisch und kann dadurch bei Formularen, die derartige Checkbox-Reihen verwenden, stark zur Verbesserung der Usability beitragen.

Die Funktion wird wie folgt verwendet:

  1. Checkboxen erfassen
  2. Alle Checkboxen mit Labels versehen. Die Labels der Checkboxen ergeben später die Einträge des Auswahlmenüs der ComboBox. Da sich diese später nicht mehr so leicht ändern lassen sollte auf diesen Schritt besondere Sorgfalt verwendet werden.
  3. Die Checkboxen in die richtige Reihenfolge bringen. Die Einträge im Menü der ComboBox entsprechen nachher der Reihenfolge der Checkboxen. Da sich die Reihenfolge der Einträge der ComboBox derzeit nicht einfach ändern lässt, sollte auch dieser Schritt sorgsam überlegt sein.
  4. Die Checkboxen bei gedrückter Strg-Taste mit der linken Maustaste markieren, so dass alle zu kombinierenden Checkboxen gleichzeitig markiert sind.
  5. Menüpunkt Bearbeiten/Checkboxen zu ComboBox aufrufen. Wenn Sie alles richtig gemacht haben, dann werden die Checkboxen gelöscht und durch eine ComboBox ersetzt.
Technischer Hinweis
Dass je nach Auswahl des Eintrages in der ComboBox die richtige Checkbox aktiviert wird, wird durch TRAFOs auf den Einfügestellen (siehe Reiter Einfügungen im FM4000) realisiert, die die folgende Form haben:
MATCH(
  VALUE "ComboBoxWert"
  "<Eintrag in der ComboBox>"
)
Hieraus ist ersichtlich, dass ein nachträgliches Ändern der Werteliste der ComboBox eine Anpassung der entsprechenden TRAFOs auf den Einfügestellen erfordert, da ansonsten die entsprechenden Checkboxen nicht mehr schalten. Der FM4000 versucht, bei Änderungen an der Werteliste die TRAFOs automatisch anzupassen. Dies funktioniert jedoch nur solange, wie zu jedem Zeitpunkt maximal ein Eintrag der Werteliste fehlt oder zuviel ist. D.h. wenn sie einen Eintrag zur Werteliste hinzufügen und dann einen alten Eintrag entfernen, so wird der FM4000 korrekt die entsprechenden TRAFOs, die vorher auf den entfernten Eintrag verwiesen haben so umbiegen, dass sie sich nun auf den neuen Eintrag beziehen. Wenn sie dagegen 2 Einträge zur Werteliste hinzufügen und dann 2 alte Einträge löschen, ist es sehr wahrscheinlich, dass der FM4000 die TRAFOs falsch anpasst. Sollte dies geschehen müssen die TRAFOs manuell angepasst werden.

Bearbeiten/Standardelemente einfügen/Empfängerauswahl-Tab

Fügt am Anfang der Formularbeschreibung ein Standard-Tab ein zum Ausfüllen des Empfängerfeldes des externen Briefkopfes. Diese Funktion muss ausgeführt werden bei Dokumenten, die mit einem externen Briefkopf versehen sind (d.h. die auf Basis der Mischvorlage externer Briefkopf erstellt werden).

Hinweis
Seit WollMux-5.10.2 ist das Standardelemente einfügen Menü konfigurierbar, kann also von den hier vorgestellten Funktionalitäten abweichen.

Bearbeiten/Standardelemente einfügen/Abbrechen, <-Zurück, Weiter->

Fügt ganz unten auf dem aktuell sichtbaren Tab die Standardbuttons "Abbrechen", "<-Zurück" und "Weiter->" ein. Dies sind die korrekten Buttons für ein mittleres Tab (d.h. ein Tab dem noch ein Tab vorangeht und eines folgt).

Hinweis
Seit WollMux-5.10.2 ist das Standardelemente einfügen Menü konfigurierbar, kann also von den hier vorgestellten Funktionalitäten abweichen.

Bearbeiten/Standardelemente einfügen/Abbrechen, <-Zurück, PDF, Drucken

Fügt ganz unten auf dem aktuell sichtbaren Tab die Standardbuttons "Abbrechen", "<-Zurück", "PDF" und "Drucken" ein. Dies sind die korrekten Buttons für das letzte Tab. Gibt es nur ein einziges Tab sollte der Button "<-Zurück" gelöscht werden.

Hinweis
Seit WollMux-5.10.2 ist das Standardelemente einfügen Menü konfigurierbar, kann also von den hier vorgestellten Funktionalitäten abweichen.

Formular/Formularbeschreibung editieren

Schaltet um auf eine Texteditor-Ansicht zum manuellen Bearbeiten der Formularbeschreibung. Wird in der Menüleiste dieser Ansicht Datei/Speichern gewählt, so werden die Änderungen übernommen. Wichtig ist dabei zu beachten, dass die Beschreibung dabei neu geparst und in die internen Strukturen übertragen wird, d.h. alles was der FM4000 derzeit nicht versteht (z.B. Kommentare, Sichtbarkeitsregeln,...) geht dabei verloren.

Formular/WollMux-Formularmerkmale aus Dokument entfernen

Entfernt alle formularspezifischen WollMux-Befehle und Daten aus dem Dokument. Sonstige WollMux-Befehle, die nicht im Zusammenhang mit den WollMux-Formularfunktionen stehen, bleiben davon unberührt.

Datei/Speichern

Identisch zu Datei/Speichern des Writer-Fensters.

Datei/Speichern unter...

Identisch zu Datei/Speichern unter... des Writer-Fensters.

Datei/Beenden

Schließt den FormularMax4000. Das Writer-Dokument bleibt geöffnet.

Das Ansicht-Menü

Über das Menü Ansicht können Sie diverse Teile des FormularMax 4000 ein- bzw. ausblenden.

Ansicht/ID, LABEL, TYPE

Blendet im FormularGUI-Reiter die Bedienelemente zum Bearbeiten der Felder ID, LABEL bzw. TYPE ein oder aus.

Ansicht/Elementspezifische Felder

Manche Formularelemente erlauben neben ID, LABEL und TYPE zusätzliche Angaben. Zum Beispiel kann man bei Elementen des Typs "combobox" die im Pull-Down-Menü auswählbaren Werte festlegen und, ob die ComboBox direkte Eingaben erlauben soll. Bei Elementen des Typs "textarea" dagegen kann man die Anzahl der anzuzeigenden Zeilen spezifizieren. Ist Ansicht/Elementspezifische Felder angeschaltet, so werden die Bedienelemente für derartige Zusatzangaben eingeblendet.

Ansicht/TRAFO, PLAUSI, AUTOFILL, GROUPS

Blendet ein Zusatzpanel (die sog. Extra-View) zum Bearbeiten von TRAFOs, PLAUSIs, AUTOFILLs, sowie der GROUPS-Liste und der Sichtbarkeitsfunktionen ein bzw. aus.

Ansicht/Funktionstester

Öffnet ein weiteres Fenster, in dem WollMux-Funktionen erstellt und getestet werden können.

Reiter "Formular-GUI"

Alle Steuerelemente, die später in der Formular-GUI des Formulars angezeigt werden sollen, werden (evtl. über mehrere Tabs verteilt) in der Steuerelementanzeige auf dem Reiter "Formular-GUI" angezeigt.

  • Tabs werden mit einem dicken Rand dargestellt und sind jeweils der erste Eintrag auf ihrem Tab,
  • Buttons sind daran zu erkennen, dass sie grau hinterlegt sind und 3D-Ränder haben
  • Beim Anklicken eines Steuerelements wird es ausgewählt, was durch eine blaue Umrandung dargestellt wird.
  • Mehrfachauswahl sowie das Abwählen von Elementen sind bei gedrückter Strg-Taste möglich.
  • Im ersten Textfeld einer Zeile lässt sich die ID, im zweiten das Label des entsprechenden Steuerlements bearbeiten.
  • Beim Auswählen einer combobox (Eingabeliste) erscheint rechts neben dem Label ein Eingabefeld, eine Checkbox und zwei Buttons mit "N" und "X".
    • In das Eingabefeld kann Text eingegeben werden, der in der Vorlage als Eintrag der Eingabeliste übernommen wird
      • Der eingegebene Text wird mit dem Button "N" übernommen
      • Durch Anklicken des "X" wird der im Eingabefeld ausgewählte Listeneintrag wieder gelöscht
    • Wenn die Checkbox aktiv gesetzt ist, kann in der Vorlage zusätzlich zu den Listeneinträgen Freitext eingeben werden. Ist die Checkbox deaktiv, kann nur zwischen den vorgegebenen Einträgen gewählt werden.
  • Beim Auswählen einer textarea erscheint ein zusätzliches Eingabefeld, in dem eine Zahl eingegeben werden kann. Diese gibt die Anzahl der darzustellenden Zeilen an. Daneben ist eine Checkbox. Falls diese aktiviert ist, so wird Text am rechten Rand der Textarea umgebrochen (d.h. horizontales Scrollen ist nicht notwendig). Beachten Sie, dass es sich dabei nur um die Darstellung handelt. Zeilenumbrüche werden nie automatisch eingefügt.

Buttons

Im folgenden werden die Funktionen in der Buttonleiste des Reiters "Formular-GUI" vorgestellt.

Hoch

Verschiebt die aktuelle ausgewählten Elemente um eins nach oben. Elemente die bereits ganz am Anfang ihres Tabs sind wandern dabei auf das vorhergehende Tab, falls es eines gibt.

Runter

Wie der Button "Hoch", aber nach unten :-)

Löschen

Löscht die aktuell ausgewählten Elemente. Durch Auswählen des dick-umrandeten Tab-Elements ist es möglich das entsprechende Tab zu löschen. Dies löscht nicht die enthaltenen Bedienelemente. Stattdessen werden diese an das Ende des vorhergehenden Tabs angehängt.

Neuer Tab

Schiebt das markierte Element sowie alle Folgeelemente des aktuellen Tabs auf einen neu erzeugten Tab.

Neues Label

Fügt vor der markierten Position ein Label ein. Das Label wird in der Formular-GUI auf einer eigenen Zeile angezeigt ohne zugehöriges Eingabefeld. Dies ist nützlich, um kleine Hilfetexte in ein Formular einzubauen oder um Kontext herzustellen für die folgenden Eingabeelemente. Im folgenden Beispiel ist der Text "Der Antrag" ein Label, das den Satzanfang für die folgenden Checkboxen liefert. Labels wie dieses erleichtern das Ausfüllen eines Formulars wesentlich.

Der Antrag
[x] wurde geprüft
[x] ist vollständig
[x] wurde zu den Akten gelegt

Reiter "AUTOFILL", "PLAUSI", "TRAFO" und "GROUPS"

Um AUTOFILLs, PLAUSIs und TRAFOs zu bearbeiten muss zuerst über Ansicht/TRAFO,PLAUSI,AUTOFILL die Extra-View aktiviert werden (ein Zusatzpanel an der rechten Seite des FM4000).

Der Reiter AUTOFILL wird in der rechten Hälfte des FM4000-Fensters angezeigt, wenn in der linken der Reiter "Formular-GUI" angezeigt wird und dort genau ein Eintrag selektiert ist. Wenn das ausgewählte Element weder PLAUSI noch AUTOFILL noch GROUPS gesetzt hat, so muss erst der Button "Aktivieren" in der Extra-View gedrückt werden, um die Reiter PLAUSI, AUTOFILL und GROUPS einzublenden. Die als AUTOFILL spezifizierte Funktion (falls nicht "<keine>") legt die automatische Vobelegung des Formularfeldes fest.

Der Reiter PLAUSI wird in der rechten Hälfte des FM4000-Fensters angezeigt, wenn in der linken der Reiter "Formular-GUI" angezeigt wird und dort genau ein Eintrag selektiert ist. Wenn das ausgewählte Element noch weder PLAUSI noch AUTOFILL noch GROUPS gesetzt hat, so muss erst der Button "Aktivieren" in der Extra-View gedrückt werden, um die Reiter PLAUSI, AUTOFILL und GROUPS einzublenden. Die als PLAUSI spezifizierte Funktion (falls nicht "<keine>") bestimmt eine Prüffunktion, die die Eingabe auf Korrektheit testet.

Der Reiter GROUPS wird in der rechten Hälfte des FM4000-Fensters angezeigt, wenn in der linken der Reiter "Formular-GUI" oder "Bereiche" angezeigt wird und dort genau ein Eintrag selektiert ist. Wenn das ausgewählte Element noch weder PLAUSI noch AUTOFILL noch GROUPS gesetzt hat, so muss erst der Button "Aktivieren" in der Extra-View gedrückt werden, um die Reiter PLAUSI, AUTOFILL und GROUPS einzublenden. Auf dem Reiter GROUPS sind alle definierten Sichtbarkeitsgruppen aufgeführt und können durch Anklicken bei gedrückter Ctrl/Strg-Taste dem ausgewählten Formularsteuerelement zugewiesen werden, so dass die Sichtbarkeit des Elements von der entsprechenden Sichtbarkeitsfunktion abhängt.

Der Reiter TRAFO wird in der rechten Hälfte des FM4000-Fensters angezeigt, wenn in der linken der Reiter "Einfügungen" angezeigt wird und dort genau ein Eintrag selektiert ist. Ist für das ausgewählte Element noch keine TRAFO gesetzt, so muss der Reiter TRAFO erst durch den "Aktivieren" Button in der Trafo-View freigeschaltet werden. Die als TRAFO spezifizierte Funktion (falls nicht "<keine>") gibt an, wie ein einzufügender Wert vor dem Einfügen umgewandelt werden soll.

Im folgenden sind die Möglichkeiten beschrieben, Funktionen zu spezifizieren.

TIP
Verwenden Sie die über Ansicht/Funktionstester aktivierbare GUI, um Ihre Funktionen einzugeben und zu testen.

<Wert>

Die Auswahl von "<Wert>" in der Funktion-ComboBox erlaubt die Eingabe eines (evtl. mehrzeiligen) Textes mit dem das Feld vorbelegt wird. Handelt es sich bei dem Feld um eine Checkbox, so wird der Text "true" als gesetzt und alles andere als nicht gesetzt interpretiert.

<Code>

Die Auswahl von "<Code>" in der Funktion-ComboBox erlaubt die Direkteingabe einer Funktion (ohne umschließenden Funktionsbezeichner). Die Funktion muss vollständig spezifiziert sein und alle Formularfelder auf die Bezug genommen wird müssen mit ihrer korrekten ID referenziert werden. Im folgenden ein Beispiel für eine PLAUSI, die testet, ob das Feld "Nachname" nicht leer ist.

MATCH(VALUE('Nachname'), ".+")

Zu beachten ist, dass "Nachname" hier wirklich die ID des entsprechenden Eingabefeldes ist. Ist die ID des Eingabefeldes z.B. "nachname" (man beachte die Kleinschreibung), so wird die obige PLAUSI nicht funktionieren.

Globale Funktion

Der Funktionen-Abschnitt der wollmux.conf erlaubt das Angeben von globalen Funktionen. Alle dort angegebenen Funktionen werden vom FM4000 zur Auswahl angeboten. Erwartet eine Funktion Parameter, so können diese in den entsprechenden ComboBoxen gesetzt werden, entweder auf einen festen String oder als Referenz auf ein Formularfeld. Die Auswahl von "[nicht fest verdrahtet]" lässt den entsprechenden Parameter-Wert offen. Je nach Kontext werden offen gelassene Parameter-Werte verschieden behandelt:

  • Bei AUTOFILLs sollte nie ein Parameter unbelegt bleiben. Je nach Funktion können unbelegte Parameter zu Fehlern führen.
  • Bei TRAFOs werden alle unbelegten Parameter mit dem jeweils zu transformierenden Wert belegt. Deshalb hat eine TRAFO fast immer mindestens einen unbelegten Parameter.
  • Bei PLAUSIs werden alle unbelegten Parameter mit dem Wert des Formularfeldes zu dem die PLAUSI gehört belegt. Deshalb hat eine PLAUSI fast immer mindestens einen unbelegten Parameter.

Referatsspezifische Plugins

Der WollMux erlaubt den Referaten, eigene Plugins einzubinden. Es gibt grundsätzlich 2 Möglichkeiten, eine Plugin-Funktion im FormularMax 4000 zu verwenden:

Global registrierte Plugin-Funktionen

Achtung
Wird eine global registrierte Plugin-Funktion (siehe Abschnitt weiter oben) für ein Formular verwendet, so muss diese bei jedem Anwender, der die Vorlage verwenden möchte global registriert sein. D.h. es ist nicht möglich, Funktionen temporär global zu registrieren, damit der Vorlagenersteller diese im FormularMax 4000 verwenden kann, und sie anschließend aus dem globalen Funktionen-Abschnitt zu entfernen. Wenn eine Funktion nicht dauerhaft im globalen Funktionen-Abschnitt erscheinen soll, so muss eine nicht registrierte Plugin-Funktion verwendet werden.

Nicht registrierte Plugin-Funktionen

Manchmal ist es nicht erwünscht, Plugin-Funktionen im globalen Funktionen-Abschnitt zu registrieren. Gründe hierfür können zum Beispiel folgende sein:

  • Eine Funktion wird nur in einer oder zwei Vorlagen verwendet. Es kann störend sein, wenn solche Funktionen in jeder Funtionsauswahl-Kombobox des FormularMax 4000 angezeigt werden.
  • Soll eine Vorlage an ein anderes Referat weitergegeben werden und die Vorlage verwendet eine global registrierte Plugin-Funktion, so muss das empfangende Referat die Plugin-Funktion ebenfalls global registrieren. Dabei sind schwer auflösbare Namenskonflikte möglich und die Funktion erscheint in jedem FormularMax 4000 des empfangenden Referats. Beides ist ungünstig.

In solchen Fällen ist es günstiger, auf das globale registrieren einer Plugin-Funktion zu verzichten. Um diese dennoch verwenden zu können, kann eine Kombination von BIND und EXTERN direkt eingegeben werden. Zu diesem Zweck wird als Funktion "<Code>" ausgewählt und im Eingabefeld ein Code eingegeben wie z.B. der folgende

BIND(
 FUNCTION(
   EXTERN(
     URL "java:de.muenchen.kvr.FormularFunktionen.resturlaub"
     PARAMS("p1", "p2", "p3")
   )
 )

 SET(
   "p1"
   VALUE "urlaubsanspruch1"
 )

 SET(
   "p2"
   VALUE "bereitsbeantragt1"
 )

 SET(
   "p3"
   VALUE "jetztbeantragt1"
 )
)

In diesem Beispiel wird die Plugin-Funktion de.muenchen.kvr.FormularFunktionen.resturlaub verwendet. Diese erwartet 3 Parameter. Die Bezeichner p1, p2 und p3 sind willkürliche Platzhalter für diese 3 Parameter. In den SET-Abschnitten werden den 3 Parametern entsprechende Aufrufwerte zugewiesen. urlaubsanspruch1, bereitsbeantragt1 und jetztbeantragt1 sind nicht willkürlich gewählt, sondern sind die IDs von den 3 Eingabefeldern des WollMux-Formulars aus denen der Resturlaub berechnet werden soll. Es ist wichtig, darauf zu achten, dass das Wort "VALUE" nicht vergessen wird. Ansonsten würden "urlaubsanspruch1" etc. direkt als Strings übergeben anstatt der Werte der Eingabefelder.

Funktionstester

Der Funktionstester lässt sich über Ansicht/Funktionstester aufrufen. In dieser GUI können Sie WollMux-Funktionen eingeben und testen, bevor Sie sie über die Zwischenablage in die Code-Ansicht von TRAFO, PLAUSI oder AUTOFILL kopieren. Die einzelnen Buttons des Funktionstesters fügen jeweils ein typisches Code-Muster für die entsprechende Funktion ein. Die VALUE-Buttons im oberen Teil des Testers nehmen die in den links daneben stehenden ComboBoxen eingegebenen bzw. ausgewählten Strings als Bezeichner. Die Eingabefelder rechts neben den VALUE-Buttons erlauben es, die Werte zu spezifizieren, die für die Auswertung der Funktion für die entsprechenden VALUE-Statements angenommen werden sollen.

Reiter "Einfügungen"

Der Reiter "Einfügungen" bietet eine Übersicht und erlaubt die Manipulation aller Einfügestellen im Dokument. Einfügestellen sind sowohl Stellen an denen Formularwerte eingefügt werden als auch Stellen an denen Daten aus der globalen Datenquelle (z.B. Sachbearbeiterdaten wie das Dienstgebäude) eingefügt werden.

  • Das Auswählen und Markieren von Einträgen funktioniert wie im Reiter "Formular-GUI"

Buttons

Im folgenden werden die Funktionen in der Buttonleiste des Reiters "Einfügungen" vorgestellt.

Entfernen (DeMux)

Entfernt die WollMux-Befehle der ausgewählten Einfügestellen aus dem Dokument, d.h. der Feldbefehl bleibt erhalten, aber er ist keine WollMux-Einfügestelle mehr. Durch Formular/Formularfelder aus Dokument einlesen kann der Feldbefehl wieder erfasst werden.

Reiter "Sichtbarkeiten"

Auf diesem Reiter sind alle Sichtbarkeitsgruppen zu finden, die im Formular definiert sind. Wird eine Sichtbarkeitsgruppe durch anklicken ausgewählt, so wird in der rechten Hälfte der GUI des FM4000 die zugehörige Sichtbarkeitsfunktion angezeigt und kann bearbeitet werden. Im Ansicht-Menü muss dazu der Punkt "TRAFO, PLAUSI, AUTOFILL, GROUPS" aktiviert sein.

Die Festlegung einer Sichtbarkeitsfunktion erfolgt analog zu PLAUSIs, TRAFOs und AUTOFILLs. Siehe Beschreibung weiter oben.

Reiter "Bereiche"

Auf diesem Reiter sind alle im Dokument definierten Textbereiche aufgeführt (vgl. Format/Bereiche...). Für jeden Bereich existiert ein Textfeld in dem der Name des Bereichs angezeigt wird und bearbeitet werden kann. Im Unterschied zur Anzeige im Navigator bzw. dem Dialog Format/Bereiche... wird eine eventuell vorhandene GROUPS-Angabe in diesem Feld nicht angezeigt. Der GROUPS-Teil des Bereichsnamens wird automatisch verwaltet.

Neben dem Textfeld für den Bereichsnamen befindet sich eine Checkbox mit der sich der Bereich sichtbar und unsichtbar schalten lässt. Dies ist nützlich, um zu überprüfen, ob der Bereich im Dokument korrekt plaziert wurde.

Wird im Ansicht-Menü der Punkt "TRAFO, PLAUSI, AUTOFILL, GROUPS" aktiviert, so lassen sich in der rechten Hälfte des FM4000 die Sichtbarkeitsgruppen auswählen, zu denen der Bereich gehören soll.

Button "Aufheben"

Entfernt den Bereich aus dem Dokument, jedoch nicht seinen Inhalt.

Button "Neu"

Legt einen neuen Bereich an, der den momentan mit der Maus selektierten Text umschließt. Beachten Sie, dass Bereiche nur ganze Absätze enthalten können. Diese Funktion fügt also falls nötig neue Absatzumbrüche am Anfang und/oder Ende der Selektion ein.

Button "Neu (ganze Seiten)"

Legt einen neuen Bereich an, der den momentan mit der Maus selektierten Text umschließt und an einem manuellen Seitenumbruch (oder dem Anfang des Dokuments) beginnt und an einem manuellen Seitenumbruch (oder dem Ende des Dokuments) endet. Diese Funktion ist z.B. nützlich, wenn in einem größeren Formular komplette von manuellen Seitenumbrüchen eingefasste Teildokumente eingebettet sind, die im ganzen ein- bzw. ausgeblendet werden sollen. In diesem Fall setzt man einfach den Mauscursor irgendwo in so ein Teildokument und ruft diese Funktion auf.

Hinweis
Derzeit versteht diese Funktion nur manuelle Seitenumbrüche mit Position "Davor" (siehe Absatzeigenschaften/Reiter "Textfluss"/Abschnitt "Umbrüche". Dies ist der Standardtyp, der durch Einfügen/Manueller Umbruch.../Seitenumbruch eingefügt wird.