This document discusses various ways of integrating Plone with other applications and technologies. It provides examples of integrating Plone with .NET, Moodle, WordPress, and Collective XDV. Specific technologies and frameworks discussed include Deliverance for dynamically reskinning legacy applications, Jython for integrating Plone and Java, and IronPython for integrating Plone and .NET applications like Mono. The presentation argues that Plone can be integrated with a wide variety of technologies and applications.
14. Pintandole los
labios al puerco
Dynamically re-skinning a
legacy .NET portal with python
Matt Hamilton
matth@netsight.co.uk
15. 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
16. Existing Portal (1.0)
Five years old by November 2009
User registrations: 46,681
Course enrolments: 33,664
Resource Bank views: 247,911
18. 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
19. 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
22. Architecture Review
Portal 2.0 - Extensible, loosely coupled, good
separation of skin
23. How Do We Get There?
Remember: We Can't Touch the Existing System!
24. The Cunning Plan
Browser
Portal 1.0
Existing Skin 1.0
Portal Module
of
function
ality
e.g.
portfoli
o
25. Total Skin Graft!
New skin
Browser via xpath
and xslt
transform
web server
ation.
Skin 2.0 transformation
Portal 1.5
proxy
Web
server
needs to
handle
Skin 1.0 SSL.
Together
they give
us nice
URLs.
26. Deliverance
Several Different Projects
→
xdv
→
Deliverance 0.3
To learn more on specifics of Deliverance go to
http://deliverance.openplans.org
27. 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
28. Putting all together
Composite:main
pipeline:portal pipeline:plone pipeline:moodl
e
theme.content theme.content theme.content
xslt navmerger navmerger
linkrewrite plonecontent moodlecontent
htmlcleaner source.plone source.moodle
source.portal