Forum OpenACS Q&A: Need to automatically confer package write permission on subsite members

Hello all,

This is my first time posting in these forums, and unfortunately I'm very very rushed. I'm reasonably sure that the answer I need is in documentation but I simply do not have time to divert from my current tasks to read through all of it.

Your help is greatly needed due to these time constraints.

When a user becomes a member of a subsite I need the user to gain write permission on a package that is a child of the subsite. I'm sure that this is done using the OpenACS permissions model and admin pages but I don't know how to go about doing this.

Any help greatly appreciated, I need to have this working by sometime tomorrow CEST !

Thanks,

Ximon Eighteen

Ximon,

You should grant the write privilege to the subsite group. Then any user that is made a member of that group will receive that privilege.

Okay thanks Dave.

I really haven't used the permissions functionality before in OpenACS and I'm looking around the admin pages trying to work out how to do what you've said.

/admin/groups reports:-
- (none)

/admin/group-types reports:-
- Groups (number of groups defined: 0)
-  Application Groups (number of groups defined: 0)
- Define a new group type

I've also checked the relational segments and relational types pages too but nothing leaps out at me as obvious.

I tried the /admin/rel-types/ page and clicked on Membership Relation. I'm still waiting for the page to load (it reports number of relationships defined: 188432), is it the number of users that is causing the speed problem? Perhaps the answer lies within this page when it finally loads.

Now within the site-map I can grant permissions to the subsite entry itself. Do I do it here? If so how? The permissions/grant page is v. confusing - what would I type in the "On subsite name to: " edit box? I don't think this can be the correct approach so I need a little more help.

Ahha I've sorted it.

You gave me the confirmation I needed that it could be done through the admin interface, then I just had to find it.

It was a little hard to find but this is what I did:-

1. Subsite/admin/site-map
2. Click permissions at the ACS Subsite level
3. Click Grant Permission
4. Type the subsite pretty name into the "on Subsite to: " edit box and press OK.
5. Choose "Subsite Name Parties: Subsite Name Members" from the drop down, and click on "write" in the tall box on the left, then press OK.

Sound okay?

Ximon,

You don't say so, but I assume you have the package mounted under the subsite? If so, I believe your procedure above should grant direct write permission to the package and not the subsite. That is, step 2 should be: click permissions at the mounted package level.

/R

I don't follow you.

If I go to http://mysite.com/admin/site-map/ then I see something like this:-

Main Site:/my_subsite/
URL              Instance Name  Package Type
(-) my_subsite/  My Subsite     ACS Subsite   [ links 1 ]
  blah_1         Blah 1         Package A     [ links 2 ]
  blah_2         Blah 2         Package B     [ links 2 ]
  blah_3         Blah 3         Package C     [ links 2 ]

Where [ links 1 ] is [ add folder | parameters | permissions | rename | delete ] and [ links 2 ] is [ add folder | unmount | parameters | permissions | rename | delete ]

What I did was to choose permissions in [ links 1 ], i.e. at the ACS Subsite level. To my mind this will control permissions at the subsite level and not at the level of a package mounted under the subsite, such as blah x.

The packages mounted beneath the subsite node, be default, inherit perms from their parent: the subsite node. If you apply the direct "write" permission to the subsite for the subsite Members group then the Members group will have "write" on the mounted packages also (in your example, blah_1, blah_2, and blah_3).

/R

Which is exactly what I wanted, I obviously wasn't clear enough in that regard, sorry!