After writing for awhile, I decided that it would be best to break this into a 4 part series: Part 1: 1st impressions (this was a few weeks back) Part 2: Company Sales and Service, pricing and install. Part 3: Usability, Community feelings and customizing. Part 4: Support Experiences and overall thoughts.
First Thoughts
I’ve been custom coding Content Management Systems for awhile. I’ve worked with Mambo/Joomla, a little Drupal and a few others like PHPNuke, and even custom coded a few CMS’ for specific websites. But now I’m in a situation where we’re pricing a SharePoint Portal Server because there’s no point in reinventing the wheel for the hundredth time, not to mention it saves money. While the initial software (ie: The actual program.) isn’t that expensive compared to other software packages we’re looking at, the CAL’s (Computer Access License) are going to kill us by bringing the total for SPS and all the CALs being most of our budget for software for the year.
In attempting to do research on SharePoint vs Alfresco, I was quickly humbled by the fact that Google thinks that the best site for comparisons is my own site and even then, the article wasn’t a true comparison (Note: That story turned into Part 1). No one has really compared the two. I had stated in an earlier story that I would look over Alfresco and do a story on it, but it just so happens that I was able to merge both work and my own curiosity into one.
SharePoint
First, let me say that we’re pricing SharePoint Portal 2003, not 2007, since it’s cheaper. (Although, from the MSFT job postings, you can tell v4 dev is ramping up.) It doesn’t have as many features as MOSS (Microsoft Office SharePoint Server 2007), but it’ll do in our situation (except for a few mods we’ll need to insert like Spell Checking). I will, of course, compare the most recent versions of MOSS and Alfresco, so the facts are even on both sides.
Since we’re buying the older version, I can’t complain too much about the lack of features, but I’ll say right off the bat, it’s a bear to setup right. If you’re on a team, I would seriously get MOSS, not SPS2003 due to lack of features on the 2003 side.
While I’m probably not going to make many friends on the Microsoft Sharepoint Dev team (which I’d love to be part of…), SharePoint is not something you buy Monday and start using on Friday. It’s more like buy Monday, install and tweak for 2 weeks (install/setup - same thing at that point), alpha test for 2-4 weeks, beta test for another month or two then release on your intranet. Even then, you’re still going to have hiccups. If you’re running it in highly secure environment or need it to comply with HIPPA, good luck. Grab a few books, a group of people to help problem solve and get Microsoft’s Contracting number out and keep it handy in case you need them to come on site for help. For instance, there is a company that a friend works for - he was on their SharePoint team. After installing it, they found out that they would need to configure it in a highly secure environment - 1.5 years later, way over budget and a month worth of a Microsoft on site contractor, it worked as needed. Now, they have an internal council (which is a great idea) for feature requests, upgrade planning and even bug reports.
Like any Enterprise level system, planning is the key to everything surrounding SharePoint. With SharePoint, you need to focus your planning on the install and the training of users. One thing I’ve seen happen with SharePoint (and this probably goes for Alfresco as well), and you’ll notice this quickly as well, without proper training and upkeep, your users will start making copies of files all over the place instead of linking to them. This is the same situation as a file sharing environment where users all start copying the same excel or Access DB all over the place so they don’t have to find it or because they just want to edit it themselves - even though training on what a simple shortcut can do can save a share server. Permissions and how to use them are another thing to focus on. You’ll find your users attempting to lock out the world and use Sharepoint as a team page that only they can see - this goes against everything Sharepoint stands for. There are times and places for such things, but not in the beginning.
Sales
The Office website is a bit of a pain to navigate. While the Alfresco team would like you to believe that you can’t find pricing on the Microsoft website, you can if you try hard enough. In the end, it’s not the program that is expensive, it’s the CALs. But, you really need to take advantage of the different licensing types Microsoft offers to get best total cost of ownership as low as possible.
Installation
The SharePoint install is pretty easy, but there can be some hiccups as well. If you have a website installed, I would strongly suggest that you backup your whole website (you should actually do this anytime you do anything big on a web server). I have heard that ASP.net tends to be a bad idea with SharePoint 2003, but from what I’ve seen, there isn’t any major type of problem. FrontPage extensions? Um…yea… SharePoint takes your server over. Hope you like to “argue” with a web server.
The first thing to be worried about is installing SPS to use a remote database. You must invoke setup via command line. If you need help on this, there is another blogger that has written this out. By default, it uses MSDE (ie: A mini-database that a lot of programs install by default - they annoy the CRAP out of me…). In my experience, MSDE is not a solution for a production server since SharePoint stores everything, and I do mean everything, in the DB. I really think that MSDE is barely enough for testing SPS. As a for-instance, we have an MSSQL 2005 Enterprise server at work with 1.1TB worth of storage and we where wondering if, in about 2 years, it would be enough storage for our user base. While we think it’ll be alright, we really don’t want to play games with the SQL server later on.
Setup
The SharePoint setup process (this means going into the web administration, not the Install process) is interesting. I will say that if you do not have SharePoint experience, you really need to read several books and attempt to take some hands on training. SharePoint setup is not for the weak of heart nor for the “I can learn on the job” type person. If you have no experience with it and you’re being asked to set it up in record time, be afraid, very afraid. The reason I say this is because SharePoint connects to a heck of a lot of stuff and has so many config screens you can literally get lost.
If you’re unfamiliar with SharePoint, consider setting it up on a virtual server first. Copy the main server files in case you hose SharePoint beyond fixing. Reinstalling is just copying the virtual server over itself, starting it up and starting over. This is how we learned how to do it and I must say, I personally hosed a server so bad, we had to reinstall it via the above method even after attempting to troubleshoot my issues.
Alfresco
Alfresco is an open source solution, a little like the MySQL Enterprise solution. It has a community behind it, but the company ultimately sells the Alfresco product and provides support for it to businesses.
Alfresco’s website has recently been redesigned and, in my opinion, looks too much like the Microsoft Office website. Even after the redesign, there is still something that bugs me. Instead of going to a form and selecting my options and then sending it off to the sales team, they list an email address. Guys, I complained about this before and I’m doing it again… This is a little unprofessional, in my opinion. Granted, I still don’t like how I have to email Alfresco to wait on licensing costs, but they prefer to keep the costs to themselves. Actually, Alfresco had the following to say about that:
Secondly, you are correct that we don’t offer pricing on-line…neither does our open source or proprietary competition. We feel that anyone that is serious about implementing Alfresco in an production environment will contact us for support and that our price point is considerably less than our competition.
To their credit, their team got back to me within 2 hours of requesting a quote. Unfortunately, due to the fact that there wasn’t a form, a lot of questions where asked in return. Another thing that irked me is the standard thing of a company asking me for time to do an online demo, otherwise known as a webcast. Now, they’re not that bad - they asked once, where turned down and they politely dropped the subject and provided what I asked for. I have had a company’s VP of sales attempt to get me on the phone over turning down a demo - he was pretty upset that I turned them down, almost offended.
Now, there was a major mistake in the email that came back - major. I was quoted something VERY low. So low, I’m assuming it was actually for the lowest “price” package they had. I actually went home thinking “how can they make money…” Now I know. After returning to work, I found out that there where 2 other people that replied to my email on pricing. This was yet another mistake. Each person contacted me individually, there was no proper tracking, another suicidal mistake. If the company can’t keep track of it’s sales email, how in the world are they going to be able to figure out the level of support I purchased when I call after 6 months?
The second guy replied and only wanted to talk on the phone and guessed, very incorrectly, as to where I physically was - if you’re going to do that, at least look at my signature line - it would have told you enough information to find it on Google. The third guy gave me the correct information that I had been looking for to begin with, without all the extra fluff or request for calls.
After getting all the correct information, I seriously believe that the company has lost its mind. For the pricing they listed, in what I assume was the correct email, I could build up a brand new (ie: buy a new box) SPS 2007 server with over 1,000 CALs and pay physical hosting fees for over a year…seriously. That’s just for one server. If I would have taken the whole quote with 2 full servers and a backup server…wowzers. Seriously speaking, for an “open source” solution, if I where to show this product and the quote to management, I would be laughed right out of the room, maybe even talked about how much I value my position if I take options like this seriously. Fortunately, the project was killed before management saw the quote. Unfortunately, I cannot list why - sorry…
Installation
Setup of Alfresco is actually pretty normal, in terms of OSS projects. Unfortunately, this means that there are holes in the documentation and requirements. It’s even outlined in a recent post on their forums. In the end, the installer has pretty much everything you need to install Alfresco, but some businesses may be disappointed that there isn’t an IIS solution - you need to install a Java based system like Tomcat (which is included in the install).
The default install installs a DB that I’d never heard of until today - Hypersonic DB (HSQL/HSQLDB). It’s a Java based DB engine that is Open Source. While I didn’t have time to play with it, the default DB concerned me when the home page states that it’s now capable of supporting up to 8GB of storage. Now, the ignorance factor is here… I don’t know if thats an 8GB data chunk or 8GB of total data. I’m not knocking the HSQL team in anyway when I say this, but I was really surprised to see that the Alfresco team had chosen a brand new DB instead of something like MySQL or PostgreSQL. Either way, I’m not a huge fan of Java or JSP but the Alfresco team has built everything around that technology and even used a DB that uses it.
So, do you need two web servers or is Alfresco going to play with your IIS setup like SharePoint does? Well, Alfresco uses Apache TomCat and the default setup uses port 8080, so you can run Alfresco and an IIS/Apache server on the same box, assuming your box is up for the challenge.
Setup
SharePoint has been around for awhile, so it’s documentation is out there, in your face. Alfresco, on the other hand, has some catching up to do. Roving around in their Wiki, I didn’t find much. Some of their documentation was as simple as:
Download and install JDK.
1. Browse to the java download site.
2. Select the JDK 5.0 Update x option.
3. Download the Windows Offline Installation option (~55M).
4. Double-click on the downloaded file, which is self-installing.
The file normally installs in the C:\Java directory.
Unfortunately, the setup process is a little clunky for people that aren’t programmers. The reason I say this is because if you want to do anything that is not part of the normal, default install, you’ll need to edit some of the core files of Alfresco. This is almost like digging around in the Apache Conf file, if you’ve ever done that. It’s really not that fun.
If you’re just using the default setup, it’s fine and pretty much works out of the box, but as soon as you want to start customizing certain features, you’re going to need to be careful and may want to have a programmer do you work. The average sysadmin isn’t going to want to play with these files to get things to work.
From what I’ve seen, the graphical Administration panel doesn’t allow you to get into the nitty-gritty details of certain features like DB setup, email setup, Active Directory setup, etc.
Issues With Both
There are specific issues that will cause problems on both systems. The initial installation and setup is the key to these systems. Everything after the start can be changed, but if you mess up on the install, you might as well backup and take your time doing it right. Setting up an SPS/MOSS portal on MSDE then launching it can be devastating to a launch and migrating the data can be a severe pain.
Now, after reading all that, everyone should know right away, I like OSS software, but in this case, I’m looking for the best Enterprise product. I’ve learned over the years that big businesses say they embrace OSS, but internally, scoff at it. I think this might hurt Alfresco as well since it uses so many OSS packages with it. If the package was written in .Net utilizing MSSQL or MySQL, it would probably have a little kick on the Enterprise system. Using Apache over IIS is one thing, but installing Tomcat, Alfresco and HSQL - all of which is OSS, might be too much for the average business that is worried about OSS security.
At this point, SharePoint is the clear winner. While it’s complicated, it’s much more user friendly when setting up than Alfresco is. From what I’ve seen on the Sales side, Alfresco needs to mature a little more, internally, before they can really make leaps and bounds. Alfresco lists customers that have installed the system and I can’t help but wonder why they went that route.
Next up: Usability, Community feelings and customizing. - It should come soon.
