Interesting things about ECM


ECM, CMS and WCM Job Market in Bay Area California USA

Filed under: Alfresco, Oracle UCM, Sharepoint, WCM — Tags: , , , , — Anthony Fast @ 8:44 pm


There are couple of my friends getting laid off from their company, who are working in the Enterprise Content Management, Content Management System and Web Content Management market in Bay Area, CA and in India. Is the job market not good? Is there any implementation going on in companies for ECM? Atleast for WCM and document management and/or collaboration implementation projects are going on in various companies.

I went ahead and did some research on this. I chose three Job search engines –, and I chose an area – Santa Clara, CA 95050 and searched jobs for every ECM technology product for 100 miles around.

Technologies I chose were Alfresco, Sharepoint, Documentum, Oracle Stellent and IBM FileNet. The jobs could varu from implementation consultant, developer, project management, business analyst etc., You know what? The interesting find is – There are n number of Sharepoint implementations going on. Sharepoint is very very popular. Documentum is next, but not that high compared to Sharepoint. All others are just hanging in there.

Market is definitely bad and that kind of says – the situation of Job Market for ECM, CMS and WCM related work/projects. By the way – if you are an ECM company and if you want to definitely get job – learn Microsoft SHAREPOINT for now. You will definitely get job in this market too!!


Comparing Alfresco and SharePoint 2007

Filed under: Alfresco, General, Sharepoint — Tags: , , — Anthony Fast @ 7:48 pm
Category Alfresco SharePoint 2007
Cost Estimate $15000.00 $40000.00
Available Languages
Learning Curve
License GNU General Public License (GPL) Commercial / One-time Cost
One-Click Updates
Standards Compliance Level
Site Setup Wizard Limited No
Total views 32 11
Content Categorization Yes
Content Construction Kit
Content Staging and Merging Yes Yes
Content Tagging Yes
Content Templates Yes Yes
Custom Content Types
Import-Export Yes
Printer, Email and PDF Versions
Revisions and History Yes
Scheduling Yes Yes
Subscriptions No Yes
Tag Cloud Yes
Voting and Rating Limited
Advertising Management No Yes
Affiliate Tracking No Yes (Add-on)
Calendar Yes Yes
Chat No Yes
Commenting System
Contact Form No Yes
Contacts Management No Yes (Add-on)
Events Management No Yes
FAQ Management Yes Yes (Add-on)
File Repository and Distribution Yes Yes
Forms and Surveys No Yes
Full-Text Document Search
Graphs and Charts No Yes
Guestbook No Yes
Helpdesk / Ticketing System No Yes
HTTP Proxy No Yes
Internal Search Engine Yes Yes
Lightbox (or variants)
Link Management Yes Yes
Live Chat
Media Gallery Yes Yes
Newsletter Management No Yes
Polls No Yes
Sitemap Limited Yes
Streaming Audio Management
Streaming Video Management
Tests, Quizzes and Raffles No Yes
XML Sitemap for Search Engines
Interface Localization (l10n) Yes Yes
Internationalization (i18n) Yes Yes
Language Negotiation
Multi-Site from 1 Codebase Yes Yes
Multi-Site from 1 Database
Multiple Domains Management Yes
Right to Left Language Support
CGI Mode Support No No
Content Syndication (RSS) Yes Yes
Database Query Editor
Database-to-Web External Databases
FTP Support Yes Yes
iCal No No
Section 508
Text Browser Support
UTF-8 Support Yes Yes
W3C XHTML Compliant Yes Yes
WAI Compliant Yes Yes
Web Services API Yes Yes
WebDAV Support Yes Yes
Content Type Theming
Drag and Drop Layouts
Granular CSS Classes
Scheduled Theming
Style Wizard No Yes
Sub Theming
Template Language Yes Yes
Theming / Skinning Yes Yes
URL Path Theming
Web-based Template Management Yes Yes

Device Capabilities Caching
Device Capabilities Detection
Device Groups
Site Wizard for Mobile Site
SMS Support
Templates per Device Group
Unique Mobile Content
Clipboard Yes Yes
Copy / Paste from Office Yes
Email Content to Site Yes Yes
External Editor Limited
Image Auto Thumbnails Yes
Image Editing Limited (Add-on)
Image Resizing Yes Yes (Paid)
Macro Language Yes Yes
Server Page Language Yes Yes
Spelling Checker Yes (Add-on) Yes
Trash Bin Yes Yes
Undo History Yes Yes
WYSIWYG Editor Yes Yes

