Plone Integration with eXist-db - Structured Content rocks
Produce & Publish V 2.0 - Authoring Environment - Single-Source Multi-Channel Publishing
1. Die
Autorenumgebung
für
hochwerFge
PDF-‐
Dokumente,
e-‐Books
und
Office-‐Formate
Produce
&
Publish
Single-‐Source
MulF-‐Channel
Publishing
mit
Plone
von
Andreas
Jung
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
2. Andreas
Jung
• Python,
Zope
&
Plone
Entwickler
seit
1993
• Mitgründer
und
Vorstand
DZUG
e.V.
• Director
der
Zope
FoundaFon
• ZOPYX
Limited:
– SoZware-‐Entwicklung
und
Beratung
im
Umfeld
Python,
Zope
und
Plone
– Electronic
Publishing
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
3. Agenda
• Was
ist
Single-‐Source
Mul.-‐Channel-‐Publishing?
• Was
ist
Produce
&
Publish?
• Produce
&
Publish
Demo
• Ein
Blick
auf
die
Technik
• Plone
Erweiterungen
• Verschiedenes
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
4. Single-‐Source
MulF-‐Channel
Publishing
(1/2)
Single-‐Source-‐Mul--‐Channel-‐Publishing
ist
eine
Strategie,
um
die
verschiedenen
Produk-onsprozesse
weitestgehend
zu
integrieren
und
zu
automa-sieren.
Der
Content
wird
medienneutral
in
einer
Quelldatei
(Single
Source)
abgespeichert
und
abschließend
in
mehrere
Kanäle
publiziert
(Mul-
Channeling)
[KN
2004;
S.
40].
Bei
einer
medienneutralen
Datenspeicherung
spricht
man
von
Inhaltslas-gkeit,
da
eine
strikte
Trennung
von
Inhalt,
Struktur
und
Layout
erfolgt.
Der
medienneutrale
Content
besitzt
somit
kein
festdefiniertes
Endformat.
Darüber
hinaus
enVällt
eine
mehrfache
Datenpflege,
da
nur
eine
Quelldatei
be-‐
und
verarbeitet
werden
muss
[PS
2003;
S.
5].
(Quelle:
Diplomarbeit
Oliver
Zmorek,
HTWK
Leipzig)
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
5. Single-‐Source
MulF-‐Channel
Publishing
(2/2)
Web
Word
Vorlagen
PDF
Web
service
HTML
SFlvorlagen
Word
EMail
Logos
etc.
ODT
Export
XML
EPUB
Dropbox
Grafiken
ImporFeren/ Trenntabellen
KonverFeren
Publizieren
Bearbeiten
RTF
Print
Zeichensätze
HTML
Produce
&
Publish
S5
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
6. Was
ist
Produce
&
Publish
• Plaiorm
für
Web-‐to-‐Print
und
automaFschen
Satz
• hoch-‐qualitaFves
PDF,
EPUB,
Word,
Open-‐
Office,
RTF
• Eingabeformate:
HTML
oder
XML
• Styling:
CSS
• offene
Architektur
• plaiorm-‐unabhängig
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
7. Features
und
Anwendungsfälle
Web-‐to-‐Print
Automa0scher
Satz
• Layout-‐orienFerte
Dokumente
• vergleichbar
mit
TeX
• Zusammenführung
von
Daten
und
• Fussnoten,
Randziffern
Templates
• Mehrsprachigkeit/Unicode
• AlternaFve
zu
teuren
Web-‐to-‐Print
• Spaltensatz
Lösungen
für
einfache
bis
• Trenntabellen
(mehrsprachig)
mimelkomplexen
Layouts
• LTR/RTL
Unterstützung
• Tabellen
(über
mehrere
Seiten)
• Bilder,
BildunterschriZen
• Tabellen-‐,
Grafikverzeichnisse
• automaFsches
Inhaltsverzeichnis
• Deckseiten
• PDF
Bookmarks
• sehr
hohe
PDF
Qualität
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
8. Produce
&
Publish
im
Schnelldurchlauf
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
9. Produce
&
Publish
Architektur
(1/2)
-‐
Full
Python/Plone
Stack
-‐
Authoring
Environment
zopyx.convert2
Apache
FOP
PrinceXML
Plone
Client
Connector
Calibre
XINC
PISA
XFC
P&P
ZIP
Client
XML-‐RPC
Plone
4
Produce
&
Publish
Server
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
10. Produce
&
Publish
Architektur
(1/2)
-‐
Non-‐Python
IntegraFon
-‐
zopyx.convert2
Typo
3
Apache
FOP
PrinceXML
Calibre
XINC
PISA
XFC
P&P
PHP
Client
XML-‐RPC
Typo
3
Produce
&
Publish
Server
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
12. Import
und
Datenpflege
(1/3)
• Plone
als
Content-‐Management-‐System
– benutzerfreudlich
– fein-‐granulares
Sicherheits-‐
und
Rechtekonzept
– Workflows
• HTML
als
primäres
Eingabeformat
(XML
möglich)
• Speicherung
und
Bearbeitung
der
Inhalte
Through-‐the-‐Browser
direkt
in
Plone
• Verwaltung
aller
Assets
in
Plone
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
13. Import
und
Datenpflege
(2/3)
• Behandlung
von
Autorenmanuskripten
– Copy
&
Paste
von
Word
in
Plone
– Export
von
Word
nach
HTML
in
Plone
– manuelle
Neuerfassung
• Probleme:
– Word
„HTML“
– Plone
filtert
besFmmte
Tags,
Amribute
und
Styles
– hoher
händischer
Aufwand
(fehlerträchFg,
schlechte
„User-‐Experience“)
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
14. Import
und
Datenpflege
(3/3)
DOC/DOCX
Upload
HTML
CSS
Web
service
Grafiken
Produce
&
Publish
HTTP/POST
(Word/ZIP)
HTML/CSS/Grafiken
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
17. AggregaFon
(2/3)
• IntegraFon
in
Plone
– Plone
Folder
zur
Strukturierung
– Plone
Documents
für
Inhalte
– eigene
Inhaltstypen
möglich
• Ausnutzung
der
Zope
Component
Architecture
– jeder
Inhaltstyp
stellt
@@asHTML
View
bereit
– @@asHTML()
liefert
HTML
Snippet
des
jeweiligen
Inhaltsobjektes
• Erstellung
eines
angereichterten
und
konsolidierten
HTML
Dokuments
als
Grundlage
aller
weiteren
KonverFerungsschrime
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
20. TransformaFonen
(1/2)
• IdenFsche
HTML
Eingabe
für
alle
KonverFerungen
• dedizierte
KonverFerungen
und
Anreicherungen
je
Ausgabeformat
notwendig
– Inhaltsverzeichnis,
Bildverzeichnis
für
PDF
– HTML
aggregiert/konsolidiert
für
Web-‐Ausgabe
– Grafiken
in
Print-‐Auflösung
für
PDF
– Grafiken
mit
72dpi
Auflösung
für
EPUB
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
21. TransformaFonen
(2/2)
TransformaFonen
• exportImages
aggregiertes
• addImageList
HTML
für
PDF
HTML
• addTOC
• addTableList
KonverFerung
• imagesOriginal
• imagesCapFons
TransformaFonen
aggregiertes
• exportImages
HTML
für
EPUB
HTML
• imagesPreview
• imageCapFons
KonverFerung
• cleanupEPUB
lxml
basierte
TransformaFonspipeline
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
23. KonverFerung
(1/2)
• Ausgabeformat-‐spezifisches
HTML
als
Grundlage
für
KonverFerung
• KonverFerungsdienst
als
Client-‐Server
Architektur
realisiert
• KonverFerung
über
externe
(kommerzielle)
Konverter:
– PrinceXML
für
PDF
(unterstützt)
– Calibre
für
EPUB
(unterstützt)
– XFC
für
Word/ODT/RTF
(unterstützt)
– Apache
FOP/Xinc
für
PDF
(nicht
unterstützt)
– PISA
für
PDF
(nicht
unterstützt)
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
24. KonverFerung
(2/2)
Produce
&
Publish
Server
Produce
&
Publish
Apache
FOP
XML-‐RPC
PrinceXML
(Plone)
Calibre
XINC
PISA
Python
Pyramid
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
26. Veröffentlichen
• Veröffentlichung
der
Einzelformate
zum
Download
• HTML
(aggregiert/kapitelweise)
+
Einzelformate
zum
Download
• Export
als
ZIP
Archiv
• Publish-‐to-‐Dropbox
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
28. PDF
Generierung
Print
vs.
Web
• PDF
Dateien
werden
sowohl
für
Print
als
auch
für
elektronische
Medien
benöFgt
– Print:
hohe
Grafikauflösung:
300dpi
– E-‐Books/Tablets:
mimlere
Auflösung:
150
dpi
– Web/Desktop:
geringe
Auflösung:
72dpi
• Lösung:
– Export
aller
Grafiken
in
Originalauflösung
aus
Plone
– Generierung
eines
PDFs
mit
Grafiken
in
hoher
Auflösung
– Downsampling
der
Grafiken
im
PDF
über
Ghostscript
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
29. Plone
Erweiterungen
(1/3)
• Hauptproblem
von
Produce
&
Publish:
– Usability
der
WYSIWYG
Editoren
– Redakteure
sind
Word
gewöhnt
– EdiFeren
längerer
Inhalte
through-‐the-‐web
ist
eine
Zumutung
– alle
browser-‐basierten
Editoren
sind
Schrom
– TinyMCE
ist
halbwegs
brauchbar
– Products.TinyMCE
ist
ziemlich
veraltet
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
30. Plone
Erweiterungen
(2/3)
• Verbesserungen
an
TinyMCE
– Anzeige
der
Strukturelemente
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
31. Plone
Erweiterungen
(3/3)
• Verbesserungen
an
TinyMCE
– LinkTool
für
Querverweise
auf
• Headings
• Tabellen
• Grafiken
• Listen
(-‐elemente)
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
32. Plone
Erweiterungen
(3/3)
• Verbesserungen
an
TinyMCE
– LinkTool
für
Querverweise
auf
• Headings
• Tabellen
• Grafiken
• Listen(-‐elemente)
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
33. Produce
&
Publish
OpFonen
• In-‐House
InstallaFon
• SaaS
OpFonen:
– P&P
Authoring
Environment
– P&P
Server:
KonverFerung
nach
PDF
und
EPUB
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
35. Fragen
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com
36. Vielen
Dank
für
Ihre
Aufmerksamkeit
Weitere
Informa0onen
www.produce-‐and-‐publish.com
Demo
demo.produce-‐and-‐publish.com
www.zopyx.com
PyCon-‐DE
2011
-‐
Leipzig
Andreas
Jung
–
www.zopyx.com