Jared Whitlock Open Source In The Enterprise Plone @ Novell

  • 2,985 views
Uploaded on

Novell has used various proprietary CMS solutions over time, including TeamSite and Vignette. None of these solutions met all of our needs, nor were they easy to modify. We began looking at different …

Novell has used various proprietary CMS solutions over time, including TeamSite and Vignette. None of these solutions met all of our needs, nor were they easy to modify. We began looking at different Open Source CMS options, and decided on Plone. This presentation will briefly discuss Novell's proprietary CMS history, why we chose Plone, what we are currently using and developing, and our plans for the future. It will also discuss our architecture for making Plone successful for enterprise websites.

More in: Business , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • I liked the archetecture :-)
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
2,985
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
94
Comments
1
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Open Source in the Enterprise Plone @ Novell
      • Jared Whitlock
      • Web Marketing Systems
  • 2. Why do you care?
  • 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
  • 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
  • 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
  • 6. Challenges
  • 7. Challenge 1: Security How do we not get hacked? Warning: Eye Chart Ahead!
  • 8. Plone Architecture Plone3 ZEO3 Plone2 ZEO2 Plone1 ZEO1 intranet/cms www.novell.com /* ZRS FileDeployment Read/Write – Inside Firewall Read Only – Outside Firewall Zope Client1 Zope Client1 Zope Client2 Apache File System ZODB Zope Client2 iChain iChain Zope Client1 Zope Client2 Apache File System ZODB File System ZODB L4 L4 L4 L4
  • 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
  • 10. Challenge 3: TeamSite Disaster
    • 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?
    Story time
  • 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
  • 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)
  • 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
  • 14. Plone Architecture Plone3 ZEO3 Plone2 ZEO2 Plone1 ZEO1 intranet/cms www.novell.com /* ZRS FileDeployment Read/Write – Inside Firewall Read Only – Outside Firewall Zope Client1 Zope Client1 Zope Client2 Apache File System ZODB Zope Client2 iChain iChain Zope Client1 Zope Client2 Apache File System ZODB File System ZODB L4 L4 L4 L4
  • 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
  • 16. Mistakes
  • 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?
    • How about replacing Plone's interface with a home-grown one?
    Answer: no Answer: DEFINITELY no
  • 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
  • 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)
  • 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
  • 21. Questions?
  • 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