Advanced Caching Yes Yes
Automatic Meta Tags Yes
Bandwidth Optimization Limited Yes
Database Optimization No Yes
Database Query Caching
Database Replication Yes Yes
Friendly URLs Yes Yes
Load Balancing Yes Yes
Minify Javascipt
Search Engine Optimization Yes Yes
Static Content Export Yes No
Audit Trail Yes Yes
Captcha Anti-Spam No No
Content Approval Yes Yes
Database Backup/Restore Yes
Email Verification No Yes (Add-on)
Error Reporting Yes Yes
Kerberos Authentication Yes Yes
LDAP Authentication Yes Yes
Login History Yes Yes
NIS Authentication No Yes
NTLM Authentication Yes Yes
Password Encryption
Pluggable Authentication Yes Yes
Sandbox Yes Yes
Scheduled Backups
Session Management Limited Yes
SMB Authentication Yes Yes
SSL Support Yes Yes
Versioning Yes Yes
Administration Dashboard Yes Yes
Drag and Drop Interface Limited Yes
File and Document Manager Yes Yes
Google Analytics
Inline Content Administration No Yes
Internal Search for Admin
Link Checker Limited
Mass Upload Yes Yes
Media Library Yes Yes
Metadata Yes Yes
Offline Maintenance Page
Online Administration Yes Yes
Personal Dashboard
Site Navigation Management Yes
Statistics No Yes
Translation Strings Management Yes Yes
Workflow Engine Yes Yes
Zip Archive Support Yes Yes
Certification Programme Yes Yes
Code Skeletons Yes Yes
Commercial Manuals Yes Yes
Commercial Support Yes Yes
Community Forums Yes Yes
Developer Community Yes Yes
Issue Tracking Yes
Mailing Lists No Yes
Online Help Yes Yes
Support Network Subscription
Trainings and Seminars Yes Yes
User Conferences Yes
Buddy List
Memberlist Search
OpenID Login Support Limited
Paid Content Subscriptions No
Private Messaging System No
Public User Page
Registration Form Yes
Registration Form Custom Fields Limited
User Access Control Yes Yes
User Contributions Limited Yes
User Groups Yes Yes
User Points / Karma Rating
User Preferences
User Profile Custom Fields
User Profiles Yes Yes
User Signatures
Who’s Online List



Understanding the differences between Alfresco’s repository implementations

Filed under: Alfresco, General, Performance, Scalability, WCM — Tags: , — Anthony Fast @ 6:14 am


People new to Alfresco are often unaware of the existence of two different repository implementations within the product. One, which I’ll call the “DM Store”, is the classic store, the one that’s been used by Alfresco since the beginning. The other, the “WCM Store” or, as it is often referred to in API-speak, the “AVM Store”, was born with the addition of the Alfresco WCM product offering. Whether you are doing document management or web content management, you use the same Explorer client, but under the covers, your content lives in two very different types of repositories.

The Alfresco story on why a second repository implementation was created is that the Engineers writing WCM didn’t believe the DM store was capable of providing the kind of support for versioning, branching, and layering functionality they needed (hence, the AVM acronym, which stands for Advanced Versioning Manager) so they created an entirely new repository implementation to support WCM.

Why does this matter, apart from being a possible topic of conversation at your next get-together (”Healthcare is easy to fix. Do you think Alfresco will ever unify their two repository implementations?”)? It matters because the “two sides” of Alfresco are not equivalent in terms of functionality and depending on what you need to do, you may find yourself performing unnatural acts to work around the disparity.

Many projects will be completely unaffected by the differences between Alfresco DM and Alfresco WCM. But it is important to know what these differences are when you first begin to plan your solution to avoid uncomfortable conversations between you and your customer when you realize you’ve made a bad assumption.

I’ll assume you know the high-level capabilities of both Alfresco DM and Alfresco WCM. Obviously there are some things one product can do that the other can’t that are by design (sandboxes and virtualization in WCM, for example). What’s more important to understand are the subtle (and sometimes not-so subtle) differences between the two. Here’s the list and a table that summarizes, if you are into the whole brevity thing:

Content Modeling. Alfresco DM uses a proprietary XML-based description of the content model while Alfresco WCM uses XML Schema. On the surface this isn’t a big deal, but it does mean if your repository contains a mix of DM- and WCM-stored data, you won’t have a single model that defines it all and you could possibly have duplication between the two.

Custom Content Types. In Alfresco DM, when you create content, you tell Alfresco what its content type is. If you’ve extended the out-of-the-box model, you can have any number of business-specific content types with your own custom metadata. In Alfresco WCM, custom content types are not supported. In WCM, your content type is your web form. Interestingly, although the “Type” dropdown is shown in the “Create Web Content” dialog, and it will contain custom content types you’ve defined using the Alfresco DM model, your selection will not be honored. All AVM content is created as an instance of the “avmplaincontent” content type no matter what you select. However, although you must do it through an API call, you can apply custom aspects to AVM content.

