Index: openacs-4/packages/acs-core-docs/www/how-do-I.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/how-do-I.adp,v diff -u -r1.1.2.10 -r1.1.2.11 --- openacs-4/packages/acs-core-docs/www/how-do-I.adp 21 Jun 2016 07:44:36 -0000 1.1.2.10 +++ openacs-4/packages/acs-core-docs/www/how-do-I.adp 23 Jun 2016 08:32:45 -0000 1.1.2.11 @@ -45,13 +45,13 @@ edit it:
cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-subsite/www/index*
/var/lib/aolserver/$OPENACS_SERVICE_NAME/www
Edit the new index.adp
to
-change the text; you shouldn't need to edit index.tcl
unless you are adding new
+change the text; you shouldn't need to edit index.tcl
unless you are adding new
functionality.
Almost all pages on an OpenACS site use ACS Templating, and so -their appearance is driven by a layer of different files. Let's +their appearance is driven by a layer of different files. Let's examine how this works:
A templated page uses an ADP/Tcl pair. The first line in the ADP @@ -71,8 +71,8 @@ and .tcl).
Blank-master
does HTML
housekeeping and provides a framework for special sitewide
-navigation "meta" elements such as Translator widgets and Admin
-widgets.
-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. Click on "Login or sign
-up"
Complete a new registration. Afterwards, you should be +register for this event. is visible. Click 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."
+
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
,
+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/$OPENACS_SERVICE_NAME/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
+and we click "show source" to see more information. The +body of the proc is simplyreturn [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.
+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.
OpenACS 5.0 offers a prettier version at /admin/applications.