Index: openacs-4/packages/wp-slim/www/developer-doc.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/wp-slim/www/developer-doc.html,v diff -u -r1.1 -r1.2 --- openacs-4/packages/wp-slim/www/developer-doc.html 14 Nov 2001 00:30:07 -0000 1.1 +++ openacs-4/packages/wp-slim/www/developer-doc.html 18 Oct 2017 07:26:27 -0000 1.2 @@ -4136,7 +4136,7 @@ @list l10:level1 lfo146 {mso-level-number-format:bullet; mso-level-numbering:continue; - mso-level-text:�; + mso-level-text:; mso-level-tab-stop:none; mso-level-number-position:left; mso-level-legacy:yes; @@ -4149,7 +4149,7 @@ @list l10:level1 lfo147 {mso-level-number-format:bullet; mso-level-numbering:continue; - mso-level-text:�; + mso-level-text:; mso-level-tab-stop:none; mso-level-number-position:left; mso-level-legacy:yes; @@ -4162,7 +4162,7 @@ @list l10:level1 lfo148 {mso-level-number-format:bullet; mso-level-numbering:continue; - mso-level-text:�; + mso-level-text:; mso-level-tab-stop:none; mso-level-number-position:left; mso-level-legacy:yes; @@ -4297,7 +4297,7 @@ l62 level1 lfo113;tab-stops:list 54.0pt'>2. Data model files, which create the data structures that will be used to store the -information�������
+informationa../packages/
-������� � +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>à Services packages
-������� � +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>à Application packages
-������� � +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>à /wp-slim/
-������������������� � +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>à wp-slim.info
-������������������� � +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>à /sql/
-������������������������������� � +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>à /oracle/
-������������������������������������������� � +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>à data model files
-������������������������������� � +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>à /postgresql/
-������������������������������������������� � +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>à data model files
-������������������� � +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>à /www/
-������������������������������� � +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>à /pics/
-������������������������������������������� � +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>à picture files associated with the package
-������������������������������� � Query +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>à Query files
� +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>à TCL flies
� ADP files
+Wingdings'>à ADP files
����������� OpenACS +
OpenACS architecture involves a number of layers that enables a fairly sophisticated package to operate:
� +style='font-family:Symbol'>· Independent of the type of database used
� +style='font-family:Symbol'>· Allows for the use of permissions and grouping of members
� +style='font-family:Symbol'>· Separation of packages so that the user may choose what functions they may want
@@ -4464,17 +4464,17 @@� +style='font-family:Symbol'>· AOL Server
� +style='font-family:Symbol'>· Oracle or PostgreSQL RDBMS
� +style='font-family:Symbol'>· OpenACS installation
� +style='font-family:Symbol'>· SQL
� +style='font-family:Symbol'>· XQL
� +style='font-family:Symbol'>· TCL
� +style='font-family:Symbol'>· ADP
� +style='font-family:Symbol'>· HTML
����������� OpenACS v 4.2 is based on a +style='mso-tab-count:1'> OpenACS v 4.2 is based on a PostgreSQL or Oracle 8i RDBMS, connects to the Internet via an AOLServer TCL -API (which is capable of handling huge number of requests easily � important +API (which is capable of handling huge number of requests easily important for scalable systems).
In effect for @@ -4628,34 +4628,34 @@ insertions and retrievals from the web pages without first having defined some tables.
-����������� What +
What happens is that tables are created to store info, set variables within these tables to organise the information.
-����������� Information +
Information is stored in tables when using relational databases. These tables are created to suit particular purposes and each application will have a different table structure to store the information. Each table is designed to store different -information. These �variables� are made of different attributes, that includes:
+information. These variables are made of different attributes, that includes:� +style='font-family:Symbol'>· Varchar: which are string of characters
� +style='font-family:Symbol'>· Integer: Natural numbers
� +style='font-family:Symbol'>· Float: Real Numbers
� +style='font-family:Symbol'>· Boolean: True or False tokens
� +style='font-family:Wingdings'>§ Presentation ID
� +style='font-family:Wingdings'>§ Presentation Title
� +style='font-family:Wingdings'>§ Page Signature
� +style='font-family:Wingdings'>§ Copyright Notice
� +style='font-family:Wingdings'>§ Style
� +style='font-family:Wingdings'>§ Audience
� +style='font-family:Wingdings'>§ Background
� +style='font-family:Symbol'>· Slide: each presentation has a number of slides associated to it
@@ -4736,32 +4736,32 @@� +style='font-family:Wingdings'>§ Slide ID
� +style='font-family:Wingdings'>§ Slide Title
� +style='font-family:Wingdings'>§ Text Information
� +style='font-family:Wingdings'>§ Bullet Point Information
� +style='font-family:Wingdings'>§ Images
� +style='font-family:Symbol'>· Attachments: each slide is allowed to have a number of images associated to it
@@ -4773,15 +4773,15 @@� +style='font-family:Wingdings'>§ The file name of the image
� +style='font-family:Wingdings'>§ Where in the slide the picture will be displayed
-����������� There +
There are also a number of functions that are created when creating the data structure of the package. These functions are what allow the application to insert, modify and remove pieces of information into the database. Without @@ -4795,62 +4795,62 @@
� +style='font-family:Wingdings'>§ Presentations:
� +style='font-family:Symbol'>· Create new presentation
� +style='font-family:Symbol'>· Modify existing presentation
� +style='font-family:Symbol'>· Delete existing presentation
� +style='font-family:Wingdings'>§ Slides:
� +style='font-family:Symbol'>· Create new slide
� +style='font-family:Symbol'>· Modify existing slide
� +style='font-family:Symbol'>· Delete existing slide
� +style='font-family:Wingdings'>§ Attachments:
� +style='font-family:Symbol'>· Create new attachment
� +style='font-family:Symbol'>· Modify existing attachment
� +style='font-family:Symbol'>· Delete existing attachment
����������� The +
The way the presentation is setup is shown below in Figure 5.2. With the box numbered 1, we have the Wimpy Point package and its associated presentations. Each of these presentations has associated with it a number of slides (box 2). @@ -5354,7 +5354,7 @@
����������� The +
The creation of a data model compatible with the PostgreSQL RDBMS formed a major part of the thesis project. The previous version of Wimpy Point, version 4.2, utilised the Oracle RDBMS, however, the data model for version 4.2 was not @@ -5368,27 +5368,27 @@ style='mso-bidi-font-weight:normal'>� /sql/
+Wingdings'>à /sql/� /oracle/
+Wingdings'>à /oracle/� +style='font-family:Symbol'>· for the files creating the Oracle database
� +style='font-family:Wingdings'>è /postgresql/
� +style='font-family:Symbol'>· for the files creating the PostgreSQL database
This structure @@ -5418,106 +5418,106 @@
� +style='font-family:Symbol'>· Use of functions and procedures in Oracle whereas PostgreSQL uses on functions
� +style='font-family:Symbol'>· Syntactical differences
� +style='font-family:Symbol'>· Need to have all commands within inline statement in PostgreSQL, whereas in Oracle the commands can be called from outside of functions
� +style='font-family:Symbol'>· Different variable types: such as text � +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>à varchar, blob � +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>à record
� +style='font-family:Symbol'>· Different inputs required to create elements of the -table.�
+table.� +Symbol'>· PostgreSQL Tables and other Attributes
-����������� Within +
Within the Wimpy Point PostgreSQL the following tables were created to store information:
�
+style='font-family:Symbol;color:black'>·
wp_styles: stores the different
styles available for backgrounds, font colours and sizes
�
+style='font-family:Symbol;color:black'>·
cr_wp_presentations: stores
the information related to a presentation such as Presentation name, background
and audience
�
+style='font-family:Symbol;color:black'>·
cr_wp_slides: stores the
information of a slide
�
+style='font-family:Symbol;color:black'>·
cr_wp_presentations_aud:
stores the audience group for the presentation
�
+style='font-family:Symbol;color:black'>·
cr_wp_presentations_back:
stores the background of a presentation
�
+style='font-family:Symbol;color:black'>·
cr_wp_slides_preamble: stores
the preamble information of a slide
�
+style='font-family:Symbol;color:black'>·
cr_wp_slides_postamble:
stores the post-amble information for the slide
�
+style='font-family:Symbol;color:black'>·
cr_wp_slides_bullet_items:
stores the bullet item information for the slide
�
+style='font-family:Symbol;color:black'>·
cr_wp_attachments: stores the
file names that are being loaded up
����� presentation_id������������� integer
����������������������������������������� constraint
+mso-fareast-font-family:"MS Mincho"'> constraint
cr_wp_presentations_id_fk
������������������������������� ��������������������� references
+yes"> references
cr_revisions
������������������������������� ��������������������� constraint
+yes"> constraint
cr_wp_presentations_pk
������������������������������� ��������������������� primary
+yes"> primary
key,
����� --
+mso-fareast-font-family:"MS Mincho"'> --
The title of the presentations, as displayed to the user.
����� pres_title���������������������� varchar(400)
����������������������������� ����������������������� constraint
+yes"> constraint
cr_wp_presentations_title_nn
��������������� � ����������������������� not
+yes"> not
null,
����� --
+mso-fareast-font-family:"MS Mincho"'> --
A signature on the bottom.
����� page_signature������������� varchar(200),
����� --
+mso-fareast-font-family:"MS Mincho"'> --
The copyright notice displayed on all pages.
����� copyright_notice����������������������� varchar(400),
-- Style information.
����� style���������������������������� integer
������������������������������� ��������� constraint
+yes"> constraint
cr_wp_style_fk
����������������������������������������� references
+mso-fareast-font-family:"MS Mincho"'> references
wp_styles on delete set null,
����� public_p����������� ������� ��������������� boolean
����������������������������������������� constraint
+mso-fareast-font-family:"MS Mincho"'> constraint
cr_wp_public_p_ck
����������������������������������������� check(public_p
+mso-fareast-font-family:"MS Mincho"'> check(public_p
in ('t','f')),
����� --
+mso-fareast-font-family:"MS Mincho"'> --
Show last-modified date for slide?
����� show_modified_p�������� � boolean
����������������������������������������� constraint
+mso-fareast-font-family:"MS Mincho"'> constraint
cr_wp_show_p_ck
����������������������������������������� check(show_modified_p
+mso-fareast-font-family:"MS Mincho"'> check(show_modified_p
in ('t','f'))
This is similar to the way tables are created in Oracle.
These tables -have a number of types associated to it. These �types� represent single +have a number of types associated to it. These types represent single instances of the table. That is they form rows of the table. The following types are created for Wimpy Point:
� +style='font-family:Symbol'>· cr_wp_presentation_aud
� +style='font-family:Symbol'>· cr_wp_presentation_back
� +style='font-family:Symbol'>· cr_wp_presentation
� +style='font-family:Symbol'>· cr_wp_slide_preamble
� +style='font-family:Symbol'>· cr_wp_slide_postamble
� +style='font-family:Symbol'>· cr_wp_slide_bullet_items
� +style='font-family:Symbol'>· cr_wp_slide
The code in @@ -5743,26 +5743,26 @@
content_type.create_type (
���
- content_type� =>
+ mso-fareast-font-family:"MS Mincho"'>
+ content_type =>
'cr_wp_presentation',
���
- pretty_name�� => 'WimpyPoint
+ mso-fareast-font-family:"MS Mincho"'>
+ pretty_name => 'WimpyPoint
Presentation',
���
+ mso-fareast-font-family:"MS Mincho"'>
pretty_plural => 'WimpyPoint Presentations',
���
- table_name��� =>
+ mso-fareast-font-family:"MS Mincho"'>
+ table_name =>
'cr_wp_presentations',
���
- id_column���� =>
+ mso-fareast-font-family:"MS Mincho"'>
+ id_column =>
'presentation_id'
� );
PERFORM content_type__create_type (
����������������������� ''cr_wp_presentation'',
����������������������� ''content_revision'',
����������������������� ''Wimpy
+ mso-fareast-font-family:"MS Mincho"'> ''Wimpy
Point Presentation'',
����������������������� ''WimpyPoint
+ mso-fareast-font-family:"MS Mincho"'> ''WimpyPoint
Presentations'',
����������������������� ''cr_wp_presentations'',
����������������������� ''presentation_id'',
����������������������� null
����������� );�����������
�����������
Further to @@ -5839,7 +5839,7 @@
�·
cr_wp_presentation
�·
cr_wp_slide
�·
cr_wp_presentation_aud
�·
cr_wp_presentation_back
�·
cr_wp_slide_preamble
�·
cr_wp_slide_postamble
�·
cr_wp_slide_bullet_items
�·
cr_wp_attachment
�
+ mso-fareast-font-family:"MS Mincho"'>
attr_id := content_type.create_attribute (
����
- content_type�� =>
+ mso-fareast-font-family:"MS Mincho"'>
+ content_type =>
'cr_wp_presentation',
����
+ mso-fareast-font-family:"MS Mincho"'>
attribute_name => 'pres_title',
����
- datatype������ => 'text',
����
- pretty_name��� =>
+ mso-fareast-font-family:"MS Mincho"'>
+ pretty_name =>
'Presentation Title',
����
- pretty_plural� => 'Presentation
+ mso-fareast-font-family:"MS Mincho"'>
+ pretty_plural => 'Presentation
Titles',
����
- column_spec��� =>
+ mso-fareast-font-family:"MS Mincho"'>
+ column_spec =>
'varchar2(400)'
�
+ mso-fareast-font-family:"MS Mincho"'>
);
����������� attr_id
+ mso-fareast-font-family:"MS Mincho"'> attr_id
:= content_type__create_attribute (
���
- ������������������� ''cr_wp_presentation'',
���
- ������������������� ''pres_title'',�������������������
���
- ������������������� ''text'',���������������������������
���
- ������������������� ''Presentation
- Title'',�������
���
- ������������������� ''Presentation
- Titles'',�����
���
- ������������������� null,����������������� �
��� ������������������� null,����������������� �
���
- ������������������� ''text''
�
- ��������� );
����������� Each +
Each of these different tables, types and attributes serve a purpose of storing relevant information that makes up a Wimpy Point presentation.
@@ -6146,23 +6146,23 @@ -����������� Every +
Every database has a limited usefulness unless there exists a means of inserting, modifying and retrieving information from it. Both Oracle and PostgreSQL Relational Database Management Systems use functions and procedures, in -Oracle�s case, to perform these actions to the database. Despite this there is +Oracles case, to perform these actions to the database. Despite this there is a huge amount of differences in the way both systems perform the actions to the database. These differences include such items as:
� +style='font-family:Symbol'>· Syntactical differences, an example of which in the devclaration of variables
� +style='font-family:Symbol'>· Calling of functions
A good example
@@ -6178,124 +6178,124 @@
mso-fareast-font-family:"MS Mincho"'>as
�
+mso-fareast-font-family:"MS Mincho"'>
function new (
���
-creation_date������ in
+mso-fareast-font-family:"MS Mincho"'>
+creation_date in
acs_objects.creation_date%TYPE
����������������������������� default
+mso-fareast-font-family:"MS Mincho"'> default
sysdate,
���
-creation_user������ in
+mso-fareast-font-family:"MS Mincho"'>
+creation_user in
acs_objects.creation_user%TYPE
����������������������������� default
+mso-fareast-font-family:"MS Mincho"'> default
null,
���
-creation_ip��������� in
+mso-fareast-font-family:"MS Mincho"'>
+creation_ip in
acs_objects.creation_ip%TYPE default null,
���
-pres_title��������� �� in cr_wp_presentations.pres_title%TYPE,
���
-page_signature���� ���������� in
+mso-fareast-font-family:"MS Mincho"'>
+page_signature in
cr_wp_presentations.page_signature%TYPE,
���
-copyright_notice��� ��������� in
+mso-fareast-font-family:"MS Mincho"'>
+copyright_notice in
cr_wp_presentations.copyright_notice%TYPE,
���
-style�������������� ��� in cr_wp_presentations.style%TYPE default
+mso-fareast-font-family:"MS Mincho"'>
+style in cr_wp_presentations.style%TYPE default
-1,
���
-public_p���� �������� in cr_wp_presentations.public_p%TYPE,
���
-show_modified_p� ���������� in
+mso-fareast-font-family:"MS Mincho"'>
+show_modified_p in
cr_wp_presentations.show_modified_p%TYPE default 'f',
���
-audience�����������
+audience in varchar2,
���
-background��������� ���������� in varchar2
� )
+mso-fareast-font-family:"MS Mincho"'> )
return cr_items.item_id%TYPE
�
+mso-fareast-font-family:"MS Mincho"'>
is
���
-v_item_id������������������������ cr_items.item_id%TYPE;
���
-v_audience_item_id��������� cr_items.item_id%TYPE;
���
-v_background_item_id����� cr_items.item_id%TYPE;
���
-v_revision_id������������������� cr_revisions.revision_id%TYPE;
���
-v_audience_revision_id���� cr_revisions.revision_id%TYPE;
���
-v_background_revision_id� cr_revisions.revision_id%TYPE;
���
-v_max_id������������������������ integer;
���
-v_name�������������������������� cr_wp_presentations.pres_title%TYPE;
�
+mso-fareast-font-family:"MS Mincho"'>
begin
����������������������������� �