In this article I’ll show you how to configure your development project with a Magnolia author and a public instance using a MySQL database over JNDI. This tutorial can easily be used to also with other databases like PostgreSQL by slightly adjusting the configuration shown below. Using JNDI has the advantage that this data source is known to the Tomcat container and can be automatically monitored by tools like JavaMelody.
In my last post I showed you how to setup a basic execution environment based on Maven and Cargo with a Tomcat 8.x application server; I recommend to read that post if you need an introduction. This article will extend the previous configuration in a way that you can run your web application with a self-signed certificate using the HTTPS protocol in a development / test environment - production of course needs a “real” certificate.
Cargo “is a thin wrapper that allows you to manipulate various types of application containers - Java EE and others - in a standard way.” You can also integrate Cargo with Maven using the Maven 2⁄3 plugin, which can be handy for Magnolia projects which are usually based on a Maven structure. Within Magnolia projects there is often an existing integration of Tomcat 6 or 7 in the Maven webapp configuration using the Tomcat Maven Plugin so that Magnolia can be started on the command line.
The RichText field in Magnolia is a custom field used in Magnolia apps that makes use of CKEditor, a popular open source web text editor. It is used for creating enriched content containing elements other than plain text like images, lists, tables or formatted source code snippets. Out of the box the Magnolia RichText field already provides some common options that are easy to adjust by setting properties in the JCR configuration or in a YAML configuration file.
The scenario for clustering a Magnolia workspace between several instances will be like shown in the picture below. Well will use one author and two public instances that all cluster/share the forum workspace. With that setup, comments made on one of the public instances don’t need to be synchronized to other public instances. Because we include the author instance in the cluster, comments are available for moderation though content editors.
Note: This post was originally posted on my former blog Serpensalbus.com on July 24th, 2008 - and it was by far the most popular one. Today I somehow accidentally deleted some source code files in IntelliJ IDEA. I don’t know how this exactly happened – I must have clicked the wrong menu item. Because I’m using Git for version control I could recover the files immediately, see below for details.