User Interface Configuration. Alfresco DM uses a proprietary XML-based configuration file to define the “property sheets” that display metadata in the Alfresco Explorer client for a given content type or aspect. Alfresco WCM uses the embedded Chiba XForms engine to inspect the XML Schema (XSD) and automatically create a web form that will produce data that conforms to the XSD. XSD annotations can be used to influence the presentation of the form fields. One outcome of this is that it is much easier to localize things like property labels in Alfresco DM than it is in Alfresco WCM.

User Interface Extension. If you need to change how the Alfresco Explorer client behaves, there are some things you can do through XML, but advanced customizations will require JavaServer Faces (JSF) development. Alfresco DM and WCM both use the same Explorer client so this applies to both (See “Alfresco User Interface: What are my options?”). However, if you need to change how the web form engine works, you may need to write new Chiba XForms widgets. For instance, Optaros developed a web form used to describe points and regions on Google Maps. That kind of thing requires you to understand how to extend Chiba.

Structured (XML) data entry. Data entered in an Alfresco WCM web form is saved as XML that conforms to the XSD you’ve defined. There is no similar facility for capturing data as XML available within Alfresco DM. At one point the Community code line had “ECM Forms” which was essentially WCM web forms for the DM side of the house, but that’s disappeared in the latest Community release. On the DM side, when you edit metadata you are editing object properties whose values get stored in the database, not as XML.

Transformations. You can use either Freemarker or XSLT to transform Alfresco web form XML into other formats. That transformation is defined as part of the web form configuration which you do within the Explorer client. In Alfresco DM, transformations are more about binary file transformations (DOC to PDF or GIF to PNG, for example). If you want to do Freemarker or XSLT transformations on XML content stored in Alfresco DM, you’ll need to write that yourself (an Action would do the trick). If you want to do DM-style transformations on binary files in Alfresco WCM, that’s not out-of-the-box. You’ll have to do that using the API.

Rule actions. Alfresco DM allows you to configure rules on folders to trigger actions (out-of-the-box or custom) to operate against newly-added, updated, or deleted documents. Alfresco WCM does not support rule actions at all.

Auditing. Alfresco DM has a granular auditing sub-system. You can configure it to audit just about anything you want. Anything except WCM. You can audit web project creation, but not changes to individual web assets within a web project. At least not out-of-the-box.

Object-level permissions. In Alfresco DM you can assign users and groups to roles at the folder and file level. In Alfresco WCM, the UI will only let you go as low as the web project level. The API supports more granular security but you have to implement that yourself with custom code.

Search. Everything in Alfresco DM is full-text indexed and searchable. In Alfresco WCM, only the Staging Sandbox of each web project is indexed. You can do a search from your user sandbox but you’re really searching the Staging Sandbox. If you have any content you’ve created in your user sandbox that you have not yet committed to Staging, web project search won’t find it. Another limitation is that you cannot search across web projects. That search box that’s visible in the far upper right-hand corner of the Alfresco Explorer client is the Alfresco DM search–it won’t find anything in any of your web projects.

Advanced Workflow. Alfresco DM and Alfresco WCM use the same JBoss jBPM workflow engine so there’s no functional difference between what you can do with workflow on either side. The only catch is that in Alfresco DM, all deployed workflows show up in the “Start Advanced Workflow” dialog whereas in WCM, you have to tell Alfresco which deployed workflows are okay to use for WCM. That’s covered in the Alfresco Developer Guide and on the wiki.

File protocols. CIFS and FTP are the only two file protocols supported by both Alfresco DM and Alfresco WCM. Similar protocols supported by Alfresco DM such as WebDAV, inbound SMTP, and IMAP, are not supported by Alfresco WCM.

Deployment. Some people use Alfresco DM to manage content that is published to the web because they don’t need the additional features WCM offers, or they have some other reason to export content to another server. Unfortunately, Alfresco DM does not yet offer a deployment component like the one in Alfresco WCM. If you want to export content from Alfresco DM to some other destination in a systematic way, you’ll have to roll your own solution.

As John and Paul said, “It’s getting better”

Some of these differences will become less drastic in coming releases. For example, Alfresco is implementing a new form service that will be used to define the content model and user interface across the entire product line, so that helps. The WCM deployment functionality is also being refactored and will ultimately work for both DM and WCM. And at every community event Alfresco talks about “repository unification” as a goal for the future, although the timeline is lightyears away in terms of software releases.

As I said, depending on what you’re doing these differences may not affect you at all. Just make sure you don’t assume that a given feature is available everywhere, and make sure you’ve made a conscious decision about what content to put in which repository (DM or WCM) based on your requirements.

Create a free website or blog at