Extending Magnolia CMS with ModeShape


Published on

ModeShape provides a unified JCR view of the information you already have in your environment: files systems, databases, other repositories, services, applications, etc. Used as a replacement for JackRabbit it allows existing systems to continue "owning" their information while ensuring Magnolia can use the standard JCR API to search, navigate, version, and listen for changes in the content. This talk will present the use case, benefits and experiences made by replacing JackRabbit with ModeShape and provides an outlook of things to come.

  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Extending Magnolia CMS with ModeShape

  1. 1. Extending Magnolia CMS with ModeShape Mark Newton JBoss Community Lead 16th Sept 2010
  2. 2. Agenda • Introduction to the JBoss Community • How we use Magnolia • How ModeShape can help • New possibilities •Q&A
  3. 3. What is the JBoss Community? • A group of users and developers that contribute to Java Middleware projects led by Red Hat. • Projects are integrated together to form platforms or used to help with development. • Projects are supported by the community • Platforms are supported by Red Hat
  4. 4. Project Sites jboss.org mobicents.org seamframework.org jgroups.org
  5. 5. How do we compare? • springsource.org - (13) Help Products • jboss.org - (100) • apache.org - (129) Help Foundation • eclipse.org - (148) • codehaus.org - (305) • code.google.com - (~6000) Help Ecosystem • java.net / kenai.com - (3626 / 12705) • sourceforge.net - (240,000)
  6. 6. jboss.org Infrastructure • Development tools (JIRA, FishEye, Subversion) • Integrated wikis, forums, blogs (SBS) • Mailing lists (Mailman) • CMS (Magnolia) • Maven Repository Manager (Nexus) • Contributor License Agreements (Kryten) • Blog Aggregation (Borg) • Proxy Server (Apache)
  7. 7. How we use Magnolia • Each project has a user account at http://jboss.org/author • Each project team is responsible for their own project pages. • We have a library of paragraph types and styles for them to use. • We use the DMS module to store images for the community and individual projects. Some projects also store XSD and DTDs.
  8. 8. Accessing Content • Some content lives outside of Magnolia that we want to use inside. • Some content lives inside of Magnolia that we want to use outside.
  9. 9. JackRabbit Constraints • JackRabbit is designed to persist content to an internal datastore. Persistence Manager Memory XML Object Database Grid • Limited access to content in datastore as format is usually optimized for performance (binary).
  10. 10. How ModeShape can help • ModeShape is a JCR implementation that allows you to access content that already exists in your environment. • It can also unify the content from multiple external locations to provide a single, federated repository.
  11. 11. Current Status Task Status Integrate Magnolia and ModeShape so we can replace JackRabbit. Done Develop a new download paragraph that can browse binaries on the filesystem using the JCR Browser in In progress Magnolia. Reconfigure the DMS to store content onto the filesystem where it can be accessed by Apache. In progress
  12. 12. Benefits to projects • Magnolia resolved some issues related to using a different JCR implementation. More Flexibility! • ModeShape implemented an optional JCR 1.0 feature (JCR- SQL). More Functionality!
  13. 13. New Possibilities • ModeShape connectors can be used to access content from all the applications at jboss.org and place it into a single federated repository. • Paragraphs can access all the content in the federated repository consistently using the JCR API. • Sequencers can be used to store structured information about users with commit rights to Subversion repositories. • Connectors can be used to detect external changes in content and trigger notifications.
  14. 14. Future Ideas • Add content from the operations team such as monitoring statistics from Nagios so we can display them on the site. • Use the federated repository to perform an audit of user permissions to check they’re consistent across applications.
  15. 15. Q &A