Hello all,
We started organizing our Aris repository like this :
- Library : top group (directory) with all common objects. Read acces is granted to everyone so that objects may be widely reused. This group is subdivided into subgroups corresponding to architecture layers (Business, Data, Application, ....) .This group does not contain any model.
- Enterprise models : top group containaing all enterprise wide models, further divided into subgroups. . Some access rights may be set on certain subdirectories. This group does not contain any object.
- Projects : this group is divided into subdirectories, one for each project . Each project group contains models and objects (definitions) created by the project. When a project is over, the idea is to move reusable objects to the library top group, and some (or all models) to the "Enterprise model" group. Access rights are set on project groups so that only project members may create or modify objects and models in the group.
This structure has some advantages :
- Private spaces for projects
- Global access for objects and maximum reuse
- Fine-grained access to enterprise models
But doing so raises some challenges :
- Sometimes one may create a model and some objetcs directly in the "Enterprise models" group. Housekeeping and/or discipline is needed to move the objects to the library group afterwards.
- When a project is over , objects and models are to be moved to different directories. More housekeeping
- Objects definitions are separated from the models creating them. This may be tricky for some reports or searches. Typically searching objects ("find" in Aris architect) in the Enterprise Model group yields no results (as the objects definitions are in the Library group). You'll have to look for object occurrences in the models group, deal with duplicates, and reach out from the object occurrence to get the object definition.
How did you end up organizing your Aris repository ?
Thanks !
For the record , Marcus Bergenstråhle is describing here a similar setup, and a script moving objects from the models location to an object library group.
Another discussion here : Repository Management Structure/Best Practice