Einzelnen Beitrag anzeigen

Alexander Halser

Registriert seit: 2. Sep 2023
Ort: Salzburg/Österreich
2 Beiträge
 
#5

AW: FMX+Crossplatform+Hilfe anzeigen

  Alt 2. Sep 2023, 23:06
Zitat:
Wie handhabt Ihr das mit Hilfe oder andere Info anzeigen bei Crossplatform?
Dieser Thread ist zwar schon ein paar Wochen alt, aber vermutlich nichtsdestoweniger aktuell. Ich bin der Chefentwickler von Help+Manual, welches hier gelobt wird (danke für die Blumen).

Das Thema platform-unabhängige Hilfe beschäftigt uns ja schon lange. Und da wir in wenige Monaten unsere erste "größere" MacOS-Anwendung rausbringen werden, stehen wir nun selber, ganz praktisch, vor dem Problem: wie machen wir's denn?

Für eine cross-platform Anwendung möchte ich 1 Hilfeformat, nicht verschiedene. Dieses eine Format heißt ganz klar HTML (oder in Help+Manual: WebHelp). Macht H&M ja auch ganz wunderbar, navigierbar, mit Volltextsuche. Entweder ist die Hilfe online, oder lokal im Programm mit dabei. Die meisten Mac-Anwendungen scheren sich nicht viel um die Doku, da gibt es einen Menüeintrag, der verlinkt auf die Webseite, fertig. Eine kontextsensitive Hilfe klappt so aber nicht. Ja, die Webhelp-Ausgabe von H&M unterstützt kontextsensitive Aufrufe. Aber das Programm hat keine Kontrolle über das Browser-Fenster und mit jedem Aufruf erzeugt dieser ein neues Tab... Standardbrowser können wir also vergessen, für eine funktionierende Programm-Hilfe benötigen wir die Kontrolle über den Hilfe-Viewer.

Dazu kommt das Format selbst: eine mittelgroße Doku enthält schnell mal mehrere hundert Dateien. Kann man in einen Ordner packen und mit dem Setup ausliefern. Zum Glück unterstützt der Project-Deployment-Dialog in Delphi auch Wildcards und rekursive Ordner... wie hab ich mich gefreut, als ich endlich die 387 Einzeldateien in meinem MacOS-App-Bundle drin hatte! </Ironie Ende >

Ich hätte gerne das HTML in einem komprimierten Container, einer einzigen Datei. Zwecks einfacheren Verteilens, und einfacheren Öffnens und überhaupt, der Ordnung wegen.

Damit es das endlich gibt, haben wir das nun gebaut.
Wir haben es Ziphelp genannt.

Ein "Ziphelp" ist eine Zip-Datei mit beliebigen HTML Inhalten, sprich: einer kompletten Web-Anwendung. Ergänzt um eine gewöhnliche "sitemap.xml". Für anwendungsspezifische kontextsensitive Hilfe haben wir das Sitemap-Format um unser eigenes XML-Schema erweitert. So können wir in dem "Ziphelp" auch Kontextnummern, assoziative Stichwörter (a-keywords) und weitere Metainformationen speichern.

Fehlt noch ein Viewer für Delphi. Der ist nun auch fertig.

Die ganze Sache ist noch recht frisch, mehr Alpha als Beta, doch im Prinzip funktioniert alles. Wenn komplett, können wir es als Open-Source veröffentlichen, denn die Quellcodes arbeiten alle mit Delphi-Standardkomponenten (Delphi XE 11.3). Ein Download des Paketes findet sich am Link unten.

Das Paket enthält:
  1. Eine "Ziphelp"-Datei (ZiphelpDemo.Zhelp.zip)
  2. Die Ziphelp-Komponente, welche das Zip öffnet und liest (Source, platform-unabhängig)
  3. Ein Hilfe-Viewer-Fenster als Template (Source), um einen eigenen Hilfeviewer zu integrieren (FMX + VCL)
  4. Eine Demo-Anwendung (Source) mit integriertem Viewer zum Testen (FMX + VCL)
  5. Fertig kompilierte Demos mit Hilfe zum einfachen Ausprobieren

Was noch fehlt, ist die exakte Dokumentation des Ziphelp-Formates bzw. der darin enthaltenen Sitemap. Die Demo-Hilfe enthält ein vollständig definiertes sitemap.xml zur Ansicht. Der Rest ist derzeit im Quellcode ausführlich dokumentiert.

Ich würde mich sehr über Feedback freuen. Hier oder per Email unter alexander.halser (ät) ec-software.com.

Download:
https://www.helpandmanual.com/downlo...emo-source.zip


Screenshots:
Miniaturansicht angehängter Grafiken
fmx-ziphelpdemo-mac.png   fmx-ziphelpdemo-win.jpg  
  Mit Zitat antworten Zitat