Neue Lua-Runtime

Version 3.3.10 wird eine neue Lua-Runtime für die Daten-Vorverarbeitung (siehe Lua-Filter im Handbuch). Der Anwender sollte hiervon eigentlich nichts merken, bis auf ein paar Änderungen, die ich im gleichen Atemzug durchgeführt habe:

  • Die Bibliotheken müssen mit require() geladen werden.
xml = require("xml")
tbl = {
    ["_type"] = "element",
    ["_name"] = "data",
    {
       ["_type"] = "element",
       ["_name"] = "child",
       "Hallo Welt",
    }
}


ok, msg = xml.encode_table(tbl)
if not ok then
    print(msg)
    os.exit(-1)
end
  • Es wird nur Lua Version 5.1 unterstützt, nicht wie bisher 5.2
  • Dafür werden auch die Lua-Patterns unterstützt (z.B. string.gsub())
  • Die CSV-Bibliothek hat andere Rückgabewerte

Neue stabile Version 3.2.0

Nach gut einem halben Jahr Entwicklung ist es wieder an der Zeit eine neue Stabile Version (3.2) hochzuladen. Verfügbar ist sie wie immer als fertige Pakete für Mac, Linux und Windows unter https://download.speedata.de/ und als Quellcode auf GitHub. Neuerungen sind Viele Fehlerkorrekturen, wie immer (ich bin erstaunt, wie viele Fehler die Anwender so finden, aber meist sind das doch sehr obskure Kombinationen von Eingabedaten…) Lua basiertes Preprocessing. Eine ausführliche Beschreibung dazu gibt es im Handbuch.

So wird das Handbuch erzeugt

Lange habe ich nach einem halbwegs vernünftigen Workflow gesucht, um mein Handbuch zu erstellen. Inzwischen ist es ja online verfügbar, daher ist es jetzt eine gute Gelegenheit, die benutzten Tools aufzuzeigen. Doch zuvor gibt es ein paar Hintergründe, warum ich diesen Weg gewählt habe. Notwendige Eigenschaften des Workflows OpenSource-Tools: alle Komponenten und Konverter müssen frei verfügbar sein. Das ist mir sehr wichtig, nicht nur, weil ich selber ein großer Verfechter des OpenSource-Gedankens bin.

Aufzählungsliste nachahmen

Der Publisher hat (derzeit) noch keine besonderen Fähigkeiten, Aufzählungslisten zu erstellen. Das liegt auch daran, dass sie sich recht leicht über Textformate nachahmen lassen.

Dafür definiert man ein Textformat mit hängendem Einzug und benutzt das mit dem Text mit den Aufzählungszeichen:

<Layout xmlns="urn:speedata.de:2009/publisher/en"
  xmlns:sd="urn:speedata:2009/publisher/functions/en">

  <DefineTextformat name="li" indentation="6pt" rows="-1"/>
  <Record element="data">
    <PlaceObject>
      <Textblock textformat="li">
        <Paragraph><Value></Value><Value select="sd:dummytext()"></Value></Paragraph>
        <Paragraph><Value>• Two</Value></Paragraph>
        <Paragraph><Value>• Three</Value></Paragraph>
      </Textblock>
    </PlaceObject>
  </Record>

</Layout>

Aufzählungen können über Tabellen simuliert werden.

Tabellenspalten ausgleichen

Ganz frisch (seit Version 3.1.24) gibt es ein neues Feature: Tabellenspalten »ausgleichen«. Damit lassen sich die Tabellen auf den Seiten ausgleichen. In der Regel benutzt eine Tabelle erst den ersten Positionierungsrahmen eines Bereichs, dann den nächsten etc.

Neuigkeiten

Es ist mal wieder an der Zeit, die aktuellen Geschehnisse der letzten zwei Monate aufzuschreiben. Neue Webseite Lange habe ich1 daran getüftelt, nun ist sie online. Die Seite ist wie gehabt unter https://www.speedata.de zu finden und ist im »neuen« corporate Design. Es folgt dann noch eine englische Übersetzung und dieser Blog, dann war es das soweit mit der Neugestaltung. Die letzte Webseite war noch von Anfang meiner Selbständigkeit und beinhaltete z.

Workshop XML Konferenz in Prag

Auch dieses Jahr gibt es wieder ein Hands-on Workshop in Prag zum speedata Publisher. Der Workshop-Tag ist wieder der erste Tag der Konferenz. Noch ist der genaue Plan nicht online, dafür aber eine Liste aller Sessions. Übrigens: es gibt noch die Möglichkeit, die Veranstaltung kostenlos zu besuchen! Zur Erinnerung: die Konferenz findet vom 8. bis 10. Februar in Prag statt.

Neues Handbuch

Das neue Handbuch ist nun online. Ein Grund zum Feiern: es hat etwa ein Jahr gebraucht von den ersten Texten bis zum aktuellen Status. Derzeit ist es nur auf Deutsch verfügbar, eine englische Version wird bald in Angriff genommen (kennt jemand einen guten Übersetzer für technische Dokumente?). In der Distribution ist bis zur Übersetzung noch das alte Handbuch enthalten, das zwar immer noch aktuell, aber nicht so ausführlich ist. Ein paar Neuerungen gegenüber dem alten Handbuch: