Skip to main content

Experiments with Alfresco

Why Alfresco, not any other?
I personally find Alfresco has many features already built in that can be used for office automation and collaboration along with content management. Having said that I dont think, Alfresco user interface is one of the greatest to use. However, UI is good enough to carry on the work. I feel, as far the enterprises are concerned, getting the relevant business functionality assumes greater importance.

I am listing some of the features, I find it useful for organization.
- Built in content model, role, aspects, rules are good enough to implement workable solutions
- Well built document management system extended to manage records as well
- Alfresco share, a web application for collaboration is good enough for the kind of collaborations we normally perform in organizations
- Google like search
- Ability to use Google docs as repository (simple enablement in configuration)
- Ability to create access controlled repository
- Ability to expose repository as network drives via FTP, CIFS
- Ability to expose repository via WebDAV
- Ability to interact with Alfresco repository via Microsoft office and Open office editors (via plug-ins)
- Ability to extend the content model to define custom content type
- Ability to define custom role
- Ability to define custom aspects
- Ability to filter content based on aspects
- Ability to apply rules on content during ingestion and other events
- Ability to define simple ad-hoc tasks
- Ability to define complex workflows using rules and spaces
- Ability to incorporate JBPM advanced workflows into Alfresco
- Ability to customize look and feel (themes, changing logo, layouts)
- Ability to extract metadata from the document, scanned documents, TIFF images
- With Spring Surf as development platform, it is possilbe to create web applications and incorporate into Alfresco
- Ability to integrate Alfresco with LDAP server and AD server
- Ability to integrate with CAS
- Ability to integrate with Liferay portal server and Drupal CMS
- Ability to notify over e-mail
- Other stuffs like blog, discussion forum, calendar, dashboards

I started experiments with Alfresco 3.4 community edition and I was not happy with the documentation details. The details were not matching the latest version. I was surprised to find the configuration approaches and even file names were different. This added to the difficulty in finding the information and customizing some of them. This could be because, I am using community edition and expect good support for enterprise edition. My take is, we need to propose enterprise edition, if we are proposing the solutions to the prospects, else we need to make the pain points clear to them.

I did some basic look and feel customization like changing the logo, and defining custom style sheets. These acts appeared fairly simple and straighforward. But, if we need good amount of customization of layout organization, we need to have developers who specialize in YUI, object oriented java script and freemarker templates.

I will talk about other stuffs I did with Alfresco, in the next post ...

Comments

Popular posts from this blog

Key to adopt open source product

Friends, I am working on business solution implementation on open source product called Kaltura. Kaltura is a media management solution and has loads of features that compel any business to take a peek into it. More-over this is the only complete end-to-end open source software available to handle digital assets. But it comes with its own head ache. Considering its open source, its understandable. I feel, handling these would ensure you the success in your open source product implementation. 1. In my opinion, before adopting any open source software, build the capability to deal with the inconsistency bundled in the open source software. 2. I would avoid involving external consultants for 2 reasons.      a. I am not sure, they would bring necessary expertise on to table      b. I fear that there would be little ownership, they will not see big picture of my business (neither I am interested to share it all) 3. Alternative to that is to build the team that is capable of debuggin

Secure your application on cloud

Handling sensitive data Define sensitive data for your application. Classify as sensitive data and confidential data. Sensitive data is something like password, credit card account number, something that you should not compromise at all. Confidential data could be your customer’s health record, something that requires your permission before its usage. So, you need to define sensitive data in the context of your application. There are many ways to protect the sensitive data in transit; the easiest way is to use SSL. This is nothing different than handling sensitive data in any traditional application.   However, make sure you apply this rule while designing your application for cloud deployment. Alternatively, you can encrypt the sensitive data and transport. Be noted that any kind of protection you design, will have implications on performance. However this is ignorable considering the nature of sensitive data. If you just want to protect your data from being tampered during

Sub-netting: Divide a network into 2 or more networks

Points to keep in mind: 1. Computers that belong to a subnet are addressed with an identical most-sig bit group in the IP addresses 2. IP is logically divided into NetworkIdentifier/Routingprefix and Restfield/HostIdentifier 3. Routing prefix can be expressed as CIDR (Classless Inter-Domain Routing) notation. Ex. 198.51.100.0/24 Implies NetworkIdentifier has 24 bits allocated and Rest field has 8 bits allocated 4. A network is characterized by subnet mask or netmask, applied by bitwise AND operation Ex. For 198.51.100.0/24, the subnet mask is 255.255.255.0 Subnet masks are used to identify the networks *If 198.51.100.0 is NetworkIdentifier, then 198.51.100.255 is BroadcastIdentifier For Class A, mask is 255.0.0.0; Class B, mask is 255.255.0.0; Class C, mask is 255.255.255.0 5. Traffic is exchanged between subnets through routers, when the routing prefixes of the source and destination addresses differ; A router serves as a logical boundary between the subnets. Advantag