Slideshow transcript
Slide 1: Open Source in the Enterprise Plone @ Novell Jared Whitlock Web Marketing Systems
Slide 2: Why do you care? © Novell Inc. All rights reserved 2
Slide 3: Presentation Outline CMS History at Novell • Other CMS systems we have used – How we got to Plone – Challenges • CMS needs and how we met them – Exciting adventures along the way – Mistakes • Future Direction • Sage Advice • © Novell Inc. All rights reserved 3
Slide 4: CMS History at Novell Interwoven TeamSite • “Whole page” only in our version – Didn't care about us – Thermonuclear detonation (more on this later) – Vignette VCM • Expensive – Required Vignette consultants for EVERYTHING – Flexible...sort of – Never-ending coding death spiral • © Novell Inc. All rights reserved 4
Slide 5: How we got to Plone Neither Vignette nor TeamSite had all the features we • needed Novell is investing heavily in open source • Plone has great features • Easily expandable – Active community (lots of third-party products) – Localization, localization, localization – Archetypes are awesome – Scalable??? We hoped so... – The price was right – © Novell Inc. All rights reserved 5
Slide 6: Challenges © Novell Inc. All rights reserved 6
Slide 7: Challenge 1: Security How do we not get hacked? Warning: Eye Chart Ahead! © Novell Inc. All rights reserved 7
Slide 8: Plone Architecture Read/Write – Inside Firewall ZEO1 Plone1 ZODB Client1 Client2 Zope Zope L4 Apache L4 iChain File System intranet/cms Read Only – Outside Firewall FileDeployment ZRS ZEO2 Plone2 ZODB Client1 Client2 Zope Zope File System iChain L4 Apache L4 ZEO3 Plone3 www.novell.com/* ZODB Client2 Client1 Zope Zope File System © Novell Inc. All rights reserved 8
Slide 9: Challenge 2: Localization LinguaPlone for languages • Core of eight languages – Up to 15 languages on some content – Built an XLIFF exporter that connects to translation vendor – GeoPlone for geography-specific content • Similar in operation to LinguaPlone – Simple example: Novell.com home page phone number – © Novell Inc. All rights reserved 9
Slide 10: Challenge 3: TeamSite Disaster Story time Can we do a mass-migration of static files to Plone? • How do we make common changes across files? • How do we push those files to the production servers? • © Novell Inc. All rights reserved 10
Slide 11: TeamSite Disaster (cont.) StaticFile content type • AttachmentField – FileSystemStorage with our own storage strategy – FileDeployment product • Queues files for deployment to targets set up in the tool – Transactional processing ensures that the files arrive when – they should Only deploys to Apache targets on “publish” – Search and Replace product • Uses either strings or regex – Returns a preview list with checkboxes to change only what – you want © Novell Inc. All rights reserved 11
Slide 12: Meanwhile...back to Dynamic Content Novell.com home page • Composite Page/Composite Pack – Generated static file for English, dynamic for non-English – Press Releases • Corporate Events Calendar • ListPages • Extends Smart Folder – Query Results based upon taxonomy field (patched to all – content types) © Novell Inc. All rights reserved 12
Slide 13: Challenge 4: Handling the Load Some stats for August • Home page: 537,377 page views – http://www.novell.com/linux: 1,357,157 page views – StaticFiles • Apache + iChain (Novell's reverse proxy cache) – Dynamic Pages • CacheFu + iChain – © Novell Inc. All rights reserved 13
Slide 14: Plone Architecture Read/Write – Inside Firewall ZEO1 Plone1 ZODB Client1 Client2 Zope Zope L4 Apache L4 iChain File System intranet/cms Read Only – Outside Firewall FileDeployment ZRS ZEO2 Plone2 ZODB Client1 Client2 Zope Zope File System iChain L4 Apache L4 ZEO3 Plone3 www.novell.com/* ZODB Client2 Client1 Zope Zope File System © Novell Inc. All rights reserved 14
Slide 15: Other Load “Gotchas” Web Crawlers • Broken-link/orphan-file checkers • Plone skin “exposed” URLs • Don't have an elegant solution for this – Currently using isAnon variable in templates to hide things – externally Sounds like Plone 3.x technologies will help with this – © Novell Inc. All rights reserved 15
Slide 16: Mistakes © Novell Inc. All rights reserved 16
Slide 17: Mistakes ZODB Insecurities: “we know and love SQL databases” • Fear of Python: “we know and love Java” • Wouldn't SQL queries and a search engine be better • than catalog queries? Answer: no How about replacing Plone's interface with a home- • grown one? Answer: DEFINITELY no © Novell Inc. All rights reserved 17
Slide 18: Future Direction Entire website in Plone • Many more dynamic pages – Content targeting based on locale and interest – Intranet on Plone • Currently under way – Moving to Plone 3.x • © Novell Inc. All rights reserved 18
Slide 19: Sage Advice For Beginners Read “The Definitive Guide to Plone” (outdated, but • still very good) Read Martin's Book Become familiar with every third-party product on • Plone.org Subscribe to the \"Latest releases\" RSS feed on • Plone.org Subscribe to the Plone users mailing list • Use Plone as it is intended • Use quick prototyping to “win people over” • Don't be a wuss (just learn Python) • © Novell Inc. All rights reserved 19
Slide 20: Sage Advice For Beginners (cont.) Hang out in the #plone chat room • Don't be afraid to add debug logging in Plone code • DeadlockDebugger and Clouseau are your friends • © Novell Inc. All rights reserved 20
Slide 21: Questions? © Novell Inc. All rights reserved 21
Slide 22: Our Products: Do You Want Them? BackgroundTasks - Run ZODB operations asynchronously • CharsetConversion - Character set conversion on file • upload/download FileDeployment - Deploy files to SFTP targets • GUITopic - Smart Folders whose views can be edited TTW by • end users GeoPlone - Like LinguaPlone, but for Geography • RDBSynch - Synchronize data from a RDB into Plone objects • SearchAndReplace - Regex capable multi-file search & replace • TxnFileOps - Transaction support for Filesystem and SFTP • © Novell Inc. All rights reserved 22



Add a comment on Slide 1
If you have a SlideShare account, login to comment; else you can comment as a guest- Favorites & Groups
Showing 1-50 of 1 (more)