Jahia in English > is Jahia yet another...

0 (0 Good)
0 (0 Bad)

is Jahia yet another monolith?

by  hwellmann »  2012/11/18 18:31

I'm beginning to get an idea how to integrate content or portlets from other applications into Jahia, but I don't see how to integrate Jahia into other applications.

A standalone server including its own Tomcat installation does not fit very well into any existing application landscape. At the very least, I need a WAR I can deploy onto a server of my choice.

In fact, what I'd really like to see is just a bunch of jahia* artifacts on Maven Central with transitive dependencies so I can integrate them into my own applications, just like any other framework like Spring or so.

The Community Edition has over 250 JARs in its WEB-INF/lib folder, most of which are either completely irrelevant to my use cases or, what's worse, in conflict with library versions I'm using myself.

Moreover, the first startup took over 10 minutes(!), with Jahia unpacking and importing repositories which I don't know I'll ever need.

What is the best practice to configure a no-nonsense just-what-you-need Jahia instance?

Best regards,

Harald

 

  • is Jahia yet another monolith?
    2012/11/18 18:31

    hwellmann <p> I&#39;m beginning to get an idea how to integrate content or portlets from other applications into Jahia, but I don&#39;t see how to integrate Jahia into other applications.</p> <p> A standalone server including its own Tomcat installation does not fit very well into any existing application landscape. At the very least, I need a WAR I can deploy onto a server of my choice.</p> <p> In fact, what I&#39;d really like to see is just a bunch of jahia* artifacts on Maven Central with transitive dependencies so I can integrate them into my own applications, just like any other framework like Spring or so.</p> <p> The Community Edition has over 250 JARs in its WEB-INF/lib folder, most of which are either completely irrelevant to my use cases or, what&#39;s worse, in conflict with library versions I&#39;m using myself.</p> <p> Moreover, the first startup took over 10 minutes(!), with Jahia unpacking and importing repositories which I don&#39;t know I&#39;ll ever need.</p> <p> What is the best practice to configure a no-nonsense just-what-you-need Jahia instance?</p> <p> Best regards,</p> <p> Harald</p> <p> &nbsp;</p>

  • Number of messages  22
    Registration date Nov 18, 2012
    0 (0 Good)
    0 (0 Bad)

    Re: is Jahia yet another monolith?

    by  gkuhmel »  2012/11/19 16:55

    Hi,

    I don't think you should consider Jahia as framework, as Spring (you quote it) for instance.

    Jahia is a xCM, a tool for handling evoluted contents, and a portal.

    You can reuse the Jahia content in your app (light or heavy integration : iframe, rss, or through REST API). And you can integrate other application into Jahia (light or heavy integration tool : iframe, rss, REST, or portlets).

    Having a bundled instance of tomcat+jahia is not mandatory of course. Just launch the installer and while installing choose "customized installation". Then you can choose to install a bundled jahia+ tomcat, or not. If not, the installer will generate a .war file, plus a zip file with shared lib, to deploy to your existing server application. It will generate a "How to install" file to help you to do that.

    Best regards,

  • Re: is Jahia yet another monolith?
    2012/11/19 16:55

    gkuhmel <p> Hi,</p> <p> I don&#39;t think you should consider Jahia as framework, as Spring (you quote it) for instance.</p> <p> Jahia is a xCM, a tool for handling evoluted contents, and a portal.</p> <p> You can reuse the Jahia content in your app (light or heavy integration : iframe, rss, or through REST API). And you can integrate other application into Jahia (light or heavy integration tool : iframe, rss, REST, or portlets).</p> <p> Having a bundled instance of tomcat+jahia is not mandatory of course. Just launch the installer and while installing choose &quot;customized installation&quot;. Then you can choose to install a bundled jahia+ tomcat, or not. If not, the installer will generate a .war file, plus a zip file with shared lib, to deploy to your existing server application. It will generate a &quot;How to install&quot; file to help you to do that.</p> <p> Best regards,</p>

  • Number of messages  24
    Registration date Nov 19, 2012
    0 (0 Good)
    0 (0 Bad)

    Re: Re: is Jahia yet another monolith?

    by  hwellmann »  2012/11/20 16:35

    Ok, I've discovered the custom installation in the meantime and will try to make it work with my preinstalled Tomcat.

    I'm still not happy with this option. Using an installer in combination with manual customizations is a nightmare for any automatic build and deployment process. Why not simply publish jahia.war and jahia-shared-libs.zip on Maven Central?

    Unpacking a WAR and manually editing a config file is also bad pratice, IMHO. Configuration data and binary artifacts should be strictly separate. If a property needs to be changed by the deployer, you shouldn't put it into a properties file that gets compiled into a WAR.

     

    Best regards,

    Harald

  • Re: Re: is Jahia yet another monolith?
    2012/11/20 16:35

    hwellmann <p> Ok, I&#39;ve discovered the custom installation in the meantime and will try to make it work with my preinstalled Tomcat.</p> <p> I&#39;m still not happy with this option. Using an installer in combination with manual customizations is a nightmare for any automatic build and deployment process. Why not simply publish jahia.war and jahia-shared-libs.zip on Maven Central?</p> <p> Unpacking a WAR and manually editing a config file is also bad pratice, IMHO. Configuration data and binary artifacts should be strictly separate. If a property needs to be changed by the deployer, you shouldn&#39;t put it into a properties file that gets compiled into a WAR.</p> <p> &nbsp;</p> <p> Best regards,</p> <p> Harald</p>

  • Number of messages  22
    Registration date Nov 20, 2012
    0 (0 Good)
    0 (0 Bad)

    Re: Re: Re: is Jahia yet another monolith?

    by  rvt »  2012/11/20 22:26

     

    Jahia (as far as I can stretch my knowledge) isn't designed to work in other applications (using 'true' embedding, not iframes which will work). Nothing will prevent you in trying to do so, all the source for the community edition is available. Much like that you cannot embed Lifray into TYPO3 or TYPO3 in drupal, they are not designed for this type of work and usecases, you CAN connect with them if you want!

    As the previous poster mentioned, Jahia is not a framework in the sense as Spring, or many other multi-perpose frameworks. Sure, Jahia does have it's Framework alike libraries, but there primary goal is not to let them put you into other applications, but again, nothing will prevent you of doing so, you have the source.

    In regards to the 10 minute startup time, although it sounds a bit long for even a first time startup, it's just first time initialisation, when I current re-start my development environment it does that in around 15-20 seconds depending how buzy my computer is.

    In regards of the 250 jar files, they are as far as I can see al open source framework's needed for Jahia, the great thing about open source is... well you know that, right?

    On your remark about tomcat, I run it underg glassfish with great success.

    Lastly, what IS a 'no nonsense just-what-you-need' jahia instance in your humble opinion? I can only speak for myself, but except for some modules, I do need a full working Jahia installation to function as a properl CMS! If you are just looking for a content repository, why not just use jackRabbit directly in your application?

    Lastly, and out of personal curiocity, what portion of Jahia ae you planning to integrate into your own application and what portion isn't needed?

  • Re: Re: Re: is Jahia yet another monolith?
    2012/11/20 22:28

    rvt <p> &nbsp;</p> <p> Jahia (as far as I can stretch my knowledge) isn&#39;t designed to work in other applications (using &#39;true&#39; embedding, not iframes which will work). Nothing will prevent you in trying to do so, all the source for the community edition is available. Much like that you cannot embed Lifray into TYPO3 or TYPO3 in drupal, they are not designed for this type of work and usecases, you CAN connect with them if you want!</p> <p> As the previous poster mentioned, Jahia is not a framework in the sense as Spring, or many other multi-perpose frameworks. Sure, Jahia does have it&#39;s Framework alike libraries, but there primary goal is not to let them put you into other applications, but again, nothing will prevent you of doing so, you have the source.</p> <p> In regards to the 10 minute startup time, although it sounds a bit long for even a first time startup, it&#39;s just first time initialisation, when I current re-start my development environment it does that in around 15-20 seconds depending how buzy my computer is.</p> <p> In regards of the 250 jar files, they are as far as I can see al open source framework&#39;s needed for Jahia, the great thing about open source is... well you know that, right?</p> <p> On your remark about tomcat, I run it underg glassfish with great success.</p> <p> Lastly, what IS a &#39;no nonsense just-what-you-need&#39; jahia instance in your humble opinion? I can only speak for myself, but except for some modules, I do need a full working Jahia installation to function as a properl CMS! If you are just looking for a content repository, why not just use jackRabbit directly in your application?</p> <p> Lastly, and out of personal curiocity, what portion of Jahia ae you planning to integrate into your own application and what portion isn&#39;t needed?</p>

  • Number of messages  185
    Registration date Nov 20, 2012
    0 (0 Good)
    0 (0 Bad)

    Re: Re: Re: is Jahia yet another monolith?

    by  gkuhmel »  2012/11/21 09:26

    Unpacking a WAR and manually editing a config file is also bad pratice, IMHO. Configuration data and binary artifacts should be strictly separate. If a property needs to be changed by the deployer, you shouldn't put it into a properties file that gets compiled into a WAR.

    The Jahia installer can be launch is silent mode with a .xml file describing the configuration to apply.

    Then it generates a .WAR file with this configuration defined.

    For generating such a xml file, launch the installer the usual way, and at the end of the install, choose the option the save the configuration into a file.

    After that, you will be able the regenerate your custom war as you desire.

    tip: on win vista / seven, launch the cmd.exe with administrator rights, then launch the installer through java -jar Entrepise_Jahia_xxx.jar.

     

  • Re: Re: Re: is Jahia yet another monolith?
    2012/11/21 09:26

    gkuhmel <blockquote> <p> Unpacking a WAR and manually editing a config file is also bad pratice, IMHO. Configuration data and binary artifacts should be strictly separate. If a property needs to be changed by the deployer, you shouldn&#39;t put it into a properties file that gets compiled into a WAR.</p> </blockquote> <p> The Jahia installer can be launch is silent mode with a .xml file describing the configuration to apply.</p> <p> Then it generates a .WAR file with this configuration defined.</p> <p> For generating such a xml file, launch the installer the usual way, and at the end of the install, choose the option the save the configuration into a file.</p> <p> After that, you will be able the regenerate your custom war as you desire.</p> <p> tip: on win vista / seven, launch the cmd.exe with administrator rights, then launch the installer through java -jar Entrepise_Jahia_xxx.jar.</p> <p> &nbsp;</p>

  • Number of messages  24
    Registration date Nov 21, 2012
    0 (0 Good)
    0 (0 Bad)

    Re: Re: Re: Re: is Jahia yet another monolith?

    by  hwellmann »  2012/11/26 13:24

    In regards of the 250 jar files, they are as far as I can see al open source framework's needed for Jahia, the great thing about open source is... well you know that, right?

    Yes, if Jahia weren't open source, I wouldn't even consider it. But true modules in my book always give you an opportunity to leave them out (and their transitive dependencies) if you don't need them. Not knowing any implementation details of Jahia, I cannot be sure that they don't eat resources even when they are not used.

    On your remark about tomcat, I run it underg glassfish with great success.

    I'm not even able to deploy Jahia on Tomcat 7 instead of 6.

    Lastly, what IS a 'no nonsense just-what-you-need' jahia instance in your humble opinion? I can only speak for myself, but except for some modules, I do need a full working Jahia installation to function as a properl CMS! If you are just looking for a content repository, why not just use jackRabbit directly in your application?

    Lastly, and out of personal curiocity, what portion of Jahia ae you planning to integrate into your own application and what portion isn't needed?

    Yes, I do require a CMS and not just a JCR. In fact I require more than a CMS, what I'm looking for is a way of integrating business logic with content management. Imagine an application with about 70 % business logic and 30 % content presentation. All the content part is hand-coded at the moment, and this I what I'd like to optimize by delegating that part to a CMS which is also able to integrate business components (as portlets or whatever, that's an implementation detail).

    A CMS certainly does not require things like Blogs, Calendars, Forums, Polls, Twitter and other gimmicks. We don't need any of these (now). What's not there cannot break. That's why I'd really like to start with a minimum configuration and only add modules when needed, but no sooner.

  • Re: Re: Re: Re: is Jahia yet another monolith?
    2012/11/26 13:24

    hwellmann <blockquote> <p> In regards of the 250 jar files, they are as far as I can see al open source framework&#39;s needed for Jahia, the great thing about open source is... well you know that, right?</p> </blockquote> <p> Yes, if Jahia weren&#39;t open source, I wouldn&#39;t even consider it. But true modules in my book always give you an opportunity to leave them out (and their transitive dependencies) if you don&#39;t need them. Not knowing any implementation details of Jahia, I cannot be sure that they don&#39;t eat resources even when they are not used.</p> <blockquote> <p> On your remark about tomcat, I run it underg glassfish with great success.</p> </blockquote> <p> I&#39;m not even able to deploy Jahia on Tomcat 7 instead of 6.</p> <blockquote> <p> Lastly, what IS a &#39;no nonsense just-what-you-need&#39; jahia instance in your humble opinion? I can only speak for myself, but except for some modules, I do need a full working Jahia installation to function as a properl CMS! If you are just looking for a content repository, why not just use jackRabbit directly in your application?</p> </blockquote> <blockquote> <p> Lastly, and out of personal curiocity, what portion of Jahia ae you planning to integrate into your own application and what portion isn&#39;t needed?</p> </blockquote> <p> Yes, I do require a CMS and not just a JCR. In fact I require more than a CMS, what I&#39;m looking for is a way of integrating business logic with content management. Imagine an application with about 70 % business logic and 30 % content presentation. All the content part is hand-coded at the moment, and this I what I&#39;d like to optimize by delegating that part to a CMS which is also able to integrate business components (as portlets or whatever, that&#39;s an implementation detail).</p> <p> A CMS certainly does not require things like Blogs, Calendars, Forums, Polls, Twitter and other gimmicks. We don&#39;t need any of these (now). What&#39;s not there cannot break. That&#39;s why I&#39;d really like to start with a minimum configuration and only add modules when needed, but no sooner.</p>

  • Number of messages  22
    Registration date Nov 26, 2012
    0 (0 Good)
    0 (0 Bad)

    Re: is Jahia yet another monolith?

    by  shuber »  2012/11/27 10:39

    Hello Harald, 

    If you're willing to work from the source code, it is actually possible to use the Maven Jahia Plugin to configure and deploy to Tomcat, making resetting or deployment (much) easier. This is how Jahia devs mostly work.

    You can find the source code here : http://www.jahia.com/cms/home/download/develop/source-code.html

    Inside jahia/trunk/README file you'll find basic instructions for getting started.

    Also you ask about Maven repositories we don't push to Maven Central but we have our own Maven repository here : https://devtools.jahia.com/nexus/content/groups/public

    Specifically the Jahia artifacts are here : https://devtools.jahia.com/nexus/content/groups/public/org/jahia/server/

    Configuration may either be embedded in the WAR or made available on the classpath, but this is documented in our enterprise edition documents (should be too hard to see how this is done in the Spring configuration in the web.xml :)).

    As for the number of dependencies, most modules are of course optional, and the JARs in the WEB-INF/lib directory are mostly dependencies of the core framework that Jahia embeds (Jackrabbit, Spring, jBPM, etc...). I would not recommend picking and choosing in there as it might break things quickly, but this is an open source project so I have no way of preventing you from doing so.

    We are always interested in feedback on how to improve Jahia's modularity and ease of integration, so feel free to hack away :) Contributions are of course always welcome.

    Best regards,

      Serge Huber.

    Serge Huber (shuber)

    Number of messages  271
    Registration date
    Contact
    Share
    Feedback

    Get in touch

    Whether you are a current user or if you are just evaluating Jahia, we are here to help.

    Contact us

    Share this page