SlideShare a Scribd company logo
1 of 37
Download to read offline
.
.
Building Bridges
Integrative publishing solutions with Plone.
From storages to converters.
Andreas Jung
@MacYET

info@zopyx.com

Plone Conference 2015 Bucharest
/about
20 years in publishing
business since 1995
Integrator
Building generic and
unified solutions
Always interested in
alternative high-quality
components besides
the mainstram
Agenda
• Storages and services
• Integration and
federation of external
storages and web
services into Plone
• Documents and formats
• converters (A➝B)
Plone as 

Publishing Platform
• Pros
• Secure
• Workflows
• Extensible
• Cons
• self-contained universe (ZODB)
• lack of decent integration with external data sources, cloud storages
and cloud services besides relational databases
• focused on HTML as content format (in addition to binary data and
assets)
A typical publishing workflow
Our Publishing Universe
Our Publishing Universe
(Cloud) storages 

and web services
External/cloud storages 

in Plone
• Current state:
• Reflecto
• RDBMS (SQLAlchemy)
• Dexterity content only stored in ZODB (no dedicated storage layer)
• Archetypes external storages
• poor integration story
• different integration approaches, different APIs
• most add-ons unmaintained
• Plone 4.3/(5.0 compatible) add-on for the
integration of other storage systems 

(other than ZODB) into Plone
• Part of our XML publishing toolbox
• Can be used without the "XML" stuff
• Unified access and API to external storages
and services
• Available modes
• Mounting
• Dexterity support
• 100 tests, Plone 4.3/5.0 against 6 different
storage backends
XML Director - Mounting
• Plone "Connector" content-type
• parameters: connection URL, username, password
• acts as a mountpoint
• URL traversal support
• ZIP import/export, multi-file upload
• basic UI for creating/renaming/deleting collections/
folders and resources
• simple view registry
• ACEditor integration for common formats
• minimal, small and extensible
• no indexing support
• no proxy object magic as in Reflecto
• intended for applications that need to access
external data sources and storages
root
de
en
my-onkopedia
onkopedia-p
knowledge-database
mammakarzinom-des-mannes
mammakarzinom-der-frau
…
…
onkopedia
current
archive
draft
Version 01.04.2013
Version 07.08.2014
Version 25.03.2012
pdf
xml
html
media
source
1.jpg
2.jpg
…
incoming.docx
index.html
index.xml
index.pdf
my-onkopedia
source incoming.docx
xml index.xml
html index.html
media
1.jpg
2.jpg
…
pdf index.pdf
source incoming.docx
xml index.xml
html index.html
media
1.jpg
2.jpg
…
pdf index.pdf
Connector
http://host/de/my-onkopedia/mammakarzinom-der-frau/archive/version-25.03.2014/@@view/xml/index.xml
Connector
Connector
XML Director - Dexterity
• three new Dexterity fields
• XMLText (stores, validates XML) 

