cancel
Showing results for 
Search instead for 
Did you mean: 

How to segment data within a custom data list to different sites?

amy2
Champ in-the-making
Champ in-the-making

We have a large custom data list on Alfresco Share. We also have 4 different sites, and each site has unique users. We'd like each site to be able to view and edit a portion of the data from the main custom data list, and not have them be able to access or view the portions of data that has been assigned to the other sites. 

Within the custom data list there is a column that specifies which site should be managing the data. We need a way to be able to filter the data to each site by the values in this column, so that each site only sees and has access to the data that has been assigned to them (by filter I mean a 'behind the scenes' filter that filters automatically, not a filter that requires a user to make a selection). 

For a number of reasons we'd prefer not to physically split the data into independant lists on each site, we'd like to keep one main datalist, and filter it per site, if this is even possible. 

We're using Alfresco Community Edition 5.2. Thanks in advance for any suggestions for the best approach to this problem. 

5 REPLIES 5

jpotts
World-Class Innovator
World-Class Innovator

I suppose you could create a behavior that is bound to your data list type, and then the behavior can check the column with the site identifier, then use the API to essentially duplicate the node into the appropriate site. So, changes are made in one master site and the behavior keeps them in sync. If a change is made in one of the "child" sites, maybe the behavior could revert the change using the master copy.

amy2
Champ in-the-making
Champ in-the-making

Thanks Jeff. Our only concern with that would be the duplication aspect, because then we'd have duplicate Alfresco UUIDs with the same information. We are using the UUID from this list within an API to perform CRUD functionality with another system, so they need to be unique. 

jpotts
World-Class Innovator
World-Class Innovator

I guess you could try to use the multiple parent feature of the repo, so instead of duplicating the nodes you just add a secondary parent to the enclosing data list node in the site as determined by the column identifier. But I've not tried to use data lists with multiple parents so I'm not 100% sure that would work.

There is not a hidden feature you are missing out on--the repo doesn't know how to partition data like you are asking, so you are either going to have to dup the data, try the multi-parent idea, or do something entirely different.

I'm resisting the urge to ask why you are using data lists for this instead of putting the data in a proper data store.

douglascrp
World-Class Innovator
World-Class Innovator

The multi-parent idea is exactly what I did in the past for a project.

I can say it works well.

clarabova
Champ on-the-rise
Champ on-the-rise

We ended up having users access the one datalist through one site instead of multiple sites. We added viewing permission based on user group to the datalist. If the current user is included in a user group that matches the Data Manager column, then the user is able to view the node.