Open Source CMS Solutions Based on Java? 153
namityadav asks: "I've been looking for an open source Content Management System (CMS) which is widely used / supported, and has features like web-logging, online communities, RSS feeds, forums, polls, calendars, website searching, and so on. The most obvious choices are Drupal (I've played with it in the past) and Joomla, however both of them are PHP based. Since I am a Java developer, I wanted to find something based on Java. To my surprise, I could find some very weak Java based alternatives to Drupal, like MMBase, OpenCMS and Magnolia. Why is it that there are so many PHP based open source CMS which are hugely successful (Drupal is used by The Onion, Spread Firefox, and more), but there is not even one comparable solution based on Java?"
Why not... (Score:1)
Re: (Score:3, Insightful)
Re:Why not... (Score:4, Informative)
http://www.opensourcecms.com/ [opensourcecms.com]
They have online demos of 40+ open source cms's. A nice way to try a few out before installing a cms yourself.
Re: (Score:2)
The Java Trap (Score:3, Insightful)
Re:The Java Trap (Score:4, Insightful)
Java servlets have been designed for the enterprise, and it shows....
Re: (Score:2)
Installing JBoss involves unzipping a file, and the URL mapping is taken care of in your web.xml file. All you really need to do is upload a war (or ear) file into a directory, and you've just deployed a web application.
Yes, there is a touch of configuration to get a web server, like apache, to connect to JBoss, but its about as difficult as getting something like mod_perl running...
Re: (Score:2)
learn PHP (Score:1)
Re: (Score:2)
Re: (Score:2)
PHP, Perl, Java - who cares what it's made of if it gets the job done past a minimum standard.
Re:learn PHP (Score:4, Insightful)
I write PHP code for a living, and that's exactly my problem with PHP: It doesn't work. At least, not very well.
Re: (Score:2)
Far be it for me (a C++ dev) to praise a scripting language, but a lot of PHP is out there, and a lot of it achieves its tasks well. As for the rest, perhaps you're asking too much of what of it, trying to make it do something its not really designed for, or perhaps the comment above is more insightful than funny.
Re: (Score:2)
Re: (Score:2)
I agree with everything except your mysql_real_escape example, and that's only because mysql_real_escape comes from the MySQL client library. Of course, other languages actually bother to abstract their database libraries in some sort of standard database API, instead of just providing thin wrappers around the individual C libraries.
"It's too much work to get things right" is exactly right. Need evidence? Look at the PHP.net "User Contributed Notes", and you'll find dozens of errors.
Re: (Score:2)
Re: (Score:2)
On the other hand a java solution might be better than a ruby/python.... ones even if most scripting languages (except php) are more elegant because java frameworks addressed some issues that others still lack.
Poor Java Support with Webhosts (Score:4, Insightful)
Re: (Score:3, Interesting)
Re: (Score:2, Insightful)
Re:Poor Java Support with Webhosts (Score:5, Insightful)
Trying to do the same thing with JSP? The overhead for configuration and security layers is just awful. Not to mention the documentation is atrocious. To find a step by step guide for getting tomcat set up as you need is painful at best and impossible at worst. Deploying webapps is a huge pain and the amount of xml you have to right to configure your webapp is daunting.
That is why php is chosen. Someone could start small site, displaying "Hello World!" from a database for instance, and then the CMS can grow and mature. Java on the other hand takes a huge commitment to just get the program to displaying "Hello World"! from a database.
Re: (Score:3, Informative)
setting up tomcat and apache is dead simple.
$> sudo yum install tomcat5 tomcat5-webapps tomcat5-admin-webapps httpd
add proxy mapping for httpd -> tomcat on the ajp protocol in httpd.conf:
[ ProxyPass / ajp://localhost:8009 with httpd 2.2,
mod_jk for earlier httpd ]
add a html file to $TOMCAT_HOME/webapps/ROOT/, name it blah.jsp
browse to your http://webserver/blah.jsp [webserver]
the
Re: (Score:3, Informative)
1) Go to http://tomcat.apache.org/download-55.cgi [apache.org] and select your distribution. I assume you are running Windows, so download binary installer.
2) Run installer and click 'Next' until finished.
3) There's no step 3).
You can get Tomcat up and running in minutes and writing JSP pages is very similar to PHP.
Re: (Score:2)
I'm not saying PHP is better than JSP for the purpose of CMS. I was answer why there are almost exclusively CMSs written in PHP. Ease of setup and connection to a backend is the reason.
And I'm talking about connecting to an external database (The entire point of writing the CMS in the first place)
Taking your example would be a great way of getting
Re: (Score:2)
No, that's pretty easy too.
If you're using PreparedStatements in Java, or one of the many PHP database abstractions (PDO, ADODB, PEAR::DB) instead of interpolating variables directly into query strings (tsk, tsk) then it's about the same. Likewise if you just use a higher level ORM library.
As a person who makes a living writing PHP, getting sta
Re: (Score:2)
The step by step guide for setting up tomcat IS ON THE FRONT FREAKING PAGE.
I swear to god if I see another CMS that has "grown and matured" from a hello world app I'll shit in my hat and wear it. I am sick of unplanned, barely good enough, ad hoc crap.
I don't know who I'm more pissed at regarding this post. You for sp
Re: (Score:2)
Every one that I've had the utter misfortune of using, was incredibly difficult to learn how to either use or modify or both, and it would've taken less time to just build the whole damn thing statically than to actually figure out how to get the CMS to do what the people paying me to make it do wanted. The only time it's EVER been easier for me to use a CMS, was when someone paid me to setup a particular CMS (e107) and wanted to use exactly one of t
"hello, world!" is not the problem at hand (Score:2)
The problem isn't "hello, world!", it's maintaining the site after it's been live for awhile. JSP can use embedded scriptlets just like PHP, but unlike the latter we learned years ago how painful that is during later development and maintainance. So now it's standard practice to use MVC. It's a modest amount of extra work on the front end, but that's more than offset when (not if) we need to make su
Re: (Score:3, Insightful)
That's an easy one (Score:3, Insightful)
>(Drupal is used by The Onion, Spread Firefox, and more), but there is
>not even one comparable solution based on Java?"
Maybe because Java offers no advantage over writing a system in PHP, which obviously is up to the task based on the successful projects you mention?
Seriously, why would you want to use Java when you don't have to? It's like asking why there is no web browser written in assembly language. Higher level languages get the job done with minimal aggravation and perform well enough that they're not the bottleneck.
PHP was tailor-made for this sort of thing, Java...wasn't.
Re: (Score:2)
Oh boy...I died a little inside reading that...
PHP was tailor-made for this sort of thing, Java...wasn't. Actualy, J2EE has already half the job done built in... There just doesn't have all that much done around it in the open source world (in the commercial world its another story). Why? Probably only because the open source community around PHP is bigger
Re: (Score:3, Insightful)
Re:That's an easy one (Score:4, Interesting)
No, it wasn't. PHP was made for writing quick little bits of code in Personal Home Pages. And for that it was perfectly reasonable. Unfortunately it became very popular (probably because it was easy to install on Windows) and since then it has been extended and had all sorts of modules added with little or no change to the core language. Many people are now discovering just how bad it is to use PHP on large projects [ukuug.org]. It's just a mess.
Your argument is null and void in the sense that (Score:2, Flamebait)
not nifty arguments, deductions, logicalisations, semantics or can define something is good or not, nor your or some other people's views as 'expert programmers'. nor what something was made for at the start does.
what d
Re:Your argument is null and void in the sense tha (Score:2)
If the DC3 was anything like PHP, it would be permanently grounded.
There's no programming language worthy of comparison with the DC3. Not even LISP.
-Lasse
Re: (Score:2, Flamebait)
Re:That's an easy one (Score:5, Informative)
Ok, I know I'm being trolled by a self-styled fanboy, but what things exactly?
No it has not. PHP is still fundamentally the same language it was all the way back in 2002.
And if you're going to argue about versions of PHP, might I also point out that PHP has broken forward compatibility twice [maurus.net]. Version 4.4 changed the behaviour of references in an incompatible way, and PHP 5.0 makes many more changes to the core language. This places shared hosting providers in a very difficult position and many simply choose to run the old version 4.3, for which most PHP code was written for.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Ah yes, a lot of features are supposedly coming in PHP 6. But as I mentioned, I understand that many hosts are still using PHP 4 because of compatibility problems. If PHP 5 is being adopted so slowly, the new features promised in PHP 6 might as well not exist, since most developers won't be able to use it.
Re: (Score:2)
Quote:
When you manipulate (trim, split, splice, etc.) strings encoded in a multibyte encoding, you need to use special functions...
mbstring is a non-default extension...
It is not recommended to use the function overloading option in the per-directory context, because it's not confirmed yet to be stable enough in a production environment and may lead to
Hang on there a sec, bub. (Score:4, Insightful)
There is a major benefit that Java brings to the table versus PHP and that is security. My inside voice says that the only way to secure a PHP webapp is to delete it. My outside voice says that if you've just got to have a particular PHP package, then fine - that particular PHP package you can have, along with an SSL cert, a site-wide ACL and off-machine logging so that *WHEN* the app gets hacked, you know who to go after.
Some folks don't think that PHP has anything intrinsically wrong with it, that PHP is just trying hard to be an incredibly helpful language, that it's not a bad language - it's just drawn that way. I don't think so. It's got a history of stuff like: "Oh, you provided some URL parameters? Allow me to convert those into variables automagically!" (Yes, yes - this has since been changed but it was around for a long, long time and is still available if you set the proper config variable) "You want to talk to a database? Please, feed me a string and I'll do whatever you want me to do. In fact, if you give me several things to do, I'll do them all!" (Hooray for SQL injection) And on it goes.
I'm sure a case could be made that schlock code written in any language can be abused - but in the typical Java (or Perl, or Ruby, or Python, or some other non-PHP language of your choice) framework you've got to work a lot harder to create exploitable things. PHP is entirely too damn easy to be bitten by unforeseen circumstances - witness the same vulnerabilities being lovingly replicated over and over and over in lots of different projects [google.com].
In closing, yes it takes more up-front effort to bang out a simple CRUD [wikipedia.org] app in Java versus what the average tutorial or manual would tell you to do in PHP. But the Java version isn't vulnerable while the PHP version is and will require a net greater expenditure of effort to understand and fix the problem. And that's not talking about the energy burned up by the poor shmucks running the code and having to clean up and rebuild after the app gets owned. (No, I'm not still bitter phpBB, Gallery, Wordpress and PHP-Nuke. Not at all. I don't even miss my data anymore. Nor do I regret having to deal with my account being used to attack other machines. Not one bit.)
Re: (Score:2)
I do, however, believe that some quality applications can, and are, done up in PHP. The problem with PHP is that it is such an easy and (too) flexible language that those who don't necessarily understand the finer concepts & pr
Re: (Score:2)
My condolences. Nobody should have to suffer that sort of thing.
> I do, however, believe that some quality applications can, and are, done up in PHP.
Oh yes, I totally agree. That's what gives me the love-hate relationship I have with the language. Recent releases of Wordpress are so darn compelling because of the oodles of themes and plu
My two least favorite languages. (Score:3, Informative)
The only reason for writing anything in PHP is because "worse is better". You write in PHP because everyone thinks (server side software == PHP), and every hosting provider has it... Everyone seems to think PHP is the P in LAMP...
But really, everything "good" that PHP has promotes bad design. Embedding in HTML: Bad design, please separate code from content. Variables don't have to be declared? Great, now you c
atLeap (Score:2)
You don't want a CMS you want a Portal server (Score:2)
They do exist (Score:3, Informative)
I agree though, doing a CMS in PHP is such a kludge, it would be good if there were some good solid java alternatives that could match the ease of use of something like Joomla or Drupal. Something using of the of popular frameworks such as Tapestry would be good as well.
As for hosting, there are plenty of VPS services out there that are quite cheap and host server based java applications just fine.
Re: (Score:1)
The fact that you think that Java is a server side scripting language shows you lack knowledge in this area.
For me, I have been the PHP route, never again.
Few ideas... (Score:3, Informative)
OpenCms is based on Java and XML technology. Therefore it fits perfectly into almost any existing modern IT infrastructure. OpenCms runs in a "full open source" environment (e.g. Linux, Apache, Tomcat, MySQL) as well as on commercial components (e.g. Windows NT, IIS, BEA Weblogic, Oracle DB).
or you can check other Open Source CMS on wikipedia. Comparison of content management system [wikipedia.org]
Re: (Score:1, Flamebait)
Re: (Score:1)
btw. you can check their reference sites list [opencms.org] which is quite huge
Weak? (Score:1)
Re: (Score:1)
For instance I never would have bought from Papercut (papercut.biz), it took one of my co-workers to find out that it was actually a sweet product.
Daisy (Score:1)
Daisy is a comprehensive content management application framework, consisting of a standalone repository server accessible through HTTP/XML (using the ReST style of WebServices) and/or a high-level (remote) Java API, and an extensive browsing and editing DaisyWiki application running inside Apache Cocoon. Daisy is licensed under the commercially-friendly Apache License 2.0. Outerthought provides commercial services around Daisy. More marketing talk can be obtained from their website. This
Magnolia (Score:3, Interesting)
Magnolia [magnolia.info] is a really nice and powerful CMS in Java, with a BSD license. I have been involved in several serious projects (>300 hits/second) using Magnolia and it has always performed very well. Of course, we tuned the JVM, Tomcat, the Linux kernel and almost everything you could ever imagine.
After evaluation, if you decide Magnolia is the CMS you are going to use, I advise to take the official training. It's worth the price.
For education, there's SAKAI (Score:1)
Having said that, I agree with the posters who say that it's easier to program web apps in PHP (or any scripting language), and that Java isn't well-supported by webhosts.
Try dotCMS (Score:1)
Dear slashdot, (Score:5, Funny)
mod parent up funny (Score:2)
Re: (Score:2)
The real issue comes down to hosting. Every nickel and dime web hosting service has PHP and MySql so the most popular CMSs will tend to use PHP and MySQL. It is just a case of the lowest common denominator not the best technical solution.
You will
Apache Lenya (Score:2, Informative)
I have not had a chance to use it past the online demo*, but you might want to check out Apache Lenya [apache.org]
* A contract webmonkey proposed switching to Lenya halfway through a project. As much as I like F/OSS, I decided I'd rather have his existing VB/ASP mess working "on time" (only months late) rather than a nifty Lenya setup ready sometime after I would be fired for still not having delivered the new website...
Jboss Nukes (Score:1)
Oracle Portals (Score:2)
That said, Portal is a really really nice product and probably the best example of a Java-based CMS that I've seen. I've compared it to a souped up Plone or Mambo. I set up a demo site for my co
Comment removed (Score:3, Informative)
Apache has Lenya (Score:2)
good question (Score:5, Insightful)
On the other hand with Java there are no cheap hosting solutions. Basically it requires a a dedicated server solution which will set you back 50-100 $ per month minimum. There are shared hosting facilities but they are still more expensive and don't really give you enough control. People with low end needs won't even consider that as an option, and they shouldn't.
However, there's also such a thing as the high end of the market. Basically php is just one of the many options there and as far as I can see it far from dominates that market. A lot of interesting things are happening in the Java enterprise scene: there is standardization of content repositories (JSR 170) with several commercial and OSS implementations available; there is the portlet standard, which is basically the backbone of many commercial portal servers; there are lots of options for implementing web UI stuff; there is adoption of the cool rails stuff with both groovy and jruby on rails being worked on; etc. Essentially Java is one gigantic toolkit for building web applications now.
Bottom line is that if you are expecting to spend a few thousand dollars on hosting (yearly) and have a budget of say 20K+ for building the web site, you are in the high end of the market. You will want some guarantees about your site not collapsing when a few million people decide to drop by; you'll probably have some old content to migrate and some non trivial functionality that you'd like to have. Chances are that you'll end up using Java. Or rather, chances are that you decide not to reinvent the wheel and use the services of some professional CMS companies.
Your out of luck (Score:2)
What are you talking about? (Score:4, Informative)
At the bank I work at we use OpenCMS [opencms.org].
Magnolia Community Edition [magnolia.info] is probably better.
Apache Lenya [apache.org] is another CMS written by a well known group but I can't vouch for it
JBoss Nukes [onjava.com] is poorly documented but written by JBoss so should be good.
that's not a CMS (Score:2)
Java's enterprise focus (Score:2)
Java's focus has always been on enterprise software development. Consider this quote from the Java EE 5 Tutorial [sun.com] on “Development Roles”:
Also consider the Java EE Architecture Overview diagram [sun.com] from the same document.
This “tutorial” is aimed at enterprise people with time and money to spend
'Java tendency', 'the Enterprise' and the urge (Score:2, Flamebait)
what i see is that some of this inclination stems from the fact that all people have the need to be 'different' in them, and all of us manifest this in this way or another. some choose 'breaking off from the crowd in programming languages', and pick a language to be enthusiast of and praise it. some choose java, some asp some another.
this is just an unfruitful thing to do. differentiation of self
Not exactly what you are looking for, but... (Score:2)
It's the only Java application I've tried that hasn't been problematic.
Like everything else, it has some of what you want, some you don't.
Con:
1) It's not open source
2) It's not cheap
Pro:
1) The training courses are good
2) It's fairly well documented, once you get the basic concepts of the design understood, which are not as well documented.
3) It's very modular, while it's not open source, you can
Re:Maybe because people turn it off? (Score:4, Informative)
Re:Maybe because people turn it off? (Score:5, Insightful)
And to answer that question, look at the target market of Java. Java is not intended for mom'n'pop websites, or for novice web builders, nor bloggers. Hosting support isn't widespread and is quite expensive. PHP hosts are a dime-a-dozen.
If you can afford large scale Java hosting, you likely are developing your application from scratch using your own development team.
Re: (Score:2, Interesting)
Re: (Score:1)
Re: (Score:2, Informative)
Seriously, who uses applets for anything anymore?
Re:Maybe because people turn it off? (Score:5, Insightful)
Having a low UID isn't evidence of tech knowlege.
Maggie Leber CCP, SCJP, SCWCD
Re: (Score:2)
Knowing about web architectures isn't evidence of tech knowledge either (other than knowledge about web architecture). The knowledge base for "tech" is wide and deep. I'd bet there are plenty of folks out there who know very well how the web and web applications work who know very little about MEMS design, polymer chemistry, RF circuit design, IC fabrication technologies, immunological assays, and a lot of the other things "tech" in this world. Just as co
Re: (Score:2)
Point well taken; There's lots of tech other than web tech or Java tech. But a low UID simply means you've been here a while; one can't infer from the fact that my UID misses being four digits by less than 200 that I should be expert in web tech or Java.
But I'm a lousy counterexample.
Re: (Score:2)
Re: (Score:2)
I know enough about it to know how ironic/oxymoronic the expression "Slashdot culture" is when used by somebody with a UID in the 900K range.
Re: (Score:1)
I can't believe you can't imagine that not all programmers are web programmers. Believe it or not, some of us are still writing desktop applications (you know, those other programs that aren't a browser), have been doing so for most of our career, and will probably still be doing so long after the current weblet fad dies.
> You most likely use websites running server side Java everyday (Go
Re: (Score:1)
Just the ramblings of a C++ bigot. Seriously, can we let the my dad's programming language can beat up your dad's programming language go? You sound like a mainframe programmer trying to extol the virtues of that dying breed.
C++ isn't going anywhere soon, it's blazing fast for desktop applications, sucks hugely for server based
Re: (Score:2)
I guess that makes you the anti-C++ bigot
> You sound like a mainframe programmer trying to extol the virtues of that dying breed.
Funny you should say that. My breed has been dying for twenty years now, and yet pretty much all the serious applications out there are still written in C++ (well, most were written in C before '90
Re: (Score:2)
Re: (Score:2)
You can find outstanding C++ library collections all over. Some are every bit as good as what Java has. But if you download 17 different open source C++ apps, you might find that they collectively reference 50 different C++ libraries b
Re: (Score:2, Funny)
I can't believe that you consider 97000 a low UID.
Re: (Score:3, Funny)
Re: (Score:2)
Re: (Score:1)
Let's either bite, or pretend you don't know.
Ever heard of eclipse?
BTW, Java on the brower has *nothing* to do with regular HTML-based forms. You are comparing Applets and Oranges (sorry, couldn't resist
The truth is,struts [wikipedia.org] (arguably java's most popular web-development fram
Re: (Score:2)
Mostly the latter. I'm a systems programmer; the only websites I write are internal documentation web pages which are all static content. I guess everybody does nothing but web programming these days, considering how many scathing replies I got
> You are comparing Applets and Oranges (sorry, couldn't resist
Yes, I do know the difference between applets and server-side Java. But, not being a web d
Re: (Score:1)
And using C++ for a website, you'd have to be insane. A single buffer overflow could give someone access to your entire server. You don't have to worry about something like that happening with Java, PHP, Python, etc.
As for performance, in most areas Java keeps up with compiled C++ without a problem because it's compil
Re: (Score:2)
As I asked before, what's your source?
> And using C++ for a website, you'd have to be insane. A single buffer overflow
> could give someone access to your entire server.
Buffer overflows are a C problem. C++ programmers who know enough to use STL containers instead of malloc will have no buffer overflows. The only people to complain about buffer overflows in C++ are those who have never taken the time to learn how to properly ha
Re: (Score:2)
C++ web app toolkits exist (Score:2)
Then you don't have the right libraries. Google C++ web app brought Wt [kuleuven.ac.be] on the first result page.
Re: (Score:2)
No. While its first and primary use has been as a Java IDE, Eclipse is an application framework, and is used for a ton of things. _USUALY_, but not always, development tools, but still.
:)
For example, OpenLazlo's IDE, the management tool of PervasiveSQL, and so on. It has douzans open douzans of applications built on top of it. A lot of people who don't touch Java with a stick use Eclipse on a daily basis
Re:Maybe because people turn it off? (Score:5, Funny)