Integrando Plone con cualquier cosa

Post on 05-Dec-2014

1.690 views 1 download

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 of Integrando Plone con cualquier cosa

Integrando Plone con

cuAlquier cosa

Roberto Allenderallende@menttes.com

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 Hamiltonmatth@netsight.co.uk

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

rallende@menttes.com

http://robertoallende.com

http://twitter.com/robertoallende

http://menttes.com