Index: openacs-4/packages/acs-core-docs/www/aolserver.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver.html,v diff -u -r1.8.2.1 -r1.8.2.2 --- openacs-4/packages/acs-core-docs/www/aolserver.html 24 Nov 2002 21:29:17 -0000 1.8.2.1 +++ openacs-4/packages/acs-core-docs/www/aolserver.html 20 Dec 2002 04:42:24 -0000 1.8.2.2 @@ -18,7 +18,14 @@ internationalization patches, nscache, nsrewrite, nssha1 and the oracle driver) is available at <a href="http://www.arsdigita.com/acs-repository/download-verify?version_id=2081" target="_top">arsdigita.com</a> </p></li><li><p> - The OpenACS PostgreSQL driver is available from <a href="http://openacs.org/software" target="_top">OpenACS</a> + + The OpenACS PostgreSQL driver (nspostgres.so) is available from + <a href="http://prdownloads.sourceforge.net/aolserver/nspostgres-3.5beta1.tar.gz?download" target="_top">SourceForge. If + you do decide to use nspostgres.so, you have to remember to + change the AOLserver config file to point to nspostgres.so + instead of postgres.so. This guide uses Mat Kovach's distro + (i.e. postgres.so)</a> + </p></li><li><p> nsxml is available at <a href="http://acs-misc.sourceforge.net/dl/nsxml.tgz" target="_top">http://acs-misc.sourceforge.net</a>. </p></li><li><p> Index: openacs-4/packages/acs-core-docs/www/docbook-primer.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/docbook-primer.html,v diff -u -r1.8.2.1 -r1.8.2.2 --- openacs-4/packages/acs-core-docs/www/docbook-primer.html 24 Nov 2002 21:29:17 -0000 1.8.2.1 +++ openacs-4/packages/acs-core-docs/www/docbook-primer.html 20 Dec 2002 04:42:24 -0000 1.8.2.2 @@ -10,12 +10,12 @@ OpenACS a superb documentation, so that users, developers and administrators of OpenACS installations can enjoy the system. </p><p> - OpenACS is a powerful system, with + OpenACS™ is a powerful system, with incredible possibilities and applications, but with this power comes some complexity and a learning curve that will only be atenuated by good documentation. This is what we are after. </p><p> - The documentation for OpenACS is + The documentation for OpenACS™ is written using DocBook XML. The reasons why we are using DocBook are explained in more details in the <a href="docbook-primer.html#dbprimer-why">Why DocBook?</a> section. I will add the reasons why @@ -32,7 +32,7 @@ In order to separate content and presentation, all OpenACS documentation will be marked up to conform to the <a href="http://docbook.org/xml/index.html" target="_top">DocBook XML DTD</a> - <a class="indexterm" name="id2830160"></a> + <a class="indexterm" name="id2894545"></a> This enables us to publish in a variety of formats and relieves each contributor of the burden of presentation, freeing him to focus on content and sharing knowledge. @@ -53,7 +53,7 @@ list of elements</a> and use more exotic features in your documents. The list is made up of SGML-elements but basically the same elements are valid in the XML DTD <span class="strong">as long as you remember to</span>: - <a class="indexterm" name="id2830231"></a> + <a class="indexterm" name="id2894620"></a> </p><div class="itemizedlist"><ul type="disc"><li><p> Always close your tags with corresponding end-tags and to <span class="strong">not use other tag minimization</span> @@ -91,15 +91,15 @@ please e-mail the gatekeeper in charge of documentation. </p><p> You can look at some templates for documents (in Docbook XML) in - the <a href="http://openacs.org/sdm/package-repository.tcl?current_entry=DIRECTORY%20%2fopenacs%2d4%2fpackages%2facs%2dcore%2ddocs%2fwww%20xml&package_id=9" target="_top">sources + the <a href="http://openacs.org/cvs/openacs-4/packages/acs-core-docs/www/xml/engineering-standards" target="_top">sources for acs-core-docs</a>, especially the <span class="emphasis"><em> Detailed Design Documentation Template</em></span> and the <span class="emphasis"><em>System/Application Requirements Template</em></span>. </p></div><div class="sect2"><div class="titlepage"><div><h3 class="title"><a name="dbprimer-structure"></a>Document Structure</h3></div></div><p> The documentation for each package will make up a little "book" that is structured like this - examples are <span class="emphasis"><em>emphasized</em></span>: - <a class="indexterm" name="id2830439"></a> + <a class="indexterm" name="id2894840"></a> </p><pre class="programlisting"> book : <span class="strong">Docs for one package</span> - <span class="emphasis"><em>templating</em></span> @@ -120,23 +120,23 @@ <tt>sect1</tt>-level. These are then tied together in a top-level document that contains all the information above the line. This will be explained in more detail in a later document, and we will provide a set of templates for documenting an entire package. </p><p>For now you can take a look at the - <a href="http://openacs.org/sdm/package-repository.tcl?current_entry=DIRECTORY%20%2fopenacs%2d4%2fpackages%2facs%2dcore%2ddocs%2fwww%20xml&package_id=9" target="_top">sources of these DocBook documents</a> + <a href="http://openacs.org/cvs/openacs-4/packages/acs-core-docs/www/xml/engineering-standards" target="_top">sources of these DocBook documents</a> to get an idea of how they are tied together. </p></div><div class="sect2"><div class="titlepage"><div><h3 class="title"><a name="dbprimer-sections"></a>Headlines, Sections</h3></div></div><p> - <a class="indexterm" name="id2830563"></a> + <a class="indexterm" name="id2894973"></a> Given that your job starts at the <tt>sect1</tt>-level, all your documents should open with a <a href="http://docbook.org/tdg/html/sect1.html" target="_top"><tt><sect1></tt></a>-tag and end with the corresponding <tt></sect1></tt>. </p><p> - <a class="indexterm" name="id2830596"></a> + <a class="indexterm" name="id2895015"></a> You need to feed every <tt><sect1></tt> two attributes. The first attribute, <tt>id</tt>, is standard and can be used with all elements. It comes in very handy when interlinking between documents (more about this when talking about links in <a href="docbook-primer.html#dbprimer-links" title="Links">the section called “Links”</a>). The value of <tt>id</tt> has to be unique throughout the book you're making since the <tt>id</tt>'s in your <tt>sect1</tt>'s will turn into filenames when the book is parsed into HTML. </p><p> - <a class="indexterm" name="id2830639"></a> + <a class="indexterm" name="id2895077"></a> The other attribute is <tt>xreflabel</tt>. The value of this is the text that will appear as the link when referring to this <tt>sect1</tt>. </p><p> @@ -151,7 +151,7 @@ </sect1> </pre><p> - <a class="indexterm" name="id2830678"></a> + <a class="indexterm" name="id2895130"></a> Inside this container your document will be split up into <a href="http://docbook.org/tdg/html/sect2.html" target="_top"><tt><sect2></tt></a>'s, each with the same requirements - <tt>id</tt> and <tt>xreflabel</tt> @@ -160,7 +160,7 @@ When it comes to naming your <tt>sect2</tt>'s and below, prefix them with some abbreviation of the <tt>id</tt> in the <tt>sect1</tt> such as <tt>requirements-overview</tt>. </p></div><div class="sect2"><div class="titlepage"><div><h3 class="title"><a name="dbprimer-code"></a>Code</h3></div></div><p> - <a class="indexterm" name="id2830753"></a> + <a class="indexterm" name="id2895234"></a> For displaying a snippet of code, a filename or anything else you just want to appear as a part of a sentence, we will use the tag <a href="http://docbook.org/tdg/html/computeroutput.html" target="_top"><tt><computeroutput></tt></a>. @@ -170,12 +170,12 @@ <a href="http://docbook.org/tdg/html/programlisting.html" target="_top"><tt><programlisting></tt></a> is used. Just wrap your code block in it; mono-spacing, indents and all that stuff is taken care of automatically. </p></div><div class="sect2"><div class="titlepage"><div><h3 class="title"><a name="dbprimer-links"></a>Links</h3></div></div><p> - <a class="indexterm" name="id2830810"></a> + <a class="indexterm" name="id2895304"></a> Linking falls into two different categories: inside the book you're making and outside: </p><div class="variablelist"><dl><dt><span class="term"><span class="strong">1. Inside linking, cross-referencing other parts of your book</span></span></dt><dd><p> By having unique <tt>id</tt>'s you can cross-reference any part of your book with a simple tag, regardless of where that part is. - </p><p><a class="indexterm" name="id2830850"></a>Check out how I link to a subsection of the Developer's Guide:</p><pre class="programlisting"> + </p><p><a class="indexterm" name="id2895346"></a>Check out how I link to a subsection of the Developer's Guide:</p><pre class="programlisting"> Put this in your XML: @@ -213,7 +213,7 @@ <tt>packages-looks</tt>, the parser will try its best to explain where the link takes you. </p></dd><dt><span class="term"><span class="strong">2. Linking outside the documentation</span></span></dt><dd><p> - <a class="indexterm" name="id2830982"></a> + <a class="indexterm" name="id2895496"></a> If you're hyper-linking out of the documentation, it works almost the same way as HTML - the tag is just a little different @@ -234,7 +234,7 @@ do it, so if you want to start converting your documents right away, start out with the ones without graphics ;) </em></span> </p><p> - <a class="indexterm" name="id2831079"></a> + <a class="indexterm" name="id2895606"></a> To insert a graphic we use the elements <a href="http://docbook.org/tdg/html/mediaobject.html" target="_top"><tt><mediaobject></tt></a>, <a href="http://docbook.org/tdg/html/imageobject.html" target="_top"><tt><imageobject></tt></a>, @@ -260,7 +260,7 @@ Put your graphics in a separate directory ("images") and link to them only with relative paths. </p></div><div class="sect2"><div class="titlepage"><div><h3 class="title"><a name="dbprimer-lists"></a>Lists</h3></div></div><p> - <a class="indexterm" name="id2831167"></a> + <a class="indexterm" name="id2895708"></a> Here's how you make the DocBook equivalent of the three usual HTML-lists: </p><div class="variablelist"><dl><dt><span class="term"><span class="strong">1. How to make an <ul></span></span></dt><dd><p> Making an unordered list is pretty much like doing the same thing in HTML - if you close your <tt><li></tt>, that is. The only differences are that each list item has to be wrapped in something more, such as @@ -305,7 +305,7 @@ </variablelist> </pre></dd></dl></div></div><div class="sect2"><div class="titlepage"><div><h3 class="title"><a name="dbprimer-tables"></a>Tables</h3></div></div><p> - <a class="indexterm" name="id2831373"></a> + <a class="indexterm" name="id2895943"></a> DocBook supports several types of tables, but in most cases, the <a href="http://docbook.org/tdg/html/informaltable.html" target="_top"><tt><informaltable></tt></a> is enough: @@ -342,7 +342,7 @@ <a href="http://docbook.org/tdg/html/table.html" target="_top"><tt><table></tt></a> for an example. </p></div><div class="sect2"><div class="titlepage"><div><h3 class="title"><a name="dbprimer-emphasis"></a>Emphasis</h3></div></div><p> - <a class="indexterm" name="id2831519"></a> + <a class="indexterm" name="id2896095"></a> Our documentation uses two flavors of emphasis - italics and bold type. DocBook uses one - <a href="http://docbook.org/tdg/html/emphasis.html" target="_top"><tt><emphasis></tt></a>. </p><p> Index: openacs-4/packages/acs-core-docs/www/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/index.adp,v diff -u -r1.7 -r1.7.2.1 --- openacs-4/packages/acs-core-docs/www/index.adp 12 Sep 2002 23:57:17 -0000 1.7 +++ openacs-4/packages/acs-core-docs/www/index.adp 20 Dec 2002 04:42:24 -0000 1.7.2.1 @@ -28,7 +28,7 @@ <tr><td valign="top"> <pre><strong>For Everyone</strong> - - <a href="release-notes.html">OpenACS 4.5 Release Notes</a> + - <a href="release-notes.html">OpenACS 4.6 Release Notes</a> - Older Release Notes <a href="acs-admin.html"><strong>For OpenACS-admins</strong></a> @@ -115,7 +115,7 @@ Questions or comments about the documentation? <br> Please visit the -<a href="http://openacs.org/bboard/">OpenACS bboards</a> +<a href="http://openacs.org/forums/">OpenACS forums</a> or shoot email at <a href="mailto:vinod@kurup.com">vinod@kurup.com</a> or rmello at fslc.usu.edu. </p> </blockquote> Index: openacs-4/packages/acs-core-docs/www/oracle.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/oracle.html,v diff -u -r1.8.2.2 -r1.8.2.3 --- openacs-4/packages/acs-core-docs/www/oracle.html 24 Nov 2002 21:29:18 -0000 1.8.2.2 +++ openacs-4/packages/acs-core-docs/www/oracle.html 20 Dec 2002 04:42:24 -0000 1.8.2.3 @@ -41,6 +41,13 @@ Environment built-in to the distribution, so you no longer have to download and install it separately. + </p></li><li><p> + + See <a href="http://openacs.org/forums/message-view?message_id=33004" target="_top">these + instructions</a> to download the 8.1.7.4 patchset. Note + that you can't back out of an Oracle patchset once it's + installed. You have to reinstall the whole thing from scratch. + </p></li><li><p> After the download is complete, untar the file @@ -65,7 +72,9 @@ </p><p> - For additional resources/documentation, please see this <a href="http://openacs.org/bboard/q-and-a-fetch-msg.tcl?msg_id=0003o2&topic_id=11&topic=OpenACS" target="_top">thread</a>. + For additional resources/documentation, please see this <a href="http://openacs.org/bboard/q-and-a-fetch-msg.tcl?msg_id=0003o2&topic_id=11&topic=OpenACS" target="_top">thread</a> + and <a href="http://openacs.org/forums/message-view?message_id=67108" target="_top">Andrew + Piskorski's mini-guide</a>.. </p></div><div class="sect2"><div class="titlepage"><div><h3 class="title"><a name="install-oracle-preinstall"></a>Pre-Installation Tasks</h3></div></div><p> @@ -326,11 +335,6 @@ </p><div class="orderedlist"><ol type="1"><li><p> - Install the compat-glibc, compat-egcs, compat-libs RPM for - 2.1.3. - - </p></li><li><p> - Execute the following command: <b>/usr/i386-glib21-linux/bin/i386-glibc21-linux-env.sh</b> Index: openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html,v diff -u -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 24 Nov 2002 21:29:18 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 20 Dec 2002 04:42:24 -0000 1.1.2.2 @@ -9,8 +9,8 @@ of code and trying to understand exactly what went wrong. It is geared towards developers who understand the general permissions system to the extent that is described in the - <a href="http://openacs.org/doc/openacs-4/developer-guide/permissions.html" target="_top"> - OpenACS 4.x Permisisons documentation</a>, + <a href="http://openacs.org/doc/openacs-4/permissions.html" target="_top"> + OpenACS 4.x Permissions documentation</a>, but who haven't had the opportunity to take a long, careful look at the system internals. </p><p> @@ -86,7 +86,7 @@ to store permission information explicitly about every object, i.e. if the system has 100,000 and 1,000 users who have the <span class="emphasis"><em>read</em></span> privilege on all objects, then we would need to store 100,000,000 entries of the form: - </p><div class="table"><a name="id2825369"></a><p class="title"><b>Table�5.1.�</b></p><table border="1"><colgroup><col align="center"><col align="center"><col align="center"></colgroup><thead><tr><th align="center">object_id</th><th align="center">grantee_id</th><th align="center">privilege</th></tr></thead><tbody><tr><td align="center">object_id_1</td><td align="center">user_id_1</td><td align="center">'read'</td></tr><tr><td align="center">object_id_1</td><td align="center">user_id_2</td><td align="center">'read'</td></tr><tr><td colspan="3" align="center">...</td></tr><tr><td align="center">object_id_1</td><td align="center">user_id_n</td><td align="center">'read'</td></tr><tr><td align="center">object_id_2</td><td align="center">user_id_1</td><td align="center">'read'</td></tr><tr><td align="center">object_id_2</td><td align="center">user_id_2</td><td align="center">'read'</td></tr><tr><td colspan="3" align="center">...</td></tr><tr><td align="center">object_id_2</td><td align="center">user_id_n</td><td align="center">'read'</td></tr><tr><td colspan="3" align="center">...</td></tr><tr><td colspan="3" align="center">...</td></tr><tr><td align="center">object_id_m</td><td align="center">user_id_1</td><td align="center">'read'</td></tr><tr><td align="center">object_id_m</td><td align="center">user_id_2</td><td align="center">'read'</td></tr><tr><td colspan="3" align="center">...</td></tr><tr><td align="center">object_id_m</td><td align="center">user_id_n</td><td align="center">'read'</td></tr></tbody></table></div><p> + </p><div class="table"><a name="id2889269"></a><p class="title"><b>Table�5.1.�</b></p><table border="1"><colgroup><col align="center"><col align="center"><col align="center"></colgroup><thead><tr><th align="center">object_id</th><th align="center">grantee_id</th><th align="center">privilege</th></tr></thead><tbody><tr><td align="center">object_id_1</td><td align="center">user_id_1</td><td align="center">'read'</td></tr><tr><td align="center">object_id_1</td><td align="center">user_id_2</td><td align="center">'read'</td></tr><tr><td colspan="3" align="center">...</td></tr><tr><td align="center">object_id_1</td><td align="center">user_id_n</td><td align="center">'read'</td></tr><tr><td align="center">object_id_2</td><td align="center">user_id_1</td><td align="center">'read'</td></tr><tr><td align="center">object_id_2</td><td align="center">user_id_2</td><td align="center">'read'</td></tr><tr><td colspan="3" align="center">...</td></tr><tr><td align="center">object_id_2</td><td align="center">user_id_n</td><td align="center">'read'</td></tr><tr><td colspan="3" align="center">...</td></tr><tr><td colspan="3" align="center">...</td></tr><tr><td align="center">object_id_m</td><td align="center">user_id_1</td><td align="center">'read'</td></tr><tr><td align="center">object_id_m</td><td align="center">user_id_2</td><td align="center">'read'</td></tr><tr><td colspan="3" align="center">...</td></tr><tr><td align="center">object_id_m</td><td align="center">user_id_n</td><td align="center">'read'</td></tr></tbody></table></div><p> Although quite feasible, this approach fails to take advantage of the fact that objects in the system are commonly organized hierarchally, and permissions usually follow the hierarchical structure, so that if user @@ -101,7 +101,7 @@ </p></div><div class="sect2"><div class="titlepage"><div><h3 class="title"><a name="permissions-tedious-context-hierarchy"></a>Context Hierarchy</h3></div></div><p> Suppose objects <span class="emphasis"><em>A</em></span>, <span class="emphasis"><em>B</em></span>, ..., and <span class="emphasis"><em>F</em></span> form the following hierarchy. - </p><div class="table"><a name="id2825737"></a><p class="title"><b>Table�5.2.�</b></p><table border="1"><colgroup><col align="center"><col align="center"><col align="center"></colgroup><tbody><tr><td colspan="3" align="center"><span class="bold"><b>A</b></span><p> + </p><div class="table"><a name="id2889641"></a><p class="title"><b>Table�5.2.�</b></p><table border="1"><colgroup><col align="center"><col align="center"><col align="center"></colgroup><tbody><tr><td colspan="3" align="center"><span class="bold"><b>A</b></span><p> <tt>object_id=10</tt> </p></td></tr><tr><td colspan="2" align="center"><span class="bold"><b>B</b></span><p> <tt>object_id=20</tt> @@ -117,23 +117,23 @@ This can be represented in the <tt> <a href="permissions-tediously-explained.html#acs_objects">acs_objects</a></tt> table by the following entries: - </p><div class="table"><a name="id2825938"></a><p class="title"><b>Table�5.3.�</b></p><table border="1"><colgroup><col align="center"><col align="center"></colgroup><thead><tr><th align="center">object_id</th><th align="center">context_id</th></tr></thead><tbody><tr><td align="center">20</td><td align="center">10</td></tr><tr><td align="center">30</td><td align="center">10</td></tr><tr><td align="center">40</td><td align="center">20</td></tr><tr><td align="center">50</td><td align="center">20</td></tr><tr><td align="center">60</td><td align="center">30</td></tr></tbody></table></div><p> + </p><div class="table"><a name="id2889860"></a><p class="title"><b>Table�5.3.�</b></p><table border="1"><colgroup><col align="center"><col align="center"></colgroup><thead><tr><th align="center">object_id</th><th align="center">context_id</th></tr></thead><tbody><tr><td align="center">20</td><td align="center">10</td></tr><tr><td align="center">30</td><td align="center">10</td></tr><tr><td align="center">40</td><td align="center">20</td></tr><tr><td align="center">50</td><td align="center">20</td></tr><tr><td align="center">60</td><td align="center">30</td></tr></tbody></table></div><p> The first entry tells us that object 20 is the descendant of object 10, and the third entry shows that object 40 is the descendant of object 20. By running a <a href="http://www.oradoc.com/ora817/server.817/a85397/expressi.htm#1023748" target="_top">CONNECT BY</a> query, we can compute that object 40 is the second-generation descendant of object 10. With this in mind, if we want to record the fact that user Joe has the <span class="emphasis"><em>read</em></span> privilege on objects <span class="emphasis"><em>A</em></span>, ..., <span class="emphasis"><em>F</em></span>, we only need to record one entry in the <tt><a href="permissions-tediously-explained.html#acs_permissions">acs_permissions</a></tt> table. - </p><div class="table"><a name="id2826094"></a><p class="title"><b>Table�5.4.�</b></p><table border="1"><colgroup><col align="center"><col align="center"><col align="center"></colgroup><thead><tr><th align="center">object</th><th align="center">grantee</th><th align="center">privilege</th></tr></thead><tbody><tr><td align="center">A</td><td align="center">Joe</td><td align="center">read</td></tr></tbody></table></div><p> + </p><div class="table"><a name="id2890023"></a><p class="title"><b>Table�5.4.�</b></p><table border="1"><colgroup><col align="center"><col align="center"><col align="center"></colgroup><thead><tr><th align="center">object</th><th align="center">grantee</th><th align="center">privilege</th></tr></thead><tbody><tr><td align="center">A</td><td align="center">Joe</td><td align="center">read</td></tr></tbody></table></div><p> The fact that Joe can also read <span class="emphasis"><em>B</em></span>, <span class="emphasis"><em>C</em></span>, ..., and <span class="emphasis"><em>F</em></span> can be derived by ascertaining that these objects are children of <span class="emphasis"><em>A</em></span> by traversing the context hierarchy. As it turns out, hierarchical queries are expensive. As Rafael Schloming put it so aptly, <span class="emphasis"><em>Oracle can't deal with hierarchies for shit.</em></span> </p><p> One way to solve this problem is to cache a flattened view of the context tree like so: - </p><div class="table"><a name="id2826218"></a><p class="title"><b>Table�5.5.�</b></p><table border="1"><colgroup><col align="center"><col align="center"><col align="center"></colgroup><thead><tr><th align="center">object</th><th align="center">ancestor</th><th align="center">n_generations</th></tr></thead><tbody><tr><td align="center">A</td><td align="center">A</td><td align="center">0</td></tr><tr><td align="center">B</td><td align="center">B</td><td align="center">0</td></tr><tr><td align="center">B</td><td align="center">A</td><td align="center">1</td></tr><tr><td align="center">C</td><td align="center">C</td><td align="center">0</td></tr><tr><td align="center">C</td><td align="center">A</td><td align="center">1</td></tr><tr><td align="center">D</td><td align="center">D</td><td align="center">0</td></tr><tr><td align="center">D</td><td align="center">B</td><td align="center">1</td></tr><tr><td align="center">D</td><td align="center">A</td><td align="center">2</td></tr><tr><td align="center">E</td><td align="center">E</td><td align="center">0</td></tr><tr><td align="center">E</td><td align="center">B</td><td align="center">1</td></tr><tr><td align="center">E</td><td align="center">A</td><td align="center">2</td></tr><tr><td align="center">F</td><td align="center">F</td><td align="center">0</td></tr><tr><td align="center">F</td><td align="center">C</td><td align="center">1</td></tr><tr><td align="center">F</td><td align="center">A</td><td align="center">2</td></tr></tbody></table></div><p> + </p><div class="table"><a name="id2890145"></a><p class="title"><b>Table�5.5.�</b></p><table border="1"><colgroup><col align="center"><col align="center"><col align="center"></colgroup><thead><tr><th align="center">object</th><th align="center">ancestor</th><th align="center">n_generations</th></tr></thead><tbody><tr><td align="center">A</td><td align="center">A</td><td align="center">0</td></tr><tr><td align="center">B</td><td align="center">B</td><td align="center">0</td></tr><tr><td align="center">B</td><td align="center">A</td><td align="center">1</td></tr><tr><td align="center">C</td><td align="center">C</td><td align="center">0</td></tr><tr><td align="center">C</td><td align="center">A</td><td align="center">1</td></tr><tr><td align="center">D</td><td align="center">D</td><td align="center">0</td></tr><tr><td align="center">D</td><td align="center">B</td><td align="center">1</td></tr><tr><td align="center">D</td><td align="center">A</td><td align="center">2</td></tr><tr><td align="center">E</td><td align="center">E</td><td align="center">0</td></tr><tr><td align="center">E</td><td align="center">B</td><td align="center">1</td></tr><tr><td align="center">E</td><td align="center">A</td><td align="center">2</td></tr><tr><td align="center">F</td><td align="center">F</td><td align="center">0</td></tr><tr><td align="center">F</td><td align="center">C</td><td align="center">1</td></tr><tr><td align="center">F</td><td align="center">A</td><td align="center">2</td></tr></tbody></table></div><p> Note that the number of entries in the flattened view grows exponentially with respect to the depth of the context tree. For instance, if you have a fully populated binary tree with a depth of <span class="emphasis"><em>n</em></span>, then the number of entries @@ -204,7 +204,7 @@ an object's <tt>security_inherit_p</tt> column to 'f', you can stop permissions from cascading down the context tree. In the following example, Joe does not have the read permissions on <span class="emphasis"><em>C</em></span> and <span class="emphasis"><em>F</em></span>. - </p><div class="table"><a name="id2826845"></a><p class="title"><b>Table�5.6.�</b></p><table border="1"><colgroup><col align="center"><col align="center"><col align="center"></colgroup><tbody><tr><td colspan="3" align="center"><div class="literallayout"><p><br> + </p><div class="table"><a name="id2890804"></a><p class="title"><b>Table�5.6.�</b></p><table border="1"><colgroup><col align="center"><col align="center"><col align="center"></colgroup><tbody><tr><td colspan="3" align="center"><div class="literallayout"><p><br> <span class="bold"><b>A</b></span><br> <tt>object_id=10</tt><br> <span class="emphasis"><em>readable�by�Joe</em></span><br> @@ -232,7 +232,7 @@ Privileges are also organized hierarchically. In addition to the five main system privileges defined in the ACS Kernel data model, application developers may define their own. For instance, the Bboard package defines the following privileges: - </p><div class="table"><a name="id2827068"></a><p class="title"><b>Table�5.7.�</b></p><table border="1"><colgroup><col align="center"></colgroup><thead><tr><th align="center">privilege</th></tr></thead><tbody><tr><td align="center">create_category</td></tr><tr><td align="center">create_forum</td></tr><tr><td align="center">create_message</td></tr><tr><td align="center">delete_category</td></tr><tr><td align="center">delete_forum</td></tr><tr><td align="center">delete_message</td></tr><tr><td align="center">moderate_forum</td></tr><tr><td align="center">read_category</td></tr><tr><td align="center">read_forum</td></tr><tr><td align="center">read_message</td></tr><tr><td align="center">write_category</td></tr><tr><td align="center">write_forum</td></tr><tr><td align="center">write_message</td></tr></tbody></table></div><p> + </p><div class="table"><a name="id2891077"></a><p class="title"><b>Table�5.7.�</b></p><table border="1"><colgroup><col align="center"></colgroup><thead><tr><th align="center">privilege</th></tr></thead><tbody><tr><td align="center">create_category</td></tr><tr><td align="center">create_forum</td></tr><tr><td align="center">create_message</td></tr><tr><td align="center">delete_category</td></tr><tr><td align="center">delete_forum</td></tr><tr><td align="center">delete_message</td></tr><tr><td align="center">moderate_forum</td></tr><tr><td align="center">read_category</td></tr><tr><td align="center">read_forum</td></tr><tr><td align="center">read_message</td></tr><tr><td align="center">write_category</td></tr><tr><td align="center">write_forum</td></tr><tr><td align="center">write_message</td></tr></tbody></table></div><p> By defining parent-child relationship between privileges, the OpenACS data model makes it easier for developers to manage permissions. Instead of granting a user explicit <span class="emphasis"><em>read</em></span>, <span class="emphasis"><em>write</em></span>, <span class="emphasis"><em>delete</em></span>, @@ -241,7 +241,7 @@ privilege to which the first four privileges are tied. To give a more detailed example, the Bboard privileges are structured as follows. - </p><div class="table"><a name="id2827253"></a><p class="title"><b>Table�5.8.�</b></p><table border="1"><colgroup><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"></colgroup><tbody><tr><td colspan="13" align="center">admin</td></tr><tr><td colspan="3" align="center">create</td><td colspan="3" align="center">delete</td><td colspan="3" align="center">read</td><td colspan="3" align="center">write</td><td rowspan="2" align="center" valign="middle">moderate forum</td></tr><tr><td align="center">create category</td><td align="center">create forum</td><td align="center">create message</td><td align="center">delete category</td><td align="center">delete forum</td><td align="center">delete message</td><td align="center">read category</td><td align="center">read forum</td><td align="center">read message</td><td align="center">write category</td><td align="center">write forum</td><td align="center">write message</td></tr></tbody></table></div><p> + </p><div class="table"><a name="id2891263"></a><p class="title"><b>Table�5.8.�</b></p><table border="1"><colgroup><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"><col align="center"></colgroup><tbody><tr><td colspan="13" align="center">admin</td></tr><tr><td colspan="3" align="center">create</td><td colspan="3" align="center">delete</td><td colspan="3" align="center">read</td><td colspan="3" align="center">write</td><td rowspan="2" align="center" valign="middle">moderate forum</td></tr><tr><td align="center">create category</td><td align="center">create forum</td><td align="center">create message</td><td align="center">delete category</td><td align="center">delete forum</td><td align="center">delete message</td><td align="center">read category</td><td align="center">read forum</td><td align="center">read message</td><td align="center">write category</td><td align="center">write forum</td><td align="center">write message</td></tr></tbody></table></div><p> The parent-child relationship between privileges is represented in the <tt>acs_privilege_hierarchy</tt> table: </p><a name="acs_privilege_hierarchy"></a><pre class="programlisting"> @@ -287,7 +287,7 @@ </p></div><div class="sect2"><div class="titlepage"><div><h3 class="title"><a name="permissions-tedious-party-hierarchy"></a>Party Hierarchy</h3></div></div><p> Now for the third hierarchy playing a promiment role in the permission system. The party data model is set up as follows. - </p><div class="table"><a name="id2827600"></a><p class="title"><b>Table�5.9.�</b></p><table border="1"><colgroup><col align="center"><col align="center"></colgroup><tbody><tr><td colspan="2" align="center"><a href="permissions-tediously-explained.html#tedious-parties">parties</a></td></tr><tr><td align="center"><a href="permissions-tediously-explained.html#persons">persons</a></td><td rowspan="2" align="center" valign="top"><a href="permissions-tediously-explained.html#groups">groups</a></td></tr><tr><td align="center"><a href="permissions-tediously-explained.html#users">users</a></td></tr></tbody></table></div><a name="tedious-parties"></a><pre class="programlisting"> + </p><div class="table"><a name="id2891633"></a><p class="title"><b>Table�5.9.�</b></p><table border="1"><colgroup><col align="center"><col align="center"></colgroup><tbody><tr><td colspan="2" align="center"><a href="permissions-tediously-explained.html#tedious-parties">parties</a></td></tr><tr><td align="center"><a href="permissions-tediously-explained.html#persons">persons</a></td><td rowspan="2" align="center" valign="top"><a href="permissions-tediously-explained.html#groups">groups</a></td></tr><tr><td align="center"><a href="permissions-tediously-explained.html#users">users</a></td></tr></tbody></table></div><a name="tedious-parties"></a><pre class="programlisting"> create table <span class="bold"><b>parties</b></span> ( party_id not null @@ -371,7 +371,7 @@ </pre><p> The <tt><a href="permissions-tediously-explained.html#acs_rels">acs_rels</a></tt> table entries would look like so: - </p><div class="table"><a name="id2827978"></a><p class="title"><b>Table�5.10.�</b></p><table border="1"><colgroup><col align="center"><col align="center"><col align="center"></colgroup><thead><tr><th align="center"><tt>rel_type</tt></th><th align="center"><tt>object_one</tt></th><th align="center"><tt>object_two</tt></th></tr></thead><tbody><tr><td align="center"> + </p><div class="table"><a name="id2892076"></a><p class="title"><b>Table�5.10.�</b></p><table border="1"><colgroup><col align="center"><col align="center"><col align="center"></colgroup><thead><tr><th align="center"><tt>rel_type</tt></th><th align="center"><tt>object_one</tt></th><th align="center"><tt>object_two</tt></th></tr></thead><tbody><tr><td align="center"> membership_rel </td><td align="center"> Pranksters @@ -406,7 +406,7 @@ </pre><p> The relevant entries in the <tt><a href="permissions-tediously-explained.html#acs_rels">acs_rels</a></tt> look like so. - </p><div class="table"><a name="id2828198"></a><p class="title"><b>Table�5.11.�</b></p><table border="1"><colgroup><col align="center"><col align="center"><col align="center"></colgroup><thead><tr><th align="center"><tt>rel_type</tt></th><th align="center"><tt>object_one</tt></th><th align="center"><tt>object_two</tt></th></tr></thead><tbody><tr><td align="center"> + </p><div class="table"><a name="id2892319"></a><p class="title"><b>Table�5.11.�</b></p><table border="1"><colgroup><col align="center"><col align="center"><col align="center"></colgroup><thead><tr><th align="center"><tt>rel_type</tt></th><th align="center"><tt>object_one</tt></th><th align="center"><tt>object_two</tt></th></tr></thead><tbody><tr><td align="center"> composition_rel </td><td align="center"> Pranksters @@ -617,7 +617,7 @@ </pre><p> Note that in the above example, <tt>acs_permissions</tt> had only one entry that needed to be deleted: - </p><div class="table"><a name="id2828836"></a><p class="title"><b>Table�5.12.�</b></p><table border="1"><colgroup><col align="center"><col align="center"><col align="center"></colgroup><thead><tr><th align="center"><tt>object_id</tt></th><th align="center"><tt>grantee_id</tt></th><th align="center"><tt>privilege</tt></th></tr></thead><tbody><tr><td align="center"> + </p><div class="table"><a name="id2893064"></a><p class="title"><b>Table�5.12.�</b></p><table border="1"><colgroup><col align="center"><col align="center"><col align="center"></colgroup><thead><tr><th align="center"><tt>object_id</tt></th><th align="center"><tt>grantee_id</tt></th><th align="center"><tt>privilege</tt></th></tr></thead><tbody><tr><td align="center"> default_context </td><td align="center"> registered_users Index: openacs-4/packages/acs-core-docs/www/release-notes.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/release-notes.html,v diff -u -r1.9.2.1 -r1.9.2.2 --- openacs-4/packages/acs-core-docs/www/release-notes.html 24 Nov 2002 21:29:18 -0000 1.9.2.1 +++ openacs-4/packages/acs-core-docs/www/release-notes.html 20 Dec 2002 04:42:24 -0000 1.9.2.2 @@ -9,17 +9,17 @@ in the process of developing testing tools, methodology, and scripts. </p><p> Please report bugs using our - <a href="http://openacs.org/sdm/one-package?package_id=9" target="_top"> - Software Development Manager</a> at the <a href="http://openacs.org/" target="_top">OpenACS website</a>. The latest - information on installing this release under Oracle 8.1.6/7 - or PostgreSQL 7.1.* can be found there as well. Currently the + <a href="http://openacs.org/bugtracker/openacs/" target="_top"> + Bug Tracker</a> at the <a href="http://openacs.org/" target="_top">OpenACS website</a>. The latest + information on installing this release under Oracle 8.1.7 + or PostgreSQL 7.2.* can be found there as well. Currently the toolkit will not install under Oracle 9i due to Oracle having made "delete" an illegal name for PL/SQL procedures and functions. </p><p> You may want to begin by reading our installation documentation for - <a href="unix-install.html">Installing on Unix/Linux</a> or <a href="win-install.html">Installing on Windows</a>. Note - that the Windows documentation is not current for OpenACS 4.6, - but an alternative is to use John Sequeira's <a href="http://www.pobox.com/~johnseq/projects/oasisvm/" target="_top">Oasis VM + <a href="unix-install.html">Installing on Unix/Linux</a>. Note that the Windows documentation is + not current for OpenACS 4.6, but an alternative is to use John + Sequeira's <a href="http://www.pobox.com/~johnseq/projects/oasisvm/" target="_top">Oasis VM project</a>. </p><p> After installation, the full documentation set can be found by visiting @@ -44,163 +44,11 @@ are steps you must take manually in order to get this feature working. </p></div><div class="sect2"><div class="titlepage"><div><h3 class="title"><a name="release-notes-testing"></a>Testing Notes</h3></div></div><p> - Here are some notes from our testing group. While not quite up to - date it should give you some ideas of where things stand. - </p><pre class="programlisting"> - Summarised Testing Status -Skin -Minimal -Release w/caution -Comments: + <a href="http://open-msg.com" target="_top">OpenMSG</a> has organized the + OpenACS 4.6 testing process with test servers provided by + <a href="http:hub.org" target="_top">Hub.org</a>. Visit the <a href="http://213.107.207.131:8000/" target="_top">acceptance test server</a> to + see the current status of various packages. This may not be a + permanent link. If it's not working, do a search of the <a href="http://openacs.org/forums/" target="_top">OpenACS forums</a>. -Package: Page -Test Coverage: Minimal -Release w/caution -Comments: - -Package: Bboard -Test Coverage: Reasonable -Suggested Status: Alpha -Comments: - -Package: Static Pages -Test Coverage: Minimal -Suggested Status: Release w/caution -Comments: - -Package: Ticket Tracker -Test Coverage: Reasonable -Suggested Status: Alpha -Comments: Don tested personally - -Package: Ticket Tracker Lite -Test Coverage: Unknown -Suggested Status: -Comments: - -Package: Acs-lang -Test Coverage: Reasonable -Suggested Status: Alpha -Comments: Oracle only - -Package: Simple-survey -Test Coverage: Reasonable -Suggested Status: Alpha -Comments: - -Package: Portal -Test Coverage: Extensive -Suggested Status: Alpha -Comments: - -Package: Notes -Test Coverage: Extensive -Suggested Status: Alpha -Comments: - -Package: Bookmarks -Test Coverage: Extensive -Suggested Status: Alpha -Comments: - -Package: Clickthrough -Test Coverage: Extensive -Suggested Status: Alpha -Comments: - -Package: Acs-mail -Test Coverage: Reasonable -Suggested Status: Release w/caution -Comments: - -Package: Acs-messaging -Test Coverage: Reasonable -Suggested Status: Release w/caution -Comments: - -Package: File manager -Test Coverage: Minimal -Suggested Status: Release w/caution -Comments: - -Package: File Storage -Test Coverage: Minimal -Suggested Status: Release w/caution -Comments: - -Package: Site-wide-search -Test Coverage: Minimal -Suggested Status: Release w/caution -Comments: - -Package: General Comments -Test Coverage: Extensive -Suggested Status: Alpha -Comments: - -Package: Acs-events -Test Coverage: None -Suggested Status: -Comments: Automated Testing - -Package: Acs-datetime -Test Coverage: None -Suggested Status: -Comments: Automated Testing - -Package: Acs-tcl -Test Coverage: Reasonable -Suggested Status: Release w/caution -Comments: Automated Testing - -Package: Acs-templating -Test Coverage: Reasonable -Suggested Status: Release w/caution -Comments: Automated Testing - -Package: Acs-util -Test Coverage: Reasonable -Suggested Status: Release w/caution -Comments: Automated Testing - -Package: Acs-Content-repository -Test Coverage: Minimal -Suggested Status: Release w/caution -Comments: Automated Testing - -Package: Acs-content -Test Coverage: Minimal -Suggested Status: Release w/caution -Comments: Automated Testing - -Package: Acs-kernel -Test Coverage: Reasonable -Suggested Status: Alpha -Comments: Automated Testing - -Package: Acs-subsite -Test Coverage: Reasonable -Suggested Status: Alpha -Comments: - -Package: Acs-bootstrap-installer -Test Coverage: Extensive -Suggested Status: Alpha -Comments: Developers have used this extensively - -Package: Acs-api-browser -Test Coverage: Minimal -Suggested Status: Release w/caution -Comments: Automated Testing - -Package: Acs-workflow -Test Coverage: Minimal -Suggested Status: Release w/caution -Comments: - -Package: calendar -Test Coverage: Minimal -Suggested Status: Alpha -Comments: Don tested personally - </pre></div><div class="cvstag">($Id$)</div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="openacs-overview.html">Prev</a> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right"> <a accesskey="n" href="acs-admin.html">Next</a></td></tr><tr><td width="40%" align="left">Overview </td><td width="20%" align="center"><a accesskey="u" href="general-documents.html">Up</a></td><td width="40%" align="right"> Part�Part II.�For OpenACS Admins</td></tr></table><hr><address>rmello at fslc.usu.edu</address><address><a href="mailto:vinod@kurup.com">vinod@kurup.com</a></address></div><a name="comments"></a><center><a href="http://openacs.org/doc/openacs-4/release-notes.html#comments">View comments on this page at openacs.org</a></center></body></html> + </p></div><div class="cvstag">($Id$)</div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="openacs-overview.html">Prev</a> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right"> <a accesskey="n" href="acs-admin.html">Next</a></td></tr><tr><td width="40%" align="left">Overview </td><td width="20%" align="center"><a accesskey="u" href="general-documents.html">Up</a></td><td width="40%" align="right"> Part�Part II.�For OpenACS Admins</td></tr></table><hr><address>rmello at fslc.usu.edu</address><address><a href="mailto:vinod@kurup.com">vinod@kurup.com</a></address></div><a name="comments"></a><center><a href="http://openacs.org/doc/openacs-4/release-notes.html#comments">View comments on this page at openacs.org</a></center></body></html>