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 -r1.4.2.2 -r1.4.2.3 --- openacs-4/packages/acs-core-docs/www/apm-design.adp 26 Aug 2020 07:46:25 -0000 1.4.2.2 +++ openacs-4/packages/acs-core-docs/www/apm-design.adp 5 Jan 2021 17:33:39 -0000 1.4.2.3 @@ -635,7 +635,7 @@ centralization, but splitting this information into several files allows for flexible extensions to the APM architecture over time.

APM packages currently lack provisions to verify security -information. There are plans to add MD5 time stamps and PGP +information. There are plans to add MD5 timestamps and PGP signatures to packages to enable secure authentication of packages. These steps are necessary for APM to be usable as a scalable method to distribute packages on multiple repositories worldwide.

Another anticipated change is to split the APM UI into separate 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 -r1.4.2.2 -r1.4.2.3 --- openacs-4/packages/acs-core-docs/www/apm-requirements.adp 26 Aug 2020 07:46:25 -0000 1.4.2.2 +++ openacs-4/packages/acs-core-docs/www/apm-requirements.adp 5 Jan 2021 17:33:39 -0000 1.4.2.3 @@ -71,8 +71,7 @@

  • A registry of installed -packages, database-backed and integrated with file -system-based version control

  • +packages, database-backed and integrated with filesystem-based version control

  • Web-based tools for package development:

  • Level 4: Deprecated. The package was in some earlier version -is use, but was probably replaced by a another package. The package +is use, but was probably replaced by another package. The package description should point to a preferred version.

  • 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 -r1.6.2.4 -r1.6.2.5 --- openacs-4/packages/acs-core-docs/www/ext-auth-requirements.adp 26 Aug 2020 07:46:25 -0000 1.6.2.4 +++ openacs-4/packages/acs-core-docs/www/ext-auth-requirements.adp 5 Jan 2021 17:33:39 -0000 1.6.2.5 @@ -108,7 +108,7 @@ EXT-AUTH-28AUsername is email switch -

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

    Users will log in using a username, an 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 @@ -177,7 +177,7 @@

    Each authority is defined like this:

    If a user doesn't have an account, the site-wide configuration can allow the user to register for one, as defined in the configuration discussed above. This section is about normal -account registration through a authority driver.

    The account creation service contract implementation will need +account registration through an authority driver.

    The account creation service contract implementation will need to tell us which information to ask the user for:

    The fields to choose from are these:

    50.30 Data which is -submitted with a HTTP request using a GET or POST method may be in +submitted with an HTTP request using a GET or POST method may be in any character set. The system must be able to determine the encoding of the form data and convert it to Unicode on demand.

    50.35 The developer must @@ -401,23 +401,23 @@ Time Zones

    90.10 Provide API support -for specifying a time zone

    +for specifying a timezone

    90.20 Provide an API for computing time and date operations which are aware of timezones. So for example a calendar module can properly synchronize items -inserted into a calendar from users in different time zones using +inserted into a calendar from users in different timezones using their own local times.

    90.30 Store all dates and -times in universal time zone, UTC.

    +times in universal timezone, UTC.

    90.40 For a registered -users, a time zone preference should be stored.

    +users, a timezone preference should be stored.

    90.50 For a -non-registered user a time zone preference should be attached via a +non-registered user a timezone preference should be attached via a session or else UTC should be used to display every date and time.

    90.60 The default if we -can't determine a time zone is to display all dates and times -in some universal time zone such as GMT.

    +can't determine a timezone is to display all dates and times +in some universal timezone such as GMT.

    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 -r1.5.2.2 -r1.5.2.3 --- openacs-4/packages/acs-core-docs/www/individual-programs.adp 26 Aug 2020 07:46:25 -0000 1.5.2.2 +++ openacs-4/packages/acs-core-docs/www/individual-programs.adp 5 Jan 2021 17:33:39 -0000 1.5.2.3 @@ -240,7 +240,7 @@ external load balancing system.

  • Database. The data on your site (for -example, user names and passwords, calendar entries, and notes) is +example, usernames and passwords, calendar entries, and notes) is stored in the database. OpenACS separates the database with an abstraction layer, which means that several different databases all function identically. While you can run the core OpenACS on any Index: openacs-4/packages/acs-core-docs/www/install-ldap-radius.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-ldap-radius.adp,v diff -u -r1.5.2.2 -r1.5.2.3 --- openacs-4/packages/acs-core-docs/www/install-ldap-radius.adp 26 Aug 2020 07:46:25 -0000 1.5.2.2 +++ openacs-4/packages/acs-core-docs/www/install-ldap-radius.adp 5 Jan 2021 17:33:39 -0000 1.5.2.3 @@ -58,10 +58,10 @@ use. Traditionally OpenACS has supported ns_ldap for authentication by storing the OpenACS password in an encrypted field within the LDAP server called "userPassword". -Furthermore a CN field was used for searching for the username, +Furthermore, a CN field was used for searching for the username, usually userID or something similar. This field is identical to the usernamestored in OpenACS. -Therefore the login will only work if you change login method to +Therefore, the login will only work if you change login method to make use of the username instead.

    • Change config.tcl. Remove the # in front of ns_param nsldap @@ -71,7 +71,7 @@

      Configure ns_ldap for use with LDAP bind. LDAP authentication usually is done by trying -to bind (a.k.a. login) a user with the LDAP server. The password of +to bind (aka login) a user with the LDAP server. The password of the user is not stored in any field of the LDAP server, but kept internally. The latest version of ns_ldap supports this method with the ns_ldap bind command. Index: openacs-4/packages/acs-core-docs/www/install-next-add-server.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-next-add-server.adp,v diff -u -r1.4.2.2 -r1.4.2.3 --- openacs-4/packages/acs-core-docs/www/install-next-add-server.adp 26 Aug 2020 07:46:25 -0000 1.4.2.2 +++ openacs-4/packages/acs-core-docs/www/install-next-add-server.adp 5 Jan 2021 17:33:39 -0000 1.4.2.3 @@ -17,13 +17,13 @@ $OPENACS_SERVICE_NAME, and change the

      set httpport              8000
       set httpsport             8443 

      to different values.

      -Services on different host names. For +Services on different hostnames. For example, suppose you want to support http://service0.com and http://bar.com on the same machine. The -easiest way is to assign each one a different ip address. Then you +easiest way is to assign each one a different IP address. Then you can install two services as above, but with different values for

       set hostname               [ns_info hostname]
      -set address                127.0.0.1 

      If you want to install two services with different host names +set address 127.0.0.1

      If you want to install two services with different hostnames sharing the same ip, you'll need nsvhr to redirect requests based on the contents of the tcp headers. See AOLserver Virtual Hosting with TCP by markd.

    Index: openacs-4/packages/acs-core-docs/www/install-openacs-inittab.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-openacs-inittab.adp,v diff -u -r1.3.2.2 -r1.3.2.3 --- openacs-4/packages/acs-core-docs/www/install-openacs-inittab.adp 26 Aug 2020 07:46:25 -0000 1.3.2.2 +++ openacs-4/packages/acs-core-docs/www/install-openacs-inittab.adp 5 Jan 2021 17:33:39 -0000 1.3.2.3 @@ -25,7 +25,7 @@
  • Copy this file into /var/tmp/restart-aolserver.txt.

  • This script needs to be SUID-root, which means that the script will run as root. This is necessary to ensure that the AOLserver -processes are killed regardless of who owns them. However the +processes are killed regardless of who owns them. However, the script should be executable by the web group to ensure that the users updating the web page can use the script, but that general system users cannot run the script. You also need to have Perl installed and Index: openacs-4/packages/acs-core-docs/www/install-php.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-php.adp,v diff -u -r1.4.2.2 -r1.4.2.3 --- openacs-4/packages/acs-core-docs/www/install-php.adp 26 Aug 2020 07:46:25 -0000 1.4.2.2 +++ openacs-4/packages/acs-core-docs/www/install-php.adp 5 Jan 2021 17:33:39 -0000 1.4.2.3 @@ -25,7 +25,7 @@ [root php-4.3.4]# make install

    Once installed you can enable this by configuring your config file. Make sure your config file supports php (it should have a php -section with it). Furthermore add index.php as the last element to +section with it). Furthermore, add index.php as the last element to your directoryfile directive.

  • 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 -r1.5.2.4 -r1.5.2.5 --- openacs-4/packages/acs-core-docs/www/install-qmail.adp 26 Aug 2020 07:46:25 -0000 1.5.2.4 +++ openacs-4/packages/acs-core-docs/www/install-qmail.adp 5 Jan 2021 17:33:39 -0000 1.5.2.5 @@ -32,7 +32,7 @@ not, you'll want to read /var/qmail/doc/INSTALL.ctl to find out how to configure qmail.

    [root qmail-1.03]# ./config-fast yourserver.test
     
    -Your fully qualified host name is yourserver.test.
    +Your fully qualified hostname is yourserver.test.
     Putting yourserver.test into control/me...
     Putting yourserver.test into control/defaultdomain...
     Putting yourserver.test into control/plusdomain...
    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 -r1.5.2.5 -r1.5.2.6
    --- openacs-4/packages/acs-core-docs/www/install-redhat.adp	26 Aug 2020 07:46:25 -0000	1.5.2.5
    +++ openacs-4/packages/acs-core-docs/www/install-redhat.adp	5 Jan 2021 17:33:39 -0000	1.5.2.6
    @@ -87,7 +87,7 @@
     guess. Click Edit,
     uncheck Configure using DHCP and type in your IP
     and netmask. Click 
    -Ok.

  • Type in your host name, gateway, and DNS server(s). Then click +Ok.

  • Type in your hostname, gateway, and DNS server(s). Then click Next.

  • We're going to use the firewall template for high security, meaning that we'll block almost all incoming traffic. Then @@ -105,7 +105,7 @@ Select any additional languages you want the computer to support and then click Next -

  • Choose your time zone and click +

  • Choose your timezone and click Next.

  • Type in a root password, twice.

  • On the Package selection page, we're going to uncheck a lot of packages that install software we don't need, and add 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 -r1.4.2.4 -r1.4.2.5 --- openacs-4/packages/acs-core-docs/www/maint-performance.adp 26 Aug 2020 07:46:25 -0000 1.4.2.4 +++ openacs-4/packages/acs-core-docs/www/maint-performance.adp 5 Jan 2021 17:33:39 -0000 1.4.2.5 @@ -12,7 +12,7 @@ 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 +20K users into .LRN)

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

    • Isolating and solving database problems.

      • Without daily internal maintenance, most databases slowly 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 -r1.5.2.4 -r1.5.2.5 --- openacs-4/packages/acs-core-docs/www/maintenance-deploy.adp 26 Aug 2020 07:46:25 -0000 1.5.2.4 +++ openacs-4/packages/acs-core-docs/www/maintenance-deploy.adp 5 Jan 2021 17:33:39 -0000 1.5.2.5 @@ -113,8 +113,7 @@ 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 +touched; it is merely set aside.

        This approach can has limitations. If the database or filesystem 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.

        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 -r1.4.2.3 -r1.4.2.4 --- openacs-4/packages/acs-core-docs/www/object-system-design.adp 26 Aug 2020 07:46:25 -0000 1.4.2.3 +++ openacs-4/packages/acs-core-docs/www/object-system-design.adp 5 Jan 2021 17:33:39 -0000 1.4.2.4 @@ -229,7 +229,7 @@ still keeping track of the fact that each member of a subtype (i.e. for each row in the subtype's table), is also a member of the parent type (i.e. there is a corresponding row in the parent type -table). Therefore, applications an use this mechanism without +table). Therefore, applications use this mechanism without worrying about this bookkeeping themselves, and we avoid having applications pollute the core data model with their specific information.

        @@ -345,7 +345,7 @@ existing SQL or SQL-like database engine. Examples of systems like this include the new Informix, PostgreSQL 7, and Oracle has something like this too. The main problem with these systems: each -one implements their own non-portable extensions to SQL to +one implements their own nonportable extensions to SQL to implement subtyping. Thus, making OpenACS data models portable would become even more difficult. In addition, each of these object systems have strange limitations that make using inheritance 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 -r1.4.2.4 -r1.4.2.5 --- openacs-4/packages/acs-core-docs/www/openacs.adp 26 Aug 2020 07:46:25 -0000 1.4.2.4 +++ openacs-4/packages/acs-core-docs/www/openacs.adp 5 Jan 2021 17:33:39 -0000 1.4.2.5 @@ -57,7 +57,7 @@

        -Set up the file system for one or more OpenACS +Set up the filesystem for one or more OpenACS Sites

        For Linux Standard Base compliance and ease of backup, all of the files in each OpenACS site are stored in a subdirectory of /var/lib/aolserver, one @@ -359,8 +359,7 @@ [$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc [$OPENACS_SERVICE_NAME etc]$ emacs config.tcl

        You can continue without changing any values in the file. -However, if you don't change address to match the computer's ip -address, you won't be able to browse to your server from other +However, if you don't change address to match the computer's IP address, you won't be able to browse to your server from other machines.

        • httpport - If you want 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 -r1.4.2.2 -r1.4.2.3 --- openacs-4/packages/acs-core-docs/www/oracle.adp 26 Aug 2020 07:46:25 -0000 1.4.2.2 +++ openacs-4/packages/acs-core-docs/www/oracle.adp 5 Jan 2021 17:33:39 -0000 1.4.2.3 @@ -110,7 +110,7 @@ that password.

        • Setup the installation location for Oracle. While Oracle can -reside in a variety of places in the file system, OpenACS has +reside in a variety of places in the filesystem, OpenACS has adopted /ora8 as the base directory.

          Note: the Oracle @@ -403,7 +403,7 @@

        Congratulations, you have just installed Oracle 8.1.7 Server! However, you still need to create a database which can take about -an hour of non-interactive time, so don't quit yet.

        +an hour of noninteractive time, so don't quit yet.

        Creating the First Database

        This step will take you through the steps of creating a @@ -450,7 +450,7 @@ going to examine the contents of this file before creating our database.)

      • Click the "Save" button. Oracle will automatically save it to the correct directory -and with the correct file name. This will likely be /ora8/m01/app/oracle/product/8.1.7/assistants/dbca/jlib/sqlora8.sh +and with the correct filename. This will likely be /ora8/m01/app/oracle/product/8.1.7/assistants/dbca/jlib/sqlora8.sh

      • It will alert you that the script has been saved successfully.

      • Now we need to customize the database configuration a bit. While 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 -r1.7.2.4 -r1.7.2.5 --- openacs-4/packages/acs-core-docs/www/packages.adp 26 Aug 2020 07:46:25 -0000 1.7.2.4 +++ openacs-4/packages/acs-core-docs/www/packages.adp 5 Jan 2021 17:33:39 -0000 1.7.2.5 @@ -18,7 +18,7 @@ OpenACS. OpenACS packages are installed and maintained with the OpenACS Package Manager (APM) which is part of the acs-admin package. This document presents reasons for packaging software, -conventions for the file system and naming that must be followed, +conventions for the filesystem and naming that must be followed, and step by step instructions for creating a new package for the "Notes" example package.

      @@ -51,7 +51,7 @@ What a Package Looks Like

    Each package encapsulates all of its data model, library code, logic, administration pages and user pages in a single part of the file tree. This means developers can track down everything that is related to a -particular package without hunting all over the file system. +particular package without hunting all over the filesystem. Encapsulating everything about a package in one place also makes it much easier to distribute packages independently from the OpenACS Core.

    In order to make this work, we need a system that keeps track of @@ -277,7 +277,7 @@

    Package Key

    This is a short text string that should uniquely name your package to distinguish it from all the others. It is used as a database key to keep track of the package and as the name of the -directory in the file system where all the files related to your +directory in the filesystem where all the files related to your package will live. Example package keys in the current system include: forums, acs-kernel and so on. For the example application, we will use the package key notes.

    Package Name

    This is a short human readable name for your package. For our @@ -309,8 +309,7 @@ click the link called "notes" to go to the management page for the new package. Now click the link called "Manage file information", then the "Scan the packages/notes directory for additional -files in this package" link on that page to scan the file -system for new files. This will bring you do a page that lists all +files in this package" link on that page to scan the filesystem for new files. This will bring you to a page that lists all the files you just added and lets you add them to the notes package.

    Note that while the .sql files have been added to the package, they have not been loaded into the database. For the purposes of development, you have to load the data model by @@ -350,8 +349,7 @@ What we have to do is mount the application into the site map. That is, we have to define the URL from which the application will serve its pages.

    In OpenACS 5, administrators can define an arbitrary mapping -between the URLs the user types and the actual file in the file -system that is served. This mapping is called the site map and entries in the site map are +between the URLs the user types and the actual file in the filesystem that is served. This mapping is called the site map and entries in the site map are called site nodes. Each site node maps a URL to an OpenACS object. Since package instances are objects, the site map allows us to easily map package instances to @@ -408,4 +406,4 @@ System" homeLink="index" homeLabel="Home" upLink="dev-guide" upLabel="Up"> - \ No newline at end of file + 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 -r1.57.2.3 -r1.57.2.4 --- openacs-4/packages/acs-core-docs/www/packages.html 27 Jun 2019 18:22:22 -0000 1.57.2.3 +++ openacs-4/packages/acs-core-docs/www/packages.html 5 Jan 2021 17:33:40 -0000 1.57.2.4 @@ -331,7 +331,7 @@ file information", then the "Scan the packages/notes directory for additional files in this package" link on that page to scan - the file system for new files. This will bring you do a page + the file system for new files. This will bring you to a page that lists all the files you just added and lets you add them to the notes package.

    Index: openacs-4/packages/acs-core-docs/www/parties.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/parties.adp,v diff -u -r1.4.2.2 -r1.4.2.3 --- openacs-4/packages/acs-core-docs/www/parties.adp 26 Aug 2020 07:46:25 -0000 1.4.2.2 +++ openacs-4/packages/acs-core-docs/www/parties.adp 5 Jan 2021 17:33:40 -0000 1.4.2.3 @@ -154,7 +154,7 @@ example, a person might be listed in a system as both an individual (direct membership) and a member of a household (indirect membership) at a video rental store.

    
    -# sql code
    +# SQL code
     create or replace package membership_rel
     as
     
    @@ -203,7 +203,7 @@
     is maintained for you by the API. So users do not see some random
     PL/SQL error message, do not give them the option to create a
     composition relation that would result in a circular reference.

    
    -# sql code
    +# SQL code
     create or replace package composition_rel
     as
     
    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 -r1.4.2.2 -r1.4.2.3
    --- openacs-4/packages/acs-core-docs/www/permissions-design.adp	26 Aug 2020 07:46:25 -0000	1.4.2.2
    +++ openacs-4/packages/acs-core-docs/www/permissions-design.adp	5 Jan 2021 17:33:40 -0000	1.4.2.3
    @@ -211,7 +211,7 @@
     returns true or false, the other presents an error page.

    To receive a true or false value, Tcl code should call:

     permission::permission_p -object_id $object_id -party_id $user_id -privilege $method
     

    If the user_id argument is -left out, then the currently logged in user is checked. To create +left out, then the currently logged-in user is checked. To create an error page, Tcl code should call:

     permission::require_permission -object_id $object_id -privilege $method
     

    These procedures are defined in acs-permissions-procs.tcl.

    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 -r1.4.2.2 -r1.4.2.3 --- openacs-4/packages/acs-core-docs/www/permissions.adp 26 Aug 2020 07:46:25 -0000 1.4.2.2 +++ openacs-4/packages/acs-core-docs/www/permissions.adp 5 Jan 2021 17:33:40 -0000 1.4.2.3 @@ -109,7 +109,7 @@ explicitly require admin privileges. No substitutions.

    To give a user permission to perform a particular operation on a particular object you call acs_permission.grant_permission like this:

    -# sql code
    +# SQL code
         acs_permission.grant_permission (
           object_id => some_object_id,
           grantee_id => some_party_id,
    @@ -119,7 +119,7 @@
     

    Using just these mechanisms is enough for developers and administrators to effectively define access control for every object in a system.

    Explicitly defining permissions to every object individually -would become very tedious. OpenACS provides a object contexts as a +would become very tedious. OpenACS provides object contexts as a means for controlling permissions of a large group of objects at the same time.

    @@ -206,4 +206,4 @@ Pages" homeLink="index" homeLabel="Home" upLink="dev-guide" upLabel="Up"> - \ No newline at end of file + 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 -r1.53.2.3 -r1.53.2.4 --- openacs-4/packages/acs-core-docs/www/permissions.html 27 Jun 2019 18:22:22 -0000 1.53.2.3 +++ openacs-4/packages/acs-core-docs/www/permissions.html 5 Jan 2021 17:33:40 -0000 1.53.2.4 @@ -133,7 +133,7 @@ in a system.

    Explicitly defining permissions to every object individually would become very tedious. -OpenACS provides a object contexts as a means for controlling permissions of a large group +OpenACS provides object contexts as a means for controlling permissions of a large group of objects at the same time.

    Object Context

    In OpenACS 5.9.0, object context is a scoping 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 -r1.8.2.6 -r1.8.2.7 --- openacs-4/packages/acs-core-docs/www/release-notes.adp 26 Aug 2020 07:46:25 -0000 1.8.2.6 +++ openacs-4/packages/acs-core-docs/www/release-notes.adp 5 Jan 2021 17:33:40 -0000 1.8.2.7 @@ -67,15 +67,15 @@ in OpenACS 5.9.0):

    • 36 files deleted

    • Removed more than 100 obsolete named queries

    • Stripped misleading SQL statements

    -
  • Marked redundant / uncalled sql functions as deprecated

  • Replaced usages of obsolete view +

  • Marked redundant / uncalled SQL functions as deprecated

  • Replaced usages of obsolete view "all_object_party_privilege_map" by "acs_object_party_privilege_map"

  • Removed type discrepancy introduced in 2002:

    • acs_object_types.object_type has type varchar(1000), while

    • acs_object_types.supertype has type varchar(100)

    • ... several more data types are involved, using acs_object_types.object_type as foreign key

  • -

    Simplified core sql functions by using defaults:

      +

      Simplified core SQL functions by using defaults:

      • Number of functions reduced by a factor of 2 compared to OpenACS 5.9.0 (while providing compatibility for clients using old versions),

      • Reduced code redundancy

      • @@ -314,7 +314,7 @@

        acs-kernel (recommended to be set via config file in section "ns/server/${server}/>acs"

        • NsShutdownWithNonZeroExitCode: tell NaviServer to return with a -non-zero return code to cause restart (important under windows)

        • LogIncludeUserId: include user_id in access log

        • +nonzero return code to cause restart (important under windows)

        • LogIncludeUserId: include user_id in access log

      • acs-api-browser:

        • ValidateCSRFP: make checking of CSRF optional (default 1)

        @@ -391,7 +391,7 @@
    • xotcl-request-monitor

        -
      • Added class "BanUser" (use. e.g. ip address to +

      • Added class "BanUser" (use. e.g. IP address to disallow requests from a user via request monitor)

      • Added support for optional user tracking in database

      • Added support for monitoring response-time for certain URLs via munin

      • Increased usage of XOTcl 2.0 variable resolver (potentially speed improvement 4x)

      • Performed some refactoring of response-time handling to allow @@ -443,7 +443,7 @@

        Cleanup of .xql files in acs-subsite:

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

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

        • Removed multiple entries of same query name from .xql files (e.g. the entry "package_create_attribute_list.select_type_info" was 7 @@ -474,7 +474,7 @@ of paths, HTML etc.

        • Improved include-handling: All includes are now theme-able, interfaces of includes can be defined with "ad_include_contract" (similar to ad_page_contract).

        • Improved them-ability for display_templates. One can now provide -a display_template_name (similar to the sql statement name) to +a display_template_name (similar to the SQL statement name) to refer to display templates. This enables reusability and is theme-able.

        • Dimensional slider reform (ad_dimensional): Removed hard-coded table layout from dimensional slider. Add backwards compatible @@ -496,7 +496,7 @@ (controlled via package parameter "TclTraceLogServerities" in the acs-tcl package parameters)

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

        • New API function "ad_log" having the same interface as @@ -594,7 +594,7 @@

          Release 5.7.0

          • Made changes that extend acs-kernel's create_type and create_attribute procs, so they're optionally able to create -sql tables and columns. Optional metadata params allow for the +SQL tables and columns. Optional metadata params allow for the automatic generation of foreign key references, check exprs, etc.

        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 -r1.4.2.3 -r1.4.2.4 --- openacs-4/packages/acs-core-docs/www/requirements-template.adp 26 Aug 2020 07:46:25 -0000 1.4.2.3 +++ openacs-4/packages/acs-core-docs/www/requirements-template.adp 5 Jan 2021 17:33:40 -0000 1.4.2.4 @@ -106,7 +106,7 @@ Optional: Implementation Notes

    Although in theory coding comes after design, which comes after requirements, we do not, and perhaps -should not, always follow such a rigid process (a.k.a. the +should not, always follow such a rigid process (aka the waterfall lifecycle). Often, there is a pre-existing system or prototype first, and thus you may want to write some thoughts on implementation, for aiding and guiding yourself or other 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 -r1.4.2.2 -r1.4.2.3 --- openacs-4/packages/acs-core-docs/www/rp-design.adp 26 Aug 2020 07:46:25 -0000 1.4.2.2 +++ openacs-4/packages/acs-core-docs/www/rp-design.adp 5 Jan 2021 17:33:40 -0000 1.4.2.3 @@ -60,7 +60,7 @@ file in the filesystem.

  • abstract file or abstract path -- A URL -that has been translated into a file system path (probably by +that has been translated into a filesystem path (probably by prepending the appropriate pageroot), but still doesn't have any extension and so does not directly correspond to a file in the filesystem.

  • @@ -86,7 +86,7 @@ figure out which package_id is associated with a given package_url, and package mountings must be persistent across server restarts and users must be able to manipulate the mountings -on a live site, therefore this mapping is stored in the +on a live site, therefore, this mapping is stored in the database.

    Authentication and Authorization

    Once the request processor has located both the package_id and concrete file associated with the request, authentication is 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 -r1.4.2.2 -r1.4.2.3 --- openacs-4/packages/acs-core-docs/www/security-design.adp 26 Aug 2020 07:46:25 -0000 1.4.2.2 +++ openacs-4/packages/acs-core-docs/www/security-design.adp 5 Jan 2021 17:33:40 -0000 1.4.2.3 @@ -64,7 +64,7 @@ reauthenticate themselves over SSL when performing some action that requires secure authentication.

    Although this makes the site less user friendly, this design significantly increases the security of the system because this -insures that the authentication tokens presented to a secure +ensures that the authentication tokens presented to a secure section of the web site were not sniffed. The system is not entirely secure, since the actual authentication password can be sniffed from the system, after which the sniffer can apply for a @@ -206,7 +206,7 @@ Session Creation

  • The creation and setup of sessions is handled in sec_setup_session, which is called either to create a new session from sec_handler or from ad_user_login when there is a change in authorization level. The session management code must do two -things: insure that session-level data does not float between +things: ensure that session-level data does not float between users, and update the users table which has columns for n_sessions, last_visit, and second_to_last_visit.

    If there is no session already setup on this hit, a new session is created. This happens when sec_setup_session is called from @@ -215,8 +215,8 @@ the current session is continued, simply with a higher authorization state. This allows for data associated with a session to be carried over when a user logs in.

    The users table is updated by sec_update_user_session_info which is -called when an existing session is assigned a non-zero user_id, or -when a session is created with a non-zero user_id.

    +called when an existing session is assigned a nonzero user_id, or +when a session is created with a nonzero user_id.

    Passwords

    @@ -495,7 +495,7 @@ nice to expand the interface to allow for more persistent properties. In the past, there was a sec_browser_properties table that held permanent properties about each unique visitor (for -logged in users, these are just user properties). This was +logged-in users, these are just user properties). This was unscalable because there was no way to delete these properties, and the table tended to grow to millions of rows. It would be nice to view browser and session properties as two types of client Index: openacs-4/packages/acs-core-docs/www/security-notes.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/security-notes.adp,v diff -u -r1.4.2.2 -r1.4.2.3 --- openacs-4/packages/acs-core-docs/www/security-notes.adp 26 Aug 2020 07:46:25 -0000 1.4.2.2 +++ openacs-4/packages/acs-core-docs/www/security-notes.adp 5 Jan 2021 17:33:40 -0000 1.4.2.3 @@ -19,7 +19,7 @@

    HTTPS and the sessions system

    If a user switches to HTTPS after logging into the system via -HTTP, the user must obtain a secure token. To insure security, the +HTTP, the user must obtain a secure token. To ensure security, the only way to obtain a secure token in the security system is to authenticate yourself via password over an HTTPS connection. Thus, users may need to log on Index: openacs-4/packages/acs-core-docs/www/snapshot-backup.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/snapshot-backup.adp,v diff -u -r1.4.2.2 -r1.4.2.3 --- openacs-4/packages/acs-core-docs/www/snapshot-backup.adp 26 Aug 2020 07:46:25 -0000 1.4.2.2 +++ openacs-4/packages/acs-core-docs/www/snapshot-backup.adp 5 Jan 2021 17:33:40 -0000 1.4.2.3 @@ -15,7 +15,7 @@ and just before an upgrade. First, you back up the database to a file within the file tree. Then, you back up the file tree. All of the information needed to rebuild the site, including the AOLserver -config files, is then in tree for regular file system backup.

      +config files, is then in tree for regular filesystem backup.

      1. Back up the database to a file. 

        • @@ -101,7 +101,7 @@
      2. -Back up the file system. Back up all of +Back up the filesystem. Back up all of the files in the service, including the database backup file but excluding the auto-generated supervise directory, which is unnecessary and has complicated permissions.

        In the tar command,

          @@ -188,7 +188,7 @@ running the OpenACS initialization script is always sufficient to create any out-of-order database objects. Next, restore the database from the dump file. The restoration will show some error -messages at the beginning for objects that were pre-created from +messages at the beginning for objects that were precreated from the OpenACS initialization script, which can be ignored.

          [root root]# su - $OPENACS_SERVICE_NAME
           
           [$OPENACS_SERVICE_NAME ~]$ createdb $OPENACS_SERVICE_NAME
          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 -r1.4.2.2 -r1.4.2.3
          --- openacs-4/packages/acs-core-docs/www/style-guide.adp	26 Aug 2020 07:46:25 -0000	1.4.2.2
          +++ openacs-4/packages/acs-core-docs/www/style-guide.adp	5 Jan 2021 17:33:40 -0000	1.4.2.3
          @@ -14,7 +14,7 @@
           Motivation

    Why have coding standards for OpenACS? And if the code works why change it to adhere to some arbitrary rules?

    Well, first lets consider the OpenACS code base (all this as of December 2003 and including dotLRN). There are about 390,000 lines -of Tcl code, about 460,000 lines of sql (in datamodel scripts and +of Tcl code, about 460,000 lines of SQL (in datamodel scripts and .xql files), about 80,000 lines of markup in .adp files, and about 100,000 lines of documentation. All told, just about a million lines of "stuff". In terms of logical units there are Index: openacs-4/packages/acs-core-docs/www/subsites.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/subsites.adp,v diff -u -r1.4.2.3 -r1.4.2.4 --- openacs-4/packages/acs-core-docs/www/subsites.adp 26 Aug 2020 07:46:25 -0000 1.4.2.3 +++ openacs-4/packages/acs-core-docs/www/subsites.adp 5 Jan 2021 17:33:40 -0000 1.4.2.4 @@ -37,7 +37,7 @@ the site map. We'll repeat this description here, assuming that you have mounted an instance of Notes at the URL /notes as we did in the packages-example:

    • AOLserver receives your request for the URL /notes/somepage.

    • This URL is passed to the request processor.

    • The RP looks up the URL in the site map, and sees that the -object mounted at that location is an instance of the notes application.

    • The RP asks the package manager where in the file system the +object mounted at that location is an instance of the notes application.

    • The RP asks the package manager where in the filesystem the Notes package lives. In the standard case, this would be ROOT/packages/notes.

    • The RP translates the URL to serve a page relative to the page root of the application, which is ROOT/packages/notes/www/. Therefore, the Index: openacs-4/packages/acs-core-docs/www/tutorial-admin-pages.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-admin-pages.adp,v diff -u -r1.6.2.2 -r1.6.2.3 --- openacs-4/packages/acs-core-docs/www/tutorial-admin-pages.adp 26 Aug 2020 07:46:25 -0000 1.6.2.2 +++ openacs-4/packages/acs-core-docs/www/tutorial-admin-pages.adp 5 Jan 2021 17:33:40 -0000 1.6.2.3 @@ -61,7 +61,7 @@ a link to it somewhere in the system so that admins don't have to type in the /admin every time they need to reach it. You could put a static link to the -toplevel index.adp but that +top-level index.adp but that might be distracting for people who are not admins. Besides, some people consider it impolite to first offer a link and then display a nasty "You don't have permission to access this Index: openacs-4/packages/acs-core-docs/www/tutorial-categories.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-categories.adp,v diff -u -r1.4.2.3 -r1.4.2.4 --- openacs-4/packages/acs-core-docs/www/tutorial-categories.adp 26 Aug 2020 07:46:25 -0000 1.4.2.3 +++ openacs-4/packages/acs-core-docs/www/tutorial-categories.adp 5 Jan 2021 17:33:40 -0000 1.4.2.4 @@ -265,7 +265,7 @@ </group> </multiple> <a href="\@package_url\@view?\@YOURPARAMS\@">All Items</if> -

    Finally you need a an index.vuh in your www folder to rewrite the +

    Finally you need an index.vuh in your www folder to rewrite the URLs correctly, the section called “Using .vuh files for pretty URLs”:

               set url /[ad_conn extra_url]
    Index: openacs-4/packages/acs-core-docs/www/tutorial-database.adp
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-database.adp,v
    diff -u -r1.4.2.4 -r1.4.2.5
    --- openacs-4/packages/acs-core-docs/www/tutorial-database.adp	26 Aug 2020 07:46:25 -0000	1.4.2.4
    +++ openacs-4/packages/acs-core-docs/www/tutorial-database.adp	5 Jan 2021 17:33:40 -0000	1.4.2.5
    @@ -44,7 +44,7 @@
     Repository.)

    Figure 9.2. Tutorial Data Model

    Tutorial Data Model
    -

    The top of each sql file has some standard comments, including +

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

    [$OPENACS_SERVICE_NAME ~]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/sql/postgresql
    @@ -105,7 +105,7 @@
                              0
     (1 row)
     
    -[$OPENACS_SERVICE_NAME postgresql]$

    If there are errors, use them to debug the sql file and try +[$OPENACS_SERVICE_NAME postgresql]$

    If there are errors, use them to debug the SQL file and try again. If there are errors in the database table creation, you may need to run the drop script to drop the table so that you can recreate it. The drop script will probably have errors since some Index: openacs-4/packages/acs-core-docs/www/tutorial-debug.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-debug.adp,v diff -u -r1.4.2.4 -r1.4.2.5 --- openacs-4/packages/acs-core-docs/www/tutorial-debug.adp 26 Aug 2020 07:46:25 -0000 1.4.2.4 +++ openacs-4/packages/acs-core-docs/www/tutorial-debug.adp 5 Jan 2021 17:33:40 -0000 1.4.2.5 @@ -78,7 +78,7 @@ I've done several tests by now and have found the process to be extremely easy and useful. It's a joy to work with automated testing once you get the hang of it.

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

    [$OPENACS_SERVICE_NAME www]$ mkdir /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/tcl/test
     [$OPENACS_SERVICE_NAME www]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/tcl/test
     [$OPENACS_SERVICE_NAME test]$ emacs myfirstpackages-procs.tcl
    Index: openacs-4/packages/acs-core-docs/www/tutorial-notifications.adp
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-notifications.adp,v
    diff -u -r1.4.2.2 -r1.4.2.3
    --- openacs-4/packages/acs-core-docs/www/tutorial-notifications.adp	26 Aug 2020 07:46:25 -0000	1.4.2.2
    +++ openacs-4/packages/acs-core-docs/www/tutorial-notifications.adp	5 Jan 2021 17:33:40 -0000	1.4.2.3
    @@ -21,7 +21,7 @@
     script similar to the one below needs to be loaded into Postgresql.
     I create this script in a
     package-name/sql/postgresql/package-name-notifications-init.sql
    -file. I then load this file from my create sql file. The following
    +file. I then load this file from my create SQL file. The following
     code snippet is taken from Weblogger. It creates a
     lars_blogger_notif notification type (which was created above).

         create function inline_0() returns integer as $$
    Index: openacs-4/packages/acs-core-docs/www/update-translations.adp
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/update-translations.adp,v
    diff -u -r1.4.2.2 -r1.4.2.3
    --- openacs-4/packages/acs-core-docs/www/update-translations.adp	26 Aug 2020 07:46:25 -0000	1.4.2.2
    +++ openacs-4/packages/acs-core-docs/www/update-translations.adp	5 Jan 2021 17:33:40 -0000	1.4.2.3
    @@ -14,14 +14,14 @@
     

    Identify any new locales that have been created. For each new locale, check the parameters, especially that the locale is in the format [two-letter code for language, -lower-case]_[TWO-LETTER CODE FOR COUNTRY, UPPER-CASE], +lowercase]_[TWO-LETTER CODE FOR COUNTRY, UPPER-CASE], and create a sql command. A example sql command for creating a locale is:

    insert into ad_locales 
            (locale, label, language, country, nls_language, nls_territory, 
             nls_charset, mime_charset, default_p, enabled_p)
            values ('fa_IR', 'Farsi (IR)', 'fa', 'IR', 'FARSI', 'IRAN', 'AL24UTFFSS', 
             'windows-1256', 't', 'f');

    Put this command into the following four files. For the upgrade -files, the correct file name will depend on the exact version.

      +files, the correct filename will depend on the exact version.

      • /packages/acs-lang/sql/postgresql/ad-locales.sql

      • /packages/acs-lang/sql/postgresql/upgrade/upgrade-current-version.sql

      • /packages/acs-lang/sql/oracle/ad-locales.sql

      • /packages/acs-lang/sql/oracle/upgrade/upgrade-current-version.sql

    • Make a backup of the production database. Restore it as a new Index: openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.adp,v diff -u -r1.4.2.4 -r1.4.2.5 --- openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.adp 26 Aug 2020 07:46:25 -0000 1.4.2.4 +++ openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.adp 5 Jan 2021 17:33:40 -0000 1.4.2.5 @@ -21,7 +21,7 @@

  • -Upgrade the file system. the section called “Upgrading the +Upgrade the filesystem. the section called “Upgrading the OpenACS files”

  • Start the Index: openacs-4/packages/acs-core-docs/www/upgrade-4.6.3-to-5.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-4.6.3-to-5.adp,v diff -u -r1.4.2.2 -r1.4.2.3 --- openacs-4/packages/acs-core-docs/www/upgrade-4.6.3-to-5.adp 26 Aug 2020 07:46:25 -0000 1.4.2.2 +++ openacs-4/packages/acs-core-docs/www/upgrade-4.6.3-to-5.adp 5 Jan 2021 17:33:40 -0000 1.4.2.3 @@ -19,9 +19,8 @@ 7.3; Table 2.2, “Version Compatibility Matrix”

      -
    1. Back up the database and file -system.

    2. -Upgrade the file system for +

    3. Back up the database and filesystem.

    4. +Upgrade the filesystem for packages/acs-kernel. the section called “Upgrading the OpenACS files”

    5. Index: openacs-4/packages/acs-core-docs/www/upgrade-5-0-dot.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-5-0-dot.adp,v diff -u -r1.4.2.2 -r1.4.2.3 --- openacs-4/packages/acs-core-docs/www/upgrade-5-0-dot.adp 26 Aug 2020 07:46:25 -0000 1.4.2.2 +++ openacs-4/packages/acs-core-docs/www/upgrade-5-0-dot.adp 5 Jan 2021 17:33:40 -0000 1.4.2.3 @@ -27,11 +27,11 @@ have custom code, and your site is in a CVS repository, upgrade with these steps:

      1. -Upgrade the file system for all packages in +Upgrade the filesystem for all packages in use. the section called “Upgrading the OpenACS files”

      2. Go to /acs-admin/install/ and click "Upgrade Your -System" in "Install from local file system"

      3. Select all of the packages you want to upgrade and proceed

      4. After upgrade is complete, restart the server as indicated.

      5. If you are using locales other than en_US, go to acs-lang/admin +System" in "Install from local filesystem"

      6. Select all of the packages you want to upgrade and proceed

      7. After upgrade is complete, restart the server as indicated.

      8. If you are using locales other than en_US, go to acs-lang/admin and "Import all Messages" to load the new translated messages. Your local translations, if any, will take precedence over imported translations.

      9. Index: openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.adp,v diff -u -r1.5.2.4 -r1.5.2.5 --- openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.adp 26 Aug 2020 07:46:25 -0000 1.5.2.4 +++ openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.adp 5 Jan 2021 17:33:40 -0000 1.5.2.5 @@ -14,11 +14,10 @@ Choosing a Method to Upgrade your Files

    OpenACS is distributed in many different ways:

    • as a collection of files

    • as one big tarball

    • via CVS

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

    • -

    Upgrades work by first changing the file system (via any of the -previous methods), and then using the APM to scan the file system, +

    Upgrades work by first changing the filesystem (via any of the +previous methods), and then using the APM to scan the filesystem, find upgrade scripts, and execute them. Starting with OpenACS 5.0, -the last method was added, which automatically changes the file -system for you. If you are using the last method, you can skip this +the last method was added, which automatically changes the filesystem for you. If you are using the last method, you can skip this page. This page describes whether or not you need to be upgrading using this page or not: the section called “Upgrading an OpenACS 5.0.0 or greater Index: openacs-4/packages/acs-core-docs/www/unit-testing-guide/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/unit-testing-guide/index.adp,v diff -u -r1.3.2.2 -r1.3.2.3 --- openacs-4/packages/acs-core-docs/www/unit-testing-guide/index.adp 26 Aug 2020 07:46:26 -0000 1.3.2.2 +++ openacs-4/packages/acs-core-docs/www/unit-testing-guide/index.adp 5 Jan 2021 17:33:40 -0000 1.3.2.3 @@ -39,14 +39,14 @@ need to give it a base URL, a username, and password for that user. are the "JVMARG" lines in the "JUNIT" section. ). In the near future, this will be moved out of the subdirectories -and either into the toplevel build.xml file or into a configuration +and either into the top-level build.xml file or into a configuration file.

    You should now be ready to run the tests. Go to your server's "packages" directory and type source ./paths.sh to set up your classpath. Now type -ant. Ant should find the toplevel build.xml file, +ant. Ant should find the top-level build.xml file, check that it can see JUnit, compile your java files, and finally -call Ant on each of the sub-directory build.xml files to run the +call Ant on each of the subdirectory build.xml files to run the tests. You should be shown a report of which tests failed and which succeeded.

    Adding Your Own Unit Tests

    Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/packages.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/packages.xml,v diff -u -r1.13.2.1 -r1.13.2.2 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/packages.xml 2 Jul 2020 08:39:25 -0000 1.13.2.1 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/packages.xml 5 Jan 2021 17:33:40 -0000 1.13.2.2 @@ -576,7 +576,7 @@ file information", then the "Scan the packages/notes directory for additional files in this package" link on that page to scan - the filesystem for new files. This will bring you do a page + the filesystem for new files. This will bring you to a page that lists all the files you just added and lets you add them to the notes package. Index: openacs-4/packages/acs-core-docs/www/xml/developers-guide/permissions.xml =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/developers-guide/permissions.xml,v diff -u -r1.18.2.2 -r1.18.2.3 --- openacs-4/packages/acs-core-docs/www/xml/developers-guide/permissions.xml 2 Jul 2020 08:39:25 -0000 1.18.2.2 +++ openacs-4/packages/acs-core-docs/www/xml/developers-guide/permissions.xml 5 Jan 2021 17:33:40 -0000 1.18.2.3 @@ -213,7 +213,7 @@ Explicitly defining permissions to every object individually would become very tedious. -OpenACS provides an object contexts as a means for controlling permissions of a large group +OpenACS provides object contexts as a means for controlling permissions of a large group of objects at the same time.