The Versatility of Alfresco Aspects

Showing results for 
Search instead for 
Did you mean: 

The Versatility of Alfresco Aspects

Member II
0 11 2,524

Recently I was having a conversation with Alan Weintraub, Principal Analyst at Forrester. We were discussing the importance of building the right taxonomy for managing content. Both of us have been in the content management business longer than we cared to remember, and both have worked on systems that needed to create hierarchical type taxonomies with metadata held at different levels. Spending many hours trying to decide the most appropriate place for a certain attribute.

Enter Alfresco Aspects. An aspect is a collection of attributes that can be overlaid on to any file, irrespective of type. The system may have a number of types defined – Contracts, Reports, Issue Logs and Case Files. If I create a contract and then want to identify it as a customer contract I just add the customer aspect. Aspects can be applied manually, with the user choosing to add an aspect, or automatically – applying an EXIF aspect to hold extra photograph information once a JPG is uploaded. Of course multiple aspects can be applied to a file.

Using aspects makes it much easier to deploy Alfresco; it simplifies the metadata model and makes content much easier to find for the end users. I just wish it had been invented 20 years ago!

Video: Adding an aspect

[youtube XyUx8QeHUSk?rel=0]
Video: Search an aspect

[youtube rJXkVQuKa94?rel=0]
Active Member
I agree so much, but the feature is so far hidden that most users don't even know about it. Alfresco should bring these features much more to the front - once they have decided what this front could be...
Active Member
What do you mean by hidden? I think aspects are as well known an documented as the rest of the content modelling elements.

I do agree though that 'using' or 'integrating' those custom models (aspects, types or whatever) in Alfresco UI's could be much more straightforward, but it seems to me that, although not yet there, Alfresco Share and its forms engine is heading in the right direction on this matter.
Active Member
I'm confused by the difference between a Custom Model, Aspects and Custom Aspects.

If I add a custom model, that could then add an aspect (property?) to all documents in the repository.
Member II
You can use custom models, custom aspects or a combination of both. Having a set of custom attributes held as an aspect allows you to overlay them on any object. This greatly simplifies the model.
Active Member
Hi Paul,

can I ask you which version of alfresco used in these screencasts?

I'm on alfresco 3.4b and I have not found a way to configure the advanced search for aspect... as in your second video. In the share-config-custom.xml I added an entry for the AdvancedSearch condition, but  when I select that I get an error 'A form could not be found for item: [type]my:customaspect'...
Member II

I was using Alfresco Enterprise 3.4.0 - But the configuration should be the same for both Community and Enterprise. I will write a post with instructions and my setup files.

Active Member
Thanks Paul,

It might be a good thing to share those configs.. ;-)


Active Member
I find the documentation supporting this software to be lacking all fronts. Aspects for sites and for folders include items such as Classifiable, Complianceable, Dublin Core etc but there is no explanation of how these are used and the impact thereof. Taggable does not even feature in the help file although it is in the software. Similarly, trying to find out how tags and categories and aspects work together in the realm of a taxonomy is not possible.
Active Member
[...] in January I posted a blog about how powerful the Aspect feature was in Alfresco. It included two videos – one showing how [...]
Active Member
Thank you so much for config files Paul!

I've been battling the same problem as Francesco (and many more) the whole day and had the same error coming up all the time... How to enable advanced search for aspects... well you can't directly bind search form to an aspect or you will get “A form could not be found for item: [type]my:customaspect” no matter what you try, instead you can only bind them to a type. Now my main problem was I didn't want custom types or subtypes but to simply use 'cm:content' for each aspect search without overriding each other... The key is a custom id (thanks again Paul).

Here is a short code listing from Paul's share-config-custom.xml












Notice the id='customersearch' Smiley Happy (thought it could only be 'search' in order to work)
Member II
You can now find the config files and  instructions on this blog post (