Index: openacs-4/packages/acs-authentication/www/doc/configure-batch-sync.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-authentication/www/doc/configure-batch-sync.adp,v diff -u -N -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/acs-authentication/www/doc/configure-batch-sync.adp 25 Aug 2015 18:02:01 -0000 1.1.2.2 +++ openacs-4/packages/acs-authentication/www/doc/configure-batch-sync.adp 1 Dec 2015 11:17:38 -0000 1.1.2.3 @@ -59,7 +59,7 @@ example in the design document for more details.

(More information: the section called “IMS Sync driver design”, The IMS 1.1 spec)

-
($Id: configure-batch-sync.html,v 1.2 +
($‌Id: configure-batch-sync.html,v 1.2 2004/02/19 14:59:42 joela Exp $)
+ rightLink="" rightLabel="">

IMS Sync @@ -199,7 +199,7 @@

\ No newline at end of file Index: openacs-4/packages/acs-automated-testing/www/doc/requirements.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-automated-testing/www/doc/requirements.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-automated-testing/www/doc/requirements.adp 25 Aug 2015 18:02:02 -0000 1.2.2.2 +++ openacs-4/packages/acs-automated-testing/www/doc/requirements.adp 1 Dec 2015 11:17:38 -0000 1.2.2.3 @@ -5,7 +5,7 @@ + rightLink="" rightLabel="">

Requirements

@@ -159,7 +159,7 @@
View comments Index: openacs-4/packages/acs-content-repository/www/doc/design.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/design.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/design.adp 25 Aug 2015 18:02:02 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/design.adp 1 Dec 2015 11:17:39 -0000 1.2.2.3 @@ -80,5 +80,5 @@ karlg\@arsdigita.com
-Last Modified: $Id: design.html,v 1.1.1.1 2001/03/13 22:59:26 ben +Last Modified: $‌Id: design.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/index.adp,v diff -u -N -r1.2.2.7 -r1.2.2.8 --- openacs-4/packages/acs-content-repository/www/doc/index.adp 25 Aug 2015 18:02:02 -0000 1.2.2.7 +++ openacs-4/packages/acs-content-repository/www/doc/index.adp 1 Dec 2015 11:17:39 -0000 1.2.2.8 @@ -38,5 +38,5 @@ karlg\@arsdigita.com
-Last Revised: $Id: index.html,v 1.2.18.2 2015/08/21 10:49:20 +Last Revised: $‌Id: index.html,v 1.2.18.2 2015/08/21 10:49:20 gustafn Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/install.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/install.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/install.adp 25 Aug 2015 18:02:02 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/install.adp 1 Dec 2015 11:17:39 -0000 1.2.2.3 @@ -79,5 +79,5 @@ karlg\@arsdigita.com
-Last revised: $Id: install.html,v 1.1.1.1 2001/03/13 22:59:26 ben +Last revised: $‌Id: install.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/intermedia.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/intermedia.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/intermedia.adp 25 Aug 2015 18:02:02 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/intermedia.adp 1 Dec 2015 11:17:39 -0000 1.2.2.3 @@ -86,5 +86,5 @@ karlg\@arsdigita.com
-Last revised: $Id: intermedia.html,v 1.1.1.1 2001/03/13 22:59:26 +Last revised: $‌Id: intermedia.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/object-model.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/object-model.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/object-model.adp 25 Aug 2015 18:02:02 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/object-model.adp 1 Dec 2015 11:17:39 -0000 1.2.2.3 @@ -29,5 +29,5 @@ karlg\@arsdigita.com
-Last revised: $Id: object-model.html,v 1.1.1.1 2001/03/13 22:59:26 +Last revised: $‌Id: object-model.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/requirements.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/requirements.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/requirements.adp 25 Aug 2015 18:02:02 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/requirements.adp 1 Dec 2015 11:17:39 -0000 1.2.2.3 @@ -377,5 +377,5 @@ karlg\@arsdigita.com
-Last Modified: $Id: requirements.html,v 1.2 2003/12/11 21:39:47 +Last Modified: $‌Id: requirements.html,v 1.2 2003/12/11 21:39:47 jeffd Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/todo.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/todo.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-content-repository/www/doc/todo.adp 25 Aug 2015 18:02:02 -0000 1.2.2.1 +++ openacs-4/packages/acs-content-repository/www/doc/todo.adp 1 Dec 2015 11:17:40 -0000 1.2.2.2 @@ -70,5 +70,5 @@ --think about improving UI for this. 2 -

Last Modified: $Id: todo.html,v 1.1.1.1 2001/03/13 22:59:26 ben +

Last Modified: $‌Id: todo.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $

Index: openacs-4/packages/acs-content-repository/www/doc/uninstall.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/uninstall.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/uninstall.adp 25 Aug 2015 18:02:02 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/uninstall.adp 1 Dec 2015 11:17:40 -0000 1.2.2.3 @@ -29,5 +29,5 @@ karlg\@arsdigita.com
-Last revised: $Id: uninstall.html,v 1.1.1.1 2001/03/13 22:59:26 ben +Last revised: $‌Id: uninstall.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/api/content.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/api/content.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-content-repository/www/doc/api/content.adp 25 Aug 2015 18:02:02 -0000 1.2.2.1 +++ openacs-4/packages/acs-content-repository/www/doc/api/content.adp 1 Dec 2015 11:17:40 -0000 1.2.2.2 @@ -4,7 +4,7 @@

content

-Content Repository : content

+Content Repository : content


  • Function content.blob_to_string
@@ -62,5 +62,5 @@
-

Last Modified: $Id: content.html,v 1.1.1.1 2001/03/13 22:59:26 +

Last Modified: $‌Id: content.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $

Index: openacs-4/packages/acs-content-repository/www/doc/api/extlink.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/api/extlink.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-content-repository/www/doc/api/extlink.adp 25 Aug 2015 18:02:03 -0000 1.2.2.1 +++ openacs-4/packages/acs-content-repository/www/doc/api/extlink.adp 1 Dec 2015 11:17:40 -0000 1.2.2.2 @@ -4,7 +4,7 @@

content_extlink

-Content Repository : +Content Repository : content_extlink


    @@ -118,5 +118,5 @@

     

    -Last Modified: $Id: extlink.html,v 1.1.1.1 2001/03/13 22:59:26 ben +Last Modified: $‌Id: extlink.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/api/folder.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/api/folder.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-content-repository/www/doc/api/folder.adp 25 Aug 2015 18:02:03 -0000 1.2.2.1 +++ openacs-4/packages/acs-content-repository/www/doc/api/folder.adp 1 Dec 2015 11:17:40 -0000 1.2.2.2 @@ -4,7 +4,7 @@

    content_folder

    -Content Repository : +Content Repository : content_folder


      @@ -387,5 +387,5 @@

       

      -Last Modified: $Id: folder.html,v 1.2 2004/06/01 22:54:18 donb Exp +Last Modified: $‌Id: folder.html,v 1.2 2004/06/01 22:54:18 donb Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/api/item.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/api/item.adp,v diff -u -N -r1.2.2.7 -r1.2.2.8 --- openacs-4/packages/acs-content-repository/www/doc/api/item.adp 25 Aug 2015 18:02:03 -0000 1.2.2.7 +++ openacs-4/packages/acs-content-repository/www/doc/api/item.adp 1 Dec 2015 11:17:40 -0000 1.2.2.8 @@ -4,7 +4,7 @@

      content_item

      -Content Repository : +Content Repository : content_item


        @@ -801,4 +801,4 @@

         

        -Last Modified: $Id$ +Last Modified: $‌Id: item.html,v 1.3 2004/06/01 22:54:18 donb Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/api/keyword.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/api/keyword.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-content-repository/www/doc/api/keyword.adp 25 Aug 2015 18:02:03 -0000 1.2.2.1 +++ openacs-4/packages/acs-content-repository/www/doc/api/keyword.adp 1 Dec 2015 11:17:40 -0000 1.2.2.2 @@ -4,7 +4,7 @@

        content_keyword

        -Content Repository : +Content Repository : content_keyword


          @@ -333,5 +333,5 @@

           

          -Last Modified: $Id: keyword.html,v 1.1.1.1 2001/03/13 22:59:26 ben +Last Modified: $‌Id: keyword.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/api/permission.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/api/permission.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-content-repository/www/doc/api/permission.adp 25 Aug 2015 18:02:03 -0000 1.2.2.1 +++ openacs-4/packages/acs-content-repository/www/doc/api/permission.adp 1 Dec 2015 11:17:40 -0000 1.2.2.2 @@ -4,7 +4,7 @@

          content_permission

          -Content Repository : +Content Repository : content_permission


            @@ -282,5 +282,5 @@

             

            -Last Modified: $Id: permission.html,v 1.1.1.1 2001/03/13 22:59:26 +Last Modified: $‌Id: permission.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/api/revision.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/api/revision.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-content-repository/www/doc/api/revision.adp 25 Aug 2015 18:02:03 -0000 1.2.2.1 +++ openacs-4/packages/acs-content-repository/www/doc/api/revision.adp 1 Dec 2015 11:17:40 -0000 1.2.2.2 @@ -4,7 +4,7 @@

            content_revision

            -Content Repository : +Content Repository : content_revision


              @@ -261,5 +261,5 @@

               

              -Last Modified: $Id: revision.html,v 1.1.1.1 2001/03/13 22:59:26 ben +Last Modified: $‌Id: revision.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/api/symlink.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/api/symlink.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/api/symlink.adp 25 Aug 2015 18:02:03 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/api/symlink.adp 1 Dec 2015 11:17:41 -0000 1.2.2.3 @@ -4,7 +4,7 @@

              content_symlink

              -Content Repository : +Content Repository : content_symlink


                @@ -179,5 +179,5 @@

                 

                -Last Modified: $Id: symlink.html,v 1.2 2014/10/27 16:39:14 victorg +Last Modified: $‌Id: symlink.html,v 1.2 2014/10/27 16:39:14 victorg Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/api/template.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/api/template.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-content-repository/www/doc/api/template.adp 25 Aug 2015 18:02:03 -0000 1.2.2.1 +++ openacs-4/packages/acs-content-repository/www/doc/api/template.adp 1 Dec 2015 11:17:41 -0000 1.2.2.2 @@ -4,7 +4,7 @@

                content_template

                -Content Repository : +Content Repository : content_template


                  @@ -151,5 +151,5 @@

                   

                  -Last Modified: $Id: template.html,v 1.1.1.1 2001/03/13 22:59:26 ben +Last Modified: $‌Id: template.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/api/type.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/api/type.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-content-repository/www/doc/api/type.adp 25 Aug 2015 18:02:04 -0000 1.2.2.1 +++ openacs-4/packages/acs-content-repository/www/doc/api/type.adp 1 Dec 2015 11:17:41 -0000 1.2.2.2 @@ -4,7 +4,7 @@

                  content_type

                  -Content Repository : +Content Repository : content_type


                    @@ -467,5 +467,5 @@

                     

                    -Last Modified: $Id: type.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp +Last Modified: $‌Id: type.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/guide/access-control.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/guide/access-control.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-content-repository/www/doc/guide/access-control.adp 25 Aug 2015 18:02:04 -0000 1.2.2.1 +++ openacs-4/packages/acs-content-repository/www/doc/guide/access-control.adp 1 Dec 2015 11:17:41 -0000 1.2.2.2 @@ -2,5 +2,5 @@ {/doc/acs-content-repository {Content Repository}} {} -

                    Last Modified: $Id: access-control.html,v 1.1.1.1 2001/03/13 +

                    Last Modified: $‌Id: access-control.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $

                    Index: openacs-4/packages/acs-content-repository/www/doc/guide/convert.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/guide/convert.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/guide/convert.adp 25 Aug 2015 18:02:04 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/guide/convert.adp 1 Dec 2015 11:17:41 -0000 1.2.2.3 @@ -48,5 +48,5 @@ karlg\@arsdigita.com
                    -Last Modified: $Id: convert.html,v 1.1.1.1 2001/03/13 22:59:26 ben +Last Modified: $‌Id: convert.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/guide/file-system.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/guide/file-system.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/guide/file-system.adp 25 Aug 2015 18:02:04 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/guide/file-system.adp 1 Dec 2015 11:17:41 -0000 1.2.2.3 @@ -59,7 +59,7 @@ familiar desktop tools (Windows Explorer, MacOS Finder, etc.).
                  • You can use the content repository API to constraint the type of content that a folder may contain (except for the index page). For example, it is possible to limit the contents of the "Press" -folder to items of type "Press Release." See the Content Folder API for more details.
                  • +folder to items of type "Press Release." See the Content Folder API for more details.

                  Using your own root

                  By default, the content repository has one root folder for @@ -108,5 +108,5 @@ karlg\@arsdigita.com
                  -Last Modified: $Id: file-system.html,v 1.1.1.1 2001/03/13 22:59:26 +Last Modified: $‌Id: file-system.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/guide/items.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/guide/items.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/guide/items.adp 25 Aug 2015 18:02:04 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/guide/items.adp 1 Dec 2015 11:17:41 -0000 1.2.2.3 @@ -52,5 +52,5 @@


                  karlg\@arsdigita.com -

                  Last Modified: $Id: items.html,v 1.1.1.1 2001/03/13 22:59:26 ben +

                  Last Modified: $‌Id: items.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $

                  Index: openacs-4/packages/acs-content-repository/www/doc/guide/object-relationships.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/guide/object-relationships.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/guide/object-relationships.adp 25 Aug 2015 18:02:04 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/guide/object-relationships.adp 1 Dec 2015 11:17:41 -0000 1.2.2.3 @@ -106,5 +106,5 @@ karlg\@arsdigita.com
                  -Last modified: $Id: object-relationships.html,v 1.1.1.1 +Last modified: $‌Id: object-relationships.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/guide/publish.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/guide/publish.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/guide/publish.adp 25 Aug 2015 18:02:04 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/guide/publish.adp 1 Dec 2015 11:17:41 -0000 1.2.2.3 @@ -116,5 +116,5 @@ karlg\@arsdigita.com
                  -Last Modified: $Id: publish.html,v 1.4 2013/04/12 16:12:56 gustafn +Last Modified: $‌Id: publish.html,v 1.4 2013/04/12 16:12:56 gustafn Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/guide/revisions.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/guide/revisions.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/guide/revisions.adp 25 Aug 2015 18:02:05 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/guide/revisions.adp 1 Dec 2015 11:17:41 -0000 1.2.2.3 @@ -117,5 +117,5 @@
                  karlg\@arsdigita.com -

                  Last Modified: $Id: revisions.html,v 1.1.1.1 2001/03/13 22:59:26 +

                  Last Modified: $‌Id: revisions.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $

                  Index: openacs-4/packages/acs-content-repository/www/doc/guide/search.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/guide/search.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/guide/search.adp 25 Aug 2015 18:02:05 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/guide/search.adp 1 Dec 2015 11:17:42 -0000 1.2.2.3 @@ -108,5 +108,5 @@ karlg\@arsdigita.com
                  -Last Modified: $Id: search.html,v 1.1.1.1 2001/03/13 22:59:26 ben +Last Modified: $‌Id: search.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/guide/storage.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/guide/storage.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/guide/storage.adp 25 Aug 2015 18:02:05 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/guide/storage.adp 1 Dec 2015 11:17:42 -0000 1.2.2.3 @@ -119,5 +119,5 @@
                  karlg\@arsdigita.com -

                  Last Modified: $Id: storage.html,v 1.1.1.1 2001/03/13 22:59:26 +

                  Last Modified: $‌Id: storage.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $

                  Index: openacs-4/packages/acs-content-repository/www/doc/guide/template.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/guide/template.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/guide/template.adp 25 Aug 2015 18:02:05 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/guide/template.adp 1 Dec 2015 11:17:42 -0000 1.2.2.3 @@ -136,5 +136,5 @@
                  karlg\@arsdigita.com -

                  Last Modified: $Id: template.html,v 1.1.1.1 2001/03/13 22:59:26 +

                  Last Modified: $‌Id: template.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $

                  Index: openacs-4/packages/acs-content-repository/www/doc/guide/types.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/guide/types.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/guide/types.adp 25 Aug 2015 18:02:05 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/guide/types.adp 1 Dec 2015 11:17:42 -0000 1.2.2.3 @@ -110,5 +110,5 @@ details.


                  templating\@arsdigita.com -

                  Last Modified: $Id: types.html,v 1.1.1.1 2001/03/13 22:59:26 ben +

                  Last Modified: $‌Id: types.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $

                  Index: openacs-4/packages/acs-content-repository/www/doc/guide/workflow.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/guide/workflow.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/guide/workflow.adp 25 Aug 2015 18:02:05 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/guide/workflow.adp 1 Dec 2015 11:17:42 -0000 1.2.2.3 @@ -185,5 +185,5 @@ karlg\@arsdigita.com
                  -Last Modified: $Id: workflow.html,v 1.1.1.1 2001/03/13 22:59:26 +Last Modified: $‌Id: workflow.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $ Index: openacs-4/packages/acs-core-docs/www/backup-recovery.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/backup-recovery.adp,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/backup-recovery.adp 4 Oct 2015 13:36:39 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/backup-recovery.adp 1 Dec 2015 11:17:42 -0000 1.1.2.5 @@ -30,7 +30,7 @@ to set up, are far from the best solution).

                  There are three basic things which need to be backed up, the database data, the server source tree, and the acs-content-repository (which is in the server source tree).

                  -

                  Figure 8.1. Backup and +

                  Figure 8.1. Backup and Recovery Strategy

                  Backup and Recovery Strategy


                  OpenACS docs are written by the named authors, and may be edited by Index: openacs-4/packages/acs-core-docs/www/backup-recovery.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/backup-recovery.html,v diff -u -N -r1.43.2.3 -r1.43.2.4 --- openacs-4/packages/acs-core-docs/www/backup-recovery.html 4 Oct 2015 13:36:39 -0000 1.43.2.3 +++ openacs-4/packages/acs-core-docs/www/backup-recovery.html 1 Dec 2015 11:17:42 -0000 1.43.2.4 @@ -6,7 +6,7 @@ oracle, while easy to set up, are far from the best solution).

                  There are three basic things which need to be backed up, the database data, the server source tree, and the acs-content-repository (which is in the server source tree).

                  -

                  Figure 8.1. Backup and Recovery Strategy

                  Backup and Recovery Strategy


                  +

                  Figure 8.1. Backup and Recovery Strategy

                  Backup and Recovery Strategy


                  OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. Index: openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.adp 4 Oct 2015 13:36:39 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.adp 1 Dec 2015 11:17:43 -0000 1.1.2.4 @@ -17,7 +17,7 @@ OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

-Configuring an OpenACS package

After you've installed and mounted your package, you can +Configuring an OpenACS package

After you've installed and mounted your package, you can configure each instance to act as you would like.

This is done from the Applications page. Log in, go to the Admin or Control Panel, click on the subsite the application is in, and click on Applications. If you click on the 'Parameters' link, you Index: openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html,v diff -u -N -r1.10.2.3 -r1.10.2.4 --- openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html 4 Oct 2015 13:36:39 -0000 1.10.2.3 +++ openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html 1 Dec 2015 11:17:43 -0000 1.10.2.4 @@ -2,7 +2,7 @@ Configuring an OpenACS package

Configuring an OpenACS package

by Jade Rubick

OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

Configuring an OpenACS package

After you've installed and mounted your package, you can +

Configuring an OpenACS package

After you've installed and mounted your package, you can configure each instance to act as you would like.

This is done from the Applications page. Log in, go to the Admin or Control Panel, click on the subsite the application is in, and click on Applications. If you click on the 'Parameters' Index: openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.adp 4 Oct 2015 13:36:39 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.adp 1 Dec 2015 11:17:43 -0000 1.1.2.4 @@ -17,7 +17,7 @@ OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

-Setting Permission on an OpenACS +Setting Permission on an OpenACS package

After you've installed and mounted your package, you can configure each instance to act as you would like.

This is done from the Applications page. Log in, go to the Admin or Control Panel, click on the subsite the application is in, and Index: openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html,v diff -u -N -r1.10.2.3 -r1.10.2.4 --- openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html 4 Oct 2015 13:36:40 -0000 1.10.2.3 +++ openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html 1 Dec 2015 11:17:43 -0000 1.10.2.4 @@ -2,7 +2,7 @@ Setting Permissions on an OpenACS package

Setting Permissions on an OpenACS package

by Jade Rubick

OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

Setting Permission on an OpenACS package

After you've installed and mounted your package, you can +

Setting Permission on an OpenACS package

After you've installed and mounted your package, you can configure each instance to act as you would like.

This is done from the Applications page. Log in, go to the Admin or Control Panel, click on the subsite the application is in, and click on Applications. If you click on the 'Permissions' Index: openacs-4/packages/acs-core-docs/www/configuring-install-packages.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-install-packages.adp,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/configuring-install-packages.adp 4 Oct 2015 13:36:40 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/configuring-install-packages.adp 1 Dec 2015 11:17:43 -0000 1.1.2.5 @@ -16,7 +16,7 @@ OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

-Installing OpenACS packages

An OpenACS package extends your website and lets it do things it +Installing OpenACS packages

An OpenACS package extends your website and lets it do things it wasn't able to do before. You can have a weblog, a forums, a calendar, or even do sophisticated project-management via your website.

After you've installed OpenACS, you can congratulate yourself Index: openacs-4/packages/acs-core-docs/www/configuring-install-packages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-install-packages.html,v diff -u -N -r1.10.2.3 -r1.10.2.4 --- openacs-4/packages/acs-core-docs/www/configuring-install-packages.html 4 Oct 2015 13:36:40 -0000 1.10.2.3 +++ openacs-4/packages/acs-core-docs/www/configuring-install-packages.html 1 Dec 2015 11:17:43 -0000 1.10.2.4 @@ -2,7 +2,7 @@ Installing OpenACS packages

Installing OpenACS packages

by Jade Rubick

OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

Installing OpenACS packages

An OpenACS package extends your website and lets it do +

Installing OpenACS packages

An OpenACS package extends your website and lets it do things it wasn't able to do before. You can have a weblog, a forums, a calendar, or even do sophisticated project-management via your website.

After you've installed OpenACS, you can congratulate Index: openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.adp 4 Oct 2015 13:36:40 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.adp 1 Dec 2015 11:17:43 -0000 1.1.2.4 @@ -16,7 +16,7 @@ OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

-Mounting OpenACS packages

After you've installed your packages, you have to 'mount' them +Mounting OpenACS packages

After you've installed your packages, you have to 'mount' them in order to make them appear on your website.

Make sure you are logged in, and then click on the 'Admin' or 'Control Panel' link to get to the Site-Wide Administration page (at /acs-admin). Click on the subsite you'd like the application to Index: openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html,v diff -u -N -r1.10.2.3 -r1.10.2.4 --- openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html 4 Oct 2015 13:36:40 -0000 1.10.2.3 +++ openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html 1 Dec 2015 11:17:43 -0000 1.10.2.4 @@ -2,7 +2,7 @@ Mounting OpenACS packages

Mounting OpenACS packages

by Jade Rubick

OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

Mounting OpenACS packages

After you've installed your packages, you have to 'mount' +

Mounting OpenACS packages

After you've installed your packages, you have to 'mount' them in order to make them appear on your website.

Make sure you are logged in, and then click on the 'Admin' or 'Control Panel' link to get to the Site-Wide Administration page (at /acs-admin). Click on the subsite you'd Index: openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp,v diff -u -N -r1.1.2.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp 4 Oct 2015 13:36:40 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp 1 Dec 2015 11:17:43 -0000 1.1.2.6 @@ -18,7 +18,7 @@

Using CVS with OpenACS

-Getting Started

All OpenACS code is available anonymously. To get code +Getting Started

All OpenACS code is available anonymously. To get code anonymously, use the parameter -d:pserver:anonymous\@cvs.openacs.org:/cvsroot immediately after cvs in a cvs command to check out or export code.

If you are an OpenACS developer, you should check out code so @@ -81,7 +81,7 @@

-Checkout for Package Development

If you are actively developing a non-core package, you should +Checkout for Package Development

If you are actively developing a non-core package, you should work from the latest core release branch. Currently this is oacs-5-7. This ensures that you are working on top of a stable OpenACS core, but still allows you to commit feature changes to @@ -98,7 +98,7 @@ packages and their current state.

-Checkout for Core Development

If you are actively developing packages in the OpenACS Core, +Checkout for Core Development

If you are actively developing packages in the OpenACS Core, work from the HEAD branch. HEAD is used for active development of the next version of core OpenACS. It may be very buggy; it may not even install correctly. Do not use this branch for development of @@ -107,7 +107,7 @@ developer account:

cvs -d:ext:cvs.openacs.org:/cvsroot checkout acs-core

To check out HEAD anonymously:

cvs -d:pserver:anonymous\@cvs.openacs.org:/cvsroot checkout acs-core

-Checkout .LRN

.LRN consists of a given version openacs core, plus a set of +Checkout .LRN

.LRN consists of a given version openacs core, plus a set of packages. These are collectively packages together to form a distrubution of .LRN. F .LRN 2.0.0 sits on top of OpenACS 5.0.0. .LRN also uses an OpenACS install.xml file during installation; @@ -132,7 +132,7 @@

OpenACS CVS Concepts

-Modules

All OpenACS code resides within a single CVS module, +Modules

All OpenACS code resides within a single CVS module, openacs-4. (The openacs-4 directory contains code for all versions of OpenACS 4 and later, and .LRN 1 and later.) Checking out this module retrieves all @@ -169,7 +169,7 @@ module of the same name.

- Tags and Branches

Tags and Branches look similar in commands, but behave + Tags and Branches

