integrando plone con cualquier cosa
DESCRIPTION
Charla presentada en el Simposio Sudamericano de Plone 2009 donde se presentan distintos enfoques para integrar Plone con otras aplicaciones y frameworks desde las capas: modelo y vista por medio de contentmirror y deliverance respectivamente.TRANSCRIPT
Integrando Plone con
cuAlquier cosa
Roberto [email protected]
http://robertoallende.comhttp://twitter.com/robertoallendehttp://menttes.com
menttes
Ustedes
Operating System Wars
LinuxMac
WindowsWindows
Plone OS Way
Linux + PloneMac + Plone
Windows + Plone
Text Editor Wars
VimEmacsEclipse
Windows
Plone text editor Way
Vim + PloneEmacs + PloneEclipse + Plone
Browser Wars
FirefoxSafariOpera
ChromeIE
Plone Browser Way
Firefox + PloneSafari + PloneOpera + Plone
Chrome + PloneIE + Plone
Cómo integramos Plonecon otras aplicaciones o tecnologías
?Windows
Integrar Plone con cualquier cosa
Matt HamiltonCarlos de la Guardia
Roberto Allende → (integrador)
Windows
Windows
Presentación
Model / Datos
Windows
Presentación
Caso 1: Moodle + .Net + Plone
xdvtheme.inventions
PLONERecusos Estaticos
HTML / CSS
Deliverance / Collective.XDV
Pintandole los labios al puerco
Dynamically re-skinning a legacy .NET portal with python
Matt [email protected]
Introduction
Dynamically re-skinning a .NET portal site Can't name the client Portal for teachers in the UK Aggregating content across legacy portal,
Plone and Moodle
Existing Portal (1.0)
Five years old by November 2009 User registrations: 46,681 Course enrolments: 33,664 Resource Bank views: 247,911
Existing Portal (1.0)
Problems with Current Portal Look-and-feel
→ Not very compelling Usability
→ Challenging in places A poor content management system
→ Can't really edit general content, so use a separate FTP server and Dreamweaver
Vendor lock-in→ Even small changes, very expensive
The Future - Portal 2.0
Usability, Design and Content Review April 2008
Strategic Review August 2008 Feasibility Studies Jan 2009 Pilot Demonstrator (“Portal V1.5”) March 2009
Design Review
Architecture Review
Portal 1.0 - Monolithic, tightly coupled, poor separation of skin
Architecture Review
Portal 2.0 - Extensible, loosely coupled, good separation of skin
How Do We Get There?
Remember: We Can't Touch the Existing System!
The Cunning Plan
Skin 1.0
Portal 1.0
ExistingPortal Module
of functionality e.g. portfolio
Browser
Total Skin Graft!
Portal 1.5
New skin via xpath and xslt
transformation.
Web server
needs to handle
SSL.
Together they give us nice URLs.
Skin 1.0
web server
transformation proxy
Skin 2.0
Browser
Deliverance
Several Different Projects→ xdv→ Deliverance 0.3
To learn more on specifics of Deliverance go to http://deliverance.openplans.org
Result
Old→ 70kb of HTML→ 120 Validation errors, 61 warnings
New→ 40Kb of HTML→ 27 Errors, 1 warning (mainly xhtml/html conflicts)→ No significant performance impact
Putting all togetherComposite:main
pipeline:portal pipeline:plone pipeline:moodle
theme.content
navmerger
plonecontent
source.plone
theme.content
xslt
linkrewrite
htmlcleaner
theme.content
navmerger
moodlecontent
source.moodle
source.portal
End ResultNew Style
Portal content
Caso 2: Coactivate
Coactivate: Plone
Coactivate: Wordpress
xdvtheme.inventions
<proxy path="/news" class="inner"> <dest href="http://localhost:55000/VirtualHostBase/
{wsgi.url_scheme}/{HTTP_HOST}/mysite/news/VirtualHostRoot" /> </proxy>
<rule class="inner" suppress-standard="1"> <theme href="/static/inner.html" />
Caso 3: collective XDV
xdvtheme.inventions
xdvtheme.inventions
<rules xmlns="http://openplans.org/deliverance"> <!-- title --> <replace content='/html/head/title' theme='/html/head/title' />
<!-- content area -->
<copy content='//*[@id="content"]' theme='//*[@id="leftcolumn"]' /> <copy content='//*[@id="portal-globalnav"]' theme='//*[@id="links"]' />
<!-- Portlets --> <copy content='//*[@id="portal-column-two"]' theme='//*[@id="rightcolumn"]' /> <drop content='//*/dl/dd/a/img' /> </rules>
xdvtheme.inventions
xdvtheme.inventions
http://plone.org/products/xdvtheme.inventions/
Windows
Presentación
Model / Datos
Deliverance
ContentMirror
Plone + salesforce ?
Plone + jython + java ?
Plone + ironpython ?
Plone + ironpython + mono ?
Muchas gracias
Roberto Allendementtes
http://robertoallende.com
http://twitter.com/robertoallende
http://menttes.com