Index: openacs-4/packages/acs-authentication/www/doc/acs-authentication.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-authentication/www/doc/acs-authentication.adp,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-authentication/www/doc/acs-authentication.adp 3 Sep 2024 15:37:30 -0000 1.2 +++ openacs-4/packages/acs-authentication/www/doc/acs-authentication.adp 21 Nov 2025 15:23:42 -0000 1.3 @@ -91,21 +91,17 @@ PAM):

  1. auth_authentication "Authenticate users and retrieve their -account status.", with the operations: -
  2. auth_password "Update, reset, and retrieve passwords for authentication.", with the operations:
  3. auth_registration "Registering accounts for -authentication", with the operations: -
  4. auth_sync_retrieve
  5. auth_sync_process
  6. auth_user_info Index: openacs-4/packages/acs-authentication/www/doc/configure-batch-sync.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-authentication/www/doc/configure-batch-sync.adp,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-authentication/www/doc/configure-batch-sync.adp 3 Sep 2024 15:37:30 -0000 1.5 +++ openacs-4/packages/acs-authentication/www/doc/configure-batch-sync.adp 21 Nov 2025 15:23:42 -0000 1.6 @@ -26,7 +26,8 @@ files in IMS Enterprise 1.1 format.

  7. Configure your Authority (RADIUS server, etc) to supply XML files to the URLs IncrementalURL and SnapshotURL. A typical set of -incremental file record looks like:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    +incremental file record looks like:

    +<?xml version="1.0" encoding="ISO-8859-1"?>
     <enterprise>
       <properties>
         <datasource>FOO</datasource>
    Index: openacs-4/packages/acs-authentication/www/doc/ext-auth-ldap-install.adp
    ===================================================================
    RCS file: /usr/local/cvsroot/openacs-4/packages/acs-authentication/www/doc/ext-auth-ldap-install.adp,v
    diff -u -r1.7 -r1.8
    --- openacs-4/packages/acs-authentication/www/doc/ext-auth-ldap-install.adp	3 Sep 2024 15:37:30 -0000	1.7
    +++ openacs-4/packages/acs-authentication/www/doc/ext-auth-ldap-install.adp	21 Nov 2025 15:23:42 -0000	1.8
    @@ -15,18 +15,18 @@
     Using
     LDAP/Active Directory with OpenACS
    by John Sequeira, Michael Steigman, and Carl Blesius. OpenACS docs are written by the named authors, and may be edited by OpenACS documentation staff.

    -ToDo: Add/verify information on on-demand -sync, account registration, and batch synchronization. Add section -on ldapsearch.

    -Overview. You do not want to make users -remember yet another password and username. If you can avoid it you -do not want to store their passwords either. This document should -help you set your system up so your users can seamlessly log in to -your OpenACS instance using the password they are accustomed to -using for other things at your institution.

    -Background. The original OpenACS LDAP -implementation (which has been deprecated by this package) treated -the LDAP server as another data store similar to Oracle or +ToDo: Add/verify information on +on-demand sync, account registration, and batch synchronization. +Add section on ldapsearch.

    +Overview. You do not want to make +users remember yet another password and username. If you can avoid +it you do not want to store their passwords either. This document +should help you set your system up so your users can seamlessly log +in to your OpenACS instance using the password they are accustomed +to using for other things at your institution.

    +Background. The original OpenACS +LDAP implementation (which has been deprecated by this package) +treated the LDAP server as another data store similar to Oracle or Postgresql. It opened a connection using a privileged account and read or stored an encrypted password for the user in question. This password was independent of the user's operating system or @@ -50,8 +50,8 @@

  8. Installing AOLserver LDAP support -(openldap and nsldap). Install openldap and nsldap -using the document Malte created Next, modify your config.tcl +(openldap and nsldap). Install openldap and +nsldap using the document Malte created Next, modify your config.tcl file as directed in the nsldap README. Here's what the relevant additions should look like:

    
     # LDAP authentication
    @@ -80,11 +80,12 @@
     [10/Jan/2006:11:11:08][22553.3076437088][-main-] Debug: nsldap: Registering LDAPCheckPools (600)
         
  9. -auth-ldap + driver installation. Next, -visit the software installation page in acs-admin and install the -auth-ldap package. Your OpenACS installation now has all the code -required to authenticate using nsldap, so now you need to configure -your site's authentication to take advantage of it. To add the +auth-ldap + driver +installation. Next, visit the software +installation page in acs-admin and install the auth-ldap package. +Your OpenACS installation now has all the code required to +authenticate using nsldap, so now you need to configure your +site's authentication to take advantage of it. To add the authentication driver to your OpenACS instance, go to: Main Site, Site-Wide Administration, and then AuthenticationHere's some sample Authentication Driver values:Name=Active Directory, Short @@ -134,19 +135,19 @@

