Page tree
Skip to end of metadata
Go to start of metadata

I created this page to start a discussion / try to get information around architectural roadmap questions related to Magnolia. I find these questions are not answered in the Trello roadmap, which is more concerned with user-visible features.

However, I think these are very important questions for those of us operating magnolia in production, and are worth some discussion. I'd love to get more information from Magnolia Inc. on these points if such information is already available.

JDK Roadmap

At the moment the certified stack lists Java 10 for Magnolia 5.7.

With JDK 11, Oracle is making Oracle JDK a paid product for server use. Will Magnolia be made stable with OpenJDK, and OpenJDK become part of the certified stack? If not we would be looking at either running an unsupported stack, or incurring extra license fees from Oracle for the supported JDK.

Vaadin Roadmap

Vaadin 10 is out in LTS, Vaadin 11 is released. Magnolia is still on Vaadin 8, using Vaadin 7 compatibility layer. Vaadin 10 is no longer GWT based, making for a major change in the UI framework architecture.

What is Magnolia's Roadmap for this? Will Magnolia continue to use Vaadin, or is there thoughts of switching to another framework? Will you make the switch to Vaadin 11, and when? This will be a major compatibilty breaking change, and it would be good to know when this is planned.

Jackrabbit Roadmap

While Jackrabbit is a solid product, and works well for Magnolia's base use case (local repository), there are issues:

  • search is not very performant (being addressed with local SOLR in Magnolia 5.7)
  • failsafe cluster configurations are not possible

In particular the poor support for clusters is a major issue when trying to implement web applications (which typically need to share user data between public nodes) based on Magnolia & JCR.

Jackrabbit itself has recognized this shortcoming, and is now working on Jackrabbit Oak, with MongoDB support for clustered backends and better support for horizontal scaling.

Is there a timeframe for adopting Jackrabbit Oak in Magnolia?


Replies and comments to this page would be hugely appreciated!


Regards from Vienna,


Richard Unger (Magnolia enthusiast since 2009)



  • No labels

2 Comments

  1. Hi Richard Unger,

    Thanks for reaching out to us on these important questions. There's *a lot* happening in the Magnolia Product Department at the moment, so on the one had, we're glad you ask. (smile) On another hand, we do acknowledge that our Trello roadmap mirrors little of our technical plans. We're working on improving this, hand in hand with our product management, and should eventually update our public roadmap as a result of this.

    Regarding JDK 11, Magnolia has long been supportive of the OSS community and is still very much attached to its values and freedom of choice.
    Most likely, we'll go with the flow on this. I expect we take a look at remaining openJDK-specific issues, and will do our best to keep the choice of JDK within users' hands.

    On the Vaadin side, those guys are hard to keep up with, hell yeah!
    First, we are preparing a well-advanced evolution of our UI & content-app framework, running on Vaadin 8+ data-model (which doesn't really change with 10/Flow). We also strive to preserve maximum compatibility with existing Magnolia 5 apps for the foreseeable future. Of course we do not advise to start new heavy customizations based on Vaadin 7 APIs at this stage.
    To mitigate dependency on Vaadin, we're also working on key improvements/simplification for content-app configuration and (drumroll) content type modeling.

    Generally, with Vaadin's fast development pace, and the promises of Vaadin 10+, it's safe to say we are not reconsidering. (wink)

    Then, I expect Vaadin 10 does not trigger a massive paradigm shift on the Magnolia config side. On the other hand, it might hit backwards compatibility slightly more—or maybe require a Vaadin Pro subscription. See https://vaadin.com/blog/migrating-to-vaadin-10.
    In fact, we're already rewriting a hefty part of our UI views to become less GWT-dependent and help us drop some/most of our old custom GWT widgets. With Vaadin 10, we do see lots of benefits to reap in mid-term, especially for light-development (e.g. custom form fields, column formatters). We still have a bit of time for this though: Vaadin 8 is supported until at least 2022.

    Moving on to Jackrabbit Oak: that one is an ever-recurring topic.
    For one, Magnolia depends on the JCR 2.0 spec, and for some features on Jackrabbit itself; while Oak is still a vastly incomplete JCR 2.0 implementation. Still, under the umbrella of Content Types, we plan to bring (not only) Oak-compliant implementations for "content-facing" parts of Magnolia first, meaning content apps, delivery endpoint, etc. For Magnolia system/server config, this will likely go differently.

    So much for now, thank you for bearing with us this far!
    Mika

    1. Thanks so much Mika, that answers our questions for now. Of course we will look forward to seeing concrete infos in the Roadmap, but for the moment this is great.