Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/configuring.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/configuring.xml,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-core-docs/www/xml/install-guide/configuring.xml 4 Feb 2004 16:47:35 -0000 1.2 +++ openacs-4/packages/acs-core-docs/www/xml/install-guide/configuring.xml 11 Mar 2004 15:29:05 -0000 1.3 @@ -95,7 +95,81 @@ - + + How do I diagnose a permissions problem? + + + + Steps to Reproduce + The events package does not allow users to register for new events. + + + + Go to the http://yourserver.net/events as a visitor (ie, log out and, if necessary, clear cookies). This in on a 4.6.3 site with events version 0.1d3. + + + Select an available event + + + A link such as Registration: Deadline is 03/15/2004 10:00am. +ยป Login or sign up to register for this event. is visible. Clyick on "Login or sign up" + + + + Complete a new registration. Afterwards, you should be redirected back to the same page. + + + Actual Results: The page says "You do not have permission to register for this event." + Expected results: A link or form to sign up for the event is shown. + + + + Finding the problem + We start with the page that has the error. In the URL it's http://myserver.net/events/event-info.tcl, so open the file /var/lib/aolserver/service0/packages/events/www/event-info.tcl. It contains this line: + + set can_register_p [events::security::can_register_for_event_p -event_id $event_id] + We need to know what that procedure does, so go to /api-doc, paste events::security::can_register_for_event_p into the ACS Tcl API Search box, and click Feeling Lucky. The next pages shows the proc, and we click "show source" to see more information. The body of the proc is simply + return [permission::permission_p -party_id $user_id -object_id $event_id -privilege write] + This means that a given user must have the write privilige on the event in order to register. Let's assume that the priviliges inherit, so that if a user has the write privilige on the whole package, they will have the write privilege on the event. + + + + Setting Permissions + A permission has three parts: the privilige, the object of the privilige, and the subject being granted the privilige. In this case the privilige is "write," the object is the Events package, and the subject is all Registered Users. + + + + To grant permissions on a package, start at the site map. Find the event package and click "Set permissions". + + + Click "Grant Permission" + + + Grant the write permission to Registered Users. +
+ Granting Permissions + + + + + +
+ +
+
+ OpenACS 5.0 offers a prettier version at /admin/applications. +
+ Granting Permissions in 5.0 + + + + + +
+
+
+
- + + \ No newline at end of file