Maybe we should view this from a social networking/collaboration point of view. Over the last few year we developed a model called Load-Link-Share- (Restrict)

For Laconica this means:
Load  = a user post  a notice
Link = #tag the notice to link it to related notices (and other content using this tag)
Share = Share it with Communities and/or people
Restrict = restrict read/write/ admin ACL to groups and/or people

As you can see - we make a difference between a
Group = a collection of people used to apply ACL's
and
Communities =  collection of groups and individual people

This model allow to apply any access control granularity needs you might have
Example:
A community  named  laconica   (id =:laconica) consists of
- Core member group with read and write ACL within their community (group id = !laconica) - Group reviewer belongs to the community but only has read ACL ( group id = !laconica-Reviewers) - Joe and Jim are individuals and have admin rights to administrate the group (user name:@joe,@ jim)

In our implementation we have following tagging policy

Community tag = community:uniqueCommunityKey laconica = :uniqueCommunityKey) Core Member group of a community = MEMBERS-uniqueCommunityKey laconica =!uniqueCommunityKey) Associated groups: either uniqueCommunityKey-GroupName for related groups managed by this community (laconica - !uniqueCommunityKey- GroupName or any other group name e.g. all-identi.ca-users)

The beauty on this model is to

Plus
+ relates  notices (and other content)  via Tags
+ share with communities via Community Tag (in laconica it could be :community) + granular ACL if needed based on groups e.g !Laconica or !Laconica- Reviewers and individuals e.g @Jim + works across multiple laconica instances (and other social services using the same convention)


Minus
- need explanation about the difference of a groups and communities
- need to enforce name conventions for groups .
- need to add Community identifier e.g :
- more complex than a simple group model.

Summary
@xxx = user
#xxx = tag
!xxx = group
:xxx =community

:xxx could consist of @xxx(admin), !xxx*read/write), !yyy(read)

If you are interested you can watch a short video which show how we implemented the LLS model https://slx.sun.com/1179273037
for  attachment sharing ...

Maybe this looks pretty complicated .. but this model satisfies the main enterprise needs for open-secure social collaboration :-)


_______________________________________________
Laconica-dev mailing list
[email protected]
http://mail.laconi.ca/mailman/listinfo/laconica-dev

Reply via email to