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.6.2.4 -r1.6.2.5 --- openacs-4/packages/acs-core-docs/www/cvs-tips.html 16 Dec 2003 13:58:40 -0000 1.6.2.4 +++ openacs-4/packages/acs-core-docs/www/cvs-tips.html 18 Dec 2003 10:04:26 -0000 1.6.2.5 @@ -1,7 +1,7 @@ Appendix�D.�Using CVS with an OpenACS Site

Appendix�D.�Using CVS with an OpenACS Site

By Joel Aufrecht

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

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

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

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

    [root root]# mkdir /cvsroot/service0
     [root root]# chown service0.web /cvsroot/service0
    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.23.2.5 -r1.23.2.6
    --- openacs-4/packages/acs-core-docs/www/docbook-primer.html	16 Dec 2003 13:58:41 -0000	1.23.2.5
    +++ openacs-4/packages/acs-core-docs/www/docbook-primer.html	18 Dec 2003 10:04:26 -0000	1.23.2.6
    @@ -36,7 +36,7 @@
           In order to separate content and presentation, all OpenACS documentation will be marked up to conform to the 
           DocBook XML DTD 
           
    -      
    +      
           This enables us to publish in a variety
           of formats and relieves each contributor of the burden of  presentation, freeing him to focus
           on content and sharing knowledge.
    @@ -57,7 +57,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 @@ -106,7 +106,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
      @@ -130,20 +130,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.

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

    - + Inside this container your document will be split up into <sect2>'s, each with the same requirements - id and xreflabel @@ -167,7 +167,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 will use the tag <computeroutput>. @@ -177,12 +177,12 @@ <programlisting> is used. Just wrap your code block in it; mono-spacing, indents and all that stuff is taken care of automatically.

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:

@@ -206,7 +206,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 @@ -227,7 +227,7 @@ do it, so if you want to start converting your documents right away, start out with the ones without graphics ;)

- + To insert a graphic we use the elements <mediaobject>, <imageobject>, @@ -253,7 +253,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 @@ -298,7 +298,7 @@ </variablelist>

Tables

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

Emphasis

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

@@ -378,7 +378,7 @@ bash$ xsltproc /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/html/chunk.xsl filename.xml

