Philips Research - one of the worlds largest privately funded research centers - has successfully migrated their intranet to Plone. This project integrated an impressive set of features. * Single sign-on * Advanced cache setup to scale to 2000 daily logged in users. * Gradual Migration of over 50 static websites * Location Awareness * Atom feed based integration * Configurable homepages This case study demonstrates the integrated features and explain the caveats in scaling Plone for enterprise environments.
2. Introduction
• Jean-Paul Ladage
• Chairman of Stichting Zope Plone
• Plone Foundation Member
• ZEA Partners Member
• Sales and Technical Director Zest Software
3.
4. Multiple locations
Single Sign-on Quote of the day
Research Groups
Content Publishing Migration support
Google Appliance
Atom feeds
Feedfeeder World wide intranet
Link Micro formats
Monitoring Link of the day
AZ links
Navigation Page
Phonebook
Scalability
5. Philips Research
• Philips Research as part of Koninklijke Philips N.V. has
expanded the scale and scope of its activities to become
one of the world's major private research organizations
• Creating technologies that will lead to products for
improving people's lives
• From electrical engineering and physics to chemistry,
mathematics, mechanics, information technology and
software
6. Challenges
• How do you keep employees informed instead of
overwhelmed with information?
• What are acceptable levels of defects?
• Will performance be an issue?
• How do you manage the project?
7.
8. Scalability
• LDAP authentication against an Active Directory
containing over almost 200.000 users
• Single Sign-on using Apache mod_ntlm and apachepas
• Over 1300 logged in users daily
• Fine tuned CacheFu using Role based cache keys
9. LDAP
• ldapconfig simplifies the configuration of
LDAPUserFolder and LDAPMultiplugins for PlonePAS
• ldapconfig comes with a ldapconfig.py.example which is
well documented
• PloneLDAP provides the necessary patches to
LDAPMultiplugins to get user and group management
features.
• copy it to $INSTANCE_HOME/etc/ldapconfig.py
• plone.org/products/ldapconfig
10. Apachepas
• Apache authentication modules like mod_ntlm inject an
special header upon successful authentication.
• A PAS plugin that reads the authentication header from
the request and assigns a role based on group
membership
• plone.org/products/apachepas
11. Home Page
• Composite Pack to
manage page layout
• Custom Viewlets
• Generic Setup Profile
for configuration
• For 3.0 support take a
look at Collage
• Location Selector
12.
13. Multiple Locations
• Aachen
• Bangalore
• Briarcliff
• Because Philips Research is based in 7
Eindhoven
Products
locations world wide and the large
volumes of information being published, we
• Hamburg designed a concept called Location
Awareness. This allows site managers to
• provide one or more target locations
• pluggablecatalog
Redhill for each piece of content. The end user can
select his preferred location and
•
• locationmonkey
therefor hide content that is not relevant
Shanghai for his location.
14.
15. Pluggable Catalog
• plone.org/products/pluggablecatalog (not released yet)
• Provides IQueryDefaults
• Define a function that provides the logic
• Make the catalog smarter
• interface.directlyProvides(locationDefaults,IQueryDefaults)
• saves us customizing a lot of catalog queries in templates
and browser views
16. Performance
• Caching 24 versions
of the home page
• Dealing with large
numbers of logged in
users
• Drop personalization
• Cache based on
Roles + Location
17. Feedfeeder
• Import of Atom feeds used
for news items
• Fully searchable in Plone
• Location Aware like all other
content
18.
19.
20. Colloquia
• An adapter for feedfeeder items
• A Microformat is put at the top of the
<content> tag of each Atom entry.
<div>
• <dl>
It reads this structure and uses the <dt>date<dt><dd>2006-11-23</dd>
values for saving the feed item in Plone <dt>permission<dt><dd>philips</dd>
</dl>
• ‘date’ will fill the date at which the </div>
Colloquium is planned
• ‘permission’ allows us to
differentiate between workflow
states.
21. Message of the day
• Message of the day
• Link of the day
• Quote of the day
• Rotation script (daily cron job)
• Why? Because it’s Fun!
22. Google Search
• Research Google Appliance integration
• Authenticated searches
23. AZ Links
• Search index of links to all
intranet websites
• Search by keyword or A-Z
index
• Easy editing for managers
24. Migration support
The Philips Research intranet
consisted of over 60 individually
managed
FrontPage based websites. By providing
a gradual migration path each site can
start migrating content in Plone, while
the main navigation points to the
•
existing website. After the content is
40+ Research groups migrated, changing the main
navigation
to Plone is managed with a single
• 12+ Service departments checkbox for each subsite.
• MS FrontPage website using DOM
manipulating javascript as the main template
25. Migration support (2)
• Main navigation links to
external websites for visitors
• Home button of each external
website links back to Plone
• Main navigation links to a
migratable folder inside Plone
for managers
• Migrate folder by clicking a
checkbox
27. Project management
• Extreme Management to support us
• Good at managing complexity by breaking down stories
into tasks.
• Iteration meetings allow the customer to provide
feedback early and change course at regular intervals
• Standup meetings help the team to communicate daily
progress and ask for help
• Reporting is pretty much non-existing
• Join the Extreme Management sprint on saturday
28. Conclusions
• Philips Research acknowledges that Plone is a valuable
solution and will continue to invest in their intranet.
• Embrace Open Source for their Services
• Release products to the community
29. Questions?
Thank you for your attention
j.ladage@zestsoftware.nl
http://zestsoftware.nl