There's a mailing list about MeshCMS, but it's full of SPAM at this time, so I prefer to use this very page for discussion. I'm going to close the mailing list soon, so if you have questions, suggestions or anything else to say, leave a comment below. I will be notified via email.
Feb 7, 2009 4:17 PM
I've just discovered the Site Synchronisation option in MeshCMS 3.4.1. This is GREAT!
I've been using MeshCMS for years and this CMS has been able to remain simple to use and administer, with the regular addition of new features but without becoming overly complex. Continue the good job Luciano!
Apr 6, 2009 12:02 PM
We are about to use meshcms integrated with our new system (www.forsi.dk), but we have an issue with deployment. In our organisation we have some IT employees that works with themes and modules, and some administrator/user employees that updates the pages. Now when the IT guys deploys a war, they will overwrite the administrators pages! To avoid this we would very much like to be able to put the webpages somewhere else on the disk rather than in the sites directory. This of course means that a link to this place should be configurable somehow. I have looked for a place to configure this, but I have not found anything.
Is this possible? will it be possible in the future? Would you be interested in a patch to meshcms with this option?
Nice work, by the way! I really like the simple and clean design.
Apr 6, 2009 12:53 PM
see www.cromoteca.com/en/meshcms/userguide/index.html#upgrade about the upgrade procedure.
That's where MeshCMS is different from other Java web applications: it modifies its contents on the go, so one can't safely deploy another .war on top of it. I'm aware of that and I want to solve that issue. I never moved pages out of the web application to be able to use the native page loading of Tomcat/Jetty. This allows to use JSP pages, for example. In order to get an external docroot to work, I should bypass Tomcat and load all files by myself with a servlet. That's not impossible, but it's a lot of work regarding mimetypes, charsets, checks and so on. All work done greatly by Tomcat.
I thought of another solution instead: i want to make MeshCMS self-contained in a JAR (or more JARs, I don't know yet), so when you want to upgrade, you just replace the JARs and restart the web application. You still don't have the choice of where to put pages, but at least you can avoid the hassle of a manual upgrade. Those JARs will contain the core, the admin area, the default modules and even TinyMCE/FCKeditor, so everything will be cleaner.
Additionally, I've been suggested to implement a backup feature, i.e. a task that can generate a ZIP file containing all content, so one can restore it after the upgrade or move it to another server. I'll add it to version 4.
Apr 7, 2009 11:30 AM
Thanks for the prompt reply.
Unfortunately the JAR solution does not help us much since we need to separate the meshsms directory from the rest of the application. As for the backup feature it is definitely a possibility, and we may use a upgrade procedure which does that.
Apr 15, 2009 1:47 PM
We have decided to manage our problems by replacing
various directories by links. Seems to work allright after
we set allowLinking="true" in context.xml :-)
Anyway, we would like to get rid of the admin menu on our
prod pages. The only way to do this seems to be to disable
cms in the site manager page. Unfortunately this removes the site from the drop down box in the site synchronization, so
we cannot update our public sites.
Is there something we have misunderstood?
Apr 16, 2009 3:35 PM
I started working on sites located in separated directories. I don't know of any way to execute JSPs outside of the web app dir, but those sites will still be able to use standard CMS features.
Apr 28, 2009 5:16 PM
Goal: Run meshCMS as the ROOT of my site
Both meshcms and samples work fine in their original contexts ( 'meshcms' and 'samples').
Problem: none of the .jsp programs are invoking. Only the index.html file is displayed with no formatting. No links work.
What I've tried:
1) replacing the content of webapps/ROOT with the contents of meshcms and adjusting the context.
2) placing a ROOT.xml file in Catalina/site pointing to meshcms.
3) rebuilding the .war file as ROOT.war editing references to samples to point to /ROOT
I've searched the discussion forums and documentation. I'm sure it's something very elementary that I'm missing or have set wrong (everyone has probably run into this, so I apologize if I'm in the wrong forum).
Can someone point me to some documentation or a discussion thread that addresses this?
Thanks for a great CMS that's fast and light,
Apr 29, 2009 7:20 AM
See www.cromoteca.com/en/meshcms/userguide/#install_basic. If you configure a host like in the example, you should unpack meshcms.war in /usr/local/tomcat/webapps/ROOT. No other configuration should be necessary.
Jun 15, 2009 7:32 AM
I just faced some problem on Mac OS X with MeshCMS and SimpleCaptca (I used the latest version of SimpleCaptcha) It's quite annoying, so I investigated and found Kaptcha on google code which derives form SimpleCaptcha but works correctly on Java 1.5 and has better documentation and customization options through the web.xml you may consider to use it, I guess it worth that 15-30 minutes to replace SimpleCaptcha!
btw.: Have you tried to implement searching and indexing with Lucene? Currently I have a task at my workplace to make a knowledgebase application for my collegues for my bonus. I decided to build it on MeshCMS 3.4.1 and it will include a LUcene indexer servlet and search module and file upload module. When it's done I could contribute the indexing servlet and the modules.
Jun 15, 2009 7:52 AM
MeshCMS 3.x is still bound to Java 1.4, while MeshCMS 4 will require Java 1.5. The current captcha is ugly, but I need a compatible alternative to replace it.
It would be great to have a module to allow internal search. I tried to push it into the core for MeshCMS 4, but then I decided that it is too much overhead for those that do not need it.
Jun 16, 2009 12:25 PM
Kaptcha is your friend :-)
"JDK 1.4 is supported by adding Retroweaver support to the build system and a jdk1.4 jar is included with the distribution."
Jun 29, 2009 9:28 AM
I think a much better approach than this page, would be to register a google group for meshcms (if it's moderated, it has a very low spam level compared to other solutions).
If you wish, I could setup one for you.
Jun 29, 2009 10:22 AM
Because it was so simple, I just registered a google group for it:
If you register there, I'll add you as an admin).
I also started to register the project on google code (since it's quite simple) for meshcms, and google should have sent you a request of approval (on you sourceforge specified mail account). If you confirm, the project setup one google will be ready to use.
Jun 29, 2009 3:12 PM
> I've not received that email yet,
Google sent it automatically to your SF user (lv...@sf.net):
It looked up the admin mail configured for the project on sourceforge (this is how google code does if it finds a project with the same name).
Also the google group is not about hype, but ease of use (the comment system on your pages doesn't seem to work correctly - many messages seem to be "eaten" :( ).
Jul 1, 2009 1:33 PM
Well, that's strange. It looks like Google sent a mail to an old mail address (lvplanet at at users.sourceforge.net), while now the admin mail seems to be "cromoteca at users.sourceforge.net" :(.
In this case of "wrong" mail addresses, google requires the owner of the project on SF to write to email@example.com (so I can't do it :( ).
Jul 2, 2009 10:23 AM
Adrian, as I wrote above, I'm yet undecided about where to reopen a discussion about MeshCMS. SourceForge is improving and they also offer phpBB now. So please allow me some days to make a choice.
Jul 28, 2009 11:28 AM
> So please allow me some days to make a choice.
Any news on this?
As I mentioned earlier, the discussion group (powered by Google Groups is up:
(if you don't like it, I can delete it right away :) ).
The code hosting on Google Code only needs your approval.
Jul 30, 2009 7:25 AM
I've requested a phpBB forum at SourceForge, it is up and running, but I still need to configure it. A Google account is required to use the group you created, and this puzzles me: I prefer not to have a Google account since it has lots of privacy implications.
Jul 30, 2009 7:45 AM
I'd take a chance to remind that MeshCMS 3.x is in a sort of maintenance mode while developing version 4. I don't plan to add any new feature to the current version, just fix bugs or make small improvements.
Jul 30, 2009 8:21 AM
>I've requested a phpBB forum at SourceForge, it is up and
> running, but I still need to configure it.
I can see it, but I can't post there, since there's no category/forum added.
>A Google account is required to use the group you created, and
> this puzzles me: I prefer not to have a Google account since it
> has lots of privacy implications.
Yes, indeed, but once created such an account, you have access to many many free services. Even if not used for private stuff, IMHO for open source it's very good, and the SPAM filter is the best.
> I'd take a chance to remind that MeshCMS 3.x is in a sort of
> maintenance mode while developing version 4.
Yes, I know (I talked to another MeshCMS committer), but please don't make the FileManger to be GWT based :(.
Jul 30, 2009 8:50 AM
> Why not? I'm interested to hear your opinion.
I think the forum, or chat or something "threaded" would be an easier place to discuss development related things :). (also this CAPTCHA is a pain :) ).
Basically GWT is too big and bloated for a light and reusable component like FileManager (that most people would need in many applications). Also GWT does not integrate well with other frameworks (that people might use in their applications).
I wanted to send you a private mail too (with some other information aswell), but I couldn't find your email :(.
Aug 28, 2009 7:19 AM
Today I copied my whole tomcat from linux to window$ and mesh-cms lost all my german umlauts. Not a big thing but worth to mention in some way.
The solution can be found at http://hiden.org/sysadmin/recursively-converting-files-from-utf-8-to-iso-8859-1/
Aug 28, 2009 6:52 PM
This case can be handled with a single tomcat startup parameter:
This worked for me when I switched from Windows to OS X and the tomcat runs on Mac Roman encoding on OS X
Oct 17, 2009 3:44 PM
I've set up meshcms with a sample site - my index.html includes a few image files that are png's, and these files are located in the same directory. But when I display the page, meshcms has RE-SIZED the image files as .jpg - messing up the png's - displayed files are under meshcms/generated .... org.meshcms.core.ResizedThumbnail/<resized file name>
How can I get meshcms to stop re-sizing my png image
files? Any help would be greatly appreciated ...
Oct 20, 2009 7:18 PM
Thanks Luciano! This worked fine - that option was a little hard to see.
After spending about 2 weeks with meshcms I finally got comfortable with it, and am putting together an ezine site. I think you did a very good job of creating a minimal CMS system that - although very simple - is extensible and powerful. We had tried OpenCMS but, obviously, it was going to take a lot of effort to get it to work - we got meshcms up and running pretty quickly.
Oct 20, 2009 10:49 PM
(Sorry if this arrives twice, was not clear if it was sent
the first time)
I am finding it difficult to configure virtual sites.
I thought that I pretty well understood the notions
of relative path, absolute path, context name, servlet name,
and aliasing, etc., but am having problems.
My sites are a little different from usual in that we do
not put the site at "webapps/ROOT" (i.e., at http://www.domainname.com)
but instead, like meshcms, we place a war file at
"webapps/contextname.war" (i.e., at http://www.domainname.com/contextname).
What I would like to do is configure (or emplace?) the meshcms
page tree so that it appears to be inside our web app tree, but
without the necessity of the "meshcms" component appearing
on urls. (OK, of course, for content editing).
Suppose the web app with context is:
and a typical servlet page would be:
or the page at:
Then, I would like the meshcms content directory inside the meshcms tree
(say, "someMeshcmsSite") to be aliased to
Is it possible to configure things so they work like this ?
I will also note that it is possible to set up a context.xml,
so that a directory external to the webapps tree can be aliased:
For example, if getimg#images.xml is:
then, a request to:
will find the image at:
Thus, I was hoping I could alias something like geting#someMeshcmsSite.xml
which would cause a request such as
to refer to the welcome page at
This doesn't, however, seem to work for referring to content that
resides inside the webapps tree, but only if the content is outside the
So, my goal, in short, is to alias the meshcms content dir but make
it appear to be entirely a tree contained in my getimg context.
Is it possible to do this ?
Is there more info or examples of aliasing besides the
page at samples/virtualsites ?
Thanks for considering this (somewhat wordy) question.
Oct 21, 2009 11:18 AM
the Tomcat documentation says that "Multi-level contexts may be defined by using #, eg use a WAR named foo#bar.war for a context path of /foo/bar". MeshCMS requires unpacked WARs, so you can also unpack the WAR and create a context.xml with a context path like /getimg/someMeshcmsSite.
If you want to have more than one website, like /getimg/meshcmssite1 and /getimg/meshcmssite2, you cannot use virtual sites: you must install MeshCMS once for each website, and each installation must have its own path. MeshCMS, like any other Java web application, can't change its context path, so virtual sites are differentiated by host names.
Alternatively, you could use a single installation on /getimg, then create, in the same website, some folders like meshcmssite1 and meshcmssite2, then apply a theme to those dirs. That way, every dir is like a separate website. Of course, the control panel is shared between all sites, but you can still create users with write permissions limited to a single dir, so they can edit that dir only (but they are able to see other dirs as read-only).
Oct 22, 2009 6:46 AM
Yes, I set up a multi-level context and its xml,
in this case,
and it works fine. I can make a request to,
or, a meshcms site, for example:
Also, I (nominally) tested meshcms login as admin, and
wysiwyg page editing, and they worked fine.
The above tests were, of course, in my development
environment. The IvaviG7 is in eclipse/workspace/IvaviG7
and the meshcms is in its usual separate tree, with the
context xml IvaviG7#meshcms.xml defining the path and
Thanks much for the help. This is great, because it
will allow me to have one and only one session obj for
the individual user's login, and which can also be
an https protocol session. Since this setup works
with my development environment, it is virtually certain
to work the same way as a full deploy, and it additionally
allows for the two combined contexts IvaviG7 and
meshcms to retain their individual trees but behave
as a single context. Nice!
Nov 26, 2009 1:14 PM
I am currently evaluating meshcms and so far it seems to do much of what I need (none of the bloat that the other cms's seem to think is ok!). The simplicity and power of meshcms are fantastic. I have spent weeks evaluating other solutions which has been a complete waste of time.
However, I have a few questions!
My environment is two apache2 servers with mod_jk load balancing to two tomcat 6. I had intended serving static content from apache and jsp from Tomcat but that seems to be very difficult to deliver when a CMS is involved. So I think that I will serve all content from tomcat and use only meshcms to control everything. ( I understand that I will have to manually sync the tomcat files between servers but that should be one manual task that I can handle).
I expect to have more than one site hosted in this env, but no more than 10.
In addition one of the sites may well have multiple applications deployed there as parts of the site require http basic, other parts form based auth and other sections no auth at all!
(In addition I also serve XML!)
So lots of stuff going on, multiple sites, multiple auth mechanisms (some ssl and some not, but I expect apache will handle that!)
So if that is the background, what is the best way to deploy meshcms in tomcat ?
For security reasons I would not like to have meshcms in the URL of any content (including theme images) but am happy to manage each site using a seperate mesh instance (small price to pay!)
(Potential big fan of meshcms!!!!!)
Nov 28, 2009 8:34 AM
Im writing this post with Opera 10 and it works perfectly. Maybe you failed guessing the captcha. Im aware that this captcha sucks: MeshCMS 4 will use reCAPTCHA and will allow for a replacement with other ones (using a custom module).
The meshcms name can get in the URL in two ways. First of all, if you deploy Mesh on a path other than the root, its up to you to choose the context name, e.g. www.mysite.com/mypathname. Then there is the meshcms directory that contains themes, modules and so on. You can safely rename that directory, but you must rename it on each website (each one can have a different name). So you can customize your URLs quite a lot.
Regarding the setup, I dont have any particular suggestion. Yes, you must sync the tomcat directories with some sync tool like Unison (two-way sync), or rely on the load balancing tool you are using. Let me know how it goes.
Nov 28, 2009 11:55 AM
I just wrote an article to talk about the compatibility between Mesh 3 and 4. I think that it is worth to read it before starting a new Mesh 3 installation, especially if it is expected to host many sites and pages.
The article address is www.cromoteca.com/en/blog/meshcms4compatibility.
Dec 1, 2009 5:49 PM
Thanks for that information! I am currently porting the app to new infrastructure and when its up and running smoothly I will see if I can 'fold in' mesh to manage templates!
Dec 22, 2009 9:25 PM
Hi Luciano, when will MeshCMS 4 be available? I'm thinking of creating a simple site and now that 4.0 is coming, I'm thinking maybe I should just wait for the new version. Thanks.
Dec 31, 2009 5:40 PM
I'm sorry but I'm really enjoying this chance to work without a deadline.
I wish a happy new year to everyone reading this. 2010 will surely be the year of Mesh 4, but I don't know exactly when I'll release it.
Mar 9, 2010 3:12 PM
MeshCMS is simply great! I use it for the home page of our association. Easy to install, easy to use - and the static export feature is awesome, no need to rent an expensive java server.
May 9, 2010 4:23 PM
After having set in production wordpress for months in multi-sites and multi-languages configuration with disastrous performance, I ended up imagining a solution without database and fucking PHP.
I was thinking a solution like meshCMS, when I came across your solution by reference on java-source.net.
In brief, I dreamt of it, you did it. I'll let you know any issue about my next deployment, but I'm confident with your solution.
Jul 2, 2010 1:09 PM
Sorry if this should be obvious to me, but the User Guide doesn't make it clear...
Is it possible to have more than one content area on a single page? The site I'm working on has some pages with two areas of text that I want to allow the users to edit, but these are in a nested <div> structure for the page layout and I don't want to have them accidentally messing this up!
Jul 5, 2010 3:02 PM
Hi, you cannot put two content areas in MeshCMS 3 (you can in MeshCMS 4, but it's not production ready).
If you need to put two content areas in a few pages, you can use the Include module to include a separate HTML file, but if you must do that in many pages, this approach is hard to do and maintain.
Apr 6, 2012 6:01 AM
how can meshcms support a big website like thousand of html files. which part of it can be improved for performance tunning? it looks it request a lot of memory if it serve a big website
Apr 7, 2012 10:27 PM
I think that MeshCMS is not the ideal solution for such a big website: you will need much RAM since, due to the lack of a database, MeshCMS needs to store some information for each page in memory. Furthermore, when you have so many folders and files around, managing them could be hard.