MegaZine3 Varianten

In diesem technischen Artikel werden die Konzepte und zugrunde liegenden Programmvarianten von MegaZine3 vorgestellt. Anschließend werden Datei- und  Ordnerstrukturen erläutert, die von mz3Tool genutzt bzw. erstellt werden. Dieses Wissen wird für die “normale” Nutzung von MegaZine3 und mz3Tool nicht benötigt und ist für technisch Interessierte gedacht. Die Information kann aber helfen, Fragen zu beantworten und MegaZine3 / mz3Tool optimal einzusetzen.

MegaZine3 Varianten

Es gibt verschiedene Versionen von MegaZine3 für verschiedene Plattformen und Umgebungen:

Online + FLASH

Diese “klassische” FLASH-Variante war die erste Lösung, um Blätterbücher anzuzeigen und entstand zunächst als Actionscript2 Version, ca. 2 Jahre später als ActionScript3 und OpenSource  Version. Auch die aktuelle Version ist ein ActionScript3 Programm, welches als “SWF” Datei zusammen mit den Daten von einem Server geladen wird und im Browser (mit FLASH Unterstützung bzw. FLASH Plugin) auf dem Rechner des Nutzers läuft. Mobilgeräte (iPad, Android tablets) benötigen einen speziellen Browser wie z.B. den exzellenten und schnellen PUFFIN Browser. FLASH ist nach wie vor sehr verbreitet und für Animationen und interaktive Lösungen (Quiz, Schulbücher, Spiele) häufig noch die erste Wahl. Die Unabhängigkeit vom Browser (eine implementierte Anwendung sieht auf allen Browsern gleich aus, was bei HTML/CSS/Javascript basierten Lösungen nur selten der Fall ist) ist ebenso wie die weite Verbreitung eine der Stärken von FLASH. Allerdings ist FLASH kein offener Standard, sondern eine proprietäre Lösung von Adobe. Was wohl auch zu der vermehrten Inakzeptanz von FLASH führte. Heute gilt es als Nachteil, wenn FLASH vorausgesetzt wird. Meines Erachtens hat dies eher geschäftspolitische Gründe, entwickelte sich aber zu einer Art Glaubensfrage. Auch wenn Apple der Vorreiter war und inzwischen weitere große Firmen wie Google und Microsoft sich von FLASH abwenden, trägt auch Adobe durch eine “ungeschickte” Firmenpolitik eine Mitschuld an der aktuellen Situation. Dumm gelaufen, aber ein Trend, der nicht mehr zu ändern ist.

Offline + AIR

MegaZine3 ist in ActioScript3 programmiert. ActionScript3 (oder kurz AS3) ist eine Programmiersprache, die von Adobe entwickelt wurde und voll von Adobe unterstützt und weiterentwickelt wird. AS3 ist eine sehr leistungsfähige und gut dokumentierte Programmiersprache, und immer noch leistungsfähiger als JavaScript.

Anmerkung: AS3 und JS haben beide eine sehr ähnliche Befehlsstruktur, da beide Sprachen auf denselben Standards basieren. Im Gegensatz zu Javascript läuft Actionscript aber nicht nur mit FLASH im Browser, sondern auch als eigenständiges Programm unter AIR auf fast allen Rechnern (u.a. Windows, OSx, Android, iOS). Und solange nicht spezielle “native” Eigenschaften des Host-Betriebssystems genutzt werden, sogar mit demselben Sourcecode. Ein unschätzbarer Vorteil für Entwickler!
Adobe AIR ist eine Laufzeitumgebung (ein “framework”), welches die systemspezifischen Besonderheiten des Host-Systems (also von Windows, OSx, Android, iOS) nutzt und abschirmt. Das Actionskript Programm nutzt eine einheitliche Programmschnittstelle und Funktionen (Bibliothek), die von AIR zur Verfügung gestellt wird. Damit wird die Plattform-Unabhängigkeit erreicht.

Für den Anwender hat dies den Vorteil, dass Programme schneller und einheitlich auf allen Plattformen zur Verfügung gestellt werden können.

MegaZine3 und auch mz3Tool sowie mz3Viewer gibt es als Versionen, die unter AIR aktuell auf Windows- und OSx Rechnern laufen. MegaZine3 und mz3Viewer gibt es zusätzlich als Android Version für Tablets. Auch eine iOS Variante könnte es bald geben, falls die Nachfrage wächst. Der Vorteil eines eigenständigen Programms ist die Unabhängigkeit von Browsern und deren Eigenarten sowie von FLASH. Ein weiterer Vorteil ist die lokale Nutzung, d.h. weder eine Internet- noch ene Netzwerkverbindung werden benötigt. Daher sind lokale Offline-Varianten häufig auch leistungsfähiger und schneller.

