cancel
Showing results for 
Search instead for 
Did you mean: 

Philosophical modeling question - types/aspects/future migrations

ddelapasse
Champ in-the-making
Champ in-the-making
We are attempting to avoid any duplication of data in our aspects.  So we have a lot of small aspects (10-12) and then a few (7-8) types that use various combinations of the aspects.

Here's an example:
BaseType - mandatory aspect BaseAspect
Types 1,2,3 all are subtypes of BaseType
Type1 has mandatory aspects: aspectA, aspectB, aspectC, aspectD
Type2 has mandatory aspects: aspectA, aspectD
Type3 has mandatory aspects:  aspectB, aspectC

This seems pretty brilliant to me :-), but my boss keeps freaking me out saying…"then one day we'll migrate to different types" or bring in data from several repos and migrate the aspect data into new aspects…

From what I read declaring a type is an irrevocable act.   If you change your mind about the document's type you'd have to upload it again to change it?  Or is there some way to clone the document and re-type it?  And then maybe have a script transfer some of the metadata into the new aspects?

Please advise…I see people saying "your model is WRONG if you have to change it", but if I could tell the future I'd buy a lottery ticket.  Of course, things will change, so we have to make some kind of plan.  If I were to give up types entirely could I group the aspects using some other means?

Appreciate any advice from folks who actually use Alfresco in a large company with lots of data!   Based on this forum I'm not convinced there are that many of those people - but maybe their code always works and they don't need the forum :-).


2 REPLIES 2

mrogers
Star Contributor
Star Contributor
Looks fine to me.   But obviously you know your domain. 

If in future you do need to migrate to different types then that is a data migration exercise.   And can't be avoided.     But if your data model is correct then you shouln't really have a big problem.  

If your data models are wildly different then that will be harder.

One final comment, consider using optional aspects as well as mandatory ones.

ddelapasse
Champ in-the-making
Champ in-the-making
I don't see how migration is possible.  If I decide that Type2 should be split into new types: Type5 & Type6, is that possible without downloading all the data and reloading it?