Alle Beiträge von Christian Sonntag

Qusa Status Update!

Irgendwie finde ich keine Zeit das Projekt voran zu treiben. Verstärkung ist auch keine in Sicht. Nach der Geburt meiner Tochter wird die Zeit auch ein immer seltener werdendes Gut. Dass ich zu meinem momentan Arbeitgeber pendeln muss ist ebenfalls nicht förderlich.

Nichts desto trotz bin ich immer noch ein AppleScript & AppleScriptObjC Begeisterter. Dürfte an dieser Seite nicht schwer zu erkennen sein ;-)

Qusa: GUI Übersicht

Jetzt wird es langsam Zeit die Oberfläche genauer vorzustellen.

Reiter: Musterseiten

Hier werden die Musterseiten gespeichert auf denen die Multimodule später plaziert werden. Die Musterseiten selbst enthalten keine Layoutelemente. Berücksichtigt werden natürlich die Informationen zu Satzspiegel etc. Hier werden nur die Positionen definiert an denen die Multimodule später gezeichnet werden.

Reiter: Multi Modul

Multi Module sind die eigentlichen Elemente die zum Aufbau einer Seite benötigt werden. Diese bestehen mindestens aus einem Modul. Die Reihenfolge der Module sowie der Abstand relativ zu oberen linken Ecke kann hier eingstellt werden. Der Multi Modul Assistent hilft beim speichern der Module in die Datenbank und übernimmt automatisch die korrekten Werte aus dem Quark Dokument. Dazu muss aber zuerst der Assistent im Reiter Module verwendet werden.

Reiter: Module

Module sind einzelne Elemente von Multi Modulen. Bei durchdachten Multimodulen ist es möglich dass Änderungen sich automatisch auf alle Multi Module auswirkt. Der Multi Modul Assistent hilft beim speichern der Module in die Datenbank. Genauer gesagt werden Templates/Module die in Quark erstellt worden sind innerhalb des Quark Projekts in mehrere Reiter aufgeteilt. Unterschieden wird hier zwischen Einzelrahmen und mehreren gruppierten Rahmen. Nachdem der Assistent die Elemente auf die Reiter verteilt hat können diesen mit „Layout Space Name“ Modulnamen vergeben werden.

Reiter: Absatzstilvorlagen

Hier gibt es nicht viel zu schreiben. Es werden nur die Namen der gespeicherten Absatzstilvorlagen angezeigt. Absatzstilvorlagen werden automatisch beim speichern von Modulen in die Datenbank gespeichert. Dabei wird keine Rücksicht darauf genommen ob eine Stilvorlagen mit identischen Namen schon existiert und wird überspeichert.

Reiter: Zeichenstilvorlagen

Auch hier gilt: Zeichenstilvorlagen werden beim speichern von Modulen in die Datenbank gespeichert. Vorhandene Stilvorlagen werden überspeichert.

Reiter: Farben

Auch hier gilt: Farben werden automatisch beim speichern von Modulen in die Datenbank gespeichert. Vorhandene Farben werden überschrieben.

Reiter: Grundlinienstile

Ab QuarkXPress 8 wird das Grundlinienraster anders verwaltet. Dieses wird nun nicht mehr global über die Dokumenteigenschaft definiert, sondern kann jedem Textrahmen separat zugewiesen werden.

Reiter: Typ

Überall muss man sich in irgendeiner Art und Weise organisieren ;-) Alle Module, Multi-Module und Musterseiten sowie Tags, das Mapping und das Finishing werden über den Typ kategorisiert. Typen müssen zu aller erst angelegt werden bevor ein Modul usw. in die Datenbank gespeichert wird. Standardmößig sind „modul_front“ und „modul_back“ angelegt.

Reiter: Tags

Tags sind Platzhalter die später gegen realen Content ausgetauscht werden.

Reiter: Mapping

Das Mapping dient dazu Daten aus einer XML oder was auch immer auf die Tags in den Modulen zu mappen. Dabei wären weitere Funktionen die die Daten beeinflussen können beim Import der Daten sehr hilfreich. Hier gibt es noch viel zu tun das es noch keinen Import in Qusa bis jetzt gibt!

