Metadata Model in Agile Software Development

cancel
Showing results for 
Search instead for 
Did you mean: 
onkovic
Active Member II

Metadata Model in Agile Software Development

Jump to solution

Currently, we are implementing Alfresco Content Services as a DMS for a large department in our company. The main feature we want from Content Services in this use case is the ability to add metadata to documents. As far as I know, the recommended approach is to define a metadata model. To my knowledge, such a metadata model can no longer be freely modified once deployed (please correct me if I'm wrong).

However, the department is so large that we have to choose an agile approach to the implementation. But this will not work if the metadata model is static and cannot be changed after being deployed for the first time.

How can we implement a metadata model in an agile way?

1 Solution

Accepted Solutions
afaust
Master

Re: Metadata Model in Agile Software Development

Jump to solution

The metadata model can be changed (within reason) after being deployed. Things you should not do are:

  • removing / renaming existing types / aspects
  • removing / renaming / moving existing properties / associations
  • changing value types and index configuration for properties
  • changing the referenced class for associations
  • changing multiplicity / mandatory-ness of properties / associations
  • adding new mandatory properties / associations to existing types / aspects
  • adding new mandatory / default aspects to existing types / aspects
  • changing type / aspect inheritance

You can technically still do all these things, but then you will have to write some extra code (migration / adaptation logic for existing data) and perform some administrative tasks (re-indexing SOLR) to make that work properly.

I have worked in multiple projects using various variants of "agile" methodoligy, and model evolution has so far never been an issue / hindrance. Of course it helps if you are already familiar with the above mentioned restrictions, mitigations and have some experience in how some use cases may evolve from previous content management processes to better inform your content modelling plans / techniques.

View solution in original post

2 Replies
afaust
Master

Re: Metadata Model in Agile Software Development

Jump to solution

The metadata model can be changed (within reason) after being deployed. Things you should not do are:

  • removing / renaming existing types / aspects
  • removing / renaming / moving existing properties / associations
  • changing value types and index configuration for properties
  • changing the referenced class for associations
  • changing multiplicity / mandatory-ness of properties / associations
  • adding new mandatory properties / associations to existing types / aspects
  • adding new mandatory / default aspects to existing types / aspects
  • changing type / aspect inheritance

You can technically still do all these things, but then you will have to write some extra code (migration / adaptation logic for existing data) and perform some administrative tasks (re-indexing SOLR) to make that work properly.

I have worked in multiple projects using various variants of "agile" methodoligy, and model evolution has so far never been an issue / hindrance. Of course it helps if you are already familiar with the above mentioned restrictions, mitigations and have some experience in how some use cases may evolve from previous content management processes to better inform your content modelling plans / techniques.

onkovic
Active Member II

Re: Metadata Model in Agile Software Development

Jump to solution

Thank you, Axel. This helps us a lot!