with ACEditor widget
• XMLImage, XMLFile
• XPath
• content stored on the configured storage
• flat storage hierarchy based on UID
• dedicated set() and get() methods (due to lack
of a DX storage API) as data managers
• DX behaviors not applicable here
• (we need a Dexterity storage API or some
wrapper in plone.api)
xml_text = XMLText()
xml_image = XMLImage()
obj.set_xml('xml_text', xml)
obj.set_xml('xml_img', img_bin)
xml = obj.get_xml('xml_text')
img_bin = obj.get_xml('xml_img')
pyfilesystem
• abstraction layer on top of storages,
access through a uniform API
• Python 2/3 compatible
• various filesystem/webservices drivers
• Goal: your code must not know about
the underlaying storage system. The
backend is just aconfiguration option.
• extensible (writing a new driver is
straight forward
• sandboxed filesystem operations
• OOTB support for: WebDAV, S(FTP),
RPCFS, OSFS, S3, ZIP, Memory,
MultiFS, WrapFS
handle = fs.opener(some_url)
with handle.open('foo', 'w') as fp:
fp.write(data)
handle.listdir(dirname)
handle.makedir('foo/bar/test')
handle.removedir('foo/bar/test)
handle.exists(some_filename)
handle.isfile(some_name)
handle.move(src, dst)
handle.copy(src, dst)
….
WebDAV (S)FTP
pyfilesystem
Plone
xmldirector.plonecore
Dropbox
GDriveAWS S3
Local FS
Architecture
OwnCloud

Alfresco

eXistDB

BaseX
Dropbox
Sharepoint Evernote
Facebook Flickr
Yandex
OneDrive
many others
Driver Driver Driver
SMEOtixo DropDav
WebDAV
native

protocols native

protocols
Your setup SaaS setup
Storage/

Web Service
self-hosted
(Privacy)
via external
SaaS Bridge
(limited privacy?)
WebDAV 

(Owncloud, BaseX,

eXist-DB, Alfresco, etc.)
YES YES
Amazon S3 YES YES
Local filesystem YES NO
Dropbox (YES, auth token issues) YES
FTP/SFTP (YES, V1.4) YES
4Shared ADrive Alfresco Amazon Cloud
Amazon S3 Box CloudMe Copy Cubby
Digital Bucket DriveOnWeb Dropbox Dump
Truck Evernote FTP Fabasoft Facebook
FilesAnywhere Flickr GMX.DE Google Drive
HiDrive Huddle LiveDrive Mediencenter
MyDrive OneDrive Online FileFolder
OwnCloud Picasa SugarSync TrendMicro
SafeSync Web.de WebDAV Yandex
NO YES
pyfilesystem driver options
Supported services through 

3rd party services (example)
https://pypi.python.org/pypi/xmldirector.plonecore/1.3.0b1
Document formats 

and conversion options
Professional

Publishing
Structured data
Metadata
Structured content
Document
relations
• Industry standard in publishing
• structured data
• structured content
• not many alternatives besides Indesign stuff…
Advantages of XML
• XML structure definition
• Document Type Definition 

(DTD)
• XML Schema (XSD)
• RelaxNG 

• XML business rules
• Schematron
XML transformations
• Transformations
• XSLT (version 1-3)
• rule based language
• Transformation between 

XML dialects
• or Python
• or ……

XML 

transformation pipelines
XML 1 XML 2XSLT XSLT XSLT
XML 1 XML 2Python XSLT Python
Format: DOCX
• DOCX is XML but the same crap as .DOC on a
different level
• all DOCX converters suck in their own special ways
• dedicated Word templates require dedicated
converters and special treatment
• usually converted to some XML dialect 

(e.g. Docbook 4/5)
• Tools
• past: LibreOffice/OpenOffice (HTML)
• currently: c-rex.net (dedicated XML schema)
• others: Transpect (Le-TeX)
Format: DITA
• DITA = Darwin Information Typing Architecture
• XML model for authoring
• defacto industry standard for technical documentation
• focus on content reuse
• Information typing: Task, Concept, and Reference
• key concepts: topics and maps
• extensive metadata and specialization
• Tools
• DITA toolkit for publishing (HTML, PDF, ODT, Docbook)
• XMLMind Ditac
Format: HTML5
• HTML5 as primary source for quality publishing 

(vs. XML)? ……questionable
• semantic elements <article>, <section>, <header>,
<figure>, <nav>…
• freedom of structure (HTML5) vs. 

enforced structure and semantics (XML)
• not really suitable for professional high-quality publishing

(seen differently by others)
• often used as intermediate format for CSS Paged Media with
XML as primary format
Format: PDF (1/2)
• traditional: XML ➝ XSL-FO ➝ PDF
• CSS Paged Media: HTML + CSS ➝ PDF
• Tools (you get what you pay for, better quality=higher price)
• WKHMLTOPDF (free), Weasyprint
• PDFReactor (RealObjects)
• PrinceXML (Prince)
• PDFChip (Callas Software)
• Antennahouse V6.2 CSS Formatter
• Plone integration via Produce & Publish Plone Client Connector,
collective.sendaspdf, abstract.wkhtmltopdf, eea.pdf
free
$$$$
• new project: Vivliostyle (open-source + commercial)
• "One Source Multi-Use for making eBooks, Web, and Print books"
• based on EPUB Adaptive Layout implementation

http://www.idpf.org/epub/pgt/
• fixes many limitations of the CSS Paged Media approach and EPUB limitations
Format: PDF (2/2)
Format: ODF
• ODF is completely irrelevant in the publishing
world (DOCX is (still) king)
• Tools:
• Pandoc
• OpenOffice
• LibreOffice
Format: TeX/LaTeX
• Perfect for text-oriented layouts
• unusable for complex layouts
• Tools:
• ftw.book
• Pandoc
• Transpect
Format: E-Books (1/2)
• different ebook formats: 

EPUB, EPUB3, Mobi, KF8, Apple's EPUB3
• different hardware and software readers:

Kindle, iOS & Android devices, Kobo, Toliono, Sony, Nook
• fixed format ebooks vs. reflowable ebooks vs. adaptive
layouts
• many limitations regarding typography, handling of
images and tables
HUGE MESS
• Tools:
• Calibre (Python)
• eea.epub
• Produce & Publish server (via Calibre)
• web services like "Bookalope"
Format: E-Books (2/2)
Plone as platform for 

publishing solutions
www.xml-director.info
demo.xml-director.info

xmldirector.plonecore
Questions?

More Related Content

What's hot

Tech 802: Data, Databases & XML
Tech 802: Data, Databases & XMLTech 802: Data, Databases & XML
Tech 802: Data, Databases & XMLsomisguided
 
Approaches to document/report generation
Approaches to document/report generation Approaches to document/report generation
Approaches to document/report generation plutext
 
Neo4j + MongoDB - SF Graph Database Meetup Group Presentation
Neo4j + MongoDB - SF Graph Database Meetup Group PresentationNeo4j + MongoDB - SF Graph Database Meetup Group Presentation
Neo4j + MongoDB - SF Graph Database Meetup Group PresentationWilliam Lyon
 
Plone migrations using plone.restapi
Plone migrations using plone.restapiPlone migrations using plone.restapi
Plone migrations using plone.restapiAndreas Jung
 
Ancient To Modern: Upgrading nearly a decade of Plone in public radio
Ancient To Modern: Upgrading nearly a decade of Plone in public radioAncient To Modern: Upgrading nearly a decade of Plone in public radio
Ancient To Modern: Upgrading nearly a decade of Plone in public radioCristopher Ewing
 
Plone 5.2 migration at University Ghent, Belgium
Plone 5.2 migration at University Ghent, BelgiumPlone 5.2 migration at University Ghent, Belgium
Plone 5.2 migration at University Ghent, BelgiumAndreas Jung
 
20120606 Lazy Programmers Write Self-Modifying Code /or/ Dealing with XML Ord...
20120606 Lazy Programmers Write Self-Modifying Code /or/ Dealing with XML Ord...20120606 Lazy Programmers Write Self-Modifying Code /or/ Dealing with XML Ord...
20120606 Lazy Programmers Write Self-Modifying Code /or/ Dealing with XML Ord...David Horvath
 
Facebook Technology Stack
Facebook Technology StackFacebook Technology Stack
Facebook Technology StackHusain Ali
 
Daten und Verzeichnisse Vergleichen/Synchronisieren mit Beyond Compare (Windo...
Daten und Verzeichnisse Vergleichen/Synchronisieren mit Beyond Compare (Windo...Daten und Verzeichnisse Vergleichen/Synchronisieren mit Beyond Compare (Windo...
Daten und Verzeichnisse Vergleichen/Synchronisieren mit Beyond Compare (Windo...frankstaude
 
Where do you want to go today
Where do you want to go todayWhere do you want to go today
Where do you want to go todayMike Feltman
 
Where do you want to go today 2007
Where do you want to go today   2007Where do you want to go today   2007
Where do you want to go today 2007Mike Feltman
 
Introduction to Web Standards
Introduction to Web StandardsIntroduction to Web Standards
Introduction to Web StandardsJussi Pohjolainen
 
Introduction To Web Development & The New Digital Workplace
Introduction To Web Development & The New Digital WorkplaceIntroduction To Web Development & The New Digital Workplace
Introduction To Web Development & The New Digital WorkplaceJen Wei Lee
 
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia APIPOX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia APILuke Stokes
 
Html and visual fox pro
Html and visual fox proHtml and visual fox pro
Html and visual fox proMike Feltman
 

What's hot (16)

Tech 802: Data, Databases & XML
Tech 802: Data, Databases & XMLTech 802: Data, Databases & XML
Tech 802: Data, Databases & XML
 
Approaches to document/report generation
Approaches to document/report generation Approaches to document/report generation
Approaches to document/report generation
 
Neo4j + MongoDB - SF Graph Database Meetup Group Presentation
Neo4j + MongoDB - SF Graph Database Meetup Group PresentationNeo4j + MongoDB - SF Graph Database Meetup Group Presentation
Neo4j + MongoDB - SF Graph Database Meetup Group Presentation
 
Plone migrations using plone.restapi
Plone migrations using plone.restapiPlone migrations using plone.restapi
Plone migrations using plone.restapi
 
Ancient To Modern: Upgrading nearly a decade of Plone in public radio
Ancient To Modern: Upgrading nearly a decade of Plone in public radioAncient To Modern: Upgrading nearly a decade of Plone in public radio
Ancient To Modern: Upgrading nearly a decade of Plone in public radio
 
Plone 5.2 migration at University Ghent, Belgium
Plone 5.2 migration at University Ghent, BelgiumPlone 5.2 migration at University Ghent, Belgium
Plone 5.2 migration at University Ghent, Belgium
 
20120606 Lazy Programmers Write Self-Modifying Code /or/ Dealing with XML Ord...
20120606 Lazy Programmers Write Self-Modifying Code /or/ Dealing with XML Ord...20120606 Lazy Programmers Write Self-Modifying Code /or/ Dealing with XML Ord...
20120606 Lazy Programmers Write Self-Modifying Code /or/ Dealing with XML Ord...
 
Facebook Technology Stack
Facebook Technology StackFacebook Technology Stack
Facebook Technology Stack
 
Daten und Verzeichnisse Vergleichen/Synchronisieren mit Beyond Compare (Windo...
Daten und Verzeichnisse Vergleichen/Synchronisieren mit Beyond Compare (Windo...Daten und Verzeichnisse Vergleichen/Synchronisieren mit Beyond Compare (Windo...
Daten und Verzeichnisse Vergleichen/Synchronisieren mit Beyond Compare (Windo...
 
Where do you want to go today
Where do you want to go todayWhere do you want to go today
Where do you want to go today
 
Where do you want to go today 2007
Where do you want to go today   2007Where do you want to go today   2007
Where do you want to go today 2007
 
Introduction to Web Standards
Introduction to Web StandardsIntroduction to Web Standards
Introduction to Web Standards
 
Introduction To Web Development & The New Digital Workplace
Introduction To Web Development & The New Digital WorkplaceIntroduction To Web Development & The New Digital Workplace
Introduction To Web Development & The New Digital Workplace
 
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia APIPOX to HATEOAS: Our Company's Journey Building a Hypermedia API
POX to HATEOAS: Our Company's Journey Building a Hypermedia API
 
Spdy
SpdySpdy
Spdy
 
Html and visual fox pro
Html and visual fox proHtml and visual fox pro
Html and visual fox pro
 

Viewers also liked

Pragmatische Plone Projekte
Pragmatische Plone ProjektePragmatische Plone Projekte
Pragmatische Plone ProjekteAndreas Jung
 
XML Director - the technical foundation of onkopedia.com
XML Director - the technical foundation of onkopedia.comXML Director - the technical foundation of onkopedia.com
XML Director - the technical foundation of onkopedia.comAndreas Jung
 
Pragmatic plone projects
Pragmatic plone projectsPragmatic plone projects
Pragmatic plone projectsAndreas Jung
 
State Of Zope Linuxtag 2008
State Of Zope Linuxtag 2008State Of Zope Linuxtag 2008
State Of Zope Linuxtag 2008Andreas Jung
 
Making Py Pi Sux Less Key
Making Py Pi Sux Less KeyMaking Py Pi Sux Less Key
Making Py Pi Sux Less KeyAndreas Jung
 
Producing high-quality documents with Plone
Producing high-quality documents with PloneProducing high-quality documents with Plone
Producing high-quality documents with PloneAndreas Jung
 
Pragmatic plone projects
Pragmatic plone projectsPragmatic plone projects
Pragmatic plone projectsAndreas Jung
 
Onkopedia - Ein medizinisches Leitlinienportal auf dem Weg zu XML-basierten P...
Onkopedia - Ein medizinisches Leitlinienportal auf dem Weg zu XML-basierten P...Onkopedia - Ein medizinisches Leitlinienportal auf dem Weg zu XML-basierten P...
Onkopedia - Ein medizinisches Leitlinienportal auf dem Weg zu XML-basierten P...Andreas Jung
 
Plone4Universities
Plone4UniversitiesPlone4Universities
Plone4UniversitiesAndreas Jung
 
Frequently asked questions answered frequently - but now for the last time
Frequently asked questions answered frequently - but now for the last timeFrequently asked questions answered frequently - but now for the last time
Frequently asked questions answered frequently - but now for the last timeAndreas Jung
 
Produce & Publish Authoring Environment World Plone Day 2010 - Berlin
Produce & Publish Authoring Environment World Plone Day 2010 - BerlinProduce & Publish Authoring Environment World Plone Day 2010 - Berlin
Produce & Publish Authoring Environment World Plone Day 2010 - BerlinAndreas Jung
 
CSS Paged Media - A review of tools and techniques
CSS Paged Media - A review of tools and techniquesCSS Paged Media - A review of tools and techniques
CSS Paged Media - A review of tools and techniquesAndreas Jung
 
Python mongo db-training-europython-2011
Python mongo db-training-europython-2011Python mongo db-training-europython-2011
Python mongo db-training-europython-2011Andreas Jung
 
Why Plone Will Die
Why Plone Will DieWhy Plone Will Die
Why Plone Will DieAndreas Jung
 
Produce & Publish Cloud Edition
Produce & Publish Cloud EditionProduce & Publish Cloud Edition
Produce & Publish Cloud EditionAndreas Jung
 
Dzug Zope Optimized
Dzug Zope OptimizedDzug Zope Optimized
Dzug Zope OptimizedAndreas Jung
 
Onkopedia - ein medizinisches Fachportal auf Basis von Plone
Onkopedia  - ein medizinisches Fachportal auf Basis von PloneOnkopedia  - ein medizinisches Fachportal auf Basis von Plone
Onkopedia - ein medizinisches Fachportal auf Basis von PloneAndreas Jung
 
Produce & Publish V 2.0 - Authoring Environment - Single-Source Multi-Channel...
Produce & Publish V 2.0 - Authoring Environment - Single-Source Multi-Channel...Produce & Publish V 2.0 - Authoring Environment - Single-Source Multi-Channel...
Produce & Publish V 2.0 - Authoring Environment - Single-Source Multi-Channel...Andreas Jung
 

Viewers also liked (20)

Easyforms (GSOC'16)
Easyforms (GSOC'16)Easyforms (GSOC'16)
Easyforms (GSOC'16)
 
Pragmatische Plone Projekte
Pragmatische Plone ProjektePragmatische Plone Projekte
Pragmatische Plone Projekte
 
XML Director - the technical foundation of onkopedia.com
XML Director - the technical foundation of onkopedia.comXML Director - the technical foundation of onkopedia.com
XML Director - the technical foundation of onkopedia.com
 
Pragmatic plone projects
Pragmatic plone projectsPragmatic plone projects
Pragmatic plone projects
 
State Of Zope Linuxtag 2008
State Of Zope Linuxtag 2008State Of Zope Linuxtag 2008
State Of Zope Linuxtag 2008
 
Making Py Pi Sux Less Key
Making Py Pi Sux Less KeyMaking Py Pi Sux Less Key
Making Py Pi Sux Less Key
 
Producing high-quality documents with Plone
Producing high-quality documents with PloneProducing high-quality documents with Plone
Producing high-quality documents with Plone
 
Pragmatic plone projects
Pragmatic plone projectsPragmatic plone projects
Pragmatic plone projects
 
Onkopedia - Ein medizinisches Leitlinienportal auf dem Weg zu XML-basierten P...
Onkopedia - Ein medizinisches Leitlinienportal auf dem Weg zu XML-basierten P...Onkopedia - Ein medizinisches Leitlinienportal auf dem Weg zu XML-basierten P...
Onkopedia - Ein medizinisches Leitlinienportal auf dem Weg zu XML-basierten P...
 
Plone4Universities
Plone4UniversitiesPlone4Universities
Plone4Universities
 
Frequently asked questions answered frequently - but now for the last time
Frequently asked questions answered frequently - but now for the last timeFrequently asked questions answered frequently - but now for the last time
Frequently asked questions answered frequently - but now for the last time
 
PyFilesystem
PyFilesystemPyFilesystem
PyFilesystem
 
Produce & Publish Authoring Environment World Plone Day 2010 - Berlin
Produce & Publish Authoring Environment World Plone Day 2010 - BerlinProduce & Publish Authoring Environment World Plone Day 2010 - Berlin
Produce & Publish Authoring Environment World Plone Day 2010 - Berlin
 
CSS Paged Media - A review of tools and techniques
CSS Paged Media - A review of tools and techniquesCSS Paged Media - A review of tools and techniques
CSS Paged Media - A review of tools and techniques
 
Python mongo db-training-europython-2011
Python mongo db-training-europython-2011Python mongo db-training-europython-2011
Python mongo db-training-europython-2011
 
Why Plone Will Die
Why Plone Will DieWhy Plone Will Die
Why Plone Will Die
 
Produce & Publish Cloud Edition
Produce & Publish Cloud EditionProduce & Publish Cloud Edition
Produce & Publish Cloud Edition
 
Dzug Zope Optimized
Dzug Zope OptimizedDzug Zope Optimized
Dzug Zope Optimized
 
Onkopedia - ein medizinisches Fachportal auf Basis von Plone
Onkopedia  - ein medizinisches Fachportal auf Basis von PloneOnkopedia  - ein medizinisches Fachportal auf Basis von Plone
Onkopedia - ein medizinisches Fachportal auf Basis von Plone
 
Produce & Publish V 2.0 - Authoring Environment - Single-Source Multi-Channel...
Produce & Publish V 2.0 - Authoring Environment - Single-Source Multi-Channel...Produce & Publish V 2.0 - Authoring Environment - Single-Source Multi-Channel...
Produce & Publish V 2.0 - Authoring Environment - Single-Source Multi-Channel...
 

Similar to Building bridges - Plone Conference 2015 Bucharest

The XML Forms Architecture
The XML Forms ArchitectureThe XML Forms Architecture
The XML Forms ArchitectureiText Group nv
 
WCM-5 WCM Solutions with Drupal and Alfresco
WCM-5 WCM Solutions with Drupal and AlfrescoWCM-5 WCM Solutions with Drupal and Alfresco
WCM-5 WCM Solutions with Drupal and AlfrescoAlfresco Software
 
Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)Joachim Neubert
 
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2Richard Esplin
 
Lessons learned from building Eclipse-based add-ons for commercial modeling t...
Lessons learned from building Eclipse-based add-ons for commercial modeling t...Lessons learned from building Eclipse-based add-ons for commercial modeling t...
Lessons learned from building Eclipse-based add-ons for commercial modeling t...IncQuery Labs
 
IWMW 2002: Web standards briefing (session C2)
IWMW 2002: Web standards briefing (session C2)IWMW 2002: Web standards briefing (session C2)
IWMW 2002: Web standards briefing (session C2)IWMW
 
10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the world10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the worldColdFusionConference
 
LFC DjangoCon EU
LFC DjangoCon EULFC DjangoCon EU
LFC DjangoCon EUdiefenbach
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFxThomas Daly
 
Drupal 8 introduction
Drupal 8 introductionDrupal 8 introduction
Drupal 8 introductionAditya Ghan
 
S. Bartoli & F. Pompermaier – A Semantic Big Data Companion
S. Bartoli & F. Pompermaier – A Semantic Big Data CompanionS. Bartoli & F. Pompermaier – A Semantic Big Data Companion
S. Bartoli & F. Pompermaier – A Semantic Big Data CompanionFlink Forward
 
High Voltage - Building Static Sites With Wordpress-Managed Content
High Voltage - Building Static Sites With Wordpress-Managed ContentHigh Voltage - Building Static Sites With Wordpress-Managed Content
High Voltage - Building Static Sites With Wordpress-Managed ContentNicolle Morton
 
Webinar: Le novità di Alfresco 5.1
Webinar: Le novità di Alfresco 5.1 Webinar: Le novità di Alfresco 5.1
Webinar: Le novità di Alfresco 5.1 Alfresco Software
 
QueryPath, Mash-ups, and Web Services
QueryPath, Mash-ups, and Web ServicesQueryPath, Mash-ups, and Web Services
QueryPath, Mash-ups, and Web ServicesMatt Butcher
 
Drupal and Apache Stanbol
Drupal and Apache StanbolDrupal and Apache Stanbol
Drupal and Apache StanbolAlkuvoima
 
Linked data enhanced publishing for special collections (with Drupal)
Linked data enhanced publishing for special collections (with Drupal)Linked data enhanced publishing for special collections (with Drupal)
Linked data enhanced publishing for special collections (with Drupal)Joachim Neubert
 
Multimedia system(OPEN DOCUMENT ARCHITECTURE AND INTERCHANGING FORMAT)
Multimedia system(OPEN DOCUMENT ARCHITECTURE AND INTERCHANGING FORMAT)Multimedia system(OPEN DOCUMENT ARCHITECTURE AND INTERCHANGING FORMAT)
Multimedia system(OPEN DOCUMENT ARCHITECTURE AND INTERCHANGING FORMAT)pavishkumarsingh
 
Free Libre Open Source Software at FFZG library
Free Libre Open Source Software at FFZG libraryFree Libre Open Source Software at FFZG library
Free Libre Open Source Software at FFZG libraryDobrica Pavlinušić
 

Similar to Building bridges - Plone Conference 2015 Bucharest (20)

The XML Forms Architecture
The XML Forms ArchitectureThe XML Forms Architecture
The XML Forms Architecture
 
WCM-5 WCM Solutions with Drupal and Alfresco
WCM-5 WCM Solutions with Drupal and AlfrescoWCM-5 WCM Solutions with Drupal and Alfresco
WCM-5 WCM Solutions with Drupal and Alfresco
 
Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)Linked Data Publishing with Drupal (SWIB13 workshop)
Linked Data Publishing with Drupal (SWIB13 workshop)
 
dmBridge & dmMonocle
dmBridge & dmMonocledmBridge & dmMonocle
dmBridge & dmMonocle
 
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
Alfresco Tech Talk Live (Episode 70): Customizing Alfresco Share 4.2
 
Lessons learned from building Eclipse-based add-ons for commercial modeling t...
Lessons learned from building Eclipse-based add-ons for commercial modeling t...Lessons learned from building Eclipse-based add-ons for commercial modeling t...
Lessons learned from building Eclipse-based add-ons for commercial modeling t...
 
IWMW 2002: Web standards briefing (session C2)
IWMW 2002: Web standards briefing (session C2)IWMW 2002: Web standards briefing (session C2)
IWMW 2002: Web standards briefing (session C2)
 
10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the world10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the world
 
LFC DjangoCon EU
LFC DjangoCon EULFC DjangoCon EU
LFC DjangoCon EU
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFx
 
Drupal 8 introduction
Drupal 8 introductionDrupal 8 introduction
Drupal 8 introduction
 
S. Bartoli & F. Pompermaier – A Semantic Big Data Companion
S. Bartoli & F. Pompermaier – A Semantic Big Data CompanionS. Bartoli & F. Pompermaier – A Semantic Big Data Companion
S. Bartoli & F. Pompermaier – A Semantic Big Data Companion
 
High Voltage - Building Static Sites With Wordpress-Managed Content
High Voltage - Building Static Sites With Wordpress-Managed ContentHigh Voltage - Building Static Sites With Wordpress-Managed Content
High Voltage - Building Static Sites With Wordpress-Managed Content
 
Webinar: Le novità di Alfresco 5.1
Webinar: Le novità di Alfresco 5.1 Webinar: Le novità di Alfresco 5.1
Webinar: Le novità di Alfresco 5.1
 
QueryPath, Mash-ups, and Web Services
QueryPath, Mash-ups, and Web ServicesQueryPath, Mash-ups, and Web Services
QueryPath, Mash-ups, and Web Services
 
Drupal and Apache Stanbol
Drupal and Apache StanbolDrupal and Apache Stanbol
Drupal and Apache Stanbol
 
Linked data enhanced publishing for special collections (with Drupal)
Linked data enhanced publishing for special collections (with Drupal)Linked data enhanced publishing for special collections (with Drupal)
Linked data enhanced publishing for special collections (with Drupal)
 
Multimedia system(OPEN DOCUMENT ARCHITECTURE AND INTERCHANGING FORMAT)
Multimedia system(OPEN DOCUMENT ARCHITECTURE AND INTERCHANGING FORMAT)Multimedia system(OPEN DOCUMENT ARCHITECTURE AND INTERCHANGING FORMAT)
Multimedia system(OPEN DOCUMENT ARCHITECTURE AND INTERCHANGING FORMAT)
 
Multimedia system
Multimedia systemMultimedia system
Multimedia system
 
Free Libre Open Source Software at FFZG library
Free Libre Open Source Software at FFZG libraryFree Libre Open Source Software at FFZG library
Free Libre Open Source Software at FFZG library
 

More from Andreas Jung

State of PrintCSS - MarkupUK 2023.pdf
State of PrintCSS - MarkupUK 2023.pdfState of PrintCSS - MarkupUK 2023.pdf
State of PrintCSS - MarkupUK 2023.pdfAndreas Jung
 
Typesense Plone Integration Plone Conference 2022 Namur
Typesense Plone Integration Plone Conference 2022 NamurTypesense Plone Integration Plone Conference 2022 Namur
Typesense Plone Integration Plone Conference 2022 NamurAndreas Jung
 
Onkopedia - Plone Tagung 2020 Dresden
Onkopedia - Plone Tagung 2020 DresdenOnkopedia - Plone Tagung 2020 Dresden
Onkopedia - Plone Tagung 2020 DresdenAndreas Jung
 
PrintCSS W3C workshop at XMLPrague 2020
PrintCSS W3C workshop at XMLPrague 2020PrintCSS W3C workshop at XMLPrague 2020
PrintCSS W3C workshop at XMLPrague 2020Andreas Jung
 
PrintCSS workshop XMLPrague 2020
PrintCSS workshop XMLPrague 2020PrintCSS workshop XMLPrague 2020
PrintCSS workshop XMLPrague 2020Andreas Jung
 
Back to the future - Plone 5.2 und Python 3 Migration am Beispiel Onkopedia
Back to the future - Plone 5.2 und Python 3 Migration am Beispiel OnkopediaBack to the future - Plone 5.2 und Python 3 Migration am Beispiel Onkopedia
Back to the future - Plone 5.2 und Python 3 Migration am Beispiel OnkopediaAndreas Jung
 
Plone Migrationen mit Plone REST API
Plone Migrationen mit Plone REST APIPlone Migrationen mit Plone REST API
Plone Migrationen mit Plone REST APIAndreas Jung
 
Plone im Einsatz bei der Universität des Saarländes als Shop-System und Gefah...
Plone im Einsatz bei der Universität des Saarländes als Shop-System und Gefah...Plone im Einsatz bei der Universität des Saarländes als Shop-System und Gefah...
Plone im Einsatz bei der Universität des Saarländes als Shop-System und Gefah...Andreas Jung
 
Generierung von PDF aus XML/HTML mit PrintCSS
Generierung von PDF aus XML/HTML mit PrintCSSGenerierung von PDF aus XML/HTML mit PrintCSS
Generierung von PDF aus XML/HTML mit PrintCSSAndreas Jung
 
Creating Content Together - Plone Integration with SMASHDOCs
Creating Content Together - Plone Integration with SMASHDOCsCreating Content Together - Plone Integration with SMASHDOCs
Creating Content Together - Plone Integration with SMASHDOCsAndreas Jung
 
Creating Content Together - Plone Integration with SMASHDOCs
Creating Content Together - Plone Integration with SMASHDOCsCreating Content Together - Plone Integration with SMASHDOCs
Creating Content Together - Plone Integration with SMASHDOCsAndreas Jung
 
The Plone and The Blockchain
The Plone and The BlockchainThe Plone and The Blockchain
The Plone and The BlockchainAndreas Jung
 
Content Gemeinsam Erstellen: Integration Plone mit SMASHDOCs
Content Gemeinsam Erstellen: Integration Plone mit SMASHDOCsContent Gemeinsam Erstellen: Integration Plone mit SMASHDOCs
Content Gemeinsam Erstellen: Integration Plone mit SMASHDOCsAndreas Jung
 
PDF Generierung mit XML/HTML und CSS - was die Tools können und was nicht.
PDF Generierung mit XML/HTML und CSS - was die Tools können und was nicht.PDF Generierung mit XML/HTML und CSS - was die Tools können und was nicht.
PDF Generierung mit XML/HTML und CSS - was die Tools können und was nicht.Andreas Jung
 
zopyx.plone migration - Plone Hochschultagung 2013
zopyx.plone migration - Plone Hochschultagung 2013zopyx.plone migration - Plone Hochschultagung 2013
zopyx.plone migration - Plone Hochschultagung 2013Andreas Jung
 

More from Andreas Jung (15)

State of PrintCSS - MarkupUK 2023.pdf
State of PrintCSS - MarkupUK 2023.pdfState of PrintCSS - MarkupUK 2023.pdf
State of PrintCSS - MarkupUK 2023.pdf
 
Typesense Plone Integration Plone Conference 2022 Namur
Typesense Plone Integration Plone Conference 2022 NamurTypesense Plone Integration Plone Conference 2022 Namur
Typesense Plone Integration Plone Conference 2022 Namur
 
Onkopedia - Plone Tagung 2020 Dresden
Onkopedia - Plone Tagung 2020 DresdenOnkopedia - Plone Tagung 2020 Dresden
Onkopedia - Plone Tagung 2020 Dresden
 
PrintCSS W3C workshop at XMLPrague 2020
PrintCSS W3C workshop at XMLPrague 2020PrintCSS W3C workshop at XMLPrague 2020
PrintCSS W3C workshop at XMLPrague 2020
 
PrintCSS workshop XMLPrague 2020
PrintCSS workshop XMLPrague 2020PrintCSS workshop XMLPrague 2020
PrintCSS workshop XMLPrague 2020
 
Back to the future - Plone 5.2 und Python 3 Migration am Beispiel Onkopedia
Back to the future - Plone 5.2 und Python 3 Migration am Beispiel OnkopediaBack to the future - Plone 5.2 und Python 3 Migration am Beispiel Onkopedia
Back to the future - Plone 5.2 und Python 3 Migration am Beispiel Onkopedia
 
Plone Migrationen mit Plone REST API
Plone Migrationen mit Plone REST APIPlone Migrationen mit Plone REST API
Plone Migrationen mit Plone REST API
 
Plone im Einsatz bei der Universität des Saarländes als Shop-System und Gefah...
Plone im Einsatz bei der Universität des Saarländes als Shop-System und Gefah...Plone im Einsatz bei der Universität des Saarländes als Shop-System und Gefah...
Plone im Einsatz bei der Universität des Saarländes als Shop-System und Gefah...
 
Generierung von PDF aus XML/HTML mit PrintCSS
Generierung von PDF aus XML/HTML mit PrintCSSGenerierung von PDF aus XML/HTML mit PrintCSS
Generierung von PDF aus XML/HTML mit PrintCSS
 
Creating Content Together - Plone Integration with SMASHDOCs
Creating Content Together - Plone Integration with SMASHDOCsCreating Content Together - Plone Integration with SMASHDOCs
Creating Content Together - Plone Integration with SMASHDOCs
 
Creating Content Together - Plone Integration with SMASHDOCs
Creating Content Together - Plone Integration with SMASHDOCsCreating Content Together - Plone Integration with SMASHDOCs
Creating Content Together - Plone Integration with SMASHDOCs
 
The Plone and The Blockchain
The Plone and The BlockchainThe Plone and The Blockchain
The Plone and The Blockchain
 
Content Gemeinsam Erstellen: Integration Plone mit SMASHDOCs
Content Gemeinsam Erstellen: Integration Plone mit SMASHDOCsContent Gemeinsam Erstellen: Integration Plone mit SMASHDOCs
Content Gemeinsam Erstellen: Integration Plone mit SMASHDOCs
 
PDF Generierung mit XML/HTML und CSS - was die Tools können und was nicht.
PDF Generierung mit XML/HTML und CSS - was die Tools können und was nicht.PDF Generierung mit XML/HTML und CSS - was die Tools können und was nicht.
PDF Generierung mit XML/HTML und CSS - was die Tools können und was nicht.
 
zopyx.plone migration - Plone Hochschultagung 2013
zopyx.plone migration - Plone Hochschultagung 2013zopyx.plone migration - Plone Hochschultagung 2013
zopyx.plone migration - Plone Hochschultagung 2013
 

Recently uploaded

What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 

Recently uploaded (20)

What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 

Building bridges - Plone Conference 2015 Bucharest

  • 1. . . Building Bridges Integrative publishing solutions with Plone. From storages to converters. Andreas Jung @MacYET
 info@zopyx.com
 Plone Conference 2015 Bucharest
  • 2. /about 20 years in publishing business since 1995 Integrator Building generic and unified solutions Always interested in alternative high-quality components besides the mainstram
  • 3. Agenda • Storages and services • Integration and federation of external storages and web services into Plone • Documents and formats • converters (A➝B)
  • 4. Plone as 
 Publishing Platform • Pros • Secure • Workflows • Extensible • Cons • self-contained universe (ZODB) • lack of decent integration with external data sources, cloud storages and cloud services besides relational databases • focused on HTML as content format (in addition to binary data and assets)
  • 8.
  • 10. External/cloud storages 
 in Plone • Current state: • Reflecto • RDBMS (SQLAlchemy) • Dexterity content only stored in ZODB (no dedicated storage layer) • Archetypes external storages • poor integration story • different integration approaches, different APIs • most add-ons unmaintained
  • 11. • Plone 4.3/(5.0 compatible) add-on for the integration of other storage systems 
 (other than ZODB) into Plone • Part of our XML publishing toolbox • Can be used without the "XML" stuff • Unified access and API to external storages and services • Available modes • Mounting • Dexterity support • 100 tests, Plone 4.3/5.0 against 6 different storage backends
  • 12. XML Director - Mounting • Plone "Connector" content-type • parameters: connection URL, username, password • acts as a mountpoint • URL traversal support • ZIP import/export, multi-file upload • basic UI for creating/renaming/deleting collections/ folders and resources • simple view registry • ACEditor integration for common formats • minimal, small and extensible • no indexing support • no proxy object magic as in Reflecto • intended for applications that need to access external data sources and storages
  • 13. root de en my-onkopedia onkopedia-p knowledge-database mammakarzinom-des-mannes mammakarzinom-der-frau … … onkopedia current archive draft Version 01.04.2013 Version 07.08.2014 Version 25.03.2012 pdf xml html media source 1.jpg 2.jpg … incoming.docx index.html index.xml index.pdf my-onkopedia source incoming.docx xml index.xml html index.html media 1.jpg 2.jpg … pdf index.pdf source incoming.docx xml index.xml html index.html media 1.jpg 2.jpg … pdf index.pdf Connector http://host/de/my-onkopedia/mammakarzinom-der-frau/archive/version-25.03.2014/@@view/xml/index.xml Connector Connector
  • 14. XML Director - Dexterity • three new Dexterity fields • XMLText (stores, validates XML) 
 with ACEditor widget • XMLImage, XMLFile • XPath • content stored on the configured storage • flat storage hierarchy based on UID • dedicated set() and get() methods (due to lack of a DX storage API) as data managers • DX behaviors not applicable here • (we need a Dexterity storage API or some wrapper in plone.api) xml_text = XMLText() xml_image = XMLImage() obj.set_xml('xml_text', xml) obj.set_xml('xml_img', img_bin) xml = obj.get_xml('xml_text') img_bin = obj.get_xml('xml_img')
  • 15. pyfilesystem • abstraction layer on top of storages, access through a uniform API • Python 2/3 compatible • various filesystem/webservices drivers • Goal: your code must not know about the underlaying storage system. The backend is just aconfiguration option. • extensible (writing a new driver is straight forward • sandboxed filesystem operations • OOTB support for: WebDAV, S(FTP), RPCFS, OSFS, S3, ZIP, Memory, MultiFS, WrapFS handle = fs.opener(some_url) with handle.open('foo', 'w') as fp: fp.write(data) handle.listdir(dirname) handle.makedir('foo/bar/test') handle.removedir('foo/bar/test) handle.exists(some_filename) handle.isfile(some_name) handle.move(src, dst) handle.copy(src, dst) ….
  • 16. WebDAV (S)FTP pyfilesystem Plone xmldirector.plonecore Dropbox GDriveAWS S3 Local FS Architecture OwnCloud
 Alfresco
 eXistDB
 BaseX Dropbox Sharepoint Evernote Facebook Flickr Yandex OneDrive many others Driver Driver Driver SMEOtixo DropDav WebDAV native
 protocols native
 protocols Your setup SaaS setup
  • 17. Storage/
 Web Service self-hosted (Privacy) via external SaaS Bridge (limited privacy?) WebDAV 
 (Owncloud, BaseX,
 eXist-DB, Alfresco, etc.) YES YES Amazon S3 YES YES Local filesystem YES NO Dropbox (YES, auth token issues) YES FTP/SFTP (YES, V1.4) YES 4Shared ADrive Alfresco Amazon Cloud Amazon S3 Box CloudMe Copy Cubby Digital Bucket DriveOnWeb Dropbox Dump Truck Evernote FTP Fabasoft Facebook FilesAnywhere Flickr GMX.DE Google Drive HiDrive Huddle LiveDrive Mediencenter MyDrive OneDrive Online FileFolder OwnCloud Picasa SugarSync TrendMicro SafeSync Web.de WebDAV Yandex NO YES pyfilesystem driver options
  • 18. Supported services through 
 3rd party services (example)
  • 20.
  • 21. Document formats 
 and conversion options
  • 23. • Industry standard in publishing • structured data • structured content • not many alternatives besides Indesign stuff…
  • 24. Advantages of XML • XML structure definition • Document Type Definition 
 (DTD) • XML Schema (XSD) • RelaxNG 
 • XML business rules • Schematron
  • 25. XML transformations • Transformations • XSLT (version 1-3) • rule based language • Transformation between 
 XML dialects • or Python • or ……

  • 26. XML 
 transformation pipelines XML 1 XML 2XSLT XSLT XSLT XML 1 XML 2Python XSLT Python
  • 27. Format: DOCX • DOCX is XML but the same crap as .DOC on a different level • all DOCX converters suck in their own special ways • dedicated Word templates require dedicated converters and special treatment • usually converted to some XML dialect 
 (e.g. Docbook 4/5) • Tools • past: LibreOffice/OpenOffice (HTML) • currently: c-rex.net (dedicated XML schema) • others: Transpect (Le-TeX)
  • 28. Format: DITA • DITA = Darwin Information Typing Architecture • XML model for authoring • defacto industry standard for technical documentation • focus on content reuse • Information typing: Task, Concept, and Reference • key concepts: topics and maps • extensive metadata and specialization • Tools • DITA toolkit for publishing (HTML, PDF, ODT, Docbook) • XMLMind Ditac
  • 29. Format: HTML5 • HTML5 as primary source for quality publishing 
 (vs. XML)? ……questionable • semantic elements <article>, <section>, <header>, <figure>, <nav>… • freedom of structure (HTML5) vs. 
 enforced structure and semantics (XML) • not really suitable for professional high-quality publishing
 (seen differently by others) • often used as intermediate format for CSS Paged Media with XML as primary format
  • 30. Format: PDF (1/2) • traditional: XML ➝ XSL-FO ➝ PDF • CSS Paged Media: HTML + CSS ➝ PDF • Tools (you get what you pay for, better quality=higher price) • WKHMLTOPDF (free), Weasyprint • PDFReactor (RealObjects) • PrinceXML (Prince) • PDFChip (Callas Software) • Antennahouse V6.2 CSS Formatter • Plone integration via Produce & Publish Plone Client Connector, collective.sendaspdf, abstract.wkhtmltopdf, eea.pdf free $$$$
  • 31. • new project: Vivliostyle (open-source + commercial) • "One Source Multi-Use for making eBooks, Web, and Print books" • based on EPUB Adaptive Layout implementation
 http://www.idpf.org/epub/pgt/ • fixes many limitations of the CSS Paged Media approach and EPUB limitations Format: PDF (2/2)
  • 32. Format: ODF • ODF is completely irrelevant in the publishing world (DOCX is (still) king) • Tools: • Pandoc • OpenOffice • LibreOffice
  • 33. Format: TeX/LaTeX • Perfect for text-oriented layouts • unusable for complex layouts • Tools: • ftw.book • Pandoc • Transpect
  • 34. Format: E-Books (1/2) • different ebook formats: 
 EPUB, EPUB3, Mobi, KF8, Apple's EPUB3 • different hardware and software readers:
 Kindle, iOS & Android devices, Kobo, Toliono, Sony, Nook • fixed format ebooks vs. reflowable ebooks vs. adaptive layouts • many limitations regarding typography, handling of images and tables HUGE MESS
  • 35. • Tools: • Calibre (Python) • eea.epub • Produce & Publish server (via Calibre) • web services like "Bookalope" Format: E-Books (2/2)
  • 36. Plone as platform for 
 publishing solutions