You could also look at the acs-core-docs Makefile - for examples of how these documents are generated.` + for examples of how these documents are generated.

Further Reading

  • The LDP Author Guide has a lot of good information, a table of 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.11.2.5 -r1.11.2.6 --- openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 16 Dec 2003 13:58:41 -0000 1.11.2.5 +++ openacs-4/packages/acs-core-docs/www/ext-auth-requirements.html 18 Dec 2003 10:04:26 -0000 1.11.2.6 @@ -1,4 +1,4 @@ -External Authentication Requirements

    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 @@ -44,7 +44,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
EXT-AUTH-01AExtend Authentication/Acct Status API
EXT-AUTH-03AAccount Creation API
EXT-AUTH-05APassword Management API
EXT-AUTH-30AAuthority Management API

Login

FeatureStatusDescription
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
EXT-AUTH-01AExtend Authentication/Acct Status API
EXT-AUTH-03AAccount Creation API
EXT-AUTH-05APassword Management API
EXT-AUTH-30AAuthority Management API

Login

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

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

Each user in OpenACS will belong to exactly one authority, which can either be the "local" OpenACS users table, in which case the Index: openacs-4/packages/acs-core-docs/www/form-builder.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/form-builder.html,v diff -u -N -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-core-docs/www/form-builder.html 16 Dec 2003 13:58:41 -0000 1.1.2.3 +++ openacs-4/packages/acs-core-docs/www/form-builder.html 18 Dec 2003 10:04:26 -0000 1.1.2.4 @@ -1,4 +1,4 @@ -Using HTML Forms

Using HTML Forms

Overview

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 "
    +Using HTML Forms

    Using HTML Forms

    Overview

    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
      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.13.2.5 -r1.13.2.6
      --- openacs-4/packages/acs-core-docs/www/i18n.html	16 Dec 2003 13:58:41 -0000	1.13.2.5
      +++ openacs-4/packages/acs-core-docs/www/i18n.html	18 Dec 2003 10:04:26 -0000	1.13.2.6
      @@ -48,7 +48,7 @@
             which are static and mostly text, it may be easier to create a
             new ADP page for each language.  In this case, the pages are
             distinguished by a file naming convention.
      -    

      Separate Templates for each Locale

      If the request processor finds a file named filename.locale.adp, where locale matches the user's locale, it will process that file instead of filename.adp. For example, for a user with locale tl_PH, the file index.tl_PH.adp, if found, will be used instead of index.adp. The locale-specific file should thus contain text in the language appropriate for that locale. The code in the page, however, should still be in English. Message keys are still processed.

      Message Keys in Template Files (ADP Files)

      +

      Separate Templates for each Locale

      If the request processor finds a file named filename.locale.adp, where locale matches the user's locale, it will process that file instead of filename.adp. For example, for a user with locale tl_PH, the file index.tl_PH.adp, if found, will be used instead of index.adp. The locale-specific file should thus contain text in the language appropriate for that locale. The code in the page, however, should still be in English. Message keys are still processed.

      Message Keys in Template Files (ADP Files)

      Internationalizing templates is about replacing human readable text in a certain language with internal message keys, which can then be dynamically replaced with real human language in @@ -161,7 +161,7 @@ Use the *_pretty version in your ADP page.

    To internationalize numbers, use lc_numeric $value, which formats the number using the appropriate decimal point and thousand separator for the locale. -

    Internationalizing Forms

    When coding forms, remember to use message keys for each piece of text that is user-visible, including form option labels and button labels.

    Internationalizing Existing Packages

    Internationalize Message text in ADP and TCL

    Acs-lang includes tools to automate some +

    Internationalizing Forms

    When coding forms, remember to use message keys for each piece of text that is user-visible, including form option labels and button labels.

    Internationalizing Existing Packages

    Internationalize Message text in ADP and TCL

    Acs-lang includes tools to automate some internationalization. From /acs-admin/apm/, select a package and then click on @@ -250,9 +250,9 @@ with the appropriate notation for the type of file, and store the text in the message catalog. You need to run the process twice, once for ADP files, and once for Tcl files. -

Internationalize Package Parameters with visible messages

+

Internationalize Package Parameters with visible messages

See Multilingual APM Parameters -

Internationalize Date and Time queries

  1. Find datetime in .xql files. Use command line tools to find suspect SQL code:

    grep -r "to_char.*H" *
    +    

Internationalize Date and Time queries

  1. Find datetime in .xql files. Use command line tools to find suspect SQL code:

    grep -r "to_char.*H" *
     grep -r "to_date.*H" *
     
  2. In SQL statements, replace the format string with the ANSI standard format, YYYY-MM-DD HH24:MI:SS and change the field name to *_ansi so that it cannot be confused with previous, improperly formatting fields. For example,

    to_char(timestamp,'MM/DD/YYYY HH:MI:SS') as foo_date_pretty

    becomes

    to_char(timestamp,'YYYY-MM-DD HH24:MI:SS') as foo_date_ansi
  3. In TCL files where the date fields are used, convert the datetime from local server timezone, which is how it's stored in the database, to the user's timezone for display. Do this with the localizing function lc_time_system_to_conn:

     set foo_date_ansi [lc_time_system_to_conn $foo_date_ansi]

    When a datetime will be written to the database, first convert it from the user's local time to the server's timezone with lc_time_conn_to_system. 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.22.2.5 -r1.22.2.6 --- openacs-4/packages/acs-core-docs/www/index.html 16 Dec 2003 13:58:41 -0000 1.22.2.5 +++ openacs-4/packages/acs-core-docs/www/index.html 18 Dec 2003 10:04:26 -0000 1.22.2.6 @@ -1 +1 @@ -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 3.3oacs1
    Install AOLserver 4
    Install OpenACS 5.0.0b4
    OpenACS Installation Guide for Windows2000
    OpenACS Installation Guide for Mac OS X
    4. Configuring a New Service
    5. Upgrading
    Overview
    Upgrading OpenACS
    Upgrading the OpenACS files
    Upgrading Platform components
    6. Maintenance
    Hosting Web Sites
    Database Management
    Backup and 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
    Install nsopenssl
    Install tclwebtest.
    C. Credits
    Where did this document come from?
    Linux Install Guides
    Security Information
    Resources
    III. For OpenACS Package Developers
    7. Development Tutorial
    Creating a Package
    Setting Up Database Objects
    Creating Web Pages
    Debugging and Automated Testing
    Advanced Topics
    8. 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 HTML Forms
    9. Engineering Standards
    OpenACS Style Guide
    Release Version Numbering
    Constraint naming standard
    ACS File Naming and Formatting Standards
    PL/SQL Standards
    Variables
    Automated Testing
    10. Documentation Standards
    OpenACS Documentation Guide
    Using PSGML mode in Emacs
    Using nXML mode in Emacs
    Detailed Design Documentation Template
    System/Application Requirements Template
    D. Using CVS with an OpenACS Site
    E. How to package and release OpenACS
    IV. For OpenACS Platform Developers
    11. 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
    Internationalization
    Security Requirements
    Security Design
    Security Notes
    Request Processor Requirements
    Request Processor Design
    Documenting Tcl Files: Page Contracts and Libraries
    Bootstrapping OpenACS
    External Authentication Requirements
    Index
    View comments on this page at openacs.org
    +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 3.3oacs1
    Install AOLserver 4
    Install OpenACS 5.0.0b4
    OpenACS Installation Guide for Windows2000
    OpenACS Installation Guide for Mac OS X
    4. Configuring a New Service
    5. Upgrading
    Overview
    Upgrading OpenACS
    Upgrading the OpenACS files
    Upgrading Platform components
    6. Maintenance
    Hosting Web Sites
    Database Management
    Backup and 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
    Install nsopenssl
    Install tclwebtest.
    C. Credits
    Where did this document come from?
    Linux Install Guides
    Security Information
    Resources
    III. For OpenACS Package Developers
    7. Development Tutorial
    Creating a Package
    Setting Up Database Objects
    Creating Web Pages
    Debugging and Automated Testing
    Advanced Topics
    8. 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 HTML Forms
    9. Engineering Standards
    OpenACS Style Guide
    Release Version Numbering
    Constraint naming standard
    ACS File Naming and Formatting Standards
    PL/SQL Standards
    Variables
    Automated Testing
    10. Documentation Standards
    OpenACS Documentation Guide
    Using PSGML mode in Emacs
    Using nXML mode in Emacs
    Detailed Design Documentation Template
    System/Application Requirements Template
    D. Using CVS with an OpenACS Site
    E. How to package and release OpenACS
    IV. For OpenACS Platform Developers
    11. 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
    Internationalization
    Security Requirements
    Security Design
    Security Notes
    Request Processor Requirements
    Request Processor Design
    Documenting Tcl Files: Page Contracts and Libraries
    Bootstrapping OpenACS
    External Authentication Requirements
    Index
    View comments on this page at openacs.org
    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.12.2.5 -r1.12.2.6 --- openacs-4/packages/acs-core-docs/www/install-cvs.html 16 Dec 2003 13:58:41 -0000 1.12.2.5 +++ openacs-4/packages/acs-core-docs/www/install-cvs.html 18 Dec 2003 10:04:26 -0000 1.12.2.6 @@ -1,4 +1,4 @@ -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.html
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-daemontools.html,v
    diff -u -N -r1.13.2.5 -r1.13.2.6
    --- openacs-4/packages/acs-core-docs/www/install-daemontools.html	16 Dec 2003 13:58:41 -0000	1.13.2.5
    +++ openacs-4/packages/acs-core-docs/www/install-daemontools.html	18 Dec 2003 10:04:26 -0000	1.13.2.6
    @@ -3,7 +3,7 @@
           installed in /package.  These commands install daemontools and
           svgroup.  svgroup is a script for granting permissions, to allow
           users other than root to use daemontools for specific
    -      services.

    1. Install Daemontools

      download daemontools and install it.

      • Red Hat 8

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

        1. Install Daemontools

          download daemontools and install it.

          • Red Hat 8

            [root root]# mkdir -p /package
             [root root]# chmod 1755 /package/
             [root root]# cd /package/
             [root package]# tar xzf /tmp/daemontools-0.76.tar.gz
            Index: openacs-4/packages/acs-core-docs/www/install-full-text-search.html
            ===================================================================
            RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/install-full-text-search.html,v
            diff -u -N -r1.11.2.5 -r1.11.2.6
            --- openacs-4/packages/acs-core-docs/www/install-full-text-search.html	16 Dec 2003 13:58:41 -0000	1.11.2.5
            +++ openacs-4/packages/acs-core-docs/www/install-full-text-search.html	18 Dec 2003 10:04:26 -0000	1.11.2.6
            @@ -1,4 +1,4 @@
            -Install Full Text Search

            Install Full Text Search

            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 +Install Full Text Search

            Install Full Text Search

            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
              @@ -73,7 +73,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.)

      [service0 service0]$ /usr/local/pgsql/bin/psql service0 -f /usr/local/src/postgresql-7.2.4/contrib/tsearch/tsearch.sql
      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.13.2.5 -r1.13.2.6
      --- openacs-4/packages/acs-core-docs/www/install-qmail.html	16 Dec 2003 13:58:41 -0000	1.13.2.5
      +++ openacs-4/packages/acs-core-docs/www/install-qmail.html	18 Dec 2003 10:04:26 -0000	1.13.2.6
      @@ -29,7 +29,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 @@ -43,7 +43,7 @@ send outgoing mail.

    [root ucspi-tcp-0.88]# cp /tmp/openacs-5.0.0b4/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.0.0b4/packages/acs-core-docs/www/files/tcp.smtp.txt /etc/tcp.smtp 
    -tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp 
  4. Install Qmail.�

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

  5. 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
    @@ -102,7 +102,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
    @@ -124,7 +124,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.0.0b4/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.html
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-redhat.html,v
    diff -u -N -r1.13.2.5 -r1.13.2.6
    --- openacs-4/packages/acs-core-docs/www/install-redhat.html	16 Dec 2003 13:58:41 -0000	1.13.2.5
    +++ openacs-4/packages/acs-core-docs/www/install-redhat.html	18 Dec 2003 10:04:26 -0000	1.13.2.6
    @@ -26,7 +26,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 @@ -54,7 +54,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

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

  7. Click Next on the boot loader screen

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

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

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

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

  • Choose your time zone and click Next.

  • Type in a root password, twice.

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

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

    At the bottom, check Select Individual Packages and click Next

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

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

    At the bottom, check Select Individual Packages and click Next

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

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

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

  • Lock down SSH

    1. - + SSH is the protocol we use to connect securely to the computer (replacing telnet, which is insecure). sshd is the daemon that listens for incoming Index: openacs-4/packages/acs-core-docs/www/install-steps.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-steps.html,v diff -u -N -r1.6.2.5 -r1.6.2.6 --- openacs-4/packages/acs-core-docs/www/install-steps.html 16 Dec 2003 13:58:41 -0000 1.6.2.5 +++ openacs-4/packages/acs-core-docs/www/install-steps.html 18 Dec 2003 10:04:26 -0000 1.6.2.6 @@ -31,17 +31,17 @@ }

    2. This is text that you will see and type in a command shell, including text you may have to change. It is followed by a list of just the commands, - which you can copy and paste. The command prompt varies by system; in the examples we use the form[nsadmin aolserver]$, where nsadmin is the current user and aolserver is the current directory. The root prompt is shown ending in # and all other prompts in $.

      -[root root]# su - nsadmin
      -[nsadmin aolserver]$ svc -d /service/server1
      -[nsadmin aolserver]$ dropdb server1
      +          which you can copy and paste. The command prompt varies by system; in the examples we use the form[service0 aolserver]$, where service0 is the current user and aolserver is the current directory.  The root prompt is shown ending in # and all other prompts in $.

      +[root root]# su - service0
      +[service0 aolserver]$ svc -d /service/service0
      +[service0 aolserver]$ dropdb service0
       DROP DATABASE
      -[nsadmin aolserver]$ createdb server1
      +[service0 aolserver]$ createdb service0
       CREATE DATABASE
      -su - nsadmin
      -svc -d /service/server1
      -dropdb server1
      -createdb server1
  • Paths and Users

    Table�2.2.�Default directories for a standard install

    Fully qualified domain name of your serveryourserver.test
    name of administrative access accountremadmin
    OpenACS serviceservice0
    OpenACS service accountservice0
    OpenACS database nameservice0
    Root of OpenACS service file tree (SERVERROOT)/var/lib/aolserver/service0
    Location of source code tarballs for new software/tmp
    The OpenACS tarball contains some files which +su - service0 +svc -d /service/service0 +dropdb service0 +createdb service0

    Paths and Users

    Table�2.2.�Default directories for a standard install

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

    None of these locations are set in stone - they're simply 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.1.4.4 -r1.1.4.5 --- openacs-4/packages/acs-core-docs/www/ix01.html 16 Dec 2003 13:58:41 -0000 1.1.4.4 +++ openacs-4/packages/acs-core-docs/www/ix01.html 18 Dec 2003 10:04:26 -0000 1.1.4.5 @@ -1,2 +1,2 @@ -Index

    Index

    A

    AOLserver
    configuration, Install from tarball
    Automated tests, Write automated tests

    C

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

    D

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

    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, 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
    Unicode
    in PostgreSQL, Install PostgreSQL
    upgrade
    OpenACS 4.5 to 4.6.x
    Linux/Unix, Upgrading 4.5 to 4.6.x

    X

    XML guidelines, Why DocBook?
    xref
    linkend, Links
    xreflabel, Headlines, Sections
    View comments on this page at openacs.org
    +Index

    Index

    A

    AOLserver
    configuration, Install from tarball
    Automated tests, Write automated tests

    C

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

    D

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

    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, 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
    Unicode
    in PostgreSQL, Install PostgreSQL
    upgrade
    OpenACS 4.5 to 4.6.x
    Linux/Unix, Upgrading 4.5 to 4.6.x

    X

    XML guidelines, Why DocBook?
    xref
    linkend, Links
    xreflabel, Headlines, Sections
    View comments on this page at openacs.org
    Index: openacs-4/packages/acs-core-docs/www/mac-installation.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/mac-installation.html,v diff -u -N -r1.17.2.5 -r1.17.2.6 --- openacs-4/packages/acs-core-docs/www/mac-installation.html 16 Dec 2003 13:58:41 -0000 1.17.2.5 +++ openacs-4/packages/acs-core-docs/www/mac-installation.html 18 Dec 2003 10:04:26 -0000 1.17.2.6 @@ -1,2 +1,8 @@ -OpenACS Installation Guide for Mac OS X

    OpenACS Installation Guide for Mac OS X

    There are several resources for installing on OS X.

    • OpenACS on Mac OS X Quickstart

    • An +OpenACS Installation Guide for Mac OS X

      OpenACS Installation Guide for Mac OS X

      Prerequisites.�Install readline:

      1. Download readline from http://ftp.gnu.org/pub/gnu/readline/readline-4.3.tar.gz into /usr/local/src

      2. Extract readline in /usr/local/src, configure, compile, and install:

        su - root
        +cd /usr/local/src
        +tar xvfz readline-4.3.tar.gz
        +readline-4.3
        +./configure
        +make
        +make install
      3. Proceed with the Unix-like system instructions. OS X is incompatible with Oracle 8, and Oracle 9i on OSX is not yet verified for OpenACS. So continue with Install PostgreSQL. Additional special steps for OS X are documented inline with the standard Unix-like instructions.

      Additional resources for installing on OS X.

      ($Id$)
      View comments on this page at openacs.org
      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.23.2.5 -r1.23.2.6 --- openacs-4/packages/acs-core-docs/www/objects.html 16 Dec 2003 13:58:42 -0000 1.23.2.5 +++ openacs-4/packages/acs-core-docs/www/objects.html 18 Dec 2003 10:04:26 -0000 1.23.2.6 @@ -78,7 +78,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  
      @@ -138,7 +138,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 @@ -163,7 +163,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: @@ -211,7 +211,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/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.16.2.5 -r1.16.2.6 --- openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 16 Dec 2003 13:58:42 -0000 1.16.2.5 +++ openacs-4/packages/acs-core-docs/www/permissions-tediously-explained.html 18 Dec 2003 10:04:26 -0000 1.16.2.6 @@ -100,7 +100,7 @@

      Context Hierarchy

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

      Table�8.1.�Context Hierarchy Example

      A

      +

      Table�8.1.�Context Hierarchy Example

      A

      object_id=10

      B

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

      Table�8.2.�acs_objects example data

      object_idcontext_id
      2010
      3010
      4020
      5020
      6030

      +

      Table�8.2.�acs_objects example data

      object_idcontext_id
      2010
      3010
      4020
      5020
      6030

      The first entry tells us that object 20 is the descendant of object 10, and the third entry shows that object 40 is the descendant of object 20. By running a CONNECT BY query, Index: openacs-4/packages/acs-core-docs/www/postgres.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/postgres.html,v diff -u -N -r1.21.2.5 -r1.21.2.6 --- openacs-4/packages/acs-core-docs/www/postgres.html 16 Dec 2003 13:58:42 -0000 1.21.2.5 +++ openacs-4/packages/acs-core-docs/www/postgres.html 18 Dec 2003 10:04:26 -0000 1.21.2.6 @@ -1,8 +1,7 @@ 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.0.0b4 will run with PostgreSQL 7.2.x, 7.3.2, - 7.3.3, and 7.3.4. 7.3.4 is the recommended version of PostgreSQL.

      • Debian.�

        Debian users can install the package and add some backwards-compatibility links:

        apt-get install postgresql postgresql-dev postgresql-doc
        +        

      Skip this section if you will run only Oracle.

      OpenACS 5.0.0b4 will run with PostgreSQL 7.2.x, 7.3.2, 7.3.3, and 7.3.4. 7.3.4 is the recommended version of PostgreSQL. PostgreSQL 7.4 has been verified.

      • Mac OS X.�If you are running Mac OS X prior to 10.3, you should be able to install and use PostGreSQL 7.2.x or 7.3.x. Mac OS X 10.3 requires PostGreSQL 7.4.

      • Debian.�

        Debian users can install the package and add some backwards-compatibility links:

        apt-get install postgresql postgresql-dev postgresql-doc
         ln -s /usr/include/postgresql/ /usr/include/pgsql
         ln -s /var/lib/postgres /usr/local/pgsql
         ln -s /usr/include/pgsql /usr/local/pgsql/include
        @@ -51,12 +50,17 @@
         useradd -g web -d /usr/local/pgsql postgres
         mkdir -p /usr/local/pgsql
         chown -R postgres.web /usr/local/pgsql /usr/local/src/postgresql-7.3.4
        -chmod 750 /usr/local/pgsql
      • Set up postgres's environment variables.�They are necessary for the executable to find its supporting - libraries. For convenience, we'll simply append the necessary - lines to the postgres shell config file.

        [root src]# echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib" >> ~postgres/.bashrc
        -[root src]# echo "export PATH=$PATH:/usr/local/pgsql/bin" >> ~postgres/.bashrc
        -echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib" >> ~postgres/.bashrc
        -echo "export PATH=$PATH:/usr/local/pgsql/bin" >> ~postgres/.bashrc

        Test this by logging in as +chmod 750 /usr/local/pgsql

        • Mac OS X: Do instead:

          sudo niutil -create / /groups/web
          +sudo niutil - list / /groups

          The second command returns a list of groups. The last entry should include the gid of the group web, which you will need in the next sequence:

          sudo niutil -create / /users/postgres
          +sudo niutil -createprop / /users/postgres gid web's gid_number
          +sudo niutil -createprop / /users/postgres home /usr/local/pgsql
          +sudo niutil -createprop / /users/postgres shell /bin/bash
          +mkdir -p /usr/local/pgsql
          +chown -R postgres:web /usr/local/pgsql /usr/local/src/postgresql-7.4
          +chmod 750 /usr/local/pgsql
      • Set up postgres's environment variables.�They are necessary for the executable to find its supporting + libraries. Put the following lines into the postgres user's environment.

        [root src]# su - postgres
        +[postgres ~] emacs ~postgres/.bashrc

        Paste these lines into .bashrc:

        export PATH=$PATH:/usr/local/pgsql/bin
        +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib

        Test this by logging in as postgres and checking the paths; you should see /usr/local/pgsql/bin

        [root src]# su - postgres
         [postgres pgsql]$ env | grep PATH
        @@ -67,7 +71,7 @@
         	  Change to the postgres user and run ./configure to set the compilation options automatically. This is the point at which you can
         	  configure PostgreSQL in various ways. For example, if you want to
         	  enable
        -	  Unicode support, add the flags --enable-locale and --enable-multibyte. If you want to see what the other possibilities are, run ./configure --help.
        +	  Unicode support, add the flags --enable-locale and --enable-multibyte. If you want to see what the other possibilities are, run ./configure --help.
         	

        [root src]# su - postgres
         [postgres pgsql]$ cd /usr/local/src/postgresql-7.3.4
         [postgres postgresql-7.3.4]$ ./configure
        @@ -252,7 +256,9 @@
                 

        root:/etc/rc.d/init.d # cd
         root:~ # /etc/rc.d/init.d/rc2.d/S20postgresql start
         Starting PostgreSQL: ok
        -root:~ # 

      +root:~ #

    • Mac OS X:

      1. Install the startup script:

        cd /Library/StartupItems/
        +tar xfz /var/lib/aolserver/service0/packages/acs-core-docs/www/files/osx-postgres-startup-item.tgz
        +
    • From now on, PostgreSQL should start automatically each time you boot up and it should shutdown gracefully each time you shut down. (Note: 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.13.2.5 -r1.13.2.6 --- openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html 16 Dec 2003 13:58:42 -0000 1.13.2.5 +++ openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html 18 Dec 2003 10:04:26 -0000 1.13.2.6 @@ -1,4 +1,4 @@ -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.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/psgml-mode.html,v diff -u -N -r1.22.2.5 -r1.22.2.6 --- openacs-4/packages/acs-core-docs/www/psgml-mode.html 16 Dec 2003 13:58:42 -0000 1.22.2.5 +++ openacs-4/packages/acs-core-docs/www/psgml-mode.html 18 Dec 2003 10:04:27 -0000 1.22.2.6 @@ -28,7 +28,7 @@ in it. By maintaining your own CATALOG, it is easy to add more DTD's without changing your emacs settings. (How about that HTML 4.01 DTD you always wanted to get from W3C ? The -DTD is in the zip archives and tarballs available on the site.

      That's it. Now you are ready to tell emacs all about PSGML mode and +DTD is in the zip archives and tarballs available on the site.)

      That's it. Now you are ready to tell emacs all about PSGML mode and that funky CATALOG

      What to tell emacs

      If you installed PSGML mode in a non-standard location, e.g., somewhere in your home directory, you need to add this to the load-path by adding this line to your .emacs file:

      @@ -60,7 +60,7 @@
             ;; Some convenient key definitions:
             (define-key sgml-mode-map "\C-c\C-x\C-e" 'sgml-describe-element-type)
             (define-key sgml-mode-map "\C-c\C-x\C-i" 'sgml-general-dtd-info)
      -      (define-key sgml-mode-map "\C-c\C-x\C-t" 'sgml-describe-entity))))
      +      (define-key sgml-mode-map "\C-c\C-x\C-t" 'sgml-describe-entity)
          
       

      What is a DOCTYPE ?

      All SGML and XML documents that should conform to a DTD have to declare a doctype. For the docbook XML, all your .xml files whould start with Index: openacs-4/packages/acs-core-docs/www/tutorial-advanced.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-advanced.html,v diff -u -N -r1.14.2.5 -r1.14.2.6 --- openacs-4/packages/acs-core-docs/www/tutorial-advanced.html 16 Dec 2003 13:58:42 -0000 1.14.2.5 +++ openacs-4/packages/acs-core-docs/www/tutorial-advanced.html 18 Dec 2003 10:04:27 -0000 1.14.2.6 @@ -1,15 +1,15 @@ Advanced Topics

      Advanced Topics

      Important

      This section is a work in progress.

      by Joel Aufrecht

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

      Overview

      This tutorial covers topics which are not essential to +

      Overview

      This tutorial covers topics which are not essential to creating a minimal working package. Each section can be used independently of all of the others; all sections assume that you've completed the basic tutorial.

      • How to enforce security so that users can't change other users records

      • How to use the content management tables so that ... what?

      • How to change the default stylesheets for Form Builder HTML forms.

      • How to make your package searchable with OpenFTS/Oracle

      • How to make your package send email notifications

      • How to prepare pagelets for inclusion in other pages

      • How and when to put procedures in a tcl procedure library

      • How to add general_comments to your pages

      • More on ad_form - data validation, other stuff. (plan to draw from Jon Griffin's doc)

      • How and when to implement caching

      • partialquery in xql

      • How to use the html/text entry widget to get the - "does this look right" confirm page

      • APM package dependencies

      Write the Requirements and Design Specs

      It's time to document. For the tutorial we'll use + "does this look right" confirm page

    • APM package dependencies

    • Write the Requirements and Design Specs

      It's time to document. For the tutorial we'll use pre-written documentation. When creating a package from scratch, start by copying the documentation template from /var/lib/aolserver/openacs-dev/packages/acs-core-docs/xml/docs/xml/package-documentation-template.xml @@ -59,7 +59,7 @@ Writing bi01.html for bibliography Writing index.html for book [service0 xml]$

      Verify that the documentation was generated and reflects - your changes by browsing to http://yoursite:8000/samplenote/doc

      Add the new package to CVS

      Before you do any more work, make sure that your work is + your changes by browsing to http://yoursite:8000/samplenote/doc

      Add the new package to CVS

      Before you do any more work, make sure that your work is protected by putting it all into cvs. The cvs add command is not recursive, so you'll have to traverse the directory tree manually and add as you go. (More on @@ -119,7 +119,7 @@ initial revision: 1.1 done (many lines omitted) -[service0 samplenote]$

      Delete with confirmation

      We need a way to delete records. We'll create a +[service0 samplenote]$

      Delete with confirmation

      We need a way to delete records. We'll create a recursive confirmation page.

      Add this column to the table_def in index.tcl

      {delete "" {} {<td><a href="note-delete?note_id=$note_id">Delete</a></td>}}

      Create the delete confirmation/execution page.

      [service0 www]$ emacs note-delete.tcl
      ad_page_contract {
           A page that gets confirmation and then delete notes.
       
      @@ -179,7 +179,7 @@
       <formtemplate id="note-del-confirm"></formtemplate>
       </form>

      The ADP is very simple. The formtemplate tag outputs the HTML -form generated by the ad_form command with the matching name. Test it by adding the new files in the APM and then deleting a few samplenotes.

      General_comments

      You can track comments for any ACS Object. Here we'll track +form generated by the ad_form command with the matching name. Test it by adding the new files in the APM and then deleting a few samplenotes.

      General_comments

      You can track comments for any ACS Object. Here we'll track comments for notes. On the notes.tcl/adp pair, which is used to display individual notes, we want to put a link to add comments at the bottom of the screen. If there are any comments, we want to @@ -200,13 +200,13 @@ there are comments. Then you pass the note id, which is also the acs_object id.

      We put our two new variables in the notes.adp page.

      <a href="@comment_add_url@">Add a comment</a>
      -@comments_html@

      Prepare the package for distribution.

      Browse to the package manager. Click on +@comments_html@

      Prepare the package for distribution.

      Browse to the package manager. Click on tutorialapp.

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

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

      + /tmp.

      View comments on this page at openacs.org
      Index: openacs-4/packages/acs-core-docs/www/tutorial-database.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-database.html,v diff -u -N -r1.14.2.5 -r1.14.2.6 --- openacs-4/packages/acs-core-docs/www/tutorial-database.html 16 Dec 2003 13:58:42 -0000 1.14.2.5 +++ openacs-4/packages/acs-core-docs/www/tutorial-database.html 18 Dec 2003 10:04:27 -0000 1.14.2.6 @@ -1,7 +1,7 @@ Setting Up Database Objects

      Setting Up Database Objects

      by Joel Aufrecht

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

      Code the data model

      We create all database objects with scripts in the +

      Code the data model

      We create all database objects with scripts in the myfirstpackage/sql/ directory. All database scripts are database-specific and are thus in either the myfirstpackage/sql/oracle or @@ -36,7 +36,7 @@ @author which will be picked up by the API browser. The string $Id$ will automatically be - expanded when the file is checked in to cvs.

      [service0 postgresql]$ emacs myfirstpackage-create.sql

      Paste this into the file and save and close.

      Figure�7.2.�Database Creation Script - master create file

      --
      +      expanded when the file is checked in to cvs.

      [service0 postgresql]$ emacs myfirstpackage-create.sql

      Paste this into the file and save and close.

      Figure�7.2.�Database Creation Script - master create file

      --
       -- @author rhs@mit.edu
       -- @cvs-id $Id$
       --
      @@ -60,7 +60,7 @@
           object.  Notice the use of "mfp."  This token, derived from "My
           First Package," ensures that our object is unlikely to conflict
           with objects from other packages.

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

      [service0 postgresql]$ emacs myfirstpackage-drop.sql

      Figure�7.3.�Database deletion script

      -- packages/myfirstpackage/sql/myfirstpackage-drop.sql
      +        is uninstalled.

      [service0 postgresql]$ emacs myfirstpackage-drop.sql

      Figure�7.3.�Database deletion script

      -- packages/myfirstpackage/sql/myfirstpackage-drop.sql
       -- drop script
       --
       -- @author joel@aufrecht.org
      Index: openacs-4/packages/acs-core-docs/www/tutorial-debug.html
      ===================================================================
      RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-debug.html,v
      diff -u -N -r1.14.2.5 -r1.14.2.6
      --- openacs-4/packages/acs-core-docs/www/tutorial-debug.html	16 Dec 2003 13:58:42 -0000	1.14.2.5
      +++ openacs-4/packages/acs-core-docs/www/tutorial-debug.html	18 Dec 2003 10:04:27 -0000	1.14.2.6
      @@ -1,7 +1,7 @@
       Debugging and Automated Testing

      Debugging and Automated Testing

      Important

      This section is a work in progress.

      by Joel Aufrecht

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

      Debugging

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

      Debugging

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

      -

      Manual testing

      Make a list of basic tests to make sure it works

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

      Manual testing

      Make a list of basic tests to make sure it works

      Test NumActionExpected Result
      001Browse to the index page while not logged in and while one or more notes exist.No edit or delete or add links should appear.
      002Browse to the index page while logged in. An Edit link should appear. Click on it. Fill out the form and click Submit.The text added in the form should be visible on the index page.

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

      Write automated tests

      by Simon Carstensen

      + Search for a note.

      Write automated tests

      by Simon Carstensen

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

      - + It seems to me that a lot of people have been asking for some guidelines on how to write automated tests. I've done several tests by now and have found the process to be Index: openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html,v diff -u -N -r1.14.2.5 -r1.14.2.6 --- openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 16 Dec 2003 13:58:42 -0000 1.14.2.5 +++ openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 18 Dec 2003 10:04:27 -0000 1.14.2.6 @@ -1,7 +1,7 @@ Creating a Package

      Creating a Package

      by Joel Aufrecht

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

      The intended page map

      Overview

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

      The intended page map

      Overview

      To start developing new code in OpenACS, we build a new package. A package is a a discrete collection of web pages, tcl code, and database tables and procedures. A package with user interface is called an application; a package which provides @@ -21,11 +21,11 @@

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

      Before you begin

      You will need:

      • A computer with a working installation of +

      Before you begin

      You will need:

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

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

      Figure�7.1.�Assumptions in this section

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

      Use the APM to initialize a new package

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

      Figure�7.1.�Assumptions in this section

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

      Use the APM to initialize a new package

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

      This creates a package rooted at /var/lib/aolserver/service0/packages/myfirstpackage. This is the "home directory" of our new package, and all - files in the package will be within this directory.

      Mount the package in the site map

      In order to see your work in progress, you must create a + files in the package will be within this directory.

      Mount the package in the site map

      In order to see your work in progress, you must create a map between the URL space of incoming requests and the package. You do this by mounting the package in the Site Map. This creates a link between the incoming URL and an Index: openacs-4/packages/acs-core-docs/www/tutorial-pages.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-pages.html,v diff -u -N -r1.14.2.5 -r1.14.2.6 --- openacs-4/packages/acs-core-docs/www/tutorial-pages.html 16 Dec 2003 13:58:42 -0000 1.14.2.5 +++ openacs-4/packages/acs-core-docs/www/tutorial-pages.html 18 Dec 2003 10:04:27 -0000 1.14.2.6 @@ -1,8 +1,8 @@ Creating Web Pages

      Creating Web Pages

      by Joel Aufrecht

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

      Install some API

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

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

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

      Build the "Index" page

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

      Install some API

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

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

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

      Build the "Index" page

      Each user-visible page in your package has, typically, three parts. The tcl file holds the procedural logic for the page, including TCL and database-independent SQL code, and does things like Index: openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html,v diff -u -N -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html 16 Dec 2003 14:03:40 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html 18 Dec 2003 10:04:27 -0000 1.1.2.2 @@ -1,4 +1,4 @@ -Upgrading the OpenACS files

      Upgrading the OpenACS files

      OpenACS is distributed as a collection of files, available as one big tarball, via CVS, and via automatic download from within the APM. Upgrades work by first changing the file system (via any of the previous methods), and then using the APM to scan the file system, find upgrade scripts, and execute them. This section describes how to upgrade the file system. Starting with OpenACS 5.0, this section can generally be skipped because the OpenACS APM can directly download new files from the openacs.org repository.

      If you are using CVS, you will unpack the OpenACS 4.6 tarball into a working directory and then import that directory into cvs. If you have changed files in the core packages, cvs will attempt to merge your changes. You may have to manually merge some conflicts. When that's finished, you can update your normal development checkout directory and the new files will appear. If you aren't using CVS, you can unpack the tarball on top of your existing tree, but any customizations you've made to the kernel or core packages will be erased.

      • Upgrading files without CVS.�Unpack the tarball into a new directory and copy its contents on top of your working directory.

        [root root]# su - service0
        +Upgrading the OpenACS files

        Upgrading the OpenACS files

        OpenACS is distributed as a collection of files, available as one big tarball, via CVS, and via automatic download from within the APM. Upgrades work by first changing the file system (via any of the previous methods), and then using the APM to scan the file system, find upgrade scripts, and execute them. This section describes how to upgrade the file system. Starting with OpenACS 5.0, this section can generally be skipped because the OpenACS APM can directly download new files from the openacs.org repository.

        Many OpenACS site developers operate their own CVS repository to keep track of changes from the release OpenACS code. This part describes how to import the latest OpenACS version into your own repository. If you are using CVS, you will unpack the OpenACS 4.6 tarball into a working directory and then import that directory into cvs. If you have changed files in the core packages, cvs will attempt to merge your changes. You may have to manually merge some conflicts. When that's finished, you can update your normal development checkout directory and the new files will appear. If you aren't using CVS, you can unpack the tarball on top of your existing tree, but any customizations you've made to the kernel or core packages will be erased.

        • Upgrading files for a site which is not in a CVS repository.�Unpack the tarball into a new directory and copy its contents on top of your working directory.

          [root root]# su - service0
           [service0 aolserver]$ cd /var/lib/aolserver
           [service0 web]$ tar xzf /tmp/openacs-4-6.tgz
           [service0 web]$ cp -r openacs-4-6/* openacs-4
          @@ -9,7 +9,7 @@
           tar xzf /tmp/openacs-4-6.tgz
           cp -r openacs-4-6/* openacs-4
           exit
        • - Upgrading files with CVS + Upgrading files for a site which is in a CVS repository

          1. Unpack the new files into a working directory.

            [root root]# su - service0
             [service0 aolserver]$ cd /tmp
             [service0 tmp]$ tar xzf openacs-4-6.tgz
            Index: openacs-4/packages/acs-core-docs/www/upgrade-openacs.html
            ===================================================================
            RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/Attic/upgrade-openacs.html,v
            diff -u -N -r1.1.2.1 -r1.1.2.2
            --- openacs-4/packages/acs-core-docs/www/upgrade-openacs.html	16 Dec 2003 14:03:40 -0000	1.1.2.1
            +++ openacs-4/packages/acs-core-docs/www/upgrade-openacs.html	18 Dec 2003 10:04:27 -0000	1.1.2.2
            @@ -1,4 +1,4 @@
            -Upgrading OpenACS

            Upgrading OpenACS

            Upgrading 4.5 to 4.6.x

            The required platform for OpenACS 4.6 is the same as +Upgrading OpenACS

            Upgrading OpenACS

            Upgrading 4.5 to 4.6.x

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

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

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

            3. Stop the server

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

            5. @@ -8,4 +8,51 @@ upgrade, plus any new packages you want. It's safest to upgrade the kernel by itself, and then come back and upgrade the rest of the - desired packages in a second pass.

            6. On the next screen, click Install Packages

            7. When prompted, restart the server:

              [root root]# restart-aolserver service0
            8. Wait a minute, then browse to the package manager, http://yourserver/acs-admin/apm.

            9. Check that the kernel upgrade worked by clicking All and making sure that acs-kernel version is 5.0.0b4.

          2. Rollback.�If anything goes wrong, roll back to the backup snapshot.

        Upgrading OpenACS 4.6.x to 4.6.3

        Upgrading from before 4.6.3 to 5.0

        OpenACS 5.0 requires PostGreSQL 7.3; OpenACS 4.6.3 supports both 7.2 and 7.3; OpenACS versions prior to 4.6.3 do not support PostGreSQL 7.3. Therefore, if you are upgrading a PostGreSQL OpenACS site from a version before 4.6.3, you must do it in three steps:

        Upgrading OpenACS 4.6.3 to 5.0

        View comments on this page at openacs.org
        + desired packages in a second pass.

      • On the next screen, click Install Packages

      • When prompted, restart the server:

        [root root]# restart-aolserver service0
      • Wait a minute, then browse to the package manager, http://yourserver/acs-admin/apm.

      • Check that the kernel upgrade worked by clicking All and making sure that acs-kernel version is 5.0.0b4.

    • Rollback.�If anything goes wrong, roll back to the backup snapshot.

    • Upgrading OpenACS 4.6.x to 4.6.3

      Upgrading from before 4.6.3 to 5.0

      OpenACS 5.0 requires PostGreSQL 7.3; OpenACS 4.6.3 supports both 7.2 and 7.3; OpenACS versions prior to 4.6.3 do not support PostGreSQL 7.3. Therefore, if you are upgrading a PostGreSQL OpenACS site from a version before 4.6.3, you must do it in three steps:

      Upgrading OpenACS 4.6.3 to 5.0

      1. +pg_dump mydb > mydb.dmp
        +
        +If you are also upgrading from postgresql 7.2 to postgresql 7.3:
        +From openacs 5.0
        +
        +/openacs-5/bin/pg_7.2to7.3_upgrade_helper.pl mydb.dmp mydb-new.dmp /path/to/openacs-4-install
        +
        +    * Reload mydb-new.dmp into postgresql 7.3.
        +    * psql -f /openacs-5/packages/acs-kernel/sql/postgresql/postgresql.sql mydb
        +    * Load acs-kernel sql upgrade scripts from the previous openacs version. Be sure to load 5.0d* scripts before 5.0.0b* scripts.
        +    * Load acs-service-contract sql upgrade scripts
        +    * Load acs-authentication data model
        +      psql -f openacs-5/packages/acs-authentication/sql/postgresql/acs-authentication-create.sql mydb
        +    * Load acs-lang data model
        +      psql -f openacs-5/packages/acs-lang/sql/postgresql/acs-lang-create.sql mydb 
        +
        +Next create in openacs-5/tcl/ zzz-postload.tcl containing
        +
        +if {![apm_package_installed_p acs-lang]} {
        +
        +    apm_package_install -enable -mount_path acs-lang [acs_root_dir]/packages/acs-lang/acs-lang.info
        +    
        +     lang::catalog::import -locales [list "en_US"]
        +
        +}
        +
        +
        +if {![apm_package_installed_p acs-authentication]} {
        +
        +    apm_package_install -enable [acs_root_dir]/packages/acs-authentication/acs-authentication.info
        +
        +     apm_parameter_register "UsePasswordWidgetForUsername" \
        +     "Should we hide what the user types in the username
        +      field, the way we do with the password field? Set
        +      this to 1 if you are us ing sensitive information
        +      such as social security number for username." \
        +     acs-kernel 0 number \
        +     security 1 1
        +     parameter::set_value -package_id [ad_acs_kernel_id] -parameter UsePasswordWidgetForUsername -value 0
        +
        +}
        +
        +Cross fingers.
        +
        +If you can login, visit /acs-admin/apm and upgrade acs-kernel, acs-service-contract and uncheck the data model scripts. Restart. If everything is still working, make another backup of the database. Then upgrade the rest of your packages through the APM. 
        +

        +See also this forum post: Forum OpenACS Development: 4.6.3 upgrade to 5-HEAD: final results.

      View comments on this page at openacs.org
      Index: openacs-4/packages/acs-core-docs/www/upgrade-overview.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-overview.html,v diff -u -N -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-core-docs/www/upgrade-overview.html 16 Dec 2003 14:03:40 -0000 1.1.2.1 +++ openacs-4/packages/acs-core-docs/www/upgrade-overview.html 18 Dec 2003 10:04:27 -0000 1.1.2.2 @@ -6,4 +6,4 @@ OpenACS prior to 4.5, upgrading will require manual effort.

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

      OpenACS consists of files and a database schema. The files in a new tarball include database upgrade scripts. To start the upgrade, replace your existing files with the new files and then browse to the APM, which will detect the new packages and offer to run the appropriate database upgrade scripts. After restarting the server again, the upgrade is - complete.

      Table�5.1.�Assumptions in this section

      name of OpenACS userservice0
      OpenACS server nameservice0
      Root of OpenACS file tree/var/lib/aolserver/service0
      Database backup directory/var/lib/aolserver/service0/database-backup
      View comments on this page at openacs.org
      + complete.

      Table�5.1.�Assumptions in this section

      name of OpenACS userservice0
      OpenACS server nameservice0
      Root of OpenACS file tree/var/lib/aolserver/service0
      Database backup directory/var/lib/aolserver/service0/database-backup
      View comments on this page at openacs.org
      Index: openacs-4/packages/acs-core-docs/www/variables.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/variables.html,v diff -u -N -r1.1.2.4 -r1.1.2.5 --- openacs-4/packages/acs-core-docs/www/variables.html 16 Dec 2003 13:58:42 -0000 1.1.2.4 +++ openacs-4/packages/acs-core-docs/www/variables.html 18 Dec 2003 10:04:27 -0000 1.1.2.5 @@ -3,7 +3,7 @@ by OpenACS documentation staff.

      Date and Time Variables

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

      Example�9.1.�Getting datetime from the database ANSI-style

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

      Example�9.1.�Getting datetime from the database ANSI-style

      db_multirow -extend { mydate_pretty } {
           select to_char(mydate, 'YYYY-MM-DD HH24:MI:SS') as mydate_ansi,
                 ...
           ...