Reiter: Finishing

Das Finishing ist für Fölle in denen es nicht ausreicht den Platzhalter/Tags eine Stilvorlage zuzuweisen. Als Beispiel ein Wort innerhalb eines Textes z.B im Tag <fliesstext> das hervorgehoben werden muss. Diese Funktion wird erst nach dem ersten erfolgreichen Import integriert und muss seine Performance noch beweisen.

Reiter: Log

Es werden alle Änderungen in Qusa mit in die Datenbank gespeichert. Leider ist AppleScript Studio nicht sehr performant wenn umfangreiche Tabellen in der GUI vorhanden sind.

Qusa: Unterstützte QuarkXPress Elemente

Welche QuarkXPress Elemente werden von Qusa bis jetzt ausgelesen und für die Verwendung innerhalb der Module gespeichert.

Farben

Alle benutzten Farben bis auf die Grundfarben Cyan, Magenta, Gelb, Schwarz und Passkreuze. Diese sind in einem neuen Dokument standardmäßig vorhanden.
Es werden CMYK, Pantone, Focoltone und Truematch Farben berücksichtigt

Zeichenstilvorlagen

Alle im Dokument angelegten Zeichenstilvorlagen außer der Zeichenstilvorlage „Normal“. Es werden alle Eigenschaften bis auf Quark Schriftstile und Opentype Einstellungen gespeichert.

Absatzstilvorlagen

Alle im Dokument angelegten Absatzstilvorlagen außer der Absatzstilvorlage „Normal“. Es werden alle Eigenschaften mit Ausnahme der Linie unten berücksichtigt. Versatz und Einzug können über Applescript leider nicht korrekt angesprochen werden (QXP 7, QXP 8 noch nicht getestet).

Unterstützte Quarkelemente

Textbox – rectangular, rounded und ovular

  • Als Füllung für die Hintergrundfarbe kann über Applescript nur Normaler und Linearer Verlauf verwendet werden. Bei Verwendung von Radialem Verlauf stürtzt Quark ab.
  • Verkettete Textrahmen werden nicht unterstützt.
  • Box-in-Box – Textrahmen im Fliesstext werden nicht unterstützt.
  • Der Schatten wird nicht unterstützt (ist über Applescript nicht direkt ansprechbar).

Picturebox – rectangular, rounded und ovular

  • Als Füllung für die Hintergrundfarbe kann über Applescript nur Normaler und Linearer Verlauf verwendet werden. Bei Verwendung von Radialem Verlauf stürtzt Quark ab.
  • Box-in-Box – Bildrahmen im Fliesstext werden nicht unterstützt.
  • Schatten wird nicht unterstützt (ist über Applescript nicht direkt ansprechbar).

orthogonale Linie und line shape Linie

Nicht unterstützte Elemente

Tabellen

  • Sind zum einen nicht komplett Scriptbar (z.B. Linienstörke und Zellen verbinden) zum anderen sehr Performancehungrig.

Freiformelemente

Qusa: Konfiguration

Das Settings Fenster.

Wird Qusa das erste mal gestartet öffnet sich der Einrichtungsassistent.

Im ersten Schritt muss die Verbindung zum MySQL Server eingegeben werden. Benötigt werden die Serveradresse, Port, Login und Passwort.

Nach erfolgreicher Verbindung kann über das Fragezeichen die MySQL Version angezeigt werden. In der Auswahlliste darunter werden alle zugänglichen Datenbanken angezeigt.

Es kann nun entweder eine bestehende Qusa Datenbank ausgewählt bzw. nach Eingabe des Datenbanknamens eine neue Qusa Datenbank angelegt werden.

Im nächsten Schritt wird das Zielprogramm und Version ausgewählt.

Für spätere Aktionen im Debuggerfenster wird der Pfad zu den lokal installierten MySQL Binaries benötigt.

Der Speicherpfad kann fürs erste ignoriert werden.

