Index: openacs-4/packages/acs-core-docs/www/backup-recovery.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/backup-recovery.adp,v
diff -u -r1.1.2.19 -r1.1.2.20
--- openacs-4/packages/acs-core-docs/www/backup-recovery.adp 16 Jun 2017 17:19:49 -0000 1.1.2.19
+++ openacs-4/packages/acs-core-docs/www/backup-recovery.adp 16 Jun 2017 17:54:31 -0000 1.1.2.20
@@ -30,7 +30,7 @@
to set up, are far from the best solution).
There are three basic things which need to be backed up, the
database data, the server source tree, and the
acs-content-repository (which is in the server source tree).
-
Figure 8.1. Backup
+
Figure 8.1. Backup
and Recovery Strategy
OpenACS docs are written by the named authors, and may be edited by
Index: openacs-4/packages/acs-core-docs/www/backup-recovery.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/backup-recovery.html,v
diff -u -r1.43.2.17 -r1.43.2.18
--- openacs-4/packages/acs-core-docs/www/backup-recovery.html 16 Jun 2017 17:19:49 -0000 1.43.2.17
+++ openacs-4/packages/acs-core-docs/www/backup-recovery.html 16 Jun 2017 17:54:31 -0000 1.43.2.18
@@ -6,7 +6,7 @@
oracle, while easy to set up, are far from the best solution).
There are three basic things which need to be backed up, the database data, the server
source tree, and the acs-content-repository (which is in the server source tree).
-
Figure 8.1. Backup and Recovery Strategy
+
Figure 8.1. Backup and Recovery Strategy
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
Index: openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.adp,v
diff -u -r1.1.2.17 -r1.1.2.18
--- openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.adp 16 Jun 2017 17:19:49 -0000 1.1.2.17
+++ openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.adp 16 Jun 2017 17:54:31 -0000 1.1.2.18
@@ -17,7 +17,7 @@
OpenACS docs are written by the named authors, and may be edited by
OpenACS documentation staff.
-Configuring an OpenACS package
After you've installed and mounted your package, you can
+Configuring an OpenACS package
After you've installed and mounted your package, you can
configure each instance to act as you would like.
This is done from the Applications page. Log in, go to the Admin
or Control Panel, click on the subsite the application is in, and
click on Applications. If you click on the 'Parameters'
Index: openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html,v
diff -u -r1.10.2.17 -r1.10.2.18
--- openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html 16 Jun 2017 17:19:49 -0000 1.10.2.17
+++ openacs-4/packages/acs-core-docs/www/configuring-configuring-packages.html 16 Jun 2017 17:54:31 -0000 1.10.2.18
@@ -2,7 +2,7 @@
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
-
Configuring an OpenACS package
After you've installed and mounted your package, you can
+
Configuring an OpenACS package
After you've installed and mounted your package, you can
configure each instance to act as you would like.
This is done from the Applications page. Log in, go to the
Admin or Control Panel, click on the subsite the application is
in, and click on Applications. If you click on the 'Parameters'
Index: openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.adp,v
diff -u -r1.1.2.17 -r1.1.2.18
--- openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.adp 16 Jun 2017 17:19:49 -0000 1.1.2.17
+++ openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.adp 16 Jun 2017 17:54:31 -0000 1.1.2.18
@@ -17,7 +17,7 @@
OpenACS docs are written by the named authors, and may be edited by
OpenACS documentation staff.
-Setting Permission on an OpenACS
+Setting Permission on an OpenACS
package
After you've installed and mounted your package, you can
configure each instance to act as you would like.
This is done from the Applications page. Log in, go to the Admin
or Control Panel, click on the subsite the application is in, and
Index: openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html,v
diff -u -r1.10.2.17 -r1.10.2.18
--- openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html 16 Jun 2017 17:19:49 -0000 1.10.2.17
+++ openacs-4/packages/acs-core-docs/www/configuring-configuring-permissions.html 16 Jun 2017 17:54:31 -0000 1.10.2.18
@@ -2,7 +2,7 @@
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
-
Setting Permission on an OpenACS package
After you've installed and mounted your package, you can
+
Setting Permission on an OpenACS package
After you've installed and mounted your package, you can
configure each instance to act as you would like.
This is done from the Applications page. Log in, go to the
Admin or Control Panel, click on the subsite the application is
in, and click on Applications. If you click on the 'Permissions'
Index: openacs-4/packages/acs-core-docs/www/configuring-install-packages.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-install-packages.adp,v
diff -u -r1.1.2.18 -r1.1.2.19
--- openacs-4/packages/acs-core-docs/www/configuring-install-packages.adp 16 Jun 2017 17:19:49 -0000 1.1.2.18
+++ openacs-4/packages/acs-core-docs/www/configuring-install-packages.adp 16 Jun 2017 17:54:31 -0000 1.1.2.19
@@ -16,7 +16,7 @@
OpenACS docs are written by the named authors, and may be edited by
OpenACS documentation staff.
-Installing OpenACS packages
An OpenACS package extends your website and lets it do things it
+Installing OpenACS packages
An OpenACS package extends your website and lets it do things it
wasn't able to do before. You can have a weblog, a forums, a
calendar, or even do sophisticated project-management via your
website.
After you've installed OpenACS, you can congratulate
Index: openacs-4/packages/acs-core-docs/www/configuring-install-packages.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-install-packages.html,v
diff -u -r1.10.2.17 -r1.10.2.18
--- openacs-4/packages/acs-core-docs/www/configuring-install-packages.html 16 Jun 2017 17:19:49 -0000 1.10.2.17
+++ openacs-4/packages/acs-core-docs/www/configuring-install-packages.html 16 Jun 2017 17:54:31 -0000 1.10.2.18
@@ -2,7 +2,7 @@
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
-
Installing OpenACS packages
An OpenACS package extends your website and lets it do
+
Installing OpenACS packages
An OpenACS package extends your website and lets it do
things it wasn't able to do before. You can have a weblog, a
forums, a calendar, or even do sophisticated project-management
via your website.
After you've installed OpenACS, you can congratulate
Index: openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.adp,v
diff -u -r1.1.2.17 -r1.1.2.18
--- openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.adp 16 Jun 2017 17:19:49 -0000 1.1.2.17
+++ openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.adp 16 Jun 2017 17:54:31 -0000 1.1.2.18
@@ -16,7 +16,7 @@
OpenACS docs are written by the named authors, and may be edited by
OpenACS documentation staff.
-Mounting OpenACS packages
After you've installed your packages, you have to
+Mounting OpenACS packages
After you've installed your packages, you have to
'mount' them in order to make them appear on your
website.
Make sure you are logged in, and then click on the
'Admin' or 'Control Panel' link to get to the
Index: openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html,v
diff -u -r1.10.2.17 -r1.10.2.18
--- openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html 16 Jun 2017 17:19:49 -0000 1.10.2.17
+++ openacs-4/packages/acs-core-docs/www/configuring-mounting-packages.html 16 Jun 2017 17:54:31 -0000 1.10.2.18
@@ -2,7 +2,7 @@
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
-
Mounting OpenACS packages
After you've installed your packages, you have to 'mount'
+
Mounting OpenACS packages
After you've installed your packages, you have to 'mount'
them in order to make them appear on your website.
Make sure you are logged in, and then click on the
'Admin' or 'Control Panel' link to get to the Site-Wide
Administration page (at /acs-admin). Click on the subsite you'd
Index: openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp,v
diff -u -r1.1.2.21 -r1.1.2.22
--- openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp 16 Jun 2017 17:19:49 -0000 1.1.2.21
+++ openacs-4/packages/acs-core-docs/www/cvs-guidelines.adp 16 Jun 2017 17:54:31 -0000 1.1.2.22
@@ -18,7 +18,7 @@
Using CVS with OpenACS
-Getting Started
All OpenACS code is available anonymously. To get code
+Getting Started
All OpenACS code is available anonymously. To get code
anonymously, use the parameter -d:pserver:anonymous\@cvs.openacs.org:/cvsroot
immediately after cvs in a cvs
command to check out or export code.
If you are an OpenACS developer, you should check out code so
@@ -81,7 +81,7 @@
-Checkout for Package Development
If you are actively developing a non-core package, you should
+Checkout for Package Development
If you are actively developing a non-core package, you should
work from the latest core release branch. Currently this is
oacs-5-9. This ensures that you are working on top of a stable
OpenACS core, but still allows you to commit feature changes to
@@ -98,7 +98,7 @@
packages and their current state.
-Checkout for Core Development
If you are actively developing packages in the OpenACS Core,
+Checkout for Core Development
If you are actively developing packages in the OpenACS Core,
work from the HEAD branch. HEAD is used for active development of
the next version of core OpenACS. It may be very buggy; it may not
even install correctly. Do not use this branch for development of
@@ -107,7 +107,7 @@
developer account:
.LRN consists of a given version OpenACS core, plus a set of
+Checkout .LRN
.LRN consists of a given version OpenACS core, plus a set of
packages. These are collectively packages together to form a
distribution of .LRN. F .LRN 2.0.0 sits on top of OpenACS 5.0.0.
.LRN also uses an OpenACS install.xml file during installation;
@@ -132,7 +132,7 @@
OpenACS CVS Concepts
-Modules
All OpenACS code resides within a single CVS module,
+Modules
All OpenACS code resides within a single CVS module,
openacs-4. (The openacs-4
directory contains code for all versions of OpenACS 4 and later,
and .LRN 1 and later.) Checking out this module retrieves all
@@ -169,7 +169,7 @@
module of the same name.
- Tags and Branches
Tags and Branches look similar in commands, but behave
+ Tags and Branches
Tags and Branches look similar in commands, but behave
differently. A tag is a fixed point on a branch. Check out a tag to
get a specific version of OpenACS. Check out a branch to get the
most current code for that major-minor version (e.g., 5.0.x or
@@ -415,7 +415,7 @@
- Informal Guidelines
Informal guidelines which may be obsolete in places and should
+ Informal Guidelines
Informal guidelines which may be obsolete in places and should
be reviewed:
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
-
Using CVS with OpenACS
Getting Started
+
Using CVS with OpenACS
Getting Started
All OpenACS code is available anonymously. To get code
anonymously, use the parameter
-d:pserver:anonymous@cvs.openacs.org:/cvsroot immediately after cvs in a cvs command to check out or export code.
@@ -53,7 +53,7 @@
cd CVSROOT
emacs avail
Add an avail line of the form:
avail|username|openacs-4
cvs commit -m "added commit on X for username" avail
Branimir suggests an additional level of abstraction. If you put
Host cvs-server
HostName cvs.openacs.org
- User yournamehere
into your ~/.ssh/config file, then you can use -d :ext:cvs-server:/cvsroot instead of -d :ext:cvs.openacs.org:/cvsroot. You can then change the definition of cvs-server by changing one file instead of editing hundreds of CVSROOT/Repository files.
Checkout for Package Development
If you are actively developing a non-core package, you
+ User yournamehere
into your ~/.ssh/config file, then you can use -d :ext:cvs-server:/cvsroot instead of -d :ext:cvs.openacs.org:/cvsroot. You can then change the definition of cvs-server by changing one file instead of editing hundreds of CVSROOT/Repository files.
Checkout for Package Development
If you are actively developing a non-core package, you
should work from the latest core release branch. Currently this
is oacs-5-9. This ensures that you are working on top
of a stable OpenACS core, but still allows you to commit feature
@@ -68,13 +68,13 @@
Inventory and Package
maintainers and status for a list of available
packages and their current state.
-
Checkout for Core Development
If you are actively developing packages in the OpenACS
+
Checkout for Core Development
If you are actively developing packages in the OpenACS
Core, work from the HEAD branch. HEAD is used for active
development of the next version of core OpenACS. It may be very
buggy; it may not even install correctly. Do not use this branch for
development of non-core features unless your work depends on some
of the HEAD core work. To check out HEAD, omit the
- -r tag.
To check out HEAD for development, which requires an OpenACS developer account:
.LRN consists of a given version OpenACS core, plus a set of
packages. These are collectively packages together to form a
distribution of .LRN. F .LRN 2.0.0 sits on top of OpenACS 5.0.0.
@@ -89,7 +89,7 @@
mv dotlrn/install.xml ..
Working with CVS
Once you have a checkout you can use some commands to track
what has changed since you checked out your copy. cvs -n update does not change any files, but reports which changes have been updated or locally modified, or are not present in CVS.
-
To update your files, use cvs update. This will merge changes from the repository with your local files. It has no effect on the cvs.openacs.org repository.
OpenACS CVS Concepts
Modules
+
To update your files, use cvs update. This will merge changes from the repository with your local files. It has no effect on the cvs.openacs.org repository.
OpenACS CVS Concepts
Modules
All OpenACS code resides within a single CVS module, openacs-4. (The openacs-4 directory contains code for all versions of OpenACS 4 and later, and .LRN 1 and later.) Checking out this module retrieves all OpenACS code of any type. For convenience, subsets of openacs-4 are repackaged as smaller modules.
acs-core contains only critical common
packages. It does not have any user applications, such as forums,
@@ -117,7 +117,7 @@
project-manager-all contains the packages required, in combination with acs-core, to run the project-manager package.
Each OpenACS package (i.e., directory in openacs-4/packages/) is also aliased as a module of the same name.
-
+
Tags and Branches
Tags and Branches look similar in commands, but behave differently. A tag is a fixed point on a branch. Check out
@@ -317,7 +317,7 @@
flag which defaults to no-effect wouldn't require a TIP. Added a
new mandatory flag to an existing function would require a
TIP.
-
+
Informal Guidelines
Informal guidelines which may be obsolete in places and should be reviewed:
Index: openacs-4/packages/acs-core-docs/www/cvs-tips.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/cvs-tips.adp,v
diff -u -r1.1.2.17 -r1.1.2.18
--- openacs-4/packages/acs-core-docs/www/cvs-tips.adp 16 Jun 2017 17:19:49 -0000 1.1.2.17
+++ openacs-4/packages/acs-core-docs/www/cvs-tips.adp 16 Jun 2017 17:54:31 -0000 1.1.2.18
@@ -19,7 +19,7 @@
OpenACS docs are written by the named authors, and may be edited by
OpenACS documentation staff.
Add the Service to CVS -
-OPTIONAL. These steps take
+OPTIONAL. These steps take
an existing OpenACS directory and add it to a CVS
repository.
Index: openacs-4/packages/acs-core-docs/www/cvs-tips.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/cvs-tips.html,v
diff -u -r1.34.2.17 -r1.34.2.18
--- openacs-4/packages/acs-core-docs/www/cvs-tips.html 16 Jun 2017 17:19:49 -0000 1.34.2.17
+++ openacs-4/packages/acs-core-docs/www/cvs-tips.html 16 Jun 2017 17:54:31 -0000 1.34.2.18
@@ -2,7 +2,7 @@
Appendix D. Using CVS with an OpenACS Site
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
-
Add the Service to CVS - OPTIONAL. These steps take an existing OpenACS directory and add
+
Add the Service to CVS - OPTIONAL. These steps take an existing OpenACS directory and add
it to a CVS
repository.
Create and set permissions on a subdirectory in the local cvs repository.
[root root]# mkdir /cvsroot/$OPENACS_SERVICE_NAME
[root root]# chown $OPENACS_SERVICE_NAME.$OPENACS_SERVICE_NAME /cvsroot/$OPENACS_SERVICE_NAME
Index: openacs-4/packages/acs-core-docs/www/docbook-primer.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/docbook-primer.adp,v
diff -u -r1.1.2.18 -r1.1.2.19
--- openacs-4/packages/acs-core-docs/www/docbook-primer.adp 16 Jun 2017 17:19:49 -0000 1.1.2.18
+++ openacs-4/packages/acs-core-docs/www/docbook-primer.adp 16 Jun 2017 17:54:31 -0000 1.1.2.19
@@ -410,7 +410,7 @@
tools will be marked up to conform to the DocBook XML
DTD. The remaining discussion is about publishing using
Docbook.
- is a publishing standard based on XML
+ is a publishing standard based on XML
with similar goals to the OpenACS Documentation project. Some
specific reasons why we are using DocBook:
It is open-source.
The DocBook community mailing lists
@@ -450,7 +450,7 @@
of elements and use more exotic features in your documents. The
list is made up of SGML-elements but basically the same elements
are valid in the XML DTD as long as
-you remember to:
+you remember to:
Always close your tags with corresponding end-tags and to
not use other tag
@@ -491,7 +491,7 @@
Document Structure
The documentation for each package will make up a little
"book" that is structured like this - examples are
-emphasized:
+emphasized:
book : Docs for one package - templating
|
@@ -516,11 +516,11 @@
Headlines, Sections
- Given that your job starts at the
+ Given that your job starts at the
sect1-level, all your documents
should open with a <sect1>-tag
and end with the corresponding </sect1>.
- You need to feed every <sect1> two attributes. The first
+ You need to feed every <sect1> two attributes. The first
attribute, id, is standard and
can be used with all elements. It comes in very handy when
interlinking between documents (more about this when talking about
@@ -529,7 +529,7 @@
id has to be unique throughout
the book you're making since the id's in your sect1's will turn into filenames when
the book is parsed into HTML.
- The other attribute is xreflabel. The value of this is the text
+ The other attribute is xreflabel. The value of this is the text
that will appear as the link when referring to this sect1.
Right after the opening tag you put the title of the document -
this is usually the same as xreflabel-attribute. E.g. the top level of
the document you're reading right now looks like this:
@@ -540,7 +540,7 @@
</sect1>
- Inside this container your document will
+ Inside this container your document will
be split up into <sect2>'s,
each with the same requirements - id and xreflabel attributes, and a <title>-tag inside. Actually, the
xreflabel is never required in
@@ -550,7 +550,7 @@
Code
- For displaying a snippet of code, a
+ For displaying a snippet of code, a
filename or anything else you just want to appear as a part of a
sentence, we use <computeroutput> and <code> tags. These
replace the HTML-tag <code> tag,
@@ -564,15 +564,15 @@
Links
- Linking falls into two different
+ Linking falls into two different
categories: inside the book you're making and outside:
1. Inside
linking, cross-referencing other parts of your
book
By having unique id's
you can cross-reference any part of your book with a simple tag,
regardless of where that part is.
-Check out how I link to a subsection of
+Check out how I link to a subsection of
the Developer's Guide:
Put this in your XML:
- Find information about creating a package in
<xref linkend="packages-making-a-package"></xref>.
@@ -596,7 +596,7 @@
2. Linking
outside the documentation
- If you're hyper-linking out of the
+ If you're hyper-linking out of the
documentation, it works almost the same way as HTML - the tag is
just a little different (<ulink>):
<ulink url="http://www.oracle.com/">Oracle Corporation</ulink>
@@ -615,7 +615,7 @@
Note: The graphics guidelines are
not written in stone. Use another valid approach if it works better
for you.
- Our documentation uses two flavors of
+ Our documentation uses two flavors of
emphasis - italics and bold type. DocBook uses one - <emphasis>.
The <emphasis> tag
defaults to italics when parsed. If you're looking for
emphasizing with bold type, use <emphasis
Index: openacs-4/packages/acs-core-docs/www/docbook-primer.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/docbook-primer.html,v
diff -u -r1.52.2.17 -r1.52.2.18
--- openacs-4/packages/acs-core-docs/www/docbook-primer.html 16 Jun 2017 17:19:49 -0000 1.52.2.17
+++ openacs-4/packages/acs-core-docs/www/docbook-primer.html 16 Jun 2017 17:54:31 -0000 1.52.2.18
@@ -578,7 +578,7 @@
DTD. The remaining discussion is about publishing using
Docbook.
-
+
is a publishing standard based on XML with
similar goals to the OpenACS Documentation project. Some specific reasons why we are using DocBook:
@@ -640,7 +640,7 @@
list of elements and use more exotic features in your
documents. The list is made up of SGML-elements but basically
the same elements are valid in the XML DTD as long as you remember to:
-
+
Always close your tags with corresponding end-tags and to
not use other tag minimization
@@ -689,7 +689,7 @@
The documentation for each package will make up a little "book" that is structured like this
- examples are emphasized:
-
+
book : Docs for one package - templating
@@ -713,20 +713,20 @@
sources of these DocBook documents
to get an idea of how they are tied together.
Headlines, Sections
-
+
Given that your job starts at the sect1-level, all your documents should open with a
<sect1>-tag and end
with the corresponding </sect1>.
-
+
You need to feed every <sect1> two attributes. The first attribute,
id, is standard and can be used with all elements. It comes in very
handy when interlinking between documents (more about this when talking about links in the section called “Links”).
The value of id has to be unique
throughout the book you're making since the id's in your
sect1's will turn into filenames when the book is parsed into HTML.
-
+
The other attribute is xreflabel. The value of this is the text that will appear
as the link when referring to this sect1.
@@ -741,7 +741,7 @@
</sect1>
-
+
Inside this container your document will be split up into
<sect2>'s,
each with the same requirements - id and xreflabel
@@ -750,7 +750,7 @@
When it comes to naming your
sect2's and below, prefix them with some abbreviation of the id in the sect1 such as requirements-overview.
Code
-
+
For displaying a snippet of code, a filename or anything else you just want to appear as a part of
a sentence, we use
<computeroutput>
@@ -768,12 +768,12 @@
tag around text that has been wrapped by combinations of <computeroutput>
and <userinput>
Links
-
+
Linking falls into two different categories: inside the book you're making and outside:
1. Inside linking, cross-referencing other parts of your book
By having unique id's you can cross-reference any part of your book
with a simple tag, regardless of where that part is.
-
Check out how I link to a subsection of the Developer's Guide:
Put this in your XML:
+
Check out how I link to a subsection of the Developer's Guide:
Put this in your XML:
- Find information about creating a package in
<xref linkend="packages-making-a-package"></xref>.
And the output is:
@@ -797,7 +797,7 @@
packages-looks, the
parser will try its best to explain where the link takes you.
2. Linking outside the documentation
-
+
If you're hyper-linking out of the documentation, it works almost the same way as HTML - the tag is just
a little different
@@ -818,7 +818,7 @@
for you.
-
+
To insert a graphic we use the elements
<mediaobject>,
<imageobject>,
@@ -844,7 +844,7 @@
Put your graphics in a separate directory ("images") and link to them
only with relative paths.
Lists
-
+
Here's how you make the DocBook equivalent of the three usual HTML-lists:
1. How to make an <ul>
Making an unordered list is pretty much like doing the same thing in HTML - if you close your <li>, that is. The only differences are that each list item has to be wrapped in something more, such as
@@ -889,7 +889,7 @@
</variablelist>
Tables
-
+
DocBook supports several types of tables, but in most cases, the
<informaltable>
is enough:
@@ -926,7 +926,7 @@
<table>
for an example.
Emphasis
-
+
Our documentation uses two flavors of emphasis - italics and bold type. DocBook uses one -
<emphasis>.
Index: openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.adp,v
diff -u -r1.1.2.10 -r1.1.2.11
--- openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.adp 16 Jun 2017 17:19:50 -0000 1.1.2.10
+++ openacs-4/packages/acs-core-docs/www/eng-standards-constraint-naming.adp 16 Jun 2017 17:54:31 -0000 1.1.2.11
@@ -126,8 +126,8 @@
immeditately in error debugging (e.g. the error will say something
like "Cannot insert null value into column"), we
recommend naming not null constraints to be consistent in our
-naming of all constraints.
People have plenty of usernames and passwords already, we
+Vision
People have plenty of usernames and passwords already, we
don't want them to have yet another. We want people to be able
to log in to OpenACS with the same password they use to log in to
any other system.
Besides, administrators have better things to do than create
@@ -74,7 +74,7 @@
People have plenty of usernames and passwords already, we
don't want them to have yet another. We want people to be able to
log in to OpenACS with the same password they use to log in to any
other system.
Besides, administrators have better things to do than create
@@ -45,7 +45,7 @@
only one implementation of the authentication API, namly the one
included in OpenACS Core.
Authentication Driver API: The service contract which
authentication drivers implement.
Conceptual Pictures
Authentication:
-
Account Management (NO PICTURE YET)
Batch Synchronization (NO PICTURE YET)
Requirements
New API
Feature
Status
Description
New API
EXT-AUTH-01
A
Extend Authentication/Acct Status API
EXT-AUTH-03
A
Account Creation API
EXT-AUTH-05
A
Password Management API
EXT-AUTH-30
A
Authority Management API
Login
Feature
Status
Description
Login
EXT-AUTH-04
A
Rewrite login, register, and admin pages to use APIs
EXT-AUTH-38
A
ad_form complain feature
EXT-AUTH-19
A
Rewrite password recovery to use API
EXT-AUTH-21
A
Rewrite email verification with API
EXT-AUTH-28
A
Username is email switch
Users will log in using a username, a authority, and a
+
Account Management (NO PICTURE YET)
Batch Synchronization (NO PICTURE YET)
Requirements
New API
Feature
Status
Description
New API
EXT-AUTH-01
A
Extend Authentication/Acct Status API
EXT-AUTH-03
A
Account Creation API
EXT-AUTH-05
A
Password Management API
EXT-AUTH-30
A
Authority Management API
Login
Feature
Status
Description
Login
EXT-AUTH-04
A
Rewrite login, register, and admin pages to use APIs
EXT-AUTH-38
A
ad_form complain feature
EXT-AUTH-19
A
Rewrite password recovery to use API
EXT-AUTH-21
A
Rewrite email verification with API
EXT-AUTH-28
A
Username is email switch
Users will log in using a username, a authority, and a
password. The authority is the source for user/password
verification. OpenACS can be an authority itself.
Each user in OpenACS will belong to exactly one authority, which
can either be the "local" OpenACS users table, in which case the
Index: openacs-4/packages/acs-core-docs/www/form-builder.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/form-builder.adp,v
diff -u -r1.1.2.19 -r1.1.2.20
--- openacs-4/packages/acs-core-docs/www/form-builder.adp 16 Jun 2017 17:19:50 -0000 1.1.2.19
+++ openacs-4/packages/acs-core-docs/www/form-builder.adp 16 Jun 2017 17:54:31 -0000 1.1.2.20
@@ -25,7 +25,7 @@
Multi-part Elements
Some elements have more than one choice, or can submit more than
one value.
-SELECT elements
+SELECT elements
Creating the form element. Populate
a list of lists with values for the option list.
@@ -106,7 +106,7 @@
Errors
Here are some common errors and what to do when you encounter
them:
-Error when selecting values
This generally happens when there is an error in your query.
+Error when selecting values
This generally happens when there is an error in your query.
Index: openacs-4/packages/acs-core-docs/www/form-builder.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/form-builder.html,v
diff -u -r1.30.2.17 -r1.30.2.18
--- openacs-4/packages/acs-core-docs/www/form-builder.html 16 Jun 2017 17:19:50 -0000 1.30.2.17
+++ openacs-4/packages/acs-core-docs/www/form-builder.html 16 Jun 2017 17:54:31 -0000 1.30.2.18
@@ -6,7 +6,7 @@
adaptable UI. Error handling includes inline error reporting, and is customizable.
However, ad_form can be tricky to use. In addition to this document,
the ad_form api
- documentation is helpful.
Multi-part Elements
Some elements have more than one choice, or can submit more than one value.
SELECT elements
Creating the form element. Populate a list of lists with values for the option list.
set foo_options [db_list_of_lists foo_option_list "
+ documentation is helpful.
Multi-part Elements
Some elements have more than one choice, or can submit more than one value.
SELECT elements
Creating the form element. Populate a list of lists with values for the option list.
set foo_options [db_list_of_lists foo_option_list "
select foo,
foo_id
from foos
@@ -51,5 +51,5 @@
ns_set print $mypage
}
Tips for form widgets
Here are some tips for dealing with some of the form widgets:
On the administration page, click Parameters link.
Change the parameter IndexRedirectUrl to be the URI of the
@@ -35,7 +35,7 @@
-How do I put custom functionality on front
+How do I put custom functionality on front
page of a new site?
Every page within an OpenACS site is part of a subsiteMore information). The home
page of the entire site is the front page is a special, default
instance of a subsite, served from /var/lib/aolserver/$OPENACS_SERVICE_NAME/www. If an
@@ -50,7 +50,7 @@
-How do I change the site-wide style?
Almost all pages on an OpenACS site use ACS Templating, and so
+How do I change the site-wide style?
Almost all pages on an OpenACS site use ACS Templating, and so
their appearance is driven by a layer of different files. Let's
examine how this works:
@@ -74,12 +74,12 @@
navigation "meta" elements such as Translator widgets and
Admin widgets.
-
Figure 4.1. Site
+
Figure 4.1. Site
Templates
-How do I diagnose a permissions
+How do I diagnose a permissions
problem?
@@ -124,12 +124,12 @@
To grant permissions on a package, start at the site map. Find the event
package and click "Set permissions".
On the administration page, click Parameters link.
Change the parameter IndexRedirectUrl to be the URI of the desired application. For a default weblogger installation, this would be weblogger/. Note the trailing slash.
How do I put custom functionality on front page of a new site?
Every page within an OpenACS site is part of a subsiteMore information). The home page of the entire site is the front page is a special, default instance of a subsite, served from /var/lib/aolserver/$OPENACS_SERVICE_NAME/www. If an index page is not found there, the default index page for all subsites is used. To customize the code on the front page, copy the default index page from the Subsite package to the Main site and edit it:
On the administration page, click Parameters link.
Change the parameter IndexRedirectUrl to be the URI of the desired application. For a default weblogger installation, this would be weblogger/. Note the trailing slash.
How do I put custom functionality on front page of a new site?
Every page within an OpenACS site is part of a subsiteMore information). The home page of the entire site is the front page is a special, default instance of a subsite, served from /var/lib/aolserver/$OPENACS_SERVICE_NAME/www. If an index page is not found there, the default index page for all subsites is used. To customize the code on the front page, copy the default index page from the Subsite package to the Main site and edit it:
Edit the new index.adp to change the text; you shouldn't need to edit index.tcl unless you are adding new functionality.
How do I change the site-wide style?
Almost all pages on an OpenACS site use ACS Templating, and so their appearance is driven by a layer of different files. Let's examine how this works:
A templated page uses an ADP/Tcl pair. The first line in the ADP file is usually:
<master>
If it appears exactly like this, without any arguments, the template processor uses default-master for that subsite. For pages in /var/lib/aolserver/$OPENACS_SERVICE_NAME/www, this is /var/lib/aolserver/$OPENACS_SERVICE_NAME/www/default-master.adp and the associated .tcl file.
-
The default-master is itself a normal ADP page. It draws the subsite navigation elements and invokes site-master (/var/lib/aolserver/$OPENACS_SERVICE_NAME/www/site-master.adp and .tcl)
The site-master draws site-wide navigation elements and invokes blank-master (/var/lib/aolserver/$OPENACS_SERVICE_NAME/www/blank-master.adp and .tcl).
Blank-master does HTML housekeeping and provides a framework for special sitewide navigation "meta" elements such as Translator widgets and Admin widgets.
Figure 4.1. Site Templates
How do I diagnose a permissions problem?
Steps to Reproduce. The events package does not allow users to register for new events.
Go to the http://yourserver.net/events as a visitor (ie, log out and, if necessary, clear cookies). This in on a 4.6.3 site with events version 0.1d3.
Select an available event
A link such as Registration: Deadline is 03/15/2004 10:00am.
+
The default-master is itself a normal ADP page. It draws the subsite navigation elements and invokes site-master (/var/lib/aolserver/$OPENACS_SERVICE_NAME/www/site-master.adp and .tcl)
The site-master draws site-wide navigation elements and invokes blank-master (/var/lib/aolserver/$OPENACS_SERVICE_NAME/www/blank-master.adp and .tcl).
Blank-master does HTML housekeeping and provides a framework for special sitewide navigation "meta" elements such as Translator widgets and Admin widgets.
Figure 4.1. Site Templates
How do I diagnose a permissions problem?
Steps to Reproduce. The events package does not allow users to register for new events.
Go to the http://yourserver.net/events as a visitor (ie, log out and, if necessary, clear cookies). This in on a 4.6.3 site with events version 0.1d3.
Select an available event
A link such as Registration: Deadline is 03/15/2004 10:00am.
» Login or sign up to register for this event. is visible. Click on "Login or sign up"
-
Complete a new registration. Afterwards, you should be redirected back to the same page.
Actual Results: The page says "You do not have permission to register for this event."
Expected results: A link or form to sign up for the event is shown.
Finding the problem. We start with the page that has the error. In the URL it's http://myserver.net/events/event-info.tcl, so open the file /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/events/www/event-info.tcl. It contains this line:
set can_register_p [events::security::can_register_for_event_p -event_id $event_id]
We need to know what that procedure does, so go to /api-doc, paste events::security::can_register_for_event_p into the ACS Tcl API Search box, and click Feeling Lucky. The next pages shows the proc, and we click "show source" to see more information. The body of the proc is simply
This means that a given user must have the write privilige on the event in order to register. Let's assume that the priviliges inherit, so that if a user has the write privilige on the whole package, they will have the write privilege on the event.
Setting Permissions. A permission has three parts: the privilige, the object of the privilige, and the subject being granted the privilige. In this case the privilige is "write," the object is the Events package, and the subject is all Registered Users.
To grant permissions on a package, start at the site map. Find the event package and click "Set permissions".
Complete a new registration. Afterwards, you should be redirected back to the same page.
Actual Results: The page says "You do not have permission to register for this event."
Expected results: A link or form to sign up for the event is shown.
Finding the problem. We start with the page that has the error. In the URL it's http://myserver.net/events/event-info.tcl, so open the file /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/events/www/event-info.tcl. It contains this line:
set can_register_p [events::security::can_register_for_event_p -event_id $event_id]
We need to know what that procedure does, so go to /api-doc, paste events::security::can_register_for_event_p into the ACS Tcl API Search box, and click Feeling Lucky. The next pages shows the proc, and we click "show source" to see more information. The body of the proc is simply
This means that a given user must have the write privilige on the event in order to register. Let's assume that the priviliges inherit, so that if a user has the write privilige on the whole package, they will have the write privilege on the event.
Setting Permissions. A permission has three parts: the privilige, the object of the privilige, and the subject being granted the privilige. In this case the privilige is "write," the object is the Events package, and the subject is all Registered Users.
To grant permissions on a package, start at the site map. Find the event package and click "Set permissions".
Replace complicated keys with longer, simpler
Index: openacs-4/packages/acs-core-docs/www/i18n-convert.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/i18n-convert.html,v
diff -u -r1.26.2.19 -r1.26.2.20
--- openacs-4/packages/acs-core-docs/www/i18n-convert.html 16 Jun 2017 17:19:50 -0000 1.26.2.19
+++ openacs-4/packages/acs-core-docs/www/i18n-convert.html 16 Jun 2017 17:54:31 -0000 1.26.2.20
@@ -72,7 +72,7 @@
test. If you don't provide the package_key argument then all
packages with catalog files will be checked.
The script will run its checks primarily on en_US xml catalog files.
-
Avoiding common i18n mistakes
Replace complicated keys with longer, simpler keys. When writing in one language, it is possible to create clever code to make correct text. In English, for example, you can put an if command at the end of a word which adds "s" if a count is anything but 1. This pluralizes nouns correctly based on the data. However, it is confusing to read and, when internationalized, may result in message keys that are both confusing and impossible to set correctly in some languages. While internationalizing, watch out that the automate converter does not create such keys. Also, refactor compound text as you encounter it.
The automated system can easily get confused by tags within message texts, so that it tries to create two or three message keys for one long string with a tag in the middle. In these cases, uncheck those keys during the conversion and then edit the files directly. For example, this code:
<p class="form-help-text"><b>Invitations</b> are sent,
+
Avoiding common i18n mistakes
Replace complicated keys with longer, simpler keys. When writing in one language, it is possible to create clever code to make correct text. In English, for example, you can put an if command at the end of a word which adds "s" if a count is anything but 1. This pluralizes nouns correctly based on the data. However, it is confusing to read and, when internationalized, may result in message keys that are both confusing and impossible to set correctly in some languages. While internationalizing, watch out that the automate converter does not create such keys. Also, refactor compound text as you encounter it.
The automated system can easily get confused by tags within message texts, so that it tries to create two or three message keys for one long string with a tag in the middle. In these cases, uncheck those keys during the conversion and then edit the files directly. For example, this code:
<p class="form-help-text"><b>Invitations</b> are sent,
when this wizard is completed and casting begins.</p>
has a bold tag which confuses the converter into thinking there are two message keys for the text beginning "Invitations ..." where there should be one:
Instead, we cancel those keys, edit the file manually, and put in a single temporary message tag:
<p class="form-help-text"> <#Invitations_are_sent <b>Invitations</b> are sent,
when this wizard is completed and casting begins.#>
</p>
Complex if statements may produce convoluted message keys that are very hard to localize. Rewrite these if statements. For example:
Select which case <if @simulation.casting_type@ eq "open">and
Index: openacs-4/packages/acs-core-docs/www/index.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/index.adp,v
diff -u -r1.26.2.19 -r1.26.2.20
--- openacs-4/packages/acs-core-docs/www/index.adp 16 Jun 2017 17:19:50 -0000 1.26.2.19
+++ openacs-4/packages/acs-core-docs/www/index.adp 16 Jun 2017 17:54:31 -0000 1.26.2.20
@@ -9,7 +9,7 @@
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.1.2.14 -r1.1.2.15
--- openacs-4/packages/acs-core-docs/www/individual-programs.adp 16 Jun 2017 17:19:50 -0000 1.1.2.14
+++ openacs-4/packages/acs-core-docs/www/individual-programs.adp 16 Jun 2017 17:54:31 -0000 1.1.2.15
@@ -316,8 +316,8 @@
from development to production, or get or contribute development
code from openacs.org.
Index: openacs-4/packages/acs-core-docs/www/install-daemontools.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-daemontools.html,v
diff -u -r1.41.2.17 -r1.41.2.18
--- openacs-4/packages/acs-core-docs/www/install-daemontools.html 16 Jun 2017 17:19:50 -0000 1.41.2.17
+++ openacs-4/packages/acs-core-docs/www/install-daemontools.html 16 Jun 2017 17:54:31 -0000 1.41.2.18
@@ -4,7 +4,7 @@
installed in /package. These commands install daemontools and
svgroup. svgroup is a script for granting permissions, to allow
users other than root to use daemontools for specific
- services.
[root root]# mkdir -p /package
[root root]# chmod 1755 /package/
[root root]# cd /package/
[root package]# tar xzf /tmp/daemontools-0.76.tar.gz
Index: openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.adp,v
diff -u -r1.1.2.17 -r1.1.2.18
--- openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.adp 16 Jun 2017 17:19:50 -0000 1.1.2.17
+++ openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.adp 16 Jun 2017 17:54:31 -0000 1.1.2.18
@@ -24,7 +24,7 @@
with an automated install process using the tsearch2-driver
package.
-Install OpenFTS module
If you want full text search, and you are running PostgreSQL,
+Install OpenFTS module
If you want full text search, and you are running PostgreSQL,
install this module to support FTS. Do this step after you have
installed both PostgreSQL and AOLserver. You will need the
openfts tarball in
@@ -119,7 +119,7 @@
Install OpenFTS prerequisites in
-PostgreSQL instance
If you are installing Full Text Search, add required packages to
+PostgreSQL instance
If you are installing Full Text Search, add required packages to
the new database. (In order for full text search to work, you must
also install the PostgreSQL OpenFTS module
and prerequisites.)
Index: openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.html,v
diff -u -r1.11.2.18 -r1.11.2.19
--- openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.html 16 Jun 2017 17:19:50 -0000 1.11.2.18
+++ openacs-4/packages/acs-core-docs/www/install-full-text-search-openfts.html 16 Jun 2017 17:54:31 -0000 1.11.2.19
@@ -6,7 +6,7 @@
Tsearch2. See
Install Full Text Search using Tsearch2. Tsearch2 is much easier to install, requiring only
compilation of one module from PostgreSQL contrib, with an
- automated install process using the tsearch2-driver package.
Install OpenFTS module
If you want full text search, and you are running PostgreSQL, install this module to support FTS. Do this step after you have installed both PostgreSQL and
+ automated install process using the tsearch2-driver package.
Install OpenFTS module
If you want full text search, and you are running PostgreSQL, install this module to support FTS. Do this step after you have installed both PostgreSQL and
AOLserver. You will need the openfts
tarball in /tmp.
Install Tsearch. This is a PostgreSQL module that
OpenFTS requires.
[root root]# su - postgres
@@ -81,7 +81,7 @@
make
su postgres
make install
-exit
Install OpenFTS prerequisites in PostgreSQL instance
If you are installing Full Text Search, add required
+exit
Install OpenFTS prerequisites in PostgreSQL instance
If you are installing Full Text Search, add required
packages to the new database. (In order for full text search
to work, you must also install the PostgreSQL
OpenFTS module and prerequisites.)
[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ /usr/local/pgsql/bin/psql $OPENACS_SERVICE_NAME -f /usr/local/src/postgresql-7.3.4/contrib/tsearch/tsearch.sql
Index: openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.adp,v
diff -u -r1.1.2.18 -r1.1.2.19
--- openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.adp 16 Jun 2017 17:19:50 -0000 1.1.2.18
+++ openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.adp 16 Jun 2017 17:54:31 -0000 1.1.2.19
@@ -18,7 +18,7 @@
OpenACS docs are written by the named authors, and may be edited by
OpenACS documentation staff.
-Install Tsearch2 module
If you want full text search, and you are running PostgreSQL,
+Install Tsearch2 module
If you want full text search, and you are running PostgreSQL,
install this module to support FTS. Do this step after you have
installed both PostgreSQL and AOLserver. You will need the tsearch2
module form PostgreSQL contrib. This is included with the
Index: openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.html,v
diff -u -r1.11.2.18 -r1.11.2.19
--- openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.html 16 Jun 2017 17:19:50 -0000 1.11.2.18
+++ openacs-4/packages/acs-core-docs/www/install-full-text-search-tsearch2.html 16 Jun 2017 17:54:31 -0000 1.11.2.19
@@ -6,7 +6,7 @@
V2 Introduction by Andrew J. Kopciuch
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
-
Install Tsearch2 module
If you want full text search, and you are running PostgreSQL, install this module to support FTS. Do this step after you have installed both PostgreSQL and
+
Install Tsearch2 module
If you want full text search, and you are running PostgreSQL, install this module to support FTS. Do this step after you have installed both PostgreSQL and
AOLserver. You will need the tsearch2 module form PostgreSQL
contrib. This is included with the PostgreSQL full source
distribution. It is also available with the PostgreSQL contrib
Index: openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.adp,v
diff -u -r1.1.2.17 -r1.1.2.18
--- openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.adp 16 Jun 2017 17:19:50 -0000 1.1.2.17
+++ openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.adp 16 Jun 2017 17:54:31 -0000 1.1.2.18
@@ -112,7 +112,7 @@
commands.
Index: openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html,v
diff -u -r1.24.2.17 -r1.24.2.18
--- openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html 16 Jun 2017 17:19:50 -0000 1.24.2.17
+++ openacs-4/packages/acs-core-docs/www/install-openacs-keepalive.html 16 Jun 2017 17:54:31 -0000 1.24.2.18
@@ -64,6 +64,6 @@
More information can be found on the AOLserver
Daemontools page.
-
- (I'm not sure if this next step is
+ (I'm not sure if this next step is
100% necessary, but when I skip it I get problems. If you get the
error 553 sorry, that domain isn't
in my list of allowed rcpthosts (#5.7.1) then you need to do
@@ -68,7 +68,7 @@
-Install Qmail.
+Install Qmail.
Download qmail, set up the
standard supporting users and build the binaries:
@@ -131,7 +131,7 @@
./collate.sh
cd netqmail-1.04
make setup check
-
(I'm not sure if this next step is 100% necessary, but when I skip it
I get problems. If you get the error 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1) then you need to do this.) AOLserver sends outgoing mail via the ns_sendmail
command, which pipes a command to the sendmail executable. Or, in our
@@ -44,7 +44,7 @@
send outgoing mail.
Configure qmail to use the Maildir delivery format
+chown -R alias.nofiles /var/qmail/alias/Maildir
Configure qmail to use the Maildir delivery format
(instead of mbox), and install a version of the qmail startup script modified to use Maildir.
[root alias]# echo "./Maildir" > /var/qmail/bin/.qmail
[root alias]# cp /tmp/openacs-5.9.0/packages/acs-core-docs/www/files/qmail.rc.txt /var/qmail/rc
[root alias]# chmod 755 /var/qmail/rc
Index: openacs-4/packages/acs-core-docs/www/install-redhat.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-redhat.adp,v
diff -u -r1.1.2.17 -r1.1.2.18
--- openacs-4/packages/acs-core-docs/www/install-redhat.adp 16 Jun 2017 17:19:50 -0000 1.1.2.17
+++ openacs-4/packages/acs-core-docs/www/install-redhat.adp 16 Jun 2017 17:54:31 -0000 1.1.2.18
@@ -38,7 +38,7 @@
Unplug
the network cable from your computer. We don't want to connect
to the network until we're sure the computer is secure.
- (Wherever you see the word secure, you
+ (Wherever you see the word secure, you
should always read it as, "secure enough for our purposes,
given the amount of work we're willing to exert and the
estimated risk and consequences.")
Insert Red Hat 8.0 or 9.0 Disk 1 into the CD-ROM and reboot the
@@ -76,7 +76,7 @@
screen
-
Configure Networking. Again, if you
+
Configure Networking. Again, if you
know what you're doing, do this step yourself, being sure to
note the firewall holes. Otherwise, follow the instructions in this
step to set up a computer directly connected to the internet with a
@@ -105,7 +105,7 @@
development server we'll be setting up.
-Select any additional languages you want
+Select any additional languages you want
the computer to support and then click Next
Choose your time zone and click
@@ -121,11 +121,11 @@
web server, because that would conflict with the database and web
server we'll install later.
check Editors
-(this installs emacs),
click Details next
+(this installs emacs),
click Details next
to Text-based Internet, check
lynx, and click OK;
check Authoring and
-Publishing (this installs
+Publishing (this installs
docbook),
uncheck Server Configuration
Tools,
uncheck Web
Server,
uncheck Windows File
@@ -150,7 +150,7 @@
will appear.
uncheck apmd
(monitors power, not very useful for servers),
check ImageMagick
-(required for the photo-album packages,
uncheckisdn4k-utils
+(required for the photo-album packages,
uncheckisdn4k-utils
(unless you are using isdn, this installs a useless daemon),
check mutt (a mail
program that reads Maildir),
uncheck nfs-utils
(nfs is a major security risk),
uncheck pam-devel (I
@@ -197,7 +197,7 @@
Lock down SSH
- SSH is the protocol we use to connect
+ SSH is the protocol we use to connect
securely to the computer (replacing telnet, which is insecure).
sshd is the daemon that listens for incoming ssh connections. As a
security precaution, we are now going to tell ssh not to allow
Index: openacs-4/packages/acs-core-docs/www/install-redhat.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-redhat.html,v
diff -u -r1.41.2.17 -r1.41.2.18
--- openacs-4/packages/acs-core-docs/www/install-redhat.html 16 Jun 2017 17:19:50 -0000 1.41.2.17
+++ openacs-4/packages/acs-core-docs/www/install-redhat.html 16 Jun 2017 17:54:31 -0000 1.41.2.18
@@ -27,7 +27,7 @@
Unplug the network cable from your
computer. We don't want to connect to the network
until we're sure the computer is secure.
-
+
(Wherever you see
the word secure, you should always read it as, "secure
enough for our purposes, given the amount of work we're
@@ -55,7 +55,7 @@
Review (and modify if needed) the partitions created and click Next
On the pop-up window asking "Are you sure
you want to do this?" click
Yes
- IF YOU ARE WIPING YOUR HARD DRIVE.
Click Next on the boot loader screen
Configure Networking.
+ IF YOU ARE WIPING YOUR HARD DRIVE.
Click Next on the boot loader screen
Configure Networking.
Again, if you know what you're doing, do this step
yourself, being sure to note the firewall holes. Otherwise,
follow the instructions in this step to set up a computer directly connected to the internet with a dedicated IP address.
DHCP is a system by which a computer that
@@ -76,7 +76,7 @@
Mail (SMTP). In the Other ports
box, enter 443, 8000, 8443. Click
Next.
-Port 443 is for https (http over ssl), and 8000 and 8443 are http and https access to the development server we'll be setting up.
Select any additional languages you want the
+Port 443 is for https (http over ssl), and 8000 and 8443 are http and https access to the development server we'll be setting up.
Select any additional languages you want the
computer to support and then click
Next
Choose your time zone and click Next.
Type in a root
password, twice.
On the Package selection page, we're going to
@@ -88,13 +88,13 @@
risk that's still screened by the firewall, or a resource hog. Just
don't install a database or web server, because that would conflict
with the database and web server we'll install later.
-
check Editors (this installs emacs),
click Details next to Text-based Internet, check lynx, and click OK;
check Authoring and Publishing (this installs docbook),
uncheck Server Configuration Tools,
uncheck Web Server,
uncheck Windows File Server,
check SQL Database Server (this installs PostgreSQL),
check Development Tools (this installs gmake and other build tools),
uncheck Administration Tools, and
uncheck Printing Support.
At the bottom, check Select Individual Packages and click Next
We need to fine-tune the exact list of packages.
+
check Editors (this installs emacs),
click Details next to Text-based Internet, check lynx, and click OK;
check Authoring and Publishing (this installs docbook),
uncheck Server Configuration Tools,
uncheck Web Server,
uncheck Windows File Server,
check SQL Database Server (this installs PostgreSQL),
check Development Tools (this installs gmake and other build tools),
uncheck Administration Tools, and
uncheck Printing Support.
At the bottom, check Select Individual Packages and click Next
We need to fine-tune the exact list of packages.
The same rules apply as in the last step - you can add more stuff, but
you shouldn't remove anything the guide adds. We're going to go
through all the packages in one big list, so select
Flat
View and wait. In a minute, a
-list of packages will appear.
uncheck apmd (monitors power, not very useful for servers),
check ImageMagick (required for the photo-album packages,
uncheckisdn4k-utils (unless you are using isdn, this installs a useless daemon),
check mutt (a mail program that reads Maildir),
uncheck nfs-utils (nfs is a major security risk),
uncheck pam-devel (I don't remember why, but we don't want this),
uncheck portmap,
uncheck postfix (this is an MTA, but we're going to install qmail later),
check postgresql-devel,
uncheck rsh (rsh is a security hole),
uncheck sendmail (sendmail is an insecure MTA; we're going to install qmail instead later),
check tcl (we need tcl), and
uncheck xinetd (xinetd handles incoming tcp connections. We'll install a different, more secure program, ucspi-tcp).
Click Next
Red Hat isn't completely happy with the combination
+list of packages will appear.
uncheck apmd (monitors power, not very useful for servers),
check ImageMagick (required for the photo-album packages,
uncheckisdn4k-utils (unless you are using isdn, this installs a useless daemon),
check mutt (a mail program that reads Maildir),
uncheck nfs-utils (nfs is a major security risk),
uncheck pam-devel (I don't remember why, but we don't want this),
uncheck portmap,
uncheck postfix (this is an MTA, but we're going to install qmail later),
check postgresql-devel,
uncheck rsh (rsh is a security hole),
uncheck sendmail (sendmail is an insecure MTA; we're going to install qmail instead later),
check tcl (we need tcl), and
uncheck xinetd (xinetd handles incoming tcp connections. We'll install a different, more secure program, ucspi-tcp).
Click Next
Red Hat isn't completely happy with the combination
of packages we've selected, and wants to satisfy some dependencies.
Don't let it. On the next screen, choose
Ignore Package
@@ -120,7 +120,7 @@
upgrading all of that. Since you are upgrading the kernel,
reboot after this step.
Lock down SSH
-
+
SSH is the protocol we use to connect
securely to the computer (replacing telnet, which is
insecure). sshd is the daemon that listens for incoming
Index: openacs-4/packages/acs-core-docs/www/install-steps.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/install-steps.adp,v
diff -u -r1.1.2.20 -r1.1.2.21
--- openacs-4/packages/acs-core-docs/www/install-steps.adp 16 Jun 2017 17:19:50 -0000 1.1.2.20
+++ openacs-4/packages/acs-core-docs/www/install-steps.adp 16 Jun 2017 17:54:31 -0000 1.1.2.21
@@ -106,8 +106,8 @@
-Paths and Users
-
Table 2.1. Default
+Paths and Users
+
Table 2.1. Default
directories for a standard install
@@ -118,7 +118,7 @@
name of administrative access account
remadmin
OpenACS service
-$OPENACS_SERVICE_NAME (set to service0
+$OPENACS_SERVICE_NAME (set to service0
in default install)
Setting a global shell variable for cut and paste. In order to cut and paste the instructions into your shell, you must set the environment variable $OPENACS_SERVICE_NAME. In order to set it globally so that it works for any new users or special service users you may create, edit the file /etc/profile ( /etc/share/skel/dot.profile for FreeBSD) and add this line:
export OPENACS_SERVICE_NAME=service0
Paths and Users
Table 2.1. Default directories for a standard install
Fully qualified domain name of your server
yourserver.test
name of administrative access account
remadmin
OpenACS service
+createdb $OPENACS_SERVICE_NAME
Setting a global shell variable for cut and paste. In order to cut and paste the instructions into your shell, you must set the environment variable $OPENACS_SERVICE_NAME. In order to set it globally so that it works for any new users or special service users you may create, edit the file /etc/profile ( /etc/share/skel/dot.profile for FreeBSD) and add this line:
export OPENACS_SERVICE_NAME=service0
Paths and Users
Table 2.1. Default directories for a standard install
Fully qualified domain name of your server
yourserver.test
name of administrative access account
remadmin
OpenACS service
$OPENACS_SERVICE_NAME (set to service0 in default install)
OpenACS service account
$OPENACS_SERVICE_NAME
OpenACS database name
$OPENACS_SERVICE_NAME
Root of OpenACS service file tree (SERVERROOT)
/var/lib/aolserver/$OPENACS_SERVICE_NAME
Location of source code tarballs for new software
/var/tmp
The OpenACS tarball contains some files which
are useful while setting up other software. Those
files are located at:
This should return a list of database queries on the page,
including the exact query (so it can be cut-paste into psql or
oracle) and the time each query took.
-Make sure, that the Oracle CBO works with
+Make sure, that the Oracle CBO works with
adequate statistics
The Oracle Cost Based optimizer is a piece of software that
tries to find the "optimal" execution plan for a given
SQL statement. For that it estimates the costs of running a SQL
Index: openacs-4/packages/acs-core-docs/www/maint-performance.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maint-performance.html,v
diff -u -r1.29.2.17 -r1.29.2.18
--- openacs-4/packages/acs-core-docs/www/maint-performance.html 16 Jun 2017 17:19:50 -0000 1.29.2.17
+++ openacs-4/packages/acs-core-docs/www/maint-performance.html 16 Jun 2017 17:54:31 -0000 1.29.2.18
@@ -2,7 +2,7 @@
Did performance problems happen overnight, or did they sneak up on
you? Any clue what caused the performance problems (e.g. loading 20K
users into .LRN)
Is the file system out of space? Is the machine swapping to disk constantly?
Click on "Install New Application" in "Install from OpenACS Repository"
Choose "ACS Developer Support">
After install is complete, restart the server.
Browse to Developer Support, which is automatically mounted at /ds.
-
Turn on Database statistics
Browse directly to a slow page and click "Request Information" at the bottom of the page.
This should return a list of database queries on the page, including the exact query (so it can be cut-paste into psql or oracle) and the time each query took.
Figure 6.8. Query Analysis example
Identify a runaway Oracle query: first, use ps aux or top to get the UNIX process ID of a runaway Oracle process.
Log in to SQL*Plus as the admin:
[$OPENACS_SERVICE_NAME ~]$ svrmgrl
+
Turn on Database statistics
Browse directly to a slow page and click "Request Information" at the bottom of the page.
This should return a list of database queries on the page, including the exact query (so it can be cut-paste into psql or oracle) and the time each query took.
Figure 6.8. Query Analysis example
Identify a runaway Oracle query: first, use ps aux or top to get the UNIX process ID of a runaway Oracle process.
Log in to SQL*Plus as the admin:
[$OPENACS_SERVICE_NAME ~]$ svrmgrl
Oracle Server Manager Release 3.1.7.0.0 - Production
@@ -59,7 +59,7 @@
Make sure, that the Oracle CBO works with adequate statistics
+
Make sure, that the Oracle CBO works with adequate statistics
The Oracle Cost Based optimizer is a piece of software that tries to find
the "optimal" execution plan for a given SQL statement. For that it
estimates the costs of running a SQL query in a particular way (by default
Index: openacs-4/packages/acs-core-docs/www/maintenance-deploy.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maintenance-deploy.adp,v
diff -u -r1.1.2.19 -r1.1.2.20
--- openacs-4/packages/acs-core-docs/www/maintenance-deploy.adp 16 Jun 2017 17:19:50 -0000 1.1.2.19
+++ openacs-4/packages/acs-core-docs/www/maintenance-deploy.adp 16 Jun 2017 17:54:31 -0000 1.1.2.20
@@ -24,7 +24,7 @@
working configuration safely and quickly.
-Method 1: Deployment with CVS
With this method, we control the files on a site via CVS. This
+Method 1: Deployment with CVS
With this method, we control the files on a site via CVS. This
example uses one developmental server (service0-dev) and one
production server (service0). Depending on your needs, you can also
have a staging server for extensive testing before you go live. The
@@ -103,7 +103,7 @@
tags to follow ...
-Method 2: A/B Deployment
The approach taken in this section is to always create a new
+Method 2: A/B Deployment
The approach taken in this section is to always create a new
service with the desired changes, running in parallel with the
existing site. This guarantees control, at least at the final step
of the process: you know what changes you are about to make because
@@ -119,28 +119,28 @@
function or risk losing data in the shuffle. It also requires extra
steps if the database will be affected.
-Simple A/B Deployment: Database is not
+Simple A/B Deployment: Database is not
changed
-
Figure 6.2. Simple
+
Figure 6.2. Simple
A/B Deployment - Step 1
-
Figure 6.3. Simple
+
Figure 6.3. Simple
A/B Deployment - Step 2
-
Figure 6.4. Simple
+
Figure 6.4. Simple
A/B Deployment - Step 3
-Complex A/B Deployment: Database is
+Complex A/B Deployment: Database is
changed
-
Figure 6.5. Complex A/B Deployment
+
Figure 6.5. Complex A/B Deployment
- Step 1
-
Figure 6.6. Complex A/B Deployment
+
Figure 6.6. Complex A/B Deployment
- Step 2
-
Figure 6.7. Complex A/B Deployment
+
Figure 6.7. Complex A/B Deployment
- Step 3
Index: openacs-4/packages/acs-core-docs/www/maintenance-deploy.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/maintenance-deploy.html,v
diff -u -r1.24.2.17 -r1.24.2.18
--- openacs-4/packages/acs-core-docs/www/maintenance-deploy.html 16 Jun 2017 17:19:50 -0000 1.24.2.17
+++ openacs-4/packages/acs-core-docs/www/maintenance-deploy.html 16 Jun 2017 17:54:31 -0000 1.24.2.18
@@ -2,7 +2,7 @@
Staged Deployment for Production Networks
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
-
This section describes two minimal-risk methods for deploying changes on a production network. The important characteristics of a safe change deployment include: (THIS SECTION IN DEVELOPMENT)
Control: You know for sure that the change you are making is the change that you intend to make and is the change that you tested.
Rollback: If anything goes wrong, you can return to the previous working configuration safely and quickly.
Method 1: Deployment with CVS
With this method, we control the files on a site via
+
This section describes two minimal-risk methods for deploying changes on a production network. The important characteristics of a safe change deployment include: (THIS SECTION IN DEVELOPMENT)
Control: You know for sure that the change you are making is the change that you intend to make and is the change that you tested.
Rollback: If anything goes wrong, you can return to the previous working configuration safely and quickly.
Method 1: Deployment with CVS
With this method, we control the files on a site via
CVS. This example uses one developmental server (service0-dev) and one
production server (service0). Depending on your needs, you can also
have a staging server for extensive testing before you go
@@ -67,4 +67,4 @@
cvs up -Pd index.adp
If you make changes that require changes to the database,
test them out first on service0-dev, using either -create.sql or
upgrade scripts. Once you've tested them, you then update and
- run the upgrade scripts from the package manager.
The production site can run "HEAD" from cvs.
The drawback to using HEAD as the live code is that you cannot commit new work on the development server without erasing the definition of 'working production code.' So a better method is to use a tag. This guarantees that, at any time in the future, you can retrieve exactly the same set of code. This is useful for both of the characteristics of safe change deployment. For control, you can use tags to define a body of code, test that code, and then know that what you are deploying is exactly that code. For rollback, you can use return to the last working tag if the new tag (or new, untagged changes) cause problems. .... example of using tags to follow ...
Method 2: A/B Deployment
The approach taken in this section is to always create a new service with the desired changes, running in parallel with the existing site. This guarantees control, at least at the final step of the process: you know what changes you are about to make because you can see them directly. It does not, by itself, guarantee the entire control chain. You need additional measures to make sure that the change you are making is exactly and completely the change you intended to make and tested previously, and nothing more. Those additional measures typically take the form of source control tags and system version numbers. The parallel-server approach also guarantees rollback because the original working service is not touched; it is merely set aside.
This approach can has limitations. If the database or file system regularly receiving new data, you must interrupt this function or risk losing data in the shuffle. It also requires extra steps if the database will be affected.
Simple A/B Deployment: Database is not changed
Figure 6.2. Simple A/B Deployment - Step 1
Figure 6.3. Simple A/B Deployment - Step 2
Figure 6.4. Simple A/B Deployment - Step 3
Complex A/B Deployment: Database is changed
Figure 6.5. Complex A/B Deployment - Step 1
Figure 6.6. Complex A/B Deployment - Step 2
Figure 6.7. Complex A/B Deployment - Step 3
+ run the upgrade scripts from the package manager.
The production site can run "HEAD" from cvs.
The drawback to using HEAD as the live code is that you cannot commit new work on the development server without erasing the definition of 'working production code.' So a better method is to use a tag. This guarantees that, at any time in the future, you can retrieve exactly the same set of code. This is useful for both of the characteristics of safe change deployment. For control, you can use tags to define a body of code, test that code, and then know that what you are deploying is exactly that code. For rollback, you can use return to the last working tag if the new tag (or new, untagged changes) cause problems. .... example of using tags to follow ...
Method 2: A/B Deployment
The approach taken in this section is to always create a new service with the desired changes, running in parallel with the existing site. This guarantees control, at least at the final step of the process: you know what changes you are about to make because you can see them directly. It does not, by itself, guarantee the entire control chain. You need additional measures to make sure that the change you are making is exactly and completely the change you intended to make and tested previously, and nothing more. Those additional measures typically take the form of source control tags and system version numbers. The parallel-server approach also guarantees rollback because the original working service is not touched; it is merely set aside.
This approach can has limitations. If the database or file system regularly receiving new data, you must interrupt this function or risk losing data in the shuffle. It also requires extra steps if the database will be affected.
Simple A/B Deployment: Database is not changed
Figure 6.2. Simple A/B Deployment - Step 1
Figure 6.3. Simple A/B Deployment - Step 2
Figure 6.4. Simple A/B Deployment - Step 3
Complex A/B Deployment: Database is changed
Figure 6.5. Complex A/B Deployment - Step 1
Figure 6.6. Complex A/B Deployment - Step 2
Figure 6.7. Complex A/B Deployment - Step 3
Index: openacs-4/packages/acs-core-docs/www/objects.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/objects.adp,v
diff -u -r1.1.2.19 -r1.1.2.20
--- openacs-4/packages/acs-core-docs/www/objects.adp 16 Jun 2017 17:19:50 -0000 1.1.2.19
+++ openacs-4/packages/acs-core-docs/www/objects.adp 16 Jun 2017 17:54:31 -0000 1.1.2.20
@@ -86,7 +86,7 @@
for the PG version) file created when we created the package.
Then, do the following:
-Describe the new type to the type
+Describe the new type to the type
system
First, add an entry to the acs_object_types table with the following
PL/SQL call:
begin
@@ -142,7 +142,7 @@
attributes, so there is no need for us to define them.
-Define a table in which to store your
+Define a table in which to store your
objects
The next thing we do is make a small modification to the data
model to reflect the fact that each row in the notes table represents something that is
not only an object of type note, but also an acs_object. The new table definition looks
@@ -166,7 +166,7 @@
acs_objects.
-Define a package for type specific
+Define a package for type specific
procedures
The next step is to define a PL/SQL package for your new type,
and write some basic procedures to create and delete objects. Here
is a package definition for our new type:
@@ -213,7 +213,7 @@
only" by default. We'll talk about this more later.
-Define a package body for type specific
+Define a package body for type specific
procedures
The PL/SQL package body contains the implementations of the
procedures defined above. The only subtle thing going on here is
that we must use acs_object.new
Index: openacs-4/packages/acs-core-docs/www/objects.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/objects.html,v
diff -u -r1.52.2.17 -r1.52.2.18
--- openacs-4/packages/acs-core-docs/www/objects.html 16 Jun 2017 17:19:50 -0000 1.52.2.17
+++ openacs-4/packages/acs-core-docs/www/objects.html 16 Jun 2017 17:54:31 -0000 1.52.2.18
@@ -79,7 +79,7 @@
Fire up your text editor and open the
ROOT/packages/notes/sql/oracle/notes-create.sql (ROOT/packages/notes/sql/postgresql/notes-create.sql for the PG version) file created
when we created the package. Then, do the following:
-
Describe the new type to the type system
+
Describe the new type to the type system
First, add an entry to the acs_object_types table with the following PL/SQL call:
begin
@@ -139,7 +139,7 @@
because the new type note is a subtype of
acs_object, it will inherit these attributes, so there is
no need for us to define them.
-
Define a table in which to store your objects
+
Define a table in which to store your objects
The next thing we do is make a small modification to the data model to
reflect the fact that each row in the notes table
represents something that is not only an object of type
@@ -164,7 +164,7 @@
use the acs_objects table to find objects will
transparently find any objects that are instances of any subtype of
acs_objects.
-
Define a package for type specific procedures
+
Define a package for type specific procedures
The next step is to define a PL/SQL package for your new type, and
write some basic procedures to create and delete objects. Here is a
package definition for our new type:
@@ -212,7 +212,7 @@
object OBJ was "read only", then any other object that used OBJ as its
context would also be "read only" by default. We'll talk about this more
later.
-
Define a package body for type specific procedures
+
Define a package body for type specific procedures
The PL/SQL package body contains the implementations of the procedures
defined above. The only subtle thing going on here is that we must use
acs_object.new to insert a row into
Index: openacs-4/packages/acs-core-docs/www/openacs.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs.adp,v
diff -u -r1.1.2.20 -r1.1.2.21
--- openacs-4/packages/acs-core-docs/www/openacs.adp 16 Jun 2017 17:19:50 -0000 1.1.2.20
+++ openacs-4/packages/acs-core-docs/www/openacs.adp 16 Jun 2017 17:54:31 -0000 1.1.2.21
@@ -336,7 +336,7 @@
automate vacuuming is to edit the cron file for the database user.
Recommended: VACUUM ANALYZE
every hour and VACUUM FULL
-ANALYZE every day.
Add these lines to the file. The vacuum command cleans up
temporary structures within a PostGreSQL database, and can improve
@@ -370,7 +370,7 @@
specific port, e.g. port 80. In order for OpenACS to work, you need
to configure a virtual server. The Reference Platform uses a
configuration file included in the OpenACS tarball, /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/config.tcl.
-Open it in an editor to adjust the parameters.
+Open it in an editor to adjust the parameters.
[root root]# su - $OPENACS_SERVICE_NAME
[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc
Index: openacs-4/packages/acs-core-docs/www/openacs.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/openacs.html,v
diff -u -r1.51.2.17 -r1.51.2.18
--- openacs-4/packages/acs-core-docs/www/openacs.html 16 Jun 2017 17:19:50 -0000 1.51.2.17
+++ openacs-4/packages/acs-core-docs/www/openacs.html 16 Jun 2017 17:54:31 -0000 1.51.2.18
@@ -237,7 +237,7 @@
CREATE DATABASE
[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$
su - $OPENACS_SERVICE_NAME
-/usr/local/pgsql/bin/createdb -E UNICODE $OPENACS_SERVICE_NAME
Automate daily database Vacuuming. This is a process which cleans out discarded data from the database. A quick way to automate vacuuming is to edit the cron file for the database user. Recommended: VACUUM ANALYZE every hour and VACUUM FULL ANALYZE every day.
Add these lines to the file. The vacuum command cleans up temporary structures within a PostGreSQL database, and can improve performance. We vacuum gently every hour and completely every day. The numbers and stars at the beginning are cron columns that specify when the program should be run - in this case, whenever the minute is 0 and the hour is 1, i.e., 1:00 am every day, and every (*) day of month, month, and day of week. Type man 5 crontab for more information.
Automate daily database Vacuuming. This is a process which cleans out discarded data from the database. A quick way to automate vacuuming is to edit the cron file for the database user. Recommended: VACUUM ANALYZE every hour and VACUUM FULL ANALYZE every day.
Add these lines to the file. The vacuum command cleans up temporary structures within a PostGreSQL database, and can improve performance. We vacuum gently every hour and completely every day. The numbers and stars at the beginning are cron columns that specify when the program should be run - in this case, whenever the minute is 0 and the hour is 1, i.e., 1:00 am every day, and every (*) day of month, month, and day of week. Type man 5 crontab for more information.
Depending on your distribution, you may receive
email when the crontab items are executed. If you
don't want to receive email for those crontab items,
@@ -250,7 +250,7 @@
need to configure a virtual server. The Reference Platform
uses a configuration file included in the OpenACS tarball,
/var/lib/aolserver/$OPENACS_SERVICE_NAME/etc/config.tcl.
- Open it in an editor to adjust the parameters.
[root root]# su - $OPENACS_SERVICE_NAME
+ Open it in an editor to adjust the parameters.
[root root]# su - $OPENACS_SERVICE_NAME
[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/etc
[$OPENACS_SERVICE_NAME etc]$ emacs config.tcl
Index: openacs-4/packages/acs-core-docs/www/oracle.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/oracle.adp,v
diff -u -r1.1.2.14 -r1.1.2.15
--- openacs-4/packages/acs-core-docs/www/oracle.adp 16 Jun 2017 17:19:51 -0000 1.1.2.14
+++ openacs-4/packages/acs-core-docs/www/oracle.adp 16 Jun 2017 17:54:31 -0000 1.1.2.15
@@ -41,8 +41,7 @@
platforms. If you don't have metalink access, take a look at
the Oracle on Linux FAQ: Which Linux
Distributions Are Directly Supported By Oracle?. In summary,
-free and inexpensive Linux distributions are not certified.
If you don't have an account at OTN get one: you can
-download the Oracle software from the Oracle Downloads page.
Each Oracle release comes with extensive and usually quite
+free and inexpensive Linux distributions are not certified.
You can download the Oracle software from the Oracle Downloads page.
Each Oracle release comes with extensive and usually quite
well-written documentation. Your first step should be to thoroughly
read the release notes for your operating system and your Oracle
version. Find the docs here:
Throughout these instructions, we will refer to a number of
configurable settings and advise certain defaults. With the
exception of passwords, we advise you to follow these defaults
unless you know what you are doing. Subsequent documents will
@@ -438,11 +437,7 @@
Creating the First Database
This step will take you through the steps of creating a
customized database. Be warned that this process takes about an
-hour on a Pentium II with 128 MB of RAM.
-
Note
RedHat 7.3 and 8.0 users: Before running dbassist, do the following.
-
Download the glibc patch from Oracle Technet into /var/tmp.
cd $ORACLE_HOME
tar xzf /var/tmp/glibc2.1.3-stubs.tgz
./setup_stubs
-
-
+hour on a Pentium II with 128 MB of RAM.
Make sure you are running X. Open up a terminal and su to oracle and then run the dbassist program.
[joeuser ~]$ xhost +localhost
@@ -969,8 +964,8 @@
access to the Oracle system.
Each Oracle release comes with extensive and usually quite well-written
@@ -57,7 +56,7 @@
To give you an idea of how configurable Oracle is and how much thought
you may need to put into buying the proper hardware and creating a sane
setup, you should thoroughly read Cary Millsap's Configuring
- Oracle Server for VLDB and the Optimal
+ Oracle Server for VLDB and the Optimal
Flexible Architecture standard.
Throughout these instructions, we will refer to a number of
@@ -652,16 +651,7 @@
This step will take you through the steps of creating a customized
database. Be warned that this process takes about an hour on a
Pentium II with 128 MB of RAM.
-
Note
RedHat 7.3 and 8.0 users: Before running dbassist, do the following.
- Download the glibc
- patch from Oracle Technet into /var/tmp.
-
- cd $ORACLE_HOME
-
- tar xzf /var/tmp/glibc2.1.3-stubs.tgz
-
- ./setup_stubs
-
+
Make sure you are running X. Open up a terminal and
su to oracle and then run the
dbassist program.
Index: openacs-4/packages/acs-core-docs/www/os-install.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/os-install.adp,v
diff -u -r1.1.2.3 -r1.1.2.4
--- openacs-4/packages/acs-core-docs/www/os-install.adp 19 Nov 2016 09:21:54 -0000 1.1.2.3
+++ openacs-4/packages/acs-core-docs/www/os-install.adp 16 Jun 2017 17:54:31 -0000 1.1.2.4
@@ -9,12 +9,9 @@
rightLink="os-security" rightLabel="Next">
-Linux Install Guides
Here's a list of some helpful documentation for various
-OS's
+ Here's a list of some helpful documentation for installing
+ OpenACS on various operating systems
+
Index: openacs-4/packages/acs-core-docs/www/os-security.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/os-security.adp,v
diff -u -r1.1.2.3 -r1.1.2.4
--- openacs-4/packages/acs-core-docs/www/os-security.adp 19 Nov 2016 09:21:54 -0000 1.1.2.3
+++ openacs-4/packages/acs-core-docs/www/os-security.adp 16 Jun 2017 17:54:31 -0000 1.1.2.4
@@ -18,7 +18,7 @@
rudiments of security, such as monitoring the state of a computer,
maintaining patch levels, and keeping backups. We recommend these
resources:
Here is how an OpenACS 5 server is laid out starting from the
Server root (ROOT):
-
Figure 11.1. Server file layout
+
Figure 11.1. Server file layout
diagram
ROOT/
bin/
@@ -65,7 +65,7 @@
To illustrate
the general structure of a package, let's see what the package
for the "notes" application should look like.
-
Figure 11.2. Package file layout
+
Figure 11.2. Package file layout
diagram
ROOT/
+-- packages/ APM Root
@@ -136,7 +136,7 @@
files are not sourced in these directories. This makes it suitable
for storing icons, css files, javascript, and other static content
which can be treated this way.
Here is how an OpenACS 5 server is laid out
starting from the Server root (ROOT):
-
Figure 11.1. Server file layout diagram
+
Figure 11.1. Server file layout diagram
ROOT/
bin/
Various executables and scripts for server maintanence.
@@ -51,7 +51,7 @@
To illustrate the general structure of a package, let's see what the
package for the "notes" application should look like.
-
Figure 11.2. Package file layout diagram
+
Figure 11.2. Package file layout diagram
ROOT/
+-- packages/ APM Root
|
@@ -124,7 +124,7 @@
directories. This makes it suitable for storing icons, css
files, javascript, and other static content which can be treated
this way.
-
Table 11.1. Package files
File Type
Its Use
Naming Convention
Package Specification File
The package specification file is an XML file generated and
+
Table 11.1. Package files
File Type
Its Use
Naming Convention
Package Specification File
The package specification file is an XML file generated and
maintained by the OpenACS Package Manager (APM). It specifies
information about the package including its parameters and its
files.
Suppose objects A, B, ...,
and F form the following hierarchy.
-
Table 11.2. Context Hierarchy Example
+
Table 11.2. Context Hierarchy Example
A
object_id=10
@@ -139,7 +139,7 @@
This can be represented in the
acs_objects table
by the following entries:
-
Table 11.3. acs_objects example data
object_id
context_id
20
10
30
10
40
20
50
20
60
30
+
Table 11.3. acs_objects example data
object_id
context_id
20
10
30
10
40
20
50
20
60
30
The first entry tells us that object 20 is the descendant of object 10, and
the third entry shows that object 40 is the descendant of object 20. By
running a CONNECT BY query,
Index: openacs-4/packages/acs-core-docs/www/psgml-for-emacs.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/psgml-for-emacs.adp,v
diff -u -r1.1.2.17 -r1.1.2.18
--- openacs-4/packages/acs-core-docs/www/psgml-for-emacs.adp 16 Jun 2017 17:19:51 -0000 1.1.2.17
+++ openacs-4/packages/acs-core-docs/www/psgml-for-emacs.adp 16 Jun 2017 17:54:32 -0000 1.1.2.18
@@ -12,7 +12,7 @@
Add PSGML commands to emacs init file
(OPTIONAL)
- If you plan to write or edit any
+ If you plan to write or edit any
documentation with emacs, install a customized emacs configuration
file with DocBook commands in the skeleton directory, so it will be
used for all new users. The file also fixes the backspace ->
Index: openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html,v
diff -u -r1.41.2.17 -r1.41.2.18
--- openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html 16 Jun 2017 17:19:51 -0000 1.41.2.17
+++ openacs-4/packages/acs-core-docs/www/psgml-for-emacs.html 16 Jun 2017 17:54:32 -0000 1.41.2.18
@@ -1,5 +1,5 @@
-
If you plan to write or edit any documentation with emacs, install a
customized emacs configuration file with DocBook commands in the skeleton
directory, so it will be used for all new users. The file also
Index: openacs-4/packages/acs-core-docs/www/release-notes.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/release-notes.adp,v
diff -u -r1.1.2.20 -r1.1.2.21
--- openacs-4/packages/acs-core-docs/www/release-notes.adp 16 Jun 2017 17:19:51 -0000 1.1.2.20
+++ openacs-4/packages/acs-core-docs/www/release-notes.adp 16 Jun 2017 17:54:32 -0000 1.1.2.21
@@ -406,16 +406,16 @@
08:32:46 gustafn Exp $)
Serving backup files and files from the CVS directories is turned off by default via the acs-kernel parameter
ExcludedFiles in section request-processor (The variable provides a string match glob list of files and is defaulted to "*/CVS/* *~")
-
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.1.2.20 -r1.1.2.21
--- openacs-4/packages/acs-core-docs/www/tutorial-database.adp 16 Jun 2017 17:19:51 -0000 1.1.2.20
+++ openacs-4/packages/acs-core-docs/www/tutorial-database.adp 16 Jun 2017 17:54:32 -0000 1.1.2.21
@@ -15,7 +15,7 @@
OpenACS docs are written by the named authors, and may be edited by
OpenACS documentation staff.
-Code the data model
We create all database objects with scripts in the myfirstpackage/sql/ directory. All database
+Code the data model
We create all database objects with scripts in the myfirstpackage/sql/ directory. All database
scripts are database-specific and are thus in either the
myfirstpackage/sql/oracle or
myfirstpackage/sql/postgresql
@@ -42,7 +42,7 @@
simplify our database creation. (More information about ACS
Objects. More information about the Content
Repository.)
-
Figure 9.2. Tutorial Data
+
Figure 9.2. Tutorial Data
Model
The top of each sql file has some standard comments, including
doc tags such as \@author which
@@ -51,7 +51,7 @@
[$OPENACS_SERVICE_NAME ~]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/sql/postgresql
[$OPENACS_SERVICE_NAME postgresql]$ emacs myfirstpackage-create.sql
Paste the text below into the file, save, and close.
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
-
Code the data model
We create all database objects with scripts in the
+
Code the data model
We create all database objects with scripts in the
myfirstpackage/sql/ directory. All
database scripts are database-specific and are thus in either
the myfirstpackage/sql/oracle or
@@ -32,13 +32,13 @@
repository functions to simplify our database creation. (More
information about ACS Objects. More information about the
Content Repository.)
-
Figure 9.2. Tutorial Data Model
The top of each sql file has some
+
Figure 9.2. Tutorial Data Model
The top of each sql file has some
standard comments, including doc tags such as
@author which will be picked up
by the API browser. The string
$Id$ will automatically be
expanded when the file is checked in to cvs.
[$OPENACS_SERVICE_NAME ~]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/sql/postgresql
-[$OPENACS_SERVICE_NAME postgresql]$ emacs myfirstpackage-create.sql
Paste the text below into the file, save, and close.
Paste the text below into the file, save, and close.
Figure 9.3. The Database Creation Script
-- creation script
--
-- @author joel@aufrecht.org
-- @cvs-id &Id:$
@@ -62,7 +62,7 @@
object. Notice the use of "mfp." This is derived from "My
First Package" and ensures that our object is unlikely to conflict
with objects from other packages.
Create a database file to drop everything if the package is uninstalled.
-- drop script
+[$OPENACS_SERVICE_NAME postgresql]$ emacs myfirstpackage-drop.sql
Figure 9.4. Database Deletion Script
-- drop script
--
-- @author joel@aufrecht.org
-- @cvs-id &Id:$
Index: openacs-4/packages/acs-core-docs/www/tutorial-debug.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-debug.adp,v
diff -u -r1.1.2.18 -r1.1.2.19
--- openacs-4/packages/acs-core-docs/www/tutorial-debug.adp 16 Jun 2017 17:19:51 -0000 1.1.2.18
+++ openacs-4/packages/acs-core-docs/www/tutorial-debug.adp 16 Jun 2017 17:54:32 -0000 1.1.2.19
@@ -15,7 +15,7 @@
OpenACS docs are written by the named authors, and may be edited by
OpenACS documentation staff.
-Debugging
+Debugging
Developer Support. The Developer
Support package adds several goodies: debug information for every
page; the ability to log comments to the page instead of the error
@@ -45,7 +45,7 @@
-Manual testing
Make a list of basic tests to make sure it works
+Manual testing
Make a list of basic tests to make sure it works
Test Num
Action
Expected Result
@@ -73,11 +73,11 @@
to delete your own note. Edit your own note. Search for a note.
OpenACS docs are written by the named authors, and may be edited by
OpenACS documentation staff.
- It seems to me that a lot of people have
+ It seems to me that a lot of people have
been asking for some guidelines on how to write automated tests.
I've done several tests by now and have found the process to be
extremely easy and useful. It's a joy to work with automated
@@ -148,7 +148,7 @@
myfirstpackage. You should see your test case. Run it and examine
the results.
-TCLWebtest tests
API testing can only test part of our package - it doesn't
+TCLWebtest tests
API testing can only test part of our package - it doesn't
test the code in our adp/tcl pairs. For this, we can use
TCLwebtest. TCLwebtest must be installed
for this test to work. This provides a library of functions that make it easy to call a page
@@ -158,7 +158,7 @@
integrating them.
-Example
Now we can add the rest of the API tests, including a test with
+Example
Now we can add the rest of the API tests, including a test with
deliberately bad data. The complete test looks like:
ad_library {
Test cases for my first package.
Index: openacs-4/packages/acs-core-docs/www/tutorial-debug.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-debug.html,v
diff -u -r1.43.2.18 -r1.43.2.19
--- openacs-4/packages/acs-core-docs/www/tutorial-debug.html 16 Jun 2017 17:19:51 -0000 1.43.2.18
+++ openacs-4/packages/acs-core-docs/www/tutorial-debug.html 16 Jun 2017 17:54:32 -0000 1.43.2.19
@@ -2,7 +2,7 @@
Debugging and Automated Testing
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
-
Debugging
Developer Support. The Developer Support package adds several goodies: debug
+
Debugging
Developer Support. The Developer Support package adds several goodies: debug
information for every page; the ability to log comments to the
page instead of the error log, and fast user switching so that you
can test pages as anonymous and as dummy users without logging
@@ -23,16 +23,16 @@
? searches backward
/ searches forward.
-
Manual testing
Make a list of basic tests to make sure it works
Test Num
Action
Expected Result
001
Browse to the index page while not logged in and
+
Manual testing
Make a list of basic tests to make sure it works
Test Num
Action
Expected Result
001
Browse to the index page while not logged in and
while one or more notes exist.
No edit or delete or add links should appear.
002
Browse to the index page while logged in. An Edit
link should appear. Click on it. Fill out the form and
click Submit.
The text added in the form should be visible on the
index page.
API-001
Invoke mfp::note::create with a specific word as the title.
Proc should return an object id.
API-002
Given an object id from API-001, invoke mfp::note::get.
Proc should return the specific word in the title.
API-003
Given the object id from API-001, invoke mfp::note::delete.
Proc should return 0 for success.
Other things to test: try to delete someone else's
note. Try to delete your own note. Edit your own note.
- Search for a note.
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
-
+
It seems to me that a lot of people have been asking for some guidelines on how to write automated tests. I've done several tests by now and have found the process to be extremely easy and useful. It's a joy to work with automated testing once you get the hang of it.
Create the directory that will contain the test
script and edit the script file. The directory location and file name are standards which are recognized by the automated testing package:
[$OPENACS_SERVICE_NAME www]$ mkdir /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/tcl/test
[$OPENACS_SERVICE_NAME www]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/tcl/test
@@ -68,7 +68,7 @@
goes inside -test_code {}. We want to implement test case API-001, "Given an object id from API-001, invoke mfp::note::get. Proc should return the specific word in the title."
set name [ad_generate_random_string]
set new_id [mfp::note::add -title $name]
- aa_true "Note add succeeded" ([info exists new_id] && $new_id ne "")
To test our simple case, we must load the test file into the system (just as with the /tcl file in the basic tutorial, since the file didn't exist when the system started, the system doesn't know about it.) To make this file take effect, go to the APM and choose "Reload changed" for "MyFirstPackage". Since we'll be changing it frequently, select "watch this file" on the next page. This will cause the system to check this file every time any page is requested, which is bad for production systems but convenient for developing. We can also add some aa_register_case flags to make it easier to run the test. The -procs flag, which indicates which procs are tested by this test case, makes it easier to find procs in your package that aren't tested at all. The -cats flag, setting categories, makes it easier to control which tests to run. The smoke test setting means that this is a basic test case that can and should be run any time you are doing any test. (a definition of "smoke test")
Once the file is loaded, go to ACS Automated Testing and click on myfirstpackage. You should see your test case. Run it and examine the results.
TCLWebtest tests
API testing can only test part of our package - it doesn't test the code in our adp/tcl pairs. For this, we can use TCLwebtest. TCLwebtest must be installed for this test to work. This provides a library of functions that make it easy to call a page through HTTP, examine the results, and drive forms. TCLwebtest's functions overlap slightly with acs-automated-testing; see the example provided for one approach on integrating them.
Example
Now we can add the rest of the API tests, including a test with deliberately bad data. The complete test looks like:
To test our simple case, we must load the test file into the system (just as with the /tcl file in the basic tutorial, since the file didn't exist when the system started, the system doesn't know about it.) To make this file take effect, go to the APM and choose "Reload changed" for "MyFirstPackage". Since we'll be changing it frequently, select "watch this file" on the next page. This will cause the system to check this file every time any page is requested, which is bad for production systems but convenient for developing. We can also add some aa_register_case flags to make it easier to run the test. The -procs flag, which indicates which procs are tested by this test case, makes it easier to find procs in your package that aren't tested at all. The -cats flag, setting categories, makes it easier to control which tests to run. The smoke test setting means that this is a basic test case that can and should be run any time you are doing any test. (a definition of "smoke test")
Once the file is loaded, go to ACS Automated Testing and click on myfirstpackage. You should see your test case. Run it and examine the results.
TCLWebtest tests
API testing can only test part of our package - it doesn't test the code in our adp/tcl pairs. For this, we can use TCLwebtest. TCLwebtest must be installed for this test to work. This provides a library of functions that make it easy to call a page through HTTP, examine the results, and drive forms. TCLwebtest's functions overlap slightly with acs-automated-testing; see the example provided for one approach on integrating them.
Example
Now we can add the rest of the API tests, including a test with deliberately bad data. The complete test looks like:
ad_library {
Test cases for my first package.
}
Index: openacs-4/packages/acs-core-docs/www/tutorial-distribute.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-distribute.adp,v
diff -u -r1.1.2.17 -r1.1.2.18
--- openacs-4/packages/acs-core-docs/www/tutorial-distribute.adp 16 Jun 2017 17:19:51 -0000 1.1.2.17
+++ openacs-4/packages/acs-core-docs/www/tutorial-distribute.adp 16 Jun 2017 17:54:32 -0000 1.1.2.18
@@ -13,7 +13,7 @@
distribution.
Browse to the package manager. Click on tutorialapp.
Click on Generate a distribution file for
this package from the filesystem.
Click on the file size (37.1KB) after the label
Distribution File: and save the
-file to /var/tmp.
To start developing new code in OpenACS, we build a new package.
+Overview
To start developing new code in OpenACS, we build a new package.
A package is a a discrete collection of web pages, Tcl code, and
database tables and procedures. A package with user interface is
called an application;
@@ -36,14 +36,14 @@
displaying a list of text notes.
Example files, which are included in the standard OpenACS 5.9.0
distribution.
-
Figure 9.1. Assumptions in this
+
Figure 9.1. Assumptions in this
section
@@ -62,7 +62,7 @@
-Use the APM to initialize a new
+Use the APM to initialize a new
package
We use the ACS Package Manager (APM) to add, remove, and upgrade
packages. It handles package meta-data, such as lists of files that
belong in the package. Each package is uniquely identified by a
@@ -102,7 +102,7 @@
packages).
-Add an Application Instance to the
+Add an Application Instance to the
Server
In order to see your work in progress, you must create a map
between the URL space of incoming requests and the package
application instance. You do this by adding the application in the
@@ -121,7 +121,7 @@
to be satisfied from the files at /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/www.
-Quick start
The remainder of the tutorial walks you through each file one at
+Quick start
The remainder of the tutorial walks you through each file one at
a time as you create the package. You can skip all this, and get a
working package, by doing the following:
cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/tutorial
Index: openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html,v
diff -u -r1.43.2.17 -r1.43.2.18
--- openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 16 Jun 2017 17:19:51 -0000 1.43.2.17
+++ openacs-4/packages/acs-core-docs/www/tutorial-newpackage.html 16 Jun 2017 17:54:32 -0000 1.43.2.18
@@ -2,7 +2,7 @@
Creating an Application Package
OpenACS docs are written by the named authors, and may be edited
by OpenACS documentation staff.
-
The intended page map
Overview
To start developing new code in OpenACS, we build a new package. A package
+
The intended page map
Overview
To start developing new code in OpenACS, we build a new package. A package
is a a discrete collection of web pages, Tcl code, and database tables and procedures.
A package with user interface is called an application;
a package which provides functions to other packages and has no direct interface, a
@@ -18,11 +18,11 @@
right now. Code that is temporary hackage is clearly marked.
In this tutorial, we will make an application package for
displaying a list of text notes.
-
We use the ACS Package Manager (APM) to add, remove, and
upgrade packages. It handles package meta-data, such as lists of
files that belong in the package. Each package is uniquely
identified by a package key. To start developing a new
@@ -55,7 +55,7 @@
/var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage.
This is the "home directory" of our new package, and all
files in the package will be within this directory. More on the structure of
- packages).
Add an Application Instance to the Server
In order to see your work in progress, you must create a
+ packages).
Add an Application Instance to the Server
In order to see your work in progress, you must create a
map between the URL space of incoming requests and the package application instance.
You do this by adding the application in the main site administration). This
creates a link between the incoming URL requests and an
@@ -66,7 +66,7 @@
in this tutorial.
Choose "My First Package" from the list and click OK (the other fields are optional).
By mounting the package, we've caused all requests to
http://yourserver.test:8000/myfirstpackage
- to be satisfied from the files at /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/www.
Quick start
The remainder of the tutorial walks you through each file one at a time as you create the package. You can skip all this, and get a working package, by doing the following:
cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/tutorial
+ to be satisfied from the files at /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/myfirstpackage/www.
Quick start
The remainder of the tutorial walks you through each file one at a time as you create the package. You can skip all this, and get a working package, by doing the following:
cd /var/lib/aolserver/$OPENACS_SERVICE_NAME/packages/acs-core-docs/www/files/tutorial
psql $OPENACS_SERVICE_NAME -f myfirstpackage-create.sql
cp note-edit.* note-delete.tcl index.* ../../../../myfirstpackage/www/
mkdir ../../../../myfirstpackage/lib
Index: openacs-4/packages/acs-core-docs/www/tutorial-pages.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-pages.adp,v
diff -u -r1.1.2.21 -r1.1.2.22
--- openacs-4/packages/acs-core-docs/www/tutorial-pages.adp 16 Jun 2017 17:19:51 -0000 1.1.2.21
+++ openacs-4/packages/acs-core-docs/www/tutorial-pages.adp 16 Jun 2017 17:54:32 -0000 1.1.2.22
@@ -15,23 +15,23 @@
OpenACS docs are written by the named authors, and may be edited by
OpenACS documentation staff.
-Install some API
As a workaround for missing content-repository functionality,
+Install some API
As a workaround for missing content-repository functionality,
copy a provided file into the directory for Tcl files:
To make this file take effect, go to the APM and choose "Reload
changed" for "MyFirstPackage".
-Page Map
Our package will have two visible pages. The first shows a list
+Page Map
Our package will have two visible pages. The first shows a list
of all objects; the second shows a single object in view or edit
mode, and can also be used to add an object. The index page will
display the list, but since we might reuse the list later,
we'll put it in a separate file and include it on the index
page.
-
Figure 9.5. Page
+
Figure 9.5. Page
Map
-Build the "Index" page
Each user-visible page in your package has, typically, three
+Build the "Index" page
Each user-visible page in your package has, typically, three
parts. The tcl file holds the
procedural logic for the page, including Tcl and
database-independent SQL code, and does things like check
Index: openacs-4/packages/acs-core-docs/www/tutorial-pages.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/tutorial-pages.html,v
diff -u -r1.44.2.18 -r1.44.2.19
--- openacs-4/packages/acs-core-docs/www/tutorial-pages.html 16 Jun 2017 17:19:51 -0000 1.44.2.18
+++ openacs-4/packages/acs-core-docs/www/tutorial-pages.html 16 Jun 2017 17:54:32 -0000 1.44.2.19
@@ -2,8 +2,8 @@
To make this file take effect, go to the APM and choose "Reload changed" for "MyFirstPackage".
Page Map
Our package will have two visible pages. The first shows a list of all objects; the second shows a single object in view or edit mode, and can also be used to add an object. The index page will display the list, but since we might reuse the list later, we'll put it in a separate file and include it on the index page.
Figure 9.5. Page Map
Build the "Index" page
Each user-visible page in your package has, typically,
+
Install some API
As a workaround for missing content-repository functionality, copy a provided file into the directory for Tcl files:
To make this file take effect, go to the APM and choose "Reload changed" for "MyFirstPackage".
Page Map
Our package will have two visible pages. The first shows a list of all objects; the second shows a single object in view or edit mode, and can also be used to add an object. The index page will display the list, but since we might reuse the list later, we'll put it in a separate file and include it on the index page.
Figure 9.5. Page Map
Build the "Index" page
Each user-visible page in your package has, typically,
three parts. The tcl file
holds the procedural logic for the page, including Tcl and
database-independent SQL code, and does things like
Index: openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.adp,v
diff -u -r1.1.2.19 -r1.1.2.20
--- openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.adp 16 Jun 2017 17:19:51 -0000 1.1.2.19
+++ openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.adp 16 Jun 2017 17:54:32 -0000 1.1.2.20
@@ -9,7 +9,7 @@
rightLink="upgrade-4.6.3-to-5" rightLabel="Next">
-Upgrading 4.5 or higher to 4.6.3
The required platform for OpenACS 4.6 is the same as 4.5, with
+Upgrading 4.5 or higher to 4.6.3
The required platform for OpenACS 4.6 is the same as 4.5, with
the exception of OpenFTS. OpenACS 4.6 and later require OpenFTS
0.3.2 for full text search on PostGreSQL. If you have OpenFTS 0.2,
you'll need to upgrade.
If upgrading from 4.4, you need to manually run
Index: openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html,v
diff -u -r1.27.2.17 -r1.27.2.18
--- openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html 16 Jun 2017 17:19:52 -0000 1.27.2.17
+++ openacs-4/packages/acs-core-docs/www/upgrade-4.5-to-4.6.html 16 Jun 2017 17:54:32 -0000 1.27.2.18
@@ -1,5 +1,5 @@
-
The required platform for OpenACS 4.6 is the same as
4.5, with the exception of OpenFTS. OpenACS 4.6 and later require OpenFTS 0.3.2 for full text search on PostGreSQL. If you have OpenFTS 0.2, you'll need to upgrade.
If upgrading from 4.4, you need to manually run acs-kernel/sql/postgres/upgrade-4.4-4.5.sql. See Bug #632
-Chosing a Method to Upgrade your
+Chosing a Method to Upgrade your
Files
OpenACS is distributed in many different ways:
as a collection of files
as one big tarball
via CVS
via automatic download from within the APM (package manager)
Upgrades work by first changing the file system (via any of the
@@ -27,7 +27,7 @@
-Methods of upgrading OpenACS files
+Methods of upgrading OpenACS files
Upgrading files for a site which is not in a CVS
@@ -56,7 +56,7 @@
version, without overriding your own local customizations.
This diagram explains the basic idea. However, the labels are
incorrect. Step 1(a) has been removed, and Step 1(b) should be
labelled Step 1.
-
Figure 5.2. Upgrading a local CVS
+
Figure 5.2. Upgrading a local CVS
repository
@@ -196,7 +196,7 @@
-Upgrading a Production Site Safely
If you are upgrading a production OpenACS site which is on a
+Upgrading a Production Site Safely
If you are upgrading a production OpenACS site which is on a
private CVS tree, this process lets you do the upgrade without
risking extended downtime or an unusable site:
Declare a freeze on new cvs updates - ie, you cannot run cvs
Index: openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html,v
diff -u -r1.27.2.18 -r1.27.2.19
--- openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html 16 Jun 2017 17:19:52 -0000 1.27.2.18
+++ openacs-4/packages/acs-core-docs/www/upgrade-openacs-files.html 16 Jun 2017 17:54:32 -0000 1.27.2.19
@@ -1,5 +1,5 @@
-
Upgrading files for a site which is not in a CVS repository. Unpack the tarball into a new directory and copy its
+
Methods of upgrading OpenACS files
Upgrading files for a site which is not in a CVS repository. Unpack the tarball into a new directory and copy its
contents on top of your working directory. Or just 'install
software', select remote repository, and upgrade your files
from there.
[root root]# su - $OPENACS_SERVICE_NAME
@@ -32,7 +32,7 @@
with the latest OpenACS version, without overriding your own
local customizations.
This diagram explains the basic idea. However, the
labels are incorrect. Step 1(a) has been removed, and Step
- 1(b) should be labelled Step 1.
Figure 5.2. Upgrading a local CVS repository
Step 0: Set up a working CVS checkout. To get your OpenACS code into your local CVS
+ 1(b) should be labelled Step 1.
Figure 5.2. Upgrading a local CVS repository
Step 0: Set up a working CVS checkout. To get your OpenACS code into your local CVS
repository, you will set up a working CVS checkout of
OpenACS. When you want to update your site, you'll
update the working CVS checkout, import those changes
@@ -97,7 +97,7 @@
[$OPENACS_SERVICE_NAME ~]$ cd /var/lib/aolserver/$OPENACS_SERVICE_NAME
[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$ cvs up -Pd
(CVS feedback)
-[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$
Upgrading a Production Site Safely
If you are upgrading a production OpenACS site which is on a private CVS tree, this process lets you do the upgrade without risking extended downtime or an unusable site:
Declare a freeze on new cvs updates - ie, you cannot run cvs update
+[$OPENACS_SERVICE_NAME $OPENACS_SERVICE_NAME]$
Upgrading a Production Site Safely
If you are upgrading a production OpenACS site which is on a private CVS tree, this process lets you do the upgrade without risking extended downtime or an unusable site:
Declare a freeze on new cvs updates - ie, you cannot run cvs update
on the production site
Make a manual backup of the production site in addition to the
automated backups
Import the new code (for example, OpenACS 5.0.4, openacs-5-0-compat versions of
Index: openacs-4/packages/acs-core-docs/www/upgrade-overview.adp
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-overview.adp,v
diff -u -r1.1.2.18 -r1.1.2.19
--- openacs-4/packages/acs-core-docs/www/upgrade-overview.adp 16 Jun 2017 17:19:52 -0000 1.1.2.18
+++ openacs-4/packages/acs-core-docs/www/upgrade-overview.adp 16 Jun 2017 17:54:32 -0000 1.1.2.19
@@ -26,11 +26,11 @@
upgrade scripts, and prompt you to restart the server. After
restarting the server again, the upgrade is complete.
-
Figure 5.1. Upgrading with the
+
Figure 5.1. Upgrading with the
APM
It's always a good idea to precede an upgrade attempt with a
snapshot backup.
-
Table 5.1. Assumptions in this
+
Table 5.1. Assumptions in this
section
Index: openacs-4/packages/acs-core-docs/www/upgrade-overview.html
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/upgrade-overview.html,v
diff -u -r1.27.2.17 -r1.27.2.18
--- openacs-4/packages/acs-core-docs/www/upgrade-overview.html 16 Jun 2017 17:19:52 -0000 1.27.2.17
+++ openacs-4/packages/acs-core-docs/www/upgrade-overview.html 16 Jun 2017 17:54:32 -0000 1.27.2.18
@@ -4,4 +4,4 @@
or better, you should always be able to upgrade all of your core
packages automatically. If you haven't changed anything, no
manual intervention should be required. If you are running
- OpenACS prior to 4.5, upgrading will require manual effort.
If all of these conditions are true:
Your OpenACS Core is 5.0.0 or later
You do not keep your OpenACS site in a local CVS repository
You do not have any custom code
then you can upgrade automatically using the automated installer in the OpenACS Package Manager (APM), and you can probably skip the rest of this chapter. To upgrade directly from the OpenACS repository using the APM:
Click install or upgrade under "Install from OpenACS Repository" and select the packages to install or upgrade.
The APM will download the requested packages from OpenACS.org, install the files on your hard drive, run any appropriate database upgrade scripts, and prompt you to restart the server. After restarting the server again, the upgrade is complete.
Figure 5.1. Upgrading with the APM
It's always a good idea to precede an upgrade attempt with a snapshot backup.
+ OpenACS prior to 4.5, upgrading will require manual effort.
If all of these conditions are true:
Your OpenACS Core is 5.0.0 or later
You do not keep your OpenACS site in a local CVS repository
You do not have any custom code
then you can upgrade automatically using the automated installer in the OpenACS Package Manager (APM), and you can probably skip the rest of this chapter. To upgrade directly from the OpenACS repository using the APM:
Click install or upgrade under "Install from OpenACS Repository" and select the packages to install or upgrade.
The APM will download the requested packages from OpenACS.org, install the files on your hard drive, run any appropriate database upgrade scripts, and prompt you to restart the server. After restarting the server again, the upgrade is complete.
Figure 5.1. Upgrading with the APM
It's always a good idea to precede an upgrade attempt with a snapshot backup.
Starting with OpenACS 5.0 and the introduction of acs-lang, we
recommend retrieving date/time information from the database in
ANSI format and then using lc_time_fmt to format it for display.
-
Example 12.1. Getting datetime from
+
Example 12.1. Getting datetime from
the database ANSI-style
Starting with OpenACS 5.0 and the introduction of acs-lang,
we recommend retrieving date/time information from the database in
- ANSI format and then using lc_time_fmt to format it for display.
Example 12.1. Getting datetime from the database ANSI-style
db_multirow -extend { mydate_pretty } {
+ ANSI format and then using lc_time_fmt to format it for display.
Example 12.1. Getting datetime from the database ANSI-style
db_multirow -extend { mydate_pretty } {
select to_char(mydate, 'YYYY-MM-DD HH24:MI:SS') as mydate_ansi,
...
...
Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/credits.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/credits.xml,v
diff -u -r1.12.14.2 -r1.12.14.3
--- openacs-4/packages/acs-core-docs/www/xml/install-guide/credits.xml 3 Oct 2016 09:17:51 -0000 1.12.14.2
+++ openacs-4/packages/acs-core-docs/www/xml/install-guide/credits.xml 16 Jun 2017 17:54:32 -0000 1.12.14.3
@@ -113,44 +113,11 @@
Linux Install Guides
- Here's a list of some helpful documentation for various OS's
+ Here's a list of some helpful documentation for installing
+ OpenACS on various operating systems
-
-
- Painless Debian
- GNU/Linux by Stephen van Egmond
-
-
-
-
- Official
- Debian Guide
-
-
-
-
-
- RedHat
-
-
-
-
-
- Mandrake
-
-
-
-
-
- SuSE
-
-
-
-
@@ -174,16 +141,16 @@
- Jon
+ Jon
Griffin's notes
- Linux Administrators
+ Linux Administrators
Security GuideInstallation
+ url="http://www.linuxsecurity.com/content/view/110249/">Installation
of a Secure Webserver
Index: openacs-4/packages/acs-core-docs/www/xml/install-guide/oracle.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/install-guide/oracle.xml,v
diff -u -r1.21.14.4 -r1.21.14.5
--- openacs-4/packages/acs-core-docs/www/xml/install-guide/oracle.xml 16 Jun 2017 17:19:52 -0000 1.21.14.4
+++ openacs-4/packages/acs-core-docs/www/xml/install-guide/oracle.xml 16 Jun 2017 17:54:32 -0000 1.21.14.5
@@ -63,9 +63,8 @@
- If you don't have an account at OTN
- get one: you can download the Oracle software from the
+ You can download the Oracle software from the
Oracle Downloads page.
@@ -136,7 +135,7 @@
setup, you should thoroughly read Cary Millsap's Configuring
Oracle Server for VLDB and the Optimal
+ url="https://en.wikipedia.org/wiki/Optimal_Flexible_Architecture">Optimal
Flexible Architecture standard.
@@ -1153,26 +1152,6 @@
Pentium II with 128 MB of RAM.
-
- RedHat 7.3 and 8.0 users: Before running dbassist, do the following.
-
-
- Download the glibc
- patch from Oracle Technet into /var/tmp.
-
-
- cd $ORACLE_HOME
-
-
- tar xzf /var/tmp/glibc2.1.3-stubs.tgz
-
-
- ./setup_stubs
-
-
-
-
Make sure you are running X. Open up a terminal and