Die FLASH und die AIR Versionen von MegaZine3 sind funktional identisch. Das Tool zur Erzeugung der Mz3 Titel (mz3Tool) und den Viewer (mz3Viewer) gibt es nur als AIR Version, da Zugriffe auf die lokale Platte notwendig sind, was unter FLASH (wie auch unter Javascript) aus sicherheitstechnischen Gründen nicht erlaubt ist.

Online + Javascript

Die letzte MegaZine3 Variante ist eine Javascript Lösung. Auf diese Variante kann automatisch umgeschaltet werden, wenn FLASH nicht vorhanden oder nicht unterstützt wird. Die Umschaltung erfolgt ohne Eingriffe des Benutzers, und es wird dieselbe Konfigurationsdatei (Beschreibungsdatei des “Buchs”) genutzt. Allerdings können dann keine vektorbasierten, sauber skalierbaren Texte mehr genutzt werden, sondern die PDF-Seiten werden in normale JPG oder PNG Bilder umgesetzt. Für mobile Geräte die bessere Online-Lösung, da sowohl iOS als auch Android Hardware-Unterstützung für Bitmap Bilder aber nicht für Vektorgrafiken bieten. Weitere Nachteile sind, dass gesuchte Begriffe nicht wie in AIR oder FLASH markiert werden können, und dass einige Funktionen (noch) nicht unterstützt werden; wie z.B. die Suche-Funktion. Auch wenn deshalb die Javascript Variante kein vollständiger Ersatz für eine FLASH oder AIR Variante sind, ist diese in vielen Fällen die einzige Option für die Nutzung übers Internet (Online).

Mz3 “Pakete” (packages)

mz3Tool kann alle Varianten von MegaZine3 unterstützen. So wird z.B. durch einfaches Setzen eines “Hakens” (checkbox) festgelegt, dass zusätzlich oder alternativ zur FLASH und AIR Version auch eine Javascript Variante genutzt werden soll.

Je nach Anwendungsfall (Online oder Offline Nutzung) werden die benötigten Dateien und Ordner zusammengestellt, welche dann einfach auf einen Server hochgeladen oder als ZIP-Datei verteilt werden können.

Um Offline Mz3 Titel anzuschauen, wird weder eine Internet-Verbindung noch ein Browser benötigt.

Anzeige der Mz3 Titel

Je nach Variante stehen folgende Optionen zur Verfügung:

Online

Ein Online Mz3 Titel wird in einem Browser angezeigt; unabhängig von der Online Variante (Flash oder Javascript). Aktiviert man die Javascript Variante, wird diese normalerweise zusätzlich zur Flash-Variante erstellt, und beim Start entscheidet MegaZine3, abhängig davon ob Flash unterstützt wird oder nicht, welche Version genutzt wird. Dies ermöglicht eine große Kompatibilität.

Offline

Für die Nutzung ohne Internetanbindung und ohne Browser, muss sich das Offline Paket auf der lokalen Platte befinden und muss mz3Viewer installiert sein. mz3Viewer, ist ein kostenloses Programm (“App”), welches als Windows, OSx oder Android Version von unserer Website geladen werden kann.

Ordnerstruktur

mz3Tool erzeugt und verwaltet viele Ordner und Dateien. Dem Anwender wird aber auch die Möglichkeit geboten, selber zu entscheiden, wo PDF Dateien zu finden sind und wo die Ergebnisdaten (z.B. die konvertierten Seiten, die Konfigurationsdateien, die “mz3-Datei”) abgelegt werden.

Frei wählbare Ordner- und PDF-Dateinamen

Über zwei Eingabefelder wird der Pfad zur PDF-Datei und zu den Ausgabe-Daten festegelegt:

InputOutput Path

Voreingestellt für den Ausgabepfad ist dabei der Ordner, in welchem sich die PDF-Datei befindet.

Im Ausgabe-Ordner wird ein Ordner mit dem Namen “_mz3Data” angelegt.

Wichtig:

  1. Dieser Name darf nicht geändert werden, da mz3Tool sonst die benötigten Dateien nicht mehr finden würde!
  2. Da viele Ordner- und Dateinamen aus dem PDF-Namen abgeleitet werden, sollte auch der PDF-Name nicht mehr geändert werden. Ein anderer PDF-Name bedeutet ein anderer/neuer Mz3 Titel, mit der Folge, dass alles neu erstellt werden muss!

Der zentrale “_mz3Data” Ordner

In dem “_mz3Data” Ordner wird alles (!) gespeichert:

Die allgemeinen und speziellen Konfigurationsdateien, die “Buch-Dateien”, Videos, Audio-Dateien, die fertigen Mz3 Titel, die Online und Offline Packages… einfach alles!

folderStructure

Detail-Info

configData:  Alle Konfigurationsdateien im Ordner “configData” (da werden z.B. die Buch-Attribute gespeichert) werden von allen Mz3 Titeln genutzt, welchen dieser Ausgabe-Pfad zugeordnet ist. Das sind, wenn der Pfad nicht geändert wird, alle Mz3 Titel aus PDF-Dateien, die im selben Eingabe-Ordner liegen.