Tags and Branches look similar in commands, but behave differently. A tag is a fixed point on a branch. Check out a tag to get a specific version of OpenACS. Check out a branch to get the most current code for that major-minor version (e.g., 5.0.x or @@ -412,7 +412,7 @@

- Informal Guidelines

Informal guidelines which may be obsolete in places and should + Informal Guidelines

Informal guidelines which may be obsolete in places and should be reviewed:

Using CVS with OpenACS

Getting Started

+

Using CVS with OpenACS

Getting Started

All OpenACS code is available anonymously. To get code anonymously, use the parameter -d:pserver:anonymous@cvs.openacs.org:/cvsroot immediately after cvs in a cvs command to check out or export code. @@ -51,7 +51,7 @@ cd CVSROOT emacs avail

Add an avail line of the form:

avail|username|openacs-4
cvs commit -m "added commit on X for username" avail

Checkout for Package Development

If you are actively developing a non-core package, you + User yournamehere

into your ~/.ssh/config file, then you can use -d :ext:cvs-server:/cvsroot instead of -d :ext:cvs.openacs.org:/cvsroot. You can then change the definition of cvs-server by changing one file instead of editing hundreds of CVSROOT/Repository files.

Checkout for Package Development

If you are actively developing a non-core package, you should work from the latest core release branch. Currently this is oacs-5-7. This ensures that you are working on top of a stable OpenACS core, but still allows you to commit feature @@ -66,13 +66,13 @@ Inventory and Package maintainers and status for a list of available packages and their current state. -

Checkout for Core Development

If you are actively developing packages in the OpenACS +

Checkout for Core Development

If you are actively developing packages in the OpenACS Core, work from the HEAD branch. HEAD is used for active development of the next version of core OpenACS. It may be very buggy; it may not even install correctly. Do not use this branch for development of non-core features unless your work depends on some of the HEAD core work. To check out HEAD, omit the - -r tag.

To check out HEAD for development, which requires an OpenACS developer account:

cvs -d:ext:cvs.openacs.org:/cvsroot checkout acs-core

To check out HEAD anonymously:

cvs -d:pserver:anonymous@cvs.openacs.org:/cvsroot checkout acs-core

Checkout .LRN

+ -r tag.

To check out HEAD for development, which requires an OpenACS developer account:

cvs -d:ext:cvs.openacs.org:/cvsroot checkout acs-core

To check out HEAD anonymously:

cvs -d:pserver:anonymous@cvs.openacs.org:/cvsroot checkout acs-core

Checkout .LRN

.LRN consists of a given version openacs core, plus a set of packages. These are collectively packages together to form a distrubution of .LRN. F .LRN 2.0.0 sits on top of OpenACS 5.0.0. @@ -87,7 +87,7 @@ mv dotlrn/install.xml ..

Working with CVS

Once you have a checkout you can use some commands to track what has changed since you checked out your copy. cvs -n update does not change any files, but reports which changes have been updated or locally modified, or are not present in CVS. -

To update your files, use cvs update. This will merge changes from the repository with your local files. It has no effect on the cvs.openacs.org repository.

OpenACS CVS Concepts

Modules

+

To update your files, use cvs update. This will merge changes from the repository with your local files. It has no effect on the cvs.openacs.org repository.

OpenACS CVS Concepts

Modules

All OpenACS code resides within a single CVS module, openacs-4. (The openacs-4 directory contains code for all versions of OpenACS 4 and later, and .LRN 1 and later.) Checking out this module retrieves all openacs code of any type. For convenience, subsets of openacs-4 are repackaged as smaller modules.

acs-core contains only critical common packages. It does not have any user applications, such as forums, @@ -115,7 +115,7 @@ project-manager-all contains the packages required, in combination with acs-core, to run the project-manager package.

Each OpenACS package (i.e., directory in openacs-4/packages/) is also aliased as a module of the same name. -

+

Tags and Branches

Tags and Branches look similar in commands, but behave differently. A tag is a fixed point on a branch. Check out @@ -315,7 +315,7 @@ flag which defaults to no-effect wouldn't require a TIP. Added a new mandatory flag to an existing function would require a TIP. -

+

Informal Guidelines

Informal guidelines which may be obsolete in places and should be reviewed: Index: openacs-4/packages/acs-core-docs/www/cvs-tips.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/cvs-tips.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/cvs-tips.adp 4 Oct 2015 13:36:40 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/cvs-tips.adp 1 Dec 2015 11:17:44 -0000 1.1.2.4 @@ -19,7 +19,7 @@ OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

Add -the Service to CVS - OPTIONAL. These steps +the Service to CVS - OPTIONAL. These steps take an existing OpenACS directory and add it to a CVS repository.

  1. Index: openacs-4/packages/acs-core-docs/www/cvs-tips.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/cvs-tips.html,v diff -u -N -r1.34.2.3 -r1.34.2.4 --- openacs-4/packages/acs-core-docs/www/cvs-tips.html 4 Oct 2015 13:36:40 -0000 1.34.2.3 +++ openacs-4/packages/acs-core-docs/www/cvs-tips.html 1 Dec 2015 11:17:44 -0000 1.34.2.4 @@ -2,7 +2,7 @@ Appendix D. Using CVS with an OpenACS Site

    Appendix D. Using CVS with an OpenACS Site

    By Joel Aufrecht

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

    Add the Service to CVS - OPTIONAL. These steps take an existing OpenACS directory and add +

    Add the Service to CVS - OPTIONAL. These steps take an existing OpenACS directory and add it to a CVS repository.

    1. Create and set permissions on a subdirectory in the local cvs repository.

      [root root]# mkdir /cvsroot/$OPENACS_SERVICE_NAME
       [root root]# chown $OPENACS_SERVICE_NAME.$OPENACS_SERVICE_NAME /cvsroot/$OPENACS_SERVICE_NAME
      Index: openacs-4/packages/acs-core-docs/www/docbook-primer.adp
      ===================================================================
      RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/docbook-primer.adp,v
      diff -u -N -r1.1.2.4 -r1.1.2.5
      --- openacs-4/packages/acs-core-docs/www/docbook-primer.adp	4 Oct 2015 13:36:41 -0000	1.1.2.4
      +++ openacs-4/packages/acs-core-docs/www/docbook-primer.adp	1 Dec 2015 11:17:44 -0000	1.1.2.5
      @@ -404,7 +404,7 @@
       tools will be marked up to conform to the DocBook XML
       DTD. The remaining discussion is about publishing using
       Docbook.

      - is a publishing standard based on XML + is a publishing standard based on XML with similar goals to the OpenACS Documentation project. Some specific reasons why we are using DocBook:

      • It is open-source.

      • A growing community surrounds DocBook (has mailing lists)

      • A number of free and commercial tools are available for editing and publishing DocBook @@ -445,7 +445,7 @@ of elements 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 as long as -you remember to: +you remember to:

        • Always close your tags with corresponding end-tags and to not use other tag @@ -486,7 +486,7 @@

        Document Structure

        The documentation for each package will make up a little "book" -that is structured like this - examples are emphasized: +that is structured like this - examples are emphasized:

             book                        : Docs for one package - templating
              |
        @@ -511,11 +511,11 @@
         

        Headlines, Sections

        - Given that your job starts at the + Given that your job starts at the sect1-level, all your documents should open with a <sect1>-tag and end with the corresponding </sect1>.

        - You need to feed every <sect1> two attributes. The first + You need to feed every <sect1> two attributes. The first attribute, id, is standard and can be used with all elements. It comes in very handy when interlinking between documents (more about this when talking about @@ -524,7 +524,7 @@ id has to be unique throughout the book you're making since the id's in your sect1's will turn into filenames when the book is parsed into HTML.

        - The other attribute is xreflabel. The value of this is the text + The other attribute is xreflabel. The value of this is the text that will appear as the link when referring to this sect1.

        Right after the opening tag you put the title of the document - this is usually the same as xreflabel-attribute. E.g. the top level of the document you're reading right now looks like this:

        @@ -535,7 +535,7 @@
         
         </sect1>
         

        - Inside this container your document will + Inside this container your document will be split up into <sect2>'s, each with the same requirements - id and xreflabel attributes, and a <title>-tag inside. Actually, the xreflabel is never required in @@ -545,7 +545,7 @@

        Code

        - For displaying a snippet of code, a + For displaying a snippet of code, a filename or anything else you just want to appear as a part of a sentence, we use <computeroutput> and <code> tags. These replace the HTML-tag <code> tag, @@ -559,15 +559,15 @@

        Links

        - Linking falls into two different + Linking falls into two different categories: inside the book you're making and outside:

        1. Inside linking, cross-referencing other parts of your book

        By having unique id's you can cross-reference any part of your book with a simple tag, regardless of where that part is.

        -Check out how I link to a subsection of +Check out how I link to a subsection of the Developer's Guide:

        Put this in your XML:

         - Find information about creating a package in
         <xref linkend="packages-making-a-package"></xref>.
        @@ -590,7 +590,7 @@
         
        2. Linking outside the documentation

        - If you're hyper-linking out of the + If you're hyper-linking out of the documentation, it works almost the same way as HTML - the tag is just a little different (<ulink>):

         <ulink url="http://www.oracle.com/">Oracle Corporation</ulink>
        @@ -609,7 +609,7 @@
         Note: The graphics guidelines are
         not written in stone. Use another valid approach if it works better
         for you.

        - To insert a graphic we use the elements + To insert a graphic we use the elements <mediaobject>, <imageobject>, <imagedata>, @@ -634,7 +634,7 @@

        Lists

        - Here's how you make the DocBook + Here's how you make the DocBook equivalent of the three usual HTML-lists:

        1. How to make an <ul>
        @@ -687,7 +687,7 @@

        Tables

        - DocBook supports several types of tables, + DocBook supports several types of tables, but in most cases, the <informaltable> is enough:

         <informaltable frame="all">
           <tgroup cols="3">
        @@ -733,7 +733,7 @@
         

        Emphasis

        - Our documentation uses two flavors of + Our documentation uses two flavors of emphasis - italics and bold type. DocBook uses one - <emphasis>.

        The <emphasis> tag defaults to italics when parsed. If you're looking for emphasizing with bold type, use <emphasis 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 -N -r1.52.2.3 -r1.52.2.4 --- openacs-4/packages/acs-core-docs/www/docbook-primer.html 4 Oct 2015 13:36:41 -0000 1.52.2.3 +++ openacs-4/packages/acs-core-docs/www/docbook-primer.html 1 Dec 2015 11:17:44 -0000 1.52.2.4 @@ -578,7 +578,7 @@ DTD. The remaining discussion is about publishing using Docbook.

        - + is a publishing standard based on XML with similar goals to the OpenACS Documentation project. Some specific reasons why we are using DocBook:

        • @@ -641,7 +641,7 @@ list of elements 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 as long as you remember to: - +

          • Always close your tags with corresponding end-tags and to not use other tag minimization @@ -690,7 +690,7 @@ The documentation for each package will make up a little "book" that is structured like this - examples are emphasized: - +

                 book                        : Docs for one package - templating
            @@ -714,20 +714,20 @@
                   sources of these DocBook documents
                   to get an idea of how they are tied together.
                 

          Headlines, Sections

          - + Given that your job starts at the sect1-level, all your documents should open with a <sect1>-tag and end with the corresponding </sect1>.

          - + You need to feed every <sect1> two attributes. The first attribute, id, 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 the section called “Links”). The value of id has to be unique throughout the book you're making since the id's in your sect1's will turn into filenames when the book is parsed into HTML.

          - + The other attribute is xreflabel. The value of this is the text that will appear as the link when referring to this sect1.

          @@ -742,7 +742,7 @@ </sect1>

      - + Inside this container your document will be split up into <sect2>'s, each with the same requirements - id and xreflabel @@ -751,7 +751,7 @@ When it comes to naming your sect2's and below, prefix them with some abbreviation of the id in the sect1 such as requirements-overview.

    Code

    - + For displaying a snippet of code, a filename or anything else you just want to appear as a part of a sentence, we use <computeroutput> @@ -769,12 +769,12 @@ tag around text that has been wrapped by combinations of <computeroutput> and <userinput>

    Links

    - + Linking falls into two different categories: inside the book you're making and outside:

    1. Inside linking, cross-referencing other parts of your book

    By having unique id's you can cross-reference any part of your book with a simple tag, regardless of where that part is. -

    Check out how I link to a subsection of the Developer's Guide:

    Put this in your XML:

    +      

    Check out how I link to a subsection of the Developer's Guide:

    Put this in your XML:

     - Find information about creating a package in
     <xref linkend="packages-making-a-package"></xref>.
     

    And the output is:

    @@ -798,7 +798,7 @@
             packages-looks, the
             parser will try its best to explain where the link takes you.
           

    2. Linking outside the documentation

    - + If you're hyper-linking out of the documentation, it works almost the same way as HTML - the tag is just a little different @@ -819,7 +819,7 @@ for you.

    - + To insert a graphic we use the elements <mediaobject>, <imageobject>, @@ -845,7 +845,7 @@ Put your graphics in a separate directory ("images") and link to them only with relative paths.

    Lists

    - + Here's how you make the DocBook equivalent of the three usual HTML-lists:

    1. How to make an <ul>

    Making an unordered list is pretty much like doing the same thing in HTML - if you close your <li>, that is. The only differences are that each list item has to be wrapped in something more, such as @@ -890,7 +890,7 @@ </variablelist>

    Tables

    - + DocBook supports several types of tables, but in most cases, the <informaltable> is enough: @@ -927,7 +927,7 @@ <table> for an example.

    Emphasis

    - + Our documentation uses two flavors of emphasis - italics and bold type. DocBook uses one - <emphasis>.

    Index: openacs-4/packages/acs-core-docs/www/ext-auth-requirements.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/ext-auth-requirements.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/ext-auth-requirements.adp 4 Oct 2015 13:36:42 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/ext-auth-requirements.adp 1 Dec 2015 11:17:45 -0000 1.1.2.4 @@ -12,7 +12,7 @@ External Authentication Requirements

-Vision

People have plenty of usernames and passwords already, we don't +Vision

People have plenty of usernames and passwords already, we don't want them to have yet another. We want people to be able to log in to OpenACS with the same password they use to log in to any other system.

Besides, administrators have better things to do than create @@ -73,7 +73,7 @@

Requirements

-New API

+New API
Index: openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html,v diff -u -N -r1.40.2.3 -r1.40.2.4 --- openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 4 Oct 2015 13:36:42 -0000 1.40.2.3 +++ openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 1 Dec 2015 11:17:45 -0000 1.40.2.4 @@ -1,5 +1,5 @@ -External Authentication Requirements
FeatureStatusDescription
New API
Prev Chapter 15. Kernel Documentation Next

External Authentication Requirements

Vision

People have plenty of usernames and passwords already, we +External Authentication Requirements

External Authentication Requirements

Vision

People have plenty of usernames and passwords already, we don't want them to have yet another. We want people to be able to log in to OpenACS with the same password they use to log in to any other system.

Besides, administrators have better things to do than create @@ -45,7 +45,7 @@ only one implementation of the authentication API, namly the one included in OpenACS Core.

  • Authentication Driver API: The service contract which authentication drivers implement.

  • Conceptual Pictures

    Authentication:

    -

    Account Management (NO PICTURE YET)

    Batch Synchronization (NO PICTURE YET)

    Requirements

    New API

    FeatureStatusDescription
    New API
    EXT-AUTH-01AExtend Authentication/Acct Status API
    EXT-AUTH-03AAccount Creation API
    EXT-AUTH-05APassword Management API
    EXT-AUTH-30AAuthority Management API

    Login

    FeatureStatusDescription
    Login
    EXT-AUTH-04ARewrite login, register, and admin pages to use APIs
    EXT-AUTH-38Aad_form complain feature
    EXT-AUTH-19ARewrite password recovery to use API
    EXT-AUTH-21ARewrite email verification with API
    EXT-AUTH-28AUsername is email switch

    Users will log in using a username, a authority, and a +

    Account Management (NO PICTURE YET)

    Batch Synchronization (NO PICTURE YET)

    Requirements

    New API

    FeatureStatusDescription
    New API
    EXT-AUTH-01AExtend Authentication/Acct Status API
    EXT-AUTH-03AAccount Creation API
    EXT-AUTH-05APassword Management API
    EXT-AUTH-30AAuthority Management API

    Login

    FeatureStatusDescription
    Login
    EXT-AUTH-04ARewrite login, register, and admin pages to use APIs
    EXT-AUTH-38Aad_form complain feature
    EXT-AUTH-19ARewrite password recovery to use API
    EXT-AUTH-21ARewrite email verification with API
    EXT-AUTH-28AUsername is email switch

    Users will log in using a username, a authority, and a password. The authority is the source for user/password verification. OpenACS can be an authority itself.

    Each user in OpenACS will belong to exactly one authority, which can either be the "local" OpenACS users table, in which case the Index: openacs-4/packages/acs-core-docs/www/form-builder.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/form-builder.adp,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/form-builder.adp 4 Oct 2015 13:36:42 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/form-builder.adp 1 Dec 2015 11:17:45 -0000 1.1.2.5 @@ -25,7 +25,7 @@ Multi-part Elements

    Some elements have more than one choice, or can submit more than one value.

    -SELECT elements

    1. +SELECT elements
    1. Creating the form element. Populate a list of lists with values for the option list.

      @@ -106,7 +106,7 @@
       Errors

    Here are some common errors and what to do when you encounter them:

    -Error when selecting values

    This generally happens when there is an error in your query.

    +Error when selecting values

    This generally happens when there is an error in your query.

    Index: openacs-4/packages/acs-core-docs/www/form-builder.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/form-builder.html,v diff -u -N -r1.30.2.3 -r1.30.2.4 --- openacs-4/packages/acs-core-docs/www/form-builder.html 4 Oct 2015 13:36:42 -0000 1.30.2.3 +++ openacs-4/packages/acs-core-docs/www/form-builder.html 1 Dec 2015 11:17:45 -0000 1.30.2.4 @@ -6,7 +6,7 @@ adaptable UI. Error handling includes inline error reporting, and is customizable. However, ad_form can be tricky to use. In addition to this document, the ad_form api - documentation is helpful.

    Multi-part Elements

    Some elements have more than one choice, or can submit more than one value.

    SELECT elements

    1. Creating the form element. Populate a list of lists with values for the option list.

      set foo_options [db_list_of_lists foo_option_list "
      + documentation is helpful.

    Multi-part Elements

    Some elements have more than one choice, or can submit more than one value.

    SELECT elements

    1. Creating the form element. Populate a list of lists with values for the option list.

      set foo_options [db_list_of_lists foo_option_list "
           select foo,
                  foo_id
             from foos
      @@ -51,5 +51,5 @@
           ns_set print $mypage
       }
           

    Tips for form widgets

    Here are some tips for dealing with some of the form widgets:

    Current widget

    Common Errors

    Here are some common errors and what to do when you - encounter them:

    Error when selecting values

    This generally happens when there is an error in your + encounter them:

    Error when selecting values

    This generally happens when there is an error in your query.

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/high-avail.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/high-avail.adp,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/high-avail.adp 4 Oct 2015 13:36:42 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/high-avail.adp 1 Dec 2015 11:17:45 -0000 1.1.2.5 @@ -13,7 +13,7 @@ Configurations

    See also the section called “Running a PostgreSQL database on another server”.

    -

    Figure 6.1. Multiple-server +

    Figure 6.1. Multiple-server configuration

    Multiple-server configuration

    Index: openacs-4/packages/acs-core-docs/www/high-avail.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/high-avail.html,v diff -u -N -r1.24.2.3 -r1.24.2.4 --- openacs-4/packages/acs-core-docs/www/high-avail.html 4 Oct 2015 13:36:42 -0000 1.24.2.3 +++ openacs-4/packages/acs-core-docs/www/high-avail.html 1 Dec 2015 11:17:45 -0000 1.24.2.4 @@ -1,2 +1,2 @@ -High Availability/High Performance Configurations

    High Availability/High Performance Configurations

    See also the section called “Running a PostgreSQL database on another server”.

    Figure 6.1. Multiple-server configuration

    Multiple-server configuration

    View comments on this page at openacs.org
    +High Availability/High Performance Configurations

    High Availability/High Performance Configurations

    See also the section called “Running a PostgreSQL database on another server”.

    Figure 6.1. Multiple-server configuration

    Multiple-server configuration

    View comments on this page at openacs.org
    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 -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/how-do-I.adp 4 Oct 2015 13:36:42 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/how-do-I.adp 1 Dec 2015 11:17:45 -0000 1.1.2.4 @@ -12,20 +12,20 @@

    How Do I?

    -How do I edit the front page of a new site +How do I edit the front page of a new site through a web interface?

    The easiest way is to install the Edit-This-Page package.

    1. Log in to the web site as an administrator.

    2. Click on Admin > Install Software > Install from OpenACS Repository / Install new application

    3. Choose Edit This Page and install

    4. Follow the instructions within Edit This Page (the link will only work after Edit This Page is installed).

    -How do I let anybody who registers post to +How do I let anybody who registers post to a weblog?

    Go to /admin/permissions and grant Create to Registered Users

    -How do I replace the front page of a new +How do I replace the front page of a new site with the front page of an application on that site

    Suppose you install a new site and install Weblogger, and you want all visitors to see weblogger automatically.

    1. On the front page, click the Admin button.

    2. On the administration page, click Parameters link.

    3. Change the parameter IndexRedirectUrl to be the URI of the @@ -35,7 +35,7 @@

    -How do I put custom functionality on front +How do I put custom functionality on front page of a new site?

    Every page within an OpenACS site is part of a subsiteMore information). The home page of the entire site is the front page is a special, default instance of a subsite, served from /var/lib/aolserver/$OPENACS_SERVICE_NAME/www. If an @@ -50,7 +50,7 @@

    -How do I change the site-wide style?

    Almost all pages on an OpenACS site use ACS Templating, and so +How do I change the site-wide style?

    Almost all pages on an OpenACS site use ACS Templating, and so their appearance is driven by a layer of different files. Let's examine how this works:

    • @@ -74,12 +74,12 @@ navigation "meta" elements such as Translator widgets and Admin widgets.

    -

    Figure 4.1. Site +

    Figure 4.1. Site Templates

    Site Templates

    -How do I diagnose a permissions +How do I diagnose a permissions problem?

    • @@ -123,12 +123,12 @@

    • 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.

      -

      Figure 4.2. Granting +

      Figure 4.2. Granting Permissions

      Granting Permissions

    OpenACS 5.0 offers a prettier version at /admin/applications.

    -

    Figure 4.3. Granting +

    Figure 4.3. Granting Permissions in 5.0

    Granting Permissions in 5.0

    Index: openacs-4/packages/acs-core-docs/www/how-do-I.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/how-do-I.html,v diff -u -N -r1.27.2.3 -r1.27.2.4 --- openacs-4/packages/acs-core-docs/www/how-do-I.html 4 Oct 2015 13:36:42 -0000 1.27.2.3 +++ openacs-4/packages/acs-core-docs/www/how-do-I.html 1 Dec 2015 11:17:45 -0000 1.27.2.4 @@ -1,7 +1,7 @@ -How Do I?

    How Do I?

    How do I edit the front page of a new site through a web interface?

    The easiest way is to install the Edit-This-Page package.

    1. Log in to the web site as an administrator.

    2. Click on Admin > Install Software > Install from OpenACS Repository / Install new application

    3. Choose Edit This Page and install

    4. Follow the instructions within Edit This Page (the link will only work after Edit This Page is installed).

    How do I let anybody who registers post to a weblog?

    Go to /admin/permissions and grant Create to Registered Users

    How do I replace the front page of a new site with the front page of an application on that site

    Suppose you install a new site and install Weblogger, and you want all visitors to see weblogger automatically.

    1. On the front page, click the Admin button.

    2. On the administration page, click Parameters link.

    3. Change the parameter IndexRedirectUrl to be the URI of the desired application. For a default weblogger installation, this would be weblogger/. Note the trailing slash.

    How do I put custom functionality on front page of a new site?

    Every page within an OpenACS site is part of a subsite More information). The home page of the entire site is the front page is a special, default instance of a subsite, served from /var/lib/aolserver/$OPENACS_SERVICE_NAME/www. If an index page is not found there, the default index page for all subsites is used. To customize the code on the front page, copy the default index page from the Subsite package to the Main site and edit it:

    1. cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-subsite/www/index* /var/lib/aolserver/$OPENACS_SERVICE_NAME/www
    2. Edit the new index.adp to change the text; you shouldn't need to edit index.tcl unless you are adding new functionality.

    How do I change the site-wide style?

    Almost all pages on an OpenACS site use ACS Templating, and so their appearance is driven by a layer of different files. Let's examine how this works:

    • +How Do I?

      How Do I?

      How do I edit the front page of a new site through a web interface?

      The easiest way is to install the Edit-This-Page package.

      1. Log in to the web site as an administrator.

      2. Click on Admin > Install Software > Install from OpenACS Repository / Install new application

      3. Choose Edit This Page and install

      4. Follow the instructions within Edit This Page (the link will only work after Edit This Page is installed).

      How do I let anybody who registers post to a weblog?

      Go to /admin/permissions and grant Create to Registered Users

      How do I replace the front page of a new site with the front page of an application on that site

      Suppose you install a new site and install Weblogger, and you want all visitors to see weblogger automatically.

      1. On the front page, click the Admin button.

      2. On the administration page, click Parameters link.

      3. Change the parameter IndexRedirectUrl to be the URI of the desired application. For a default weblogger installation, this would be weblogger/. Note the trailing slash.

      How do I put custom functionality on front page of a new site?

      Every page within an OpenACS site is part of a subsite More information). The home page of the entire site is the front page is a special, default instance of a subsite, served from /var/lib/aolserver/$OPENACS_SERVICE_NAME/www. If an index page is not found there, the default index page for all subsites is used. To customize the code on the front page, copy the default index page from the Subsite package to the Main site and edit it:

      1. cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-subsite/www/index* /var/lib/aolserver/$OPENACS_SERVICE_NAME/www
      2. Edit the new index.adp to change the text; you shouldn't need to edit index.tcl unless you are adding new functionality.

      How do I change the site-wide style?

      Almost all pages on an OpenACS site use ACS Templating, and so 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 file is usually:

        <master>

        If it appears exactly like this, without any arguments, the template processer uses default-master for that subsite. For pages in /var/lib/aolserver/$OPENACS_SERVICE_NAME/www, this is /var/lib/aolserver/$OPENACS_SERVICE_NAME/www/default-master.adp and the associated .tcl file. -

      • The default-master is itself a normal ADP page. It draws the subsite navigation elements and invokes site-master (/var/lib/aolserver/$OPENACS_SERVICE_NAME/www/site-master.adp and .tcl)

      • The site-master draws site-wide navigation elements and invokes blank-master (/var/lib/aolserver/$OPENACS_SERVICE_NAME/www/blank-master.adp and .tcl).

      • Blank-master does HTML housekeeping and provides a framework for special sitewide navigation "meta" elements such as Translator widgets and Admin widgets.

      Figure 4.1. Site Templates

      Site Templates

      How do I diagnose a permissions problem?

      • Steps to Reproduce. The events package does not allow users to register for new events.

        1. 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.

        2. Select an available event

        3. A link such as Registration: Deadline is 03/15/2004 10:00am. +

        4. The default-master is itself a normal ADP page. It draws the subsite navigation elements and invokes site-master (/var/lib/aolserver/$OPENACS_SERVICE_NAME/www/site-master.adp and .tcl)

        5. The site-master draws site-wide navigation elements and invokes blank-master (/var/lib/aolserver/$OPENACS_SERVICE_NAME/www/blank-master.adp and .tcl).

        6. Blank-master does HTML housekeeping and provides a framework for special sitewide navigation "meta" elements such as Translator widgets and Admin widgets.

      Figure 4.1. Site Templates

      Site Templates

      How do I diagnose a permissions problem?

      • Steps to Reproduce. The events package does not allow users to register for new events.

        1. 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.

        2. Select an available event

        3. 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" -

        4. 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/$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

        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.

        1. To grant permissions on a package, start at the site map. Find the event package and click "Set permissions".

        2. Click "Grant Permission"

        3. Grant the write permission to Registered Users.

          Figure 4.2. Granting Permissions

          Granting Permissions

        OpenACS 5.0 offers a prettier version at /admin/applications.

        Figure 4.3. Granting Permissions in 5.0

        Granting Permissions in 5.0

      View comments on this page at openacs.org
      +

    • 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/$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

    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.

    1. To grant permissions on a package, start at the site map. Find the event package and click "Set permissions".

    2. Click "Grant Permission"

    3. Grant the write permission to Registered Users.

      Figure 4.2. Granting Permissions

      Granting Permissions

    OpenACS 5.0 offers a prettier version at /admin/applications.

    Figure 4.3. Granting Permissions in 5.0

    Granting Permissions in 5.0

  • View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/i18n-convert.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-convert.adp,v diff -u -N -r1.1.2.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/i18n-convert.adp 14 Oct 2015 09:04:04 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/i18n-convert.adp 1 Dec 2015 11:17:46 -0000 1.1.2.6 @@ -150,7 +150,7 @@

    -Avoiding common i18n mistakes

      +Avoiding common i18n mistakes
    • Replace complicated keys with longer, simpler @@ -219,7 +219,7 @@ </if> <if \@components.view_bugs_url\@ not nil> -<a href="\@components.view_bugs_url\@" title="#bug-tracker.View_the_bug_fo_component#"> +<a href="\@components.view_bugs_url\@" title="#bug-tracker.View_the_bug_fo_component#"> </if> \@components.num_bugs\@ <if \@components.num_bugs\@ eq 1> @@ -234,9 +234,9 @@

      It would probably be better to do this as something like:

       <if \@components.view_bugs_url\@ not nil>
         <if \@components.num_bugs\@ eq 1>
      -    <a href="\@components.view_bugs_url\@" title="#bug-tracker.View_the_bug_fo_component#">#bug-tracker.one_bug#</a>
      +    <a href="\@components.view_bugs_url\@" title="#bug-tracker.View_the_bug_fo_component#">#bug-tracker.one_bug#</a>
         </if><else>
      -    <a href="\@components.view_bugs_url\@" title="#bug-tracker.View_the_bug_fo_component#">#bug-tracker.N_bugs#</a>
      +    <a href="\@components.view_bugs_url\@" title="#bug-tracker.View_the_bug_fo_component#">#bug-tracker.N_bugs#</a>
         </else>
       </if>
       
      @@ -260,7 +260,7 @@ more control over the phrase.

      In this example of bad i18n, full name is created by concatenating first and last name (admittedly this is pervasive in the toolkit):

      -<a href="\@past_version.maintainer_url\@" title="#bug-tracker.Email# \@past_version.maintainer_email\@">
      +<a href="\@past_version.maintainer_url\@" title="#bug-tracker.Email# \@past_version.maintainer_email\@">
       \@past_version.maintainer_first_names\@ \@past_version.maintainer_last_name\@</a>
       
    • Index: openacs-4/packages/acs-core-docs/www/i18n-convert.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-convert.html,v diff -u -N -r1.26.2.4 -r1.26.2.5 --- openacs-4/packages/acs-core-docs/www/i18n-convert.html 14 Oct 2015 08:58:58 -0000 1.26.2.4 +++ openacs-4/packages/acs-core-docs/www/i18n-convert.html 1 Dec 2015 11:17:46 -0000 1.26.2.5 @@ -72,7 +72,7 @@ test. If you don't provide the package_key argument then all packages with catalog files will be checked. The script will run its checks primarily on en_US xml catalog files. -

    Avoiding common i18n mistakes

    • Replace complicated keys with longer, simpler keys. When writing in one language, it is possible to create clever code to make correct text. In English, for example, you can put an if command at the end of a word which adds "s" if a count is anything but 1. This pluralizes nouns correctly based on the data. However, it is confusing to read and, when internationalized, may result in message keys that are both confusing and impossible to set correctly in some languages. While internationalizing, watch out that the automate converter does not create such keys. Also, refactor compound text as you encounter it.

      The automated system can easily get confused by tags within message texts, so that it tries to create two or three message keys for one long string with a tag in the middle. In these cases, uncheck those keys during the conversion and then edit the files directly. For example, this code:

        <p class="form-help-text"><b>Invitations</b> are sent,
      +      

    Avoiding common i18n mistakes

    • Replace complicated keys with longer, simpler keys. When writing in one language, it is possible to create clever code to make correct text. In English, for example, you can put an if command at the end of a word which adds "s" if a count is anything but 1. This pluralizes nouns correctly based on the data. However, it is confusing to read and, when internationalized, may result in message keys that are both confusing and impossible to set correctly in some languages. While internationalizing, watch out that the automate converter does not create such keys. Also, refactor compound text as you encounter it.

      The automated system can easily get confused by tags within message texts, so that it tries to create two or three message keys for one long string with a tag in the middle. In these cases, uncheck those keys during the conversion and then edit the files directly. For example, this code:

        <p class="form-help-text"><b>Invitations</b> are sent,
                 when this wizard is completed and casting begins.</p>

      has a bold tag which confuses the converter into thinking there are two message keys for the text beginning "Invitations ..." where there should be one:

      Instead, we cancel those keys, edit the file manually, and put in a single temporary message tag:

        <p class="form-help-text"> <#Invitations_are_sent <b>Invitations</b> are sent, 
       when this wizard is completed and casting begins.#>
         </p>

      Complex if statements may produce convoluted message keys that are very hard to localize. Rewrite these if statements. For example:

      Select which case <if @simulation.casting_type@ eq "open">and
      @@ -110,7 +110,7 @@
         </if>
       
       <if @components.view_bugs_url@ not nil>
      -<a href="@components.view_bugs_url@" title="#bug-tracker.View_the_bug_fo_component#">
      +<a href="@components.view_bugs_url@" title="#bug-tracker.View_the_bug_fo_component#">
       </if>
       @components.num_bugs@ 
       <if @components.num_bugs@ eq 1>
      @@ -124,12 +124,12 @@
       </if>
       

      It would probably be better to do this as something like:

      <if @components.view_bugs_url@ not nil>
         <if @components.num_bugs@ eq 1>
      -    <a href="@components.view_bugs_url@" title="#bug-tracker.View_the_bug_fo_component#">#bug-tracker.one_bug#</a>
      +    <a href="@components.view_bugs_url@" title="#bug-tracker.View_the_bug_fo_component#">#bug-tracker.one_bug#</a>
         </if><else>
      -    <a href="@components.view_bugs_url@" title="#bug-tracker.View_the_bug_fo_component#"># bug-tracker.N_bugs#</a>
      +    <a href="@components.view_bugs_url@" title="#bug-tracker.View_the_bug_fo_component#">#bug-tracker.N_bugs#</a>
         </else>
       </if>
    • Don't combine keys in display text. Converting a phrase from one language to another is usually more complicated than simply replacing each word with an equivalent. When several keys are concatenated, the resulting word order will not be correct for every language. Different languages may use expressions or idioms that don't match the phrase key-for-key. Create complete, distinct keys instead of building text from several keys. For example:

      Original code:

      multirow append links "New [bug_tracker::conn Bug]" 

      Problematic conversion:

      multirow append links "[_ bug-tracker.New] [bug_tracker::conn Bug]"

      Better conversion:

      set bug_label [bug_tracker::conn Bug]
      -multirow append links "[_ bug-tracker.New_Bug]" "${url_prefix}bug-add"

      ... and include the variable in the key: "New %bug_label%". This gives translators more control over the phrase.

      In this example of bad i18n, full name is created by concatenating first and last name (admittedly this is pervasive in the toolkit):

      <a href="@past_version.maintainer_url@" title="# bug-tracker.Email# @past_version.maintainer_email@">
      +multirow append links "[_ bug-tracker.New_Bug]" "${url_prefix}bug-add"

      ... and include the variable in the key: "New %bug_label%". This gives translators more control over the phrase.

      In this example of bad i18n, full name is created by concatenating first and last name (admittedly this is pervasive in the toolkit):

      <a href="@past_version.maintainer_url@" title="#bug-tracker.Email# @past_version.maintainer_email@">
       @past_version.maintainer_first_names@ @past_version.maintainer_last_name@</a>
    • Avoid unnecessary duplicate keys. When phrases are exactly the same in several places, use a single key.

      For common words such as Yes and No, you can use a library of keys at acs-kernel. For example, instead of using Index: openacs-4/packages/acs-core-docs/www/i18n-introduction.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-introduction.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/i18n-introduction.adp 29 Oct 2015 12:44:27 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/i18n-introduction.adp 1 Dec 2015 11:17:46 -0000 1.1.2.4 @@ -78,7 +78,7 @@

      The short: #package_key.message_key#

      The advantage of the short syntax is that it's short. It's as -simple as inserting the value of a variable. Example: #forum.title# +simple as inserting the value of a variable. Example: #forum.title#

    • The verbose: @@ -216,12 +216,12 @@ Parameter NameParameter Value -class_instance_pages_csv#dotlrn.class_page_home_title#,Simple -2-Column;#dotlrn.class_page_calendar_title#,Simple -1-Column;#dotlrn.class_page_file_storage_title#,Simple +class_instance_pages_csv#dotlrn.class_page_home_title#,Simple +2-Column;#dotlrn.class_page_calendar_title#,Simple +1-Column;#dotlrn.class_page_file_storage_title#,Simple 1-Column -departments_pretty_name#departments_pretty_name# +departments_pretty_name#departments_pretty_name#

    Then, depending on how we retrieve the value, here's what we @@ -239,7 +239,7 @@ parameter::get -localize -parameter departments_pretty_nameAbteilung -parameter::get -parameter departments_pretty_name#departments_pretty_name# +parameter::get -parameter departments_pretty_name#departments_pretty_name#

    The value in the rightmost column in the table above is the Index: openacs-4/packages/acs-core-docs/www/i18n-introduction.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-introduction.html,v diff -u -N -r1.18.2.1 -r1.18.2.2 --- openacs-4/packages/acs-core-docs/www/i18n-introduction.html 29 Oct 2015 12:42:24 -0000 1.18.2.1 +++ openacs-4/packages/acs-core-docs/www/i18n-introduction.html 1 Dec 2015 11:17:46 -0000 1.18.2.2 @@ -54,7 +54,7 @@

    The advantage of the short syntax is that it's short. It's as simple as inserting the value of a variable. Example: - #forum.title# + #forum.title#

  • The verbose: <trn key="package_key.message_key" @@ -197,9 +197,9 @@

    Here are a couple of examples. Say we have the following two parameters, taken directly from the dotlrn package. -

    Parameter NameParameter Value
    class_instance_pages_csv#dotlrn.class_page_home_title#,Simple 2-Column;#dotlrn.class_page_calendar_title#,Simple 1-Column;#dotlrn.class_page_file_storage_title#,Simple 1-Column
    departments_pretty_name#departments_pretty_name#

    +

    Parameter NameParameter Value
    class_instance_pages_csv#dotlrn.class_page_home_title#,Simple 2-Column;#dotlrn.class_page_calendar_title#,Simple 1-Column;#dotlrn.class_page_file_storage_title#,Simple 1-Column
    departments_pretty_name#departments_pretty_name#

    Then, depending on how we retrieve the value, here's what we get: -

    Command used to retrieve ValueRetrieved Value
    parameter::get -localize -parameter class_instances_pages_csvKurs Startseite,Simple 2-Column;Kalender,Simple 1-Column;Dateien,Simple 1-Column
    parameter::get -localize -parameter departments_pretty_nameAbteilung
    parameter::get -parameter departments_pretty_name#departments_pretty_name#

    +

    Command used to retrieve ValueRetrieved Value
    parameter::get -localize -parameter class_instances_pages_csvKurs Startseite,Simple 2-Column;Kalender,Simple 1-Column;Dateien,Simple 1-Column
    parameter::get -localize -parameter departments_pretty_nameAbteilung
    parameter::get -parameter departments_pretty_name#departments_pretty_name#

    The value in the rightmost column in the table above is the value returned by an invocation of parameter::get. Note that for localization to happen you must use the -localize flag. 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 -N -r1.26.2.5 -r1.26.2.6 --- openacs-4/packages/acs-core-docs/www/index.adp 4 Oct 2015 13:36:43 -0000 1.26.2.5 +++ openacs-4/packages/acs-core-docs/www/index.adp 1 Dec 2015 11:17:46 -0000 1.26.2.6 @@ -9,7 +9,7 @@

    -OpenACS Core Documentation


    +OpenACS Core Documentation

  • Table of Contents

    I. OpenACS For Index: openacs-4/packages/acs-core-docs/www/index.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/index.html,v diff -u -N -r1.53.2.3 -r1.53.2.4 --- openacs-4/packages/acs-core-docs/www/index.html 4 Oct 2015 13:36:43 -0000 1.53.2.3 +++ openacs-4/packages/acs-core-docs/www/index.html 1 Dec 2015 11:17:46 -0000 1.53.2.4 @@ -1,4 +1,4 @@ -OpenACS Core Documentation

    OpenACS Core Documentation


    Table of Contents

    I. OpenACS For Everyone
    1. High level information: What is OpenACS?
    Overview
    OpenACS Release Notes
    II. Administrator's Guide
    2. Installation Overview
    Basic Steps
    Prerequisite Software
    3. Complete Installation
    Install a Unix-like system and supporting software
    Install Oracle 8.1.7
    Install PostgreSQL
    Install AOLserver 4
    Install OpenACS 5.7.0
    OpenACS Installation Guide for Windows2000
    OpenACS Installation Guide for Mac OS X
    4. Configuring a new OpenACS Site
    Installing OpenACS packages
    Mounting OpenACS packages
    Configuring an OpenACS package
    Setting Permissions on an OpenACS package
    How Do I?
    5. Upgrading
    Overview
    Upgrading 4.5 or higher to 4.6.3
    Upgrading OpenACS 4.6.3 to 5.0
    Upgrading an OpenACS 5.0.0 or greater installation
    Upgrading the OpenACS files
    Upgrading Platform components
    6. Production Environments
    Starting and Stopping an OpenACS instance.
    AOLserver keepalive with inittab
    Running multiple services on one machine
    High Availability/High Performance Configurations
    Staged Deployment for Production Networks
    Installing SSL Support for an OpenACS service
    Set up Log Analysis Reports
    External uptime validation
    Diagnosing Performance Problems
    7. Database Management
    Running a PostgreSQL database on another server
    Deleting a tablespace
    Vacuum Postgres nightly
    8. Backup and Recovery
    Backup Strategy
    Manual backup and recovery
    Automated Backup
    Using CVS for backup-recovery
    A. Install Red Hat 8/9
    B. Install additional supporting software
    Unpack the OpenACS tarball
    Initialize CVS (OPTIONAL)
    Add PSGML commands to emacs init file (OPTIONAL)
    Install Daemontools (OPTIONAL)
    Install qmail (OPTIONAL)
    Install Analog web file analyzer
    Install nspam
    Install Full Text Search using Tsearch2
    Install Full Text Search using OpenFTS (deprecated see tsearch2)
    Install nsopenssl
    Install tclwebtest.
    Install PHP for use in AOLserver
    Install Squirrelmail for use as a webmail system for OpenACS
    Install PAM Radius for use as external authentication
    Install LDAP for use as external authentication
    Install AOLserver 3.3oacs1
    C. Credits
    Where did this document come from?
    Linux Install Guides
    Security Information
    Resources
    III. For OpenACS Package Developers
    9. Development Tutorial
    Creating an Application Package
    Setting Up Database Objects
    Creating Web Pages
    Debugging and Automated Testing
    10. Advanced Topics
    Write the Requirements and Design Specs
    Add the new package to CVS
    OpenACS Edit This Page Templates
    Adding Comments
    Admin Pages
    Categories
    Profile your code
    Prepare the package for distribution.
    Distributing upgrades of your package
    Notifications
    Hierarchical data
    Using .vuh files for pretty urls
    Laying out a page with CSS instead of tables
    Sending HTML email from your application
    Basic Caching
    Scheduled Procedures
    Enabling WYSIWYG
    Adding in parameters for your package
    Writing upgrade scripts
    Connect to a second database
    Future Topics
    11. Development Reference
    OpenACS Packages
    OpenACS Data Models and the Object System
    The Request Processor
    The OpenACS Database Access API
    Using Templates in OpenACS
    Groups, Context, Permissions
    Writing OpenACS Application Pages
    Parties in OpenACS
    OpenACS Permissions Tediously Explained
    Object Identity
    Programming with AOLserver
    Using Form Builder: building html forms dynamically
    12. Engineering Standards
    OpenACS Style Guide
    +OpenACS Core Documentation

    OpenACS Core Documentation


    Table of Contents

    I. OpenACS For Everyone
    1. High level information: What is OpenACS?
    Overview
    OpenACS Release Notes
    II. Administrator's Guide
    2. Installation Overview
    Basic Steps
    Prerequisite Software
    3. Complete Installation
    Install a Unix-like system and supporting software
    Install Oracle 8.1.7
    Install PostgreSQL
    Install AOLserver 4
    Install OpenACS 5.7.0
    OpenACS Installation Guide for Windows2000
    OpenACS Installation Guide for Mac OS X
    4. Configuring a new OpenACS Site
    Installing OpenACS packages
    Mounting OpenACS packages
    Configuring an OpenACS package
    Setting Permissions on an OpenACS package
    How Do I?
    5. Upgrading
    Overview
    Upgrading 4.5 or higher to 4.6.3
    Upgrading OpenACS 4.6.3 to 5.0
    Upgrading an OpenACS 5.0.0 or greater installation
    Upgrading the OpenACS files
    Upgrading Platform components
    6. Production Environments
    Starting and Stopping an OpenACS instance.
    AOLserver keepalive with inittab
    Running multiple services on one machine
    High Availability/High Performance Configurations
    Staged Deployment for Production Networks
    Installing SSL Support for an OpenACS service
    Set up Log Analysis Reports
    External uptime validation
    Diagnosing Performance Problems
    7. Database Management
    Running a PostgreSQL database on another server
    Deleting a tablespace
    Vacuum Postgres nightly
    8. Backup and Recovery
    Backup Strategy
    Manual backup and recovery
    Automated Backup
    Using CVS for backup-recovery
    A. Install Red Hat 8/9
    B. Install additional supporting software
    Unpack the OpenACS tarball
    Initialize CVS (OPTIONAL)
    Add PSGML commands to emacs init file (OPTIONAL)
    Install Daemontools (OPTIONAL)
    Install qmail (OPTIONAL)
    Install Analog web file analyzer
    Install nspam
    Install Full Text Search using Tsearch2
    Install Full Text Search using OpenFTS (deprecated see tsearch2)
    Install nsopenssl
    Install tclwebtest.
    Install PHP for use in AOLserver
    Install Squirrelmail for use as a webmail system for OpenACS
    Install PAM Radius for use as external authentication
    Install LDAP for use as external authentication
    Install AOLserver 3.3oacs1
    C. Credits
    Where did this document come from?
    Linux Install Guides
    Security Information
    Resources
    III. For OpenACS Package Developers
    9. Development Tutorial
    Creating an Application Package
    Setting Up Database Objects
    Creating Web Pages
    Debugging and Automated Testing
    10. Advanced Topics
    Write the Requirements and Design Specs
    Add the new package to CVS
    OpenACS Edit This Page Templates
    Adding Comments
    Admin Pages
    Categories
    Profile your code
    Prepare the package for distribution.
    Distributing upgrades of your package
    Notifications
    Hierarchical data
    Using .vuh files for pretty urls
    Laying out a page with CSS instead of tables
    Sending HTML email from your application
    Basic Caching
    Scheduled Procedures
    Enabling WYSIWYG
    Adding in parameters for your package
    Writing upgrade scripts
    Connect to a second database
    Future Topics
    11. Development Reference
    OpenACS Packages
    OpenACS Data Models and the Object System
    The Request Processor
    The OpenACS Database Access API
    Using Templates in OpenACS
    Groups, Context, Permissions
    Writing OpenACS Application Pages
    Parties in OpenACS
    OpenACS Permissions Tediously Explained
    Object Identity
    Programming with AOLserver
    Using Form Builder: building html forms dynamically
    12. Engineering Standards
    OpenACS Style Guide
    CVS Guidelines -
    Release Version Numbering
    Constraint naming standard
    ACS File Naming and Formatting Standards
    PL/SQL Standards
    Variables
    Automated Testing
    13. Documentation Standards
    OpenACS Documentation Guide
    Using PSGML mode in Emacs
    Using nXML mode in Emacs
    Detailed Design Documentation Template
    System/Application Requirements Template
    14. Internationalization
    Internationalization and Localization Overview
    How Internationalization/Localization works in OpenACS
    How to Internationalize a Package
    Design Notes
    Translator's Guide
    D. Using CVS with an OpenACS Site
    IV. For OpenACS Platform Developers
    15. Kernel Documentation
    Overview
    Object Model Requirements
    Object Model Design
    Permissions Requirements
    Permissions Design
    Groups Requirements
    Groups Design
    Subsites Requirements
    Subsites Design Document
    Package Manager Requirements
    Package Manager Design
    Database Access API
    OpenACS Internationalization Requirements
    Security Requirements
    Security Design
    Security Notes
    Request Processor Requirements
    Request Processor Design
    Documenting Tcl Files: Page Contracts and Libraries
    Bootstrapping OpenACS
    External Authentication Requirements
    16. Releasing OpenACS
    OpenACS Core and .LRN
    How to Update the OpenACS.org repository
    How to package and release an OpenACS Package
    How to Update the translations
    Index
    View comments on this page at openacs.org
    +
    Release Version Numbering
    Constraint naming standard
    ACS File Naming and Formatting Standards
    PL/SQL Standards
    Variables
    Automated Testing
    13. Documentation Standards
    OpenACS Documentation Guide
    Using PSGML mode in Emacs
    Using nXML mode in Emacs
    Detailed Design Documentation Template
    System/Application Requirements Template
    14. Internationalization
    Internationalization and Localization Overview
    How Internationalization/Localization works in OpenACS
    How to Internationalize a Package
    Design Notes
    Translator's Guide
    D. Using CVS with an OpenACS Site
    IV. For OpenACS Platform Developers
    15. Kernel Documentation
    Overview
    Object Model Requirements
    Object Model Design
    Permissions Requirements
    Permissions Design
    Groups Requirements
    Groups Design
    Subsites Requirements
    Subsites Design Document
    Package Manager Requirements
    Package Manager Design
    Database Access API
    OpenACS Internationalization Requirements
    Security Requirements
    Security Design
    Security Notes
    Request Processor Requirements
    Request Processor Design
    Documenting Tcl Files: Page Contracts and Libraries
    Bootstrapping OpenACS
    External Authentication Requirements
    16. Releasing OpenACS
    OpenACS Core and .LRN
    How to Update the OpenACS.org repository
    How to package and release an OpenACS Package
    How to Update the translations
    Index
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-cvs.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-cvs.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/install-cvs.adp 4 Oct 2015 13:36:44 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/install-cvs.adp 1 Dec 2015 11:17:47 -0000 1.1.2.4 @@ -10,7 +10,7 @@ rightLink="psgml-for-emacs" rightLabel="Next">

    -Initialize CVS (OPTIONAL)

    CVS is a source control system. Create and initialize a +Initialize CVS (OPTIONAL)

    CVS is a source control system. Create and initialize a directory for a local cvs repository.

     [root tmp]# mkdir /cvsroot
     [root tmp]# cvs -d /cvsroot init
    Index: openacs-4/packages/acs-core-docs/www/install-cvs.html
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-cvs.html,v
    diff -u -N -r1.40.2.3 -r1.40.2.4
    --- openacs-4/packages/acs-core-docs/www/install-cvs.html	4 Oct 2015 13:36:44 -0000	1.40.2.3
    +++ openacs-4/packages/acs-core-docs/www/install-cvs.html	1 Dec 2015 11:17:47 -0000	1.40.2.4
    @@ -1,5 +1,5 @@
     
    -Initialize CVS (OPTIONAL)

    Initialize CVS (OPTIONAL)

    CVS is a source control system. Create and initialize a +Initialize CVS (OPTIONAL)

    Initialize CVS (OPTIONAL)

    CVS is a source control system. Create and initialize a directory for a local cvs repository.

    [root tmp]# mkdir /cvsroot
     [root tmp]# cvs -d /cvsroot init
     [root tmp]#
    Index: openacs-4/packages/acs-core-docs/www/install-daemontools.adp
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-daemontools.adp,v
    diff -u -N -r1.1.2.3 -r1.1.2.4
    --- openacs-4/packages/acs-core-docs/www/install-daemontools.adp	4 Oct 2015 13:36:44 -0000	1.1.2.3
    +++ openacs-4/packages/acs-core-docs/www/install-daemontools.adp	1 Dec 2015 11:17:47 -0000	1.1.2.4
    @@ -16,7 +16,7 @@
     svgroup. svgroup is a script for granting permissions, to allow
     users other than root to use daemontools for specific services.

    1. -

      Install Daemontools

      +

      Install Daemontools

      download daemontools and install it.

      • Index: openacs-4/packages/acs-core-docs/www/install-daemontools.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-daemontools.html,v diff -u -N -r1.41.2.3 -r1.41.2.4 --- openacs-4/packages/acs-core-docs/www/install-daemontools.html 4 Oct 2015 13:36:44 -0000 1.41.2.3 +++ openacs-4/packages/acs-core-docs/www/install-daemontools.html 1 Dec 2015 11:17:47 -0000 1.41.2.4 @@ -4,7 +4,7 @@ installed in /package. These commands install daemontools and svgroup. svgroup is a script for granting permissions, to allow users other than root to use daemontools for specific - services.

        1. Install Daemontools

          download daemontools and install it.

          • Red Hat 8

            [root root]# mkdir -p /package
            +      services.

            1. Install Daemontools

              download daemontools and install it.

              • Red Hat 8

                [root root]# mkdir -p /package
                 [root root]# chmod 1755 /package/
                 [root root]# cd /package/
                 [root package]# tar xzf /tmp/daemontools-0.76.tar.gz
                Index: openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.adp
                ===================================================================
                RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.adp,v
                diff -u -N -r1.1.2.3 -r1.1.2.4
                --- openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.adp	4 Oct 2015 13:36:44 -0000	1.1.2.3
                +++ openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.adp	1 Dec 2015 11:17:47 -0000	1.1.2.4
                @@ -24,7 +24,7 @@
                 with an automated install process using the tsearch2-driver
                 package.

                -Install OpenFTS module

                If you want full text search, and you are running PostgreSQL, +Install OpenFTS module

            If you want full text search, and you are running PostgreSQL, install this module to support FTS. Do this step after you have installed both PostgreSQL and AOLserver. You will need the openfts tarball in @@ -119,7 +119,7 @@

          Install OpenFTS prerequisites in -PostgreSQL instance

          If you are installing Full Text Search, add required packages to +PostgreSQL instance

      If you are installing Full Text Search, add required packages to the new database. (In order for full text search to work, you must also install the PostgreSQL OpenFTS module and prerequisites.)

      Index: openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.html
      ===================================================================
      RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.html,v
      diff -u -N -r1.11.2.3 -r1.11.2.4
      --- openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.html	4 Oct 2015 13:36:44 -0000	1.11.2.3
      +++ openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.html	1 Dec 2015 11:17:47 -0000	1.11.2.4
      @@ -6,7 +6,7 @@
             Tsearch2. See 
             Install       Full Text Search using Tsearch2. Tsearch2 is much easier to install, requiring only
             compilation of one module from PostgreSQL contrib, with an
      -      automated install process using the tsearch2-driver package.

      Install OpenFTS module

      If you want full text search, and you are running PostgreSQL, install this module to support FTS. Do this step after you have installed both PostgreSQL and + automated install process using the tsearch2-driver package.

      Install OpenFTS module

      If you want full text search, and you are running PostgreSQL, install this module to support FTS. Do this step after you have installed both PostgreSQL and AOLserver. You will need the openfts tarball in /tmp.

      1. Install Tsearch. This is a PostgreSQL module that OpenFTS requires.

        [root root]# su - postgres
        @@ -81,7 +81,7 @@
         make
         su postgres
         make install
        -exit

      Install OpenFTS prerequisites in PostgreSQL instance

      If you are installing Full Text Search, add required +exit

    Install OpenFTS prerequisites in PostgreSQL instance

    If you are installing Full Text Search, add required packages to the new database. (In order for full text search to work, you must also install the PostgreSQL OpenFTS module and prerequisites.)

    [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ /usr/local/pgsql/bin/psql $OPENACS_SERVICE_NAME -f /usr/local/src/postgresql-7.3.4/contrib/tsearch/tsearch.sql
    Index: openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.adp
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.adp,v
    diff -u -N -r1.1.2.3 -r1.1.2.4
    --- openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.adp	4 Oct 2015 13:36:45 -0000	1.1.2.3
    +++ openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.adp	1 Dec 2015 11:17:47 -0000	1.1.2.4
    @@ -18,7 +18,7 @@
     OpenACS docs are written by the named authors, and may be edited by
     OpenACS documentation staff.

    -Install Tsearch2 module

    If you want full text search, and you are running PostgreSQL, +Install Tsearch2 module

    If you want full text search, and you are running PostgreSQL, install this module to support FTS. Do this step after you have installed both PostgreSQL and AOLserver. You will need the tseach2 module form PostgreSQL contrib. This is included with the Index: openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.html,v diff -u -N -r1.11.2.3 -r1.11.2.4 --- openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.html 4 Oct 2015 13:36:45 -0000 1.11.2.3 +++ openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.html 1 Dec 2015 11:17:48 -0000 1.11.2.4 @@ -6,7 +6,7 @@ V2 Introduction by Andrew J. Kopciuch

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

    Install Tsearch2 module

    If you want full text search, and you are running PostgreSQL, install this module to support FTS. Do this step after you have installed both PostgreSQL and +

    Install Tsearch2 module

    If you want full text search, and you are running PostgreSQL, install this module to support FTS. Do this step after you have installed both PostgreSQL and AOLserver. You will need the tseach2 module form PostgreSQL contrib. This is included with the PostgreSQL full source distribution. It is also available with the PostgreSQL contrib Index: openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.adp 4 Oct 2015 13:36:45 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.adp 1 Dec 2015 11:17:48 -0000 1.1.2.4 @@ -112,7 +112,7 @@ commands.

    Most of this information comes from Tom Jackson's AOLserver+Daemontools Mini-HOWTO.

    -

    Table 6.1. How it +

    Table 6.1. How it Works

    Index: openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html,v diff -u -N -r1.24.2.3 -r1.24.2.4 --- openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html 4 Oct 2015 13:36:45 -0000 1.24.2.3 +++ openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html 1 Dec 2015 11:17:48 -0000 1.24.2.4 @@ -64,6 +64,6 @@ Most of this information comes from Tom Jackson's AOLserver+Daemontools Mini-HOWTO. -

    Table 6.1. How it Works

    ProgramInvoked by this program ...... using this fileWhere to find errorsLog goes toUse these commands to control it
    svscanboot +

    Table 6.1. How it Works

    ProgramInvoked by this program ...... using this fileWhere to find errorsLog goes toUse these commands to control it
    svscanboot init/etc/inittabps -auxw | grep readproctitlen/a 
    aolserversupervise (a child of svscanboot)/service/$OPENACS_SERVICE_NAME/run/var/lib/aolserver/$OPENACS_SERVICE_NAME/log/error.log/var/lib/aolserver/$OPENACS_SERVICE_NAME/log/$OPENACS_SERVICE_NAME.logsvc -k /service/$OPENACS_SERVICE_NAME
    postgresqlRedhat init scripts during boot/etc/init.d/postgresql/usr/local/pgsql/data/server.log service postgresql start (Red Hat), /etc/init.d/postgresql start (Debian)

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/install-qmail.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-qmail.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/install-qmail.adp 4 Oct 2015 13:36:45 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/install-qmail.adp 1 Dec 2015 11:17:48 -0000 1.1.2.4 @@ -48,7 +48,7 @@ ] [ -b backlog ] [ -l localname ] [ -t timeout ] host port program [root ucspi-tcp-0.88]#

    - (I'm not sure if this next step is 100% + (I'm not sure if this next step is 100% necessary, but when I skip it I get problems. If you get the error 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1) then you need to do @@ -68,7 +68,7 @@

  • -Install Qmail.  +Install Qmail. 

    Download qmail, set up the standard supporting users and build the binaries:

    @@ -131,7 +131,7 @@
     ./collate.sh
     cd netqmail-1.04
     make setup check
    -

    Replace sendmail with qmail's wrapper.

    +

    Replace sendmail with qmail's wrapper.

     [root qmail-1.03]# rm -f /usr/bin/sendmail /usr/sbin/sendmail
     [root qmail-1.03]# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
     [root qmail-1.03]#
    @@ -170,7 +170,7 @@
     chmod 644 ~alias/.qmail* 
     /var/qmail/bin/maildirmake ~alias/Maildir/ 
     chown -R alias.nofiles /var/qmail/alias/Maildir
    -

    Configure qmail to use the Maildir delivery format (instead of +

    Configure qmail to use the Maildir delivery format (instead of mbox), and install a version of the qmail startup script modified to use Maildir.

     [root alias]# echo "./Maildir" > /var/qmail/bin/.qmail
    Index: openacs-4/packages/acs-core-docs/www/install-qmail.html
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-qmail.html,v
    diff -u -N -r1.41.2.3 -r1.41.2.4
    --- openacs-4/packages/acs-core-docs/www/install-qmail.html	4 Oct 2015 13:36:45 -0000	1.41.2.3
    +++ openacs-4/packages/acs-core-docs/www/install-qmail.html	1 Dec 2015 11:17:48 -0000	1.41.2.4
    @@ -30,7 +30,7 @@
     tcpserver: usage: tcpserver [ -1UXpPhHrRoOdDqQv ] [ -c limit ] [ -x rules.cdb ] [ -B banner ] [ -g gid ] [ -u uid
     ] [ -b backlog ] [ -l localname ] [ -t timeout ] host port program
     [root ucspi-tcp-0.88]#
    -

    +

    (I'm not sure if this next step is 100% necessary, but when I skip it I get problems. If you get the error 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1) then you need to do this.) AOLserver sends outgoing mail via the ns_sendmail command, which pipes a command to the sendmail executable. Or, in our @@ -44,7 +44,7 @@ send outgoing mail.

    [root ucspi-tcp-0.88]# cp /tmp/openacs-5.7.0/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp
     [root ucspi-tcp-0.88]# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
     cp /tmp/openacs-5.7.0/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp 
    -tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp 
  • Install Qmail. 

    Download qmail, +tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

  • Install Qmail. 

    Download qmail, set up the standard supporting users and build the binaries:

    [root root]# cd /usr/local/src
     [root src]# wget http://www.qmail.org/netqmail-1.04.tar.gz
     [root src]# tar xzf netqmail-1.04.tar.gz
    @@ -103,7 +103,7 @@
     cd netqmail-1.04
     ./collate.sh
     cd netqmail-1.04
    -make setup check

    Replace sendmail with qmail's wrapper.

    [root qmail-1.03]# rm -f /usr/bin/sendmail /usr/sbin/sendmail
    +make setup check

    Replace sendmail with qmail's wrapper.

    [root qmail-1.03]# rm -f /usr/bin/sendmail /usr/sbin/sendmail
     [root qmail-1.03]# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
     [root qmail-1.03]#
     rm -f /usr/bin/sendmail /usr/sbin/sendmail
    @@ -125,7 +125,7 @@
     cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root 
     chmod 644 ~alias/.qmail* 
     /var/qmail/bin/maildirmake ~alias/Maildir/ 
    -chown -R alias.nofiles /var/qmail/alias/Maildir

    Configure qmail to use the Maildir delivery format +chown -R alias.nofiles /var/qmail/alias/Maildir

    Configure qmail to use the Maildir delivery format (instead of mbox), and install a version of the qmail startup script modified to use Maildir.

    [root alias]# echo "./Maildir" > /var/qmail/bin/.qmail
     [root alias]# cp /tmp/openacs-5.7.0/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc
     [root alias]# chmod 755 /var/qmail/rc
    Index: openacs-4/packages/acs-core-docs/www/install-redhat.adp
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-redhat.adp,v
    diff -u -N -r1.1.2.3 -r1.1.2.4
    --- openacs-4/packages/acs-core-docs/www/install-redhat.adp	4 Oct 2015 13:36:46 -0000	1.1.2.3
    +++ openacs-4/packages/acs-core-docs/www/install-redhat.adp	1 Dec 2015 11:17:48 -0000	1.1.2.4
    @@ -37,7 +37,7 @@
     
  • Unplug the network cable from your computer. We don't want to connect to -the network until we're sure the computer is secure. +the network until we're sure the computer is secure. (Wherever you see the word secure, you should always read it as, "secure enough for our purposes, given the amount of work we're willing to exert and the estimated risk and consequences.")

  • Insert Red Hat 8.0 or 9.0 Disk 1 into the CD-ROM and reboot the @@ -76,7 +76,7 @@ screen

  • -

    Configure Networking. Again, if you +

    Configure Networking. Again, if you know what you're doing, do this step yourself, being sure to note the firewall holes. Otherwise, follow the instructions in this step to set up a computer directly connected to the internet with a @@ -105,7 +105,7 @@ development server we'll be setting up.

  • -Select any additional languages you want +Select any additional languages you want the computer to support and then click Next

  • Choose your time zone and click @@ -120,11 +120,11 @@ don't install a database or web server, because that would conflict with the database and web server we'll install later.

    check Editors -(this installs emacs),
    click Details next +(this installs emacs),
    click Details next to Text-based Internet, check lynx, and click OK;
    check Authoring and -Publishing (this installs +Publishing (this installs docbook),
    uncheck Server Configuration Tools,
    uncheck Web Server,
    uncheck Windows File @@ -149,7 +149,7 @@ will appear.

    uncheck apmd (monitors power, not very useful for servers),
    check ImageMagick -(required for the photo-album packages,
    uncheckisdn4k-utils +(required for the photo-album packages,
    uncheckisdn4k-utils (unless you are using isdn, this installs a useless daemon),
    check mutt (a mail program that reads Maildir),
    uncheck nfs-utils (nfs is a major security risk),
    uncheck pam-devel (I @@ -195,7 +195,7 @@

    Lock down SSH

    1. - SSH is the protocol we use to connect + SSH is the protocol we use to connect securely to the computer (replacing telnet, which is insecure). sshd is the daemon that listens for incoming ssh connections. As a security precaution, we are now going to tell ssh not to allow Index: openacs-4/packages/acs-core-docs/www/install-redhat.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-redhat.html,v diff -u -N -r1.41.2.3 -r1.41.2.4 --- openacs-4/packages/acs-core-docs/www/install-redhat.html 4 Oct 2015 13:36:46 -0000 1.41.2.3 +++ openacs-4/packages/acs-core-docs/www/install-redhat.html 1 Dec 2015 11:17:49 -0000 1.41.2.4 @@ -27,7 +27,7 @@

      1. Unplug the network cable from your computer. We don't want to connect to the network until we're sure the computer is secure. - + (Wherever you see the word secure, you should always read it as, "secure enough for our purposes, given the amount of work we're @@ -55,7 +55,7 @@ Review (and modify if needed) the partitions created and click Next

      2. On the pop-up window asking "Are you sure you want to do this?" click Yes - IF YOU ARE WIPING YOUR HARD DRIVE.

      3. Click Next on the boot loader screen

    2. Configure Networking. + IF YOU ARE WIPING YOUR HARD DRIVE.

    3. Click Next on the boot loader screen

  • Configure Networking. Again, if you know what you're doing, do this step yourself, being sure to note the firewall holes. Otherwise, follow the instructions in this step to set up a computer directly connected to the internet with a dedicated IP address.

    1. DHCP is a system by which a computer that @@ -76,7 +76,7 @@ Mail (SMTP). In the Other ports box, enter 443, 8000, 8443. Click Next. -Port 443 is for https (http over ssl), and 8000 and 8443 are http and https access to the development server we'll be setting up.

  • Select any additional languages you want the +Port 443 is for https (http over ssl), and 8000 and 8443 are http and https access to the development server we'll be setting up.

  • Select any additional languages you want the computer to support and then click Next

  • Choose your time zone and click Next.

  • Type in a root password, twice.

  • On the Package selection page, we're going to @@ -88,13 +88,13 @@ risk that's still screened by the firewall, or a resource hog. Just don't install a database or web server, because that would conflict with the database and web server we'll install later. -

    check Editors (this installs emacs),
    click Details next to Text-based Internet, check lynx, and click OK;
    check Authoring and Publishing (this installs docbook),
    uncheck Server Configuration Tools,
    uncheck Web Server,
    uncheck Windows File Server,
    check SQL Database Server (this installs PostgreSQL),
    check Development Tools (this installs gmake and other build tools),
    uncheck Administration Tools, and
    uncheck Printing Support.

    At the bottom, check Select Individual Packages and click Next

  • We need to fine-tune the exact list of packages. +

    check Editors (this installs emacs),
    click Details next to Text-based Internet, check lynx, and click OK;
    check Authoring and Publishing (this installs docbook),
    uncheck Server Configuration Tools,
    uncheck Web Server,
    uncheck Windows File Server,
    check SQL Database Server (this installs PostgreSQL),
    check Development Tools (this installs gmake and other build tools),
    uncheck Administration Tools, and
    uncheck Printing Support.

    At the bottom, check Select Individual Packages and click Next

  • We need to fine-tune the exact list of packages. The same rules apply as in the last step - you can add more stuff, but you shouldn't remove anything the guide adds. We're going to go through all the packages in one big list, so select Flat View and wait. In a minute, a -list of packages will appear.

    uncheck apmd (monitors power, not very useful for servers),
    check ImageMagick (required for the photo-album packages,
    uncheckisdn4k-utils (unless you are using isdn, this installs a useless daemon),
    check mutt (a mail program that reads Maildir),
    uncheck nfs-utils (nfs is a major security risk),
    uncheck pam-devel (I don't remember why, but we don't want this),
    uncheck portmap,
    uncheck postfix (this is an MTA, but we're going to install qmail later),
    check postgresql-devel,
    uncheck rsh (rsh is a security hole),
    uncheck sendmail (sendmail is an insecure MTA; we're going to install qmail instead later),
    check tcl (we need tcl), and
    uncheck xinetd (xinetd handles incoming tcp connections. We'll install a different, more secure program, ucspi-tcp).
    Click Next
  • Red Hat isn't completely happy with the combination +list of packages will appear.

    uncheck apmd (monitors power, not very useful for servers),
    check ImageMagick (required for the photo-album packages,
    uncheckisdn4k-utils (unless you are using isdn, this installs a useless daemon),
    check mutt (a mail program that reads Maildir),
    uncheck nfs-utils (nfs is a major security risk),
    uncheck pam-devel (I don't remember why, but we don't want this),
    uncheck portmap,
    uncheck postfix (this is an MTA, but we're going to install qmail later),
    check postgresql-devel,
    uncheck rsh (rsh is a security hole),
    uncheck sendmail (sendmail is an insecure MTA; we're going to install qmail instead later),
    check tcl (we need tcl), and
    uncheck xinetd (xinetd handles incoming tcp connections. We'll install a different, more secure program, ucspi-tcp).
    Click Next
  • Red Hat isn't completely happy with the combination of packages we've selected, and wants to satisfy some dependencies. Don't let it. On the next screen, choose Ignore Package @@ -120,7 +120,7 @@ upgrading all of that. Since you are upgrading the kernel, reboot after this step.

  • Lock down SSH

    1. - + SSH is the protocol we use to connect securely to the computer (replacing telnet, which is insecure). sshd is the daemon that listens for incoming Index: openacs-4/packages/acs-core-docs/www/install-steps.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-steps.adp,v diff -u -N -r1.1.2.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/install-steps.adp 4 Oct 2015 13:36:46 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/install-steps.adp 1 Dec 2015 11:17:49 -0000 1.1.2.6 @@ -106,8 +106,8 @@

    -Paths and Users

    -

    Table 2.1. Default +Paths and Users

    +

    Table 2.1. Default directories for a standard install

    @@ -118,7 +118,7 @@ Index: openacs-4/packages/acs-core-docs/www/install-steps.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-steps.html,v diff -u -N -r1.35.2.3 -r1.35.2.4 --- openacs-4/packages/acs-core-docs/www/install-steps.html 4 Oct 2015 13:36:46 -0000 1.35.2.3 +++ openacs-4/packages/acs-core-docs/www/install-steps.html 1 Dec 2015 11:17:49 -0000 1.35.2.4 @@ -44,7 +44,7 @@ su - $OPENACS_SERVICE_NAME svc -d /service/$OPENACS_SERVICE_NAME dropdb $OPENACS_SERVICE_NAME -createdb $OPENACS_SERVICE_NAME

    Setting a global shell variable for cut and paste. In order to cut and paste the instructions into your shell, you must set the environment variable $OPENACS_SERVICE_NAME. In order to set it globally so that it works for any new users or special service users you may create, edit the file /etc/profile ( /etc/share/skel/dot.profile for FreeBSD) and add this line:

    export OPENACS_SERVICE_NAME=service0

    Paths and Users

    Table 2.1. Default directories for a standard install

    name of administrative access accountremadmin
    OpenACS service -$OPENACS_SERVICE_NAME (set to service0 +$OPENACS_SERVICE_NAME (set to service0 in default install)
    OpenACS service account$OPENACS_SERVICE_NAME
    Fully qualified domain name of your serveryourserver.test
    name of administrative access accountremadmin
    OpenACS service +createdb $OPENACS_SERVICE_NAME

    Setting a global shell variable for cut and paste. In order to cut and paste the instructions into your shell, you must set the environment variable $OPENACS_SERVICE_NAME. In order to set it globally so that it works for any new users or special service users you may create, edit the file /etc/profile ( /etc/share/skel/dot.profile for FreeBSD) and add this line:

    export OPENACS_SERVICE_NAME=service0

    Paths and Users

    Table 2.1. Default directories for a standard install

    Fully qualified domain name of your serveryourserver.test
    name of administrative access accountremadmin
    OpenACS service $OPENACS_SERVICE_NAME (set to service0 in default install)
    OpenACS service account$OPENACS_SERVICE_NAME
    OpenACS database name$OPENACS_SERVICE_NAME
    Root of OpenACS service file tree (SERVERROOT)/var/lib/aolserver/$OPENACS_SERVICE_NAME
    Location of source code tarballs for new software/var/tmp
    The OpenACS tarball contains some files which are useful while setting up other software. Those files are located at:/var/tmp/openacs-5.7.0/packages/acs-core-docs/www/files
    Database backup directory/var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup
    Service config files/var/lib/aolserver/$OPENACS_SERVICE_NAME/etc
    Service log files/var/lib/aolserver/$OPENACS_SERVICE_NAME/log
    Compile directory/usr/local/src
    PostgreSQL directory/usr/local/pgsql
    AOLserver directory/usr/local/aolserver

    Index: openacs-4/packages/acs-core-docs/www/ix01.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/ix01.adp,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/ix01.adp 4 Oct 2015 13:36:46 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/ix01.adp 1 Dec 2015 11:17:49 -0000 1.1.2.5 @@ -8,7 +8,7 @@ rightLink="" rightLabel="">

    -Index

    +Index

    Symbols

    $OPENACS_SERVICE_NAME, Paths and Users
    Index: openacs-4/packages/acs-core-docs/www/ix01.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/ix01.html,v diff -u -N -r1.29.2.3 -r1.29.2.4 --- openacs-4/packages/acs-core-docs/www/ix01.html 4 Oct 2015 13:36:46 -0000 1.29.2.3 +++ openacs-4/packages/acs-core-docs/www/ix01.html 1 Dec 2015 11:17:49 -0000 1.29.2.4 @@ -1,3 +1,3 @@ -Index

    Index

    Symbols

    $OPENACS_SERVICE_NAME, Paths and Users

    C

    computeroutput
    code, Code
    cvs
    initializing, Initialize CVS (OPTIONAL)
    setup, Using CVS with an OpenACS Site

    E

    emacs
    installation, Install Red Hat 8/9
    emphasis
    bold, italics, Emphasis

    G

    Graphics
    Images, Graphics

    I

    informaltable
    table, Tables

    L

    language
    installation, Install Red Hat 8/9
    Linking, Links
    lists, Lists

    O

    OpenACS Package, What a Package Looks Like

    P

    photo-album
    installation (see ImageMagick)
    Postgres
    Vacuuming, Installation Option 2: Install from tarball

    Q

    qmail
    installation, Install qmail (OPTIONAL)
    Maildir, Install qmail (OPTIONAL)
    rcpthosts error message, Install qmail (OPTIONAL)

    T

    The publish point for new packages should be +Index

    Index

    Symbols

    $OPENACS_SERVICE_NAME, Paths and Users

    C

    computeroutput
    code, Code
    cvs
    initializing, Initialize CVS (OPTIONAL)
    setup, Using CVS with an OpenACS Site

    E

    emacs
    installation, Install Red Hat 8/9
    emphasis
    bold, italics, Emphasis

    G

    Graphics
    Images, Graphics

    I

    informaltable
    table, Tables

    L

    language
    installation, Install Red Hat 8/9
    Linking, Links
    lists, Lists

    O

    OpenACS Package, What a Package Looks Like

    P

    photo-album
    installation (see ImageMagick)
    Postgres
    Vacuuming, Installation Option 2: Install from tarball

    Q

    qmail
    installation, Install qmail (OPTIONAL)
    Maildir, Install qmail (OPTIONAL)
    rcpthosts error message, Install qmail (OPTIONAL)

    T

    The publish point for new packages should be fixed., Prepare the package for distribution.

    U

    ulink, Links
    upgrade
    OpenACS 4.5 to 4.6.x
    Linux/Unix, Upgrading 4.5 or higher to 4.6.3
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/maint-performance.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maint-performance.adp,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/maint-performance.adp 4 Oct 2015 13:36:47 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/maint-performance.adp 1 Dec 2015 11:17:49 -0000 1.1.2.5 @@ -31,7 +31,7 @@

    This should return a list of database queries on the page, including the exact query (so it can be cut-paste into psql or oracle) and the time each query took.

    -

    Figure 6.8. Query +

    Figure 6.8. Query Analysis example

    Query Analysis example

    @@ -122,7 +122,7 @@ query, install "autotrace". I usually follow the instructions here http://asktom.oracle.com/~tkyte/article1/autotrace.html.

    -Make sure, that the Oracle CBO works with +Make sure, that the Oracle CBO works with adequate statistics

    The Oracle Cost Based optimizer is a piece of software that tries to find the "optimal" execution plan for a given SQL statement. For that it estimates the costs of running a SQL query Index: openacs-4/packages/acs-core-docs/www/maint-performance.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maint-performance.html,v diff -u -N -r1.29.2.3 -r1.29.2.4 --- openacs-4/packages/acs-core-docs/www/maint-performance.html 4 Oct 2015 13:36:47 -0000 1.29.2.3 +++ openacs-4/packages/acs-core-docs/www/maint-performance.html 1 Dec 2015 11:17:49 -0000 1.29.2.4 @@ -2,7 +2,7 @@ Diagnosing Performance Problems

    Diagnosing Performance Problems

    • Did performance problems happen overnight, or did they sneak up on you? Any clue what caused the performance problems (e.g. loading 20K users into .LRN)

    • Is the file system out of space? Is the machine swapping to disk constantly?

    • Isolating and solving database problems.

      • Without daily internal maintenance, most databases slowly degrade in performance. For PostGreSQL, see the section called “Vacuum Postgres nightly”. For Oracle, use exec dbms_stats.gather_schema_stats('SCHEMA_NAME') (Andrew Piskorski's Oracle notes).

      • You can track the exact amount of time each database query on a page takes:

        1. Go to Main Site : Site-Wide Administration : Install Software

        2. Click on "Install New Application" in "Install from OpenACS Repository"

        3. Choose "ACS Developer Support">

        4. After install is complete, restart the server.

        5. Browse to Developer Support, which is automatically mounted at /ds. -

        6. Turn on Database statistics

        7. Browse directly to a slow page and click "Request Information" at the bottom of the page.

        8. This should return a list of database queries on the page, including the exact query (so it can be cut-paste into psql or oracle) and the time each query took.

          Figure 6.8. Query Analysis example

          Query Analysis example

      • Identify a runaway Oracle query: first, use ps aux or top to get the UNIX process ID of a runaway Oracle process.

        Log in to SQL*Plus as the admin:

        [$OPENACS_SERVICE_NAME ~]$ svrmgrl
        +              

      • Turn on Database statistics

      • Browse directly to a slow page and click "Request Information" at the bottom of the page.

      • This should return a list of database queries on the page, including the exact query (so it can be cut-paste into psql or oracle) and the time each query took.

        Figure 6.8. Query Analysis example

        Query Analysis example

    • Identify a runaway Oracle query: first, use ps aux or top to get the UNIX process ID of a runaway Oracle process.

      Log in to SQL*Plus as the admin:

      [$OPENACS_SERVICE_NAME ~]$ svrmgrl
       
       Oracle Server Manager Release 3.1.7.0.0 - Production
       
      @@ -59,7 +59,7 @@
           

      To be able to get a overview of how Oracle executes a particular query, install "autotrace". I usually follow the instructions here http://asktom.oracle.com/~tkyte/article1/autotrace.html. -

      Make sure, that the Oracle CBO works with adequate statistics

      +

      Make sure, that the Oracle CBO works with adequate statistics

      The Oracle Cost Based optimizer is a piece of software that tries to find the "optimal" execution plan for a given SQL statement. For that it estimates the costs of running a SQL query in a particular way (by default Index: openacs-4/packages/acs-core-docs/www/maintenance-deploy.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maintenance-deploy.adp,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/maintenance-deploy.adp 4 Oct 2015 13:36:47 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/maintenance-deploy.adp 1 Dec 2015 11:17:50 -0000 1.1.2.5 @@ -24,7 +24,7 @@ working configuration safely and quickly.

    -Method 1: Deployment with CVS

    With this method, we control the files on a site via CVS. This +Method 1: Deployment with CVS

    With this method, we control the files on a site via CVS. This example uses one developmental server (service0-dev) and one production server (service0). Depending on your needs, you can also have a staging server for extensive testing before you go live. The @@ -102,7 +102,7 @@ follow ...

    -Method 2: A/B Deployment

    The approach taken in this section is to always create a new +Method 2: A/B Deployment

    The approach taken in this section is to always create a new service with the desired changes, running in parallel with the existing site. This guarantees control, at least at the final step of the process: you know what changes you are about to make because @@ -118,28 +118,28 @@ function or risk losing data in the shuffle. It also requires extra steps if the database will be affected.

    -Simple A/B Deployment: Database is not +Simple A/B Deployment: Database is not changed

    -

    Figure 6.2. Simple A/B +

    Figure 6.2. Simple A/B Deployment - Step 1

    Simple A/B Deployment - Step 1

    -

    Figure 6.3. Simple A/B +

    Figure 6.3. Simple A/B Deployment - Step 2

    Simple A/B Deployment - Step 2

    -

    Figure 6.4. Simple A/B +

    Figure 6.4. Simple A/B Deployment - Step 3

    Simple A/B Deployment - Step 3

    -Complex A/B Deployment: Database is +Complex A/B Deployment: Database is changed

    -

    Figure 6.5. Complex A/B +

    Figure 6.5. Complex A/B Deployment - Step 1

    Complex A/B Deployment - Step 1

    -

    Figure 6.6. Complex A/B +

    Figure 6.6. Complex A/B Deployment - Step 2

    Complex A/B Deployment - Step 2

    -

    Figure 6.7. Complex A/B +

    Figure 6.7. Complex A/B Deployment - Step 3

    Complex A/B Deployment - Step 3

    Index: openacs-4/packages/acs-core-docs/www/maintenance-deploy.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maintenance-deploy.html,v diff -u -N -r1.24.2.3 -r1.24.2.4 --- openacs-4/packages/acs-core-docs/www/maintenance-deploy.html 4 Oct 2015 13:36:47 -0000 1.24.2.3 +++ openacs-4/packages/acs-core-docs/www/maintenance-deploy.html 1 Dec 2015 11:17:50 -0000 1.24.2.4 @@ -2,7 +2,7 @@ Staged Deployment for Production Networks

    Staged Deployment for Production Networks

    ($Id$)

    By Joel Aufrecht

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

    This section describes two minimal-risk methods for deploying changes on a production network. The important characteristics of a safe change deployment include: (THIS SECTION IN DEVELOPMENT)

    • Control: You know for sure that the change you are making is the change that you intend to make and is the change that you tested.

    • Rollback: If anything goes wrong, you can return to the previous working configuration safely and quickly.

    Method 1: Deployment with CVS

    With this method, we control the files on a site via +

    This section describes two minimal-risk methods for deploying changes on a production network. The important characteristics of a safe change deployment include: (THIS SECTION IN DEVELOPMENT)

    • Control: You know for sure that the change you are making is the change that you intend to make and is the change that you tested.

    • Rollback: If anything goes wrong, you can return to the previous working configuration safely and quickly.

    Method 1: Deployment with CVS

    With this method, we control the files on a site via CVS. This example uses one developmental server (service0-dev) and one production server (service0). Depending on your needs, you can also have a staging server for extensive testing before you go @@ -67,4 +67,4 @@ cvs up -Pd index.adp

    If you make changes that require changes to the database, test them out first on service0-dev, using either -create.sql or upgrade scripts. Once you've tested them, you then update and - run the upgrade scripts from the package manager.

    The production site can run "HEAD" from cvs.

    The drawback to using HEAD as the live code is that you cannot commit new work on the development server without erasing the definition of 'working production code.' So a better method is to use a tag. This guarantees that, at any time in the future, you can retrieve exactly the same set of code. This is useful for both of the characteristics of safe change deployment. For control, you can use tags to define a body of code, test that code, and then know that what you are deploying is exactly that code. For rollback, you can use return to the last working tag if the new tag (or new, untagged changes) cause problems. .... example of using tags to follow ...

    Method 2: A/B Deployment

    The approach taken in this section is to always create a new service with the desired changes, running in parallel with the existing site. This guarantees control, at least at the final step of the process: you know what changes you are about to make because you can see them directly. It does not, by itself, guarantee the entire control chain. You need additional measures to make sure that the change you are making is exactly and completely the change you intended to make and tested previously, and nothing more. Those additional measures typically take the form of source control tags and system version numbers. The parallel-server approach also guarantees rollback because the original working service is not touched; it is merely set aside.

    This approach can has limitations. If the database or file system regularly receiving new data, you must interrupt this function or risk losing data in the shuffle. It also requires extra steps if the database will be affected.

    Simple A/B Deployment: Database is not changed

    Figure 6.2. Simple A/B Deployment - Step 1

    Simple A/B Deployment - Step 1

    Figure 6.3. Simple A/B Deployment - Step 2

    Simple A/B Deployment - Step 2

    Figure 6.4. Simple A/B Deployment - Step 3

    Simple A/B Deployment - Step 3

    Complex A/B Deployment: Database is changed

    Figure 6.5. Complex A/B Deployment - Step 1

    Complex A/B Deployment - Step 1

    Figure 6.6. Complex A/B Deployment - Step 2

    Complex A/B Deployment - Step 2

    Figure 6.7. Complex A/B Deployment - Step 3

    Complex A/B Deployment - Step 3

    View comments on this page at openacs.org
    + run the upgrade scripts from the package manager.

    The production site can run "HEAD" from cvs.

    The drawback to using HEAD as the live code is that you cannot commit new work on the development server without erasing the definition of 'working production code.' So a better method is to use a tag. This guarantees that, at any time in the future, you can retrieve exactly the same set of code. This is useful for both of the characteristics of safe change deployment. For control, you can use tags to define a body of code, test that code, and then know that what you are deploying is exactly that code. For rollback, you can use return to the last working tag if the new tag (or new, untagged changes) cause problems. .... example of using tags to follow ...

    Method 2: A/B Deployment

    The approach taken in this section is to always create a new service with the desired changes, running in parallel with the existing site. This guarantees control, at least at the final step of the process: you know what changes you are about to make because you can see them directly. It does not, by itself, guarantee the entire control chain. You need additional measures to make sure that the change you are making is exactly and completely the change you intended to make and tested previously, and nothing more. Those additional measures typically take the form of source control tags and system version numbers. The parallel-server approach also guarantees rollback because the original working service is not touched; it is merely set aside.

    This approach can has limitations. If the database or file system regularly receiving new data, you must interrupt this function or risk losing data in the shuffle. It also requires extra steps if the database will be affected.

    Simple A/B Deployment: Database is not changed

    Figure 6.2. Simple A/B Deployment - Step 1

    Simple A/B Deployment - Step 1

    Figure 6.3. Simple A/B Deployment - Step 2

    Simple A/B Deployment - Step 2

    Figure 6.4. Simple A/B Deployment - Step 3

    Simple A/B Deployment - Step 3

    Complex A/B Deployment: Database is changed

    Figure 6.5. Complex A/B Deployment - Step 1

    Complex A/B Deployment - Step 1

    Figure 6.6. Complex A/B Deployment - Step 2

    Complex A/B Deployment - Step 2

    Figure 6.7. Complex A/B Deployment - Step 3

    Complex A/B Deployment - Step 3

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/objects.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/objects.adp,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/objects.adp 4 Oct 2015 13:36:47 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/objects.adp 1 Dec 2015 11:17:50 -0000 1.1.2.5 @@ -83,7 +83,7 @@ for the PG version) file created when we created the package. Then, do the following:

    -Describe the new type to the type +Describe the new type to the type system

    First, add an entry to the acs_object_types table with the following PL/SQL call:

     begin  
    @@ -139,7 +139,7 @@
     attributes, so there is no need for us to define them.

    -Define a table in which to store your +Define a table in which to store your objects

    The next thing we do is make a small modification to the data model to reflect the fact that each row in the notes table represents something that is not only an object of type note, but also an acs_object. The new table definition looks @@ -163,7 +163,7 @@ acs_objects.

    -Define a package for type specific +Define a package for type specific procedures

    The next step is to define a PL/SQL package for your new type, and write some basic procedures to create and delete objects. Here is a package definition for our new type:

    @@ -210,7 +210,7 @@
     We'll talk about this more later.

    -Define a package body for type specific +Define a package body for type specific procedures

    The PL/SQL package body contains the implementations of the procedures defined above. The only subtle thing going on here is that we must use acs_object.new Index: openacs-4/packages/acs-core-docs/www/objects.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/objects.html,v diff -u -N -r1.52.2.3 -r1.52.2.4 --- openacs-4/packages/acs-core-docs/www/objects.html 4 Oct 2015 13:36:47 -0000 1.52.2.3 +++ openacs-4/packages/acs-core-docs/www/objects.html 1 Dec 2015 11:17:50 -0000 1.52.2.4 @@ -79,7 +79,7 @@ Fire up your text editor and open the ROOT/packages/notes/sql/oracle/notes-create.sql (ROOT/packages/notes/sql/postgresql/notes-create.sql for the PG version) file created when we created the package. Then, do the following: -

    Describe the new type to the type system

    +

    Describe the new type to the type system

    First, add an entry to the acs_object_types table with the following PL/SQL call:

     begin  
    @@ -139,7 +139,7 @@
     because the new type note is a subtype of
     acs_object, it will inherit these attributes, so there is
     no need for us to define them.
    -

    Define a table in which to store your objects

    +

    Define a table in which to store your objects

    The next thing we do is make a small modification to the data model to reflect the fact that each row in the notes table represents something that is not only an object of type @@ -164,7 +164,7 @@ use the acs_objects table to find objects will transparently find any objects that are instances of any subtype of acs_objects. -

    Define a package for type specific procedures

    +

    Define a package for type specific procedures

    The next step is to define a PL/SQL package for your new type, and write some basic procedures to create and delete objects. Here is a package definition for our new type: @@ -212,7 +212,7 @@ object OBJ was "read only", then any other object that used OBJ as its context would also be "read only" by default. We'll talk about this more later. -

    Define a package body for type specific procedures

    +

    Define a package body for type specific procedures

    The PL/SQL package body contains the implementations of the procedures defined above. The only subtle thing going on here is that we must use acs_object.new to insert a row into Index: openacs-4/packages/acs-core-docs/www/openacs.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs.adp,v diff -u -N -r1.1.2.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/openacs.adp 4 Oct 2015 13:36:48 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/openacs.adp 1 Dec 2015 11:17:50 -0000 1.1.2.6 @@ -336,7 +336,7 @@ automate vacuuming is to edit the cron file for the database user. Recommended: VACUUM ANALYZE every hour and VACUUM FULL -ANALYZE every day.

    +ANALYZE every day.

     [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ export EDITOR=emacs;crontab -e
     

    Add these lines to the file. The vacuum command cleans up temporary structures within a PostGreSQL database, and can improve @@ -370,7 +370,7 @@ specific port, e.g. port 80. In order for OpenACS to work, you need to configure a virtual server. The Reference Platform uses a configuration file included in the OpenACS tarball, /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/config.tcl. -Open it in an editor to adjust the parameters.

    +Open it in an editor to adjust the parameters.

     [root root]# su - $OPENACS_SERVICE_NAME
     
     [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc
    Index: openacs-4/packages/acs-core-docs/www/openacs.html
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs.html,v
    diff -u -N -r1.51.2.3 -r1.51.2.4
    --- openacs-4/packages/acs-core-docs/www/openacs.html	4 Oct 2015 13:36:48 -0000	1.51.2.3
    +++ openacs-4/packages/acs-core-docs/www/openacs.html	1 Dec 2015 11:17:50 -0000	1.51.2.4
    @@ -238,7 +238,7 @@
     CREATE DATABASE
     [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$
     su - $OPENACS_SERVICE_NAME
    -/usr/local/pgsql/bin/createdb -E UNICODE $OPENACS_SERVICE_NAME
  • Automate daily database Vacuuming. This is a process which cleans out discarded data from the database. A quick way to automate vacuuming is to edit the cron file for the database user. Recommended: VACUUM ANALYZE every hour and VACUUM FULL ANALYZE every day.

    [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ export EDITOR=emacs;crontab -e

    Add these lines to the file. The vacuum command cleans up temporary structures within a PostGreSQL database, and can improve performance. We vacuum gently every hour and completely every day. The numbers and stars at the beginning are cron columns that specify when the program should be run - in this case, whenever the minute is 0 and the hour is 1, i.e., 1:00 am every day, and every (*) day of month, month, and day of week. Type man 5 crontab for more information.

    0 1-23 * * * /usr/local/pgsql/bin/vacuumdb --analyze $OPENACS_SERVICE_NAME
    +/usr/local/pgsql/bin/createdb -E UNICODE $OPENACS_SERVICE_NAME
  • Automate daily database Vacuuming. This is a process which cleans out discarded data from the database. A quick way to automate vacuuming is to edit the cron file for the database user. Recommended: VACUUM ANALYZE every hour and VACUUM FULL ANALYZE every day.

    [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ export EDITOR=emacs;crontab -e

    Add these lines to the file. The vacuum command cleans up temporary structures within a PostGreSQL database, and can improve performance. We vacuum gently every hour and completely every day. The numbers and stars at the beginning are cron columns that specify when the program should be run - in this case, whenever the minute is 0 and the hour is 1, i.e., 1:00 am every day, and every (*) day of month, month, and day of week. Type man 5 crontab for more information.

    0 1-23 * * * /usr/local/pgsql/bin/vacuumdb --analyze $OPENACS_SERVICE_NAME
     0 0 * * * /usr/local/pgsql/bin/vacuumdb --full --analyze $OPENACS_SERVICE_NAME

    Depending on your distribution, you may receive email when the crontab items are executed. If you don't want to receive email for those crontab items, @@ -251,7 +251,7 @@ need to configure a virtual server. The Reference Platform uses a configuration file included in the OpenACS tarball, /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/config.tcl. - Open it in an editor to adjust the parameters.

    [root root]# su - $OPENACS_SERVICE_NAME
    +	   Open it in an editor to adjust the parameters.

    [root root]# su - $OPENACS_SERVICE_NAME
     [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc
     [$OPENACS_SERVICE_NAME etc]$ emacs config.tcl
     

    Index: openacs-4/packages/acs-core-docs/www/packages.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/packages.adp,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/packages.adp 4 Oct 2015 13:36:48 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/packages.adp 1 Dec 2015 11:17:51 -0000 1.1.2.5 @@ -25,7 +25,7 @@

    Server file layout

    Here is how an OpenACS 5 server is laid out starting from the Server root (ROOT):

    -

    Figure 11.1. Server +

    Figure 11.1. Server file layout diagram

     ROOT/
         bin/
    @@ -65,7 +65,7 @@
      To illustrate
     the general structure of a package, let's see what the package for
     the "notes" application should look like.

    -

    Figure 11.2. Package +

    Figure 11.2. Package file layout diagram

     ROOT/
       +-- packages/    APM Root
    @@ -136,7 +136,7 @@
     files are not sourced in these directories. This makes it suitable
     for storing icons, css files, javascript, and other static content
     which can be treated this way.

    -

    Table 11.1. Package +

    Table 11.1. Package files

    Index: openacs-4/packages/acs-core-docs/www/packages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/packages.html,v diff -u -N -r1.51.2.3 -r1.51.2.4 --- openacs-4/packages/acs-core-docs/www/packages.html 4 Oct 2015 13:36:48 -0000 1.51.2.3 +++ openacs-4/packages/acs-core-docs/www/packages.html 1 Dec 2015 11:17:51 -0000 1.51.2.4 @@ -13,7 +13,7 @@

    Server file layout

    Here is how an OpenACS 5 server is laid out starting from the Server root (ROOT): -

    Figure 11.1. Server file layout diagram

    +    

    Figure 11.1. Server file layout diagram

     ROOT/
         bin/
             Various executables and scripts for server maintanence.
    @@ -51,7 +51,7 @@
           
           To illustrate the general structure of a package, let's see what the
           package for the "notes" application should look like.
    -    

    Figure 11.2. Package file layout diagram

    +    

    Figure 11.2. Package file layout diagram

     ROOT/
       +-- packages/    APM Root
             |
    @@ -124,7 +124,7 @@
           directories.  This makes it suitable for storing icons, css
           files, javascript, and other static content which can be treated
           this way.
    -    

    Table 11.1. Package files

    File TypeIts UseNaming Convention
    Package Specification FileThe package specification file is an XML file generated and +

    Table 11.1. Package files

    File TypeIts UseNaming Convention
    Package Specification FileThe package specification file is an XML file generated and maintained by the OpenACS Package Manager (APM). It specifies information about the package including its parameters and its files.notes.info
    Data Model Creation Script Index: openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.adp 4 Oct 2015 13:36:49 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.adp 1 Dec 2015 11:17:51 -0000 1.1.2.4 @@ -130,7 +130,7 @@ Context Hierarchy

    Suppose objects A, B, ..., and F form the following hierarchy.

    -

    Table 11.2. Context +

    Table 11.2. Context Hierarchy Example

    @@ -156,7 +156,7 @@

    This can be represented in the acs_objects table by the following entries:

    -

    Table 11.3. acs_objects +

    Table 11.3. acs_objects example data

    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 -N -r1.46.2.3 -r1.46.2.4 --- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 4 Oct 2015 13:36:49 -0000 1.46.2.3 +++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 1 Dec 2015 11:17:51 -0000 1.46.2.4 @@ -105,7 +105,7 @@

    Context Hierarchy

    Suppose objects A, B, ..., and F form the following hierarchy. -

    Table 11.2. Context Hierarchy Example

    +

    Table 11.2. Context Hierarchy Example

    A

    object_id=10 @@ -139,7 +139,7 @@ This can be represented in the acs_objects table by the following entries: -

    Table 11.3. acs_objects example data

    object_idcontext_id
    2010
    3010
    4020
    5020
    6030

    +

    Table 11.3. acs_objects example data

    object_idcontext_id
    2010
    3010
    4020
    5020
    6030

    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 CONNECT BY query, Index: openacs-4/packages/acs-core-docs/www/psgml-for-emacs.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/psgml-for-emacs.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/psgml-for-emacs.adp 4 Oct 2015 13:36:50 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/psgml-for-emacs.adp 1 Dec 2015 11:17:52 -0000 1.1.2.4 @@ -12,7 +12,7 @@

    Add PSGML commands to emacs init file (OPTIONAL)

    - If you plan to write or edit any + If you plan to write or edit any documentation with emacs, install a customized emacs configuration file with DocBook commands in the skeleton directory, so it will be used for all new users. The file also fixes the backspace -> Index: openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html,v diff -u -N -r1.41.2.3 -r1.41.2.4 --- openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html 4 Oct 2015 13:36:50 -0000 1.41.2.3 +++ openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html 1 Dec 2015 11:17:52 -0000 1.41.2.4 @@ -1,5 +1,5 @@ -Add PSGML commands to emacs init file (OPTIONAL)

    Add PSGML commands to emacs init file (OPTIONAL)

    +Add PSGML commands to emacs init file (OPTIONAL)

    Add PSGML commands to emacs init file (OPTIONAL)

    If you plan to write or edit any documentation with emacs, install a customized emacs configuration file with DocBook commands in the skeleton directory, so it will be used for all new users. The file also Index: openacs-4/packages/acs-core-docs/www/release-notes.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/release-notes.adp,v diff -u -N -r1.1.2.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/release-notes.adp 4 Oct 2015 13:36:50 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/release-notes.adp 1 Dec 2015 11:17:53 -0000 1.1.2.6 @@ -12,7 +12,7 @@

    OpenACS Release Notes

    -Release 5.9.0 beta

      +Release 5.9.0
    • The release of OpenACS 5.9.0 contains the 78 packages of the oacs-5-9 branch. These packages include the OpenACS core packages, the major application packages (e.g. most the ones used on @@ -24,9 +24,18 @@ handing in PostgreSQL.

    • Removed various manual bookkeeping and deletion operations in the content repository by built-in handing in PostgreSQL.

    • Removed tree_sortkey on acs-objects to reduce its size and to speedup operations, where the context-id is changed (could take on -large installation several minutes)

    • Remove several uncalled / redundant SQL statements and -functions.

    • +large installation several minutes in earlier versions)

    • Remove several uncalled / redundant SQL statements and +functions.

    • +

      Cleanup of .xql files in acs-subsite:

        +
      • Some cleanup of .xql files: removed misleading sql-statements +from db_* calls, which were ignored due .xql files

      • Removed bug where same query-name was used in different branches +of an if-statement for different sql statements, but the query-name +lead to the wrong result.

      • Removed multiple entries of same query name from .xql files +(e.g. the entry "package_create_attribute_list.select_type_info" +was 7 (!) times in a single .xql file)

      +
    • +
  • Web Interface:

    • Improve Performance of WebSites created with OpenACS: e.g. move @@ -53,9 +62,17 @@ a display_template_name (similar to the sql statement name) to refer to display templates. This enables reusability and is theme-able.

    • Dimensional slider reform (ad_dimensional): Removed hard-coded -table layout from dimensional slider Add backwards compatible +table layout from dimensional slider. Add backwards compatible templates Move hard-coded styles into theme styling

    • Notification chunks are now theme-able as well (using -ad_include_contrat)

    • Complete template variable controls (adding noi18n)

    • +ad_include_contrat)

    • Complete template variable suffixes (adding noi18n, addressing +bug #2692, full list is now: noquote, noi18n, literal)

    • Added timeout and configurable secrets for signed url parameters +to export_vars/page_contracts. This can be used to secure sensitive +operations such as granting permissions since a link can be set to +timeout after e.g. 60 seconds; after that, the link is invalid. A +secret (password) can be set in section ns/server/$server/acs +parameter "parametersecret". For example, one can use now +"user_id:sign(max_age=60)" in export_vars to let the exported +variable expire after 60 seconds.

  • Misc:

      @@ -65,21 +82,33 @@ acs-tcl package parameters)

    • Added ability to save data sent by ns_return in files on the file system. This can be used to validate HTML content also for password protected pages (controlled via package parameter -"TclTraceSaveNsReturn" in the acs-tcl package parameters)

    • Improved templating of OpenACS core documentation

    • Improved Russian Internationalization

    • Make pretty-names of acs-core packages more consistent

    • Mark unused functions of acs-tcl/tcl/table-display-procs.tcl as -deprecated

    • +"TclTraceSaveNsReturn" in the acs-tcl package parameters)

    • New api function "ad_log" having the same interface as ns_log, +but which logs the calling information (like URL and call-stack) to +ease tracking of errors.

    • Use per-thread caching to reduce number of mutex lock operations +and lock contention on various caches (util-memoize, xo_site_nodes, +xotcl_object_types) and nsvs (e.g ds_properties)

    • Improved templating of OpenACS core documentation

    • Improved Russian Internationalization

    • Make pretty-names of acs-core packages more consistent

    • Mark unused functions of acs-tcl/tcl/table-display-procs.tcl as +deprecated

    • Many more bug fixes (from bug tracker and extra) and performance +improvements.

    • Version numbers:

        -
      • Require PG 9.0 (End Of Life of PostgreSQL 8.4 was July 2014)

      • Require XOTcl 2.0 (presented at the Tcl conference in 2011).

      • Significant performance improvement for large installations

      • +
      • Require PG 9.0 (End Of Life of PostgreSQL 8.4 was July 2014)

      • Require XOTcl 2.0 (presented at the Tcl conference in 2011).

    -
  • Changes in application packages: Various bug fixes and -improvements for e.g. file-storage, forums, news, notifications, -xowiki.

  • +
  • +

    Changes in application packages:

    • Various bug fixes and improvements for e.g. file-storage, +forums, news, notifications, xowiki.

    +
  • -

    Altogether, OpenACS 5.9.0 differs from OpenACS 5.8.1 in about -xxxx modifications (yyyy commits) contributed by zzzz committers. -For more details, consult the raw ChangeLog.

    +

    Altogether, OpenACS 5.9.0 differs from OpenACS 5.8.1 by the +following statistics

    +      3658 files changed, 120800 insertions(+), 97617 deletions(-)
    +  
    +

    contributed by 4 committers (Michael Aram, Victor Guerra, Gustaf +Neumann, Antonio Pisano) and patch/bugfix providers (Frank +Bergmann, Andrew Helsley, Felix Mödritscher, Marcos +Moser, Franz Penz, Thomas Renner). For more details, consult the +raw ChangeLog.

    Release 5.8.1

      @@ -201,8 +230,8 @@ XML description of how to build classes and clubs, etc.

      Notifications now calls lang::util::localize on the message subject and body before sending the message out, using the recipient locale if set, the site-wide one if not. This will cause -message keys (entered as #....# strings) to be replaced with the -language text for the chosen locale.

      +message keys (entered as <span>#</span>....# strings) to be +replaced with the language text for the chosen locale.

    @@ -365,20 +394,20 @@ turned off by default via the acs-kernel parameter ExcludedFiles in section request-processor (The variable provides a string match glob list of files and is defaulted to "*/CVS/* *~")

    -

    ($‌Id: release-notes.xml,v 1.30.2.2 2015/09/28 -07:54:30 gustafn Exp $)
    +
    ($‌Id: release-notes.xml,v 1.30.2.4 2015/10/27 +09:55:19 gustafn Exp $)

    -Release 4.6.3

    Release Notes for 4.6.3

    +Release 4.6.3

    Release Notes for 4.6.3

    -Release 4.6.2

    Release Notes for 4.6.2

    +Release 4.6.2

    Release Notes for 4.6.2

    -Release 4.6

    Release Notes for 4.6

    +Release 4.6

    Release Notes for 4.6

    -Release 4.5

    Release Notes for 4.5

    +Release 4.5

    Release Notes for 4.5

    -OpenACS Release Notes

    OpenACS Release Notes

    Release 5.9.0 beta

    • +OpenACS Release Notes

      OpenACS Release Notes

      Release 5.9.0

      • The release of OpenACS 5.9.0 contains the 78 packages of the oacs-5-9 branch. These packages include the OpenACS core packages, the major application packages (e.g. most the ones used on OpenACS.org), and @@ -18,9 +18,24 @@

      • Removed tree_sortkey on acs-objects to reduce its size and to speedup operations, where the context-id is changed - (could take on large installation several minutes) + (could take on large installation several minutes in + earlier versions)

      • Remove several uncalled / redundant SQL statements and functions. +

      • Cleanup of .xql files in acs-subsite: +

        • Some cleanup of .xql files: removed + misleading sql-statements from db_* calls, which were + ignored due .xql files +

        • Removed bug where same query-name was + used in different branches of an if-statement for + different sql statements, but the query-name lead to the + wrong result. +

        • Removed multiple entries of same query + name from .xql files (e.g. the entry + "package_create_attribute_list.select_type_info" was + 7 (!) times in a single .xql file) +

        +

    • Web Interface:

      • @@ -65,24 +80,45 @@ statement name) to refer to display templates. This enables reusability and is theme-able.

      • Dimensional slider reform (ad_dimensional): - Removed hard-coded table layout from dimensional slider Add + Removed hard-coded table layout from dimensional slider. Add backwards compatible templates Move hard-coded styles into theme styling

      • Notification chunks are now theme-able as well (using ad_include_contrat)

      • - Complete template variable controls (adding noi18n) + Complete template variable suffixes (adding noi18n, + addressing bug #2692, full list is now: noquote, noi18n, literal) +

      • + Added timeout and configurable secrets for signed url + parameters to export_vars/page_contracts. + This can be used to secure sensitive operations + such as granting permissions since a link can be set to + timeout after e.g. 60 seconds; after that, the link is + invalid. A secret (password) can be set in section + ns/server/$server/acs parameter "parametersecret". + + For example, one can use now "user_id:sign(max_age=60)" in + export_vars to let the exported variable expire after 60 seconds.

    • Misc:

      • Added ability to show ns_log statements of current request to developer support output when developer support is activated (controlled via package parameter "TclTraceLogServerities" in the acs-tcl package parameters) -

      • Added ability to save data sent by - ns_return in files on the file system. This can be used to - validate HTML content also for password protected pages - (controlled via package parameter "TclTraceSaveNsReturn" in - the acs-tcl package parameters)

      • +

      • + Added ability to save data sent by + ns_return in files on the file system. This can be used to + validate HTML content also for password protected pages + (controlled via package parameter "TclTraceSaveNsReturn" in + the acs-tcl package parameters) +

      • + New api function "ad_log" having the same interface as + ns_log, but which logs the calling information (like URL + and call-stack) to ease tracking of errors. +

      • Use per-thread caching to reduce number of + mutex lock operations and lock contention on various caches + (util-memoize, xo_site_nodes, xotcl_object_types) and nsvs + (e.g ds_properties)

      • Improved templating of OpenACS core documentation

      • Improved Russian Internationalization @@ -91,24 +127,32 @@

      • Mark unused functions of acs-tcl/tcl/table-display-procs.tcl as deprecated

      • + Many more bug fixes (from bug tracker and extra) and + performance improvements. +

      • Version numbers:

        • Require PG 9.0 (End Of Life of PostgreSQL 8.4 was July 2014)

        • Require XOTcl 2.0 (presented at the Tcl conference in 2011). -

        • - Significant performance improvement for large - installations

      -

    • Changes in application packages: Various bug - fixes and improvements for e.g. file-storage, forums, news, - notifications, xowiki. - +

    • Changes in application packages: +

      • + Various bug + fixes and improvements for e.g. file-storage, forums, news, + notifications, xowiki. +

    -

    Altogether, OpenACS 5.9.0 differs from OpenACS 5.8.1 in - about xxxx modifications (yyyy commits) contributed by zzzz - committers. For more details, consult the +

    Altogether, OpenACS 5.9.0 differs from OpenACS 5.8.1 by the + following statistics +

    +      3658 files changed, 120800 insertions(+), 97617 deletions(-)
    +  

    + contributed by 4 committers (Michael Aram, Victor Guerra, Gustaf Neumann, Antonio Pisano) and + patch/bugfix providers (Frank Bergmann, Andrew Helsley, Felix + Mödritscher, Marcos Moser, Franz Penz, Thomas Renner). For more + details, consult the raw ChangeLog.

    Release 5.8.1

    • @@ -284,7 +328,7 @@

      Notifications now calls lang::util::localize on the message subject and body before sending the message out, using the recipient locale if set, the - site-wide one if not. This will cause message keys (entered as #....# strings) + site-wide one if not. This will cause message keys (entered as <span>#</span>....# strings) to be replaced with the language text for the chosen locale.

    Release 5.4.2

    • This is a minor bugfix release.

      Site node caching was removed as doesn't work correctly

      Critical issues with search on oracle were fixed

      More html strict work etc

    Release 5.4.1

    • This is a minor bugfix release. @@ -410,4 +454,4 @@

    • Serving backup files and files from the CVS directories is turned off by default via the acs-kernel parameter ExcludedFiles in section request-processor (The variable provides a string match glob list of files and is defaulted to "*/CVS/* *~") -

    ($Id$)
    View comments on this page at openacs.org
    +

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-categories.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-categories.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/tutorial-categories.adp 31 Oct 2015 12:38:16 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/tutorial-categories.adp 1 Dec 2015 11:17:55 -0000 1.1.2.4 @@ -39,7 +39,7 @@

    and the following snippet to your /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/www/admin/index.adp file:

    -                        <a href="\@category_map_url\@"<#categories.Site_wide_Categories#</a>
    +                        <a href="\@category_map_url\@"<#categories.Site_wide_Categories#</a>
               
     

    The link created by the above code (category_map_url) will take the admin to the generic admin UI where he can pick category trees that make @@ -145,7 +145,7 @@

    Change your to this:

                             <a href=configure?<%=[export_vars -url {return_url}]%>>Configure</a>
                             <if \@use_categories_p\@>
    -                        <a href="\@category_map_url\@"<#categories.Site_wide_Categories#</a>
    +                        <a href="\@category_map_url\@"<#categories.Site_wide_Categories#</a>
                             </if>
               
     

    Now create a configure page

    @@ -304,4 +304,4 @@
     		    rightLink="profile-code" rightLabel="Next" rightTitle="Profile your code"
     		    homeLink="index" homeLabel="Home" 
     		    upLink="tutorial-advanced" upLabel="Up"> 
    -		
    +		
    \ No newline at end of file
    Index: openacs-4/packages/acs-core-docs/www/tutorial-categories.html
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-categories.html,v
    diff -u -N -r1.14.2.1 -r1.14.2.2
    --- openacs-4/packages/acs-core-docs/www/tutorial-categories.html	31 Oct 2015 12:38:16 -0000	1.14.2.1
    +++ openacs-4/packages/acs-core-docs/www/tutorial-categories.html	1 Dec 2015 11:17:55 -0000	1.14.2.2
    @@ -38,7 +38,7 @@
                 /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/www/admin/index.adp
               file:
               

    -   			<a href="@category_map_url@"<#categories.Site_wide_Categories#</a>
    +   			<a href="@category_map_url@"<#categories.Site_wide_Categories#</a>
               

    The link created by the above code (category_map_url) will take the admin to the generic admin UI where he can pick category trees that make sense for this @@ -132,7 +132,7 @@

    Change your to this:

     			<a href=configure?<%=[export_vars -url {return_url}]%>>Configure</a>
     			<if @use_categories_p@>
    -   			<a href="@category_map_url@"<#categories.Site_wide_Categories#</a>
    +   			<a href="@category_map_url@"<#categories.Site_wide_Categories#</a>
        			</if>
               

    Now create a configure page

               	ad_page_contract {
    Index: openacs-4/packages/acs-core-docs/www/tutorial-css-layout.adp
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-css-layout.adp,v
    diff -u -N -r1.1.2.3 -r1.1.2.4
    --- openacs-4/packages/acs-core-docs/www/tutorial-css-layout.adp	4 Oct 2015 13:36:52 -0000	1.1.2.3
    +++ openacs-4/packages/acs-core-docs/www/tutorial-css-layout.adp	1 Dec 2015 11:17:55 -0000	1.1.2.4
    @@ -12,7 +12,7 @@
     Laying out a page with CSS instead of
     tables

    -.LRN home page with table-based +.LRN home page with table-based layout

    A sample of the HTML code (full source)

     <table border="0" width="100%">
       <tr>
    @@ -40,7 +40,7 @@
     

    -.LRN Home with CSS-based layout

    A sample of the HTML code (full source)

    +.LRN Home with CSS-based layout

    A sample of the HTML code (full source)

     <div class="left">
       <div class="portlet-wrap-shadow">
         <div class="portlet-wrap-bl">
    Index: openacs-4/packages/acs-core-docs/www/tutorial-css-layout.html
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-css-layout.html,v
    diff -u -N -r1.12.2.3 -r1.12.2.4
    --- openacs-4/packages/acs-core-docs/www/tutorial-css-layout.html	4 Oct 2015 13:36:52 -0000	1.12.2.3
    +++ openacs-4/packages/acs-core-docs/www/tutorial-css-layout.html	1 Dec 2015 11:17:55 -0000	1.12.2.4
    @@ -1,5 +1,5 @@
     
    -Laying out a page with CSS instead of tables

    Laying out a page with CSS instead of tables

    .LRN home page with table-based layout

    A sample of the HTML code (full source)

    <table border="0" width="100%">
    +Laying out a page with CSS instead of tables

    Laying out a page with CSS instead of tables

    .LRN home page with table-based layout

    A sample of the HTML code (full source)

    <table border="0" width="100%">
       <tr>
         <td valign="top" width="50%">
           <table class="element" border=0 cellpadding="0" cellspacing="0" width="100%">
    @@ -21,7 +21,7 @@
                       <table border="0" bgcolor="white" cellpadding="0" cellspacing="0" width="100%">
                         <tr>
                           <td class=element-text>
    -                        MBA 101

    .LRN Home with CSS-based layout

    A sample of the HTML code (full source)

    <div class="left">
    +                        MBA 101

    .LRN Home with CSS-based layout

    A sample of the HTML code (full source)

    <div class="left">
       <div class="portlet-wrap-shadow">
         <div class="portlet-wrap-bl">
           <div class="portlet-wrap-tr">
    Index: openacs-4/packages/acs-core-docs/www/tutorial-cvs.adp
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-cvs.adp,v
    diff -u -N -r1.1.2.3 -r1.1.2.4
    --- openacs-4/packages/acs-core-docs/www/tutorial-cvs.adp	4 Oct 2015 13:36:52 -0000	1.1.2.3
    +++ openacs-4/packages/acs-core-docs/www/tutorial-cvs.adp	1 Dec 2015 11:17:55 -0000	1.1.2.4
    @@ -71,7 +71,7 @@
     (many lines omitted)
     [$OPENACS_SERVICE_NAME myfirstpackage]$
     
    -

    Figure 10.1. Upgrading +

    Figure 10.1. Upgrading a local CVS repository

    Upgrading a local CVS repository

    Index: openacs-4/packages/acs-core-docs/www/tutorial-cvs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-cvs.html,v diff -u -N -r1.26.2.3 -r1.26.2.4 --- openacs-4/packages/acs-core-docs/www/tutorial-cvs.html 4 Oct 2015 13:36:52 -0000 1.26.2.3 +++ openacs-4/packages/acs-core-docs/www/tutorial-cvs.html 1 Dec 2015 11:17:55 -0000 1.26.2.4 @@ -59,4 +59,4 @@ initial revision: 1.1 done (many lines omitted) -[$OPENACS_SERVICE_NAME myfirstpackage]$

    Figure 10.1. Upgrading a local CVS repository

    Upgrading a local CVS repository

    View comments on this page at openacs.org
    +[$OPENACS_SERVICE_NAME myfirstpackage]$

    Figure 10.1. Upgrading a local CVS repository

    Upgrading a local CVS repository

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-database.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-database.adp,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/tutorial-database.adp 4 Oct 2015 13:36:52 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/tutorial-database.adp 1 Dec 2015 11:17:55 -0000 1.1.2.5 @@ -15,7 +15,7 @@ OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    -Code the data model

    We create all database objects with scripts in the myfirstpackage/sql/ directory. All database +Code the data model

    We create all database objects with scripts in the myfirstpackage/sql/ directory. All database scripts are database-specific and are thus in either the myfirstpackage/sql/oracle or myfirstpackage/sql/postgresql @@ -42,7 +42,7 @@ simplify our database creation. (More information about ACS Objects. More information about the Content Repository.)

    -

    Figure 9.2. Tutorial +

    Figure 9.2. Tutorial Data Model

    Tutorial Data Model

    The top of each sql file has some standard comments, including doc tags such as \@author which @@ -51,7 +51,7 @@ [$OPENACS_SERVICE_NAME ~]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/sql/postgresql [$OPENACS_SERVICE_NAME postgresql]$ emacs myfirstpackage-create.sql

    Paste the text below into the file, save, and close.

    -

    Figure 9.3. The +

    Figure 9.3. The Database Creation Script

     -- creation script
     --
    @@ -81,7 +81,7 @@
     uninstalled.

     [$OPENACS_SERVICE_NAME postgresql]$ emacs myfirstpackage-drop.sql
     
    -

    Figure 9.4. Database +

    Figure 9.4. Database Deletion Script

     -- drop script
     --
    Index: openacs-4/packages/acs-core-docs/www/tutorial-database.html
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-database.html,v
    diff -u -N -r1.44.2.3 -r1.44.2.4
    --- openacs-4/packages/acs-core-docs/www/tutorial-database.html	4 Oct 2015 13:36:52 -0000	1.44.2.3
    +++ openacs-4/packages/acs-core-docs/www/tutorial-database.html	1 Dec 2015 11:17:55 -0000	1.44.2.4
    @@ -2,7 +2,7 @@
     Setting Up Database Objects

    Setting Up Database Objects

    by Joel Aufrecht

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

    Code the data model

    We create all database objects with scripts in the +

    Code the data model

    We create all database objects with scripts in the myfirstpackage/sql/ directory. All database scripts are database-specific and are thus in either the myfirstpackage/sql/oracle or @@ -32,13 +32,13 @@ repository functions to simplify our database creation. (More information about ACS Objects. More information about the Content Repository.) -

    Figure 9.2. Tutorial Data Model

    Tutorial Data Model

    The top of each sql file has some +

    Figure 9.2. Tutorial Data Model

    Tutorial Data Model

    The top of each sql file has some standard comments, including doc tags such as @author which will be picked up by the API browser. The string $Id$ will automatically be expanded when the file is checked in to cvs.

    [$OPENACS_SERVICE_NAME ~]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/sql/postgresql
    -[$OPENACS_SERVICE_NAME postgresql]$ emacs myfirstpackage-create.sql

    Paste the text below into the file, save, and close.

    Figure 9.3. The Database Creation Script

    -- creation script
    +[$OPENACS_SERVICE_NAME postgresql]$ emacs myfirstpackage-create.sql

    Paste the text below into the file, save, and close.

    Figure 9.3. The Database Creation Script

    -- creation script
     --
     -- @author joel@aufrecht.org
     -- @cvs-id &Id:$
    @@ -62,7 +62,7 @@
         object.  Notice the use of "mfp."  This is derived from "My
         First Package" and ensures that our object is unlikely to conflict
         with objects from other packages.

    Create a database file to drop everything if the package is uninstalled.

    -[$OPENACS_SERVICE_NAME postgresql]$ emacs myfirstpackage-drop.sql

    Figure 9.4. Database Deletion Script

    -- drop script
    +[$OPENACS_SERVICE_NAME postgresql]$ emacs myfirstpackage-drop.sql

    Figure 9.4. Database Deletion Script

    -- drop script
     --
     -- @author joel@aufrecht.org
     -- @cvs-id &Id:$
    Index: openacs-4/packages/acs-core-docs/www/tutorial-debug.adp
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-debug.adp,v
    diff -u -N -r1.1.2.4 -r1.1.2.5
    --- openacs-4/packages/acs-core-docs/www/tutorial-debug.adp	4 Oct 2015 13:36:53 -0000	1.1.2.4
    +++ openacs-4/packages/acs-core-docs/www/tutorial-debug.adp	1 Dec 2015 11:17:56 -0000	1.1.2.5
    @@ -15,7 +15,7 @@
     OpenACS docs are written by the named authors, and may be edited by
     OpenACS documentation staff.

    -Debugging

    +Debugging

    Developer Support. The Developer Support package adds several goodies: debug information for every page; the ability to log comments to the page instead of the error log, and @@ -44,7 +44,7 @@           

    -Manual testing

    Make a list of basic tests to make sure it works

    +Manual testing

    Make a list of basic tests to make sure it works

    @@ -72,11 +72,11 @@ delete your own note. Edit your own note. Search for a note.

    -Write automated tests

    +Write automated tests

    by Simon Carstensen and Joel Aufrecht

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    - It seems to me that a lot of people have + It seems to me that a lot of people have been asking for some guidelines on how to write automated tests. I've done several tests by now and have found the process to be extremely easy and useful. It's a joy to work with automated @@ -144,7 +144,7 @@ myfirstpackage. You should see your test case. Run it and examine the results.

    -TCLWebtest tests

    API testing can only test part of our package - it doesn't test +TCLWebtest tests

    API testing can only test part of our package - it doesn't test the code in our adp/tcl pairs. For this, we can use TCLwebtest. TCLwebtest must be installed for this test to work. This provides a library of functions that make it easy to call a page @@ -153,7 +153,7 @@ example provided for one approach on integrating them.

    -Example

    Now we can add the rest of the API tests, including a test with +Example

    Now we can add the rest of the API tests, including a test with deliberately bad data. The complete test looks like:

     ad_library {
         Test cases for my first package.
    Index: openacs-4/packages/acs-core-docs/www/tutorial-debug.html
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-debug.html,v
    diff -u -N -r1.43.2.3 -r1.43.2.4
    --- openacs-4/packages/acs-core-docs/www/tutorial-debug.html	4 Oct 2015 13:36:53 -0000	1.43.2.3
    +++ openacs-4/packages/acs-core-docs/www/tutorial-debug.html	1 Dec 2015 11:17:56 -0000	1.43.2.4
    @@ -2,7 +2,7 @@
     Debugging and Automated Testing
    Test NumActionExpected Result
    Prev Chapter 9. Development Tutorial Next

    Debugging and Automated Testing

    by Joel Aufrecht

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

    Debugging

    Developer Support. The Developer Support package adds several goodies: debug +

    Debugging

    Developer Support. The Developer Support package adds several goodies: debug information for every page; the ability to log comments to the page instead of the error log, and fast user switching so that you can test pages as anonymous and as dummy users without logging @@ -23,16 +23,16 @@ ? searches backward 
    / searches forward. 
              

    -

    Manual testing

    Make a list of basic tests to make sure it works

    Test NumActionExpected Result
    001Browse to the index page while not logged in and +

    Manual testing

    Make a list of basic tests to make sure it works

    Test NumActionExpected Result
    001Browse to the index page while not logged in and while one or more notes exist.No edit or delete or add links should appear.
    002Browse to the index page while logged in. An Edit link should appear. Click on it. Fill out the form and click Submit.The text added in the form should be visible on the index page.
    API-001Invoke mfp::note::create with a specific word as the title.Proc should return an object id.
    API-002Given an object id from API-001, invoke mfp::note::get.Proc should return the specific word in the title.
    API-003Given the object id from API-001, invoke mfp::note::delete.Proc should return 0 for success.

    Other things to test: try to delete someone else's note. Try to delete your own note. Edit your own note. - Search for a note.

    Write automated tests

    by Simon Carstensen and Joel Aufrecht

    + Search for a note.

    Write automated tests

    by Simon Carstensen and Joel Aufrecht

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

    +

    It seems to me that a lot of people have been asking for some guidelines on how to write automated tests. I've done several tests by now and have found the process to be extremely easy and useful. It's a joy to work with automated testing once you get the hang of it.

    Create the directory that will contain the test script and edit the script file. The directory location and file name are standards which are recognized by the automated testing package:

    [$OPENACS_SERVICE_NAME www]$ mkdir /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/tcl/test
     [$OPENACS_SERVICE_NAME www]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/tcl/test
    @@ -68,7 +68,7 @@
     goes inside -test_code {}.  We want to implement test case API-001, "Given an object id from API-001, invoke mfp::note::get.  Proc should return the specific word in the title."

           set name [ad_generate_random_string]
           set new_id [mfp::note::add -title $name]
    -      aa_true "Note add succeeded" ([info exists new_id] && $new_id ne "")

    To test our simple case, we must load the test file into the system (just as with the /tcl file in the basic tutorial, since the file didn't exist when the system started, the system doesn't know about it.) To make this file take effect, go to the APM and choose "Reload changed" for "MyFirstPackage". Since we'll be changing it frequently, select "watch this file" on the next page. This will cause the system to check this file every time any page is requested, which is bad for production systems but convenient for developing. We can also add some aa_register_case flags to make it easier to run the test. The -procs flag, which indicates which procs are tested by this test case, makes it easier to find procs in your package that aren't tested at all. The -cats flag, setting categories, makes it easier to control which tests to run. The smoke test setting means that this is a basic test case that can and should be run any time you are doing any test. (a definition of "smoke test")

    Once the file is loaded, go to ACS Automated Testing and click on myfirstpackage. You should see your test case. Run it and examine the results.

    TCLWebtest tests

    API testing can only test part of our package - it doesn't test the code in our adp/tcl pairs. For this, we can use TCLwebtest. TCLwebtest must be installed for this test to work. This provides a library of functions that make it easy to call a page through HTTP, examine the results, and drive forms. TCLwebtest's functions overlap slightly with acs-automated-testing; see the example provided for one approach on integrating them.

    Example

    Now we can add the rest of the API tests, including a test with deliberately bad data. The complete test looks like:

    ad_library {
    +      aa_true "Note add succeeded" ([info exists new_id] && $new_id ne "")

    To test our simple case, we must load the test file into the system (just as with the /tcl file in the basic tutorial, since the file didn't exist when the system started, the system doesn't know about it.) To make this file take effect, go to the APM and choose "Reload changed" for "MyFirstPackage". Since we'll be changing it frequently, select "watch this file" on the next page. This will cause the system to check this file every time any page is requested, which is bad for production systems but convenient for developing. We can also add some aa_register_case flags to make it easier to run the test. The -procs flag, which indicates which procs are tested by this test case, makes it easier to find procs in your package that aren't tested at all. The -cats flag, setting categories, makes it easier to control which tests to run. The smoke test setting means that this is a basic test case that can and should be run any time you are doing any test. (a definition of "smoke test")

    Once the file is loaded, go to ACS Automated Testing and click on myfirstpackage. You should see your test case. Run it and examine the results.

    TCLWebtest tests

    API testing can only test part of our package - it doesn't test the code in our adp/tcl pairs. For this, we can use TCLwebtest. TCLwebtest must be installed for this test to work. This provides a library of functions that make it easy to call a page through HTTP, examine the results, and drive forms. TCLwebtest's functions overlap slightly with acs-automated-testing; see the example provided for one approach on integrating them.

    Example

    Now we can add the rest of the API tests, including a test with deliberately bad data. The complete test looks like:

    ad_library {
         Test cases for my first package.
     }
     
    Index: openacs-4/packages/acs-core-docs/www/tutorial-distribute.adp
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-distribute.adp,v
    diff -u -N -r1.1.2.3 -r1.1.2.4
    --- openacs-4/packages/acs-core-docs/www/tutorial-distribute.adp	4 Oct 2015 13:36:53 -0000	1.1.2.3
    +++ openacs-4/packages/acs-core-docs/www/tutorial-distribute.adp	1 Dec 2015 11:17:56 -0000	1.1.2.4
    @@ -13,7 +13,7 @@
     distribution.

    Browse to the package manager. Click on tutorialapp.

    Click on Generate a distribution file for this package from the filesystem.

    Click on the file size (37.1KB) after the label Distribution File: and save the -file to /var/tmp.

    Package development guidelines

    +file to /var/tmp.

    Package development guidelines

    37.1KB) after the label Distribution File: and save the file to - /var/tmp.

    + /var/tmp.

    Package development guidelines

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-etp-templates.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-etp-templates.adp,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/tutorial-etp-templates.adp 4 Oct 2015 13:36:53 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/tutorial-etp-templates.adp 1 Dec 2015 11:17:56 -0000 1.1.2.5 @@ -86,7 +86,7 @@
  • The template should provide us with the following ETP layout:

    -

    Table 10.1. table showing +

    Table 10.1. table showing ETP layout

    Index: openacs-4/packages/acs-core-docs/www/tutorial-etp-templates.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-etp-templates.html,v diff -u -N -r1.9.2.3 -r1.9.2.4 --- openacs-4/packages/acs-core-docs/www/tutorial-etp-templates.html 4 Oct 2015 13:36:53 -0000 1.9.2.3 +++ openacs-4/packages/acs-core-docs/www/tutorial-etp-templates.html 1 Dec 2015 11:17:56 -0000 1.9.2.4 @@ -13,5 +13,5 @@ cvs -d:pserver:anonymous@openacs.org:/cvsroot co edit-this-page
  • Go to the package manager at http://yoursite/acs-admin/apm. And install the new package: edit-this-page.

  • Or use the "Add Application" form available on the Main site.

  • Change ETP Application

    • Work out how to change the ETP application.

    • Investigate each of the available ETP templates:

      • Default

      • News

      • FAQ

    Exercise 4: Create a New ETP Template

    • Browse the files for each of the above ETP templates at:

      cd ~/openacs/packages/edit-this-page/templates
    • Use the article template as the basis of our new col2 template.

      cp article-content.adp col2-content.adp
                   cp article-content.tcl col2-content.tcl
                   cp article-index.adp col2-index.adp
      -            cp article-index.tcl col2-index.tcl
    • The template should provide us with the following ETP layout:

      Table 10.1. table showing ETP layout

    Header
    SidebarMain Content Pane

  • The "Main Content" pane should contain the editable content that ETP provides.

  • The "Header" should display the title of the page that you set in ETP.

  • The "Sidebar" should display the extlinks that you add as a content item in ETP.

  • Exercise 5: Register the col2 Template with ETP

    • Need to register your template with ETP so that it appears in the drop-down menu that you would have seen in Exercise 3.

      cd ~/openacs/packages/edit-this-page/tcl
      +            cp article-index.tcl col2-index.tcl
    • The template should provide us with the following ETP layout:

      Table 10.1. table showing ETP layout

      Header
      SidebarMain Content Pane

    • The "Main Content" pane should contain the editable content that ETP provides.

    • The "Header" should display the title of the page that you set in ETP.

    • The "Sidebar" should display the extlinks that you add as a content item in ETP.

    Exercise 5: Register the col2 Template with ETP

    • Need to register your template with ETP so that it appears in the drop-down menu that you would have seen in Exercise 3.

      cd ~/openacs/packages/edit-this-page/tcl
                   emacs etp-custom-init.tcl
    • Use the function etp::define_application to register your template with ETP

      • Uncomment the "asc" definition

      • Set allow_extlinks to true, the rest should be false.

    • Restart your server for the changes to take effect.

    Exercise 6: Configure ETP to use the col2 Template

    • Configure your ETP instance at /lab4/index to use the col2 template.

    • Create external links to link to other mounted ETP instances.

    • Check that your external links show up in the sidebar when you view your ETP application using the col2 template.

    Who Wrote This and When

    This problem set was originally written by Nick Carroll in August 2004 for the University of Sydney Course EBUS5002.

    This material is copyright 2004 by Nick Carroll. It may be copied, reused, and modified, provided credit is given to the original author.

    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/tutorial-newpackage.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-newpackage.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/tutorial-newpackage.adp 4 Oct 2015 13:36:53 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/tutorial-newpackage.adp 1 Dec 2015 11:17:56 -0000 1.1.2.4 @@ -18,7 +18,7 @@ The intended page map

    -Overview

    To start developing new code in OpenACS, we build a new package. +Overview

    To start developing new code in OpenACS, we build a new package. A package is a a discrete collection of web pages, tcl code, and database tables and procedures. A package with user interface is called an application; @@ -36,14 +36,14 @@ displaying a list of text notes.

    -Before you begin

    You will need:

      +Before you begin

    You will need:

    • A computer with a working installation of OpenACS. If you don't have this, see Chapter 2, Installation Overview .

    • Example files, which are included in the standard OpenACS 5.7.0 distribution.

    -

    Figure 9.1. Assumptions +

    Figure 9.1. Assumptions in this section

    @@ -62,7 +62,7 @@

    -Use the APM to initialize a new +Use the APM to initialize a new package

    We use the ACS Package Manager (APM) to add, remove, and upgrade packages. It handles package meta-data, such as lists of files that belong in the package. Each package is uniquely identified by a @@ -102,7 +102,7 @@ packages).

    -Add an Application Instance to the +Add an Application Instance to the Server

    In order to see your work in progress, you must create a map between the URL space of incoming requests and the package application instance. You do this by adding the application in the @@ -121,7 +121,7 @@ to be satisfied from the files at /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/www.

    -Quick start

    The remainder of the tutorial walks you through each file one at +Quick start

    The remainder of the tutorial walks you through each file one at a time as you create the package. You can skip all this, and get a working package, by doing the following:

     cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/tutorial
    Index: openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html,v
    diff -u -N -r1.43.2.3 -r1.43.2.4
    --- openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html	4 Oct 2015 13:36:54 -0000	1.43.2.3
    +++ openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html	1 Dec 2015 11:17:57 -0000	1.43.2.4
    @@ -2,7 +2,7 @@
     Creating an Application Package
    Prev Chapter 9. Development Tutorial Next

    Creating an Application Package

    by Joel Aufrecht

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

    The intended page map

    Overview

    To start developing new code in OpenACS, we build a new package. A package +

    The intended page map

    Overview

    To start developing new code in OpenACS, we build a new package. A package is a a discrete collection of web pages, tcl code, and database tables and procedures. A package with user interface is called an application; a package which provides functions to other packages and has no direct interface, a @@ -18,11 +18,11 @@ right now. Code that is temporary hackage is clearly marked.

    In this tutorial, we will make an application package for displaying a list of text notes. -

    Before you begin

    You will need:

    • A computer with a working installation of +

    Before you begin

    You will need:

    • A computer with a working installation of OpenACS. If you don't have this, see Chapter 2, Installation Overview.

    • Example files, which are included in the standard OpenACS 5.7.0 distribution. -

    Figure 9.1. Assumptions in this section

    Fully qualified domain name of your serveryourserver.test
    URL of your serverhttp://yourserver.test:8000
    Name of development account$OPENACS_SERVICE_NAME
    New Package keymyfirstpackage

    Use the APM to initialize a new package

    We use the ACS Package Manager (APM) to add, remove, and +

    Figure 9.1. Assumptions in this section

    Fully qualified domain name of your serveryourserver.test
    URL of your serverhttp://yourserver.test:8000
    Name of development account$OPENACS_SERVICE_NAME
    New Package keymyfirstpackage

    Use the APM to initialize a new package

    We use the ACS Package Manager (APM) to add, remove, and upgrade packages. It handles package meta-data, such as lists of files that belong in the package. Each package is uniquely identified by a package key. To start developing a new @@ -55,7 +55,7 @@ /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage. This is the "home directory" of our new package, and all files in the package will be within this directory. More on the structure of - packages).

    Add an Application Instance to the Server

    In order to see your work in progress, you must create a + packages).

    Add an Application Instance to the Server

    In order to see your work in progress, you must create a map between the URL space of incoming requests and the package application instance. You do this by adding the application in the main site administration). This creates a link between the incoming URL requests and an @@ -66,7 +66,7 @@ in this tutorial.

    1. Browse to http://yourserver.test:8000/admin/applications/application-add/.

    2. Choose "My First Package" from the list and click OK (the other fields are optional).

    By mounting the package, we've caused all requests to http://yourserver.test:8000/myfirstpackage - to be satisfied from the files at /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/www.

    Quick start

    The remainder of the tutorial walks you through each file one at a time as you create the package. You can skip all this, and get a working package, by doing the following:

    cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/tutorial
    +      to be satisfied from the files at /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/www.

    Quick start

    The remainder of the tutorial walks you through each file one at a time as you create the package. You can skip all this, and get a working package, by doing the following:

    cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/tutorial
     psql $OPENACS_SERVICE_NAME -f myfirstpackage-create.sql
     cp note-edit.* note-delete.tcl index.* ../../../../myfirstpackage/www/
     mkdir ../../../../myfirstpackage/lib
    Index: openacs-4/packages/acs-core-docs/www/tutorial-pages.adp
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-pages.adp,v
    diff -u -N -r1.1.2.5 -r1.1.2.6
    --- openacs-4/packages/acs-core-docs/www/tutorial-pages.adp	4 Oct 2015 13:36:54 -0000	1.1.2.5
    +++ openacs-4/packages/acs-core-docs/www/tutorial-pages.adp	1 Dec 2015 11:17:57 -0000	1.1.2.6
    @@ -15,22 +15,22 @@
     OpenACS docs are written by the named authors, and may be edited by
     OpenACS documentation staff.

    -Install some API

    As a workaround for missing content-repository functionality, +Install some API

    As a workaround for missing content-repository functionality, copy a provided file into the directory for tcl files:

    cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/tutorial/note-procs.tcl /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/tcl/

    To make this file take effect, go to the APM and choose "Reload changed" for "MyFirstPackage".

    -Page Map

    Our package will have two visible pages. The first shows a list +Page Map

    Our package will have two visible pages. The first shows a list of all objects; the second shows a single object in view or edit mode, and can also be used to add an object. The index page will display the list, but since we might reuse the list later, we'll put it in a seperate file and include it on the index page.

    -

    Figure 9.5. Page +

    Figure 9.5. Page Map

    Page Map

    -Build the "Index" page

    Each user-visible page in your package has, typically, three +Build the "Index" page

    Each user-visible page in your package has, typically, three parts. The tcl file holds the procedural logic for the page, including Tcl and database-independent SQL code, and does things like check Index: openacs-4/packages/acs-core-docs/www/tutorial-pages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-pages.html,v diff -u -N -r1.44.2.3 -r1.44.2.4 --- openacs-4/packages/acs-core-docs/www/tutorial-pages.html 4 Oct 2015 13:36:54 -0000 1.44.2.3 +++ openacs-4/packages/acs-core-docs/www/tutorial-pages.html 1 Dec 2015 11:17:57 -0000 1.44.2.4 @@ -2,8 +2,8 @@ Creating Web Pages

    Creating Web Pages

    by Joel Aufrecht

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff. -

    Install some API

    As a workaround for missing content-repository functionality, copy a provided file into the directory for tcl files:

    -    cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/tutorial/note-procs.tcl /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/tcl/

    To make this file take effect, go to the APM and choose "Reload changed" for "MyFirstPackage".

    Page Map

    Our package will have two visible pages. The first shows a list of all objects; the second shows a single object in view or edit mode, and can also be used to add an object. The index page will display the list, but since we might reuse the list later, we'll put it in a seperate file and include it on the index page.

    Figure 9.5. Page Map

    Page Map

    Build the "Index" page

    Each user-visible page in your package has, typically, +

    Install some API

    As a workaround for missing content-repository functionality, copy a provided file into the directory for tcl files:

    +    cp /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/tutorial/note-procs.tcl /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/tcl/

    To make this file take effect, go to the APM and choose "Reload changed" for "MyFirstPackage".

    Page Map

    Our package will have two visible pages. The first shows a list of all objects; the second shows a single object in view or edit mode, and can also be used to add an object. The index page will display the list, but since we might reuse the list later, we'll put it in a seperate file and include it on the index page.

    Figure 9.5. Page Map

    Page Map

    Build the "Index" page

    Each user-visible page in your package has, typically, three parts. The tcl file holds the procedural logic for the page, including Tcl and database-independent SQL code, and does things like Index: openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.adp,v diff -u -N -r1.1.2.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.adp 4 Oct 2015 13:36:54 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.adp 1 Dec 2015 11:17:57 -0000 1.1.2.6 @@ -9,7 +9,7 @@ rightLink="upgrade-4.6.3-to-5" rightLabel="Next">

    -Upgrading 4.5 or higher to 4.6.3

    The required platform for OpenACS 4.6 is the same as 4.5, with +Upgrading 4.5 or higher to 4.6.3

    The required platform for OpenACS 4.6 is the same as 4.5, with the exception of OpenFTS. OpenACS 4.6 and later require OpenFTS 0.3.2 for full text search on PostGreSQL. If you have OpenFTS 0.2, you'll need to upgrade.

    If upgrading from 4.4, you need to manually run Index: openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html,v diff -u -N -r1.27.2.3 -r1.27.2.4 --- openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html 4 Oct 2015 13:36:54 -0000 1.27.2.3 +++ openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html 1 Dec 2015 11:17:57 -0000 1.27.2.4 @@ -1,5 +1,5 @@ -Upgrading 4.5 or higher to 4.6.3

    Upgrading 4.5 or higher to 4.6.3

    The required platform for OpenACS 4.6 is the same as +Upgrading 4.5 or higher to 4.6.3

    Upgrading 4.5 or higher to 4.6.3

    The required platform for OpenACS 4.6 is the same as 4.5, with the exception of OpenFTS. OpenACS 4.6 and later require OpenFTS 0.3.2 for full text search on PostGreSQL. If you have OpenFTS 0.2, you'll need to upgrade.

    If upgrading from 4.4, you need to manually run acs-kernel/sql/postgres/upgrade-4.4-4.5.sql. See Bug #632

    1. Make a Backup. Back up the database and file system (see the section called “Manual backup and recovery”).

    2. OPTIONAL: Upgrade OpenFTS. the section called “Upgrading OpenFTS from 0.2 to 0.3.2”

    3. Stop the server

      [root root]# svc -d /service/$OPENACS_SERVICE_NAME
    4. Upgrade the file system. the section called “Upgrading the OpenACS files”

    5. Index: openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.adp,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.adp 4 Oct 2015 13:36:55 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.adp 1 Dec 2015 11:17:57 -0000 1.1.2.5 @@ -12,7 +12,7 @@ Upgrading the OpenACS files

    -Chosing a Method to Upgrade your +Chosing a Method to Upgrade your Files

    OpenACS is distributed in many different ways:

    • as a collection of files

    • as one big tarball

    • via CVS

    • via automatic download from within the APM (package manager)

    Upgrades work by first changing the file system (via any of the @@ -27,7 +27,7 @@

    -Methods of upgrading OpenACS files

      +Methods of upgrading OpenACS files
    • Upgrading files for a site which is not in a CVS @@ -56,7 +56,7 @@ version, without overriding your own local customizations.

      This diagram explains the basic idea. However, the labels are incorrect. Step 1(a) has been removed, and Step 1(b) should be labelled Step 1.

      -

      Figure 5.2. Upgrading a +

      Figure 5.2. Upgrading a local CVS repository

      Upgrading a local CVS repository

      • @@ -194,7 +194,7 @@

    -Upgrading a Production Site Safely

    If you are upgrading a production OpenACS site which is on a +Upgrading a Production Site Safely

    If you are upgrading a production OpenACS site which is on a private CVS tree, this process lets you do the upgrade without risking extended downtime or an unusable site:

    1. Declare a freeze on new cvs updates - ie, you cannot run cvs Index: openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html,v diff -u -N -r1.27.2.3 -r1.27.2.4 --- openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html 4 Oct 2015 13:36:55 -0000 1.27.2.3 +++ openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html 1 Dec 2015 11:17:58 -0000 1.27.2.4 @@ -1,5 +1,5 @@ -Upgrading the OpenACS files

      Upgrading the OpenACS files

      Chosing a Method to Upgrade your Files

      OpenACS is distributed in many different ways: +Upgrading the OpenACS files

      Upgrading the OpenACS files

      Chosing a Method to Upgrade your Files

      OpenACS is distributed in many different ways:

      • as a collection of files

      • as one big tarball

      • via CVS

      • via automatic download from within the APM (package manager)

      Upgrades work by first changing the file system (via any @@ -11,7 +11,7 @@ describes whether or not you need to be upgrading using this page or not: the section called “Upgrading an OpenACS 5.0.0 or greater installation” -

      Methods of upgrading OpenACS files

      • Upgrading files for a site which is not in a CVS repository. Unpack the tarball into a new directory and copy its +

      Methods of upgrading OpenACS files

      • Upgrading files for a site which is not in a CVS repository. Unpack the tarball into a new directory and copy its contents on top of your working directory. Or just 'install software', select remote repository, and upgrade your files from there.

        [root root]# su - $OPENACS_SERVICE_NAME
        @@ -32,7 +32,7 @@
                 with the latest OpenACS version, without overriding your own
                 local customizations. 

        This diagram explains the basic idea. However, the labels are incorrect. Step 1(a) has been removed, and Step - 1(b) should be labelled Step 1.

        Figure 5.2. Upgrading a local CVS repository

        Upgrading a local CVS repository

        • Step 0: Set up a working CVS checkout. To get your OpenACS code into your local CVS + 1(b) should be labelled Step 1.

          Figure 5.2. Upgrading a local CVS repository

          Upgrading a local CVS repository

          • Step 0: Set up a working CVS checkout. To get your OpenACS code into your local CVS repository, you will set up a working CVS checkout of OpenACS. When you want to update your site, you'll update the working CVS checkout, import those changes @@ -97,7 +97,7 @@

            1. [$OPENACS_SERVICE_NAME ~]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME
               [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cvs up -Pd
               (CVS feedback)
              -[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$

          Upgrading a Production Site Safely

          If you are upgrading a production OpenACS site which is on a private CVS tree, this process lets you do the upgrade without risking extended downtime or an unusable site:

          1. Declare a freeze on new cvs updates - ie, you cannot run cvs update +[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$

    Upgrading a Production Site Safely

    If you are upgrading a production OpenACS site which is on a private CVS tree, this process lets you do the upgrade without risking extended downtime or an unusable site:

    1. Declare a freeze on new cvs updates - ie, you cannot run cvs update on the production site

    2. Make a manual backup of the production site in addition to the automated backups

    3. Import the new code (for example, OpenACS 5.0.4, openacs-5-0-compat versions of Index: openacs-4/packages/acs-core-docs/www/upgrade-overview.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-overview.adp,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/upgrade-overview.adp 4 Oct 2015 13:36:55 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/upgrade-overview.adp 1 Dec 2015 11:17:58 -0000 1.1.2.5 @@ -26,11 +26,11 @@ upgrade scripts, and prompt you to restart the server. After restarting the server again, the upgrade is complete.

    -

    Figure 5.1. Upgrading +

    Figure 5.1. Upgrading with the APM

    Upgrading with the APM

    It's always a good idea to precede an upgrade attempt with a snapshot backup.

    -

    Table 5.1. Assumptions +

    Table 5.1. Assumptions in this section

    Index: openacs-4/packages/acs-core-docs/www/upgrade-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-overview.html,v diff -u -N -r1.27.2.3 -r1.27.2.4 --- openacs-4/packages/acs-core-docs/www/upgrade-overview.html 4 Oct 2015 13:36:55 -0000 1.27.2.3 +++ openacs-4/packages/acs-core-docs/www/upgrade-overview.html 1 Dec 2015 11:17:58 -0000 1.27.2.4 @@ -4,4 +4,4 @@ or better, you should always be able to upgrade all of your core packages automatically. If you haven't changed anything, no manual intervention should be required. If you are running - OpenACS prior to 4.5, upgrading will require manual effort.

    If all of these conditions are true:

    • Your OpenACS Core is 5.0.0 or later

    • You do not keep your OpenACS site in a local CVS repository

    • You do not have any custom code

    then you can upgrade automatically using the automated installer in the OpenACS Package Manager (APM), and you can probably skip the rest of this chapter. To upgrade directly from the OpenACS repository using the APM:

    1. Browse to the Installer.

    2. Click install or upgrade under "Install from OpenACS Repository" and select the packages to install or upgrade.

    3. The APM will download the requested packages from OpenACS.org, install the files on your hard drive, run any appropriate database upgrade scripts, and prompt you to restart the server. After restarting the server again, the upgrade is complete.

    Figure 5.1. Upgrading with the APM

    Upgrading with the APM

    It's always a good idea to precede an upgrade attempt with a snapshot backup.

    Table 5.1. Assumptions in this section

    name of OpenACS user$OPENACS_SERVICE_NAME
    OpenACS server name$OPENACS_SERVICE_NAME
    Root of OpenACS file tree/var/lib/aolserver/$OPENACS_SERVICE_NAME
    Database backup directory/var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup

    View comments on this page at openacs.org
    + OpenACS prior to 4.5, upgrading will require manual effort.

    If all of these conditions are true:

    • Your OpenACS Core is 5.0.0 or later

    • You do not keep your OpenACS site in a local CVS repository

    • You do not have any custom code

    then you can upgrade automatically using the automated installer in the OpenACS Package Manager (APM), and you can probably skip the rest of this chapter. To upgrade directly from the OpenACS repository using the APM:

    1. Browse to the Installer.

    2. Click install or upgrade under "Install from OpenACS Repository" and select the packages to install or upgrade.

    3. The APM will download the requested packages from OpenACS.org, install the files on your hard drive, run any appropriate database upgrade scripts, and prompt you to restart the server. After restarting the server again, the upgrade is complete.

    Figure 5.1. Upgrading with the APM

    Upgrading with the APM

    It's always a good idea to precede an upgrade attempt with a snapshot backup.

    Table 5.1. Assumptions in this section

    name of OpenACS user$OPENACS_SERVICE_NAME
    OpenACS server name$OPENACS_SERVICE_NAME
    Root of OpenACS file tree/var/lib/aolserver/$OPENACS_SERVICE_NAME
    Database backup directory/var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/variables.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/variables.adp,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/variables.adp 4 Oct 2015 13:36:55 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/variables.adp 1 Dec 2015 11:17:58 -0000 1.1.2.5 @@ -19,7 +19,7 @@ OpenACS documentation staff.

    Starting with OpenACS 5.0 and the introduction of acs-lang, we recommend retrieving date/time information from the database in ANSI format and then using lc_time_fmt to format it for display.

    -

    Example 12.1. Getting +

    Example 12.1. Getting datetime from the database ANSI-style

     db_multirow -extend { mydate_pretty } {
         select to_char(mydate, 'YYYY-MM-DD HH24:MI:SS') as mydate_ansi,
    Index: openacs-4/packages/acs-core-docs/www/variables.html
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/variables.html,v
    diff -u -N -r1.30.2.3 -r1.30.2.4
    --- openacs-4/packages/acs-core-docs/www/variables.html	4 Oct 2015 13:36:56 -0000	1.30.2.3
    +++ openacs-4/packages/acs-core-docs/www/variables.html	1 Dec 2015 11:17:58 -0000	1.30.2.4
    @@ -4,7 +4,7 @@
               by OpenACS documentation staff.
             

    Starting with OpenACS 5.0 and the introduction of acs-lang, we recommend retrieving date/time information from the database in - ANSI format and then using lc_time_fmt to format it for display.

    Example 12.1. Getting datetime from the database ANSI-style

    db_multirow -extend { mydate_pretty } {
    +    ANSI format and then using lc_time_fmt to format it for display.

    Example 12.1. Getting datetime from the database ANSI-style

    db_multirow -extend { mydate_pretty } {
         select to_char(mydate, 'YYYY-MM-DD HH24:MI:SS') as mydate_ansi,
               ...
         ...
    Index: openacs-4/packages/acs-core-docs/www/xml/for-everyone/release-notes.xml
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/for-everyone/release-notes.xml,v
    diff -u -N -r1.30.2.4 -r1.30.2.5
    --- openacs-4/packages/acs-core-docs/www/xml/for-everyone/release-notes.xml	27 Oct 2015 09:55:19 -0000	1.30.2.4
    +++ openacs-4/packages/acs-core-docs/www/xml/for-everyone/release-notes.xml	1 Dec 2015 11:17:58 -0000	1.30.2.5
    @@ -39,8 +39,8 @@
     entire &majorversion;.&minorversion; release sequence .
     -->
     
    -
    -  Release 5.9.0 beta
    +
    +  Release 5.9.0
       
         
           The release of OpenACS 5.9.0 contains the 78 packages of the oacs-5-9 branch.
    @@ -72,12 +72,36 @@
     	  
                 Removed tree_sortkey on acs-objects to reduce its size and
     	    to speedup operations, where the context-id is changed
    -	    (could take on large installation several minutes)
    +	    (could take on large installation several minutes in
    +	    earlier versions)
     	  
     
     	  
                 Remove several uncalled / redundant SQL statements and functions.
     	  
    +
    +	   Cleanup of .xql files in acs-subsite:
    +	  
    +	     Some cleanup of .xql files: removed
    +	    misleading sql-statements from db_* calls, which were
    +	    ignored due .xql files
    +	    
    +	    
    +	     Removed bug where same query-name was
    +	    used in different branches of an if-statement for
    +	    different sql statements, but the query-name lead to the
    +	    wrong result.
    +	    
    +
    +	     Removed multiple entries of same query
    +	    name from .xql files (e.g. the entry
    +	    "package_create_attribute_list.select_type_info" was
    +	    7 (!) times in a single .xql file)
    +	    
    +
    +	  	    
    +
    +	  
     		    
     	
     
    @@ -155,7 +179,7 @@
     	  
     
     	   Dimensional slider reform (ad_dimensional):
    - 	  Removed hard-coded table layout from dimensional slider Add
    + 	  Removed hard-coded table layout from dimensional slider. Add
      	  backwards compatible templates Move hard-coded styles into
      	  theme styling 
     
    @@ -165,11 +189,26 @@
     
     	  
                 Complete template variable suffixes (adding noi18n,
    -	    adressing bug #2692, full list is now: noquote, noi18n, literal)
    +	    addressing bug #2692, full list is now: noquote, noi18n, literal)
     	  
    +
    +	  
    +	    Added timeout and configurable secrets for signed url
    +	    parameters to export_vars/page_contracts.
    +	    This can be used to secure sensitive operations
    +	    such as granting permissions since a link can be set to
    +	    timeout after e.g. 60 seconds; after that, the link is
    +	    invalid. A secret (password) can be set in section
    +	    ns/server/$server/acs parameter "parametersecret".
    +	  
    +	    For example, one can use now "user_id:sign(max_age=60)" in
    +	    export_vars to let the exported variable expire after 60 seconds.
    +	  
    +	  
     	
     	
     
    +	
     	Misc:
     	
     	  
    @@ -179,12 +218,25 @@
     	    in the acs-tcl package parameters)
     	  
     
    -	   Added ability to save data sent by
    -	  ns_return in files on the file system. This can be used to
    -	  validate HTML content also for password protected pages
    -	  (controlled via package parameter "TclTraceSaveNsReturn" in
    -	  the acs-tcl package parameters) 
    +	  
    +	    Added ability to save data sent by
    +	    ns_return in files on the file system. This can be used to
    +	    validate HTML content also for password protected pages
    +	    (controlled via package parameter "TclTraceSaveNsReturn" in
    +	    the acs-tcl package parameters)
    +	  
     	  
    +	  
    +            New api function "ad_log" having the same interface as
    +	    ns_log, but which logs the calling information (like URL
    +	    and call-stack) to ease tracking of errors.
    +	  	  
    +
    +	   Use per-thread caching to reduce number of
    +	  mutex lock operations and lock contention on various caches
    +	  (util-memoize, xo_site_nodes, xotcl_object_types) and nsvs
    +	  (e.g ds_properties) 
    +	  
      	  
                 Improved templating of OpenACS core documentation
     	  
    @@ -201,6 +253,12 @@
                 Mark unused functions of acs-tcl/tcl/table-display-procs.tcl as deprecated
     	  
     
    +	  
    +            Many more bug fixes (from bug tracker and extra) and
    +	    performance improvements.
    +	  
    +
    +	  
      	  
     	    Version numbers:
     	    
    @@ -212,26 +270,33 @@
     		Require XOTcl 2.0 (presented at the Tcl conference in 2011). 
     	      
     
    -	      
    -		Significant performance improvement for large
    -		installations
    -	      
     	    
      	  
     	
     	
     	
    -	Changes in application packages: Various bug
    -	fixes and improvements for e.g. file-storage, forums, news,
    -	notifications, xowiki.
    -	
    +	Changes in application packages:
    +	
    +	  
    +	    Various bug
    +	    fixes and improvements for e.g. file-storage, forums, news,
    +	    notifications, xowiki.
    +	  
    +	
     	
           
          
       
    -   Altogether, OpenACS 5.9.0 differs from OpenACS 5.8.1 in
    -  about xxxx modifications (yyyy commits) contributed by zzzz
    -  committers. For more details, consult the
    +  
    +   Altogether, OpenACS 5.9.0 differs from OpenACS 5.8.1 by the
    +  following statistics
    +  
    +      3658 files changed, 120800 insertions(+), 97617 deletions(-)
    +  
    +  contributed by 4 committers (Michael Aram, Victor Guerra, Gustaf Neumann, Antonio Pisano) and
    +  patch/bugfix providers (Frank Bergmann, Andrew Helsley, Felix
    +  Mödritscher, Marcos Moser, Franz Penz, Thomas Renner).  For more
    +  details, consult the  
       
       raw ChangeLog.
    Index: openacs-4/packages/acs-developer-support/www/doc/developer-support-example.adp
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-developer-support/www/doc/developer-support-example.adp,v
    diff -u -N -r1.1.2.1 -r1.1.2.2
    --- openacs-4/packages/acs-developer-support/www/doc/developer-support-example.adp	25 Aug 2015 18:02:07 -0000	1.1.2.1
    +++ openacs-4/packages/acs-developer-support/www/doc/developer-support-example.adp	1 Dec 2015 11:17:59 -0000	1.1.2.2
    @@ -558,5 +558,5 @@
     
    webmaster\@dev.arsdigita.com
    -

    Last Modified: $Id: developer-support-example.html,v 1.1.1.1 -2001/04/20 20:51:09 donb Exp $

    +

    Last Modified: $‌Id: developer-support-example.html,v +1.1.1.1.28.1 2015/08/25 17:58:44 gustafn Exp $

    Index: openacs-4/packages/acs-developer-support/www/doc/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-developer-support/www/doc/index.adp,v diff -u -N -r1.2.2.4 -r1.2.2.5 --- openacs-4/packages/acs-developer-support/www/doc/index.adp 25 Aug 2015 18:02:07 -0000 1.2.2.4 +++ openacs-4/packages/acs-developer-support/www/doc/index.adp 1 Dec 2015 11:17:59 -0000 1.2.2.5 @@ -78,5 +78,5 @@

    Please file bugs in the Bug Tracker.


    jsalz\@mit.edu
    -

    Last Modified: $Id: index.html,v 1.1.1.1.28.1 2015/08/21 -10:28:44 gustafn Exp $

    +

    Last Modified: $‌Id: index.html,v 1.1.1.1.28.2 2015/08/25 +17:58:45 gustafn Exp $

    Index: openacs-4/packages/acs-messaging/www/doc/requirements.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-messaging/www/doc/requirements.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-messaging/www/doc/requirements.adp 25 Aug 2015 18:02:08 -0000 1.2.2.2 +++ openacs-4/packages/acs-messaging/www/doc/requirements.adp 1 Dec 2015 11:17:59 -0000 1.2.2.3 @@ -156,5 +156,5 @@
    -Last modified: $Id: requirements.html,v 1.1.1.1 2001/03/13 22:59:26 +Last modified: $‌Id: requirements.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $ Index: openacs-4/packages/acs-subsite/www/doc/group-admin-pages-acceptance-test.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/doc/group-admin-pages-acceptance-test.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-subsite/www/doc/group-admin-pages-acceptance-test.adp 25 Aug 2015 18:02:09 -0000 1.2.2.2 +++ openacs-4/packages/acs-subsite/www/doc/group-admin-pages-acceptance-test.adp 1 Dec 2015 11:17:59 -0000 1.2.2.3 @@ -221,6 +221,6 @@
    Michael Bryzek
    -
    $Id: group-admin-pages-acceptance-test.html,v 1.3 +
    $‌Id: group-admin-pages-acceptance-test.html,v 1.3 2003/09/30 12:10:03 mohanp Exp $
    Index: openacs-4/packages/acs-subsite/www/doc/group-admin-pages-requirements.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/doc/group-admin-pages-requirements.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-subsite/www/doc/group-admin-pages-requirements.adp 25 Aug 2015 18:02:09 -0000 1.2.2.2 +++ openacs-4/packages/acs-subsite/www/doc/group-admin-pages-requirements.adp 1 Dec 2015 11:17:59 -0000 1.2.2.3 @@ -158,5 +158,5 @@
    Michael Bryzek

    -$Id: group-admin-pages-requirements.html,v 1.2 +$‌Id: group-admin-pages-requirements.html,v 1.2 2001/08/11 21:31:03 ben Exp $ Index: openacs-4/packages/acs-subsite/www/doc/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/www/doc/index.adp,v diff -u -N -r1.2.2.4 -r1.2.2.5 --- openacs-4/packages/acs-subsite/www/doc/index.adp 25 Aug 2015 18:02:09 -0000 1.2.2.4 +++ openacs-4/packages/acs-subsite/www/doc/index.adp 1 Dec 2015 11:17:59 -0000 1.2.2.5 @@ -33,6 +33,6 @@
    Michael Bryzek

    -$Id: index.html,v 1.3.2.2 2015/08/21 10:49:21 +$‌Id: index.html,v 1.3.2.2 2015/08/21 10:49:21 gustafn Exp $ \ No newline at end of file Index: openacs-4/packages/acs-templating/www/doc/design.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/design.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-templating/www/doc/design.adp 25 Aug 2015 18:02:09 -0000 1.2.2.2 +++ openacs-4/packages/acs-templating/www/doc/design.adp 1 Dec 2015 11:17:59 -0000 1.2.2.3 @@ -324,5 +324,5 @@
    Christian Brechbuehler
    -Last modified: $Id: design.html,v 1.4 2015/06/16 08:53:38 gustafn +Last modified: $‌Id: design.html,v 1.4 2015/06/16 08:53:38 gustafn Exp $ Index: openacs-4/packages/acs-templating/www/doc/developer-guide.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/developer-guide.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-templating/www/doc/developer-guide.adp 25 Aug 2015 18:02:09 -0000 1.2.2.2 +++ openacs-4/packages/acs-templating/www/doc/developer-guide.adp 1 Dec 2015 11:17:59 -0000 1.2.2.3 @@ -96,5 +96,5 @@
    Christian Brechbühler
    -Last modified: $Id: developer-guide.html,v 1.4 2015/06/16 08:53:38 +Last modified: $‌Id: developer-guide.html,v 1.4 2015/06/16 08:53:38 gustafn Exp $ Index: openacs-4/packages/acs-templating/www/doc/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/index.adp,v diff -u -N -r1.2.2.5 -r1.2.2.6 --- openacs-4/packages/acs-templating/www/doc/index.adp 25 Aug 2015 18:02:10 -0000 1.2.2.5 +++ openacs-4/packages/acs-templating/www/doc/index.adp 1 Dec 2015 11:18:00 -0000 1.2.2.6 @@ -43,5 +43,5 @@
    Christian Brechbühler
    -Last modified: $Id: index.html,v 1.6.2.2 2015/08/21 10:28:47 +Last modified: $‌Id: index.html,v 1.6.2.2 2015/08/21 10:28:47 gustafn Exp $ Index: openacs-4/packages/acs-templating/www/doc/migration.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/migration.adp,v diff -u -N -r1.3.2.7 -r1.3.2.8 --- openacs-4/packages/acs-templating/www/doc/migration.adp 25 Aug 2015 18:02:10 -0000 1.3.2.7 +++ openacs-4/packages/acs-templating/www/doc/migration.adp 1 Dec 2015 11:18:00 -0000 1.3.2.8 @@ -76,7 +76,7 @@ \@author Jon Salz (jsalz\@arsdigita.com) \@creation-date 11 Aug 2000 - \@cvs-id $Id$ + \@cvs-id $‌Id$ } { news_item_id:integer,notnull @@ -121,7 +121,7 @@ \@author Jon Salz (jsalz\@arsdigita.com) \@creation-date 11 Aug 2000 - \@cvs-id $Id$ + \@cvs-id $‌Id$ } { news_item_id:integer,notnull @@ -227,7 +227,7 @@ news items? \@author Jon Salz (jsalz\@mit.edu) \@creation-date 11 Aug 2000 - \@cvs-id $Id$ + \@cvs-id $‌Id$ } { }
     ad_page_contract {
    @@ -239,7 +239,7 @@
                           news items?
         \@author Jon Salz (jsalz\@mit.edu)
         \@creation-date 11 Aug 2000
    -    \@cvs-id $Id$
    +    \@cvs-id $‌Id$
     } {
     } -properties {
       header:onevalue
    @@ -361,11 +361,11 @@
     
    packages/acs-core-ui/www/pvt/alerts.tclpackages/acs-core-ui/www/pvt/alerts.adp
    ad_page_contract {
    -    \@cvs-id $Id$
    +    \@cvs-id $‌Id: migration.html,v 1.3 2014/10/27 16:40:14 victorg Exp $
     } {
     }
     ad_page_contract {
    -    \@cvs-id $Id$
    +    \@cvs-id $‌Id: migration.html,v 1.3 2014/10/27 16:40:14 victorg Exp $
     } {
     } -properties {
         header:onevalue
    @@ -570,5 +570,5 @@
     Iwashima
     
     
    -Last modified: $Id: migration.html,v 1.3 2014/10/27 16:40:14
    +Last modified: $‌Id: migration.html,v 1.3 2014/10/27 16:40:14
     victorg Exp $
    Index: openacs-4/packages/acs-templating/www/doc/noquote.adp
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/noquote.adp,v
    diff -u -N -r1.3.2.2 -r1.3.2.3
    --- openacs-4/packages/acs-templating/www/doc/noquote.adp	25 Aug 2015 18:02:10 -0000	1.3.2.2
    +++ openacs-4/packages/acs-templating/www/doc/noquote.adp	1 Dec 2015 11:18:00 -0000	1.3.2.3
    @@ -5,9 +5,9 @@
     Requirements
     
     
    +		    rightLink="" rightLabel="">
     		

    @@ -66,14 +66,14 @@ in fact comes from the database and you don't want it to, for instance, close the <i> behind your back, you should quote it, and then enclose it between <i> and </i>.

    The ACS has a procedure that performs HTML quoting, -ad_quotehtml. It accepts the string that needs to be quoted, and +ns_quotehtml. It accepts the string that needs to be quoted, and returns the quoted string. In ACS 3.x, properly written code was -expected to call ad_quotehtml every time it published a string to a +expected to call ns_quotehtml every time it published a string to a web page. For example:

     doc_body_append "<ul>\n" set db [ns_db gethandle] set selection
     [ns_db select $db {SELECT name FROM bboard_forums}] while {[ns_db
     getrow $db $selection]} { set_variables_after_query doc_body_append
    -"<li>Forum: <tt>[ad_quotehtml $name]</tt>\n" }
    +"<li>Forum: <tt>[ns_quotehtml $name]</tt>\n" }
     doc_body_append "</ul>\n"
     

    Obviously, this was very error-prone, and more often than not, the programmers would forget to quote the variables that come from @@ -121,7 +121,7 @@ still supports all the ADP features, including embedding Tcl code in the template. Thus instead of referring to the multirow variable with the \@forums.name\@ variable substitutions, we use -<%= [ad_quotehtml \@forums.name\@] %>. This +<%= [ns_quotehtml \@forums.name\@] %>. This works correctly, but obviously breaks the abstraction barrier between ADP and Tcl syntaxes. The practical result of breaking the abstraction is that every occurrence of Tcl code in an ADP template @@ -131,7 +131,7 @@ where not handling it would quote immediate and visible breakage, such as in the case of displaying the bodies of bboard articles. This is not exaggeration; it has been proven by auditing the ACS -4.0, both manually and through grepping for ad_quotehtml. +4.0, both manually and through grepping for ns_quotehtml. Strangely, this otherwise sad fact allows us to deploy a very radical but much more robust solution to the problem.

    @@ -184,8 +184,8 @@
    + leftLink="" leftLabel="" leftTitle="" + rightLink="" rightLabel="" rightTitle="" + homeLink="" homeLabel="" + upLink="" upLabel=""> \ No newline at end of file Index: openacs-4/packages/acs-templating/www/doc/requirements.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/requirements.adp,v diff -u -N -r1.2.2.2 -r1.2.2.3 --- openacs-4/packages/acs-templating/www/doc/requirements.adp 25 Aug 2015 18:02:10 -0000 1.2.2.2 +++ openacs-4/packages/acs-templating/www/doc/requirements.adp 1 Dec 2015 11:18:00 -0000 1.2.2.3 @@ -227,5 +227,5 @@
    yon\@arsdigita.com
    -Last modified: $Id: requirements.html,v 1.2 2014/10/27 16:40:14 +Last modified: $‌Id: requirements.html,v 1.2 2014/10/27 16:40:14 victorg Exp $ Index: openacs-4/packages/acs-templating/www/doc/api/element.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/api/element.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/api/element.adp 25 Aug 2015 18:02:13 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/api/element.adp 1 Dec 2015 11:18:00 -0000 1.2.2.2 @@ -27,7 +27,7 @@ textarea tag used to ultimately render the element.
  • The validate switch may be used to perform simple custom validation of each element value. type is a keyword for the type of validation being performed. This same keyword must -be referenced by the formerror tag to customize the +be referenced by the formerror tag to customize the presentation and layout of the error message for this validation step. expression must be a block of arbitrary Tcl code that evaluates to 1 (valid) or 0 (not valid). The variable Index: openacs-4/packages/acs-templating/www/doc/api/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/api/index.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/api/index.adp 25 Aug 2015 18:02:13 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/api/index.adp 1 Dec 2015 11:18:00 -0000 1.2.2.2 @@ -4,7 +4,7 @@

    Object and API Reference

    Templating System - : Developer Guide + : Developer Guide : API Some of the API discussed here achieves functionality that the ACS @@ -21,5 +21,5 @@
    Christian Brechbühler
    -Last modified: $Id: index.html,v 1.1.1.1 2001/03/13 22:59:27 ben +Last modified: $‌Id: index.html,v 1.1.1.1 2001/03/13 22:59:27 ben Exp $ Index: openacs-4/packages/acs-templating/www/doc/appendices/memory.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/appendices/memory.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/appendices/memory.adp 25 Aug 2015 18:02:13 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/appendices/memory.adp 1 Dec 2015 11:18:00 -0000 1.2.2.2 @@ -75,7 +75,7 @@ # now use the output however you wish
  • -Also see the "string +Also see the "string " demo.

    Generating Templates from Other Templates

    In some cases, the template itself may be based on yet another @@ -91,11 +91,11 @@

    Note that the generic "style" template contains templating tags (formwidget, formgroup, if etc.) that must be "protected" during the first step. The templating system -provides the noparse +provides the noparse tag to do this.


    templating\@arsdigita.com
    -Last modified: $Id: memory.html,v 1.1.1.1 2001/03/13 22:59:27 ben +Last modified: $‌Id: memory.html,v 1.1.1.1 2001/03/13 22:59:27 ben Exp $ Index: openacs-4/packages/acs-templating/www/doc/exercise/ats-for-designers.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/exercise/ats-for-designers.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/exercise/ats-for-designers.adp 25 Aug 2015 18:02:14 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/exercise/ats-for-designers.adp 1 Dec 2015 11:18:00 -0000 1.2.2.2 @@ -5,7 +5,7 @@

    The ACS Templating System for Web Designers

    Reading

      -
    • ACS Templating System documents +
    • ACS Templating System documents
    • Templating System demo
    • Read beginning and end of Using Templates in ACS 4 @@ -28,16 +28,16 @@ presentation style while accomodating numerous permutaions of changing data.

      This training module will teach largely by exercise and example, -but you should also refer regularly to the ATS documents provided and more specific +but you should also refer regularly to the ATS documents provided and more specific pointers will be given to help you out along the way.

      Okay, let's get to the nitty gritty.

      Exercises

      The basic building block of dynamic data in a template is the -onevalue variable. A variable +onevalue variable. A variable is simply a tag used in your .adp file that holds data supplied by another source file; that source will probably be another file of the same name with a .tcl extension. -Variable tags come in three basic formats, as lists, multiples and onevalues.

      +Variable tags come in three basic formats, as lists, multiples and onevalues.

      Exercise 1: Onevalues, onelists, multilists and multirows
      @@ -60,13 +60,13 @@ two, specifically:

      • -variables in the +variables in the .adp file are designated with "\@" markers, like the \@name\@ variable that litters the opening text block of list-and-var-sample.adp; here, \@name\@ is used as a place-marker for the value set in list-and-var.sample.tcl -
      • the variables within the <multiple> tag, though only +
      • the variables within the <multiple> tag, though only appearing once in the .adp file, are cycled repeatedly to show multiple sets of information when displayed in list-and-var-sample.acs; example: @@ -116,14 +116,14 @@

        Exercise Two: <if> and <else>, the conditional tags

        Dynamic data implies a changing page, and also changing -presentation. The <if> and +presentation. The <if> and <else> tags allow you to alter the format of your page to accomodate data changes. The function of <if> is straightforward enough: given a condition -- such as \@x\@ equals 5 -- all the text/html/dynamic data between the the opening and closing <if> tags will be displayed if and only if \@x\@ does in fact equal 5. A complete listing of currently supported -conditions and some brief explanatory notes can be found here. Also, a few more things to keep in +conditions and some brief explanatory notes can be found here. Also, a few more things to keep in mind:

        • in Tcl all variables, even numbers, are stored as text strings @@ -151,12 +151,12 @@ 89-year olds.

          Exercise Three: The <master> and <slave> tags -- a call to the dominatrix in you

          -

          The <master> and -<slave> tags allow you to +

          The <master> and +<slave> tags allow you to maintain a consistent style and format among pages without having to edit each page individually. To get a sense of what these tags do and how they work, go ahead and run through this short demonstration, and then use a text editor to -view the related .adp files. Also, read this discussion on the use of master +view the related .adp files. Also, read this discussion on the use of master pages.

          One thing you may have noticed earlier about list-and-var-sample.adp is that it lacks the standard @@ -179,7 +179,7 @@ within another slave

        • you cannot have two different slave sections within the same master (go ahead and try adding an extra <slave> tag to a master page to see what happens)
        • -<property> tags are +<property> tags are used within a slave section to pass text, HTML and references to local datasources up to the master page; these values are placed in the master page in the same fashion as onevalues
        • data and HTML can be passed from a nested slave section to its @@ -202,7 +202,7 @@

          Creating forms with ATS can be as simple as inserting two tags into a page. Try this: open form-sample.adp and add the two following ATS tags:

          -
          <formtemplate +
          <formtemplate id="add_entry"></formtemplate>

          Save the page and reload it. You should see now see a big baby-blue form block; this is the ATS default style for form @@ -214,7 +214,7 @@

          However, if ever you wish to build a form according to the mandates of your own taste, <formtemplate> also leaves you this option. Manually stylizing forms with ATS requires you to -learn only two more tags, <formwidget> and <formgroup>. Browse through the +learn only two more tags, <formwidget> and <formgroup>. Browse through the ATS demo for examples of <formwidget> and <formwidget> usage. For the most part <formwidget> should be used in most places you might have @@ -249,13 +249,13 @@ make use of the .dat datasource page to view your developer's description and comments about the form.

          Also, try customizing your form's error response/correction -request text. You'll need to use the <formerror> tag, an example of +request text. You'll need to use the <formerror> tag, an example of which can be found under the gender formwidget.

          Exercise Five: more fun with multirows

          Now that you've confidently added the conditional <if> and <else> tags to your ATS toolbelt, it's time to put those tools to good use in formatting multirow data. First, read the -docs to learn about the +docs to learn about the automatcally generated \@your_multirow.rownum\@ column, the \@your_multirow:rowcount\@ onevalue which contains the total number of rows contained in your multirow, Index: openacs-4/packages/acs-templating/www/doc/guide/components.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/components.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/guide/components.adp 25 Aug 2015 18:02:14 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/guide/components.adp 1 Dec 2015 11:18:00 -0000 1.2.2.2 @@ -6,7 +6,7 @@

          Building Reusable Template Components

          Templating System - : Developer Guide + : Developer Guide : User Guide

          Most page layouts can be separated into smaller components, many of which may appear in different contexts throughout a site. Index: openacs-4/packages/acs-templating/www/doc/guide/composite.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/composite.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/guide/composite.adp 25 Aug 2015 18:02:14 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/guide/composite.adp 1 Dec 2015 11:18:01 -0000 1.2.2.2 @@ -4,7 +4,7 @@

          Assembling a Page from Components

          Templating System - : Developer Guide + : Developer Guide : User Guide : Composite @@ -23,8 +23,8 @@

          The "root" page includes the "widget" and wraps itself in the "master". That page in turn includes the "top" and "bottom".

          Overall structure

          -

          The parts are put together with the <include> tag (in the diagram -below, black links going right) and the <master> tag (brown link going +

          The parts are put together with the <include> tag (in the diagram +below, black links going right) and the <master> tag (brown link going left); and the concept is similar to a procedure call. The structure of the composite page looks like this as a graph.

          Index: openacs-4/packages/acs-templating/www/doc/guide/data.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/data.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/guide/data.adp 25 Aug 2015 18:02:14 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/guide/data.adp 1 Dec 2015 11:18:01 -0000 1.2.2.2 @@ -4,7 +4,7 @@

          Implementing Data Sources

          Templating System - : Developer Guide + : Developer Guide : User Guide

          Data sources are implemented in a Tcl script using regular Tcl variables, lists and arrays. The templating system includes a set @@ -35,14 +35,14 @@ query name onevalue "select name from users where user_id = 123"

          You can embed a onevalue data source in a template with -simple variable +simple variable substitution.

          onerow

          onerow data sources are implemented as Tcl arrays:

          set name(first_name) Walter
          set name(last_name) Cronkite
          -

          The query procedure +

          The query procedure may be used as a convenient way to store the result of a one-row database query into an array:

          @@ -55,7 +55,7 @@
               user_id = 123"
           

          You can embed references to column values of a onerow -data source in a template with simple variable substitution.

          +data source in a template with simple variable substitution.

          onelist

          onelist data sources are implemented by creating a Tcl @@ -67,7 +67,7 @@ source based on a one-column database query:

          query name onevalue "select name from users"

          You can iterate over a onelist data source in a -template with the list tag.

          +template with the list tag.

          multirow

          multirow data sources are not represented by a single @@ -78,7 +78,7 @@ multirow append cars "Toyota" "Camry" "1996" multirow append cars "Volvo" "960" "1995" -

          The query procedure +

          The query procedure may be used as a convenient way to store the result of a multi-row, multi-column database query into a multirow data source:

          @@ -90,7 +90,7 @@ cars"

          You can iterate over a multirow data source in a -template with the multiple +template with the multiple tag.


          templating\@arsdigita.com Index: openacs-4/packages/acs-templating/www/doc/guide/document.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/document.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/guide/document.adp 25 Aug 2015 18:02:14 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/guide/document.adp 1 Dec 2015 11:18:01 -0000 1.2.2.2 @@ -6,7 +6,7 @@

          Documenting Data Sources

          Templating System - : Developer Guide + : Developer Guide : User Guide

          Effective coordination between the developer and designer is one of the major challenges of any publishing team. The templating Index: openacs-4/packages/acs-templating/www/doc/guide/form-datatypes.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/form-datatypes.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/guide/form-datatypes.adp 25 Aug 2015 18:02:15 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/guide/form-datatypes.adp 1 Dec 2015 11:18:01 -0000 1.2.2.2 @@ -4,7 +4,7 @@

          Custom Data Types

          Templating System - : Developer Guide + : Developer Guide : User Guide
          templating\@arsdigita.com Index: openacs-4/packages/acs-templating/www/doc/guide/form-templates.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/form-templates.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/guide/form-templates.adp 25 Aug 2015 18:02:15 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/guide/form-templates.adp 1 Dec 2015 11:18:01 -0000 1.2.2.2 @@ -6,7 +6,7 @@

          Customizing Form Templates

          Templating System - : Developer Guide + : Developer Guide : User Guide

          The templating system allows the designer to have full control over the layout of a dynamic form.

          Index: openacs-4/packages/acs-templating/www/doc/guide/form-widgets.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/form-widgets.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/guide/form-widgets.adp 25 Aug 2015 18:02:15 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/guide/form-widgets.adp 1 Dec 2015 11:18:01 -0000 1.2.2.2 @@ -4,7 +4,7 @@

          Custom Form Widgets

          Templating System - : Developer Guide + : Developer Guide : User Guide

          Form widgets are implemented as tcl procs that output the html to generate the form element. The tcl proc must be in the Index: openacs-4/packages/acs-templating/www/doc/guide/forms.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/forms.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/guide/forms.adp 25 Aug 2015 18:02:15 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/guide/forms.adp 1 Dec 2015 11:18:01 -0000 1.2.2.2 @@ -6,7 +6,7 @@

          Creating and Populating Forms

          Templating System - : Developer Guide + : Developer Guide : User Guide

          This document outlines the steps necessary to build a dynamic form in Tcl code.

          @@ -22,7 +22,7 @@
           form create add_user
           
          -

          See the form API for optional +

          See the form API for optional parameters to this command.

          Add elements

          Once the form is created, use the element create @@ -33,7 +33,7 @@ -html { size 30 }

          In auto-generated forms, elements appear in the order they were -created. See the element API for +created. See the element API for optional parameters to this command.

          Set values

          Self-validating forms should check whether a request or Index: openacs-4/packages/acs-templating/www/doc/guide/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/index.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/guide/index.adp 25 Aug 2015 18:02:15 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/guide/index.adp 1 Dec 2015 11:18:01 -0000 1.2.2.2 @@ -3,8 +3,8 @@ Templating System User Guide: Overview

          Overview

          -Templating System - : Developer Guide +Templating System + : Developer Guide : User Guide

          This document provides a brief introduction to the design of the templating system and the process of building dynamic pages with Index: openacs-4/packages/acs-templating/www/doc/guide/master.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/master.adp,v diff -u -N -r1.3.2.2 -r1.3.2.3 --- openacs-4/packages/acs-templating/www/doc/guide/master.adp 25 Aug 2015 18:02:15 -0000 1.3.2.2 +++ openacs-4/packages/acs-templating/www/doc/guide/master.adp 1 Dec 2015 11:18:01 -0000 1.3.2.3 @@ -4,7 +4,7 @@

          Using Master Templates

          Templating System - : Developer Guide + : Developer Guide : User Guide

          Master templates dramatically simplify the task of maintaining a consistent look and feel across all the pages of a site (or section Index: openacs-4/packages/acs-templating/www/doc/guide/skins.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/skins.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/guide/skins.adp 25 Aug 2015 18:02:15 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/guide/skins.adp 1 Dec 2015 11:18:01 -0000 1.2.2.2 @@ -6,7 +6,7 @@

          Presenting Data in Multiple Styles and Formats

          Templating System - : Developer Guide + : Developer Guide : User Guide

          (Discussion of how to do cobranding, syndication of data in XML, etc.).

          Index: openacs-4/packages/acs-templating/www/doc/guide/tcl.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/tcl.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/guide/tcl.adp 25 Aug 2015 18:02:15 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/guide/tcl.adp 1 Dec 2015 11:18:01 -0000 1.2.2.2 @@ -6,7 +6,7 @@

          Embedding Code in Templates

          Templating System - : Developer Guide + : Developer Guide : User Guide

          There are various ways to use Tcl in ADPs like ASP or JSP.

          You can use the <% ... %> and <%= Index: openacs-4/packages/acs-templating/www/doc/guide/templates.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/guide/templates.adp,v diff -u -N -r1.3.2.2 -r1.3.2.3 --- openacs-4/packages/acs-templating/www/doc/guide/templates.adp 25 Aug 2015 18:02:16 -0000 1.3.2.2 +++ openacs-4/packages/acs-templating/www/doc/guide/templates.adp 1 Dec 2015 11:18:02 -0000 1.3.2.3 @@ -18,7 +18,7 @@ authors must use special tags to position each piece of dynamic data within the layout. Each template is associated with a data dictionary that lists all available variables.

          -

          See Variable +

          See Variable Substitution.

          Use of Components

          To speed development and ensure consistency of design, template @@ -37,7 +37,7 @@ where users may assemble different types of content to their liking.

          (graphic)

          -

          See include.

          +

          See include.

          Property Declarations

          Template authors need a simple mechanism for declaring properties within the templates. The most common use of such @@ -46,13 +46,13 @@ include a search box. The data dictionary specifies available properties as well as the set of valid values when appropriate.

          (graphic)

          -

          See property.

          +

          See property.

          Conditional Insertion

          Designers often need to tailor the layout depending on the specific data being presented. For example, when presenting a list of library books that a user has checked out, the designer might want to highlight the overdue ones in red.

          -

          See if..else.

          +

          See if..else.

          Iteration

          Dynamic pages often present lists of values or records, each of which typically represents the results of a database query. @@ -73,7 +73,7 @@

          To accomodate these type of scenarios, the template parser sets some additional variables that the designer can reference to vary the layout from item to item.

          -

          See multiple, -group, list.

          +

          See multiple, +group, list.


          templating\@arsdigita.com Index: openacs-4/packages/acs-templating/www/doc/tagref/formerror.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/formerror.adp,v diff -u -N -r1.3.2.2 -r1.3.2.3 --- openacs-4/packages/acs-templating/www/doc/tagref/formerror.adp 25 Aug 2015 18:02:16 -0000 1.3.2.2 +++ openacs-4/packages/acs-templating/www/doc/tagref/formerror.adp 1 Dec 2015 11:18:02 -0000 1.3.2.3 @@ -4,7 +4,7 @@

          formerror

          Templating System - : Designer Guide + : Designer Guide : Tag Reference : formerror

          Summary

          Index: openacs-4/packages/acs-templating/www/doc/tagref/formgroup.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/formgroup.adp,v diff -u -N -r1.3.2.2 -r1.3.2.3 --- openacs-4/packages/acs-templating/www/doc/tagref/formgroup.adp 25 Aug 2015 18:02:16 -0000 1.3.2.2 +++ openacs-4/packages/acs-templating/www/doc/tagref/formgroup.adp 1 Dec 2015 11:18:02 -0000 1.3.2.3 @@ -4,7 +4,7 @@

          Formgroup

          Templating System - : Designer Guide + : Designer Guide : Tag Reference : Formgroup

          Summary

          Index: openacs-4/packages/acs-templating/www/doc/tagref/formtemplate.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/formtemplate.adp,v diff -u -N -r1.3.2.2 -r1.3.2.3 --- openacs-4/packages/acs-templating/www/doc/tagref/formtemplate.adp 25 Aug 2015 18:02:16 -0000 1.3.2.2 +++ openacs-4/packages/acs-templating/www/doc/tagref/formtemplate.adp 1 Dec 2015 11:18:02 -0000 1.3.2.3 @@ -4,7 +4,7 @@

          Formtemplate

          Templating System - : Designer Guide + : Designer Guide : Tag Reference : Formtemplate

          Summary

          Index: openacs-4/packages/acs-templating/www/doc/tagref/formwidget.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/formwidget.adp,v diff -u -N -r1.3.2.2 -r1.3.2.3 --- openacs-4/packages/acs-templating/www/doc/tagref/formwidget.adp 25 Aug 2015 18:02:16 -0000 1.3.2.2 +++ openacs-4/packages/acs-templating/www/doc/tagref/formwidget.adp 1 Dec 2015 11:18:02 -0000 1.3.2.3 @@ -4,7 +4,7 @@

          Formwidget

          Templating System - : Designer Guide + : Designer Guide : Tag Reference : Formwidget

          Summary

          Index: openacs-4/packages/acs-templating/www/doc/tagref/grid.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/grid.adp,v diff -u -N -r1.3.2.2 -r1.3.2.3 --- openacs-4/packages/acs-templating/www/doc/tagref/grid.adp 25 Aug 2015 18:02:16 -0000 1.3.2.2 +++ openacs-4/packages/acs-templating/www/doc/tagref/grid.adp 1 Dec 2015 11:18:02 -0000 1.3.2.3 @@ -4,7 +4,7 @@

          Grid

          Templating System - : Designer Guide + : Designer Guide : Tag Reference : Grid

          Summary

          Index: openacs-4/packages/acs-templating/www/doc/tagref/group.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/group.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/tagref/group.adp 25 Aug 2015 18:02:16 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/tagref/group.adp 1 Dec 2015 11:18:02 -0000 1.2.2.2 @@ -4,7 +4,7 @@

          Group

          Templating System - : Designer Guide + : Designer Guide : Tag Reference : Group

          Summary

          Index: openacs-4/packages/acs-templating/www/doc/tagref/if.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/if.adp,v diff -u -N -r1.3.2.2 -r1.3.2.3 --- openacs-4/packages/acs-templating/www/doc/tagref/if.adp 25 Aug 2015 18:02:16 -0000 1.3.2.2 +++ openacs-4/packages/acs-templating/www/doc/tagref/if.adp 1 Dec 2015 11:18:02 -0000 1.3.2.3 @@ -4,7 +4,7 @@

          If

          Templating System - : Designer Guide + : Designer Guide : Tag Reference : If

          Summary

          Index: openacs-4/packages/acs-templating/www/doc/tagref/include-optional.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/include-optional.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/tagref/include-optional.adp 25 Aug 2015 18:02:16 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/tagref/include-optional.adp 1 Dec 2015 11:18:02 -0000 1.2.2.2 @@ -4,7 +4,7 @@

          Include

          Templating System - : Designer Guide + : Designer Guide : Tag Reference : include-optional

          Summary

          Index: openacs-4/packages/acs-templating/www/doc/tagref/include.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/include.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/tagref/include.adp 25 Aug 2015 18:02:17 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/tagref/include.adp 1 Dec 2015 11:18:02 -0000 1.2.2.2 @@ -4,7 +4,7 @@

          Include

          Templating System - : Designer Guide + : Designer Guide : Tag Reference : Include

          Summary

          Index: openacs-4/packages/acs-templating/www/doc/tagref/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/index.adp,v diff -u -N -r1.2.2.7 -r1.2.2.8 --- openacs-4/packages/acs-templating/www/doc/tagref/index.adp 25 Aug 2015 18:02:17 -0000 1.2.2.7 +++ openacs-4/packages/acs-templating/www/doc/tagref/index.adp 1 Dec 2015 11:18:02 -0000 1.2.2.8 @@ -4,7 +4,7 @@

          Template Markup Tag Reference

          Templating System - : Designer Guide + : Designer Guide : Tag Reference

          Overview

          The publishing system implements a small number of special @@ -52,4 +52,4 @@

          Christian Brechbühler
          -Last modified: $Id$ +Last modified: $‌Id: index.html,v 1.4 2003/01/14 01:54:55 danw Exp $ Index: openacs-4/packages/acs-templating/www/doc/tagref/list.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/list.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/tagref/list.adp 25 Aug 2015 18:02:17 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/tagref/list.adp 1 Dec 2015 11:18:03 -0000 1.2.2.2 @@ -4,7 +4,7 @@

          List

          Templating System - : Designer Guide + : Designer Guide : Tag Reference : List

          Summary

          Index: openacs-4/packages/acs-templating/www/doc/tagref/master.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/master.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/tagref/master.adp 25 Aug 2015 18:02:17 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/tagref/master.adp 1 Dec 2015 11:18:03 -0000 1.2.2.2 @@ -4,7 +4,7 @@

          Master

          Templating System - : Designer Guide + : Designer Guide : Tag Reference : Master

          Summary

          Index: openacs-4/packages/acs-templating/www/doc/tagref/multiple.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/multiple.adp,v diff -u -N -r1.3.2.2 -r1.3.2.3 --- openacs-4/packages/acs-templating/www/doc/tagref/multiple.adp 25 Aug 2015 18:02:17 -0000 1.3.2.2 +++ openacs-4/packages/acs-templating/www/doc/tagref/multiple.adp 1 Dec 2015 11:18:03 -0000 1.3.2.3 @@ -4,7 +4,7 @@

          Multiple

          Templating System - : Designer Guide + : Designer Guide : Tag Reference : Multiple

          Summary

          Index: openacs-4/packages/acs-templating/www/doc/tagref/property.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/property.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/tagref/property.adp 25 Aug 2015 18:02:17 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/tagref/property.adp 1 Dec 2015 11:18:03 -0000 1.2.2.2 @@ -4,7 +4,7 @@

          Property

          Templating System - : Designer Guide + : Designer Guide : Tag Reference : Property

          Summary

          Index: openacs-4/packages/acs-templating/www/doc/tagref/slave.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/slave.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/tagref/slave.adp 25 Aug 2015 18:02:17 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/tagref/slave.adp 1 Dec 2015 11:18:03 -0000 1.2.2.2 @@ -4,7 +4,7 @@

          Slave

          Templating System - : Designer Guide + : Designer Guide : Tag Reference : Slave

          Summary

          Index: openacs-4/packages/acs-templating/www/doc/tagref/switch.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/switch.adp,v diff -u -N -r1.3.2.2 -r1.3.2.3 --- openacs-4/packages/acs-templating/www/doc/tagref/switch.adp 25 Aug 2015 18:02:17 -0000 1.3.2.2 +++ openacs-4/packages/acs-templating/www/doc/tagref/switch.adp 1 Dec 2015 11:18:03 -0000 1.3.2.3 @@ -4,7 +4,7 @@

          Switch

          Templating System - : Designer Guide + : Designer Guide : Tag Reference : Switch

          Summary

          Index: openacs-4/packages/acs-templating/www/doc/tagref/variable.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/tagref/variable.adp,v diff -u -N -r1.3.2.2 -r1.3.2.3 --- openacs-4/packages/acs-templating/www/doc/tagref/variable.adp 25 Aug 2015 18:02:17 -0000 1.3.2.2 +++ openacs-4/packages/acs-templating/www/doc/tagref/variable.adp 1 Dec 2015 11:18:03 -0000 1.3.2.3 @@ -4,7 +4,7 @@

          Variables

          Templating System - : Designer Guide + : Designer Guide : Tag Reference : Variables

          Summary

          Index: openacs-4/packages/acs-templating/www/doc/widgets/date.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/widgets/date.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/widgets/date.adp 25 Aug 2015 18:02:17 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/widgets/date.adp 1 Dec 2015 11:18:03 -0000 1.2.2.2 @@ -8,7 +8,7 @@ dates in a variety of formats. The widget operates in conjunction with various template::util::date functions in order to validate and manipulate the user's input. Please see the -demo pages for some examples of +demo pages for some examples of the widget's behavior.

          The Date Object

          The widget's value is a Date object, defined in Index: openacs-4/packages/acs-templating/www/doc/widgets/input.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/widgets/input.adp,v diff -u -N -r1.4.2.2 -r1.4.2.3 --- openacs-4/packages/acs-templating/www/doc/widgets/input.adp 25 Aug 2015 18:02:17 -0000 1.4.2.2 +++ openacs-4/packages/acs-templating/www/doc/widgets/input.adp 1 Dec 2015 11:18:03 -0000 1.4.2.3 @@ -7,7 +7,7 @@

          These widgets provide a variety of HTML controls, all of which are based on <input type="...">. In particular, the hidden, text, radio and checkbox widgets are currently -implemented; their use is demonstrated in the acs-templating demo.

          +implemented; their use is demonstrated in the acs-templating demo.

          The Hidden Widget

          This is simply an <input type="hidden"> widget, which is used for passing pre-set variables along with the @@ -17,7 +17,7 @@ completely identical to the <input type="text">. The -html parameter can be used to set its properties (such as size, maxlength, etc.), as -described in the general widgets reference. The value of this widget is the text +described in the general widgets reference. The value of this widget is the text string.

          The Radio Group Widget

          This widget actually represents a group of radio buttons, at Index: openacs-4/packages/acs-templating/www/doc/widgets/select.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-templating/www/doc/widgets/select.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-templating/www/doc/widgets/select.adp 25 Aug 2015 18:02:18 -0000 1.2.2.1 +++ openacs-4/packages/acs-templating/www/doc/widgets/select.adp 1 Dec 2015 11:18:04 -0000 1.2.2.2 @@ -6,7 +6,7 @@

          Overview

          These widgets provide the single-selection and multiple-selection HTML controls; their usage is demonstrated in -the acs-templating demo.

          +the acs-templating demo.

          The Select Widget

          This widget creates a list of choices, only one of which may be selected at any given time, using the HTML Index: openacs-4/packages/assessment/www/doc/as_items.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/doc/as_items.adp,v diff -u -N -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/assessment/www/doc/as_items.adp 25 Aug 2015 18:02:18 -0000 1.1.2.2 +++ openacs-4/packages/assessment/www/doc/as_items.adp 1 Dec 2015 11:18:04 -0000 1.1.2.3 @@ -320,7 +320,7 @@ "small","medium","large". Up to the developer how this translates.

        • acs_widget - the type of "widget" displayed when the Item is output in html. There are many types we should support beyond the -stock html types. We are talking ACS Templating +stock html types. We are talking ACS Templating widgets here.
        • item_answer_alignment - the orientation between the "question part" of the Item (the title/subtext) and the "answer part" -- the Index: openacs-4/packages/assessment/www/doc/display_types.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/doc/display_types.adp,v diff -u -N -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/assessment/www/doc/display_types.adp 25 Aug 2015 18:02:18 -0000 1.1.2.2 +++ openacs-4/packages/assessment/www/doc/display_types.adp 1 Dec 2015 11:18:04 -0000 1.1.2.3 @@ -32,7 +32,7 @@ aligned right", stored in the name field of CR.
        • presentation_type - the type of "widget" displayed when the Item is output in html. There are many types we -should support beyond the stock html types. We are talking ACS Templating +should support beyond the stock html types. We are talking ACS Templating widgets here.
        • item_answer_alignment - the orientation Index: openacs-4/packages/assessment/www/doc/asm_trigger_doc/bi01.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/doc/asm_trigger_doc/bi01.adp,v diff -u -N -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/assessment/www/doc/asm_trigger_doc/bi01.adp 25 Aug 2015 18:02:19 -0000 1.1.2.2 +++ openacs-4/packages/assessment/www/doc/asm_trigger_doc/bi01.adp 1 Dec 2015 11:18:04 -0000 1.1.2.3 @@ -17,5 +17,5 @@ Assessment " rightLink="bi02" rightLabel="Next" rightTitle=" Bibliography" homeLink="index" homeLabel="Home" - upLink="complete-install" upLabel="Up"> + upLink="" upLabel=""> \ No newline at end of file Index: openacs-4/packages/assessment/www/doc/asm_trigger_doc/bi02.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/doc/asm_trigger_doc/bi02.adp,v diff -u -N -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/assessment/www/doc/asm_trigger_doc/bi02.adp 25 Aug 2015 18:02:19 -0000 1.1.2.2 +++ openacs-4/packages/assessment/www/doc/asm_trigger_doc/bi02.adp 1 Dec 2015 11:18:04 -0000 1.1.2.3 @@ -16,5 +16,5 @@ rightLink="ch01" rightLabel="Next" rightTitle="  Chapter 1. Design" homeLink="index" homeLabel="Home" - upLink="complete-install" upLabel="Up"> + upLink="" upLabel=""> \ No newline at end of file Index: openacs-4/packages/assessment/www/doc/asm_trigger_doc/ch01.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/doc/asm_trigger_doc/ch01.adp,v diff -u -N -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/assessment/www/doc/asm_trigger_doc/ch01.adp 25 Aug 2015 18:02:19 -0000 1.1.2.2 +++ openacs-4/packages/assessment/www/doc/asm_trigger_doc/ch01.adp 1 Dec 2015 11:18:04 -0000 1.1.2.3 @@ -19,5 +19,5 @@ rightLink="ch01s01" rightLabel="Next" rightTitle=" 1. Data Model" homeLink="index" homeLabel="Home" - upLink="complete-install" upLabel="Up"> + upLink="" upLabel=""> \ No newline at end of file Index: openacs-4/packages/assessment/www/doc/asm_trigger_doc/ch02.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/doc/asm_trigger_doc/ch02.adp,v diff -u -N -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/assessment/www/doc/asm_trigger_doc/ch02.adp 25 Aug 2015 18:02:19 -0000 1.1.2.2 +++ openacs-4/packages/assessment/www/doc/asm_trigger_doc/ch02.adp 1 Dec 2015 11:18:04 -0000 1.1.2.3 @@ -28,5 +28,5 @@ rightLink="ch02s01" rightLabel="Next" rightTitle=" 1. Manage Permissions" homeLink="index" homeLabel="Home" - upLink="ch01" upLabel="Up"> + upLink="" upLabel=""> \ No newline at end of file Index: openacs-4/packages/assessment/www/doc/asm_trigger_doc/ch03.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/doc/asm_trigger_doc/ch03.adp,v diff -u -N -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/assessment/www/doc/asm_trigger_doc/ch03.adp 25 Aug 2015 18:02:20 -0000 1.1.2.2 +++ openacs-4/packages/assessment/www/doc/asm_trigger_doc/ch03.adp 1 Dec 2015 11:18:04 -0000 1.1.2.3 @@ -27,5 +27,5 @@ rightLink="ch04" rightLabel="Next" rightTitle="  Chapter 4. Authors" homeLink="index" homeLabel="Home" - upLink="ch02" upLabel="Up"> + upLink="" upLabel=""> \ No newline at end of file Index: openacs-4/packages/assessment/www/doc/asm_trigger_doc/ch04.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/doc/asm_trigger_doc/ch04.adp,v diff -u -N -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/assessment/www/doc/asm_trigger_doc/ch04.adp 25 Aug 2015 18:02:20 -0000 1.1.2.2 +++ openacs-4/packages/assessment/www/doc/asm_trigger_doc/ch04.adp 1 Dec 2015 11:18:04 -0000 1.1.2.3 @@ -5,7 +5,7 @@ + rightLink="" rightLabel="">

          Chapter 4. Authors

          Viaro Networks (www.viaro.net)

            @@ -21,7 +21,7 @@ + upLink="" upLabel=""> \ No newline at end of file Index: openacs-4/packages/assessment/www/doc/asm_trigger_doc/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/doc/asm_trigger_doc/index.adp,v diff -u -N -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/assessment/www/doc/asm_trigger_doc/index.adp 25 Aug 2015 18:02:20 -0000 1.1.2.2 +++ openacs-4/packages/assessment/www/doc/asm_trigger_doc/index.adp 1 Dec 2015 11:18:04 -0000 1.1.2.3 @@ -3,7 +3,7 @@ Triggers and Action Execution in Assessment
            @@ -32,9 +32,9 @@
          + homeLink="" homeLabel="" + upLink="" upLabel=""> \ No newline at end of file Index: openacs-4/packages/assessment/www/doc/user_interface/section_creation.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/assessment/www/doc/user_interface/section_creation.adp,v diff -u -N -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/assessment/www/doc/user_interface/section_creation.adp 25 Aug 2015 18:02:20 -0000 1.1.2.2 +++ openacs-4/packages/assessment/www/doc/user_interface/section_creation.adp 1 Dec 2015 11:18:05 -0000 1.1.2.3 @@ -15,7 +15,7 @@
        • Title: Title of the section
        • Description: text used for identification and selection in admin pages, not for end-user pages
        • Instructions: text displayed on user pages describing the user how to fill out the section.
        • -Display Type: section +Display Type: section display type to use. Select box of display types in use by this user, as well as "new display type" and "display type from catalogue".
          @@ -37,7 +37,7 @@ phase.
        • 0.1Creation10/26/2000Phong Nguyen
          -

          Last modified: $Id: design.html,v 1.2 2014/10/27 16:41:44 +

          Last modified: $‌Id: design.html,v 1.2 2014/10/27 16:41:44 victorg Exp $

          Index: openacs-4/packages/general-comments/www/doc/dev-guide.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/general-comments/www/doc/dev-guide.adp,v diff -u -N -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/general-comments/www/doc/dev-guide.adp 25 Aug 2015 18:02:21 -0000 1.1.2.2 +++ openacs-4/packages/general-comments/www/doc/dev-guide.adp 1 Dec 2015 11:18:05 -0000 1.1.2.3 @@ -134,7 +134,7 @@
    0.1Creation10/26/2000Phong Nguyen
    -

    Last modified: $Id: dev-guide.html,v 1.1.1.1 2001/04/20 20:51:11 +

    Last modified: $‌Id: dev-guide.html,v 1.1.1.1 2001/04/20 20:51:11 donb Exp $

    Index: openacs-4/packages/news/www/doc/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/news/www/doc/index.adp,v diff -u -N -r1.1.2.6 -r1.1.2.7 --- openacs-4/packages/news/www/doc/index.adp 25 Aug 2015 18:02:22 -0000 1.1.2.6 +++ openacs-4/packages/news/www/doc/index.adp 1 Dec 2015 11:18:05 -0000 1.1.2.7 @@ -32,5 +32,5 @@ Deusch
    -Last modified: $Id: index.html,v 1.3.22.2 2015/08/21 10:28:48 +Last modified: $‌Id: index.html,v 1.3.22.2 2015/08/21 10:28:48 gustafn Exp $