Index: openacs-4/packages/acs-content-repository/www/doc/tutorial.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/tutorial.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-content-repository/www/doc/tutorial.adp 25 Aug 2015 18:02:02 -0000 1.2.2.1 +++ openacs-4/packages/acs-content-repository/www/doc/tutorial.adp 9 Jun 2016 08:44:49 -0000 1.2.2.2 @@ -725,8 +725,8 @@ pages and your ps/sql code, you can... - + 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.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/api/content.adp 1 Dec 2015 11:17:40 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/api/content.adp 9 Jun 2016 08:44:49 -0000 1.2.2.3 @@ -6,7 +6,8 @@

Content Repository : content


- +
Get latest revision (Tcl)set live_revision_id [db_exec_plsql get_live_revision "select -content_item__get_live_revision(:item_id)"]Get latest revision (Tcl)set live_revision_id [db_exec_plsql get_live_revision {select +content_item__get_live_revision(:item_id)}]
Get latest revision (pl/sql)live_revision_id := content_item__get_live_revision(:item_id);
Parameters:
Not yet documented
Declaration:

 function blob_to_string(
@@ -20,7 +21,7 @@
 
 
- +
  • Procedure content.blob_to_file
    Parameters:
    Not yet documented
    Declaration:
    
     procedure blob_to_file(
    @@ -34,7 +35,7 @@
     
     
    - +
  • Procedure content.string_to_blob
    Parameters:
    Not yet documented
    Declaration:
    
     procedure string_to_blob(
    @@ -48,7 +49,7 @@
     
     
    - +
  • Procedure content.string_to_blob_size
    Parameters:
    Not yet documented
    Declaration:
    
     procedure string_to_blob_size(
    @@ -62,5 +63,7 @@
     
     
    -

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

    +
  • + +

    Last Modified: $‌Id: content.html,v 1.1.1.1.30.1 2016/06/09 +08:21:01 gustafn 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.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/api/extlink.adp 1 Dec 2015 11:17:40 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/api/extlink.adp 9 Jun 2016 08:44:49 -0000 1.2.2.3 @@ -11,23 +11,22 @@
  • Overview
  • Related Objects
  • API
  •  

    -

    Overview

    +

    Overview

    External links are references to content pages on other web sites. They provide the basis for maintaining a hierarchy of "bookmarks" that may be managed in a manner analogous to other content items. In particular, external links may be tagged with keywords and related to the site's own content items.

     

    -

    Related Objects

    +

    Related Objects

    -See also: {content_item } +See also: {content_item}

     

    -

    API

    - -

    Determines if the item is a extlink

    - +

    API

    +
    @@ -42,13 +41,11 @@ -
    Author:Karl Goldstein
    See Also:content_extlink.new, content_extlink.resolve
    -

     

    - +

     

    +
  • +Function: content_extlink.new

    Create a new extlink, an item pointing to an off-site -resource

    - +resource

    @@ -97,12 +94,10 @@ -
    Author:Karl Goldstein
    See Also:acs_object.new, content_item.new, content_extlink.resolve
    -

     

    - -

    Deletes the extlink

    - +

     

    +
  • +Procedure: content_extlink.delete +

    Deletes the extlink

    Author:Karl Goldstein
    Parameters:
    @@ -116,7 +111,8 @@
    See Also:content_extlink.new, acs_object.delete
    -

     

    + + -Last Modified: $‌Id: extlink.html,v 1.1.1.1 2001/03/13 22:59:26 ben -Exp $ +Last Modified: $‌Id: extlink.html,v 1.1.1.1.30.1 2016/06/09 08:21:01 +gustafn 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.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/api/folder.adp 1 Dec 2015 11:17:40 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/api/folder.adp 9 Jun 2016 08:44:49 -0000 1.2.2.3 @@ -25,12 +25,11 @@ See also: Content Item

     

    API

    -
    • -Function: -content_folder.get_index_page
    +
      +
    • +Function: content_folder.get_index_page

      Returns the item ID of the index page of the folder, null -otherwise

      - +otherwise

      @@ -43,13 +42,11 @@ ) return cr_items.item_id%TYPE; -
      Author:Michael Pih
      -

       

      -
      • -Function: content_folder.get_label
      +

     

    +
  • +Function: content_folder.get_label

    Returns the label for the folder. This function is the default -name method for the folder object.

    - +name method for the folder object.

    @@ -65,12 +62,10 @@ -
    Author:Karl Goldstein
    See Also:acs_object_type.create_type, the docs for the name_method parameter
    -

     

    - -

    Determine if the folder is empty

    - +

     

    +
  • +Function: content_folder.is_empty +

    Determine if the folder is empty

    @@ -86,12 +81,10 @@ -
    Author:Karl Goldstein
    See Also:content_folder.is_folder
    -

     

    - -

    Determine if the item is a folder

    - +

     

    +
  • +Function: content_folder.is_folder +

    Determine if the item is a folder

    @@ -106,15 +99,12 @@ -
    Author:Karl Goldstein
    See Also:content_folder.new, content_folder.is_sub_folder
    -

     

    - +

     

    +
  • +Function: content_folder.is_registered

    change this to is_type_registered Determines if a content type is registered to the folder Only items of the registered type(s) -may be added to the folder.

    - +may be added to the folder.

    @@ -141,15 +131,12 @@ -
    Author:Karl Goldstein
    See Also:content_folder.register_content_type, content_folder.unregister_content_type,
    -

     

    - +

     

    +
  • +Function: content_folder.is_sub_folder

    Determine if the item target_folder_id is a subfolder of the item folder_id -

    - +

    @@ -170,12 +157,10 @@ -
    Author:Karl Goldstein
    See Also:content_folder.is_folder
    -

     

    - -

    Create a new folder

    - +

     

    +
  • +Function: content_folder.new +

    Create a new folder

    @@ -220,15 +205,13 @@ -
    Author:Karl Goldstein
    See Also:acs_object.new, content_item.new
    -

     

    - +

     

    +
  • +Procedure: content_folder.copy

    Recursively copy the folder and all items in into a new location. An error is thrown if either of the parameters is not a folder. The root folder of the sitemap and the root folder of the -templates cannot be copied

    - +templates cannot be copied

    Author:Karl Goldstein
    Parameters:
    @@ -246,13 +229,11 @@ -
    See Also:content_folder.new, content_folder.copy
    -

     

    -
    • -Procedure: content_folder.delete
    +

     

    +
  • +Procedure: content_folder.delete

    Delete a folder. An error is thrown if the folder is not -empty

    - +empty

    Author:Karl Goldstein
    Parameters:
    @@ -265,15 +246,13 @@ -
    See Also:acs_object.delete, content_item.delete
    -

     

    -
    • -Procedure: content_folder.move
    +

     

    +
  • +Procedure: content_folder.move

    Recursively move the folder and all items in into a new location. An error is thrown if either of the parameters is not a folder. The root folder of the sitemap and the root folder of the -templates cannot be moved.

    - +templates cannot be moved.

    Author:Karl Goldstein
    Parameters:
    @@ -291,15 +270,13 @@ -
    See Also:content_folder.new, content_folder.copy
    -

     

    -
    • +

     

    +
  • Procedure: -content_folder.register_content_type
  • +content_folder.register_content_type

    Register a content type to the folder, if it is not already registered. Only items of the registered type(s) may be added to -the folder.

    - +the folder.

    Author:Karl Goldstein
    Parameters:
    @@ -319,12 +296,10 @@ -
    See Also:content_folder.unregister_content_type, content_folder.is_registered
    -

     

    -
    • -Procedure: content_folder.edit_name
    -

    Change the name, label and/or description of the folder

    - +

     

    +
  • +Procedure: content_folder.edit_name +

    Change the name, label and/or description of the folder

    Author:Karl Goldstein
    Parameters:
    @@ -352,16 +327,14 @@ -
    See Also:content_folder.new
    -

     

    -
    • +

     

    +
  • Procedure: -content_folder.unregister_content_type
  • +content_folder.unregister_content_type

    Unregister a content type from the folder, if it has been registered. Only items of the registered type(s) may be added to the folder. If the folder already contains items of the type to be -unregistered, the items remain in the folder.

    - +unregistered, the items remain in the folder.

    Author:Karl Goldstein
    Parameters:
    @@ -385,7 +358,9 @@ content_folder.is_registered
    + +

     

    -Last Modified: $‌Id: folder.html,v 1.2 2004/06/01 22:54:18 donb Exp -$ +Last Modified: $‌Id: folder.html,v 1.2.18.1 2016/06/09 08:21:01 +gustafn 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.8 -r1.2.2.9 --- openacs-4/packages/acs-content-repository/www/doc/api/item.adp 1 Dec 2015 11:17:40 -0000 1.2.2.8 +++ openacs-4/packages/acs-content-repository/www/doc/api/item.adp 9 Jun 2016 08:44:49 -0000 1.2.2.9 @@ -27,12 +27,11 @@ See also: content_revision, content_folder

     

    API

    -
    • -Function: -content_item.get_content_type
    +
      +
    • +Function: content_item.get_content_type

      Retrieve the content type of this item. Only objects of this -type may be used as revisions for the item.

      - +type may be used as revisions for the item.

      @@ -45,12 +44,10 @@ ) return cr_items.content_type%TYPE; -
      Author:Karl Goldstein
      -

       

      -
      • -Function: content_item.get_context
      -

      Retrieve the parent of the given item

      - +

       

      +
    • +Function: content_item.get_context +

      Retrieve the parent of the given item

      @@ -63,15 +60,13 @@ ) return acs_objects.context_id%TYPE; -
      Author:Karl Goldstein
      -

       

      -
      • -Function: content_item.get_id
      +

     

    +
  • +Function: content_item.get_id

    Takes in a path, such as "/tv/programs/star_trek/episode_203" and returns the id of the item with this path. Note: URLs are abstract (no extensions are allowed in content item names and -extensions are stripped when looking up content items)

    - +extensions are stripped when looking up content items)

    @@ -93,14 +88,12 @@ -
    Author:Karl Goldstein
    See Also:content_item.get_path
    -

     

    -
    • +
  •  

    +
  • Function: -content_item.get_latest_revision
  • +content_item.get_latest_revision

    Retrieves the id of the latest revision for the item (as opposed -to the live revision)

    - +to the live revision)

    @@ -116,17 +109,13 @@ -
    Author:Karl Goldstein
    See Also:content_item.get_live_revision
    -

     

    - -

    Retrieves the id of the live revision for the item

    -

    Note that this function does nothing else besides retrieving the +

     

    +
  • +Function: content_item.get_live_revision +

    Retrieves the id of the live revision for the item

    Note that this function does nothing else besides retrieving the value of the column cr_items.live_revision. It is thus more efficient in many cases to join against cr_items -and retrieve the value directly.

    - +and retrieve the value directly.

    @@ -141,13 +130,10 @@ -
    Returns:The id of the live revision for this item, or null if no live revision existsSee Also:content_item.set_live_revision, content_item.get_latest_revision
    -

     

    - -

    Get the parent folder.

    - +

     

    +
  • +Function: content_item.get_parent_folder +

    Get the parent folder.

    @@ -161,13 +147,11 @@ ) return cr_folders.folder_id%TYPE; -
    Author:Michael Pih
    -

     

    - +

     

    +
  • +Function: content_item.get_path

    Retrieves the full path to an item, in the form of -"/tv/programs/star_trek/episode_203"

    - +"/tv/programs/star_trek/episode_203"

    @@ -188,13 +172,10 @@ -
    Author:Karl Goldstein
    See Also:content_item.get_id, content_item.write_to_file
    -

     

    - -

    Retrieves the publish date for the item

    - +

     

    +
  • +Function: content_item.get_publish_date +

    Retrieves the publish date for the item

    @@ -217,13 +198,11 @@ -
    Author:Karl Goldstein
    See Also:content_item.get_live_revision, content_item.get_latest_revision,
    -

     

    - -

    Return the total count of revisions for this item

    - +content_item.get_revision_count +

    Return the total count of revisions for this item

    @@ -238,25 +217,21 @@ -
    Author:Karl Goldstein
    See Also:content_revision.new
    -

     

    - +

     

    +
  • +Function: content_item.get_root_folder -
    Parameters:
    Not yet documented
    Declaration:
    
     function get_root_folder return cr_folders.folder_id%TYPE;
     
     
    -

     

    - +

     

    +
  • +Function: content_item.get_template

    Retrieves the template which should be used to render this item. If no template is registered to specifically render the item in the given context, the default template for the item's type is -returned.

    - +returned.

    @@ -279,15 +254,13 @@ -
    Author:Karl Goldstein
    See Also:content_type.register_template, content_item.register_template,
    -

     

    - +

     

    +
  • +Function: content_item.get_title

    Retrieves the title for the item, using either the latest or the live revision. If the specified item is in fact a folder, return the folder's label. In addition, this function will automatically -resolve symlinks.

    - +resolve symlinks.

    @@ -309,14 +282,11 @@ -
    Author:Karl Goldstein
    See Also:content_item.get_live_revision, content_item.get_latest_revision, content_symlink.resolve
    -

     

    - +

     

    +
  • +Function: content_item.get_virtual_path

    Retrieves the virtual path to an item, in the form of -"/tv/programs/star_trek/episode_203"

    - +"/tv/programs/star_trek/episode_203"

    @@ -338,15 +308,12 @@ -
    Author:Michael Pih
    See Also:content_item.get_id, content_item.write_to_file, content_item.get_path
    -

     

    - +

     

    +
  • +Function: content_item.is_index_page

    Determine if the item is an index page for the specified folder. The item is an index page for the folder if it exists in the folder -and its item name is "index".

    - +and its item name is "index".

    @@ -367,17 +334,14 @@ -
    Author:Karl Goldstein
    See Also:content_folder.get_index_page
    -

     

    - +

     

    +
  • +Function: content_item.is_publishable

    Determines if an item is publishable. Publishable items must meet the following criteria: 1) for each child type, the item has n children, min_n < n < max_n 2) for each relation type, the item has n relations, min_n < n < max_n 3) any -'publishing_wf' workflows are finished

    - +'publishing_wf' workflows are finished

    @@ -391,13 +355,11 @@ ) return char; -
    Author:Michael Pih
    -

     

    - +

     

    +
  • +Function: content_item.is_subclass

    Determines if one type is a subclass of another. A class is -always a subclass of itself.

    - +always a subclass of itself.

    @@ -418,16 +380,13 @@ -
    Author:Karl Goldstein
    See Also:acs_object_type.create_type
    -

     

    - +

     

    +
  • +Function: content_item.is_valid_child

    Determines if an item would be a valid child of another item by checking if the parent allows children of the would-be child's content type and if the parent already has n_max children of that -content type.

    - +content type.

    @@ -446,14 +405,12 @@ ) return char; -
    Author:Michael Pih
    -

     

    - +

     

    +
  • +Function: content_item.new

    Creates a new content item. If the data, title or text parameters are specified, also creates a revision -for the item.

    - +for the item.

    @@ -539,10 +496,9 @@ -
    Author:Karl Goldstein
    See Also:acs_object.new
    -

     

    - +

     

    +
  • +Function: content_item.relate -
    Parameters:
    Not yet documented
    Declaration:
    
     function relate (
    @@ -554,15 +510,13 @@
     ) return cr_item_rels.rel_id%TYPE;
     
     
    -

     

    - +

     

    +
  • +Procedure: content_item.copy

    Copies the item to a new location, creating an identical item with no revisions or associated workflow. If the target folder does not exist, or if the folder already contains an item with the same -name as the given item, an error will be thrown.

    - +name as the given item, an error will be thrown.

    Author:Karl Goldstein
    Parameters:
    @@ -580,14 +534,12 @@ -
    See Also:content_item.new, content_folder.new, content_item.move
    -

     

    -
    • -Procedure: content_item.delete
    +

     

    +
  • +Procedure: content_item.delete

    Deletes the specified content item, along with any revisions, symlinks, workflows, and template relations for the item. Use with -caution - this operation cannot be undone.

    - +caution - this operation cannot be undone.

    Author:Karl Goldstein
    Parameters:
    @@ -600,14 +552,12 @@ -
    See Also:acs_object.delete
    -

     

    -
    • -Procedure: content_item.move
    +

     

    +
  • +Procedure: content_item.move

    Move the specified item to a different folder. If the target folder does not exist, or if the folder already contains an item -with the same name as the given item, an error will be thrown.

    - +with the same name as the given item, an error will be thrown.

    Author:Karl Goldstein
    Parameters:
    @@ -625,13 +575,11 @@ -
    See Also:content_item.new, content_folder.new, content_item.copy
    -

     

    -
    • +

     

    +
  • Procedure: -content_item.register_template
  • -

    Registers a template which will be used to render this item.

    - +content_item.register_template +

    Registers a template which will be used to render this item.

    Author:Karl Goldstein
    Parameters:
    @@ -654,13 +602,11 @@ -
    See Also:content_type.register_template, content_item.unregister_template, content_item.get_template
    -

     

    -
    • -Procedure: content_item.edit_name
    +

     

    +
  • +Procedure: content_item.edit_name

    Renames the item. If an item with the specified name already -exists under this item's parent, an error is thrown

    - +exists under this item's parent, an error is thrown

    Author:Karl Goldstein
    Parameters:
    @@ -678,13 +624,11 @@ -
    See Also:content_item.new
    -

     

    -
    • +

     

    +
  • Procedure: -content_item.set_live_revision
  • -

    Make the specified revision the live revision for the item

    - +content_item.set_live_revision +

    Make the specified revision the live revision for the item

    Author:Karl Goldstein
    Parameters:
    @@ -699,15 +643,13 @@ -
    See Also:content_item.get_live_revision
    -

     

    -
    • +

     

    +
  • Procedure: -content_item.set_release_period
  • +content_item.set_release_period

    Sets the release period for the item. This information may be used by applications to update the publishing status of items at -periodic intervals.

    - +periodic intervals.

    Author:Karl Goldstein
    Parameters:
    @@ -726,14 +668,12 @@ ); -
    -

     

    -
    • +

     

    +
  • Procedure: -content_item.unregister_template
  • +content_item.unregister_template

    Unregisters a template which will be used to render this -item.

    - +item.

    Author:Karl Goldstein
    Parameters:
    @@ -756,11 +696,10 @@ -
    See Also:content_type.register_template, content_item.register_template, content_item.get_template
    -

     

    -
    • +

     

    +
  • Procedure: -content_item.unset_live_revision
  • +content_item.unset_live_revision -
    Parameters:
    Not yet documented
    Declaration:
    
     procedure unset_live_revision (
    @@ -772,14 +711,11 @@
     );
     
     
    -

     

    - +

     

    +
  • +Procedure: content_item.write_to_file

    Writes the content of the live revision of this item to a file, -creating all the neccessary directories in the process

    - +creating all the neccessary directories in the process

    Author:Karl Goldstein
    Parameters:
    @@ -799,6 +735,9 @@
    See Also:content_item.get_path
    + +

     

    -Last Modified: $‌Id: item.html,v 1.3 2004/06/01 22:54:18 donb Exp $ +Last Modified: $‌Id: item.html,v 1.3.18.1 2016/06/09 08:21:01 +gustafn 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.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/api/keyword.adp 1 Dec 2015 11:17:40 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/api/keyword.adp 9 Jun 2016 08:44:49 -0000 1.2.2.3 @@ -21,11 +21,11 @@ See also: content_item

     

    API

    -
    • +
        +
      • Function: -content_keyword.get_description
      -

      Retrieves the description of the content keyword

      - +content_keyword.get_description +

      Retrieves the description of the content keyword

      @@ -41,13 +41,10 @@ -
      Author:Karl Goldstein
      See Also:content_keyword.get_heading, content_keyword.set_description
      -

       

      -
      • -Function: -content_keyword.get_heading
      -

      Retrieves the heading of the content keyword

      - +

       

      +
    • +Function: content_keyword.get_heading +

      Retrieves the heading of the content keyword

      @@ -63,13 +60,11 @@ -
      Author:Karl Goldstein
      See Also:content_keyword.set_heading, content_keyword.get_description
      -

       

      -
      • -Function: content_keyword.get_path
      +

     

    +
  • +Function: content_keyword.get_path

    Retreives a path to the keyword/subject category, with the most -general category at the root of the path

    - +general category at the root of the path

    @@ -85,13 +80,10 @@ -
    Author:Karl Goldstein
    See Also:content_keyword.new
    -

     

    - -

    Determines if the keyword is assigned to the item

    - +

     

    +
  • +Function: content_keyword.is_assigned +

    Determines if the keyword is assigned to the item

    @@ -127,13 +119,11 @@ -
    Author:Karl Goldstein
    See Also:content_keyword.item_assign
    -

     

    - +

     

    +
  • +Function: content_keyword.is_leaf

    Determines if the keyword has no sub-keywords associated with -it

    - +it

    @@ -149,12 +139,10 @@ -
    Author:Karl Goldstein
    See Also:content_keyword.new
    -

     

    - -

    Creates a new keyword (also known as "subject category").

    - +

     

    +
  • +Function: content_keyword.new +

    Creates a new keyword (also known as "subject category").

    @@ -201,14 +189,12 @@ -
    Author:Karl Goldstein
    See Also:acs_object.new, content_item.new, content_keyword.item_assign, content_keyword.delete
    -

     

    - +

     

    +
  • +Procedure: content_keyword.delete

    Deletes the specified keyword, which must be a leaf. Unassigns the keyword from all content items. Use with caution - this -operation cannot be undone.

    - +operation cannot be undone.

    Author:Karl Goldstein
    Parameters:
    @@ -221,14 +207,11 @@ -
    See Also:acs_object.delete, content_keyword.item_unassign
    -

     

    -
    • -Procedure: -content_keyword.item_assign
    +

     

    +
  • +Procedure: content_keyword.item_assign

    Assigns this keyword to a content item, creating a relationship -between them

    - +between them

    Author:Karl Goldstein
    Parameters:
    @@ -255,14 +238,11 @@ -
    See Also:acs_rel.new, content_keyword.item_unassign
    -

     

    -
    • -Procedure: -content_keyword.item_unassign
    +

     

    +
  • +Procedure: content_keyword.item_unassign

    Unassigns this keyword to a content item, removing a -relationship between them

    - +relationship between them

    Author:Karl Goldstein
    Parameters:
    @@ -280,13 +260,11 @@ -
    See Also:acs_rel.delete, content_keyword.item_assign
    -

     

    -
    • +

     

    +
  • Procedure: -content_keyword.set_description
  • -

    Sets a new description for the keyword

    - +content_keyword.set_description +

    Sets a new description for the keyword

    Author:Karl Goldstein
    Parameters:
    @@ -305,13 +283,10 @@ -
    See Also:content_keyword.set_heading, content_keyword.get_description
    -

     

    -
    • -Procedure: -content_keyword.set_heading
    -

    Sets a new heading for the keyword

    - +

     

    +
  • +Procedure: content_keyword.set_heading +

    Sets a new heading for the keyword

    Author:Karl Goldstein
    Parameters:
    @@ -331,7 +306,9 @@ content_keyword.set_description
    + +

     

    -Last Modified: $‌Id: keyword.html,v 1.1.1.1 2001/03/13 22:59:26 ben -Exp $ +Last Modified: $‌Id: keyword.html,v 1.1.1.1.30.1 2016/06/09 08:21:01 +gustafn 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.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/api/permission.adp 1 Dec 2015 11:17:40 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/api/permission.adp 9 Jun 2016 08:44:49 -0000 1.2.2.3 @@ -21,14 +21,14 @@ See also: {content_item }

     

    API

    -
    • +
        +
      • Function: -content_permission.has_grant_authority
      +content_permission.has_grant_authority

      Determine if the user may grant a certain permission to another user. The permission may only be granted if the user has the permission himself and posesses the cm_perm access, or if the user -posesses the cm_perm_admin access.

      - +posesses the cm_perm_admin access.

      @@ -54,17 +54,15 @@ content_permission.is_has_revoke_authority, acs_permission.grant_permission -
      Author:Karl Goldstein
      -

       

      -
      • +

     

    +
  • Function: -content_permission.has_revoke_authority
  • +content_permission.has_revoke_authority

    Determine if the user may take a certain permission away from another user. The permission may only be revoked if the user has the permission himself and posesses the cm_perm access, while the other user does not, or if the user posesses the cm_perm_admin -access.

    - +access.

    @@ -93,16 +91,14 @@ content_permission.revoke_permission, acs_permission.revoke_permission -
    Author:Karl Goldstein
    -

     

    -
    • +

     

    +
  • Function: -content_permission.permission_p
  • +content_permission.permission_p

    Determine if the user has the specified permission on the specified object. Does NOT check objects recursively: that is, if the user has the permission on the parent object, he does not -automatically gain the permission on all the child objects.

    - +automatically gain the permission on all the child objects.

    @@ -128,17 +124,14 @@ content_permission.revoke_permission, acs_permission.permission_p -
    Author:Karl Goldstein
    -

     

    - +content_permission.grant_permission

    This is a helper function for content_permission.grant_permission and should not be called -individually.

    -

    Grants a permission and revokes all descendants of the -permission, since they are no longer relevant.

    - +individually.

    Grants a permission and revokes all descendants of the +permission, since they are no longer relevant.

    Author:Karl Goldstein
    Parameters:
    @@ -159,17 +152,14 @@ -
    See Also:content_permission.grant_permission
    -

     

    -
    • +

     

    +
  • Procedure: -content_permission.grant_permission_h
  • +content_permission.grant_permission_h

    This is a helper function for content_permission.grant_permission and should not be called -individually.

    -

    Grants a permission and revokes all descendants of the -permission, since they are no longer relevant.

    - +individually.

    Grants a permission and revokes all descendants of the +permission, since they are no longer relevant.

    Author:Karl Goldstein
    Parameters:
    @@ -190,15 +180,13 @@ -
    See Also:content_permission.grant_permission
    -

     

    -
    • +

     

    +
  • Procedure: -content_permission.inherit_permissions
  • +content_permission.inherit_permissions

    Make the child object inherit all of the permissions of the parent object. Typically, this function is called whenever a new -object is created under a given parent

    - +object is created under a given parent

    Author:Karl Goldstein
    Parameters:
    @@ -217,17 +205,14 @@ -
    See Also:content_permission.grant, acs_permission.grant_permission
    -

     

    -
    • +

     

    +
  • Procedure: -content_permission.revoke_permission
  • +content_permission.revoke_permission

    This is a helper function for content_permission.revoke_permission and should not be called -individually.

    -

    Revokes a permission but grants all child permissions to the -holder, to ensure that the permission is not permanently lost

    - +individually.

    Revokes a permission but grants all child permissions to the +holder, to ensure that the permission is not permanently lost

    Author:Karl Goldstein
    Parameters:
    @@ -248,17 +233,14 @@ -
    See Also:content_permission.revoke_permission
    -

     

    -
    • +

     

    +
  • Procedure: -content_permission.revoke_permission_h
  • +content_permission.revoke_permission_h

    This is a helper function for content_permission.revoke_permission and should not be called -individually.

    -

    Revokes a permission but grants all child permissions to the -holder, to ensure that the permission is not permanently lost

    - +individually.

    Revokes a permission but grants all child permissions to the +holder, to ensure that the permission is not permanently lost

    Author:Karl Goldstein
    Parameters:
    @@ -280,7 +262,9 @@
    See Also:content_permission.revoke_permission
    + +

     

    -Last Modified: $‌Id: permission.html,v 1.1.1.1 2001/03/13 22:59:26 -ben Exp $ +Last Modified: $‌Id: permission.html,v 1.1.1.1.30.1 2016/06/09 +08:21:01 gustafn 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.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/api/revision.adp 1 Dec 2015 11:17:40 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/api/revision.adp 9 Jun 2016 08:44:49 -0000 1.2.2.3 @@ -24,10 +24,10 @@ See also: {content_item }

     

    API

    -
    • -Function: content_revision.copy
    -

    Creates a new copy of an attribute, including all attributes

    - +
      +
    • +Function: content_revision.copy +

      Creates a new copy of an attribute, including all attributes

    Author:Karl Goldstein
    Parameters:
    @@ -41,27 +41,22 @@ -
    See Also:content_revision.new
    -

     

    -
    • -Function: -content_revision.export_xml
    +

     

    +
  • +Function: content_revision.export_xml -
    Parameters:
    Not yet documented
    Declaration:
    
     function export_xml (
       revision_id IN cr_revisions.revision_id%TYPE
     ) return cr_xml_docs.doc_id%TYPE;
     
     
    -

     

    -
    • -Function: -content_revision.get_number
    +
  •  

    +
  • +Function: content_revision.get_number

    Return the revision number of the specified revision, according to the chronological order in which revisions have been added for -this item.

    - +this item.

    @@ -76,11 +71,9 @@ -
    Author:Karl Goldstein
    See Also:content_revision.new
    -

     

    - +

     

    +
  • +Function: content_revision.import_xml -
    Parameters:
    Not yet documented
    Declaration:
    
     function import_xml (
    @@ -90,12 +83,10 @@
     ) return cr_revisions.revision_id%TYPE;
     
     
    -

     

    - -

    Create a new revision for an item.

    - +

     

    +
  • +Function: content_revision.new +

    Create a new revision for an item.

    @@ -151,10 +142,9 @@ -
    Author:Karl Goldstein
    See Also:acs_object.new, content_item.new
    -

     

    - +

     

    +
  • +Function: content_revision.read_xml -
    Parameters:
    Not yet documented
    Declaration:
    
     function read_xml (
    @@ -169,11 +159,9 @@
       ) return int';
     
     
    -

     

    - +

     

    +
  • +Function: content_revision.write_xml -
    Parameters:
    Not yet documented
    Declaration:
    
     function write_xml (
    @@ -187,12 +175,10 @@
       ) return int';
     
     
    -

     

    - -

    Deletes the revision.

    - +

     

    +
  • +Procedure: content_revision.delete +

    Deletes the revision.

    Author:Karl Goldstein
    Parameters:
    @@ -205,15 +191,13 @@ -
    See Also:content_revision.new, acs_object.delete
    -

     

    -
    • +

     

    +
  • Procedure: -content_revision.index_attributes
  • +content_revision.index_attributes

    Generates an XML document for insertion into cr_revision_attributes, which is indexed by Intermedia for -searching attributes.

    - +searching attributes.

    Author:Karl Goldstein
    Parameters:
    @@ -226,10 +210,9 @@ -
    See Also:content_revision.new
    -

     

    -
    • -Procedure: content_revision.replace
    +

     

    +
  • +Procedure: content_revision.replace -
    Parameters:
    Not yet documented
    Declaration:
    
     procedure replace(
    @@ -242,12 +225,10 @@
        )';
     
     
    -

     

    - -

    Converts a revision uploaded as a binary document to html

    - +

     

    +
  • +Procedure: content_revision.to_html +

    Converts a revision uploaded as a binary document to html

    Author:Karl Goldstein
    Parameters:
    @@ -259,7 +240,9 @@
    + +

     

    -Last Modified: $‌Id: revision.html,v 1.1.1.1 2001/03/13 22:59:26 ben -Exp $ +Last Modified: $‌Id: revision.html,v 1.1.1.1.30.1 2016/06/09 +08:21:01 gustafn 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.3 -r1.2.2.4 --- openacs-4/packages/acs-content-repository/www/doc/api/symlink.adp 1 Dec 2015 11:17:41 -0000 1.2.2.3 +++ openacs-4/packages/acs-content-repository/www/doc/api/symlink.adp 9 Jun 2016 08:44:49 -0000 1.2.2.4 @@ -20,11 +20,10 @@ See also: content_item, content_folder

     

    API

    -
    • -Function: -content_symlink.is_symlink
    -

    Determines if the item is a symlink

    - +
      +
    • +Function: content_symlink.is_symlink +

      Determines if the item is a symlink

    @@ -39,12 +38,10 @@ -
    Author:Karl Goldstein
    See Also:content_symlink.new, content_symlink.resolve
    -

     

    -
    • -Function: content_symlink.new
    -

    Create a new symlink, linking two items

    - +

     

    +
  • +Function: content_symlink.new +

    Create a new symlink, linking two items

    @@ -91,12 +88,10 @@ -
    Author:Karl Goldstein
    See Also:acs_object.new, content_item.new, content_symlink.resolve
    -

     

    -
    • -Function: content_symlink.resolve
    -

    Resolves the symlink and returns the target item id.

    - +

     

    +
  • +Function: content_symlink.resolve +

    Resolves the symlink and returns the target item id.

    @@ -112,13 +107,11 @@ -
    Author:Karl Goldstein
    See Also:content_symlink.new, content_symlink.is_symlink
    -

     

    -
    • +
  •  

    +
  • Function: -content_symlink.resolve_content_type
  • -

    Gets the content type of the target item.

    - +content_symlink.resolve_content_type +

    Gets the content type of the target item.

    @@ -134,13 +127,11 @@ -
    Author:Michael Pih
    See Also:content_symlink.resolve
    -

     

    - +

     

    +
  • +Procedure: content_symlink.copy

    Copies the symlink itself to another folder, without resolving -the symlink

    - +the symlink

    Author:Karl Goldstein
    Parameters:
    @@ -158,12 +149,10 @@ -
    See Also:content_symlink.new, content_item.copy
    -

     

    -
    • -Procedure: content_symlink.delete
    -

    Deletes the symlink

    - +

     

    +
  • +Procedure: content_symlink.delete +

    Deletes the symlink

    Author:Karl Goldstein
    Parameters:
    @@ -177,7 +166,9 @@
    See Also:content_symlink.new, acs_object.delete
    + +

     

    -Last Modified: $‌Id: symlink.html,v 1.2 2014/10/27 16:39:14 victorg -Exp $ +Last Modified: $‌Id: symlink.html,v 1.2.2.1 2016/06/09 08:21:01 +gustafn 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.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/api/template.adp 1 Dec 2015 11:17:41 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/api/template.adp 9 Jun 2016 08:44:49 -0000 1.2.2.3 @@ -23,11 +23,11 @@ See also: content_item, content_folder

     

    API

    -
    • -Function: content_template.get_path
    +
      +
    • +Function: content_template.get_path

      Retrieves the full path to the template, as described in -content_item.get_path

      - +content_item.get_path

      @@ -49,23 +49,19 @@ -
      Author:Karl Goldstein
      See Also:content_item.get_path
      -

       

      -
      • +

     

    +
  • Function: -content_template.get_root_folder
  • +content_template.get_root_folder -
    Parameters:
    Not yet documented
    Declaration:
    
     function get_root_folder return cr_folders.folder_id%TYPE;
     
     
    -

     

    -
    • -Function: -content_template.is_template
    -

    Determine if an item is a template.

    - +

     

    +
  • +Function: content_template.is_template +

    Determine if an item is a template.

    @@ -80,13 +76,11 @@ -
    Author:Karl Goldstein
    See Also:content_template.new
    -

     

    -
    • -Function: content_template.new
    +
  •  

    +
  • +Function: content_template.new

    Creates a new content template which can be used to render -content items.

    - +content items.

    @@ -127,14 +121,12 @@ -
    Author:Karl Goldstein
    See Also:acs_object.new, content_item.new, content_item.register_template, content_type.register_template
    -

     

    - +

     

    +
  • +Procedure: content_template.delete

    Deletes the specified template, and unregisters the template from all content types and content items. Use with caution - this -operation cannot be undone.

    - +operation cannot be undone.

    Author:Karl Goldstein
    Parameters:
    @@ -148,8 +140,9 @@ -
    See Also:acs_object.delete, content_item.unregister_template, content_type.unregister_template,
    -

     

    +

     

    +
  • + -Last Modified: $‌Id: template.html,v 1.1.1.1 2001/03/13 22:59:26 ben -Exp $ +Last Modified: $‌Id: template.html,v 1.1.1.1.30.1 2016/06/09 +08:21:01 gustafn 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.2 -r1.2.2.3 --- openacs-4/packages/acs-content-repository/www/doc/api/type.adp 1 Dec 2015 11:17:41 -0000 1.2.2.2 +++ openacs-4/packages/acs-content-repository/www/doc/api/type.adp 9 Jun 2016 08:44:49 -0000 1.2.2.3 @@ -21,13 +21,12 @@ See also: {Content Item }

     

    API

    - + +content_type.register_mime_type -
    Parameters:
    Not yet documented
    Declaration:
    
     procedure register_mime_type (
    @@ -249,16 +233,14 @@
     );
     
     
    -

     

    - +content_type.register_relation_type

    Register a relationship between a content type and another object type. This may then be used by the content_item.is_valid_relation function to validate any -relationship between an item and another object.

    - +relationship between an item and another object.

    Author:Karl Goldstein
    Parameters:
    @@ -289,14 +271,12 @@ -
    See Also:content_type.unregister_relation_type
    -

     

    -
    • +

     

    +
  • Procedure: -content_type.register_template
  • +content_type.register_template

    Register a template for the content type. This template may be -used to render all items of that type.

    - +used to render all items of that type.

    Author:Karl Goldstein
    Parameters:
    @@ -325,15 +305,13 @@ content_type.unregister_template, content_type.set_default_template, content_type.get_template -
    -

     

    -
    • +

     

    +
  • Procedure: -content_type.set_default_template
  • +content_type.set_default_template

    Make the registered template a default template. The default template will be used to render all items of the type for which no -individual template is registered.

    - +individual template is registered.

    Author:Karl Goldstein
    Parameters:
    @@ -358,16 +336,14 @@ content_type.unregister_template, content_type.register_template, content_type.get_template -
    -

     

    -
    • +

     

    +
  • Procedure: -content_type.unregister_child_type
  • +content_type.unregister_child_type

    Register a parent-child relationship between a content type and another object type. This may then be used by the content_item.is_valid_relation function to validate the -relationship between an item and a potential child.

    - +relationship between an item and a potential child.

    Author:Karl Goldstein
    Parameters:
    @@ -389,11 +365,10 @@ -
    See Also:content_type.register_relation_type, content_type.register_child_type
    -

     

    -
    • +

     

    +
  • Procedure: -content_type.unregister_mime_type
  • +content_type.unregister_mime_type -
    Parameters:
    Not yet documented
    Declaration:
    
     procedure unregister_mime_type (
    @@ -402,14 +377,12 @@
     );
     
     
    -

     

    - +content_type.unregister_relation_type

    Unregister a relationship between a content type and another -object type.

    - +object type.

    Author:Karl Goldstein
    Parameters:
    @@ -432,15 +405,13 @@ -
    See Also:content_type.register_relation_type
    -

     

    -
    • +

     

    +
  • Procedure: -content_type.unregister_template
  • +content_type.unregister_template

    Unregister a template. If the unregistered template was the default template, the content_type can no longer be rendered in the -use_context,

    - +use_context,

    Author:Karl Goldstein
    Parameters:
    @@ -464,8 +435,9 @@ content_type.set_default_template, content_type.register_template, content_type.get_template -
    -

     

    +

     

    + + -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.30.1 2016/06/09 08:21:01 +gustafn 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.4 -r1.2.2.5 --- openacs-4/packages/acs-content-repository/www/doc/guide/publish.adp 2 Jan 2016 21:24:47 -0000 1.2.2.4 +++ openacs-4/packages/acs-content-repository/www/doc/guide/publish.adp 9 Jun 2016 08:44:49 -0000 1.2.2.5 @@ -116,5 +116,5 @@ karlg\@arsdigita.com
    -Last Modified: $‌Id: publish.html,v 1.4 2013/04/12 16:12:56 gustafn -Exp $ +Last Modified: $‌Id: publish.html,v 1.4.4.1 2016/01/02 21:24:47 +gustafn Exp $ Index: openacs-4/packages/acs-core-docs/www/acs-admin.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/acs-admin.adp,v diff -u -N -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/acs-core-docs/www/acs-admin.adp 23 Sep 2015 18:37:43 -0000 1.1.2.2 +++ openacs-4/packages/acs-core-docs/www/acs-admin.adp 9 Jun 2016 08:44:49 -0000 1.1.2.3 @@ -25,7 +25,7 @@ PostgreSQL
    Install AOLserver 4
    Install OpenACS 5.7.0
    OpenACS -Installation Guide for Windows2000
    OpenACS +Installation Guide for Windows
    OpenACS Installation Guide for Mac OS X
    4. Configuring a new OpenACS Site
    Index: openacs-4/packages/acs-core-docs/www/acs-admin.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/acs-admin.html,v diff -u -N -r1.45 -r1.45.2.1 --- openacs-4/packages/acs-core-docs/www/acs-admin.html 27 Oct 2014 16:39:15 -0000 1.45 +++ openacs-4/packages/acs-core-docs/www/acs-admin.html 9 Jun 2016 08:44:49 -0000 1.45.2.1 @@ -1,2 +1,2 @@ -Part II. Administrator's Guide

    Part II. Administrator's Guide

    Table of Contents

    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
    View comments on this page at openacs.org
    +Part II. Administrator's Guide

    Part II. Administrator's Guide

    Table of Contents

    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 Windows
    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
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/acs-package-dev.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/acs-package-dev.html,v diff -u -N -r1.33.2.1 -r1.33.2.2 --- openacs-4/packages/acs-core-docs/www/acs-package-dev.html 23 Sep 2015 11:54:19 -0000 1.33.2.1 +++ openacs-4/packages/acs-core-docs/www/acs-package-dev.html 9 Jun 2016 08:44:49 -0000 1.33.2.2 @@ -1,5 +1,5 @@ -Part III. For OpenACS Package Developers

    Part III. For OpenACS Package Developers

    Tutorials and reference material for creating new OpenACS packages. +Part III. For OpenACS Package Developers

    Part III. For OpenACS Package Developers

    Tutorials and reference material for creating new OpenACS packages.

    Table of Contents

    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
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/acs-plat-dev.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/acs-plat-dev.html,v diff -u -N -r1.31 -r1.31.2.1 --- openacs-4/packages/acs-core-docs/www/acs-plat-dev.html 27 Oct 2014 16:39:16 -0000 1.31 +++ openacs-4/packages/acs-core-docs/www/acs-plat-dev.html 9 Jun 2016 08:44:49 -0000 1.31.2.1 @@ -1,2 +1,2 @@ -Part IV. For OpenACS Platform Developers
    View comments on this page at openacs.org
    +Part IV. For OpenACS Platform Developers
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/analog-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/analog-install.html,v diff -u -N -r1.23 -r1.23.2.1 --- openacs-4/packages/acs-core-docs/www/analog-install.html 27 Oct 2014 16:39:16 -0000 1.23 +++ openacs-4/packages/acs-core-docs/www/analog-install.html 9 Jun 2016 08:44:49 -0000 1.23.2.1 @@ -1,5 +1,5 @@ -Install Analog web file analyzer

    Install Analog web file analyzer

    Download the Analog source tarball in +Install Analog web file analyzer

    Install Analog web file analyzer

    Download the Analog source tarball in /tmp. Unpack, compile, and install analog.

    [root aolserver]# cd /usr/local/src
     [root src]# tar xzf /tmp/analog-5.32.tar.gz
     [root src]# cd analog-5.32
    Index: openacs-4/packages/acs-core-docs/www/analog-setup.html
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/analog-setup.html,v
    diff -u -N -r1.15 -r1.15.2.1
    --- openacs-4/packages/acs-core-docs/www/analog-setup.html	27 Oct 2014 16:39:16 -0000	1.15
    +++ openacs-4/packages/acs-core-docs/www/analog-setup.html	9 Jun 2016 08:44:49 -0000	1.15.2.1
    @@ -1,5 +1,5 @@
     
    -Set up Log Analysis Reports

    Set up Log Analysis Reports

    Analog is a program with processes webserver access logs, +Set up Log Analysis Reports

    Set up Log Analysis Reports

    Analog is a program with processes webserver access logs, performs DNS lookup, and outputs HTML reports. Analog should already be installed. A modified configuration file is included in Index: openacs-4/packages/acs-core-docs/www/aolserver.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver.html,v diff -u -N -r1.52.2.5 -r1.52.2.6 --- openacs-4/packages/acs-core-docs/www/aolserver.html 1 Dec 2015 14:38:38 -0000 1.52.2.5 +++ openacs-4/packages/acs-core-docs/www/aolserver.html 9 Jun 2016 08:44:49 -0000 1.52.2.6 @@ -1,5 +1,5 @@ -Install AOLserver 3.3oacs1

    Install AOLserver 3.3oacs1

    by Vinod Kurup

    +Install AOLserver 3.3oacs1

    Install AOLserver 3.3oacs1

    by Vinod Kurup

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

    We recommend the use of AOLserver 4.0.1 or later. These instructions are retained as a resource.

    Index: openacs-4/packages/acs-core-docs/www/aolserver4.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/aolserver4.html,v diff -u -N -r1.27.2.5 -r1.27.2.6 --- openacs-4/packages/acs-core-docs/www/aolserver4.html 1 Dec 2015 14:38:38 -0000 1.27.2.5 +++ openacs-4/packages/acs-core-docs/www/aolserver4.html 9 Jun 2016 08:44:49 -0000 1.27.2.6 @@ -1,5 +1,5 @@ -Install AOLserver 4

    Install AOLserver 4

    by Malte Sussdorff

    +Install AOLserver 4

    Install AOLserver 4

    by Malte Sussdorff

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
    1. Check suitability of previously installed TCL. Start tcl (type tclsh or find it using which tclsh). Index: openacs-4/packages/acs-core-docs/www/apm-design.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/apm-design.adp,v diff -u -N -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/apm-design.adp 23 Sep 2015 11:54:20 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/apm-design.adp 9 Jun 2016 08:44:49 -0000 1.1.2.2 @@ -671,7 +671,7 @@

    -Revision History

    +Revision History
    Index: openacs-4/packages/acs-core-docs/www/apm-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/apm-design.html,v diff -u -N -r1.40 -r1.40.2.1 --- openacs-4/packages/acs-core-docs/www/apm-design.html 27 Oct 2014 16:39:16 -0000 1.40 +++ openacs-4/packages/acs-core-docs/www/apm-design.html 9 Jun 2016 08:44:49 -0000 1.40.2.1 @@ -1,5 +1,5 @@ -Package Manager Design
    Prev Chapter 15. Kernel Documentation Next

    Package Manager Design

    By Bryan Quinn

    +Package Manager Design

    Package Manager Design

    By Bryan Quinn

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

    Essentials

    View comments on this page at openacs.org
    +Salz, Michael Yoon, and Lars Pind.

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation9/25/2000Bryan Quinn
    0.8Ready for QA9/29/2000Bryan Quinn
    0.9Edited for ACS 4 Beta release10/02/2000Kai Wu
    1.0Edited for OpenACS 4.5 Beta release03/02/2002Roberto Mello
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/apm-requirements.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/apm-requirements.adp,v diff -u -N -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/apm-requirements.adp 23 Sep 2015 11:54:21 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/apm-requirements.adp 9 Jun 2016 08:44:49 -0000 1.1.2.2 @@ -668,7 +668,7 @@ features should be quite straightforward.

    -Revision History

    +Revision History
    Index: openacs-4/packages/acs-core-docs/www/apm-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/apm-requirements.html,v diff -u -N -r1.36 -r1.36.2.1 --- openacs-4/packages/acs-core-docs/www/apm-requirements.html 27 Oct 2014 16:39:16 -0000 1.36 +++ openacs-4/packages/acs-core-docs/www/apm-requirements.html 9 Jun 2016 08:44:49 -0000 1.36.2.1 @@ -1,5 +1,5 @@ -Package Manager Requirements
    Prev Chapter 15. Kernel Documentation Next

    Package Manager Requirements

    By Bryan Quinn and Todd Nightingale

    +Package Manager Requirements

    Package Manager Requirements

    By Bryan Quinn and Todd Nightingale

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

    Introduction

    The following is a requirements document for the OpenACS Package Manager @@ -292,4 +292,4 @@ are set using the acs_attribute_values table. The automatic web interface for setting package parameters should be one and the same with the interface for setting acs object attribute values. Consequently, the implementation of -these features should be quite straightforward.

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation8/10/2000Bryan Quinn, Todd Nightingale
    Reviewed8/11/2000John Prevost, Mark Thomas, and Pete Su
    0.2Revised and updated8/12/2000Bryan Quinn
    0.3Reviewed, revised, and updated - conforms to requirements template.8/18/2000Kai Wu
    0.4Minor edits before ACS 4 Beta.9/30/2000Kai Wu
    View comments on this page at openacs.org
    +these features should be quite straightforward.

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation8/10/2000Bryan Quinn, Todd Nightingale
    Reviewed8/11/2000John Prevost, Mark Thomas, and Pete Su
    0.2Revised and updated8/12/2000Bryan Quinn
    0.3Reviewed, revised, and updated - conforms to requirements template.8/18/2000Kai Wu
    0.4Minor edits before ACS 4 Beta.9/30/2000Kai Wu
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/automated-backup.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/automated-backup.html,v diff -u -N -r1.13 -r1.13.2.1 --- openacs-4/packages/acs-core-docs/www/automated-backup.html 27 Oct 2014 16:39:16 -0000 1.13 +++ openacs-4/packages/acs-core-docs/www/automated-backup.html 9 Jun 2016 08:44:49 -0000 1.13.2.1 @@ -1,4 +1,4 @@ -Automated Backup

    Automated Backup

    The recommended backup strategy for a production sit is to use an automated script which first backs up the database to a file in /var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup and then backs up all of /var/lib/aolserver/$OPENACS_SERVICE_NAME to a single zip file, and then copies that zip file to another computer.

    1. Make sure that the manual backup process described above works.

    2. Customize the default backup script. Edit /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/backup.sh with your specific parameters.

    3. +Automated Backup

      Automated Backup

      The recommended backup strategy for a production sit is to use an automated script which first backs up the database to a file in /var/lib/aolserver/$OPENACS_SERVICE_NAME/database-backup and then backs up all of /var/lib/aolserver/$OPENACS_SERVICE_NAME to a single zip file, and then copies that zip file to another computer.

      1. Make sure that the manual backup process described above works.

      2. Customize the default backup script. Edit /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/backup.sh with your specific parameters.

      3. Make sure the file is executable:

        chmod +x backup.sh
      4. Set this file to run automatically by adding a line to root's crontab. (Typically, with export EDITOR=emacs; crontab -e.) This example runs the backup script at 1:30 am every day.

        30 1 * * *        sh /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/backup.sh
      View comments on this page at openacs.org
      Index: openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html,v diff -u -N -r1.28.2.5 -r1.28.2.6 --- openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html 1 Dec 2015 14:38:38 -0000 1.28.2.5 +++ openacs-4/packages/acs-core-docs/www/automated-testing-best-practices.html 9 Jun 2016 08:44:49 -0000 1.28.2.6 @@ -1,5 +1,5 @@ -Automated Testing

      Automated Testing

      By Jeff Davis

      +Automated Testing

      Automated Testing

      By Jeff Davis

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

      Best practices in writing OpenACS automated tests

      • Special characters in Tcl.  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.6 -r1.1.2.7 --- openacs-4/packages/acs-core-docs/www/backup-recovery.adp 1 Dec 2015 14:38:38 -0000 1.1.2.6 +++ openacs-4/packages/acs-core-docs/www/backup-recovery.adp 9 Jun 2016 08:44:49 -0000 1.1.2.7 @@ -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.5 -r1.43.2.6 --- openacs-4/packages/acs-core-docs/www/backup-recovery.html 1 Dec 2015 14:38:39 -0000 1.43.2.5 +++ openacs-4/packages/acs-core-docs/www/backup-recovery.html 9 Jun 2016 08:44:49 -0000 1.43.2.6 @@ -1,12 +1,12 @@ -Chapter 8. Backup and Recovery

        Chapter 8. Backup and Recovery

        ($Id$)

        By Don Baccus with additions +Chapter 8. Backup and Recovery

        Chapter 8. Backup and Recovery

        ($Id$)

        By Don Baccus with additions by Joel Aufrecht

        We will cover some basic backup and recovery strategies. These are intended to be robust but simple enough to set up. For a large scale production site you would probably need to create your own backup strategies (in particular full dumps from 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/backups-with-cvs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/backups-with-cvs.html,v diff -u -N -r1.13 -r1.13.2.1 --- openacs-4/packages/acs-core-docs/www/backups-with-cvs.html 27 Oct 2014 16:39:16 -0000 1.13 +++ openacs-4/packages/acs-core-docs/www/backups-with-cvs.html 9 Jun 2016 08:44:49 -0000 1.13.2.1 @@ -1,5 +1,5 @@ -Using CVS for backup-recovery

        Using CVS for backup-recovery

        CVS-only backup is often appropriate for development sites. If you are already using CVS and your data is not important, you probably don't +Using CVS for backup-recovery

        Using CVS for backup-recovery

        CVS-only backup is often appropriate for development sites. If you are already using CVS and your data is not important, you probably don't need to do anything to back up your files. Just make sure that your current work is checked into the system. You can then roll back based on date - note the Index: openacs-4/packages/acs-core-docs/www/bootstrap-acs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/bootstrap-acs.html,v diff -u -N -r1.49.2.5 -r1.49.2.6 --- openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 1 Dec 2015 14:38:39 -0000 1.49.2.5 +++ openacs-4/packages/acs-core-docs/www/bootstrap-acs.html 9 Jun 2016 08:44:49 -0000 1.49.2.6 @@ -1,5 +1,5 @@ -Bootstrapping OpenACS

        Bootstrapping OpenACS

        By Jon Salz

        +Bootstrapping OpenACS

        Bootstrapping OpenACS

        By Jon Salz

        OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
        • Tcl code: /tcl/0-acs-init.tcl and /packages/acs-kernel/bootstrap.tcl

        This document describes the startup (bootstrapping) process for an AOLserver Index: openacs-4/packages/acs-core-docs/www/complete-install.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/complete-install.adp,v diff -u -N -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/complete-install.adp 23 Sep 2015 11:54:23 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/complete-install.adp 9 Jun 2016 08:44:49 -0000 1.1.2.2 @@ -20,7 +20,7 @@ PostgreSQL

        Install AOLserver 4
        Install OpenACS 5.7.0
        OpenACS -Installation Guide for Windows2000
        OpenACS +Installation Guide for Windows
        OpenACS Installation Guide for Mac OS X
    Index: openacs-4/packages/acs-core-docs/www/complete-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/complete-install.html,v diff -u -N -r1.25 -r1.25.2.1 --- openacs-4/packages/acs-core-docs/www/complete-install.html 27 Oct 2014 16:39:17 -0000 1.25 +++ openacs-4/packages/acs-core-docs/www/complete-install.html 9 Jun 2016 08:44:49 -0000 1.25.2.1 @@ -1,2 +1,2 @@ -Chapter 3. Complete Installation
    View comments on this page at openacs.org
    +Chapter 3. Complete Installation
    View comments on this page at openacs.org
    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.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.adp 1 Dec 2015 14:38:39 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.adp 9 Jun 2016 08:44:49 -0000 1.1.2.6 @@ -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.5 -r1.10.2.6 --- openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html 1 Dec 2015 14:38:39 -0000 1.10.2.5 +++ openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html 9 Jun 2016 08:44:49 -0000 1.10.2.6 @@ -1,8 +1,8 @@ -Configuring an OpenACS package

    Configuring an OpenACS package

    by Jade Rubick

    +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.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.adp 1 Dec 2015 14:38:39 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.adp 9 Jun 2016 08:44:49 -0000 1.1.2.6 @@ -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.5 -r1.10.2.6 --- openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html 1 Dec 2015 14:38:39 -0000 1.10.2.5 +++ openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html 9 Jun 2016 08:44:49 -0000 1.10.2.6 @@ -1,8 +1,8 @@ -Setting Permissions on an OpenACS package

    Setting Permissions on an OpenACS package

    by Jade Rubick

    +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.6 -r1.1.2.7 --- openacs-4/packages/acs-core-docs/www/configuring-install-packages.adp 1 Dec 2015 14:38:39 -0000 1.1.2.6 +++ openacs-4/packages/acs-core-docs/www/configuring-install-packages.adp 9 Jun 2016 08:44:49 -0000 1.1.2.7 @@ -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.5 -r1.10.2.6 --- openacs-4/packages/acs-core-docs/www/configuring-install-packages.html 1 Dec 2015 14:38:39 -0000 1.10.2.5 +++ openacs-4/packages/acs-core-docs/www/configuring-install-packages.html 9 Jun 2016 08:44:49 -0000 1.10.2.6 @@ -1,8 +1,8 @@ -Installing OpenACS packages

    Installing OpenACS packages

    by Jade Rubick

    +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.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.adp 1 Dec 2015 14:38:39 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.adp 9 Jun 2016 08:44:49 -0000 1.1.2.6 @@ -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.5 -r1.10.2.6 --- openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html 1 Dec 2015 14:38:39 -0000 1.10.2.5 +++ openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html 9 Jun 2016 08:44:49 -0000 1.10.2.6 @@ -1,8 +1,8 @@ -Mounting OpenACS packages

    Mounting OpenACS packages

    by Jade Rubick

    +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/configuring-new-site.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-new-site.html,v diff -u -N -r1.15 -r1.15.2.1 --- openacs-4/packages/acs-core-docs/www/configuring-new-site.html 27 Oct 2014 16:39:17 -0000 1.15 +++ openacs-4/packages/acs-core-docs/www/configuring-new-site.html 9 Jun 2016 08:44:49 -0000 1.15.2.1 @@ -1,5 +1,5 @@ -Chapter 4. Configuring a new OpenACS Site

    Chapter 4. Configuring a new OpenACS Site

    by Joel Aufrecht

    +Chapter 4. Configuring a new OpenACS Site

    Chapter 4. Configuring a new OpenACS Site

    by Joel Aufrecht

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

    In this chapter, Configuring refers to making changes to a new OpenACS site through the web interface. In crude terms, these changes happen in the database, and are upgrade-safe. Customizing refers to changes that touch the file system, and require some planning if easy upgradability is to be maintained.

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/credits.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/credits.html,v diff -u -N -r1.46.2.5 -r1.46.2.6 --- openacs-4/packages/acs-core-docs/www/credits.html 1 Dec 2015 14:38:39 -0000 1.46.2.5 +++ openacs-4/packages/acs-core-docs/www/credits.html 9 Jun 2016 08:44:49 -0000 1.46.2.6 @@ -1,5 +1,5 @@ -Appendix C. Credits

    Appendix C. Credits

    By Vinod Kurup

    +Appendix C. Credits

    Appendix C. Credits

    By Vinod Kurup

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

    Vinod Kurup put 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.7 -r1.1.2.8 --- openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp 1 Dec 2015 14:38:40 -0000 1.1.2.7 +++ openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp 9 Jun 2016 08:44:49 -0000 1.1.2.8 @@ -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 @@ -51,7 +51,7 @@ default. -q suppresses some verbose output from commands. For example, it makes the output of cvs up much easier to read.

    -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:

    • Before committing to cvs you must submit a bug report and patch to the OpenACS bug Index: openacs-4/packages/acs-core-docs/www/cvs-guidelines.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/cvs-guidelines.html,v diff -u -N -r1.10.2.5 -r1.10.2.6 --- openacs-4/packages/acs-core-docs/www/cvs-guidelines.html 1 Dec 2015 14:38:40 -0000 1.10.2.5 +++ openacs-4/packages/acs-core-docs/www/cvs-guidelines.html 9 Jun 2016 08:44:49 -0000 1.10.2.6 @@ -1,12 +1,12 @@ -CVS Guidelines

      +CVS Guidelines

      CVS Guidelines

      ($Id$)

      By Joel Aufrecht with input from Jeff Davis, Branimir Dolicki, and Jade Rubick.

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

      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. @@ -44,14 +44,14 @@ ~/.cvsrc with the contents:

      cvs -z6
       cvs -q

      -z6 speeds up cvs access over the network quite a bit by enabling compressed - connection by default. -q suppresses some verbose output from commands. For example, it makes the output of cvs up much easier to read.

      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.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/cvs-tips.adp 1 Dec 2015 14:38:40 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/cvs-tips.adp 9 Jun 2016 08:44:49 -0000 1.1.2.6 @@ -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.5 -r1.34.2.6 --- openacs-4/packages/acs-core-docs/www/cvs-tips.html 1 Dec 2015 14:38:40 -0000 1.34.2.5 +++ openacs-4/packages/acs-core-docs/www/cvs-tips.html 9 Jun 2016 08:44:49 -0000 1.34.2.6 @@ -1,8 +1,8 @@ -Appendix D. Using CVS with an OpenACS Site

      Appendix D. Using CVS with an OpenACS Site

      By Joel Aufrecht

      +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/database-management.html
        ===================================================================
        RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/database-management.html,v
        diff -u -N -r1.31 -r1.31.2.1
        --- openacs-4/packages/acs-core-docs/www/database-management.html	27 Oct 2014 16:39:17 -0000	1.31
        +++ openacs-4/packages/acs-core-docs/www/database-management.html	9 Jun 2016 08:44:49 -0000	1.31.2.1
        @@ -1,5 +1,5 @@
         
        -Chapter 7. Database Management

        Chapter 7. Database Management

        By Joel Aufrecht

        +Chapter 7. Database Management

        Chapter 7. Database Management

        By Joel Aufrecht

        OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
        View comments on this page at openacs.org
        Index: openacs-4/packages/acs-core-docs/www/db-api-detailed.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api-detailed.adp,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/db-api-detailed.adp 2 Jan 2016 21:55:21 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/db-api-detailed.adp 9 Jun 2016 08:44:49 -0000 1.1.2.5 @@ -217,9 +217,9 @@ Useful

        Why bother with bind variables at all - why not just write the Tcl statement above like this:

         
        -db_dml presentation_delete {
        -    delete from wp_presentations where presentation_id = :some_presentation_id
        -}
        +db_dml presentation_delete "
        +    delete from wp_presentations where presentation_id = $some_presentation_id
        +"
         
         

        (Note the use of double-quotes to allow the variable reference to $some_presentation_id to be @@ -498,7 +498,7 @@ insert photos(photo_id, image, thumbnail_image) values(photo_id_seq.nextval, empty_blob(), empty_blob()) returning image, thumbnail_image into :1, :2 - } -blob_files [list "/var/tmp/the_photo" "/var/tmp/the_thumbnail"] + } -blob_files [list "/var/tmp/the_photo" "/var/tmp/the_thumbnail"]

        This inserts a new row into the photos table, with the contents of the files /var/tmp/the_photo and @@ -541,12 +541,12 @@ proc replace_the_foo { col } { db_transaction { db_dml delete {delete from foo} - db_dml insert {insert into foo(col) values(:col)} + db_dml insert {insert into foo(col) values($col)} } } proc print_the_foo {} { - doc_body_append "foo is [db_string get_foo {select col from foo}]<br>\n" + doc_body_append "foo is [db_string "select col from foo"]<br>\n" } replace_the_foo 8 @@ -699,8 +699,8 @@ script and should never be referenced directly by user code. Returns the current rdbms type and version.

    -
    ($‌Id: db-api.xml,v 1.11 2014/10/27 16:39:31 -victorg Exp $)
    +
    ($‌Id: db-api.xml,v 1.11.2.1 2016/01/02 21:55:21 +gustafn Exp $)
    -Database Access API

    Database Access API

    By Jon Salz. Revised and expanded by Roberto Mello (rmello at fslc dot usu dot edu), July 2002.

    +Database Access API

    Database Access API

    By Jon Salz. Revised and expanded by Roberto Mello (rmello at fslc dot usu dot edu), July 2002.

    OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
    • Tcl procedures: /packages/acs-kernel/10-database-procs.tcl

    • Tcl initialization: /packages/acs-kernel/database-init.tcl

    The Big Picture

    @@ -475,7 +475,7 @@ insert photos(photo_id, image, thumbnail_image) values(photo_id_seq.nextval, empty_blob(), empty_blob()) returning image, thumbnail_image into :1, :2 - } -blob_files [list "/var/tmp/the_photo" "/var/tmp/the_thumbnail"] + } -blob_files [list "/var/tmp/the_photo" "/var/tmp/the_thumbnail"]

    This inserts a new row into the photos table, with the contents @@ -508,19 +508,17 @@ transactions. It is possible to specify an optional on_error code block that will be executed if some code in code_block throws an exception. The variable errmsg will be bound in that scope. -If there is no on_error code, any - errors will be propagated.

    -

    Example:

    +If there is no on_error code, any errors will be propagated. 

    Example:

     
     proc replace_the_foo { col } {
         db_transaction {
             db_dml delete {delete from foo}
    -        db_dml insert {insert into foo(col) values(:col)}
    +        db_dml insert {insert into foo(col) values($col)}
         }
     }
     
     proc print_the_foo {} {
    -    doc_body_append "foo is [db_string get_foo {select col from foo}]<br>\n"
    +    doc_body_append "foo is [db_string "select col from foo"]<br>\n"
     }
     
     replace_the_foo 8
    Index: openacs-4/packages/acs-core-docs/www/db-api.adp
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api.adp,v
    diff -u -N -r1.1.2.4 -r1.1.2.5
    --- openacs-4/packages/acs-core-docs/www/db-api.adp	2 Jan 2016 21:55:21 -0000	1.1.2.4
    +++ openacs-4/packages/acs-core-docs/www/db-api.adp	9 Jun 2016 08:44:49 -0000	1.1.2.5
    @@ -214,7 +214,7 @@
     set bar ""
     set baz ""
     
    -db_dml foo_create {insert into foo(bar, baz) values(:bar, :baz)}
    +db_dml foo_create "insert into foo(bar, baz) values(:bar, :baz)"
     #
     # the values of the "bar" and "baz" columns in the new row are both
     # null, because Oracle has coerced the empty string (even for the
    @@ -232,7 +232,7 @@
     set bar [db_null]
     set baz [db_null]
     
    -db_dml foo_create {insert into foo(bar, baz) values(:bar, :baz)}
    +db_dml foo_create "insert into foo(bar, baz) values(:bar, :baz)"
     #
     # sets the values for both the "bar" and "baz" columns to null
     
    @@ -509,12 +509,12 @@ proc replace_the_foo { col } { db_transaction { db_dml delete {delete from foo} - db_dml insert {insert into foo(col) values($col)} + db_dml insert {insert into foo(col) values(:col)} } } proc print_the_foo {} { - doc_body_append "foo is [db_string get_foo {select col from foo}]<br>\n" + doc_body_append "foo is [db_string "select col from foo"]<br>\n" } replace_the_foo 8 @@ -585,7 +585,7 @@ db_dml unused {delete from foo} db_dml unused {insert into foo(baz) values(:baz)} -set n_rows [db_string unused {select count(*) from foo where baz is null}] +set n_rows [db_string unused "select count(*) from foo where baz is null"] # # $n_rows is 1; in effect, the "baz is null" criterion is matching # the empty string we just inserted (because of Oracle's coercion @@ -600,8 +600,8 @@
    -
    ($‌Id: db-api.xml,v 1.13 2009/07/12 01:08:30 -donb Exp $)
    +
    ($‌Id: db-api.xml,v 1.13.8.1 2016/01/02 21:55:21 +gustafn Exp $)

    Caching Database API Results

    The database API allows for direct caching of query results. Index: openacs-4/packages/acs-core-docs/www/db-api.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/db-api.html,v diff -u -N -r1.50.2.6 -r1.50.2.7 --- openacs-4/packages/acs-core-docs/www/db-api.html 2 Jan 2016 21:55:21 -0000 1.50.2.6 +++ openacs-4/packages/acs-core-docs/www/db-api.html 9 Jun 2016 08:44:49 -0000 1.50.2.7 @@ -1,5 +1,5 @@ -The OpenACS Database Access API

    The OpenACS Database Access API

    +The OpenACS Database Access API

    The OpenACS Database Access API

    By Pete Su and Jon Salz. Modified by Roberto Mello.

    Overview

    One of OpenACS's great strengths is that code written for it is @@ -526,11 +526,11 @@ insert. Only one of -blobs, -clobs, -blob_files, and -clob_files may be provided.

    Example:

     
    -db_dml insert_photos "
    +db_dml insert_photos {
             insert photos(photo_id, image, thumbnail_image)
             values(photo_id_seq.nextval, empty_blob(), empty_blob())
             returning image, thumbnail_image into :1, :2
    -    "  -blob_files [list "/var/tmp/the_photo" "/var/tmp/the_thumbnail"] 
    +    }  -blob_files [list "/var/tmp/the_photo" "/var/tmp/the_thumbnail"] 
     
     	  

    This inserts a new row into the photos table, with the contents @@ -573,7 +573,7 @@ } proc print_the_foo {} { - doc_body_append "foo is [db_string get_foo {select col from foo}]<br>\n" + doc_body_append "foo is [db_string "select col from foo"]<br>\n" } replace_the_foo 8 @@ -638,10 +638,9 @@ # Clean out the foo table # -db_dml unused "delete from foo" +db_dml unused {delete from foo} +db_dml unused {insert into foo(baz) values(:baz)} -db_dml unused "insert into foo(baz) values('$baz')" - set n_rows [db_string unused "select count(*) from foo where baz is null"] # # $n_rows is 1; in effect, the "baz is null" criterion is matching @@ -653,7 +652,7 @@ null by writing:

     
    -db_dml foo_insert "insert into foo(baz) values(:1)" {[db_nullify_empty_string $baz]}
    +db_dml foo_insert {insert into foo(baz) values(:1)} {[db_nullify_empty_string $baz]}
     
     	  

    ($Id$)

    Index: openacs-4/packages/acs-core-docs/www/dev-guide.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/dev-guide.html,v diff -u -N -r1.36.2.1 -r1.36.2.2 --- openacs-4/packages/acs-core-docs/www/dev-guide.html 23 Sep 2015 11:54:26 -0000 1.36.2.1 +++ openacs-4/packages/acs-core-docs/www/dev-guide.html 9 Jun 2016 08:44:49 -0000 1.36.2.2 @@ -1,2 +1,2 @@ -Chapter 11. Development Reference

    View comments on this page at openacs.org
    +Chapter 11. Development Reference
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/doc-standards.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/doc-standards.html,v diff -u -N -r1.18 -r1.18.2.1 --- openacs-4/packages/acs-core-docs/www/doc-standards.html 27 Oct 2014 16:39:18 -0000 1.18 +++ openacs-4/packages/acs-core-docs/www/doc-standards.html 9 Jun 2016 08:44:49 -0000 1.18.2.1 @@ -1,2 +1,2 @@ -Chapter 13. Documentation Standards
    View comments on this page at openacs.org
    +Chapter 13. Documentation Standards
    View comments on this page at openacs.org
    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.6 -r1.1.2.7 --- openacs-4/packages/acs-core-docs/www/docbook-primer.adp 1 Dec 2015 14:38:40 -0000 1.1.2.6 +++ openacs-4/packages/acs-core-docs/www/docbook-primer.adp 9 Jun 2016 08:44:49 -0000 1.1.2.7 @@ -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">
      @@ -715,7 +715,7 @@
         </tgroup>
       </informaltable>
       

      With our current XSL-style-sheet, the output of the markup above -will be a simple HTML-table:

      +will be a simple HTML-table:

      @@ -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.5 -r1.52.2.6 --- openacs-4/packages/acs-core-docs/www/docbook-primer.html 1 Dec 2015 14:38:40 -0000 1.52.2.5 +++ openacs-4/packages/acs-core-docs/www/docbook-primer.html 9 Jun 2016 08:44:49 -0000 1.52.2.6 @@ -1,5 +1,5 @@ -OpenACS Documentation Guide

      Prev Chapter 13. Documentation Standards Next

      OpenACS Documentation Guide

      +OpenACS Documentation Guide

      OpenACS Documentation Guide

      By Claus Rasmussen, with additions by Roberto Mello, Vinod Kurup, and the OpenACS Community

      Overview of OpenACS Documentation

      OpenACS™ is a powerful system with @@ -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: @@ -922,12 +922,12 @@ </informaltable>

        With our current XSL-style-sheet, the output of the markup above will be a simple HTML-table: -

        a1b1c1
        a2b2c2
        a3b3c3

        +

        a1b1c1
        a2b2c2
        a3b3c3

        If you want cells to span more than one row or column, it gets a bit more complicated - check out <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/eng-standards-constraint-naming.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.adp 28 Sep 2015 07:54:14 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.adp 9 Jun 2016 08:44:49 -0000 1.1.2.4 @@ -32,7 +32,7 @@ with the following abbreviations taken from Oracle Docs at http://oradoc.photo.net/ora81/DOC/server.815/a67779/ch4e.htm#8953. Note that we shortened all of the constraint abbrevations to two -characters to save room.

        +characters to save room.

        Index: openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html,v diff -u -N -r1.48.2.5 -r1.48.2.6 --- openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 1 Dec 2015 14:38:41 -0000 1.48.2.5 +++ openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.html 9 Jun 2016 08:44:49 -0000 1.48.2.6 @@ -1,5 +1,5 @@ -Constraint naming standard
        Prev Chapter 12. Engineering Standards Next

        Constraint naming standard

        By Michael Bryzek

        +Constraint naming standard

        Constraint naming standard

        By Michael Bryzek

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

        The Big Picture

        @@ -18,7 +18,7 @@ http://oradoc.photo.net/ora81/DOC/server.815/a67779/ch4e.htm#8953. Note that we shortened all of the constraint abbrevations to two characters to save room. -

        Constraint typeAbbreviation
        references (foreign key)fk
        uniqueun
        primary keypk
        checkck
        not nullnn

        Format of constraint name

        +

        Constraint typeAbbreviation
        references (foreign key)fk
        uniqueun
        primary keypk
        checkck
        not nullnn

        Format of constraint name

        <table name>_<column_name>_<constraint abbreviation>

        In reality, this won't be possible because of the character limitation on Index: openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html,v diff -u -N -r1.48.2.5 -r1.48.2.6 --- openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 1 Dec 2015 14:38:41 -0000 1.48.2.5 +++ openacs-4/packages/acs-core-docs/www/eng-standards-filenaming.html 9 Jun 2016 08:44:49 -0000 1.48.2.6 @@ -1,5 +1,5 @@ -ACS File Naming and Formatting Standards

        ACS File Naming and Formatting Standards

        By Michael Yoon and Aurelius Prochazka

        +ACS File Naming and Formatting Standards

        ACS File Naming and Formatting Standards

        By Michael Yoon and Aurelius Prochazka

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

        Index: openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html,v diff -u -N -r1.49.2.5 -r1.49.2.6 --- openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 1 Dec 2015 14:38:41 -0000 1.49.2.5 +++ openacs-4/packages/acs-core-docs/www/eng-standards-plsql.html 9 Jun 2016 08:44:49 -0000 1.49.2.6 @@ -1,5 +1,5 @@ -PL/SQL Standards

        PL/SQL Standards

        +PL/SQL Standards

        PL/SQL Standards

        By Richard Li and Yon Feldman

        OpenACS docs are written by the named authors, and may be edited Index: openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html,v diff -u -N -r1.51.2.5 -r1.51.2.6 --- openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 1 Dec 2015 14:38:41 -0000 1.51.2.5 +++ openacs-4/packages/acs-core-docs/www/eng-standards-versioning.html 9 Jun 2016 08:44:49 -0000 1.51.2.6 @@ -1,5 +1,5 @@ -Release Version Numbering

        Release Version Numbering

        ($Id$)

        By Ron Henderson, Revised by Joel Aufrecht

        +Release Version Numbering

        Release Version Numbering

        ($Id$)

        By Ron Henderson, Revised by Joel Aufrecht

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

        Index: openacs-4/packages/acs-core-docs/www/eng-standards.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards.html,v diff -u -N -r1.32.2.1 -r1.32.2.2 --- openacs-4/packages/acs-core-docs/www/eng-standards.html 23 Sep 2015 11:54:29 -0000 1.32.2.1 +++ openacs-4/packages/acs-core-docs/www/eng-standards.html 9 Jun 2016 08:44:49 -0000 1.32.2.2 @@ -1,4 +1,4 @@ -Chapter 12. Engineering Standards

        Chapter 12. Engineering Standards

        Table of Contents

        OpenACS Style Guide
        +Chapter 12. Engineering Standards
        View comments on this page at openacs.org
        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.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/ext-auth-requirements.adp 1 Dec 2015 14:38:41 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/ext-auth-requirements.adp 9 Jun 2016 08:44:49 -0000 1.1.2.6 @@ -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
        @@ -640,7 +640,7 @@

        -Revision History

        FeatureStatusDescription
        New API
        +Revision History
        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.5 -r1.40.2.6 --- openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 1 Dec 2015 14:38:41 -0000 1.40.2.5 +++ openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 9 Jun 2016 08:44:49 -0000 1.40.2.6 @@ -1,5 +1,5 @@ -External Authentication Requirements
        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 @@ -368,12 +368,11 @@ in Python can be found in the exUserFolder module for Zope -(documentation).

      Feedback

      We'd really appreciate feedback on this proposal. Please -follow up at +(documentation).

      Feedback

      We'd really appreciate feedback on this proposal. Please follow up at this openacs.org forums thread.

      References

      Revision History

      Document Revision #Action Taken, NotesWhen?By Whom?
      1Updated work-in-progress for consortium-sponsored ext-auth work at Collaboraid.20 Aug 2003Joel Aufrecht
      View comments on this page at openacs.org
      + Passport.

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    1Updated work-in-progress for consortium-sponsored ext-auth work at Collaboraid.20 Aug 2003Joel Aufrecht
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/filename.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/filename.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/filename.adp 28 Sep 2015 07:54:15 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/filename.adp 9 Jun 2016 08:44:49 -0000 1.1.2.4 @@ -178,7 +178,7 @@

    Revision History

    The revision history table below is for this template - modify it as needed for your actual design -document.

    +document.

    Index: openacs-4/packages/acs-core-docs/www/filename.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/filename.html,v diff -u -N -r1.48.2.5 -r1.48.2.6 --- openacs-4/packages/acs-core-docs/www/filename.html 1 Dec 2015 14:38:41 -0000 1.48.2.5 +++ openacs-4/packages/acs-core-docs/www/filename.html 9 Jun 2016 08:44:49 -0000 1.48.2.6 @@ -1,5 +1,5 @@ -Detailed Design Documentation Template
    Prev Chapter 13. Documentation Standards Next

    Detailed Design Documentation Template

    By You

    Start Note

    +Detailed Design Documentation Template

    Detailed Design Documentation Template

    By You

    Start Note

    NOTE: Some of the sections of this template may not apply to your package, e.g. there may be no user-visible UI elements for a component of the OpenACS Core. Furthermore, it may be easier in some circumstances @@ -136,4 +136,4 @@

    • System creator

    • System owner

    • Documentation author

    Revision History

    The revision history table below is for this template - modify it as needed for your actual design document. -

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.3Edited further, incorporated feedback from Michael Yoon9/05/2000Kai Wu
    0.2Edited8/22/2000Kai Wu
    0.1Creation8/21/2000Josh Finkler, Audrey McLoghlin
    ($Id$)
    View comments on this page at openacs.org
    +

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.3Edited further, incorporated feedback from Michael Yoon9/05/2000Kai Wu
    0.2Edited8/22/2000Kai Wu
    0.1Creation8/21/2000Josh Finkler, Audrey McLoghlin
    ($Id$)
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/for-everyone.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/for-everyone.html,v diff -u -N -r1.28 -r1.28.2.1 --- openacs-4/packages/acs-core-docs/www/for-everyone.html 27 Oct 2014 16:39:18 -0000 1.28 +++ openacs-4/packages/acs-core-docs/www/for-everyone.html 9 Jun 2016 08:44:49 -0000 1.28.2.1 @@ -1,2 +1,2 @@ -Part I. OpenACS For Everyone
    View comments on this page at openacs.org
    +Part I. OpenACS For Everyone
    View comments on this page at openacs.org
    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.6 -r1.1.2.7 --- openacs-4/packages/acs-core-docs/www/form-builder.adp 1 Dec 2015 14:38:41 -0000 1.1.2.6 +++ openacs-4/packages/acs-core-docs/www/form-builder.adp 9 Jun 2016 08:44:49 -0000 1.1.2.7 @@ -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.5 -r1.30.2.6 --- openacs-4/packages/acs-core-docs/www/form-builder.html 1 Dec 2015 14:38:41 -0000 1.30.2.5 +++ openacs-4/packages/acs-core-docs/www/form-builder.html 9 Jun 2016 08:44:49 -0000 1.30.2.6 @@ -1,12 +1,12 @@ -Using Form Builder: building html forms dynamically

    Using Form Builder: building html forms dynamically

    Overview

    ($Id$)
    +Using Form Builder: building html forms dynamically

    Using Form Builder: building html forms dynamically

    Overview

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

    OpenACS has a form manager called ad_form. Ad_form has an 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/general-documents.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/general-documents.html,v diff -u -N -r1.28 -r1.28.2.1 --- openacs-4/packages/acs-core-docs/www/general-documents.html 27 Oct 2014 16:39:18 -0000 1.28 +++ openacs-4/packages/acs-core-docs/www/general-documents.html 9 Jun 2016 08:44:49 -0000 1.28.2.1 @@ -1,2 +1,2 @@ -Chapter 1. High level information: What is OpenACS?

    Chapter 1. High level information: What is OpenACS?

    View comments on this page at openacs.org
    +Chapter 1. High level information: What is OpenACS?

    Chapter 1. High level information: What is OpenACS?

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/groups-design.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/groups-design.adp,v diff -u -N -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/groups-design.adp 23 Sep 2015 11:54:31 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/groups-design.adp 9 Jun 2016 08:44:49 -0000 1.1.2.2 @@ -386,7 +386,7 @@

    -Revision History

    +Revision History
    Index: openacs-4/packages/acs-core-docs/www/groups-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/groups-design.html,v diff -u -N -r1.34 -r1.34.2.1 --- openacs-4/packages/acs-core-docs/www/groups-design.html 27 Oct 2014 16:39:18 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/groups-design.html 9 Jun 2016 08:44:49 -0000 1.34.2.1 @@ -1,5 +1,5 @@ -Groups Design
    Prev Chapter 15. Kernel Documentation Next

    Groups Design

    By Rafael H. Schloming and Mark Thomas

    +Groups Design

    Groups Design

    By Rafael H. Schloming and Mark Thomas

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

    Essentials

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation08/22/2000Rafael H. Schloming
    0.2Initial Revision08/30/2000 +

    Mark Thomas

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation08/22/2000Rafael H. Schloming
    0.2Initial Revision08/30/2000 Mark Thomas
    0.3Additional revisions; tried to clarify membership/compostion09/08/2000 Mark Thomas Index: openacs-4/packages/acs-core-docs/www/groups-requirements.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/groups-requirements.adp,v diff -u -N -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/groups-requirements.adp 23 Sep 2015 11:54:31 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/groups-requirements.adp 9 Jun 2016 08:44:49 -0000 1.1.2.2 @@ -358,7 +358,7 @@

    -Revision History

    +Revision History
    Index: openacs-4/packages/acs-core-docs/www/groups-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/groups-requirements.html,v diff -u -N -r1.34 -r1.34.2.1 --- openacs-4/packages/acs-core-docs/www/groups-requirements.html 27 Oct 2014 16:39:18 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/groups-requirements.html 9 Jun 2016 08:44:49 -0000 1.34.2.1 @@ -1,5 +1,5 @@ -Groups Requirements
    Prev Chapter 15. Kernel Documentation Next

    Groups Requirements

    By Rafael H. Schloming, Mark Thomas

    +Groups Requirements

    Groups Requirements

    By Rafael H. Schloming, Mark Thomas

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

    Introduction

    Almost all database-backed websites have users, and need to model the @@ -221,4 +221,4 @@ where clause, whatever mechanism is used to check membership in SQL should be fairly small and simple.

    Requirements: User Interface

    The user interface is a set of HTML pages that are used to drive the underlying API. The user interface may provide the following functions:

    • 200.0 Create a party

    • 210.0 View the attributes of a party

    • 220.0 Update the attributes of a party

    • 240.0 Delete a party

    • 250.0 Add a party to a group

    • 260.0 Remove a party from a group

    • 270.0 Perform the membership and composition checks - outlined in 130.x to 165.x

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation08/16/2000Rafael Schloming
    0.2Initial revision08/19/2000Mark Thomas
    0.3Edited and reviewed, conforms to requirements template08/23/2000Kai Wu
    0.4Further revised, added UI requirements08/24/2000Mark Thomas
    0.5Final edits, pending freeze08/24/2000Kai Wu
    0.6More revisions, added composition requirements08/30/2000Mark Thomas
    0.7More revisions, added composition requirements09/08/2000Mark Thomas
    View comments on this page at openacs.org
    + outlined in 130.x to 165.x

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    0.1Creation08/16/2000Rafael Schloming
    0.2Initial revision08/19/2000Mark Thomas
    0.3Edited and reviewed, conforms to requirements template08/23/2000Kai Wu
    0.4Further revised, added UI requirements08/24/2000Mark Thomas
    0.5Final edits, pending freeze08/24/2000Kai Wu
    0.6More revisions, added composition requirements08/30/2000Mark Thomas
    0.7More revisions, added composition requirements09/08/2000Mark Thomas
    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.6 -r1.1.2.7 --- openacs-4/packages/acs-core-docs/www/high-avail.adp 1 Dec 2015 14:38:41 -0000 1.1.2.6 +++ openacs-4/packages/acs-core-docs/www/high-avail.adp 9 Jun 2016 08:44:49 -0000 1.1.2.7 @@ -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.5 -r1.24.2.6 --- openacs-4/packages/acs-core-docs/www/high-avail.html 1 Dec 2015 14:38:42 -0000 1.24.2.5 +++ openacs-4/packages/acs-core-docs/www/high-avail.html 9 Jun 2016 08:44:49 -0000 1.24.2.6 @@ -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.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/how-do-I.adp 1 Dec 2015 14:38:42 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/how-do-I.adp 9 Jun 2016 08:44:49 -0000 1.1.2.6 @@ -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.5 -r1.27.2.6 --- openacs-4/packages/acs-core-docs/www/how-do-I.html 1 Dec 2015 14:38:42 -0000 1.27.2.5 +++ openacs-4/packages/acs-core-docs/www/how-do-I.html 9 Jun 2016 08:44:49 -0000 1.27.2.6 @@ -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.8 -r1.1.2.9 --- openacs-4/packages/acs-core-docs/www/i18n-convert.adp 4 Dec 2015 11:14:28 -0000 1.1.2.8 +++ openacs-4/packages/acs-core-docs/www/i18n-convert.adp 9 Jun 2016 08:44:49 -0000 1.1.2.9 @@ -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.7 -r1.26.2.8 --- openacs-4/packages/acs-core-docs/www/i18n-convert.html 4 Dec 2015 11:14:28 -0000 1.26.2.7 +++ openacs-4/packages/acs-core-docs/www/i18n-convert.html 9 Jun 2016 08:44:49 -0000 1.26.2.8 @@ -1,5 +1,5 @@ -How to Internationalize a Package

      How to Internationalize a Package

      Tip

      +How to Internationalize a Package

      How to Internationalize a Package

      Tip

      For multilingual websites we recommend using the UTF8 charset. In order for AOLserver to use utf8 you need to set the config parameters OutputCharset and @@ -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
      @@ -95,41 +95,41 @@
       be automatically assigned to a case when the simulation
       begins.
       
      -</else>

      Another example, where bugs are concatenated with a number:

      <if @components.view_bugs_url@ not nil>
      -  <a href="@components.view_bugs_url@" title="View the @pretty_names.bugs@ for this component">
      +</else>

      Another example, where bugs are concatenated with a number:

      <if @components.view_bugs_url@ not nil>
      +  <a href="@components.view_bugs_url@" title="View the @pretty_names.bugs@ for this component">
         </if>
      -  @components.num_bugs@ 
      -  <if @components.num_bugs@ eq 1>
      -    @pretty_names.bug@
      +  @components.num_bugs@ 
      +  <if @components.num_bugs@ eq 1>
      +    @pretty_names.bug@
         </if>
         <else>
      -    @pretty_names.bugs@
      +    @pretty_names.bugs@
         </else>
      -  <if @components.view_bugs_url@ not nil>
      +  <if @components.view_bugs_url@ not nil>
         </a>
         </if>
       
      -<if @components.view_bugs_url@ not nil>
      -<a href="@components.view_bugs_url@" title="#bug-tracker.View_the_bug_fo_component#">
      +<if @components.view_bugs_url@ not nil>
      +<a href="@components.view_bugs_url@" title="#bug-tracker.View_the_bug_fo_component#">
       </if>
      -@components.num_bugs@ 
      -<if @components.num_bugs@ eq 1>
      -@pretty_names.bug@
      +@components.num_bugs@ 
      +<if @components.num_bugs@ eq 1>
      +@pretty_names.bug@
       </if>
       <else>
      -@pretty_names.bugs@
      +@pretty_names.bugs@
       </else>
      -<if @components.view_bugs_url@ not nil>
      +<if @components.view_bugs_url@ not nil>
       </a>
       </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>
      +

      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>
         </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-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-design.html,v diff -u -N -r1.16 -r1.16.2.1 --- openacs-4/packages/acs-core-docs/www/i18n-design.html 27 Oct 2014 16:39:19 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/i18n-design.html 9 Jun 2016 08:44:49 -0000 1.16.2.1 @@ -1,3 +1,3 @@ -Design Notes

      Design Notes

      User locale is a property of ad_conn, ad_conn locale. The request processor sets this by calling lang::conn::locale, which looks for the following in order of precedence:

      1. Use user preference for this package (stored in ad_locale_user_prefs)

      2. Use system preference for the package (stored in apm_packages)

      3. Use user's general preference (stored in user_preferences)

      4. Use Browser header (Accept-Language HTTP header)

      5. Use system locale (an APM parameter for acs_lang)

      6. default to en_US

      For ADP pages, message key lookup occurs in the templating engine. For Tcl pages, message key lookup happens with the _ function. In both cases, if the requested locale is not found but a locale which is the default for the language which matches your locale's language is +Design Notes

      Design Notes

      User locale is a property of ad_conn, ad_conn locale. The request processor sets this by calling lang::conn::locale, which looks for the following in order of precedence:

      1. Use user preference for this package (stored in ad_locale_user_prefs)

      2. Use system preference for the package (stored in apm_packages)

      3. Use user's general preference (stored in user_preferences)

      4. Use Browser header (Accept-Language HTTP header)

      5. Use system locale (an APM parameter for acs_lang)

      6. default to en_US

      For ADP pages, message key lookup occurs in the templating engine. For Tcl pages, message key lookup happens with the _ function. In both cases, if the requested locale is not found but a locale which is the default for the language which matches your locale's language is found, then that locale is offered instead.

      View comments on this page at openacs.org
      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.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/i18n-introduction.adp 15 Dec 2015 08:04:04 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/i18n-introduction.adp 9 Jun 2016 08:44:49 -0000 1.1.2.6 @@ -78,7 +78,8 @@

      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: +<span>#</span>forum.title#

    • The verbose: @@ -209,23 +210,25 @@ use message keys using the short notation above, i.e. #package_key.message_key#.

      In order to avoid clashes with other uses of the hash character, you need to tell the APM that the parameter value needs to be localized when retrieving it. You do that by saying: parameter::get -localize.

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

      +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 +class_instance_pages_csv +<span>#</span>dotlrn.class_page_home_title#,Simple +2-Column;<span>#</span>dotlrn.class_page_calendar_title#,Simple +1-Column;<span>#</span>dotlrn.class_page_file_storage_title#,Simple 1-Column
      departments_pretty_name#departments_pretty_name#departments_pretty_name +<span>#</span>departments_pretty_name#

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

      +get:

      @@ -239,7 +242,8 @@ - +
      parameter::get -localize -parameter departments_pretty_nameAbteilung
      parameter::get -parameter departments_pretty_name#departments_pretty_name#parameter::get -parameter departments_pretty_name +<span>#</span>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.4 -r1.18.2.5 --- openacs-4/packages/acs-core-docs/www/i18n-introduction.html 31 Dec 2015 15:12:52 -0000 1.18.2.4 +++ openacs-4/packages/acs-core-docs/www/i18n-introduction.html 9 Jun 2016 08:44:50 -0000 1.18.2.5 @@ -1,5 +1,5 @@ -How Internationalization/Localization works in OpenACS

      How Internationalization/Localization works in OpenACS

      +How Internationalization/Localization works in OpenACS

      How Internationalization/Localization works in OpenACS

      This document describes how to develop internationalized OpenACS packages, including writing new packages with internationalization and converting old packages. Text that @@ -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# + <span>#</span>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<span>#</span>dotlrn.class_page_home_title#,Simple 2-Column;<span>#</span>dotlrn.class_page_calendar_title#,Simple 1-Column;<span>#</span>dotlrn.class_page_file_storage_title#,Simple 1-Column
      departments_pretty_name<span>#</span>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<span>#</span>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/i18n-overview.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-overview.adp,v diff -u -N -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/i18n-overview.adp 23 Sep 2015 11:54:33 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/i18n-overview.adp 9 Jun 2016 08:44:50 -0000 1.1.2.2 @@ -12,7 +12,7 @@ Internationalization and Localization Overview

    Table 14.1. Internationalization and -Localization Overview

    +Localization Overview

    Index: openacs-4/packages/acs-core-docs/www/i18n-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-overview.html,v diff -u -N -r1.16 -r1.16.2.1 --- openacs-4/packages/acs-core-docs/www/i18n-overview.html 27 Oct 2014 16:39:19 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/i18n-overview.html 9 Jun 2016 08:44:50 -0000 1.16.2.1 @@ -1,2 +1,2 @@ -Internationalization and Localization Overview
    Prev Chapter 14. Internationalization Next

    Internationalization and Localization Overview

    Table 14.1. Internationalization and Localization Overview

    StageTaskWho
    InternationalizationPackage Developer uses the acs-lang tools to replace all visible text in a package with message keys. (More information)Package Developer
    Release ManagementThe newly internationalized package is released.Package Developer
    The translation server is updated with the new package.Translation server maintainers
    LocalizationTranslators work in their respective locales to write text for each message key. (More information)Translators
    Release ManagementThe translated text in the database of the translation server is compared to the current translations in the OpenACS code base, conflicts are resolved, and the new text is written to catalog files on the translation server.Translation server maintainers
    The catalog files are committed to the OpenACS code base.Translation server maintainers
    A new version of OpenACS core and/or affected packages is released and published in the OpenACS.org repository.Release Manager
    UpgradingSite Administrators upgrade their OpenACS sites, either via the automatic upgrade from the Repository or via tarball or CVS Site Administrators
    Site Administrators import the new translations. Existing local translations, if they exist, are not overwritten.Site Administrators

    View comments on this page at openacs.org
    +Internationalization and Localization Overview

    Internationalization and Localization Overview

    Table 14.1. Internationalization and Localization Overview

    StageTaskWho
    InternationalizationPackage Developer uses the acs-lang tools to replace all visible text in a package with message keys. (More information)Package Developer
    Release ManagementThe newly internationalized package is released.Package Developer
    The translation server is updated with the new package.Translation server maintainers
    LocalizationTranslators work in their respective locales to write text for each message key. (More information)Translators
    Release ManagementThe translated text in the database of the translation server is compared to the current translations in the OpenACS code base, conflicts are resolved, and the new text is written to catalog files on the translation server.Translation server maintainers
    The catalog files are committed to the OpenACS code base.Translation server maintainers
    A new version of OpenACS core and/or affected packages is released and published in the OpenACS.org repository.Release Manager
    UpgradingSite Administrators upgrade their OpenACS sites, either via the automatic upgrade from the Repository or via tarball or CVS Site Administrators
    Site Administrators import the new translations. Existing local translations, if they exist, are not overwritten.Site Administrators

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/i18n-requirements.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-requirements.adp,v diff -u -N -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/i18n-requirements.adp 23 Sep 2015 11:54:33 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/i18n-requirements.adp 9 Jun 2016 08:44:50 -0000 1.1.2.2 @@ -465,7 +465,7 @@ implementation into phases.

    -Revision History

    +Revision History
    Index: openacs-4/packages/acs-core-docs/www/i18n-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-requirements.html,v diff -u -N -r1.26 -r1.26.2.1 --- openacs-4/packages/acs-core-docs/www/i18n-requirements.html 27 Oct 2014 16:39:19 -0000 1.26 +++ openacs-4/packages/acs-core-docs/www/i18n-requirements.html 9 Jun 2016 08:44:50 -0000 1.26.2.1 @@ -1,5 +1,5 @@ -OpenACS Internationalization Requirements
    Prev Chapter 15. Kernel Documentation Next

    OpenACS Internationalization Requirements

    by Henry Minsky, +OpenACS Internationalization Requirements

    OpenACS Internationalization Requirements

    by Henry Minsky, Yon Feldman, Lars Pind, Peter Marklund, @@ -281,6 +281,6 @@ Because globalization touches many different parts of the system, we want to reduce the implementation risk by breaking the implementation into phases. -

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    1Updated with results of MIT-sponsored i18n work at Collaboraid.14 Aug 2003Joel Aufrecht
    0.4converting from HTML to DocBook and importing the document to the OpenACS +

    Revision History

    Document Revision #Action Taken, NotesWhen?By Whom?
    1Updated with results of MIT-sponsored i18n work at Collaboraid.14 Aug 2003Joel Aufrecht
    0.4converting from HTML to DocBook and importing the document to the OpenACS kernel documents. This was done as a part of the internationalization of OpenACS and .LRN for the Heidelberg University in Germany12 September 2002Peter Marklund
    0.3comments from Christian1/14/2000Henry Minsky
    0.2Minor typos fixed, clarifications to wording11/14/2000Henry Minsky
    0.1Creation11/08/2000Henry Minsky
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/i18n-translators.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-translators.html,v diff -u -N -r1.16 -r1.16.2.1 --- openacs-4/packages/acs-core-docs/www/i18n-translators.html 27 Oct 2014 16:39:19 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/i18n-translators.html 9 Jun 2016 08:44:50 -0000 1.16.2.1 @@ -1,2 +1,2 @@ -Translator's Guide

    Translator's Guide

    Most translators use the OpenACS Public Translation Server, because the process of getting new message keys onto the server and getting new translations back into the distribution are handled by the maintainers of that machine. You can also do translation work on your own OpenACS site; this makes your own translations more readily available to you but also means that your work will not be shared with other users unless you take extra steps (contacting an OpenACS core developer or submitting a patch) to get your work back to the OpenACS core.

    The basic steps for translators:

    • Go to the Localization page and choose the locale that you are translating to. If the locale is not present you need to visit Administration of Localization and create the locale.

    • Translating with Translator Mode. To translate messages in the pages they appear, Toggle Translator Mode and then browse to the page you want to translate. Untranslated messages will have a yellow background and a red star that you click to translate the message. Translated messages have a green star next to them that is a hyperlink to editing your translation. There is a history mechanism that allows you to see previous translations in case you would want to revert a translation.

      While in Translator mode, a list of all message keys appears at the bottom of each page.

    • Batch translation. To translate many messages at once, go to Administration of Localization, click on the locale to translate, then click on a package, and then click Batch edit these messages.

    When creating a new locale based on an existing one, such as creating the Guatamalan version of Spanish, you can copy the existing locale's catalog files using the script /packages/acs-core-docs/www/files/create-new-catalog.sh.

    View comments on this page at openacs.org
    +Translator's Guide

    Translator's Guide

    Most translators use the OpenACS Public Translation Server, because the process of getting new message keys onto the server and getting new translations back into the distribution are handled by the maintainers of that machine. You can also do translation work on your own OpenACS site; this makes your own translations more readily available to you but also means that your work will not be shared with other users unless you take extra steps (contacting an OpenACS core developer or submitting a patch) to get your work back to the OpenACS core.

    The basic steps for translators:

    • Go to the Localization page and choose the locale that you are translating to. If the locale is not present you need to visit Administration of Localization and create the locale.

    • Translating with Translator Mode. To translate messages in the pages they appear, Toggle Translator Mode and then browse to the page you want to translate. Untranslated messages will have a yellow background and a red star that you click to translate the message. Translated messages have a green star next to them that is a hyperlink to editing your translation. There is a history mechanism that allows you to see previous translations in case you would want to revert a translation.

      While in Translator mode, a list of all message keys appears at the bottom of each page.

    • Batch translation. To translate many messages at once, go to Administration of Localization, click on the locale to translate, then click on a package, and then click Batch edit these messages.

    When creating a new locale based on an existing one, such as creating the Guatamalan version of Spanish, you can copy the existing locale's catalog files using the script /packages/acs-core-docs/www/files/create-new-catalog.sh.

    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/i18n.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n.html,v diff -u -N -r1.34 -r1.34.2.1 --- openacs-4/packages/acs-core-docs/www/i18n.html 27 Oct 2014 16:39:19 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/i18n.html 9 Jun 2016 08:44:50 -0000 1.34.2.1 @@ -1,5 +1,5 @@ -Chapter 14. Internationalization

    Chapter 14. Internationalization

    +Chapter 14. Internationalization

    Chapter 14. Internationalization

    By Peter Marklund and Lars Pind

    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.7 -r1.26.2.8 --- openacs-4/packages/acs-core-docs/www/index.adp 1 Dec 2015 14:38:42 -0000 1.26.2.7 +++ openacs-4/packages/acs-core-docs/www/index.adp 9 Jun 2016 08:44:50 -0000 1.26.2.8 @@ -9,7 +9,7 @@

    -OpenACS Core Documentation


    +OpenACS Core Documentation

    Table of Contents

    I. OpenACS For @@ -33,7 +33,7 @@ PostgreSQL
    Install AOLserver 4
    Install OpenACS 5.7.0
    OpenACS -Installation Guide for Windows2000
    OpenACS +Installation Guide for Windows
    OpenACS Installation Guide for Mac OS X
    4. Configuring a new OpenACS Site
    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.5 -r1.53.2.6 --- openacs-4/packages/acs-core-docs/www/index.html 1 Dec 2015 14:38:42 -0000 1.53.2.5 +++ openacs-4/packages/acs-core-docs/www/index.html 9 Jun 2016 08:44:50 -0000 1.53.2.6 @@ -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 Windows
    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/individual-programs.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/individual-programs.adp,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/individual-programs.adp 28 Sep 2015 07:54:17 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/individual-programs.adp 9 Jun 2016 08:44:50 -0000 1.1.2.5 @@ -18,7 +18,7 @@ environment, Mail Transport Agent, and source control system, are also needed for a fully effective installation.

    Table 2.2. Version -Compatibility Matrix

    +Compatibility Matrix

    @@ -102,10 +102,10 @@ “OpenACS Installation Guide for Mac OS X”

  • -Windows/VMWare. the section called +Windows/VMWare. the section called “OpenACS Installation Guide for -Windows2000” The only way to run OpenACS on Windows -is through the VMWare emulator. (Please let me know if you have +Windows” The only way to run OpenACS on Windows is +through the VMWare emulator. (Please let me know if you have OpenACS running directly in Windows.)

  • Index: openacs-4/packages/acs-core-docs/www/individual-programs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/individual-programs.html,v diff -u -N -r1.33.2.5 -r1.33.2.6 --- openacs-4/packages/acs-core-docs/www/individual-programs.html 1 Dec 2015 14:38:42 -0000 1.33.2.5 +++ openacs-4/packages/acs-core-docs/www/individual-programs.html 9 Jun 2016 08:44:50 -0000 1.33.2.6 @@ -1,13 +1,13 @@ -Prerequisite Software
  • Prev Chapter 2. Installation Overview Next

    Prerequisite Software

    by Joel Aufrecht

    +Prerequisite Software

    Prerequisite Software

    by Joel Aufrecht

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

    OpenACS requires, at a minimum, an operating system, database, and webserver to work. Many additional programs, such as a build environment, Mail Transport Agent, and source control system, are also needed for a fully effective installation. -

    Table 2.2. Version Compatibility Matrix

    OpenACS Version3.2.5 4.5 4.6 4.6.14.6.24.6.35.05.15.25.35.45.5
    AOLserver3YesNo
    3.3+ad13MaybeYesNo
    3.3oacs1MaybeYesNo
    3.4.4No
    3.4.4oacs1MaybeYesNo
    3.5.5MaybeYesNo
    4.0MaybeYes
    4.5NoYes
    Tcl8.4Yes
    8.5.4 -Maybe
    PostgreSQL7.0YesNo
    7.2MaybeYesNo
    7.3.2 - 7.3.xNoYesNo
    7.4NoYesNo
    8.0NoMaybeYes
    8.1NoYes
    8.2NoCVS version onlyYes
    8.3NoYes
    Oracle8.1.6MaybeYesMaybe
    8.1.7MaybeYesMaybe
    9iNoYes
    10gNoYes
    11gNoMaybe

    The OpenACS installation instructions assume the operating system and build environment are installed. +

    Table 2.2. Version Compatibility Matrix

    OpenACS Version3.2.5 4.5 4.6 4.6.14.6.24.6.35.05.15.25.35.45.5
    AOLserver3YesNo
    3.3+ad13MaybeYesNo
    3.3oacs1MaybeYesNo
    3.4.4No
    3.4.4oacs1MaybeYesNo
    3.5.5MaybeYesNo
    4.0MaybeYes
    4.5NoYes
    Tcl8.4Yes
    8.5.4 -Maybe
    PostgreSQL7.0YesNo
    7.2MaybeYesNo
    7.3.2 - 7.3.xNoYesNo
    7.4NoYesNo
    8.0NoMaybeYes
    8.1NoYes
    8.2NoCVS version onlyYes
    8.3NoYes
    Oracle8.1.6MaybeYesMaybe
    8.1.7MaybeYesMaybe
    9iNoYes
    10gNoYes
    11gNoMaybe

    The OpenACS installation instructions assume the operating system and build environment are installed. The instructions explain installation of Tcl, Tcllib, tDOM, tclwebtest, a Web Server, a Database, a Process Controller, and Source Control software. The following external links are for reference only.

  • Build Environment. The Reference Platform installation compiles most programs from 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.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/install-cvs.adp 1 Dec 2015 14:38:42 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/install-cvs.adp 9 Jun 2016 08:44:50 -0000 1.1.2.6 @@ -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.5 -r1.40.2.6
    --- openacs-4/packages/acs-core-docs/www/install-cvs.html	1 Dec 2015 14:38:42 -0000	1.40.2.5
    +++ openacs-4/packages/acs-core-docs/www/install-cvs.html	9 Jun 2016 08:44:50 -0000	1.40.2.6
    @@ -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.5 -r1.1.2.6
    --- openacs-4/packages/acs-core-docs/www/install-daemontools.adp	1 Dec 2015 14:38:43 -0000	1.1.2.5
    +++ openacs-4/packages/acs-core-docs/www/install-daemontools.adp	9 Jun 2016 08:44:50 -0000	1.1.2.6
    @@ -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.5 -r1.41.2.6 --- openacs-4/packages/acs-core-docs/www/install-daemontools.html 1 Dec 2015 14:38:43 -0000 1.41.2.5 +++ openacs-4/packages/acs-core-docs/www/install-daemontools.html 9 Jun 2016 08:44:50 -0000 1.41.2.6 @@ -1,10 +1,10 @@ -Install Daemontools (OPTIONAL)

        Install Daemontools (OPTIONAL)

        Daemontools is a collection of programs for controlling +Install Daemontools (OPTIONAL)

        Install Daemontools (OPTIONAL)

        Daemontools is a collection of programs for controlling other processes. We use daemontools to run and monitor AOLserver. It is 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.5 -r1.1.2.6
                --- openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.adp	1 Dec 2015 14:38:43 -0000	1.1.2.5
                +++ openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.adp	9 Jun 2016 08:44:50 -0000	1.1.2.6
                @@ -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.5 -r1.11.2.6
        --- openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.html	1 Dec 2015 14:38:43 -0000	1.11.2.5
        +++ openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.html	9 Jun 2016 08:44:50 -0000	1.11.2.6
        @@ -1,12 +1,12 @@
         
        -Install Full Text Search using OpenFTS (deprecated see tsearch2)

        Install Full Text Search using OpenFTS (deprecated see tsearch2)

        By Joel Aufrecht and Malte Sussdorff

        +Install Full Text Search using OpenFTS (deprecated see tsearch2)

        Install Full Text Search using OpenFTS (deprecated see tsearch2)

        By Joel Aufrecht and Malte Sussdorff

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

        OpenFTS and tsearch1 use is deprecated in favor of 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.5 -r1.1.2.6
    --- openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.adp	1 Dec 2015 14:38:43 -0000	1.1.2.5
    +++ openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.adp	9 Jun 2016 08:44:50 -0000	1.1.2.6
    @@ -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.5 -r1.11.2.6 --- openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.html 1 Dec 2015 14:38:43 -0000 1.11.2.5 +++ openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.html 9 Jun 2016 08:44:50 -0000 1.11.2.6 @@ -1,12 +1,12 @@ -Install Full Text Search using Tsearch2

    Install Full Text Search using Tsearch2

    By Dave +Install Full Text Search using Tsearch2

    Install Full Text Search using Tsearch2

    By Dave Bauer, Joel Aufrecht and Malte Sussdorff with help from Tsearch 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-ldap-radius.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-ldap-radius.html,v diff -u -N -r1.10 -r1.10.2.1 --- openacs-4/packages/acs-core-docs/www/install-ldap-radius.html 27 Oct 2014 16:39:20 -0000 1.10 +++ openacs-4/packages/acs-core-docs/www/install-ldap-radius.html 9 Jun 2016 08:44:50 -0000 1.10.2.1 @@ -1,5 +1,5 @@ -Install LDAP for use as external authentication

    Install LDAP for use as external authentication

    By Malte Sussdorff

    +Install LDAP for use as external authentication

    Install LDAP for use as external authentication

    By Malte Sussdorff

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

    This step by step guide on how to use LDAP for external authentication using the LDAP bind command, which differs from the approach usually taken by auth-ldap. Both will be dealt with in these section

    1. Install openldap. Download and install ns_ldap

      [root aolserver]# cd /usr/local/src/
      Index: openacs-4/packages/acs-core-docs/www/install-more-software.html
      ===================================================================
      RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-more-software.html,v
      diff -u -N -r1.22 -r1.22.2.1
      --- openacs-4/packages/acs-core-docs/www/install-more-software.html	27 Oct 2014 16:39:20 -0000	1.22
      +++ openacs-4/packages/acs-core-docs/www/install-more-software.html	9 Jun 2016 08:44:50 -0000	1.22.2.1
      @@ -1,5 +1,5 @@
       
      -Appendix B. Install additional supporting software

      Appendix B. Install additional supporting software

      By Joel Aufrecht

      +Appendix B. Install additional supporting software

      Appendix B. Install additional supporting software

      By Joel Aufrecht

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

      This section assumes that the source tarballs for supporting Index: openacs-4/packages/acs-core-docs/www/install-next-add-server.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-next-add-server.html,v diff -u -N -r1.17 -r1.17.2.1 --- openacs-4/packages/acs-core-docs/www/install-next-add-server.html 27 Oct 2014 16:39:20 -0000 1.17 +++ openacs-4/packages/acs-core-docs/www/install-next-add-server.html 9 Jun 2016 08:44:50 -0000 1.17.2.1 @@ -1,5 +1,5 @@ -Running multiple services on one machine

      Running multiple services on one machine

      Services on different ports. To run a different service on another port but the same +Running multiple services on one machine

      Running multiple services on one machine

      Services on different ports. To run a different service on another port but the same ip, simply repeat Install OpenACS 5.7.0 replacing $OPENACS_SERVICE_NAME, and change the

      set httpport              8000
      Index: openacs-4/packages/acs-core-docs/www/install-next-backups.html
      ===================================================================
      RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-next-backups.html,v
      diff -u -N -r1.12 -r1.12.2.1
      --- openacs-4/packages/acs-core-docs/www/install-next-backups.html	27 Oct 2014 16:39:20 -0000	1.12
      +++ openacs-4/packages/acs-core-docs/www/install-next-backups.html	9 Jun 2016 08:44:50 -0000	1.12.2.1
      @@ -1,5 +1,5 @@
       
      -Backup Strategy

      Backup Strategy

      +Backup Strategy

      Backup Strategy

      The purpose of backup is to enable recovery. Backup and recovery are always risky; here are some steps that minimize the chance recovery is necessary: Index: openacs-4/packages/acs-core-docs/www/install-next-nightly-vacuum.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-next-nightly-vacuum.html,v diff -u -N -r1.23.2.5 -r1.23.2.6 --- openacs-4/packages/acs-core-docs/www/install-next-nightly-vacuum.html 1 Dec 2015 14:38:43 -0000 1.23.2.5 +++ openacs-4/packages/acs-core-docs/www/install-next-nightly-vacuum.html 9 Jun 2016 08:44:50 -0000 1.23.2.6 @@ -1,5 +1,5 @@ -Vacuum Postgres nightly

      Vacuum Postgres nightly

      +Vacuum Postgres nightly

      Vacuum Postgres nightly

      The "vacuum" command must be run periodically to reclaim space in versions of PostgreSQL before 7.4. The "vacuum analyze" form additionally collects statistics on the Index: openacs-4/packages/acs-core-docs/www/install-nsopenssl.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-nsopenssl.html,v diff -u -N -r1.26 -r1.26.2.1 --- openacs-4/packages/acs-core-docs/www/install-nsopenssl.html 27 Oct 2014 16:39:20 -0000 1.26 +++ openacs-4/packages/acs-core-docs/www/install-nsopenssl.html 9 Jun 2016 08:44:50 -0000 1.26.2.1 @@ -1,5 +1,5 @@ -Install nsopenssl

      Install nsopenssl

      By Joel Aufrecht and Malte Sussdorff

      +Install nsopenssl

      Install nsopenssl

      By Joel Aufrecht and Malte Sussdorff

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

      This AOLserver module is required if you want people to connect to your site via Index: openacs-4/packages/acs-core-docs/www/install-nspam.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-nspam.html,v diff -u -N -r1.17 -r1.17.2.1 --- openacs-4/packages/acs-core-docs/www/install-nspam.html 27 Oct 2014 16:39:20 -0000 1.17 +++ openacs-4/packages/acs-core-docs/www/install-nspam.html 9 Jun 2016 08:44:50 -0000 1.17.2.1 @@ -1,2 +1,2 @@ -Install nspam

      View comments on this page at openacs.org
      +Install nspam
      View comments on this page at openacs.org
      Index: openacs-4/packages/acs-core-docs/www/install-openacs-delete-tablespace.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-openacs-delete-tablespace.html,v diff -u -N -r1.13 -r1.13.2.1 --- openacs-4/packages/acs-core-docs/www/install-openacs-delete-tablespace.html 27 Oct 2014 16:39:20 -0000 1.13 +++ openacs-4/packages/acs-core-docs/www/install-openacs-delete-tablespace.html 9 Jun 2016 08:44:50 -0000 1.13.2.1 @@ -1,5 +1,5 @@ -Deleting a tablespace

      Deleting a tablespace

      Skip down for instructions on Deleting a PostgreSQL tablespace. +Deleting a tablespace

      Deleting a tablespace

      Skip down for instructions on Deleting a PostgreSQL tablespace.

      Deleting an Oracle tablespace

      Should it become necessary to rebuild a tablespace from scratch, you can use the drop user command Index: openacs-4/packages/acs-core-docs/www/install-openacs-inittab.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-openacs-inittab.html,v diff -u -N -r1.13 -r1.13.2.1 --- openacs-4/packages/acs-core-docs/www/install-openacs-inittab.html 27 Oct 2014 16:39:20 -0000 1.13 +++ openacs-4/packages/acs-core-docs/www/install-openacs-inittab.html 9 Jun 2016 08:44:50 -0000 1.13.2.1 @@ -1,5 +1,5 @@ -AOLserver keepalive with inittab

      AOLserver keepalive with inittab

      This is an alternative method for keeping the AOLserver +AOLserver keepalive with inittab

      AOLserver keepalive with inittab

      This is an alternative method for keeping the AOLserver process running. The recommended method is to run AOLserver supervised.

      This step should be completed as root. This can break every service 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.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.adp 1 Dec 2015 14:38:44 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.adp 9 Jun 2016 08:44:50 -0000 1.1.2.6 @@ -112,8 +112,8 @@ commands.

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

    -

    Table 6.1. How it -Works

    +

    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.5 -r1.24.2.6 --- openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html 1 Dec 2015 14:38:44 -0000 1.24.2.5 +++ openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html 9 Jun 2016 08:44:50 -0000 1.24.2.6 @@ -1,5 +1,5 @@ -Starting and Stopping an OpenACS instance.
    Prev Chapter 6. Production Environments Next

    Starting and Stopping an OpenACS instance.

    The simplest way to start and stop and OpenACS site is to run the startup shell script provided, /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/daemontools/run. This runs as a regular task, and logs to the logfile. To stop the site, kill the script.

    A more stable way to run OpenACS is with a "keepalive" mechanism of some sort, so that whenever the server halts or is stopped for a reset, it restarts automatically. This is recommended for development and production servers.

    The Reference Platform uses Daemontools to control AOLserver. A simpler method, using init, is here.

    1. Daemontools must already be installed. If not, install it.

    2. Each service controlled by daemontools must have a +Starting and Stopping an OpenACS instance.

      Starting and Stopping an OpenACS instance.

      The simplest way to start and stop and OpenACS site is to run the startup shell script provided, /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/daemontools/run. This runs as a regular task, and logs to the logfile. To stop the site, kill the script.

      A more stable way to run OpenACS is with a "keepalive" mechanism of some sort, so that whenever the server halts or is stopped for a reset, it restarts automatically. This is recommended for development and production servers.

      The Reference Platform uses Daemontools to control AOLserver. A simpler method, using init, is here.

      1. Daemontools must already be installed. If not, install it.

      2. Each service controlled by daemontools must have a directory in /service. That directory must have a file called run. It works like this:

      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-origins.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-origins.html,v diff -u -N -r1.16 -r1.16.2.1 --- openacs-4/packages/acs-core-docs/www/install-origins.html 27 Oct 2014 16:39:21 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/install-origins.html 9 Jun 2016 08:44:50 -0000 1.16.2.1 @@ -1,5 +1,5 @@ -Where did this document come from?

      Where did this document come from?

      +Where did this document come from?

      Where did this document come from?

      This document was created by Vinod Kurup, but it's really just plagiarism from a number of documents that came before it. If I've used something that you've written without proper credit, let me Index: openacs-4/packages/acs-core-docs/www/install-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-overview.html,v diff -u -N -r1.33 -r1.33.2.1 --- openacs-4/packages/acs-core-docs/www/install-overview.html 27 Oct 2014 16:39:21 -0000 1.33 +++ openacs-4/packages/acs-core-docs/www/install-overview.html 9 Jun 2016 08:44:50 -0000 1.33.2.1 @@ -1,5 +1,5 @@ -Chapter 2. Installation Overview

      Chapter 2. Installation Overview

      by Vinod Kurup

      +Chapter 2. Installation Overview

      Chapter 2. Installation Overview

      by Vinod Kurup

      OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.
      View comments on this page at openacs.org
      Index: openacs-4/packages/acs-core-docs/www/install-pam-radius.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-pam-radius.html,v diff -u -N -r1.10 -r1.10.2.1 --- openacs-4/packages/acs-core-docs/www/install-pam-radius.html 27 Oct 2014 16:39:21 -0000 1.10 +++ openacs-4/packages/acs-core-docs/www/install-pam-radius.html 9 Jun 2016 08:44:50 -0000 1.10.2.1 @@ -1,5 +1,5 @@ -Install PAM Radius for use as external authentication

      Install PAM Radius for use as external authentication

      By Malte Sussdorff

      +Install PAM Radius for use as external authentication

      Install PAM Radius for use as external authentication

      By Malte Sussdorff

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

      This step by step guide is derived from the installation instructions which you can find at yourdomain.com/doc/acs-authentication/ext-auth-pam-install.html. It is build upon PAM 0.77 (tested) and does not work on RedHat Linux Enterprise 3 (using PAM 0.75). It makes use of the ns_pam module written by Mat Kovach. The instructions given in here do work with PAM LDAP accordingly and differences will be shown at the end of the file.

      1. Install ns_pam. Download and install ns_pam

        [root aolserver]# cd /usr/local/src/aolserver/
        Index: openacs-4/packages/acs-core-docs/www/install-php.html
        ===================================================================
        RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-php.html,v
        diff -u -N -r1.15 -r1.15.2.1
        --- openacs-4/packages/acs-core-docs/www/install-php.html	27 Oct 2014 16:39:21 -0000	1.15
        +++ openacs-4/packages/acs-core-docs/www/install-php.html	9 Jun 2016 08:44:50 -0000	1.15.2.1
        @@ -1,5 +1,5 @@
         
        -Install PHP for use in AOLserver

        Install PHP for use in AOLserver

        By Malte Sussdorff

        +Install PHP for use in AOLserver

        Install PHP for use in AOLserver

        By Malte Sussdorff

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

        To be able to use PHP software with AOLserver (and OpenACS), you have to install PHP with AOLserver support. Get the latest version from www.php.net. For convenience we get version 4.3.4 from a mirror

        [root root]# cd /usr/local/src
        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.5 -r1.1.2.6
        --- openacs-4/packages/acs-core-docs/www/install-qmail.adp	1 Dec 2015 14:38:44 -0000	1.1.2.5
        +++ openacs-4/packages/acs-core-docs/www/install-qmail.adp	9 Jun 2016 08:44:50 -0000	1.1.2.6
        @@ -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 @@

      2. -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.5 -r1.41.2.6
        --- openacs-4/packages/acs-core-docs/www/install-qmail.html	1 Dec 2015 14:38:44 -0000	1.41.2.5
        +++ openacs-4/packages/acs-core-docs/www/install-qmail.html	9 Jun 2016 08:44:50 -0000	1.41.2.6
        @@ -1,5 +1,5 @@
         
        -Install qmail (OPTIONAL)

        Install qmail (OPTIONAL)

        Qmail is a Mail Transfer Agent. It handles incoming and +Install qmail (OPTIONAL)

        Install qmail (OPTIONAL)

        Qmail is a Mail Transfer Agent. It handles incoming and outgoing mail. Install qmail if you want your OpenACS server to send and receive mail, and you don't want to use an alternate MTA.

        Red Hat 9: all djb tools (qmail, daemontools, ucspi) will @@ -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 
      3. Install Qmail. 

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

      4. 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.5 -r1.1.2.6
        --- openacs-4/packages/acs-core-docs/www/install-redhat.adp	1 Dec 2015 14:38:44 -0000	1.1.2.5
        +++ openacs-4/packages/acs-core-docs/www/install-redhat.adp	9 Jun 2016 08:44:50 -0000	1.1.2.6
        @@ -37,7 +37,7 @@
         
      5. 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.")

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

    3. -

      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.

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

    5. 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.5 -r1.41.2.6 --- openacs-4/packages/acs-core-docs/www/install-redhat.html 1 Dec 2015 14:38:44 -0000 1.41.2.5 +++ openacs-4/packages/acs-core-docs/www/install-redhat.html 9 Jun 2016 08:44:50 -0000 1.41.2.6 @@ -1,5 +1,5 @@ -Appendix A. Install Red Hat 8/9

        Appendix A. Install Red Hat 8/9

        by Joel Aufrecht

        +Appendix A. Install Red Hat 8/9

        Appendix A. Install Red Hat 8/9

        by Joel Aufrecht

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

        This section takes a blank PC and sets up some supporting @@ -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

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

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

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

    9. Choose your time zone and click Next.

    10. Type in a root password, twice.

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

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

    13. 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
    14. 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
    15. 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.

    16. 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-resources.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-resources.html,v diff -u -N -r1.16 -r1.16.2.1 --- openacs-4/packages/acs-core-docs/www/install-resources.html 27 Oct 2014 16:39:21 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/install-resources.html 9 Jun 2016 08:44:50 -0000 1.16.2.1 @@ -1,5 +1,5 @@ -Resources

        Resources

        +Resources

        Resources

        Here are some resources that OpenACS users have found useful.

        Books

        • Index: openacs-4/packages/acs-core-docs/www/install-squirrelmail.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-squirrelmail.html,v diff -u -N -r1.16 -r1.16.2.1 --- openacs-4/packages/acs-core-docs/www/install-squirrelmail.html 27 Oct 2014 16:39:21 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/install-squirrelmail.html 9 Jun 2016 08:44:50 -0000 1.16.2.1 @@ -1,5 +1,5 @@ -Install Squirrelmail for use as a webmail system for OpenACS

          Install Squirrelmail for use as a webmail system for OpenACS

          By Malte Sussdorff

          +Install Squirrelmail for use as a webmail system for OpenACS

          Install Squirrelmail for use as a webmail system for OpenACS

          By Malte Sussdorff

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

          This section is work in progress. It will detail how you can install Squirrelmail as a webmail frontend for OpenACS, thereby neglecting the need to have a seperate webmail package within OpenACS

          [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]# cd www
          Index: openacs-4/packages/acs-core-docs/www/install-ssl.html
          ===================================================================
          RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-ssl.html,v
          diff -u -N -r1.15 -r1.15.2.1
          --- openacs-4/packages/acs-core-docs/www/install-ssl.html	27 Oct 2014 16:39:21 -0000	1.15
          +++ openacs-4/packages/acs-core-docs/www/install-ssl.html	9 Jun 2016 08:44:50 -0000	1.15.2.1
          @@ -1,5 +1,5 @@
           
          -Installing SSL Support for an OpenACS service

          Installing SSL Support for an OpenACS service

          Debian Users: apt-get install openssl before proceeding.

          1. Make sure nsopenssl.so is installed for AOLserver.

          2. Uncomment this line from config.tcl.

            #ns_param   nsopenssl       ${bindir}/nsopenssl.so
            +Installing SSL Support for an OpenACS service

            Installing SSL Support for an OpenACS service

            Debian Users: apt-get install openssl before proceeding.

            1. Make sure nsopenssl.so is installed for AOLserver.

            2. Uncomment this line from config.tcl.

              #ns_param   nsopenssl       ${bindir}/nsopenssl.so
               
            3. Prepare a certificate directory for the service.

              [$OPENACS_SERVICE_NAME etc]$ mkdir /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/certs
               [$OPENACS_SERVICE_NAME etc]$ chmod 700 /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/certs
               [$OPENACS_SERVICE_NAME etc]$ 
              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.7 -r1.1.2.8
              --- openacs-4/packages/acs-core-docs/www/install-steps.adp	1 Dec 2015 14:38:44 -0000	1.1.2.7
              +++ openacs-4/packages/acs-core-docs/www/install-steps.adp	9 Jun 2016 08:44:50 -0000	1.1.2.8
              @@ -25,9 +25,9 @@
               

            Specific instructions are available for Mac OS X and Windows2000 (see the section called “OpenACS Installation Guide for Mac OS -X” or the section called +X” or the section called “OpenACS Installation Guide for -Windows2000”).

            +Windows”).

            Binaries and other shortcuts

            You can try out OpenACS using some binary installers. In general, they are not yet supported by the community, so they are @@ -106,9 +106,9 @@

        -Paths and Users

        -

        Table 2.1. Default -directories for a standard install

        +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.5 -r1.35.2.6 --- openacs-4/packages/acs-core-docs/www/install-steps.html 1 Dec 2015 14:38:44 -0000 1.35.2.5 +++ openacs-4/packages/acs-core-docs/www/install-steps.html 9 Jun 2016 08:44:50 -0000 1.35.2.6 @@ -1,5 +1,5 @@ -Basic Steps
        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
        Prev Chapter 2. Installation Overview Next

        Basic Steps

        Most of the documentation in this section is kept as a +Basic Steps

        Basic Steps

        Most of the documentation in this section is kept as a reference. More up-to-date documentation is in the install sections in the Wiki.

        @@ -10,7 +10,7 @@ use the OpenACS web pages to complete installation (see Install OpenACS 5.7.0).

      Specific instructions are available for Mac OS X and Windows2000 (see the section called “OpenACS Installation Guide for Mac OS X” or - the section called “OpenACS Installation Guide for Windows2000”).

      Binaries and other shortcuts

      You can try out OpenACS using some binary installers. In + the section called “OpenACS Installation Guide for Windows”).

      Binaries and other shortcuts

      You can try out OpenACS using some binary installers. In general, they are not yet supported by the community, so they are mostly for evaluation purposes. Installing OpenACS

      You can see a list of current installers. @@ -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
    17. 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 +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/install-tclwebtest.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-tclwebtest.html,v diff -u -N -r1.20 -r1.20.2.1 --- openacs-4/packages/acs-core-docs/www/install-tclwebtest.html 27 Oct 2014 16:39:22 -0000 1.20 +++ openacs-4/packages/acs-core-docs/www/install-tclwebtest.html 9 Jun 2016 08:44:50 -0000 1.20.2.1 @@ -1,5 +1,5 @@ -Install tclwebtest.

      Install tclwebtest.

      Download the tclwebtest +Install tclwebtest.

      Install tclwebtest.

      Download the tclwebtest source, unpack it, and put it an appropriate place. (tclwebtest 1.0 will be required for auto-tests in OpenACS 5.1. When it exists, the cvs command here will be replaced with http://prdownloads.sourceforge.net/tclwebtest/tclwebtest-0.3.tar.gz?download.) As root:

      cd /tmp
       cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/tclwebtest co tclwebtest
      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.6 -r1.1.2.7
      --- openacs-4/packages/acs-core-docs/www/ix01.adp	1 Dec 2015 14:38:45 -0000	1.1.2.6
      +++ openacs-4/packages/acs-core-docs/www/ix01.adp	9 Jun 2016 08:44:50 -0000	1.1.2.7
      @@ -8,22 +8,23 @@
       		    rightLink="" rightLabel="">
       		

      -Index

      +Index
      -

      Symbols

      $OPENACS_SERVICE_NAME, Paths and Users +

      Symbols

      $OPENACS_SERVICE_NAME, Paths and +Users

      C

      -
      computeroutput
      code, Code -
      cvs
      +
      computeroutput
      code, Code +
      cvs
      initializing, Initialize CVS (OPTIONAL)
      setup, Using CVS with an OpenACS Site @@ -32,61 +33,62 @@

      D

      -
      daemontools
      installation, Install Daemontools (OPTIONAL) -
      docbook
      installation, Install Red Hat 8/9 -
      DocBook
      +
      daemontools
      installation, Install Daemontools (OPTIONAL) +
      docbook
      installation, Install Red Hat 8/9 +
      DocBook
      DTD, OpenACS Documentation Strategy: Why DocBook?
      emacs configuration for, Add PSGML commands to emacs init file (OPTIONAL)
      -
      Document structure, Document +
      Document structure, Document Structure

      E

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

      G

      -
      Graphics
      Images, Graphics +
      Graphics
      Images, Graphics

      I

      -
      informaltable
      table, Tables +
      informaltable
      table, Tables

      L

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

      O

      OpenACS Package, What a Package Looks Like +

      O

      OpenACS Package, What a Package +Looks Like

      Q

      -
      qmail
      +
      qmail
      installation, Install qmail (OPTIONAL)
      Maildir, Install qmail (OPTIONAL) @@ -96,39 +98,39 @@

      U

      -
      ulink, Links -
      upgrade
      +
      ulink, Links +
      upgrade
      OpenACS 4.5 to 4.6.x
      Linux/Unix, Upgrading 4.5 or higher to 4.6.3

      X

      -
      XML guidelines, OpenACS Documentation Strategy: -Why DocBook? -
      xref
      linkend, Links -
      xreflabel, Headlines, +
      XML guidelines, OpenACS +Documentation Strategy: Why DocBook? +
      xref
      linkend, Links +
      xreflabel, Headlines, Sections
      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.5 -r1.29.2.6 --- openacs-4/packages/acs-core-docs/www/ix01.html 1 Dec 2015 14:38:45 -0000 1.29.2.5 +++ openacs-4/packages/acs-core-docs/www/ix01.html 9 Jun 2016 08:44:50 -0000 1.29.2.6 @@ -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 - 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

      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/kernel-doc.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/kernel-doc.html,v diff -u -N -r1.37 -r1.37.2.1 --- openacs-4/packages/acs-core-docs/www/kernel-doc.html 27 Oct 2014 16:39:22 -0000 1.37 +++ openacs-4/packages/acs-core-docs/www/kernel-doc.html 9 Jun 2016 08:44:50 -0000 1.37.2.1 @@ -1,2 +1,2 @@ -Chapter 15. Kernel Documentation
      View comments on this page at openacs.org
      +Chapter 15. Kernel Documentation
      View comments on this page at openacs.org
      Index: openacs-4/packages/acs-core-docs/www/kernel-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/kernel-overview.html,v diff -u -N -r1.31 -r1.31.2.1 --- openacs-4/packages/acs-core-docs/www/kernel-overview.html 27 Oct 2014 16:39:22 -0000 1.31 +++ openacs-4/packages/acs-core-docs/www/kernel-overview.html 9 Jun 2016 08:44:50 -0000 1.31.2.1 @@ -1,5 +1,5 @@ -Overview

      Overview

      • +Overview

        Overview

        • The OpenACS Kernel, which handles system-wide necessities such as metadata, security, users and groups, subsites, and package Index: openacs-4/packages/acs-core-docs/www/mac-installation.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/mac-installation.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/mac-installation.adp 28 Sep 2015 07:54:20 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/mac-installation.adp 9 Jun 2016 08:44:50 -0000 1.1.2.4 @@ -16,7 +16,7 @@

        -OpenACS Installation Guide for Mac OS X

        OpenACS Installation Guide for Mac OS X

        - See the wiki for an actual guideline: Installing OpenACS on Mac OS X

        ($Id$)
        View comments on this page at openacs.org
        +OpenACS Installation Guide for Mac OS X

        OpenACS Installation Guide for Mac OS X

        + See the wiki for an actual guideline: Installing OpenACS on Mac OS X

        ($Id$)
        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.6 -r1.1.2.7 --- openacs-4/packages/acs-core-docs/www/maint-performance.adp 1 Dec 2015 14:38:45 -0000 1.1.2.6 +++ openacs-4/packages/acs-core-docs/www/maint-performance.adp 9 Jun 2016 08:44:50 -0000 1.1.2.7 @@ -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.5 -r1.29.2.6 --- openacs-4/packages/acs-core-docs/www/maint-performance.html 1 Dec 2015 14:38:45 -0000 1.29.2.5 +++ openacs-4/packages/acs-core-docs/www/maint-performance.html 9 Jun 2016 08:44:50 -0000 1.29.2.6 @@ -1,8 +1,8 @@ -Diagnosing Performance Problems

        Diagnosing Performance Problems

        • Did performance problems happen overnight, or did they sneak up on +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.6 -r1.1.2.7 --- openacs-4/packages/acs-core-docs/www/maintenance-deploy.adp 1 Dec 2015 14:38:45 -0000 1.1.2.6 +++ openacs-4/packages/acs-core-docs/www/maintenance-deploy.adp 9 Jun 2016 08:44:50 -0000 1.1.2.7 @@ -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.5 -r1.24.2.6 --- openacs-4/packages/acs-core-docs/www/maintenance-deploy.html 1 Dec 2015 14:38:45 -0000 1.24.2.5 +++ openacs-4/packages/acs-core-docs/www/maintenance-deploy.html 9 Jun 2016 08:44:50 -0000 1.24.2.6 @@ -1,8 +1,8 @@ -Staged Deployment for Production Networks

      Staged Deployment for Production Networks

      ($Id$)

      By Joel Aufrecht

      +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/maintenance-web.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maintenance-web.html,v diff -u -N -r1.40 -r1.40.2.1 --- openacs-4/packages/acs-core-docs/www/maintenance-web.html 27 Oct 2014 16:39:22 -0000 1.40 +++ openacs-4/packages/acs-core-docs/www/maintenance-web.html 9 Jun 2016 08:44:50 -0000 1.40.2.1 @@ -1,5 +1,5 @@ -Chapter 6. Production Environments

      Chapter 6. Production Environments

      by Joel Aufrecht

      +Chapter 6. Production Environments
      View comments on this page at openacs.org
      Index: openacs-4/packages/acs-core-docs/www/nxml-mode.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/nxml-mode.html,v diff -u -N -r1.18 -r1.18.2.1 --- openacs-4/packages/acs-core-docs/www/nxml-mode.html 27 Oct 2014 16:39:22 -0000 1.18 +++ openacs-4/packages/acs-core-docs/www/nxml-mode.html 9 Jun 2016 08:44:50 -0000 1.18.2.1 @@ -1,5 +1,5 @@ -Using nXML mode in Emacs

      Using nXML mode in Emacs

      By Jeff Davis

      +Using nXML mode in Emacs

      Using nXML mode in Emacs

      By Jeff Davis

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

      Index: openacs-4/packages/acs-core-docs/www/object-identity.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-identity.html,v diff -u -N -r1.49.2.5 -r1.49.2.6 --- openacs-4/packages/acs-core-docs/www/object-identity.html 1 Dec 2015 14:38:46 -0000 1.49.2.5 +++ openacs-4/packages/acs-core-docs/www/object-identity.html 9 Jun 2016 08:44:50 -0000 1.49.2.6 @@ -1,5 +1,5 @@ -Object Identity

      Object Identity

      By Rafael H. Schloming

      +Object Identity

      Object Identity

      By Rafael H. Schloming

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

      One of the major design features of OpenACS 5.7.0 is the explicit representation Index: openacs-4/packages/acs-core-docs/www/object-system-design.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-system-design.adp,v diff -u -N -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/object-system-design.adp 23 Sep 2015 11:54:43 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/object-system-design.adp 9 Jun 2016 08:44:50 -0000 1.1.2.2 @@ -144,7 +144,7 @@ every OpenACS application had to manage access control to its data separately. Later on, a notion of "scoping" was introduced into the core data model.

      "Scope" is a term best explained by example. Consider some -hypothetical rows in the address_book table:

      +hypothetical rows in the address_book table:

      @@ -971,7 +971,7 @@ any remaining lies are his and his alone.

      -Revision History

      +Revision History
      Index: openacs-4/packages/acs-core-docs/www/object-system-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-system-design.html,v diff -u -N -r1.34 -r1.34.2.1 --- openacs-4/packages/acs-core-docs/www/object-system-design.html 27 Oct 2014 16:39:23 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/object-system-design.html 9 Jun 2016 08:44:50 -0000 1.34.2.1 @@ -1,5 +1,5 @@ -Object Model Design
      Prev Chapter 15. Kernel Documentation Next

      Object Model Design

      By Pete Su, Michael Yoon, Richard Li, Rafael Schloming

      +Object Model Design

      Object Model Design

      By Pete Su, Michael Yoon, Richard Li, Rafael Schloming

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

      Essentials

      Data Model

      Object Context and Access Control

      Until the implementation of the general permissions system, every OpenACS application had to manage access control to its data separately. Later on, a notion of "scoping" was introduced into the core data model.

      "Scope" is a term best explained by example. Consider some -hypothetical rows in the address_book table:

      ...scopeuser_idgroup_id...
      ...user123 ...
      ...group 456...
      ...public ...

      The first row represents an entry in User 123's personal address book, +hypothetical rows in the address_book table:

      ...scopeuser_idgroup_id...
      ...user123 ...
      ...group 456...
      ...public ...

      The first row represents an entry in User 123's personal address book, the second row represents an entry in User Group 456's shared address book, and the third row represents an entry in the site's public address book.

      In this way, the scoping columns identify the security context in which a @@ -857,5 +857,5 @@ type mechanism is a bit more complex, but in return it provides functionality on par with the old user/groups system in a more general way.

      Future Improvements/Areas of Likely Change

      Nothing here yet.

      Authors

      Pete Su generated this document from material culled from other documents by Michael Yoon, Richard Li and Rafael Schloming. But, any remaining lies -are his and his alone.

      Revision History

      Document Revision #Action Taken, NotesWhen?By Whom?
      0.1Creation9/09/2000Pete Su
      0.2Edited for ACS 4 Beta9/30/2000Kai Wu
      0.3Edited for ACS 4.0.1, fixed some mistakes, removed use of term +are his and his alone.

      Revision History

      Document Revision #Action Taken, NotesWhen?By Whom?
      0.1Creation9/09/2000Pete Su
      0.2Edited for ACS 4 Beta9/30/2000Kai Wu
      0.3Edited for ACS 4.0.1, fixed some mistakes, removed use of term "OM"11/07/2000Pete Su
      View comments on this page at openacs.org
      Index: openacs-4/packages/acs-core-docs/www/object-system-requirements.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-system-requirements.adp,v diff -u -N -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/object-system-requirements.adp 23 Sep 2015 11:54:43 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/object-system-requirements.adp 9 Jun 2016 08:44:50 -0000 1.1.2.2 @@ -77,7 +77,7 @@ permissions system, every OpenACS application had to manage access control to its data separately. Later on, a notion of "scoping" was introduced into the core data model.

      "Scope" is a term best explained by example. Consider some -hypothetical rows in the address_book table:

      +hypothetical rows in the address_book table:

      @@ -435,7 +435,7 @@

      -Revision History

      +Revision History
      Index: openacs-4/packages/acs-core-docs/www/object-system-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/object-system-requirements.html,v diff -u -N -r1.34 -r1.34.2.1 --- openacs-4/packages/acs-core-docs/www/object-system-requirements.html 27 Oct 2014 16:39:23 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/object-system-requirements.html 9 Jun 2016 08:44:50 -0000 1.34.2.1 @@ -1,5 +1,5 @@ -Object Model Requirements
      Prev Chapter 15. Kernel Documentation Next

      Object Model Requirements

      By Pete Su

      +Object Model Requirements

      Object Model Requirements

      By Pete Su

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

      I. Introduction

      A major goal in OpenACS 4 is to unify and normalize many of the core services @@ -50,7 +50,7 @@ OpenACS application had to manage access control to its data separately. Later on, a notion of "scoping" was introduced into the core data model.

      "Scope" is a term best explained by example. Consider some -hypothetical rows in the address_book table:

      ...scopeuser_idgroup_id...
      ...user123 ...
      ...group 456...
      ...public ...

      The first row represents an entry in User 123's personal address book, +hypothetical rows in the address_book table:

      ...scopeuser_idgroup_id...
      ...user123 ...
      ...group 456...
      ...public ...

      The first row represents an entry in User 123's personal address book, the second row represents an entry in User Group 456's shared address book, and the third row represents an entry in the site's public address book.

      In this way, the scoping columns identify the security context in which a @@ -261,7 +261,7 @@ application's data model. In other words, it should be easy to "hook into" the object model, and that ability should not have a major impact on the application data model.

      Note: Is the API the only way to obtain values? How does -this integrate with application level SQL queries?

      Revision History

      Document Revision #Action Taken, NotesWhen?By Whom?
      0.1Creation08/10/2000Bryan Quinn
      0.2Major re-write08/11/2000Pete Su
      0.3Draft completed after initial reviews08/22/2000Pete Su
      0.4Edited, updated to conform to requirements template, pending freeze08/23/2000Kai Wu
      Final edits before freeze08/24/2000Pete Su
      0.5Edited for consistency08/27/2000Kai Wu
      0.6Put Object ID stuff first, because it makes more sense08/28/2000Pete Su
      0.7Added requirement that knowledge-level objects must be moveable between +this integrate with application level SQL queries?

      Revision History

      Document Revision #Action Taken, NotesWhen?By Whom?
      0.1Creation08/10/2000Bryan Quinn
      0.2Major re-write08/11/2000Pete Su
      0.3Draft completed after initial reviews08/22/2000Pete Su
      0.4Edited, updated to conform to requirements template, pending freeze08/23/2000Kai Wu
      Final edits before freeze08/24/2000Pete Su
      0.5Edited for consistency08/27/2000Kai Wu
      0.6Put Object ID stuff first, because it makes more sense08/28/2000Pete Su
      0.7Added requirement that knowledge-level objects must be moveable between databases.08/29/2000Richard Li
      0.8Rewrote intro to match language and concepts in the design document. Also cleaned up usage a bit in the requirements section. Added short vague requirements on relation types.09/06/2000Pete Su
      0.9Edited for ACS 4 Beta release.09/30/2000Kai Wu
      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.6 -r1.1.2.7 --- openacs-4/packages/acs-core-docs/www/objects.adp 1 Dec 2015 14:38:46 -0000 1.1.2.6 +++ openacs-4/packages/acs-core-docs/www/objects.adp 9 Jun 2016 08:44:50 -0000 1.1.2.7 @@ -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.5 -r1.52.2.6 --- openacs-4/packages/acs-core-docs/www/objects.html 1 Dec 2015 14:38:46 -0000 1.52.2.5 +++ openacs-4/packages/acs-core-docs/www/objects.html 9 Jun 2016 08:44:50 -0000 1.52.2.6 @@ -1,5 +1,5 @@ -OpenACS Data Models and the Object System

      OpenACS Data Models and the Object System

      By Pete Su

      +OpenACS Data Models and the Object System

      OpenACS Data Models and the Object System

      By Pete Su

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

      Overview

      @@ -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-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs-overview.html,v diff -u -N -r1.29 -r1.29.2.1 --- openacs-4/packages/acs-core-docs/www/openacs-overview.html 27 Oct 2014 16:39:23 -0000 1.29 +++ openacs-4/packages/acs-core-docs/www/openacs-overview.html 9 Jun 2016 08:44:50 -0000 1.29.2.1 @@ -1,5 +1,5 @@ -Overview

      Overview

      +Overview

      Overview

      OpenACS (Open Architecture Community System) is an advanced toolkit for building scalable, community-oriented web applications. If you're thinking of building an Index: openacs-4/packages/acs-core-docs/www/openacs-unpack.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs-unpack.html,v diff -u -N -r1.29 -r1.29.2.1 --- openacs-4/packages/acs-core-docs/www/openacs-unpack.html 27 Oct 2014 16:39:23 -0000 1.29 +++ openacs-4/packages/acs-core-docs/www/openacs-unpack.html 9 Jun 2016 08:44:50 -0000 1.29.2.1 @@ -1,5 +1,5 @@ -Unpack the OpenACS tarball

      Unpack the OpenACS tarball

      The OpenACS tarball contains sample configuration files +Unpack the OpenACS tarball

      Unpack the OpenACS tarball

      The OpenACS tarball contains sample configuration files for some of the packages listed below. In order to access those files, unpack the tarball now.

      [root root]# cd /tmp
       [root tmp]# tar xzf openacs-5.7.0.tgz
      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.7 -r1.1.2.8
      --- openacs-4/packages/acs-core-docs/www/openacs.adp	1 Dec 2015 14:38:46 -0000	1.1.2.7
      +++ openacs-4/packages/acs-core-docs/www/openacs.adp	9 Jun 2016 08:44:50 -0000	1.1.2.8
      @@ -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
      @@ -613,7 +613,7 @@
        
       		
      \ No newline at end of file
      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.5 -r1.51.2.6
      --- openacs-4/packages/acs-core-docs/www/openacs.html	1 Dec 2015 14:38:46 -0000	1.51.2.5
      +++ openacs-4/packages/acs-core-docs/www/openacs.html	9 Jun 2016 08:44:50 -0000	1.51.2.6
      @@ -1,5 +1,5 @@
       
      -Install OpenACS 5.7.0

      Install OpenACS 5.7.0

      by Vinod Kurup

      +Install OpenACS 5.7.0

      Install OpenACS 5.7.0

      by Vinod Kurup

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

      Set up a user account for each site.

      @@ -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

    18. 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
    19. 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
       

      @@ -407,4 +407,4 @@ LD_LIBRARY_PATH=/ora8/m01/app/oracle/product/8.1.7/lib:/lib:/usr/lib ORACLE_SID=ora8 ORACLE_TERM=vt100 -ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

    20. Test your backup and recovery procedure.

    21. Set up the section called “External uptime validation”.

    22. ($Id$)
      View comments on this page at openacs.org
      +ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
    23. Test your backup and recovery procedure.

    24. Set up the section called “External uptime validation”.

    25. ($Id$)
      View comments on this page at openacs.org
      Index: openacs-4/packages/acs-core-docs/www/oracle.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/oracle.adp,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/oracle.adp 28 Sep 2015 07:54:21 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/oracle.adp 9 Jun 2016 08:44:50 -0000 1.1.2.5 @@ -939,7 +939,7 @@ and monitoring environment”

      -Defaults

      We used the following defaults while installing Oracle.

      +Defaults

      We used the following defaults while installing Oracle.

      Index: openacs-4/packages/acs-core-docs/www/oracle.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/oracle.html,v diff -u -N -r1.49.2.5 -r1.49.2.6 --- openacs-4/packages/acs-core-docs/www/oracle.html 1 Dec 2015 14:38:46 -0000 1.49.2.5 +++ openacs-4/packages/acs-core-docs/www/oracle.html 9 Jun 2016 08:44:50 -0000 1.49.2.6 @@ -1,5 +1,5 @@ -Install Oracle 8.1.7
      Prev Chapter 3. Complete Installation Next

      Install Oracle 8.1.7

      By Vinod Kurup

      +Install Oracle 8.1.7

      Install Oracle 8.1.7

      By Vinod Kurup

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

      @@ -1233,7 +1233,7 @@

       SQL> drop tablespace table_space_name including contents cascade constraints;

      For more information on Oracle, please consult the documentation. -

      Defaults

      We used the following defaults while installing Oracle.

      VariableValueReason
      ORACLE_HOME/ora8/m01/app/oracle/product/8.1.7This is the default Oracle installation directory.
      ORACLE_SERVICEora8The service name is a domain-qualified identifier for +

      Defaults

      We used the following defaults while installing Oracle.

      VariableValueReason
      ORACLE_HOME/ora8/m01/app/oracle/product/8.1.7This is the default Oracle installation directory.
      ORACLE_SERVICEora8The service name is a domain-qualified identifier for your Oracle server.
      ORACLE_SIDora8This is an identifier for your Oracle server.
      ORACLE_OWNERoracleThe user who owns all of the oracle files.
      ORACLE_GROUPdbaThe special oracle group. Users in the dba group are authorized to do a connect internal within Index: openacs-4/packages/acs-core-docs/www/os-install.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/os-install.html,v diff -u -N -r1.16 -r1.16.2.1 --- openacs-4/packages/acs-core-docs/www/os-install.html 27 Oct 2014 16:39:23 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/os-install.html 9 Jun 2016 08:44:50 -0000 1.16.2.1 @@ -1,5 +1,5 @@ -Linux Install Guides

      Linux Install Guides

      +Linux Install Guides

      Linux Install Guides

      Here's a list of some helpful documentation for various OS's

      • Painless Debian Index: openacs-4/packages/acs-core-docs/www/os-security.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/os-security.html,v diff -u -N -r1.16 -r1.16.2.1 --- openacs-4/packages/acs-core-docs/www/os-security.html 27 Oct 2014 16:39:23 -0000 1.16 +++ openacs-4/packages/acs-core-docs/www/os-security.html 9 Jun 2016 08:44:50 -0000 1.16.2.1 @@ -1,5 +1,5 @@ -Security Information

        Security Information

        +Security Information

        Security Information

        Once you get your OS installed, it's imperative that you secure your installation. As Jon Griffin repeatedly warns us, "No distribution is secure out of the box." The Reference Platform implements 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.6 -r1.1.2.7 --- openacs-4/packages/acs-core-docs/www/packages.adp 1 Dec 2015 14:38:47 -0000 1.1.2.6 +++ openacs-4/packages/acs-core-docs/www/packages.adp 9 Jun 2016 08:44:50 -0000 1.1.2.7 @@ -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,8 +136,8 @@
         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 -files

        +

        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.5 -r1.51.2.6 --- openacs-4/packages/acs-core-docs/www/packages.html 1 Dec 2015 14:38:47 -0000 1.51.2.5 +++ openacs-4/packages/acs-core-docs/www/packages.html 9 Jun 2016 08:44:50 -0000 1.51.2.6 @@ -1,5 +1,5 @@ -OpenACS Packages
        Prev Chapter 11. Development Reference Next

        OpenACS Packages

        By Pete Su and Bryan Quinn

        +OpenACS Packages

        OpenACS Packages

        By Pete Su and Bryan Quinn

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

        Overview

        @@ -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/parties.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/parties.html,v diff -u -N -r1.51.2.5 -r1.51.2.6 --- openacs-4/packages/acs-core-docs/www/parties.html 1 Dec 2015 14:38:47 -0000 1.51.2.5 +++ openacs-4/packages/acs-core-docs/www/parties.html 9 Jun 2016 08:44:50 -0000 1.51.2.6 @@ -1,5 +1,5 @@ -Parties in OpenACS

        Parties in OpenACS

        By Rafael H. Schloming

        +Parties in OpenACS

        Parties in OpenACS

        By Rafael H. Schloming

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

        Introduction

        While many applications must deal with individuals and many applications Index: openacs-4/packages/acs-core-docs/www/permissions-design.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-design.adp,v diff -u -N -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/permissions-design.adp 23 Sep 2015 11:54:46 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/permissions-design.adp 9 Jun 2016 08:44:50 -0000 1.1.2.2 @@ -255,7 +255,7 @@

        -Revision History

        +Revision History
        Index: openacs-4/packages/acs-core-docs/www/permissions-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-design.html,v diff -u -N -r1.34 -r1.34.2.1 --- openacs-4/packages/acs-core-docs/www/permissions-design.html 27 Oct 2014 16:39:24 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/permissions-design.html 9 Jun 2016 08:44:50 -0000 1.34.2.1 @@ -1,5 +1,5 @@ -Permissions Design
        Prev Chapter 15. Kernel Documentation Next

        Permissions Design

        By John Prevost and Rafael H. Schloming

        +Permissions Design

        Permissions Design

        By John Prevost and Rafael H. Schloming

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

        Essentials

        Revision History

        Document Revision #Action Taken, NotesWhen?By Whom?
        0.1Creation9/11/2000John Prevost
        0.2Edited for ACS 4 Beta release10/04/2000Kai Wu
        View comments on this page at openacs.org
        +

        John Prevost

        Revision History

        Document Revision #Action Taken, NotesWhen?By Whom?
        0.1Creation9/11/2000John Prevost
        0.2Edited for ACS 4 Beta release10/04/2000Kai Wu
        View comments on this page at openacs.org
        Index: openacs-4/packages/acs-core-docs/www/permissions-requirements.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-requirements.adp,v diff -u -N -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/permissions-requirements.adp 23 Sep 2015 11:54:46 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/permissions-requirements.adp 9 Jun 2016 08:44:50 -0000 1.1.2.2 @@ -164,7 +164,7 @@ has access to should not add more than one line to a query.

        -Revision History

        +Revision History
        Index: openacs-4/packages/acs-core-docs/www/permissions-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions-requirements.html,v diff -u -N -r1.34 -r1.34.2.1 --- openacs-4/packages/acs-core-docs/www/permissions-requirements.html 27 Oct 2014 16:39:24 -0000 1.34 +++ openacs-4/packages/acs-core-docs/www/permissions-requirements.html 9 Jun 2016 08:44:50 -0000 1.34.2.1 @@ -1,5 +1,5 @@ -Permissions Requirements
        Prev Chapter 15. Kernel Documentation Next

        Permissions Requirements

        By John McClary Prevost

        +Permissions Requirements

        Permissions Requirements

        By John McClary Prevost

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

        Introduction

        This document records requirements for the OpenACS 4 Permissions system, a @@ -87,5 +87,5 @@ on its own.

        120.0 Ease of Use

        Since most SQL queries will contain an allowed target check in the where clause, whatever mechanism is used to make checks in SQL should be fairly small and simple.

        In particular, constraining a SELECT to return only rows the -current user has access to should not add more than one line to a query.

        Revision History

        Document Revision #Action Taken, NotesWhen?By Whom?
        0.1Creation8/17/2000John Prevost
        0.2Revised, updated with new terminology8/25/2000John Prevost
        0.3Edited, reformatted to conform to requirements template, pending +current user has access to should not add more than one line to a query.

        Revision History

        Document Revision #Action Taken, NotesWhen?By Whom?
        0.1Creation8/17/2000John Prevost
        0.2Revised, updated with new terminology8/25/2000John Prevost
        0.3Edited, reformatted to conform to requirements template, pending freeze.8/26/2000Kai Wu
        0.4Edited for ACS 4 Beta release.10/03/2000Kai Wu
        View comments on this page at openacs.org
        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.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.adp 1 Dec 2015 14:38:47 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.adp 9 Jun 2016 08:44:50 -0000 1.1.2.6 @@ -87,7 +87,7 @@ require application developers to store permission information explicitly about every object, i.e. if the system has 100,000 and 1,000 users who have the read privilege on all objects, then we -would need to store 100,000,000 entries of the form:

        +would need to store 100,000,000 entries of the form:

        @@ -130,8 +130,8 @@ Context Hierarchy

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

        -

        Table 11.2. Context -Hierarchy Example

        +

        Table 11.2. Context +Hierarchy Example

        @@ -156,8 +156,8 @@

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

        -

        Table 11.3. acs_objects -example data

        +

        Table 11.3. acs_objects +example data

        @@ -184,7 +184,7 @@ read privilege on objects A, ..., F, we only need to record one entry in the acs_permissions -table.

        +table.

        @@ -198,7 +198,7 @@ Schloming put it so aptly, Oracle can't deal with hierarchies for shit.

        One way to solve this problem is to cache a flattened view of -the context tree like so:

        +the context tree like so:

        @@ -298,7 +298,7 @@ By setting an object's security_inherit_p column to 'f', you can stop permissions from cascading down the context tree. In the following example, Joe does not have the read permissions on -C and F.

        +C and F.

        @@ -337,7 +337,7 @@ OpenACS data model makes it easier for developers to manage permissions. Instead of granting a user explicit read, write, delete, and create privileges on an object, it is sufficient to grant the user the admin privilege to which the first four -privileges are tied. Privileges are structured as follows.

        +privileges are tied. Privileges are structured as follows.

        @@ -394,7 +394,7 @@

        Party Hierarchy

        Now for the third hierarchy playing a promiment role in the -permission system. The party data model is set up as follows.

        +permission system. The party data model is set up as follows.

        @@ -489,7 +489,7 @@ );

        The acs_rels table -entries would look like so:

        +entries would look like so:

        @@ -517,7 +517,7 @@ );

        The relevant entries in the acs_rels look -like so.

        +like so.

        @@ -725,7 +725,7 @@ and privilege = revoke_permission.privilege;

        Note that in the above example, acs_permissions had only one entry that -needed to be deleted:

        +needed to be deleted:

        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.5 -r1.46.2.6 --- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 1 Dec 2015 14:38:47 -0000 1.46.2.5 +++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 9 Jun 2016 08:44:50 -0000 1.46.2.6 @@ -1,5 +1,5 @@ -OpenACS Permissions Tediously Explained
        Prev Chapter 11. Development Reference Next

        OpenACS Permissions Tediously Explained

        +OpenACS Permissions Tediously Explained

        OpenACS Permissions Tediously Explained

        by Vadim Nasardinov. Modified and converted to Docbook XML by Roberto Mello

        The code has been modified since this document was written so it is now out of date. See this forum thread.

        Permissions Overview

        Who (grantee_id) can do what @@ -90,7 +90,7 @@ to store permission information explicitly about every object, i.e. if the system has 100,000 and 1,000 users who have the read privilege on all objects, then we would need to store 100,000,000 entries of the form: -

        object_idgrantee_idprivilege
        object_id_1user_id_1'read'
        object_id_1user_id_2'read'
        ...
        object_id_1user_id_n'read'
        object_id_2user_id_1'read'
        object_id_2user_id_2'read'
        ...
        object_id_2user_id_n'read'
        ...
        ...
        object_id_muser_id_1'read'
        object_id_muser_id_2'read'
        ...
        object_id_muser_id_n'read'

        +

        object_idgrantee_idprivilege
        object_id_1user_id_1'read'
        object_id_1user_id_2'read'
        ...
        object_id_1user_id_n'read'
        object_id_2user_id_1'read'
        object_id_2user_id_2'read'
        ...
        object_id_2user_id_n'read'
        ...
        ...
        object_id_muser_id_1'read'
        object_id_muser_id_2'read'
        ...
        object_id_muser_id_n'read'

        Although quite feasible, this approach fails to take advantage of the fact that objects in the system are commonly organized hierarchally, and permissions usually follow the hierarchical structure, so that if user @@ -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,23 +139,23 @@ 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, we can compute that object 40 is the second-generation descendant of object 10. With this in mind, if we want to record the fact that user Joe has the read privilege on objects A, ..., F, we only need to record one entry in the acs_permissions table. -

        objectgranteeprivilege
        AJoeread

        +

        objectgranteeprivilege
        AJoeread

        The fact that Joe can also read B, C, ..., and F can be derived by ascertaining that these objects are children of A by traversing the context hierarchy. As it turns out, hierarchical queries are expensive. As Rafael Schloming put it so aptly, Oracle can't deal with hierarchies for shit.

        One way to solve this problem is to cache a flattened view of the context tree like so: -

        objectancestorn_generations
        AA0
        BB0
        BA1
        CC0
        CA1
        DD0
        DB1
        DA2
        EE0
        EB1
        EA2
        FF0
        FC1
        FA2

        +

        objectancestorn_generations
        AA0
        BB0
        BA1
        CC0
        CA1
        DD0
        DB1
        DA2
        EE0
        EB1
        EA2
        FF0
        FC1
        FA2

        Note that the number of entries in the flattened view grows exponentially with respect to the depth of the context tree. For instance, if you have a fully populated binary tree with a depth of n, then the number of entries @@ -226,7 +226,7 @@ an object's security_inherit_p column to 'f', you can stop permissions from cascading down the context tree. In the following example, Joe does not have the read permissions on C and F. -

        +


        A
        object_id=10
        @@ -276,7 +276,7 @@ privileges on an object, it is sufficient to grant the user the admin privilege to which the first four privileges are tied. Privileges are structured as follows. -

        admin
        createdeletereadwrite

        +

        admin
        createdeletereadwrite

        Note that admin privileges are greater than read, write, create and delete privileges combined. Issuing someone read, write, create and delete privileges will @@ -326,7 +326,7 @@

        Party Hierarchy

        Now for the third hierarchy playing a promiment role in the permission system. The party data model is set up as follows. -

        +

        parties
        persons @@ -418,7 +418,7 @@

        The acs_rels table entries would look like so: -

        +

        rel_type object_one @@ -463,7 +463,7 @@

        The relevant entries in the acs_rels look like so. -

        +

        rel_type object_one @@ -681,7 +681,7 @@

        Note that in the above example, acs_permissions had only one entry that needed to be deleted: -

        +

        object_id grantee_id Index: openacs-4/packages/acs-core-docs/www/permissions.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/permissions.adp 28 Sep 2015 07:54:22 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/permissions.adp 9 Jun 2016 08:44:50 -0000 1.1.2.4 @@ -126,7 +126,7 @@

        Object Context

        In OpenACS 5.7.0, object context is a scoping mechanism. "Scoping" and "scope" are terms best explained by example: consider -some hypothetical rows in the address_book table:

        +some hypothetical rows in the address_book table:

        Index: openacs-4/packages/acs-core-docs/www/permissions.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/permissions.html,v diff -u -N -r1.50.2.5 -r1.50.2.6 --- openacs-4/packages/acs-core-docs/www/permissions.html 1 Dec 2015 14:38:47 -0000 1.50.2.5 +++ openacs-4/packages/acs-core-docs/www/permissions.html 9 Jun 2016 08:44:50 -0000 1.50.2.6 @@ -1,5 +1,5 @@ -Groups, Context, Permissions
        Prev Chapter 11. Development Reference Next

        Groups, Context, Permissions

        By Pete Su

        +Groups, Context, Permissions

        Groups, Context, Permissions

        By Pete Su

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

        Overview

        @@ -140,7 +140,7 @@ mechanism. "Scoping" and "scope" are terms best explained by example: consider some hypothetical rows in the address_book table: -

        ...scopeuser_idgroup_id...
        ...user123 ...
        ...group 456...
        ...public ...

        +

        ...scopeuser_idgroup_id...
        ...user123 ...
        ...group 456...
        ...public ...

        The first row represents an entry in User 123's personal address book, the second row represents an entry in User Group 456's shared address book, and the third row represents an entry in the site's public Index: openacs-4/packages/acs-core-docs/www/postgres.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/postgres.html,v diff -u -N -r1.51.2.5 -r1.51.2.6 --- openacs-4/packages/acs-core-docs/www/postgres.html 1 Dec 2015 14:38:47 -0000 1.51.2.5 +++ openacs-4/packages/acs-core-docs/www/postgres.html 9 Jun 2016 08:44:50 -0000 1.51.2.6 @@ -1,5 +1,5 @@ -Install PostgreSQL

        Install PostgreSQL

        by Vinod Kurup

        +Install PostgreSQL

        Install PostgreSQL

        by Vinod Kurup

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

        Skip this section if you will run only Oracle.

        OpenACS 5.7.0 will run with PostgreSQL 7.3.2, 7.3.3, and 7.3.4 and 7.4.x. 7.4.7 is the recommended version of PostgreSQL.

        • Special notes for Mac OS X. If you are running Mac OS X prior to 10.3, you should be Index: openacs-4/packages/acs-core-docs/www/profile-code.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/profile-code.html,v diff -u -N -r1.14 -r1.14.2.1 --- openacs-4/packages/acs-core-docs/www/profile-code.html 27 Oct 2014 16:39:24 -0000 1.14 +++ openacs-4/packages/acs-core-docs/www/profile-code.html 9 Jun 2016 08:44:50 -0000 1.14.2.1 @@ -1,5 +1,5 @@ -Profile your code

          Profile your code

          by Jade Rubick

          +Profile your code

          Profile your code

          by Jade Rubick

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

          There are several facilities for profiling your code in Index: openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html,v diff -u -N -r1.49.2.5 -r1.49.2.6 --- openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html 1 Dec 2015 14:38:48 -0000 1.49.2.5 +++ openacs-4/packages/acs-core-docs/www/programming-with-aolserver.html 9 Jun 2016 08:44:50 -0000 1.49.2.6 @@ -1,5 +1,5 @@ -Programming with AOLserver

          Programming with AOLserver

          By Michael Yoon, Jon Salz and Lars Pind.

          +Programming with AOLserver

          Programming with AOLserver

          By Michael Yoon, Jon Salz and Lars Pind.

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

          The global command

          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.5 -r1.1.2.6 --- openacs-4/packages/acs-core-docs/www/psgml-for-emacs.adp 1 Dec 2015 14:38:48 -0000 1.1.2.5 +++ openacs-4/packages/acs-core-docs/www/psgml-for-emacs.adp 9 Jun 2016 08:44:50 -0000 1.1.2.6 @@ -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.5 -r1.41.2.6 --- openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html 1 Dec 2015 14:38:48 -0000 1.41.2.5 +++ openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html 9 Jun 2016 08:44:50 -0000 1.41.2.6 @@ -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/psgml-mode.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/psgml-mode.adp,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/psgml-mode.adp 28 Sep 2015 07:54:23 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/psgml-mode.adp 9 Jun 2016 08:44:50 -0000 1.1.2.5 @@ -122,7 +122,7 @@

          How to use it

          Of course, you should read the emacs texinfo pages that come with PSGML mode from start to finish. Barring that, here are some -handy commands:

          +handy commands:

          Index: openacs-4/packages/acs-core-docs/www/psgml-mode.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/psgml-mode.html,v diff -u -N -r1.48.2.5 -r1.48.2.6 --- openacs-4/packages/acs-core-docs/www/psgml-mode.html 1 Dec 2015 14:38:48 -0000 1.48.2.5 +++ openacs-4/packages/acs-core-docs/www/psgml-mode.html 9 Jun 2016 08:44:50 -0000 1.48.2.6 @@ -1,5 +1,5 @@ -Using PSGML mode in Emacs
          Prev Chapter 13. Documentation Standards Next

          Using PSGML mode in Emacs

          By David Lutterkort

          +Using PSGML mode in Emacs

          Using PSGML mode in Emacs

          By David Lutterkort

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

          Note: nxml mode replaces and/or complements psgml mode. More information.

          What it is

          PSGML Mode is a mode for editing, umm, SGML and XML documents in emacs. It @@ -81,6 +81,6 @@ top.xml, that the element in the parent that will enclose the current document is a book and that the current file's topmost element is a sect1.

          How to use it

          Of course, you should read the emacs texinfo pages that come with PSGML -mode from start to finish. Barring that, here are some handy commands:

          KeyCommand
          C-c C-eInsert an element. Uses completion and only lets you insert elements that +mode from start to finish. Barring that, here are some handy commands:

          KeyCommand
          C-c C-eInsert an element. Uses completion and only lets you insert elements that are valid
          C-c C-aEdit attributes of enclosing element.
          C-c C-x C-iShow information about the document's DTD.
          C-c C-x C-eDescribe element. Shows for one element which elements can be parents, what its contents can be and lists its attributes.

          Further reading

          Start with the the section called “OpenACS Documentation Guide”

          ($Id$)
          View comments on this page at openacs.org
          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.7 -r1.1.2.8 --- openacs-4/packages/acs-core-docs/www/release-notes.adp 1 Dec 2015 14:38:48 -0000 1.1.2.7 +++ openacs-4/packages/acs-core-docs/www/release-notes.adp 9 Jun 2016 08:44:50 -0000 1.1.2.8 @@ -396,20 +396,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.5 2015/12/01 -11:17:58 gustafn Exp $)
          +
          ($‌Id: release-notes.xml,v 1.30.2.6 2015/12/01 +14:38:54 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

          • +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 @@ -458,4 +458,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/releasing-openacs-core.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/releasing-openacs-core.html,v diff -u -N -r1.20.2.5 -r1.20.2.6 --- openacs-4/packages/acs-core-docs/www/releasing-openacs-core.html 1 Dec 2015 14:38:48 -0000 1.20.2.5 +++ openacs-4/packages/acs-core-docs/www/releasing-openacs-core.html 9 Jun 2016 08:44:50 -0000 1.20.2.6 @@ -1,5 +1,5 @@ -OpenACS Core and .LRN

          OpenACS Core and .LRN

          1. Update Translations. the section called “How to Update the translations”

          2. Rebuild the Changelog. Rebuild the Changelog. I use a tool called cvs2cl. Run this command from the package root to automatically generate a Changelog file in the same dir. We generate two changelogs, one for the minor branch and one for the most recent release. The example below is for OpenACS 5.0.2:

            cd /var/lib/aolserver/$OPENACS_SERVICE_NAME
            +OpenACS Core and .LRN

            OpenACS Core and .LRN

            1. Update Translations. the section called “How to Update the translations”

            2. Rebuild the Changelog. Rebuild the Changelog. I use a tool called cvs2cl. Run this command from the package root to automatically generate a Changelog file in the same dir. We generate two changelogs, one for the minor branch and one for the most recent release. The example below is for OpenACS 5.0.2:

              cd /var/lib/aolserver/$OPENACS_SERVICE_NAME
               cvs2cl -F oacs-5-0 --delta openacs-5-0-0-final:oacs-5-0 -f ChangeLog
               cvs2cl -F oacs-5-0 --delta openacs-5-0-1-final:oacs-5-0 -f ChangeLog-recent
            3. Update Version Numbers. The version numbers in the documentation and in the packages must be updated. This should only happen after a release candidate is approved.

              .LRN: this must be repeated for .LRN modules (dotlrn-core in the dotlrn cvs tree) and for any modified modules in the .LRN prerequisites (dotlrn-prereq in openacs cvs tree). My current working model is that I bulk-update .LRN and OpenACS core but that I don't touch dotlrn-prereq modules - I just use the most recent release and it's up to individual package developers to tag and release those packages when they change. This model is already broken because following it means that dotlrn-prereqs don't get new translations.

              1. Update /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/xml/variables.ent with the new version number.

              2. Add new section in /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/xml/for-everyone/release-notes.xml Index: openacs-4/packages/acs-core-docs/www/releasing-openacs.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/releasing-openacs.html,v diff -u -N -r1.29 -r1.29.2.1 --- openacs-4/packages/acs-core-docs/www/releasing-openacs.html 27 Oct 2014 16:39:25 -0000 1.29 +++ openacs-4/packages/acs-core-docs/www/releasing-openacs.html 9 Jun 2016 08:44:50 -0000 1.29.2.1 @@ -1,2 +1,2 @@ -Chapter 16. Releasing OpenACS

                View comments on this page at openacs.org
                +Chapter 16. Releasing OpenACS
                View comments on this page at openacs.org
                Index: openacs-4/packages/acs-core-docs/www/releasing-package.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/releasing-package.html,v diff -u -N -r1.15 -r1.15.2.1 --- openacs-4/packages/acs-core-docs/www/releasing-package.html 27 Oct 2014 16:39:25 -0000 1.15 +++ openacs-4/packages/acs-core-docs/www/releasing-package.html 9 Jun 2016 08:44:50 -0000 1.15.2.1 @@ -1,5 +1,5 @@ -How to package and release an OpenACS Package

                How to package and release an OpenACS Package

                In this example, we are packaging and releasing myfirstpackage as version 1.0.0, which is compatible with OpenACS 5.0.x.

                1. Update the version number, release date, and package maturity of your package in the APM.

                2. Make sure all changes are committed.

                3. Tag the updated work.:

                  cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage
                  +How to package and release an OpenACS Package

                  How to package and release an OpenACS Package

                  In this example, we are packaging and releasing myfirstpackage as version 1.0.0, which is compatible with OpenACS 5.0.x.

                  1. Update the version number, release date, and package maturity of your package in the APM.

                  2. Make sure all changes are committed.

                  3. Tag the updated work.:

                    cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage
                     cvs tag myfirstpackages-1-0-0-final
                     cvs tag -F openacs-5-0-compat
                     

                  Done. The package will be added to the repository automatically. If the correct version does not show up within 24 hours, ask for help on the OpenACS.org development forum.

                  View comments on this page at openacs.org
                  Index: openacs-4/packages/acs-core-docs/www/remote-postgres.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/remote-postgres.html,v diff -u -N -r1.13 -r1.13.2.1 --- openacs-4/packages/acs-core-docs/www/remote-postgres.html 27 Oct 2014 16:39:25 -0000 1.13 +++ openacs-4/packages/acs-core-docs/www/remote-postgres.html 9 Jun 2016 08:44:50 -0000 1.13.2.1 @@ -1,5 +1,5 @@ -Running a PostgreSQL database on another server

                  Running a PostgreSQL database on another server

                  To run a database on a different machine than the +Running a PostgreSQL database on another server

                  Running a PostgreSQL database on another server

                  To run a database on a different machine than the webserver requires changes to the database configuration file and access control file, and to the OpenACS service's configuration file.

                  • Edit the database configuration file, which in a Index: openacs-4/packages/acs-core-docs/www/request-processor.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/request-processor.html,v diff -u -N -r1.49.2.5 -r1.49.2.6 --- openacs-4/packages/acs-core-docs/www/request-processor.html 1 Dec 2015 14:38:48 -0000 1.49.2.5 +++ openacs-4/packages/acs-core-docs/www/request-processor.html 9 Jun 2016 08:44:50 -0000 1.49.2.6 @@ -1,5 +1,5 @@ -The Request Processor

                    The Request Processor

                    By Pete Su

                    +The Request Processor

                    The Request Processor

                    By Pete Su

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

                    Overview

                    Index: openacs-4/packages/acs-core-docs/www/requirements-template.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/requirements-template.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/requirements-template.adp 28 Sep 2015 07:54:24 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/requirements-template.adp 9 Jun 2016 08:44:50 -0000 1.1.2.4 @@ -113,7 +113,7 @@ programmers.

                    -Revision History

                    +Revision History
                    Index: openacs-4/packages/acs-core-docs/www/requirements-template.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/requirements-template.html,v diff -u -N -r1.49.2.5 -r1.49.2.6 --- openacs-4/packages/acs-core-docs/www/requirements-template.html 1 Dec 2015 14:38:49 -0000 1.49.2.5 +++ openacs-4/packages/acs-core-docs/www/requirements-template.html 9 Jun 2016 08:44:50 -0000 1.49.2.6 @@ -1,5 +1,5 @@ -System/Application Requirements Template
                    Prev Chapter 13. Documentation Standards Next

                    System/Application Requirements Template

                    By You

                    +System/Application Requirements Template

                    System/Application Requirements Template

                    By You

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

                    Introduction

                    @@ -81,4 +81,4 @@ pre-existing system or prototype first, and thus you may want to write some thoughts on implementation, for aiding and guiding yourself or other programmers. -

                    Revision History

                    Document Revision #Action Taken, NotesWhen?By Whom?
                    0.3Edited further, incorporated feedback from Michael Yoon9/05/2000Kai Wu
                    0.2Edited8/22/2000Kai Wu
                    0.1Created8/21/2000Josh Finkler, Audrey McLoghlin
                    ($Id$)
                    View comments on this page at openacs.org
                    +

                    Revision History

                    Document Revision #Action Taken, NotesWhen?By Whom?
                    0.3Edited further, incorporated feedback from Michael Yoon9/05/2000Kai Wu
                    0.2Edited8/22/2000Kai Wu
                    0.1Created8/21/2000Josh Finkler, Audrey McLoghlin
                    ($Id$)
                    View comments on this page at openacs.org
                    Index: openacs-4/packages/acs-core-docs/www/rp-design.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/rp-design.adp,v diff -u -N -r1.1.2.2 -r1.1.2.3 --- openacs-4/packages/acs-core-docs/www/rp-design.adp 23 Sep 2015 18:37:47 -0000 1.1.2.2 +++ openacs-4/packages/acs-core-docs/www/rp-design.adp 9 Jun 2016 08:44:50 -0000 1.1.2.3 @@ -151,7 +151,7 @@ variables are available for public use. If the ad_conn procedure doesn't recognize a variable being passed to it for a lookup, it tries to get a value using ns_conn. This guarantees that ad_conn -subsumes the functionality of ns_conn.

                    +subsumes the functionality of ns_conn.

                    Index: openacs-4/packages/acs-core-docs/www/rp-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/rp-design.html,v diff -u -N -r1.37 -r1.37.2.1 --- openacs-4/packages/acs-core-docs/www/rp-design.html 27 Oct 2014 16:39:25 -0000 1.37 +++ openacs-4/packages/acs-core-docs/www/rp-design.html 9 Jun 2016 08:44:50 -0000 1.37.2.1 @@ -1,5 +1,5 @@ -Request Processor Design
                    Prev Chapter 15. Kernel Documentation Next

                    Request Processor Design

                    By Rafael H. Schloming

                    +Request Processor Design

                    Request Processor Design

                    By Rafael H. Schloming

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

                    Essentials

                    • OpenACS 4 Request Processor Requirements

                    • @@ -92,7 +92,7 @@ the ad_conn procedure. The following variables are available for public use. If the ad_conn procedure doesn't recognize a variable being passed to it for a lookup, it tries to get a value using ns_conn. This guarantees that -ad_conn subsumes the functionality of ns_conn.

                      Request processor
                      [ad_conn urlv] A list containing each element of the URL
                      [ad_conn url] The URL associated with the request.
                      [ad_conn query] The portion of the URL from the ? on (i.e. GET +ad_conn subsumes the functionality of ns_conn.

                      Request processor
                      [ad_conn urlv] A list containing each element of the URL
                      [ad_conn url] The URL associated with the request.
                      [ad_conn query] The portion of the URL from the ? on (i.e. GET variables) associated with the request.
                      [ad_conn file] The filepath including filename of the file being served
                      [ad_conn request] The number of requests since the server was last started
                      [ad_conn start_clicks] The system time when the RP starts handling the request
                      Session System Variables: set in sec_handler, check security with ad_validate_security_info
                      [ad_conn session_id] The unique session_id coming from the sequence sec_id_seq
                      [ad_conn user_id] User_id of a person if the person is logged in. Otherwise, it is Index: openacs-4/packages/acs-core-docs/www/rp-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/rp-requirements.html,v diff -u -N -r1.33 -r1.33.2.1 --- openacs-4/packages/acs-core-docs/www/rp-requirements.html 27 Oct 2014 16:39:25 -0000 1.33 +++ openacs-4/packages/acs-core-docs/www/rp-requirements.html 9 Jun 2016 08:44:50 -0000 1.33.2.1 @@ -1,5 +1,5 @@ -Request Processor Requirements

                      Request Processor Requirements

                      By Rafael H. Schloming

                      +Request Processor Requirements

                      Request Processor Requirements

                      By Rafael H. Schloming

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

                      Introduction

                      The following is a requirements document for the OpenACS 4.0 request Index: openacs-4/packages/acs-core-docs/www/security-design.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/security-design.adp,v diff -u -N -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/security-design.adp 23 Sep 2015 11:54:52 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/security-design.adp 9 Jun 2016 08:44:50 -0000 1.1.2.2 @@ -76,7 +76,7 @@

                      Details

                      The authentication system issues up to four signed cookies (see below), with each cookie serving a different purpose. These cookies -are:

                      +are:

                      @@ -161,7 +161,7 @@
                    • set: cookie with no expiration is set

                    • delete: set to "" with max age of 0, so it is expired immediately

                    • nothing: if the cookie is present, it remains

                    • The current state of the permanent login cookies is not taken -into account when determining the appropriate action.

                      +into account when determining the appropriate action.

                      Index: openacs-4/packages/acs-core-docs/www/security-design.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/security-design.html,v diff -u -N -r1.35 -r1.35.2.1 --- openacs-4/packages/acs-core-docs/www/security-design.html 27 Oct 2014 16:39:25 -0000 1.35 +++ openacs-4/packages/acs-core-docs/www/security-design.html 9 Jun 2016 08:44:50 -0000 1.35.2.1 @@ -1,5 +1,5 @@ -Security Design
                      Prev Chapter 15. Kernel Documentation Next

                      Security Design

                      By Richard Li and Archit Shah

                      +Security Design

                      Security Design

                      By Richard Li and Archit Shah

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

                      Introduction

                      @@ -41,7 +41,7 @@ for a secure authentication token. However, the basic architecture here lays the foundation for a secure system and can be easily adapted to a more secure authentication system by forcing all logins to occur over HTTPS.

                      Details

                      The authentication system issues up to four signed cookies (see below), -with each cookie serving a different purpose. These cookies are:

                      namevaluemax-agesecure?
                      ad_session_idsession_id,user_idSessionTimeoutno
                      ad_user_loginuser_idInfinityno
                      ad_user_login_secureuser_id,randomInfinityyes
                      ad_secure_tokensession_id,user_id,randomSessionLifetimeyes
                      • ad_session_id

                        • reissued on any hit separated by more than SessionRenew seconds from the +with each cookie serving a different purpose. These cookies are:

                          namevaluemax-agesecure?
                          ad_session_idsession_id,user_idSessionTimeoutno
                          ad_user_loginuser_idInfinityno
                          ad_user_login_secureuser_id,randomInfinityyes
                          ad_secure_tokensession_id,user_id,randomSessionLifetimeyes
                          • ad_session_id

                            • reissued on any hit separated by more than SessionRenew seconds from the previous hit that received a cookie

                            • is valid only for SessionTimeout seconds

                            • is the canonical source for the session ID in ad_conn

                          • ad_user_login

                            • is used for permanent logins

                          • ad_user_login_secure

                            • is used for permanent secure logins

                            • contains random garbage (ns_time) to prevent attack against the secure hash

                          • ad_secure_token

                            • is a session-level cookie from the browser's standpoint

                            • its signature expires in SessionLifetime seconds

                            • contains random garbage (ns_time) to prevent attack against the secure @@ -84,7 +84,7 @@ immediately

                            • nothing: if the cookie is present, it remains

                            The current state of the permanent login cookies is not taken into account when determining the appropriate action. -

                            previous login statepermanent login requestedsecure connectionaction on insecureaction on secure
                            otheryysetset
                            sameyysetset
                            otherynsetdelete
                            sameynsetnothing
                            samenynothingdelete
                            othernydeletedelete
                            othernndeletedelete
                            samenndeletedelete

                            ad_user_login +

                            previous login statepermanent login requestedsecure connectionaction on insecureaction on secure
                            otheryysetset
                            sameyysetset
                            otherynsetdelete
                            sameynsetnothing
                            samenynothingdelete
                            othernydeletedelete
                            othernndeletedelete
                            samenndeletedelete

                            ad_user_login callssec_setup_session which actually calls sec_generate_session_id_cookie to generate the new cookie with refer to the appropriate user_id. If the connection is secure Index: openacs-4/packages/acs-core-docs/www/security-notes.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/security-notes.html,v diff -u -N -r1.48.2.5 -r1.48.2.6 --- openacs-4/packages/acs-core-docs/www/security-notes.html 1 Dec 2015 14:38:49 -0000 1.48.2.5 +++ openacs-4/packages/acs-core-docs/www/security-notes.html 9 Jun 2016 08:44:50 -0000 1.48.2.6 @@ -1,5 +1,5 @@ -Security Notes

                            Security Notes

                            By Richard Li

                            +Security Notes

                            Security Notes

                            By Richard Li

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

                            Index: openacs-4/packages/acs-core-docs/www/security-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/security-requirements.html,v diff -u -N -r1.35 -r1.35.2.1 --- openacs-4/packages/acs-core-docs/www/security-requirements.html 27 Oct 2014 16:39:25 -0000 1.35 +++ openacs-4/packages/acs-core-docs/www/security-requirements.html 9 Jun 2016 08:44:50 -0000 1.35.2.1 @@ -1,5 +1,5 @@ -Security Requirements

                            Security Requirements

                            By Richard Li

                            +Security Requirements

                            Security Requirements

                            By Richard Li

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

                            Introduction

                            Index: openacs-4/packages/acs-core-docs/www/snapshot-backup.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/snapshot-backup.html,v diff -u -N -r1.13 -r1.13.2.1 --- openacs-4/packages/acs-core-docs/www/snapshot-backup.html 27 Oct 2014 16:39:25 -0000 1.13 +++ openacs-4/packages/acs-core-docs/www/snapshot-backup.html 9 Jun 2016 08:44:50 -0000 1.13.2.1 @@ -1,5 +1,5 @@ -Manual backup and recovery

                            Manual backup and recovery

                            This section describes how to make a one-time backup and +Manual backup and recovery

                            Manual backup and recovery

                            This section describes how to make a one-time backup and restore of the files and database. This is useful for rolling back to known-good versions of a service, such as at initial installation and just before an upgrade. First, you back up the Index: openacs-4/packages/acs-core-docs/www/style-guide.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/style-guide.adp,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/style-guide.adp 28 Sep 2015 07:54:24 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/style-guide.adp 9 Jun 2016 08:44:50 -0000 1.1.2.4 @@ -88,7 +88,7 @@

                            -Revision History

                            +Revision History
                            Index: openacs-4/packages/acs-core-docs/www/style-guide.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/style-guide.html,v diff -u -N -r1.28.2.5 -r1.28.2.6 --- openacs-4/packages/acs-core-docs/www/style-guide.html 1 Dec 2015 14:38:49 -0000 1.28.2.5 +++ openacs-4/packages/acs-core-docs/www/style-guide.html 9 Jun 2016 08:44:50 -0000 1.28.2.6 @@ -1,5 +1,5 @@ -OpenACS Style Guide
                            Prev Chapter 12. Engineering Standards Next

                            OpenACS Style Guide

                            +OpenACS Style Guide

                            OpenACS Style Guide

                            By Jeff Davis

                            Motivation

                            Why have coding standards for OpenACS? And if the code works why change it to @@ -88,6 +88,6 @@

                          • Solicit code reviews.  Ask others to look over your code and provide feedback and do the same for others. -

                        Revision History

                        Document Revision #Action Taken, NotesWhen?By Whom?
                        0.1Creation12/2003Jeff Davis
                        ($Id$)