contentData: Aber alle Konfigurationsdaten, welche den Inhalt betreffen und im “contentData” Ordner liegen (z.B. die Festlegung, welche Video- oder Audio-Dateien genutzt und sich auf welcher Seite befinden) sind getrennt nach Mz3 Titel.  So kann man für alle PDF-Dateien / Mz3 Titel einheitliche Werte der Buch-Attribute nutzen (alle Mz3 Titel im teilen sich die Einstellungen im “configData” Ordner), aber trotzdem buchspezifisch die Inhalte konfigurieren.

offlinePackage: In diesem Ordner werden alle Mz3 Titel spezifischen Dateien verwaltet. Somit befindet sich alles, was auch für die lokale Anzeige mit mz3Tool oder mz3Viewer benötigt wird, in diesem Ordner; daher der Name. Einfacher ist inzwischen aber die Nutzung des Ordners “zippedMz3Titels” für diese Zwecke; siehe Video: Publish Offline.

zippedMz3Titles: In diesem Ordner werden all ZIP-Dateien gesammelt, welche alles enthalten, um den entsprechenden Mz3 Titel anzuzeigen.

Verschieben und Löschen von Ordnern

Man sollte sich möglichst vor Beginn der Erstellung eines Mz3 Titels überlegen, wo Daten gespeichert werden sollen! Ein späteres Verschieben ist nur unter Beachtung einiger Regeln sinnvoll.

Verschieben eines Ordners oder der PDF-Datei

Die PDF-Datei kann in einen anderen Ordner verschoben werden. Dies muss mz3Tool aber “mitgeteilt” werden. Am einfachsten erfolgt dies, indem die Datei vom neuen Ordner wieder in die Eingabe-Zeile “IN:” gezogen wird. Dann wird allerdings auch automatisch der Ausgabepfad angepasst. Wird der “_mz3Data” Ordner mit allen Unterordnern nicht ebenfalls verschoben, muss der alte Pfad in der Ausgabe-Zeile “OUT:” angegeben werden.

Auch wenn nur der “_mz3Data” Ordner verschoben wird, muss der neue Pfad eingestellt werden. Sonst werden bereits konvertierte Seiten und Konfigurationsanpassungen nicht gefunden/übernommen.

Und noch einmal: Der Ordnername “_mz3Data” darf nicht geändert werden. Es müssen auch alle Unterordner unverändert bleiben; weder die Struktur noch Ordnernamen dürfen verändert werden! Und auch der PDF-Dateiname muss unverändert bleiben; sehr viele abhängige Dateien und Ordner nutzen den PDF-Namen!

Löschen von Dateien und Ordnern

Im Lauf der Zeit können viele Dateien angelegt werden. Insbesondere Video-Dateien können groß sein!

Werden viele Videodateien auf Seiten gezogen, die dann doch nicht genutzt werden oder werden Online und ZIP Packages erstellt, werden viele Dateien dupliziert.

Von daher macht es Sinn, ab und zu “aufzuräumen”.

Empfehlung:

  • Wurden Online-Packages erzeugt, sollte der onlinePackage Ordner nach dem Hochladen auf den Server wieder gelöscht werden
  • Wurden ZIP-Packages verteilt, sollte auch der zippedMz3Titles Ordner gelöscht werden
  • Nicht benötigte “Elemente” (Video., Bild oder Audio-Dateien) können sehr einfach und sicher über
    Elements – Video – Manage Elements – DELETE Assets
    gelöscht werden, da mz3Tool nur solche Dateien löscht, welche in keiner Konfigurationsdatei genutzt werden
  • Konfigurationsdateien sind sehr klein und sollten nur gelöscht werden, wenn sich durch Fehlbedienung (manuelle Eingaben) Probleme ergeben. Dann werden gelöschte Dateien mit restauriert; mit Defaultwerten.
  • Falls verschiedene Qualitätsstufen genutzt und ev. zusätzlich noch Bilder für das Javascript Fallback und die Thumbnails erstellt werden, können auch sehr schnell viele große Dateien entstehen. Allerdings löscht mz3Tool automatisch Bilder nicht mehr benötigter Qualitätsstufen, sodass es meist ausreicht, die Haken von nicht benötigten Qualitätsstufen wieder zu entfernen.
    Beispiel einer Konfiguration, welche viele Bilder in hoher Qualität erstellt. So eine Einstellung führt zu langen Konvertierungs-Zeiten und zu einem großen Datenvolumen!

qualitySettings

[likebtn theme=”greenred” icon_l=”hrt1″ icon_d=”hrt1″ lang=”auto” show_like_label=”0″ icon_like_show=”1″ icon_dislike_show=”1″ counter_type=”subtract_dislikes” tooltip_enabled=”0″ white_label=”1″ popup_hide_on_outside_click=”0″ voting_enabled=”1″ voting_cancelable=”0″ counter_show=”1″ share_enabled=”1″]

 

Kategorien: Technisch.