Nach dem Speichern der Einstellungen beendet sich Qusa von selbst und muss neu gestartet werden.

Qusa: Installation MySQL

Installation über MySQL installer

Auf der Homepage von MySQL sind alle Installationspakete für alle erdenklichen Betriebssysteme zu finden. Darunter auch für Mac OS X in der jeweiligen Intel oder PPC Version.

MySQL kann komfortabel mit den mitgelieferten Packages installiert werden. Zuerst wird das MySQL Package installiert, gefolgt von dem Startupitem Package. Nur beim MySQL PrefPane muss noch Hand angelegt werden. Dieses muss manuell Global oder in einem Benutzerordner unter Library/PrefPanes kopiert werden.
Über das PrefPane kann der MySQL Server gestartet und gestoppt werden.

Installation über MAMP

Alternativ zum original MySQL Installer bietet sich auch noch MAMP an. MAMP ist ein Paket wie man es von Linux und Windows schon kennt.

Mit inbegriffen sind Apache, MySQL, PHP und noch viele weitere Pakete die schon vorkonfiguriert sind. Für die Zukunft ist MAMP das bessere Paket da Qusa gebrauch von Apache und PHP machen wird.

 

Java: Database Publishing System Update 4

Es ist mal wieder Zeit für ein kleines Update. Qusa wie mein Programm nun genannt wird ist fast fertig. Dieses soll als eigenständiges Modul funktionieren und am Ende fertige Quarkdateien und PDFs erzeugen. Dieses muss noch ausgiebig getestet werden. Zu überlegen ist auch ob die Scripts auch für QXP 8 angepasst werden sollten. Leider hat mich Quark mit der neuen Version überholt ;-(

Eine passende Domain wurde auch schon registriert. Nur leider hatte ich noch keine Zeit diese Seite aufzubauen.

Mal abgesehen von der Domain gibt es neben dem Mac & Quark Part auch noch einiges in PHP zu programmieren, denn die finalen Scripts zum erstellen der Dokumente soll PHP nach erhalt einer XML Datei erzeugen. Wie die Übergabe genau ablaufen soll (als Hotfolder, Webservice oder Cronjob) steht noch nicht fest. Es gibt wieder einiges was neu gelernt werden muss….

Wie immer more to come….

Java: Database Publishing System Update 3

Kurzer Zwischenstand: In der Zwischenzeit habe ich mich mit Applescript in Verbindung mit QuarkXpress vertieft und habe ein Templatesystem entwickelt das Musterseiten oder Templates in eine Datenbank speichert. Dieses befindet sich in den Endzügen. Leider fehlt etwas die Motivation dieses weiter zu entwickeln bzw. zum Ende zu bringen. Dummerweise war der Versionssprung von QXP von 7 auf 8. Die Dokumentstruktur die über Applescript ansprechbar ist, hat sich nur marginal geöndert. Es kostet aber wieder Zeit diese Neurungen mit zu berücksichtigen.

Die Idee mit Java ein eigenes CMS zu entwickeln ist im Moment etwas in den Hintergrund gerutscht. Der Grund dafür ist mein Kontakt zu Typo3. Typo3 ist ein komplettes CMS mit sömtlichen Features(Userverwaltung, Versionierung, Mehrsprachigkeit, etc.), man muss das Rad ja nicht neu erfinden. Vielleicht kann man mit einer Extension für Typo3 eine Art Produkt- und Printplanung realisieren die dann auf mein Templatesystem zugreifen.

Java: Database Publishing System Update 1

Netbeans 6.0 ist raus und Apple hat auch das Developerpreview 9 von Java 6 SE zur Verfügung gestellt. Erfreulicherweise bietet Java 6 SE Unterstützung für Applescript über javax.script.*. Interessante Neuigkeiten wie ich meine. Ein Umstöndlicher weg über eine JNI-Library und Objective-C kann somit vermieden werden. Ich hoffe genügend Zeit dafür zu haben mein Vorhaben auf Netbeans und Java 6 umzusetzen. Das Projekt liegt leider seit einem Jahr brach ;-(