Open Source CMS Solutions Based on Java?
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?"
... Make something from scratch? I can understand the usefulness of something done for you with documentation (though the poster said open source so we can somewhat scratch the documentation part out). But with CMS, I would think it'd be much more efficient to build the system to your needs, as opposed to tweaking something already out there.
It's not that hard. Your problem is the limited parameters you've set.
I'm pretty sure he's talking about java on the server, delivering (x)html+css+javascript to browsers.
"Piter, too, is dead."
I don't think he was talking about running the Java application in the browser, but more in terms of servlets.
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.
A Java CMS would probably not use Java as in Java Applets, but just Java as server-side environment (you might've come across sites with pages having a *.jsp extension, whell, those are probably Java and you didn't even notice ;-)). Java is very well suited for server-side programming, and the percieved 'slowness' of Java is (in my opinion) more due to the GUI-libraries in java (AWT, Swing) than the language itself.
On the eigth day, god started debugging
This is server side Java... it has nothing to do with applets and you can't "turn it off in your browser". I can't believe you have a UID that low and still don't know the difference between applets and server side Java. You most likely use websites running server side Java everyday (Google, Gmail, Ebay just to name a few).
Seriously, who uses applets for anything anymore?
A CMS is a server-side sytem, so whether users turn Java off in the browser shouldn't matter.
I think the reason you don't see many Open Source Java CMS tools is due to fairly weak Java support with most Web hosting providers. Take a look at the available webhosts, and very few over support for Servlets/JSP. I would think, on average, the most common user of a CMS system would be someone wanting to setup a small to medium website that won't require too much customization outside of the standard package. Of course, the systems available are powerful (Drupal, Plone, Joomla, Nuke), but for the most part the people using them don't need the majority of the powerful customization tools. These are also the same people who would be using Web hosting packages, and not setting up their own servers. Therefore, you have to write it in a language that is almost universally supported by web hosting providers, like PHP.
The poster is talking about server side Java, not applets.
Because the poster is comparing the availability of PHP based CMS's to Java, so clearly this is server side.
Actually, I'm rather familiar with a Java applet based CMS (the product in question is called Opera and it's used by various hotel chains). And from my experience with it I can understand why many would not want to use Java on the client side for CMS; it's frickin' slow.
You fail. Java can be used on the server end, generating HTML in much the same way PHP generates HTML. The difference is that PHP is an absolutely pitiful language, and while Java has its own flaws, it's still overall much more useful and sane than PHP. I would still rather use software based on Python, because that reveals it was written by someone with enough sense to use a productive language rather than an "industry standard" (read: designed for idiots).
Read: http://en.wikipedia.org/wiki/Php#Criticism
Also read: http://www.paulgraham.com/pypar.html
>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?"
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.
If moderation could change anything, it would be illegal.
Never used it personally but saw references multiple times. You might want to read more about it HERE.
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 (arguably java's most popular web-development framework) works with with JSPs (which in turn spew out HTML to the browser) and Servlets (java's server-side executables) in the back end.
The notion of having a java CMS mainly relates to the server-side of the equation that would grab the 'stuff' entered in the HTML forms and manage it using Java to either store it into a db for later retrival and display(to name a few examples).
While applets (and Java on the browser) can do this as well, it does not have to be (in fact, it is not even recommended).
will work for Karma
http://labs.jboss.com/portal/jbossportal
My Hello World is 512 bytes. But it's also a valid Fat12 boot sector, Fat12 file reader, and Pmode routine.
There are a few out there. Alfresco http://www.alfresco.com/ looks the most interesting.
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.
I can't believe you have a UID that low and still don't know the difference between applets and server side Java.
Having a low UID isn't evidence of tech knowlege.
Maggie Leber CCP, SCJP, SCWCD
-=Maggie Leber=-
Obviously one would check http://www.opencms.org/
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
You have to be kidding. I do feel the need to extend my congratulations however... your gross lack of knowledge of the subject at hand combined with your inclination to publicly display said lack of knowledge are a true asset to the Slashdot community.
well done
Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
What made you decide those alternatives were weak? We've used Magnolia to deliver a site that got 4 hits a second on average, it certainly wasn't weak. Did you actually look at the product, or just look at the website and not find something shiny?
From their site:
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 is the Daisy community website, with access to downloads and the full documentation. Enjoy!
http://cocoondev.org/daisy/index.html
Yeah totally! In fact I turn off Java AND PHP in my browser. PHP has many security risks so I won't run it in my browser at all. It's completely disabled, and still I won't click on any links that end in '.php'. It just isn't work the risk!
> Your comment leads me to believe that you are either trolling or do not know much about web-development.
:)
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 developer, I naturally think "applet" when somebody says "Java", since that was its original application.
> Ever heard of eclipse?
The Java IDE used to develop Java applications? Sorry, it doesn't count; it's just a Java tool to make more Java. It doesn't make Java useful. I was talking about real applications, something an end-user might use. I wouldn't put most server-side HTML generators in that category. Those are either too simple to be called an application, or they should be. Because of that, if I had to write one, I'd probably use PHP. If performance mattered, I'd use C++, since that's what I know best.
Magnolia 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.
> I can't believe you have a UID that low and still don't know the difference between applets and server side Java.
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 (Google, Gmail, Ebay just to name a few).
May I ask how you know what Google backend is written in? Unless you work there you probably haven't seen the code. I don't necessarily doubt your assertion, you being such a web guru and all, but I'd like to see for myself.
> Seriously, who uses applets for anything anymore?
As far as I know, nobody ever used them for anything. Nevertheless, when somebody says "Java", "applet" is the first thing that comes to mind; me being such an old fart, you know. "Useless" and "bloated" are other things that come to mind next, me being a C++ old fart. But run along, you kids, no need to listen to my ravings; I've got some real work to do.
eBay's a pretty complex application, and it's backend is entirely Java. Same with Citibank, and I'm pretty sure Amazon as well, to name a few others. So your "too simple" argument is worthless.
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 compiled to machine code at runtime, then cached until the actual code has changed. Scripting languages like PHP, however, do not, and are in general incredibly slow.
Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo!
SAKAI is a CMS for classrooms and academic workgroups. It's Java. If that's what you need, take a look.
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.
The only thing I can think of right now would be JBoss Portal ( http://www.jboss.org/products/jbossportal ). It doesn't have many of those fancy features but should be easily extensible.
:/- spoon(_).
jsp is ass slow. Anyone saying it's faster than php has his or her head up his or her ass.
'"Useless" and "bloated" are other things that come to mind next, me being a C++ old fart. But run along, you kids, no need to listen to my ravings; I've got some real work to do.'
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 web apps. Java sucks for desktop apps, it rocks on the server.
He tells the truth!
> eBay's a pretty complex application, and it's backend is entirely Java.
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 handle memory management in it. Secondly, Java, PHP, and Python still offer plenty of other ways to put security holes into your application, and those are the ones that usually show up on security advisories. Finally, hacking a web application does not give you access to the entire server, except in very rare cases where the webserver is not set up properly.
> As for performance, in most areas Java keeps up with compiled C++ without a problem
> because it's compiled to machine code at runtime, then cached until the actual code has changed.
JIT compilers are not a panacea. Just because you can in some cases get similar performance from compiled Java, doesn't give me any incentive to use it instead of C++, does it now? Performance is also affected by memory footprint. In C++ I can write a useful application with a memory footprint of less than 100k. In Java, the VM alone (which you are still using even when JIT is enabled) takes 10M minimum plus whatever virtual memory space you have allocated. Can your Java servlet run a million instances on the same machine? I thought not. A C++ servlet would be much smaller and probably faster, lessening the load on your server, allowing you to run fewer servers, and consequently saving you money.
> Just the ramblings of a C++ bigot.
:) The kind who never bothered to learn C++ and simply repeats bad things he has heard from other people who have never bothered to learn C++.
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 or so, but we're a similar breed)
> C++ isn't going anywhere soon, it's blazing fast for desktop applications,
> sucks hugely for server based web apps.
Only because there isn't a proper library for servlet development for C++ right now. Why not? Not enough interest, I suppose. Most people coming out of colleges only know Java, PHP, or some like language, so it's sort of a chicken-and-egg problem. If I ever have need of a web application, I'll probably write a C++ library for it. Until then, I guess C++ really will suck on the servlet end for newbie programmers.
This is a shameless plug, but take a look at dotCMS http://www.dotcms.org/. dotCMS is a Java based CMS that is feature rich and easy to pick up. It is entirely web based - you can create templates, dynamic content and custom content structures within its administrative portal. It is database agnostic, offers in line editing, clustering, easy to use macros, AJAX based file browser, fine-grained permissioning and privileges, content versioning, completely separates content from site structure and on and on. A lot of work has gone into the software. Take a look and I think you will be impressed.
I'm a construction worker and the other day I was thinking about baking a cake. As it turns out, I'm having a heck of a time finding a cake-batter mixing machine that runs on diesel.
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
You hit the nail on the head. You won't find many such CMS-ish apps not only in Java, but they're also far less common in any other languages/technologies. 99% of it (as well as the popularity of php/mysql) being because every dirt cheap host has PHP and MySQL (and often nothing more). That, and also that n00bs don't have to actually learn programming to get anything done.
.net, ruby and everything else, as well as other databases (postgresql, etc) and around the same prices, php would soon become a distant memory (one can dream!)
If the majority of hosts also had perl, python, java,
I personally dislike php/mysql enough (too much of the php code are ugly hack jobs - not saying they all are but too many for sure, the "language" itself is atrocious, paired with a featureless database that doesn't value data integrity and doesn't scale with query complexity, etc) to pay a lot more for hosting.
In these scenarios, it's often cheaper to colocate your own servers (we're considering it, 70$/month for a 1U with our current provider)
Sun and Microsoft tend to be pretty fond of showing off the big names that use their frameworks, so finding "sources" for who uses what tends to be quite easy. For example: http://cn.sun.com/service/jcoe/down/JCOE%20eBAY.pd f
I have not had a chance to use it past the online demo*, but you might want to check out Apache Lenya
* 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...
see subject
I can't believe you have a UID that low and still don't know the difference between applets and server side Java.
I can't believe that you consider 97000 a low UID.
Software sucks. Open Source sucks less.
Isn't JBoss-Nukes based on, um, JBoss?
As one who has written a major web-based trading application I can state that C++ rocks the server too. The thing that I've come to realize having done both C++ and Java work is that Java's real secret is its libraries, not the language. The language is fine sure, garbage collection is pretty sweet, etc., but the fact is that all of those things can be done in C++ (don't want multiple inheritance? Fine, don't use it. Want garbage collection? Well...it's a stretch, but I allocate everything I can on the stack and if I have to hit new/delete, it has to be for something *very* special.)
The libraries are where Java is soooo much nicer than C++ in that all that stuff is already there for you where my collection of C++ libraries are of variable quality and don't come close to matching the breadth of what you get out-of-the-box with any Java implementation.
That said, my C++ web apps handle literally a million+ transactions a day. I've seen 7 million transactions take place in a single 24-hour period and the software has been rock solid from day one. I'm sure the same thing can be done with Java, but when I was asked, the thought of giving up control to an app server scared me and my team enough that we stuck with C++.
I'm not the poster you're asking, but maybe it's the "Java Technology" icon on nearly every page of their site? Check the top right corner, just below the search box and right next to the "Powered by Sun" graphic. Not to mention, it was all over the news (well, the type of news sites that would cover something like this) when they switched to a Java back-end a few years ago.
Web consulting +
Not only is it not open source, it's unbelievably expensive...40k per processor for the required database backend, plus $40k for Oracle's application server (oc4j) and then if I remember correctly Portal (the actual CMS product) is multiple thousands (and always per processor, and dual cores count as 1.5 processors).
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 company and everybody loved it. The deal breaker, as you could imagine, was the cost.
You can download it all at otn.oracle.com and give it a try, but like I said, it's a *serious* investment and ultimately couldn't justify the cost when such good free systems (like the aforementioned Plone and Mambo) exist.
They ain't Java, but they are free.
You obviously didn't read the summary. If you did, you would have noticed this line:
To my surprise, I could find some very weak Java based alternatives to Drupal, like MMBase, OpenCMS and Magnolia.
I've even bolded the important part of it for you. You see, he already knows about Magnolia. Not only that, but he's apparently already considered it, and found that it's inferior to the PHP-based Drupal. So there's no point recommending to him a product that he has already evaluated, and found to be insufficient for his needs!
And that's pretty said if you consider 300 hits/second to be a "serious project". Truly serious sites have to deal with at least 50000 hits every second, and that's at the lower end. At that point, neither PHP nor Java are really suitable, unless you've switched a massive clustering solution. Even then, most Java and PHP CMS software does not handle clustered server architectures very well.
I'll bet the fact that Java has only just become free software, is the reason there are not many Java based free software CMS's
Join the Free Software Foundation
Seems it isn't evidence of Slashdot culture knowledge, either...
How to enable garbage collection on a system without protected memory: #define malloc() ((void *) rand())
Comment removed based on user account deletion
Using the shared_ptr class of Boost, it becomes very easy to use heap-allocated objects with C++. It's a smart pointer that automatically deallocates memory when appropriate. Memory leaks are virtually eliminated, without requiring programmer intervention. So in a way, you get the best of the Java world, with the vastly superior native-binary speed of C++.
4 hits a second, on modern hardware, is nothing. Absolutely nothing at all. If you consider that impressive, then you have some serious problems.
I was involved with setting up and running a web site in 1998. We ran it off of one Sun workstation, which I imagine offered equivalent processing power to a typical PC from 2000 or so. We used a number of CGI scripts written in Perl and C, with an Oracle backend database running on the same workstation. By the time I left, we were handling close to 600 hits per second, still using only that single workstation. Even then, the system reported the CPU as being idle 15% to 25% of the time.
If this Java-based system can only sustain 4 hits per second, then it's not just "weak", but it's a silly joke!
You might want to check out Lenya, which is based on the Apache Cocoon project. I don't know mature and full-featured it is though. More generally speaking, Apache has a lot of Java-based projects that can be used toward building a CMS, so if you did want to write your own, you could do worse than start on top of some Apache framework.
"In our tactical decisions, we are operating contrary to our strategic interest."
Right tool for the job. I think you're seeing Java as the hammer, and every problem is a nail.
Task Mangler
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 computer geeks read Slashdot for information on areas of technology other than software, maybe there's a circuit geek or a chemistry geek that feels the same way about web apps.
That is all.
Neither can I.
You might check into www.hipergate.org. They have some CMS stuff as well as a variety of features. I think they are focused more on a diverse set of tools as opposed to concentrating on the specifics of a single area. How did they put it .. something like trying to be more horizontal than vertical. It has been awhile since I checked into them myself, so my comments could be a little dated.
I am a Java developer and I have worked for a commercial CMS vendor. Essentially, the low end of the market is dominated by php for obvious reasons: it's easy to get started and basically any hosting will do since it will run php out of the box. Also that stuff is pretty good: I'm perfectly happy with wordpress for my low end needs.
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.
Jilles
(This is gonna hose my karma, but it's something I feel strongly about so damn the torpedoes, full speed ahead! )
:P
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.
In closing, yes it takes more up-front effort to bang out a simple CRUD 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.)
James
I'm aware it still uses the runtime. I'm also aware of the memory usage. I'm also aware that C++ has absolutely no design considerations for a web application, and you'd have to build everything from scratch yourself. Session management, HTTP POST/whatnot, cookie management, everything. All the extra work to build that would end up costing you more money in developer time than it would to get a few slightly beefier servers to run Java, .NET, PHP, or whatever else you'd rather use.
For *anything* that's highly CPU or latency bound, I wouldn't want to use anything but C++, and even optimize it some with ASM if necessary. But for a website? It just makes no sense to reinvent the wheel 5 times just to get a basic website with sessions working.
Another poster already mentioned my source... There are Java icons all over eBay. If you go to any Citibank site, you'll see jsp. Amazon I'm not fully certain of, but if I recall they made an announcement a while ago.
Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo!
Resin is a JSP servlet container which has J2EE capabilities, and now -- get ready for the insanity -- it serves PHP apps as well! You can run drupal in it -- in fact, this was one of the release goals.
Have a look at http://www.nuxeo.com/en/
Its worth giving it a try.
Very nice interface, powerful features and its open source!
Try nuxeo.org. You won't get a finished product, more like infrastructure + toy demo, but these guys are serious (java is still very EE oriented, and EE people want one-of-a-kind customized apps, so Nuxeo's business model is to release the core infrastructure as OSS and get paid big bucks to assemble it in a customer app)
They moved from zope to J2EE so even though it's java they know what is expected of a FLOSS product
Sorry, but your out of luck. If there is anything where PHP has outrun Java by nearly a decade, then it's the CMS game. PHP CMSes are so mature you don't even need to do any programming anymore to have a reasonably configurable setup. You might just join a project and work on the Java Clients they are starting to build. Joomla and Typo3 both using Java for exactly that. THe last thing I remember that was up to date with PHP was the Cocoon framework and that was like 7 years ago or so. Time has passed since then.
I recommend you get a PHP CMS, secure it at webserver level (reverse proxy and all that) and build any extra functionality that's not covered by modules or extensions with java, using standard in/standard out at the backside and a little conector-layer in PHP. Then you've got the best of both worlds.
Any way you do it, there's no way a ready made Java Solution or Framework is going to beat PHP, Python or - since it's being hyped so much - Ruby.
We suffer more in our imagination than in reality. - Seneca
There are plenty of good open source CMS systems in Java.
At the bank I work at we use OpenCMS.
Magnolia Community Edition is probably better.
Apache Lenya is another CMS written by a well known group but I can't vouch for it
JBoss Nukes is poorly documented but written by JBoss so should be good.
foo mane padme hum
Knowing about web architectures isn't evidence of tech knowledge either (other than knowledge about web architecture).
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.
-=Maggie Leber=-
Seems it isn't evidence of Slashdot culture knowledge, either...
:-)
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.
-=Maggie Leber=-
The Java CMSes you named are fine. The problem is that you aren't looking for a CMS. A CMS is just a platform for publishing static articles. What you want is an interactive community site. Things like Roller are more along the lines of what you're asking for.
Have a look at the web sites of the united Dutch public broadcast companies, the web site of the public broadcast company, named VPRO, one of the founders of MMBase, or the extensive VPRO 3voor12 pop music website. Enjoy public radio and television on the web. And then decide whether MMBase is weak or not.
I like http://java-source.net/open-source/content-managme nt-systems for open source java solutions. It is a nice one-stop-shopping web site.
I have personally used Jahia. It's very powerful.
By the way, I currently use Drupal (http://www.drupal.org) in PHP, it seems it is quite good for my purpose. The drawback for me to use Drupal is I'm very new to PHP.
Java's focus has always been on enterprise software development. Consider this quote from the Java EE 5 Tutorial on “Development Roles”:
Also consider the Java EE Architecture Overview diagram from the same document.
This “tutorial” is aimed at enterprise people with time and money to spend.
org.slashdot.post.SignatureNotFoundException: ewg
> http://www.riotfamily.org
with all this web2.0 buzzword tech inside...
Agreed, what you have described is a huge flaw in the way people write PHP code. Granted, a disciplined programmer could create a separate model and view in PHP, but they never do. Just like someone can put SQL in a JSP, but at least Java starts you off on the right path.
If one of my teammates ever puts SQL or advanced logic (not related directly to the display of the page) in a JSP, I will kick them square in the junk.
Nuxeo is a modern, open source, Java-based, ECM (Enterprise Content Management) platform. It doesn't specialize in WCM (web content management), but this is an area were work seems to be progressing very fast, thanks to the powerful NXTheme presentation engine.
Hear hear! I deal with that sql in jsp shit every day at work. It sucks that the dude that did it is no longer around, cause I definitely own him a boot to the junk for that.
Slashdot is proof that Sturgeon's Law applies to mankind.
I have trouble defending Java here, but I think PHP is actually worse. I don't know how, but it is.
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 can spend three hours hunting down a typo in a variable. Really, can you name anything that PHP has that Java doesn't that is actually a good thing?
I'd prefer perl/python/ruby, and Java used to be the worst programming language I'd ever used. But PHP is even worse -- a lot worse.
And by the way, Java is a lot higher-level than PHP, for a lot longer. Java was object-oriented from the beginning, and this was sort of tacked on to PHP...
The one reason I use PHP is Drupal. Drupal manages to implement all kinds of ridiculously good design practices which technically aren't supported by the language. It does object-oriented programming without dealing with PHP objects, so it can run on older versions of PHP. It even does some things you'd expect to require LISP...
I've learned to give up the language holy wars unless I'm prepared to start from scratch. I don't like that Linux is written in C, but if I do kernel hacking, it's C. I don't like that Drupal is in PHP, but if I want to mess with a CMS, I use PHP. When I'm writing from scratch, at least for now, I use Perl, but that's just because it's the best that I know reasonably well.
Don't thank God, thank a doctor!
There are lots of good java based open source CMS's listed at cmsmatrix.org.
Then you don't have the right libraries. Google C++ web app brought Wt on the first result page.
I wish it was though, it would really add to my resume.
I think the word you are looking for is rochambeau. :-)
Oh, he totally doesn't deserve a retaliation. What is needed is a one-sided junk booting. My foot, his nuts.
Slashdot is proof that Sturgeon's Law applies to mankind.
there are zillions of apps written in php for ecommerce, security, collaboration, publishing, gaming, parsing, collecting data, database management, and innumerable stuff, crap, sh*t that if i wanted to name fields and examples, 6 months of my life would only be enough to complete them.
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 defines something to be useful and successful is its EXTENSIVE and WIDESPREAD usage and FLEXIBILITY.
Like the volkswagen beetle, or C-47, or post-its, or pizza, PHP, is successful.
cope with it.
Read radical news here
I see a lot of people who feel compelled to praise java, put it over other stuff for such or such reasons.
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 needs to be achieved by discovering things within the self, not by identifying with things in kinda 'black sheep' position in the outer world. also it is totally unprofessional.
there are reasons for something being widely and extensively used, and being flexible, and people liking it. calling languages like php 'low end', or 'entry level' does not hide the fact that many people are using them to great extent, and they are being successful and standard every day.
some in this thread has gone far to the point that naming java as an 'enterprise' thing.
something being 'created for the enterprise' does not make it enterprise grade. such naming just shows the intent of the creating group or company's intent to serve it or sell it to 'enterprises' (which means the organizations with big money to flush on them). if these apps are not up to the challenge, or there are better competitors, they just fail and get back in the line of preference.
php, as an example if you will, is on the forefront of preference for both the public and the 'enterprise'. the fact that it provides ease, low cost, low maintenance and great flexibility is an indicator that if an enterprise provides the same effort it will need to spend for other 'enterprise' tagged stuff, like java, they will be able to do more with php.
even java enthusiast admit that java web serving requires more resources than php or other some competitors. MORE resources is not something that enterprises like. this is one of the reasons of javas failure.
some enthusiast says that php (insert another popular language here) is 'insecure'.
had java been that popular, it would be in the same state - few hackers need to waste time with java server exploits because the gain is low when you manage to find one.
professionally, i see these approaches/tendencies just in the same category with griefing. you cant make or break some widely used stuff by just ignoring the facts or praising things people dont need or already find in other apps.
Read radical news here
Ok. Fair enough let's not look at Eclipse as a Java IDE to develop more Java applications as it does not count according to you (it may count for others but that's another story)
Let's, then, look at Eclipse as the framework that it is to build almost anything you could want. From the eclipse website (and I quote):
Again, Eclipse is used for many things including Enterprise Software Development, used as a Rich Client Platform, for development of embedded systems, and most famously for its Language (not just Java) IDEs.
Azureus (a Java BitTorrent client) is a good example of something an end-user might use that is based on Eclipse as well. A longer list of applications (of all types) is here (for the RCP aspect of Eclipse)
will work for Karma
How *dare* you compare PHP with a C-47/DC3?
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
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?
Could it be that Java's one claim to usefulness (platform independence) is completely and utterly irrelevant when the CMS is only going to be living on one web server platform? Java's reputation for being slow as snails? Maybe because Java's annoying to integrate with Apache in an efficient way compared to any number of other languages?
Seriously, next you'll be asking why people aren't using Dot-Net to create embedded applications...
it is easily comparable. c47s themselves were also grounded when they were external disturbances - flak fire, lack of fuel and so on - where they did service in the war and after the war. and due to their widespread use in high numbers, they have faced these issues more than other airplane types, just like php does in programming languages.
Read radical news here
It's been said elsewhere, but bears repeating since the parent post has been moderated 'insightful' (snerk)
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 substantial changes to the app.
Focusing on "hello, world!" is as silly as only looking at the first 5 seconds after jumping out of an airplane. At that point it doesn't matter that you skipped the parachute, but you'll be in a world of pain in a few minutes.
For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
The first paragraph on the cited web page is,
"This site was created with one goal in mind. To give you the opportunity to "try out" some of the best php/mysql based free and open source software systems in the world. You are welcome to be the administrator of any CMS system here, allowing you to decide which system best suits your needs."
The Fedora Project is a type of CMS, although not quite as you describe. It is a collaboration of Cornell University Information Science and the University of Virginia Library and is, AFAIK, all or mostly in Java. It is not Red Hat's Fedora and predates it.
he libraries are where Java is soooo much nicer than C++ in that all that stuff is already there for you where my collection of C++ libraries are of variable quality and don't come close to matching the breadth of what you get out-of-the-box with any Java implementation.
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 but no two applications have a single library in common. 17 different open source Java apps might reference 50 different Java libraries, but the vast majority of the code will use Java's built in libraries.
So Java standard libraries make the learning curve for reading and modifying new applications and other developers' code much smaller. And while C++ is huge and guaranteed not to disappear soon, there's nothing moving the industry towards a handful of common standard libraries.
I manage a Stellent Content Server where I work, and it's a pretty decent app. Not cheap from what I hear though.
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 easily replace almost any chunk of the server with your own custom code and either (a) call that chunk so it still exists and is used, just effectively has enhanced functionality, or (b) simply replace that chunk with your own completely custom code.
4) It's the only java based application I've ever used that hasn't been buggy as hell.
34486853790
Connection too slow for X forwarding? Try "ssh -CX user@host"