-Troubleshooting. If you're having -trouble figuring out some the values for the ldapm, see this useful -page on setting up Active Directory integration with +Troubleshooting. If you're +having trouble figuring out some the values for the ldapm, see this +useful page on setting up Active Directory integration with Bugzilla. It explains how distinguished names are defined in Active Directory, and how to test that you have the correct values for connectivity and base DN using the OpenLDAP command-line utility ldapsearch.John had an issue where nsldap was not loading because AOLServer couldn't find the openldap client libraries, but he was able to fix it by adding the openldap libraries to his LD_LIBRARY_PATH (e.g. /usr/local/openldap/lib)

-Credits. Thanks to Malte Sussdorf for his -help and the Laboratory of Computer Science at Massachusetts General -Hospital for underwriting this work.

+Credits. Thanks to Malte Sussdorf +for his help and the Laboratory of Computer Science at Massachusetts +General Hospital for underwriting this work.

  1. -Add PAM support to AOLserver. OpenACS -supports PAM support via the PAM AOLserver module. PAM is system of -modular support, and can provide local (unix password), RADIUS, -LDAP (more information), and other forms of +Add PAM support to +AOLserver. OpenACS supports PAM support via +the PAM AOLserver module. PAM is system of modular support, and can +provide local (unix password), RADIUS, LDAP (more information), and other forms of authentication. Note that due to security issues, the AOLserver PAM module cannot be used for local password authentication.

    1. Compile and install ns_pam. Download the tarball to /tmp.

      Debian users: first do apt-get install libpam-dev -

      [root\@yourserver root]# cd /usr/local/src/aolserver
      +

      +[root\@yourserver root]# cd /usr/local/src/aolserver
       [root\@yourserver aolserver]# tar xzf /tmp/ns_pam-0.1.tar.gz
       [root\@yourserver aolserver]# cd nspam
       [root\@yourserver nspam]# make
      @@ -55,18 +56,19 @@
       
    2. -Set up a PAM domain. A PAM domain is a set -of rules for granting privileges based on other programs. Each -instance of AOLserver uses a domain; different aolserver instances -can use the same domain but one AOLserver instance cannot use two -domains. The domain describes which intermediate programs will be -used to check permissions. You may need to install software to -perform new types of authentication.

        +Set up a PAM domain. A PAM domain +is a set of rules for granting privileges based on other programs. +Each instance of AOLserver uses a domain; different aolserver +instances can use the same domain but one AOLserver instance cannot +use two domains. The domain describes which intermediate programs +will be used to check permissions. You may need to install software +to perform new types of authentication.

        • RADIUS in PAM. 

          1. Untar the pam_radius tarball and compile and install. (more -information)

            [root\@yourserver root]# cd /usr/local/src/
            +information)

            +[root\@yourserver root]# cd /usr/local/src/
             [root\@yourserver src]# tar xf /tmp/pam_radius-1.3.16.tar
             [root\@yourserver src]# cd pam_radius-1.3.16
             [root\@yourserver pam_radius-1.3.16]# make
            @@ -89,12 +91,17 @@
             domain configuration lines into a single file, /etc/pam.conf. On Red Hat, create the file
             /etc/pam.d/service0
              with these
            -contents:

            auth       sufficient   /lib/security/pam_radius_auth.so
            +contents:

            +auth       sufficient   /lib/security/pam_radius_auth.so
             
          2. Modify the AOLserver configuration file to use this PAM domain. -Edit the line

            ns_param   PamDomain             "service0"

            So that the value of the parameter matches the name (just the -filename, not the fully pathed name) of the domain file in

            /etc/pam.d/
            +Edit the line

            +ns_param   PamDomain             "service0"
            +

            So that the value of the parameter matches the name (just the +filename, not the fully pathed name) of the domain file in

            +/etc/pam.d/
            +
        • @@ -104,7 +111,9 @@

        • Modify the AOLserver configuration file to support ns_pam. 

          In /var/lib/aolserver/service0/etc/config.tcl, enable -the nspam module by uncommenting this line:

          ns_param   nspam           ${bindir}/nspam.so
          +the nspam module by uncommenting this line:

          +ns_param   nspam           ${bindir}/nspam.so
          +
  2. @@ -113,9 +122,9 @@ restart the server.

  3. Create an OpenACS -authority. OpenACS supports multiple authentication -authorities. The OpenACS server itself is the "Local -Authority," used by default.

      +authority. OpenACS supports multiple +authentication authorities. The OpenACS server itself is the +"Local Authority," used by default.

      1. Browse to the authentication administration page, http://yourserver/acs-admin/auth/ . Create and name an authority (in the sitewide admin UI)

      2. Set Authentication to PAM.

      3. If the PAM domain defines a password command, you can set Password Index: openacs-4/packages/acs-automated-testing/www/doc/requirements.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-automated-testing/www/doc/requirements.adp,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-automated-testing/www/doc/requirements.adp 3 Sep 2024 15:37:30 -0000 1.5 +++ openacs-4/packages/acs-automated-testing/www/doc/requirements.adp 21 Nov 2025 15:28:03 -0000 1.6 @@ -109,7 +109,8 @@ with the standard category package. It uses an internal, single-dimension category field. Should this eventually get extended, a more complete list of categories to implement could -be:

        Testing Mode
        +be:

        +Testing Mode
           Regression
           Smoke
           Stress
        Index: openacs-4/packages/acs-automated-testing/www/doc/usage.adp
        ===================================================================
        RCS file: /usr/local/cvsroot/openacs-4/packages/acs-automated-testing/www/doc/usage.adp,v
        diff -u -r1.5 -r1.6
        --- openacs-4/packages/acs-automated-testing/www/doc/usage.adp	3 Sep 2024 15:37:30 -0000	1.5
        +++ openacs-4/packages/acs-automated-testing/www/doc/usage.adp	21 Nov 2025 15:28:03 -0000	1.6
        @@ -34,12 +34,17 @@
         
      4. Suppose the first test server is service1. Set up a dedicated user and automated install script.

      5. To run automated testing automatically each time the server is -rebuilt, add this to /home/service1/install/install.tcl:

               set do_tclapi_testing "yes"
        +rebuilt, add this to /home/service1/install/install.tcl:

        +       set do_tclapi_testing "yes"
        +
      6. Get the results of the automated tests dumped where the master server can see them - in this example, the same directory as above, /var/log/openacs-install, by adding -this to install.tcl (requires 5.1):

                  set install_xml_file          "/var/lib/aolserver/service0/packages/acs-core-docs/www/files/install-autotest.xml"

        This will copy in the file install-autotest.xml:

        <?xml version="1.0"?>
        +this to install.tcl (requires 5.1):

        +          set install_xml_file          "/var/lib/aolserver/service0/packages/acs-core-docs/www/files/install-autotest.xml"
        +

        This will copy in the file install-autotest.xml:

        +<?xml version="1.0"?>
         
         <!-- This is an install.xml which can be used to configure servers for reporting their automated test results.  Requires acs-automated-testing 5.1.0b2 or better -->
         
        @@ -57,7 +62,8 @@
         
    1. To enable the 'rebuild server' link, edit the file -/usr/local/bin/rebuild-server.sh:

      #!/bin/sh
      +/usr/local/bin/rebuild-server.sh:

      +#!/bin/sh
       # script to trigger a server rebuild
       
       # hard-coding the valid server names here for some minimal security
      @@ -69,9 +75,12 @@
               exit;;
       esac
       
      -sudo /home/$1/install/install.sh 2>&1

      and allow the master user to +sudo /home/$1/install/install.sh 2>&1 +

      and allow the master user to execute this file as root (this is a limitation of the automatic -install script, which must be root). In /etc/sudoers, include a line:

      master ALL = NOPASSWD: /usr/local/bin/rebuild-server.sh
      +install script, which must be root). In /etc/sudoers, include a line:

      +master ALL = NOPASSWD: /usr/local/bin/rebuild-server.sh
      +
    Index: openacs-4/packages/acs-content-repository/www/doc/install.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/install.adp,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-content-repository/www/doc/install.adp 3 Sep 2024 15:37:31 -0000 1.5 +++ openacs-4/packages/acs-content-repository/www/doc/install.adp 21 Nov 2025 15:28:03 -0000 1.6 @@ -33,10 +33,14 @@

    To load the XML parser, download and untar the distribution. Load the class package lib/xmlparserv2.jar into Oracle from a shell prompt:

    -
    $ loadjava -user user/password xmlparserv2.jar
    +
    +$ loadjava -user user/password xmlparserv2.jar
    +

    Finally, load the SQLJ files in packages/acs-content-repository/java:

    -
    $ loadjava -user user/password -resolve *.sqlj
    +
    +$ loadjava -user user/password -resolve *.sqlj
    +

    Installation of the data model and API should now be complete.

    Intermedia

    @@ -53,29 +57,33 @@ index statement.

    If you experience errors on a UNIX system, check the following:

    +
    • The operating system user running the Oracle database must have execute permission on the files -$ORACLE_HOME/ctx/lib/*.flt. -
        -
      • The directory $ORACLE_HOME/ctx/lib must be in the +$ORACLE_HOME/ctx/lib/*.flt.
      • The directory $ORACLE_HOME/ctx/lib must be in the $PATH environment variable of the operating system user running the Oracle database.
      • The directory $ORACLE_HOME/ctx/lib must be in the $LD_LIBRARY_PATH of the operating system user running the Oracle database.
      • The LD_LIBRARY_PATH environment variable must be specified in the entry for PLSExtProc in the -$ORACLE_HOME/network/admin/listener.ora. For example: +$ORACLE_HOME/network/admin/listener.ora. For +example:
      • +
           (SID_DESC =
             (SID_NAME = PLSExtProc)
             (ORACLE_HOME = /ora8/m01/app/oracle/product/8.1.6)
             (ENVS = LD_LIBRARY_PATH=/ora8/m01/app/oracle/product/8.1.6/lib:/usr/lib:/lib:/usr/openwin/lib:/ora8/m01/app/oracle/product/8.1.6/ctx/lib)
             (PROGRAM = extproc)
           )
      -

      If your searches are still failing even after following these + +

      If your searches are still failing even after following these instructions, try a simple test case to determine whether the problem has something to do with the -content repository data model itself.


      karlg\@arsdigita.com
      +content repository data model itself.

      +
      +karlg\@arsdigita.com +
      + Last revised: $‌Id: install.html,v 1.2 2017/08/07 23:47:47 gustafn -Exp $
    • -
    -
  4. +Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/intermedia.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/intermedia.adp,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-content-repository/www/doc/intermedia.adp 3 Sep 2024 15:37:31 -0000 1.5 +++ openacs-4/packages/acs-content-repository/www/doc/intermedia.adp 21 Nov 2025 15:28:03 -0000 1.6 @@ -14,32 +14,39 @@ that Intermedia is indeed functioning properly.

    Create a document table

    Create a simple table to hold some test documents:

    -
    create table cr_test_documents ( 
    +
    +create table cr_test_documents ( 
       doc_id    integer primary key, 
       author    varchar2(30), 
       format    varchar2(30), 
       title     varchar2(256), 
       doc       blob 
    -);
    +); +

    Create an Intermedia preference to specify INSO filtering:

    -
    begin
    +
    +begin
       ctx_ddl.create_preference
       (
         preference_name => 'CONTENT_FILTER_PREF',
         object_name     => 'INSO_FILTER'
    -  );
    + ); +

    If this preference has already been created, this step will cause an error that you can ignore.

    Create an Intermedia index on the test table with INSO filtering:

    -
    create index cr_test_documents_idx on cr_test_documents ( doc )
    +
    +create index cr_test_documents_idx on cr_test_documents ( doc )
       indextype is ctxsys.context
    -  parameters ('FILTER content_filter_pref' );
    + parameters ('FILTER content_filter_pref' ); +

    Load test documents

    You can use SQL*Loader to load some documents into the test table. First create a control file named cr-test-docs.ctl:

    -
    load data
    +
    +load data
     INFILE 'cr-test-docs.data'
     INTO TABLE cr_test_documents
     APPEND
    @@ -48,21 +55,26 @@
      format,
      title,
      ext_fname FILLER CHAR(80),
    - doc LOBFILE(ext_fname) TERMINATED BY EOF)
    + doc LOBFILE(ext_fname) TERMINATED BY EOF) +

    Copy any number of documents (Microsoft Word, PDF, text, HTML, etc.) to the filesystem of your database server. Create a data file with an entry for each document you would like to load. This is simply a comma-separated text file:

    -
    word, Simple Story,sample-docs/simple.doc,
    -excel, Simple Spreadsheet,sample-docs/simple.xls
    +
    +word, Simple Story,sample-docs/simple.doc,
    +excel, Simple Spreadsheet,sample-docs/simple.xls
    +

    Load the documents from the command line:

    -
    $ sqlldr userid=cms/cms control=cr-test-docs.ctl log=cr-test-docs.log
    +
    +$ sqlldr userid=cms/cms control=cr-test-docs.ctl log=cr-test-docs.log
     
     SQL*Loader: Release 8.1.6.2.0 - Production on Thu Nov 9 13:36:56 2000
     
     (c) Copyright 1999 Oracle Corporation.  All rights reserved.
     
    -Commit point reached - logical record count 2
    +Commit point reached - logical record count 2 +

    Test search

    Once the documents have been loaded, rebuild the index and run some test queries:

    @@ -79,5 +91,5 @@ karlg\@arsdigita.com
    -Last revised: $‌Id: intermedia.html,v 1.2.2.1 2021/04/05 19:49:48 +Last revised: $‌Id: intermedia.html,v 1.4 2024/09/11 06:15:47 gustafn Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/requirements.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/requirements.adp,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-content-repository/www/doc/requirements.adp 3 Sep 2024 15:37:31 -0000 1.5 +++ openacs-4/packages/acs-content-repository/www/doc/requirements.adp 21 Nov 2025 15:28:03 -0000 1.6 @@ -402,5 +402,5 @@ karlg\@arsdigita.com
    -Last Modified: $‌Id: requirements.html,v 1.3.2.1 2021/04/05 19:49:48 +Last Modified: $‌Id: requirements.html,v 1.5 2024/09/11 06:15:47 gustafn Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/tutorial.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/tutorial.adp,v diff -u -r1.7 -r1.8 --- openacs-4/packages/acs-content-repository/www/doc/tutorial.adp 3 Sep 2024 15:37:31 -0000 1.7 +++ openacs-4/packages/acs-content-repository/www/doc/tutorial.adp 21 Nov 2025 15:28:03 -0000 1.8 @@ -53,7 +53,8 @@ Title Description Task Number - + +

    Overview

    First of all, let's get some terminology out of the way. Columns of a table are referred to as attributes in @@ -75,7 +76,8 @@ Title - want versions Description - want versions Task Number - do NOT want versions - + +

    Define tables

    You will have two tables: one with versioned attributes, and one without versioned attributes.

    @@ -102,7 +104,8 @@ description varchar(4000) ); - + +

    Unversioned portion:

                 create table pm_tasks (
    @@ -116,7 +119,8 @@
                 task_number
                 integer
                 )
    -          
    + +

    One thing you have to be careful of when creating these tables is that there are no columns that have the same names as any of the columns in the cr_items and cr_revisions @@ -154,7 +158,8 @@ 'task_id', -- id_column 'content_revision.revision_name' ); - + +

    You then need to add in all the attributes, so that the content repository can do some magic things behind the scenes. The content repository doesn't know about what's inside of the @@ -195,7 +200,8 @@ null, -- default value 'numeric' -- column_spec ); - + +

    Side effect: once you've created the content type, the content repository creates a view for you called @@ -290,7 +296,8 @@ null, null, 'integer constraint pm_project_comp_fk references organizations' -); +); + I have no idea of whether or not that is supposed to be legal, but I believe it works. Jun was the one who originally talked about Index: openacs-4/packages/acs-content-repository/www/doc/api/extlink.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/api/extlink.adp,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-content-repository/www/doc/api/extlink.adp 3 Sep 2024 15:37:31 -0000 1.5 +++ openacs-4/packages/acs-content-repository/www/doc/api/extlink.adp 21 Nov 2025 15:28:03 -0000 1.6 @@ -15,17 +15,18 @@

  5. Overview
  6. Related Objects
  7. API
  8.  

    -

    Overview

    +

    Overview

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

     

    -

    Related Objects

    - See also: {content_item} +

    Related Objects

    + +See also: {content_item}

     

    -

    API

    +

    API

    -Last Modified: $‌Id: extlink.html,v 1.2.2.1 2021/04/05 19:49:49 -gustafn Exp $ +Last Modified: $‌Id: extlink.html,v 1.4 2024/09/11 06:15:47 gustafn +Exp $ Index: openacs-4/packages/acs-content-repository/www/doc/api/folder.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/api/folder.adp,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-content-repository/www/doc/api/folder.adp 3 Sep 2024 15:37:31 -0000 1.5 +++ openacs-4/packages/acs-content-repository/www/doc/api/folder.adp 21 Nov 2025 15:28:03 -0000 1.6 @@ -15,7 +15,7 @@
  9. Overview
  10. Related Objects
  11. API
  12.  

    -

    Overview

    +

    Overview

    Content folders contain related content items and allow content managers to group content as they see fit. Within a content folder, content items must have unique names since this is where they will @@ -25,10 +25,11 @@ from "/movies/terminator, "/movies/terminator2" respectively).

     

    -

    Related Objects

    - See also: Content Item +

    Related Objects

    + +See also: Content Item

     

    -

    API

    +

    API

     

    -

    Overview

    +

    Overview

    Content items store the overview of the content published on a website. The actual content is stored in content revisions. It is implemented this way so that there can be multiple versions of the @@ -26,10 +26,11 @@ exist at least one content revision pointing to this item with the actual review content.

     

    -

    Related Objects

    - See also: content_revision, content_folder +

    Related Objects

    + +See also: content_revision, content_folder

     

    -

    API

    +

    API

     

    -Last Modified: $‌Id: item.html,v 1.6.2.1 2019/08/10 18:09:52 gustafn -Exp $ +Last Modified: $‌Id: item.html,v 1.8 2024/09/11 06:15:47 gustafn Exp +$ Index: openacs-4/packages/acs-content-repository/www/doc/api/keyword.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/api/keyword.adp,v diff -u -r1.5 -r1.6 --- openacs-4/packages/acs-content-repository/www/doc/api/keyword.adp 3 Sep 2024 15:37:31 -0000 1.5 +++ openacs-4/packages/acs-content-repository/www/doc/api/keyword.adp 21 Nov 2025 15:28:03 -0000 1.6 @@ -15,15 +15,16 @@
  13. Overview
  14. Related Objects
  15. API
  16.  

    -

    Overview

    +

    Overview

    Keyword cassify a content_item. For example: If you have some press releases about dogs. You might want assigning the Keyword dog to every single content_item.

     

    -

    Related Objects

    - See also: content_item +

    Related Objects

    + +See also: content_item

     

    -

    API

    +

    API

     

    -

    Overview

    +

    Overview

    Permissions can be set to allow certain users certain things. - They can be compared with the Unix filesystem permission: read, write ...

     

    -

    Related Objects

    - See also: {content_item } +

    Related Objects

    + +See also: {content_item }

     

    -

    API

    +

    API

     

    -

    Overview

    +

    Overview

    Content revisions contain the data for content items. There is a many to one relationship between content revisions and content items. There is at most one "live" revision for every content item though. For example, there may be 5 revisions of the review for the movie "Terminator," yet only one of these may be live on the website at a given time.

     

    -

    Related Objects

    - See also: {content_item } +

    Related Objects

    + +See also: {content_item }

     

    -

    API

    +

    API

     

    -

    Overview

    +

    Overview

    Symlinks are pointers to items within the content repository. They are simply used to create links between content items.

     

    -

    Related Objects

    - See also: content_item, content_folder +

    Related Objects

    + +See also: content_item, content_folder

     

    -

    API

    +

    API

     

    -

    Overview

    +

    Overview

    Templates are a special class of text objects that are used for specifying the layout of a content item. They may be mapped to content types, meaning that every item of that type will display using that template unless a specific item overrides the default by mapping to a template itself.

     

    -

    Related Objects

    - See also: content_item, content_folder +

    Related Objects

    + +See also: content_item, content_folder

     

    -

    API

    +

    API

     

    -

    Overview

    +

    Overview

    This package is used to manipulate content types and attributes Content types represent the different kind of content displayed on a website. All content items should subclass a content type.

     

    -

    Related Objects

    - See also: {Content Item } +

    Related Objects

    + +See also: {Content Item }

     

    -

    API

    +

    API

To drop an instance of the News application correctly, follow Index: openacs-4/packages/search/www/doc/guidelines.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/search/www/doc/guidelines.adp,v diff -u -r1.4 -r1.5 --- openacs-4/packages/search/www/doc/guidelines.adp 3 Sep 2024 15:37:54 -0000 1.4 +++ openacs-4/packages/search/www/doc/guidelines.adp 21 Nov 2025 15:29:29 -0000 1.5 @@ -39,8 +39,7 @@ writing concrete functions that follow the specification. For example, the implementation of datasource for the object type note, looks like this: -


-ad_proc notes__datasource {
+
ad_proc notes__datasource {
     object_id
 } {
     \@author Neophytos Demetriou
@@ -65,8 +64,7 @@
 file which associates the implementation with a contract name. The
 implementation of FtsContentProvider for the object
 type note looks like:
-

-select acs_sc_impl__new(
+
select acs_sc_impl__new(
            'FtsContentProvider',                -- impl_contract_name
            'note',                              -- impl_name
            'notes'                              -- impl_owner_name
@@ -79,8 +77,7 @@
 FtsContentProvider and your concrete functions.
 Here's how an association between an operation and a concrete
 function looks like:
-

-select acs_sc_impl_alias__new(
+
select acs_sc_impl_alias__new(
            'FtsContentProvider',                -- impl_contract_name
            'note',                              -- impl_name
            'datasource',                        -- impl_operation_name
@@ -100,8 +97,7 @@
 We do this by adding triggers on the table that stores the content
 items of your object type. Here's how that part looks like for
 note.
-

-create function notes__itrg ()
+
create function notes__itrg ()
 returns opaque as $$
 begin
     perform search_observer__enqueue(new.note_id,'INSERT');
Index: openacs-4/packages/tsearch2-driver/www/doc/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/tsearch2-driver/www/doc/index.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/tsearch2-driver/www/doc/index.adp	3 Sep 2024 15:37:54 -0000	1.4
+++ openacs-4/packages/tsearch2-driver/www/doc/index.adp	21 Nov 2025 15:29:29 -0000	1.5
@@ -104,7 +104,8 @@
     insert into search_observer_queue (
             select my_id, now(),'INSERT' from my_table
             );
-  
+ +

For forums and ETP this looks like:

     insert into search_observer_queue (
Index: openacs-4/packages/attachments/www/doc/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/attachments/www/doc/index.adp,v
diff -u -r1.4 -r1.5
--- openacs-4/packages/attachments/www/doc/index.adp	3 Sep 2024 15:37:35 -0000	1.4
+++ openacs-4/packages/attachments/www/doc/index.adp	21 Nov 2025 15:31:53 -0000	1.5
@@ -95,26 +95,30 @@
 attachments is not properly mounted. To do this, add the following
 proc to your package's API and wrap all calls to the
 attachments package with it:

-
    ad_proc -private attachments_enabled_p {} {
+
+    ad_proc -private attachments_enabled_p {} {
         set package_id [site_node_apm_integration::child_package_exists_p \
             -package_key attachments
         ]
-    }
+ } +

1.2.3.2 Get the attachment Url

When you want to set up the link that the user can click on to attach something to an object, use the attachments::add_attachment_url proc, which will return the correct Url into the attachments package mounted under your package.

-
    if {$attachments_enabled_p} {
+
+    if {$attachments_enabled_p} {
         if {$attach_p} {
             set redirect_url [attachments::add_attachment_url \
                                   -object_id $message_id \
                                   -return_url $redirect_url \
                                   -pretty_name "$subject"]
         }
-    }
+ } +

forums redirects the user to the redirect_url, if the user chose to add an attachment to their posting.

Index: openacs-4/packages/calendar/www/doc/requirements.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/calendar/www/doc/requirements.adp,v diff -u -r1.5 -r1.6 --- openacs-4/packages/calendar/www/doc/requirements.adp 3 Sep 2024 15:37:36 -0000 1.5 +++ openacs-4/packages/calendar/www/doc/requirements.adp 21 Nov 2025 15:31:53 -0000 1.6 @@ -556,8 +556,8 @@ 50.20.70 Provide a function to generate the HTML for the complete calendar.

VII. Revision History

-
-
+
+
@@ -577,8 +577,9 @@ -
Document Revision #Action Taken, NotesWhen?By Whom?
0.7Further Revisions2000/12/06Joshua Finkler and Gary Jin

+
+
+
gjin\@arsdigita.com and smeeks\@arsdigita.com
- Index: openacs-4/packages/categories/www/doc/design.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/categories/www/doc/design.adp,v diff -u -r1.4 -r1.5 --- openacs-4/packages/categories/www/doc/design.adp 3 Sep 2024 15:37:36 -0000 1.4 +++ openacs-4/packages/categories/www/doc/design.adp 21 Nov 2025 15:31:54 -0000 1.5 @@ -202,7 +202,8 @@ Alternatively, you can include the following in your adp:
-  <include src="/packages/categories/www/include/widget" object_id=\@object_id\@ package_id=\@package_id\@>
+ <include src="/packages/categories/www/include/widget" object_id=\@object_id\@ package_id=\@package_id\@> +
In the processing part of ad_form use:
Index: openacs-4/packages/file-storage/www/doc/design.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/doc/design.adp,v
diff -u -r1.5 -r1.6
--- openacs-4/packages/file-storage/www/doc/design.adp	3 Sep 2024 15:37:38 -0000	1.5
+++ openacs-4/packages/file-storage/www/doc/design.adp	21 Nov 2025 15:31:54 -0000	1.6
@@ -177,95 +177,104 @@
 

Tcl API

-

children_have_permission_p

children_have_permission_p [ -user_id user_id ] item_idprivilege
+

children_have_permission_p

+children_have_permission_p [ -user_id user_id ] item_idprivilege
 
This procedure, given a content item and a privilege, checks to see if there are any children of the item on which the user does not have that privilege.
-
Switches:
+
Switches:
-user_id (optional)
-
Parameters:
+
Parameters:
item_id
privilege
-

fs_context_bar_list

fs_context_bar_list [ -final final ] item_id
+

fs_context_bar_list

+fs_context_bar_list [ -final final ] item_id
 
Constructs the list to be fed to ad_context_bar appropriate for item_id. If -final is specified, that string will be the last item in the context bar. Otherwise, the name corresponding to item_id will be used.
-
Switches:
+
Switches:
-final (optional)
-
Parameters:
+
Parameters:
item_id
-

fs_file_downloader

fs_file_downloader connkey
+

fs_file_downloader

+fs_file_downloader connkey
 
Sends the requested file to the user. Note that the path has the original file name, so the browser will have a sensible name if you save the file. Version downloads are supported by looking for the form variable version_id. We don't actually check that the version_id matches the path, we just serve it up.
-
Parameters:
+
Parameters:
conn
key
-

fs_file_p

fs_file_p file_id
+

fs_file_p

+fs_file_p file_id
 
Returns 1 if the file_id corresponds to a file in the file-storage system. Returns 0 otherwise.
-
Parameters:
+
Parameters:
file_id
-

fs_folder_p

fs_folder_p folder_id
+

fs_folder_p

+fs_folder_p folder_id
 
Returns 1 if the folder_id corresponds to a folder in the file-storage system. Returns 0 otherwise.
-
Parameters:
+
Parameters:
folder_id
-

fs_get_folder_name

fs_get_folder_name folder_id
+

fs_get_folder_name

+fs_get_folder_name folder_id
 
Returns the name of a folder.
-
Parameters:
+
Parameters:
folder_id
-

fs_root_folder

fs_root_folder [ -package_id package_id ]
Returns the root folder for the file storage system. +

fs_root_folder

+fs_root_folder [ -package_id package_id ]
+
Returns the root folder for the file storage system.
-
Switches:
+
Switches:
-package_id (optional)
-

fs_version_p

fs_version_p version_id
+

fs_version_p

+fs_version_p version_id
 
Returns 1 if the version_id corresponds to a version in the file-storage system. Returns 0 otherwise.
-
Parameters:
+
Parameters:
version_id
@@ -382,19 +391,21 @@ the canonical long form of a MIME type.

XI. Authors

-
  • System creator:
    3.x : David Hill +
    • System creator:
      +
    +
    3.x : David Hill and Aurelius Prochazka
    4.x : Kevin Scaldeferri -
      -
    • System owner +
    +
    • System owner
    Kevin Scaldeferri
    -
  • Documentation author +
    • Documentation author
    Kevin Scaldeferri
    -
  • -

    XII. Revision History

    +

    XII. Revision History

    +
    @@ -404,5 +415,6 @@ -
    Document Revision #Action Taken, NotesWhen?By Whom?
    0.2Revised after review by Josh11/16/2000Kevin Scaldeferri, Josh Finkler

    kevin\@arsdigita.com - +
    +
    +kevin\@arsdigita.com Index: openacs-4/packages/file-storage/www/doc/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/file-storage/www/doc/index.adp,v diff -u -r1.4 -r1.5 --- openacs-4/packages/file-storage/www/doc/index.adp 3 Sep 2024 15:37:38 -0000 1.4 +++ openacs-4/packages/file-storage/www/doc/index.adp 21 Nov 2025 15:31:54 -0000 1.5 @@ -13,4 +13,5 @@

    Release Notes

    Please file bugs in the Bug Tracker.


    -
    kevin\@arsdigita.com
    + +
    kevin\@arsdigita.com
    Index: openacs-4/packages/general-comments/www/doc/design.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/general-comments/www/doc/design.adp,v diff -u -r1.5 -r1.6 --- openacs-4/packages/general-comments/www/doc/design.adp 3 Sep 2024 15:37:39 -0000 1.5 +++ openacs-4/packages/general-comments/www/doc/design.adp 21 Nov 2025 15:31:54 -0000 1.6 @@ -170,7 +170,7 @@ 0.1Creation10/26/2000Phong Nguyen -

    Last modified: $‌Id: design.html,v 1.3.2.1 2019/08/15 10:31:02 +

    Last modified: $‌Id: design.html,v 1.5 2024/09/11 06:15:51 gustafn Exp $