A few days ago I wrote a goofy post about the current state of open source Java-based portal software in which I half-concluded that Liferay is the only choice worth considering, and that unfortunately Liferay will drive a person completely insane.
I stand by my claims, but after the comments I received I think that I need to let people know where I'm coming from. What I want from a portal is an out-of-the-box collaborative experience to synergize my enterprise. But seriously, what I want is an application that can satisfy two basic requirements:
1) The application should provide all of the basic collaborative features that one would expect to use here in 2009. What does that mean? It means wikis, blogs, forums, chat, file sharing, etc. These are not things that I want to spend time implementing.
2) The application should be extensible. This is the whole point of a portal, and all portal applications meet this requirement.
Given these requirements and then considering the sorry state of open source portlets, the only choice worth considering is Liferay. The whole point of Liferay is that BAM, your Intranet portal is up and running and usable, and you can get on with implementing the important bits that are specific to your business.
When you first install Liferay, it's a very "WOW!" experience. It actually starts up and works and looks slick. Drag & drop, tons of portlets, etc. For a good week or so you can have a lot of fun setting it up and showing it off; your friends and collegues will be amazed! But when you actually start to get in to the nitty gritty of your Liferay implementation, things start to fall apart.
I spent a fair bit of time trying to decide if I should write this post or not. On one hand I'm really starting to like the Liferay community, and the developers seem like good people. On the other hand, there's not a lot of information out there about Liferay and I feel like the whole point of the "blogosphere" is to share our experiences for the betterment of all. Everything I'm writing here is based on my own personal experience with Liferay, and unfortunately, just about everything I write from here on is going to be negative.
Advice about Liferay in the Enterprise (or just your Business):
1) Liferay security is extremely poor.
I know that this might be a little controversial as I've read other blogs praising Liferay's permissions system... but really, just because something is really hard to understand doesn't mean that it's good, or even working.
If you're setting up Liferay in your business, then it's imperative that you test and re-test the restrictions in place on every single bit of data that you're exposing through your portal. One of the biggest problems I've had with Liferay is little pieces of confidential information showing up here and there for people who should not have access to it.
For example, the search portlet *will* comprimise security by showing search results, complete with abstracts, to users that should not have access to them. If you have a wiki hiding somewhere in a closed community, and have the tightest permissions on that thing you can possibly set, the search portlet is still going to show results from that wiki to every knucklehead on the site. The reason for this is that Liferay's opensearch implementation doesn't yet do "Liferay permissions." There's no big warning anywhere about this, so hopefully you found out about it by reading this instead of the hard way. My advice: do not use the search portlet.
Another example is the fine-grained permissions for each portlet. Often times they simply do not work correctly. Take the message board: if you create a restricted category (e.g. "forum"), then the posts in that category do not inherit its permissions, and are viewable by anyone with a link. Then, even if you lock down the security of each post in the restricted category, the post title and abstract will still appear to anyone who clicks the "Recent Posts" tab! This problem isn't isolated to the message board; I've found similar behavior in the document library and blog portlets. My advice: do not use fine-grained permissions in Liferay. I should also note that the activities portlet doesn't respect fine-grained portlet permissions at all.
If the above aren't enough to make you uneasy, then there is also a report of an NTLM bug in which any non-domain user can login as any user with a blank or random password. This is a big one, and one that should have been nailed immediately. That it existed in 5.1 and still exists in 5.2.1 is inexcusable. My advice: do not expose your Intranet portal to the outside world.
2) Liferay is very buggy.
It seems like everytime I try to set something up, whether it be a wiki or a blog or whatever, I run into some maddening bug. For instance when editing a wiki page or forum post, all of the new line characters disappear! This makes the entire wiki virtually unusable or at least a significant pain in the rear. A bug report was filed for this one and a fix has been committed, but the problem exists in the default 5.2.1 package that you're going to download. Heck, it even exists on the Liferay community site itself.
Aside from that I've seen 3rd party portlet javascript completely break Liferay's javascript, bugs in the new scoping feature, portlets that simply don't install or work, and a variety of other flaws. Without going into detail about every annoying little thing that I've run across, I'll just leave you with this: be prepared to download the Liferay source and do a bit of patching yourself.
There are hundreds of bugs in the Liferay JIRA, and something like 75+ critical bugs. They don't seem to get patched up very quickly. I know the developers are doing the best they can.
3) Documentation is hit or miss.
The Liferay Administrator's Guide is fantastic. Unfortunately, it's for 5.1 and some important bits aren't going to work for 5.2. Things like database configuration. The Liferay wiki is ok, but I really have a hard time using it. For whatever reason, it's very hard to drill down to topics that are relative...everything's in this search view that returns way too many results. I hate wikis for technical support anyhow because the information is almost always incomplete or out of date.
4) Community is hit or miss.
The community can be really great, and it can also be really bad. What I've found is that a single user who really gets on the ball in the forums can start a chain reaction and forum usage goes up. All too often, however, the forums seem to wither and a lot of posts with good questions go unanswered.
If you're going to use Liferay, then I recommend getting active in the community, and don't let your questions go unanswered. Bump away. The traffic on the forums isn't very high so nobody is going to get too upset.
5) The permissions system is whack.
There's a hilarious diagram in the Liferay Administrator's Guide that is intended to make the permissions system easy to understand. On the contrary, it just demonstrates the complexity. Maybe I'm "old school" or something, but users and groups are just fine. Want to throw in roles? Fine. But I don't need communities and organizations and locations and public and private pages and everything else all mixed up with users and groups and roles.
Here's what I recommend: assuming that you're going to want to bring your users in from LDAP or some external source, don't bother using Liferay organizations. The idea behind organizations is interesting, but the benefits of using them are very few and I've run into more bugs due to the added complexity. Instead, just use Liferay communities. Unlike organizations, user groups can be associated with communites, which allows you to grant access to a particular community to a user group that you've imported via LDAP. This way you can manage your users in a more centralized way, which is sorta the whole point of LDAP.
Another recommendation: use public pages sparingly. From what I can tell, public pages in Liferay are groups of pages with Guest access hard wired to "on". I can't think of many good reasons for this in a corporate environment, especially if you occasionally have guests on your network.
6) Liferay releases are... odd.
Be very careful before deciding to upgrade to the latest release of Liferay. With 5.2 we saw changes to database setup that were sort of hard to find, a bunch of example data that had to be physically removed, and a whole bunch of portlets and themes that took a month or so to be released.
7) Performance is pretty poor.
Now maybe I'm being too harsh, but the requirements for running Liferay are pretty high. Be prepared to dedicate a server instance to Liferay with a couple gigs of memory and a decent CPU.
Ok, so I think I've covered everything that's bothered me about Liferay thus far. Reviewing my list, it almost seems like Liferay could use some real business-grade suit-and-tie management to make sure that priorities are set and that the project as a whole moves in some well-defined direction. With things like Social Office taking up developers time, I really don't see the overall quality of Liferay improving much. Given that, it's important to take it for what it is and work around its problems and limitations because it is a good product. It's miles ahead of the other portals out there in terms of end user experience, administration, and simply getting a full-featured portal up and running in short order.
Tuesday, February 24, 2009
Things You Should Know About Liferay in the Enterprise
Thursday, February 12, 2009
How to Select an Open-Source Java Portal for your Enterprise
As usual, I'm spending a lot of time trying to select the appropriate open-source java-based portal for my enterprise (e.g. "company"). I say "as usual", because I've been doing this for a couple of years now. With this vast experience under my belt, I thought it appropriate to share my strategy and process with you all.
1. Determine Your Requirements
This is the best part of portal research! You should write down every cool idea you can think of. Dare to dream big!
Ok, now start crossing stuff off until you're left with the following:
Requirement #1: Portal must work.
Requirement #2: Portal must include Amazing Google Maps Mashup portlet, RSS Reader portlet, and Analog Clock portlet.
There, now you've chosen some realistic requirements.
2. Observe the Desolate Playing Field.
Ok, there are really only a few choices here, so let's not complicate things too much.
Contender #1: Liferay.
Contender #2: Jboss.
Contender #3: eXo.
Contender #4: GridSphere.
Contender #5: StringBeans.
Contender #6: Jetspeed and the like.
3. Choose Liferay
It's just the obvious choice. It looks good. It's easy to create layouts. It has an analog clock portlet. Oops, analog clock isn't available on the latest version. Oh well, it still has Google Maps and an RSS reader, which are both critical to business operations.
But seriously, it has a crapload of portlets and is fairly easy to get running.
4. Fall Out of Love with Liferay
Ok, you know that one feature that you left in your requirements even though I told you to cross it off? You know how you're all excited about Liferay having a sweet portlet that satisfies that requirement? Well, that feature is probably broken.
5. Hate Liferay
This is a big step in our process. It takes a little while to get to this point, and it's important to simply confront the fact that you hate Liferay. Listen, it's ok. Don't feel bad for the way you feel. We've all asked questions in the Liferay forums, and we've all experienced that 90% of them go unanswered. We've all been trapped by a bug fix over here that breaks something over there. Yes, my friend, that portlet really did disappear after you upgraded, and it might not be coming back for several months. No, the code comments aren't just hiding somewhere.
6. Visit JBoss Website
Jboss Portal is it. This is a big company sponsored project. We all know about it. Hell, we have unopened email somewhere deep in our inbox from a RedHat salesman trying to sell us this amazing free software. Look at this site, it's so awesomely corporate.
7. View JBoss Portal Demo on JBoss website.
8. Download eXo Portal.... and stuff
So you've heard a lot about eXo, and holy crap the featureset is huge. This one product can do everything you need, and everything you didn't know you needed. Except it's not just one product, it's a half dozen different products. Oh, but there's an "all-in-one" product, cool. Wait a minute... how the hell does this thing work... let's look at the documentation...
9. Visit Gridsphere Website.
Quick, find a screenshot. I'll wait.
10. Check out StringBeans.
Wha?
11. Look at JetSpeed, uPortal, and All the Other Products That Would Appeal to those Guys Who Use vi and Brag About It.
12. Go Back to Liferay
By this time you've forgotten all the bad times, and Liferay is starting to look pretty hot again. Maybe this time it'll work out. Maybe it was just you. Maybe Liferay has really changed this time.
13. Repeat this Process ad nauseam.
Meanwhile, you're still using Sharepoint.
Tuesday, August 12, 2008
rm -rf /opt/liferay
Sheesh, another Liferay install down the tubes. This is getting ridiculous.
Unfortunately I can't find another portal application with a half way decent document management system included. If anyone knows of anything, let me know. I'm currently downloading the just-released Liferay 5.1.1 which I'll be hating in approximately ten minutes.
Here's some advise for anyone who is thinking about using Liferay:
1) Liferay is extremely convoluted. The end-user system is organized the way a Java programmer might organize his source files. This does not lend itself to useability. Your users, if not extremely competent, won't know what the hell is going on or where they are in the system half the time.
2) Liferay is extremely customizable, but not in a meaningful way. The concept of a "personal space" and a "public" space within the portal all exist, as you might expect, but merging the two concepts into one concise "website" is very difficult.
3) The permissions system has fine-grained itself into sand. You have users, roles, groups, communities, and organizations all duking it out at once over private and public pages organized by user, community, and organization.
A prime example of how this fails is this: you can add users to an organization, and then add organizations to a community. This sounds good, especially for an extranet application. However, just because a user belongs to an organization that belongs to a community does not mean that the various portlets within the community will recognize that the user is part of the organization that belongs to the community. Whew, that's a mouthful. Here's what I mean: if you create a community-wide announcement, users who only belong to organizations that belong to the community will not see the announcement, because the system doesn't realize that they are implicitly part of the community. One way around this is to create a catch-all user group where you dump all of the users who belong to the various organizations that are part of your community. You should also then create a group for each organization in case you want to send announcements to individual organizations through the same announcement instance. Ok, so you're now managing three groups in addition to your community and organizations. Why? Who the hell knows. It's a nightmare.
4) Extending the system is a horrible thing. Just don't, unless it's going to be your full time job. Every single Java technology that has ever escaped from Java Hell is used behind the scenes. You're going to have to know them all. In depth. There are so many references to references to references that you're going to have half a dozen files open just trying to figure out how to make one silly change. Be careful, do something wrong, even in an external portlet, and you could break your install. (why do you think I'm here bitching while waiting for 5.1.1 to download!?) And of course in Java web development style, every little change you try out means restarting the application server, regardless of whether it's in an actual java class or just raw HTML in some template. Wearing a watch? Don't.
5) Documentation was good at around 4.4. Now it sucks. And the fact that liferay.ca expired and the last Wiki overhaul broke every link in the universe, don't even bother using Google. The Wiki isn't getting updated very well. Development documentation is awful. Just awful. The days of the Lifecast seem to be over.
6) The community is virtually non-existant. I would speculate that 70-90% of all questions asked in the forums go unanswered or unresolved. People posting code examples don't often check their work (because it would take about an hour to do so!). The forum software itself doesn't handle code examples at all because they're using a stupid fixed width template.
7) It's a resource hog. Most Java portals are. It's amazing at all the code that runs just to render a typical payload. They've got all their bases covered, for sure, having used every existing technology all at once, but unfortunately there's only one guy playing, and he's standing in right field with his finger in his nose looking up at some birds.
7) What's with the Christian portlets? I mean, Jesus H Christ, nobody ever mentions this. It's a bit odd. Is it a statement? "Look, we know this shit is hard... so here's a Prayer Portlet."
The sad thing is that Liferay seems to be miles ahead of other opensource portal solutions. Nothing would make me happier than a complete feature freeze and a complete examination of how the system is actually being used by, like, people 'n stuff. I really think that all of the features are there, they just need to work properly and take into consideration more than one use case.
As it stands I am very close to keeping Sharepoint as my internal portal even though I really don't like being locked into Microsoft products. The project I'm currently using Liferay for is an extranet and not entirely critical. Based on what I've learned from the experience there's almost no way that I can deploy this software internally and expect it to function well in the short or long term. (BTW, this little project of mine is supposed to be demoed tomorrow. Haha. haha ahdhhahaha haha ah ah ahha aha ah aha aaaaaahhhhhhhhhhhhhhh ha.)
Oop, my download is done. Ahh, nothing like a fresh install to reinstate my sense of hope.
Back in ten minutes...
Wednesday, July 16, 2008
Liferay + Alfresco = Lalfrescoray
Hey what's that, some egg on my face?
My comments about the Liferay WebDAV support in this whiny article are incorrect. As of Liferay 5.1 WebDAV does seem to work since I replaced a goofy NIC in my server. Please see the article comments for more information.
*************************************
Once again I find myself stuck between two partial solutions that I can't combine to solve what seems to me to be a rather simple problem. Here it is:
1) I need a "portal".
2) I need a document management "portlet".
3) I must access the document management system via CIFS or WebDAV.
4) The system must be somewhat seamless; single sign on at least.
After reviewing some options, I decided that Liferay should be able to meet my requirements. It's a "portal" with lots of "portlets" included, including document management. (notice my sarcastic quotation marks)
DENIED: Liferay's WebDAV doesn't work well enough to be considered well enough.
Ok ok, I've heard a lot of talk on the ol' blogosphere about integrating Alfresco and Liferay. From all the buzz it must be a pretty good solution, especially with all this "web script" stuff on the Alfresco side. Plus Alfresco has some great features that I can take advantage of, and I know that it's CIFS support works because I've used it in the past.
FAIL. Liferay and Alfresco do not mix. Like, not at all. Well, not if you want to use Alfresco 2.1 Community or better. (BTW, the latest Liferay Alfresco Content Portlet 5.0.0.1 uses Alfresco 2.0) Ok ok, I'm being a little too negative. They do mix I'm sure if you write your own authentication filter to make SSO work. No problem!
You see, both Liferay and Alfresco love talking it up about standards support, like JSR-168, but it seems that neither of them pull it off well enough to, you know, INTEROPERATE.
The guy (guys?) at Cignex have a supposed solution using CAS between the two, but Alfresco doesn't jive with CAS as easily as Liferay, and I couldn't get this working reliably for SSO. I even bought this book called "Liferay Portal Enterprise Intranets" by Jonas Yuan in anticipation of the Alfresco integration section. What a complete bust and $60 down the drain. The book isn't necessarily bad, but the devil is in the details and the book is unfortunately devil-free.
Not suprisingly, another solution is to simply purchase Alfresco Enterprise, because it uses a different code base than community. In fact, Alfresco Enterprise 2.2+ will work with Liferay while Alfresco Community 2.9B will not. Open source? Sorta.
Frankly, I'm a little bit suprised to see the world of open source portals and document mangagement systems still in such a ridiculous state. Liferay has more bugs than a volkswagon dealer and both Liferay and Alfresco are stupidly difficult to configure in any interesting way, as all Java-based web applications seem to be. XML NIGHTMARE! Here's a tip: if it takes weeks just to understand how to configure your software, then your software isn't finished. Excessive meta configuration files are not a feature. Most of your users don't give a shit about Java Beans or any other beans for that matter.
Community? Not very good in either camp. Outdated documents, wikis (DIE WIKI DIE) and very poor forum support.
Not to just pick on Liferay and Alfresco, I've also tried out Exo and Icecore (built on Liferay) with limited success. I've looked at the JBoss portal a few times also but I just can't get over them basing their forum portlet on phpBB. I know, sounds petty, but phpBB....jesus...I don't want to think about this anymore. Bye.
Oh, and one more thing (damn I'm frustrated). HTTP Basic Auth is NOT a good solution for any feature of any software intended to be used in the Enterprise. (yes, including the Starship Enterprise) Pushing it over SSL only makes transport safer, and doesn't solve the root problem. (and we're just self-signing anyhow, even if we don't like to admit to it) And entering a password into a browser is NOT a good solution, ever. Receiving a password from a web browser is NOT a good solution. This is all the more true on the Starship Enterprise where people are either using potentially weak SSO or making all of their passwords match. The last thing you want are domain passwords in your damn browser cookies. I'm looking at you, REST authentication appologist!
Tuesday, July 17, 2007
Installing Liferay Portal 4.3
Update: There are several very handy presentations called Lifecasts on the Liferay website. They make the already simple installation and configuration even easier.
I wrote the following entry while performing the actual installation, which was much simpler than I had anticipated. A few grimaces but no tears.
------
For the past few days I've been researching portals and portlets to replace Microsoft Sharepoint for our corporate intranet. If you'd like to know why I'm replacing Sharepoint, please install and use Sharepoint. If you're still clueless, fire up Sharepoint Designer and get a good book on .Net.
Ok, now that we're all on the same page, the portal that's got me excited today is called Liferay. That's right, your software got me excited. Your feature documents often fill me with great hope, which invariably leads to a much larger-than-necessary crash into the depths of depression and self-hatred. Still, I must press on. Someday I'll deploy the software that will earn me the status of Employee of the Quarter. Someday.
Anyhow, I found out about Liferay when researching Alfresco, a document management system.
"Huh? I thought you were researching portals?"
Cork it. I'm also researching document management systems, and content management systems, and customer relation management systems and all variations of the above, "enterprise" or otherwise. Really I don't understand why there's so much distinction here. If you want a system to store records then surely you might want to collaborate about the records; maybe schedule a meeting about said records or leave a comment? Perhaps the records in question relate to a particular customer? That wouldn't be terribly strange now would it? I guess it would.
So anyhow, Liferay portal is some kind of Java thing that has all sorts of portlets which are some other kinds of Java things that plug in to the portal to provide the actual features that a person might want. The default portlets supported by Liferay look very promising and best of all, there's some kind of Alfresco portlet. This combination could be the Sharepoint killer that I've been looking for. (Yes, I really did just say "Sharepoint killer" with the full knowledge of the power of that phrase in search engines. There, I just said it again.)
Both Liferay and Alfresco are open source, or at least have public open source versions. I haven't looked into licensing much yet, but it looks like I can freely use and develop for both and I like that. However, being community-driven open source projects, it also means that your community forgot to write proper documentation and probably forgot to implement some show-stopper of a feature. Ouch, burn.
Enough with the preface, let's get on with the install.
I'm installing Liferay on my garbage machine just to see it in action. The garbage machine in question is running Windows XP Pro.
"Oh well then you're just asking for problems...."
Stuff it. If I decide on Liferay it will have to run on a Windows 2003 Server because we're almost 100% Windows here. Not my choice, just the way it is. Get over it. Anyhow, installing on XP Pro should be just fine as I just want to see how it works.
Here we go...
1) I'm visiting http://www.liferay.com/web/guest/downloads and there's a nice "Recommended Download" link entitled "Liferay Enterprise Portal 4.3.0 (Bundled with Tomcat 6.0)". I like recommended download links, especially considering the schizophrenic list of alternative downloads you typically offer me.
It's a zip file, praise Blod (the um, God of Blogs). There are some quick installation instructions underneath the link:
"Quick installation instructions: Install Java Runtime, Unzip, Run startup.bat or startup.sh. Read "Liferay Portal 4 - Installation Guide" for instructions on how to change to a production-ready database instead of HSQLDB."
Sounds easy!
2) Checking the system for Java runtime -- check. Actually: check, check, check, check. I have four Javas, three versions of version 5, and one version of version 6. Whatever. Your Java makes me confused.
3) Download complete. Unzipping.
Ok, what I've got here is a bunch of files and folders. There's a RUNNING.txt file with instructions for installing and running Tomcat. Do I need to follow these instructions? Hmm, according to the LICENSE document, this IS Tomcat. Alright, so my guess is that you basically just installed your software on/in Tomcat and zipped it all up. I guess we can work with that.
4) Running startup.bat. Which is in "bin/". (would it have been so hard to note that even though we all know that bin is short for binary, a convenience that saves us a mere 30 seconds assuming we can only type one word per minute?).
*Blip* Ah, the black blip of a batch file that terminates without pausing. Fine. Shell it is.
"Neither the JAVA_HOME nor the JRE_HOME environment variable is defined. At least one of these environment variable is needed to run this program."
I hate your Java.
5) Reading Quick Installation guide for Liferay. Step 1 says that I need to download and install JavaSE 5.0 and define the JAVA_HOME environment variable.
Have I mentioned that I hate your Java? So I have to actually download and install the JDK because all I've got on this machine is four versions of the JRE. I'm about to have five versions of the JRE because it's included in the JDK. I'm not sure what "Java SE" means, and there's also a "Java EE". What's wrong with you?
On the Java SE Downloads page there's a picture of a girl sitting in a tree while using a laptop. You should take that down because it fills me with rage. There are also about sixty five downloads to choose from. The first download is "JDK 6 Update 2". Is that an update for JDK 6, or JDK with an update? Why would I want an un-updated JDK? The second link is "JDK Update 1 with Java EE SDK Update 3 Preview 2". You bastard.
And wait, aren't I supposed to be downloading J2SE (another acronym!) version 5? Damnit. Ok, thanks to Google I've located the page to download JDK 5, and that same chick is still sitting in a tree.
Ok, the first link is "JDK 5.0 Update 12 with NetBeans IDE 5.5.1". That sounds good, I'll try it. Ok, the download button took me to a page with four thousand, seven hundred and eighty six links. I see another download button; I'm going for it.
Son of a crap, another download page. You are a bad, bad person. Ok, I have to click that I accept a license agreement that I'm not going to read, and then....ahh, ok, I just have to choose the "J2SE(TM) and NetBeans(TM) IDE Cobundle (J2SE 1.5.0 U12 / NB 5.5.1), Multi-language" link under "Windows Platform - J2SE(TM) and NetBeans(TM) IDE Cobundle (J2SE 1.5.0 U12 / NB 5.5.1". Sounds both high-tech and enterprise at the same time. Yay, downloading.
Hey wait a minute, didn't you tell me to "Download an install JavaSE 5.0" in your installation instructions? Aren't I downloading JavaSE 1.5.0? Does JavaSE == J2SE? Nevermind. It's cake day and I'm going to get some cake and eat it. (for real, it's not some silly metaphor)
Damnit there's no cake left. The rest of this install had better go smoothly.
6) Installing J2SE 1.5.0 or JavaSE 5.0 or JDK 5 or something like that.
Man it takes a long time to unpack jars. Done!
7) Ok, re-running startup.bat.
Dang it. If you're going to use Installsheild to install your product, then you have the power to set environment variables for me. Or maybe find a less 1990's way of storing your path? But then we wouldn't have this blog, would we.
8) Setting JAVA_HOME *or* JRE_HOME. I'll pick JAVA_HOME, it sounds nice.
Ok, that worked not at all.
I'll set JRE_HOME. But which JRE to point to now that I have five of them? The largest one that starts with 5 I guess. Oh no, I mean 1.5. I think. 1.5 = 5 and 1.6 = 6. You won't outfox me!
Oh yeah, setting variables via System Properties doesn't update them. What year is this? Google or restart...Google or restart... I'll just restart and take a little walk.
9) Running startup.bat.
It worked! I've got me a nice Tomcat shell that popped up. It's setting "useContextClassloader" to false...that's good. Some more stuff is happening. Good, good. Setting "useContextClassloader" to false again just in case. Good. Ok server startup in 70 thousand milliseconds. Awesome.
10) Browsing to localhost:8080. Hot dog, it worked! Signing in as default user. Success!
Ok, it's working but it's slow. Like sixty seconds to load a page slow. The Tomcat console is reporting java.lang.OutOfMemoryError. Interesting, considering that I'm only using 430MB of 1GB of RAM. The CPU is pegged.
I click on Add Content and about a minute later I get a blank popup. You like doing this to me, don't you. Ok, back to the instructions.
11) Re-reading installation instructions. Hm. Ok so the default database is probably the reason that the system runs so poorly, and that's not a big deal. But now I'm wondering how I use this thing. Let's check the website for some documentation. Ah, Portal Administrator's Guide, perfect.
"Coming Soon!"
Damn you.
Ok, so the documentation for version 4.3 isn't quite complete. That's ok, it's open source and I can write my own documentation. Snicker. But seriously, it looks like there's some documentation for 4.2 and I'm betting that some of it will apply. I'm glad that there is at least some documentation, and it looks pretty good overall.
According to the Portal Administrator's Guide for version 4.2, I click on Add Content to add portlets to the page. Unfortunately this is the same Add Content page that comes up blank on my installation.
Do I have to log in as a different user? I've seen no indication that I have to.
Do I have to download portlets manually? I know there are many bearded men out there who can't stand any extra bits bundled into their software, but I would expect at least one portlet to be available.
Something is wrong.
Looking back at the Tomcat console I'm noticing an error that I missed: "Unable to load repository ... plugins.liferay.com ..."
Ok, that's interesting. Let's ping it: "could not find host plugins.liferay.com".
Awesome. You've almost got me upset, but the strange calmness of 4PM has washed over me.
12) Let me check your forums.
Ok, I found this thread: http://www.liferay.com/web/guest/devzone/forums/message_boards/message/36461 which leads me to believe that everything should be working regardless of the fact that plugins.liferay.com doesn't exist.
Not finding anything about a blank Add Content window.
13) Let me try IE instead of Firefox, just for giggles.
14) That was dumb. This thing is too slow to be messing around like this. Let me figure out why it's running so slow. Searching forums for out of memory errors.
I'm going to try adding the memory options to my catalina.bat file from the following wiki page:
http://wiki.liferay.com/index.php/Setting_up_the_Alfresco_Portlet
Ok, that just doesn't work at all. Restoring catalina.bat.
Server is back up and running. Let me try it again just to see....
It works?!
Ok, apparently all that I needed to do was stop and restart the server.
Conclusion
Your software failed to make me cry today, and for that I am thankful. I do feel like a bit of a fool, however, since the purpose of this blog is to rant about how much I hate your software, but that's what I get for writing while I'm working. Your Java did upset me for a little while there, but not enough to bring tears. Nice try.
So far Liferay looks like it might do much of what I need in order to dump Sharepoint.