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 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/wp-slim/www/developer-doc.html 14 Nov 2001 00:30:07 -0000 1.1 @@ -0,0 +1,9772 @@ +<html xmlns:v="urn:schemas-microsoft-com:vml" +xmlns:o="urn:schemas-microsoft-com:office:office" +xmlns:w="urn:schemas-microsoft-com:office:word" +xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" +xmlns="http://www.w3.org/TR/REC-html40"> + +<head> +<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> +<meta name=ProgId content=Word.Document> +<meta name=Generator content="Microsoft Word 9"> +<meta name=Originator content="Microsoft Word 9"> +<link rel=File-List href="./dev-doc_files/filelist.xml"> +<link rel=Edit-Time-Data href="./dev-doc_files/editdata.mso"> +<!--[if !mso]> +<style> +v\:* {behavior:url(#default#VML);} +o\:* {behavior:url(#default#VML);} +w\:* {behavior:url(#default#VML);} +.shape {behavior:url(#default#VML);} +</style> +<![endif]--> +<title>Developer Documentation</title> +<!--[if gte mso 9]><xml> + <o:DocumentProperties> + <o:Author>Jack Purswani</o:Author> + <o:Keywords>database openacs query file presentation </o:Keywords> + <o:Template>Professional Report.dot</o:Template> + <o:LastAuthor>Jack Purswani</o:LastAuthor> + <o:Revision>2</o:Revision> + <o:TotalTime>4</o:TotalTime> + <o:LastPrinted>2001-10-30T07:11:00Z</o:LastPrinted> + <o:Created>2001-10-30T15:58:00Z</o:Created> + <o:LastSaved>2001-10-30T15:58:00Z</o:LastSaved> + <o:Pages>67</o:Pages> + <o:Words>7439</o:Words> + <o:Characters>42406</o:Characters> + <o:Company> </o:Company> + <o:Bytes>69632</o:Bytes> + <o:Lines>353</o:Lines> + <o:Paragraphs>84</o:Paragraphs> + <o:CharactersWithSpaces>52077</o:CharactersWithSpaces> + <o:Version>9.2720</o:Version> + </o:DocumentProperties> + <o:CustomDocumentProperties> + <o:UseDefaultLanguage dt:dt="boolean">1</o:UseDefaultLanguage> + <o:Version dt:dt="float">99022200</o:Version> + <o:LCID dt:dt="float">1033</o:LCID> + </o:CustomDocumentProperties> +</xml><![endif]--><!--[if gte mso 9]><xml> + <w:WordDocument> + <w:ActiveWritingStyle Lang="EN-US" VendorID="8" DLLVersion="513" NLCheck="0">2</w:ActiveWritingStyle> + <w:AttachedTemplate + HRef="C:\Program Files\Microsoft Office\Templates\1033\Professional Report.dot"></w:AttachedTemplate> + <w:DrawingGridHorizontalSpacing>9.35 pt</w:DrawingGridHorizontalSpacing> + <w:DrawingGridVerticalSpacing>9.35 pt</w:DrawingGridVerticalSpacing> + <w:UseMarginsForDrawingGridOrigin/> + <w:DrawingGridHorizontalOrigin>84.95 pt</w:DrawingGridHorizontalOrigin> + <w:DrawingGridVerticalOrigin>99.35 pt</w:DrawingGridVerticalOrigin> + <w:Compatibility> + <w:FootnoteLayoutLikeWW8/> + <w:ShapeLayoutLikeWW8/> + <w:AlignTablesRowByRow/> + <w:ForgetLastTabAlignment/> + <w:LayoutRawTableWidth/> + <w:LayoutTableRowsApart/> + </w:Compatibility> + </w:WordDocument> +</xml><![endif]--> +<style> +<!-- + /* Font Definitions */ +@font-face + {font-family:Helv; + panose-1:0 0 0 0 0 0 0 0 0 0; + mso-font-charset:0; + mso-generic-font-family:swiss; + mso-font-format:other; + mso-font-pitch:variable; + mso-font-signature:3 0 0 0 1 0;} +@font-face + {font-family:Wingdings; + panose-1:5 0 0 0 0 0 0 0 0 0; + mso-font-charset:2; + mso-generic-font-family:auto; + mso-font-pitch:variable; + mso-font-signature:0 268435456 0 0 -2147483648 0;} +@font-face + {font-family:"MS Mincho"; + panose-1:0 0 0 0 0 0 0 0 0 0; + mso-font-alt:"\FF2D\FF33 \660E\671D"; + mso-font-charset:128; + mso-generic-font-family:roman; + mso-font-format:other; + mso-font-pitch:fixed; + mso-font-signature:1 134676480 16 0 131072 0;} +@font-face + {font-family:"Arial Black"; + panose-1:2 11 10 4 2 1 2 2 2 4; + mso-font-charset:0; + mso-generic-font-family:swiss; + mso-font-pitch:variable; + mso-font-signature:647 0 0 0 159 0;} +@font-face + {font-family:"Arial Unicode MS"; + mso-font-alt:Tahoma; + mso-font-charset:128; + mso-generic-font-family:swiss; + mso-font-pitch:variable; + mso-font-signature:16792199 151977984 16 0 4129023 0;} +@font-face + {font-family:"Arial Narrow"; + panose-1:2 11 5 6 2 2 2 3 2 4; + mso-font-charset:0; + mso-generic-font-family:swiss; + mso-font-pitch:variable; + mso-font-signature:647 0 0 0 159 0;} +@font-face + {font-family:"\@MS Mincho"; + panose-1:0 0 0 0 0 0 0 0 0 0; + mso-font-charset:128; + mso-generic-font-family:roman; + mso-font-format:other; + mso-font-pitch:fixed; + mso-font-signature:1 134676480 16 0 131072 0;} +@font-face + {font-family:"\@Arial Unicode MS"; + mso-font-charset:128; + mso-generic-font-family:swiss; + mso-font-pitch:variable; + mso-font-signature:16792199 151977984 16 0 4129023 0;} + /* Style Definitions */ +p.MsoNormal, li.MsoNormal, div.MsoNormal + {mso-style-parent:""; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +h1 + {mso-style-parent:"Heading Base"; + mso-style-next:"Body Text"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:6.0pt; + line-height:12.0pt; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + mso-outline-level:1; + background:black; + mso-shading:windowtext; + mso-pattern:solid auto; + border:none; + mso-border-top-alt:solid white 6.0pt; + mso-border-left-alt:solid white .75pt; + mso-border-bottom-alt:solid white .75pt; + padding:0cm; + mso-padding-alt:3.0pt 0cm 3.0pt 3.0pt; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:"Arial Black"; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + color:white; + letter-spacing:-.5pt; + mso-font-kerning:10.0pt; + font-weight:normal;} +h2 + {mso-style-parent:"Heading Base"; + mso-style-next:"Body Text"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:0cm; + line-height:12.0pt; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + mso-outline-level:2; + font-size:11.0pt; + mso-bidi-font-size:10.0pt; + font-family:"Arial Black"; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.75pt; + mso-font-kerning:14.0pt; + font-weight:normal;} +h3 + {mso-style-parent:"Heading Base"; + mso-style-next:"Body Text"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:54.0pt; + line-height:12.0pt; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + mso-outline-level:3; + font-size:10.0pt; + font-family:"Arial Black"; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.5pt; + mso-font-kerning:14.0pt; + font-weight:normal;} +h4 + {mso-style-parent:"Heading Base"; + mso-style-next:"Body Text"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:54.0pt; + line-height:12.0pt; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + mso-outline-level:4; + font-size:11.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.2pt; + mso-font-kerning:14.0pt; + font-weight:normal;} +h5 + {mso-style-parent:"Heading Base"; + mso-style-next:"Body Text"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:72.0pt; + margin-bottom:.0001pt; + line-height:12.0pt; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + mso-outline-level:5; + font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.2pt; + mso-font-kerning:14.0pt; + font-weight:normal;} +h6 + {mso-style-parent:"Heading Base"; + mso-style-next:"Body Text"; + margin-top:7.0pt; + margin-right:0cm; + margin-bottom:0cm; + margin-left:72.0pt; + margin-bottom:.0001pt; + line-height:11.0pt; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + mso-outline-level:6; + font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.2pt; + mso-font-kerning:14.0pt; + font-weight:normal; + font-style:italic; + mso-bidi-font-style:normal;} +p.MsoHeading7, li.MsoHeading7, div.MsoHeading7 + {mso-style-parent:"Heading Base"; + mso-style-next:"Body Text"; + margin-top:7.0pt; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + line-height:11.0pt; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + mso-outline-level:7; + font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.2pt; + mso-font-kerning:14.0pt;} +p.MsoHeading8, li.MsoHeading8, div.MsoHeading8 + {mso-style-parent:"Heading Base"; + mso-style-next:"Body Text"; + margin-top:7.0pt; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + line-height:11.0pt; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + mso-outline-level:8; + font-size:9.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.2pt; + mso-font-kerning:14.0pt; + font-style:italic; + mso-bidi-font-style:normal;} +p.MsoHeading9, li.MsoHeading9, div.MsoHeading9 + {mso-style-parent:"Heading Base"; + mso-style-next:"Body Text"; + margin-top:7.0pt; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + line-height:11.0pt; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + mso-outline-level:9; + font-size:9.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.2pt; + mso-font-kerning:14.0pt;} +p.MsoIndex1, li.MsoIndex1, div.MsoIndex1 + {mso-style-update:auto; + mso-style-parent:"Index Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:18.0pt; + margin-bottom:.0001pt; + text-indent:-18.0pt; + line-height:12.0pt; + mso-pagination:widow-orphan; + font-size:9.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoIndex2, li.MsoIndex2, div.MsoIndex2 + {mso-style-update:auto; + mso-style-parent:"Index Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:36.0pt; + margin-bottom:.0001pt; + text-indent:-18.0pt; + mso-pagination:widow-orphan; + font-size:9.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoIndex3, li.MsoIndex3, div.MsoIndex3 + {mso-style-update:auto; + mso-style-parent:"Index Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + text-indent:-18.0pt; + mso-pagination:widow-orphan; + font-size:9.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoIndex4, li.MsoIndex4, div.MsoIndex4 + {mso-style-update:auto; + mso-style-parent:"Index Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:72.0pt; + margin-bottom:.0001pt; + text-indent:-18.0pt; + mso-pagination:widow-orphan; + font-size:9.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoIndex5, li.MsoIndex5, div.MsoIndex5 + {mso-style-update:auto; + mso-style-parent:"Index Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:90.0pt; + margin-bottom:.0001pt; + text-indent:-18.0pt; + mso-pagination:widow-orphan; + font-size:9.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoToc1, li.MsoToc1, div.MsoToc1 + {mso-style-update:auto; + mso-style-parent:"TOC Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:0cm; + mso-pagination:widow-orphan; + tab-stops:right dotted 324.0pt; + font-size:12.0pt; + mso-bidi-font-size:42.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.2pt;} +p.MsoToc2, li.MsoToc2, div.MsoToc2 + {mso-style-update:auto; + mso-style-parent:"TOC Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:18.0pt; + line-height:12.0pt; + mso-pagination:widow-orphan; + tab-stops:right dotted 324.0pt; + font-size:10.0pt; + mso-bidi-font-size:20.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoToc3, li.MsoToc3, div.MsoToc3 + {mso-style-update:auto; + mso-style-parent:"TOC Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:18.0pt; + line-height:12.0pt; + mso-pagination:widow-orphan; + tab-stops:right dotted 324.0pt; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoToc4, li.MsoToc4, div.MsoToc4 + {mso-style-update:auto; + mso-style-parent:"TOC Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:18.0pt; + line-height:12.0pt; + mso-pagination:widow-orphan; + tab-stops:right dotted 324.0pt; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoToc5, li.MsoToc5, div.MsoToc5 + {mso-style-update:auto; + mso-style-parent:"TOC Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:18.0pt; + line-height:12.0pt; + mso-pagination:widow-orphan; + tab-stops:right dotted 324.0pt; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoToc6, li.MsoToc6, div.MsoToc6 + {mso-style-update:auto; + mso-style-next:Normal; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:60.0pt; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoToc7, li.MsoToc7, div.MsoToc7 + {mso-style-update:auto; + mso-style-next:Normal; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:72.0pt; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoToc8, li.MsoToc8, div.MsoToc8 + {mso-style-update:auto; + mso-style-next:Normal; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:84.0pt; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoToc9, li.MsoToc9, div.MsoToc9 + {mso-style-update:auto; + mso-style-next:Normal; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:96.0pt; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoNormalIndent, li.MsoNormalIndent, div.MsoNormalIndent + {margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:72.0pt; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText + {mso-style-parent:"Footnote Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + line-height:10.0pt; + mso-pagination:widow-orphan lines-together; + font-size:8.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoCommentText, li.MsoCommentText, div.MsoCommentText + {mso-style-parent:"Footnote Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + line-height:10.0pt; + mso-pagination:widow-orphan lines-together; + font-size:8.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoHeader, li.MsoHeader, div.MsoHeader + {mso-style-parent:"Header Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + line-height:9.5pt; + mso-pagination:widow-orphan lines-together; + tab-stops:center 216.0pt right 432.0pt; + font-size:7.5pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + text-transform:uppercase; + letter-spacing:-.25pt;} +p.MsoFooter, li.MsoFooter, div.MsoFooter + {mso-style-parent:"Header Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + line-height:9.5pt; + mso-pagination:widow-orphan lines-together; + tab-stops:center 216.0pt right 432.0pt; + font-size:7.5pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + text-transform:uppercase; + letter-spacing:-.25pt;} +p.MsoIndexHeading, li.MsoIndexHeading, div.MsoIndexHeading + {mso-style-parent:"Heading Base"; + mso-style-next:"Index 1"; + margin:0cm; + margin-bottom:.0001pt; + line-height:24.0pt; + mso-pagination:widow-orphan; + page-break-after:avoid; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:"Arial Black"; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoCaption, li.MsoCaption, div.MsoCaption + {mso-style-parent:Picture; + mso-style-next:"Body Text"; + margin-top:3.0pt; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:96.0pt; + text-indent:-6.0pt; + line-height:11.0pt; + mso-pagination:widow-orphan; + page-break-after:avoid; + mso-list:l10 level1 lfo1; + font-size:9.0pt; + mso-bidi-font-size:10.0pt; + font-family:"Arial Narrow"; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman";} +p.MsoTof, li.MsoTof, div.MsoTof + {mso-style-parent:"TOC Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:72.0pt; + text-indent:-18.0pt; + line-height:12.0pt; + mso-pagination:widow-orphan; + tab-stops:right dotted 324.0pt; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +span.MsoFootnoteReference + {mso-style-parent:""; + vertical-align:super;} +span.MsoCommentReference + {mso-style-parent:""; + mso-ansi-font-size:8.0pt; + mso-ascii-font-family:Arial; + mso-hansi-font-family:Arial;} +span.MsoLineNumber + {mso-style-parent:""; + mso-ansi-font-size:9.0pt;} +span.MsoPageNumber + {mso-style-parent:""; + mso-ansi-font-size:9.0pt; + mso-ascii-font-family:"Arial Black"; + mso-hansi-font-family:"Arial Black"; + letter-spacing:-.5pt;} +span.MsoEndnoteReference + {mso-style-parent:""; + vertical-align:super;} +p.MsoEndnoteText, li.MsoEndnoteText, div.MsoEndnoteText + {mso-style-parent:"Footnote Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + line-height:10.0pt; + mso-pagination:widow-orphan lines-together; + font-size:8.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoToa, li.MsoToa, div.MsoToa + {margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:72.0pt; + margin-bottom:.0001pt; + text-indent:-18.0pt; + mso-pagination:widow-orphan; + tab-stops:right dotted 378.0pt; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoToaHeading, li.MsoToaHeading, div.MsoToaHeading + {mso-style-next:"Table of Authorities"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + line-height:24.0pt; + mso-pagination:widow-orphan; + page-break-after:avoid; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:"Arial Black"; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.5pt; + mso-font-kerning:14.0pt; + font-weight:bold; + mso-bidi-font-weight:normal;} +p.MsoList, li.MsoList, div.MsoList + {mso-style-parent:"Body Text"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:72.0pt; + text-align:justify; + text-indent:-18.0pt; + line-height:150%; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoListBullet, li.MsoListBullet, div.MsoListBullet + {mso-style-parent:List; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:72.0pt; + text-align:justify; + text-indent:-18.0pt; + line-height:150%; + mso-pagination:widow-orphan; + mso-list:l83 level1 lfo12; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoListNumber, li.MsoListNumber, div.MsoListNumber + {mso-style-parent:List; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:72.0pt; + text-align:justify; + text-indent:-18.0pt; + line-height:150%; + mso-pagination:widow-orphan; + mso-list:l91 level1 lfo13; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoList2, li.MsoList2, div.MsoList2 + {mso-style-parent:List; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:90.0pt; + text-align:justify; + text-indent:-18.0pt; + line-height:150%; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoList3, li.MsoList3, div.MsoList3 + {mso-style-parent:List; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:108.0pt; + text-align:justify; + text-indent:-18.0pt; + line-height:150%; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoList4, li.MsoList4, div.MsoList4 + {mso-style-parent:List; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:126.0pt; + text-align:justify; + text-indent:-18.0pt; + line-height:150%; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoList5, li.MsoList5, div.MsoList5 + {mso-style-parent:List; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:144.0pt; + text-align:justify; + text-indent:-18.0pt; + line-height:150%; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoListBullet2, li.MsoListBullet2, div.MsoListBullet2 + {mso-style-update:auto; + mso-style-parent:"List Bullet"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:90.0pt; + text-align:justify; + text-indent:-18.0pt; + line-height:150%; + mso-pagination:widow-orphan; + mso-list:l83 level1 lfo12; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoListBullet3, li.MsoListBullet3, div.MsoListBullet3 + {mso-style-update:auto; + mso-style-parent:"List Bullet"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:108.0pt; + text-align:justify; + text-indent:-18.0pt; + line-height:150%; + mso-pagination:widow-orphan; + mso-list:l83 level1 lfo12; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoListBullet4, li.MsoListBullet4, div.MsoListBullet4 + {mso-style-update:auto; + mso-style-parent:"List Bullet"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:126.0pt; + text-align:justify; + text-indent:-18.0pt; + line-height:150%; + mso-pagination:widow-orphan; + mso-list:l83 level1 lfo12; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoListBullet5, li.MsoListBullet5, div.MsoListBullet5 + {mso-style-update:auto; + mso-style-parent:"List Bullet"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:144.0pt; + text-align:justify; + text-indent:-18.0pt; + line-height:150%; + mso-pagination:widow-orphan; + mso-list:l83 level1 lfo12; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoListNumber2, li.MsoListNumber2, div.MsoListNumber2 + {mso-style-parent:"List Number"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:90.0pt; + text-align:justify; + text-indent:-18.0pt; + line-height:150%; + mso-pagination:widow-orphan; + mso-list:l91 level1 lfo13; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoListNumber3, li.MsoListNumber3, div.MsoListNumber3 + {mso-style-parent:"List Number"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:108.0pt; + text-align:justify; + text-indent:-18.0pt; + line-height:150%; + mso-pagination:widow-orphan; + mso-list:l91 level1 lfo13; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoListNumber4, li.MsoListNumber4, div.MsoListNumber4 + {mso-style-parent:"List Number"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:126.0pt; + text-align:justify; + text-indent:-18.0pt; + line-height:150%; + mso-pagination:widow-orphan; + mso-list:l91 level1 lfo13; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoListNumber5, li.MsoListNumber5, div.MsoListNumber5 + {mso-style-parent:"List Number"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:144.0pt; + text-align:justify; + text-indent:-18.0pt; + line-height:150%; + mso-pagination:widow-orphan; + mso-list:l91 level1 lfo13; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoTitle, li.MsoTitle, div.MsoTitle + {mso-style-parent:"Heading Base"; + mso-style-next:Subtitle; + margin-top:11.0pt; + margin-right:0cm; + margin-bottom:3.0pt; + margin-left:0cm; + mso-line-height-alt:16.0pt; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + border:none; + mso-border-top-alt:solid windowtext .75pt; + padding:0cm; + mso-padding-alt:16.0pt 0cm 0cm 0cm; + font-size:20.0pt; + mso-bidi-font-size:10.0pt; + font-family:"Arial Black"; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-1.5pt; + mso-font-kerning:14.0pt;} +p.MsoBodyText, li.MsoBodyText, div.MsoBodyText + {margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:53.85pt; + text-align:justify; + line-height:150%; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoBodyTextIndent, li.MsoBodyTextIndent, div.MsoBodyTextIndent + {mso-style-parent:"Body Text"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:72.0pt; + text-align:justify; + line-height:150%; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoListContinue, li.MsoListContinue, div.MsoListContinue + {mso-style-parent:List; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:72.0pt; + text-align:justify; + text-indent:0cm; + line-height:150%; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoListContinue2, li.MsoListContinue2, div.MsoListContinue2 + {mso-style-parent:"List Continue"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:108.0pt; + text-align:justify; + text-indent:0cm; + line-height:150%; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoListContinue3, li.MsoListContinue3, div.MsoListContinue3 + {mso-style-parent:"List Continue"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:126.0pt; + text-align:justify; + text-indent:0cm; + line-height:150%; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoListContinue4, li.MsoListContinue4, div.MsoListContinue4 + {mso-style-parent:"List Continue"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:144.0pt; + text-align:justify; + text-indent:0cm; + line-height:150%; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoListContinue5, li.MsoListContinue5, div.MsoListContinue5 + {mso-style-parent:"List Continue"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:162.0pt; + text-align:justify; + text-indent:0cm; + line-height:150%; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoMessageHeader, li.MsoMessageHeader, div.MsoMessageHeader + {mso-style-parent:"Body Text"; + margin-top:0cm; + margin-right:108.0pt; + margin-bottom:6.0pt; + margin-left:53.85pt; + text-indent:-54.0pt; + line-height:14.0pt; + mso-line-height-rule:exactly; + mso-pagination:widow-orphan lines-together; + tab-stops:180.0pt 234.0pt; + font-size:11.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman";} +p.MsoSubtitle, li.MsoSubtitle, div.MsoSubtitle + {mso-style-parent:Title; + mso-style-next:"Body Text"; + margin-top:3.0pt; + margin-right:0cm; + margin-bottom:6.0pt; + margin-left:0cm; + line-height:17.0pt; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + font-size:16.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.8pt; + mso-font-kerning:14.0pt;} +p.MsoBodyText2, li.MsoBodyText2, div.MsoBodyText2 + {margin:0cm; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:9.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoBodyText3, li.MsoBodyText3, div.MsoBodyText3 + {margin:0cm; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + mso-layout-grid-align:none; + text-autospace:none; + font-size:12.0pt; + mso-bidi-font-size:18.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + color:#000066; + letter-spacing:-.25pt; + mso-ansi-language:EN-US;} +p.MsoBodyTextIndent2, li.MsoBodyTextIndent2, div.MsoBodyTextIndent2 + {margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:2.0cm; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.MsoBodyTextIndent3, li.MsoBodyTextIndent3, div.MsoBodyTextIndent3 + {margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:2.0cm; + margin-bottom:.0001pt; + text-indent:15.3pt; + mso-pagination:widow-orphan; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +a:link, span.MsoHyperlink + {color:blue; + text-decoration:underline; + text-underline:single;} +a:visited, span.MsoHyperlinkFollowed + {color:purple; + text-decoration:underline; + text-underline:single;} +em + {mso-style-parent:""; + mso-ansi-font-size:9.0pt; + mso-ascii-font-family:"Arial Black"; + mso-hansi-font-family:"Arial Black"; + letter-spacing:-.2pt; + font-style:normal;} +p.MsoPlainText, li.MsoPlainText, div.MsoPlainText + {margin:0cm; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:10.0pt; + font-family:"Courier New"; + mso-fareast-font-family:"Times New Roman";} +p + {margin-right:0cm; + mso-margin-top-alt:auto; + mso-margin-bottom-alt:auto; + margin-left:0cm; + mso-pagination:widow-orphan; + font-size:12.0pt; + font-family:"Arial Unicode MS";} +code + {mso-ascii-font-family:"Courier New"; + mso-fareast-font-family:"Courier New"; + mso-hansi-font-family:"Courier New"; + mso-bidi-font-family:"Courier New";} +pre + {margin:0cm; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; + font-size:10.0pt; + font-family:"Arial Unicode MS"; + color:black;} +p.HeadingBase, li.HeadingBase, div.HeadingBase + {mso-style-name:"Heading Base"; + mso-style-next:"Body Text"; + margin-top:7.0pt; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + line-height:11.0pt; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + font-size:11.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.2pt; + mso-font-kerning:14.0pt;} +p.BlockQuotation, li.BlockQuotation, div.BlockQuotation + {mso-style-name:"Block Quotation"; + margin-top:0cm; + margin-right:12.0pt; + margin-bottom:12.0pt; + margin-left:68.4pt; + text-align:justify; + mso-line-height-alt:11.0pt; + mso-pagination:widow-orphan; + background:#F2F2F2; + mso-shading:windowtext; + mso-pattern:gray-5 auto; + border:none; + mso-border-alt:solid white .75pt; + mso-border-top-alt:solid white 1.5pt; + padding:0cm; + mso-padding-alt:12.0pt 12.0pt 12.0pt 12.0pt; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:"Arial Narrow"; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.BodyTextKeep, li.BodyTextKeep, div.BodyTextKeep + {mso-style-name:"Body Text Keep"; + mso-style-parent:"Body Text"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:53.85pt; + text-align:justify; + line-height:150%; + mso-pagination:widow-orphan; + page-break-after:avoid; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.Picture, li.Picture, div.Picture + {mso-style-name:Picture; + mso-style-next:Caption; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + page-break-after:avoid; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.PartLabel, li.PartLabel, div.PartLabel + {mso-style-name:"Part Label"; + margin:0cm; + margin-bottom:.0001pt; + text-align:center; + line-height:18.0pt; + mso-line-height-rule:exactly; + mso-pagination:widow-orphan; + background:black; + mso-shading:windowtext; + mso-pattern:solid auto; + font-size:13.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + color:white; + letter-spacing:-.8pt;} +p.PartTitle, li.PartTitle, div.PartTitle + {mso-style-name:"Part Title"; + margin:0cm; + margin-bottom:.0001pt; + text-align:center; + line-height:33.0pt; + mso-line-height-rule:exactly; + mso-pagination:widow-orphan; + background:black; + mso-shading:windowtext; + mso-pattern:solid auto; + font-size:42.0pt; + mso-bidi-font-size:10.0pt; + font-family:"Arial Black"; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + color:white; + letter-spacing:-2.0pt;} +p.ChapterSubtitle, li.ChapterSubtitle, div.ChapterSubtitle + {mso-style-name:"Chapter Subtitle"; + mso-style-parent:Subtitle; + margin-top:3.0pt; + margin-right:0cm; + margin-bottom:6.0pt; + margin-left:0cm; + line-height:17.0pt; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + font-size:16.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.8pt; + mso-font-kerning:14.0pt;} +p.CompanyName, li.CompanyName, div.CompanyName + {mso-style-name:"Company Name"; + margin:0cm; + margin-bottom:.0001pt; + mso-line-height-alt:11.0pt; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + font-size:16.0pt; + mso-bidi-font-size:10.0pt; + font-family:"Arial Black"; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-1.25pt; + mso-font-kerning:14.0pt;} +p.ChapterTitle, li.ChapterTitle, div.ChapterTitle + {mso-style-name:"Chapter Title"; + margin-top:6.0pt; + margin-right:0cm; + margin-bottom:0cm; + margin-left:0cm; + margin-bottom:.0001pt; + text-align:center; + line-height:33.0pt; + mso-line-height-rule:exactly; + mso-pagination:widow-orphan; + font-size:42.0pt; + mso-bidi-font-size:10.0pt; + font-family:"Arial Black"; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + color:white; + letter-spacing:-2.0pt;} +p.FootnoteBase, li.FootnoteBase, div.FootnoteBase + {mso-style-name:"Footnote Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + line-height:10.0pt; + mso-pagination:widow-orphan lines-together; + font-size:8.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.TableText, li.TableText, div.TableText + {mso-style-name:"Table Text"; + margin-top:3.0pt; + margin-right:0cm; + margin-bottom:0cm; + margin-left:0cm; + margin-bottom:.0001pt; + mso-pagination:widow-orphan; + font-size:8.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.TitleCover, li.TitleCover, div.TitleCover + {mso-style-name:"Title Cover"; + mso-style-parent:"Heading Base"; + mso-style-next:Normal; + margin-top:12.0pt; + margin-right:0cm; + margin-bottom:25.0pt; + margin-left:0cm; + line-height:32.0pt; + mso-line-height-rule:exactly; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + tab-stops:0cm; + border:none; + mso-border-top-alt:solid windowtext 6.0pt; + padding:0cm; + mso-padding-alt:31.0pt 0cm 0cm 0cm; + font-size:32.0pt; + mso-bidi-font-size:10.0pt; + font-family:"Arial Black"; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-2.4pt; + mso-font-kerning:14.0pt; + font-weight:bold; + mso-bidi-font-weight:normal;} +p.DocumentLabel, li.DocumentLabel, div.DocumentLabel + {mso-style-name:"Document Label"; + mso-style-parent:"Title Cover"; + margin-top:12.0pt; + margin-right:0cm; + margin-bottom:25.0pt; + margin-left:0cm; + line-height:32.0pt; + mso-line-height-rule:exactly; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + tab-stops:0cm; + border:none; + mso-border-top-alt:solid windowtext 6.0pt; + padding:0cm; + mso-padding-alt:31.0pt 0cm 0cm 0cm; + font-size:32.0pt; + mso-bidi-font-size:10.0pt; + font-family:"Arial Black"; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-2.4pt; + mso-font-kerning:14.0pt; + font-weight:bold; + mso-bidi-font-weight:normal;} +p.HeaderBase, li.HeaderBase, div.HeaderBase + {mso-style-name:"Header Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + line-height:9.5pt; + mso-pagination:widow-orphan lines-together; + tab-stops:center 216.0pt right 432.0pt; + font-size:7.5pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + text-transform:uppercase; + letter-spacing:-.25pt;} +p.FooterEven, li.FooterEven, div.FooterEven + {mso-style-name:"Footer Even"; + mso-style-parent:Footer; + margin-top:30.0pt; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + line-height:9.5pt; + mso-pagination:widow-orphan lines-together; + tab-stops:center 216.0pt right 432.0pt; + border:none; + mso-border-top-alt:solid windowtext .75pt; + padding:0cm; + mso-padding-alt:2.0pt 0cm 0cm 0cm; + font-size:7.5pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + text-transform:uppercase; + letter-spacing:-.25pt;} +p.FooterFirst, li.FooterFirst, div.FooterFirst + {mso-style-name:"Footer First"; + mso-style-parent:Footer; + margin-top:30.0pt; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + line-height:9.5pt; + mso-pagination:widow-orphan lines-together; + tab-stops:center 216.0pt right 432.0pt; + border:none; + mso-border-top-alt:solid windowtext .75pt; + padding:0cm; + mso-padding-alt:2.0pt 0cm 0cm 0cm; + font-size:7.5pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + text-transform:uppercase; + letter-spacing:-.25pt;} +p.FooterOdd, li.FooterOdd, div.FooterOdd + {mso-style-name:"Footer Odd"; + mso-style-parent:Footer; + margin-top:30.0pt; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + line-height:9.5pt; + mso-pagination:widow-orphan lines-together; + tab-stops:center 216.0pt right 432.0pt; + border:none; + mso-border-top-alt:solid windowtext .75pt; + padding:0cm; + mso-padding-alt:2.0pt 0cm 0cm 0cm; + font-size:7.5pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + text-transform:uppercase; + letter-spacing:-.25pt;} +p.HeaderEven, li.HeaderEven, div.HeaderEven + {mso-style-name:"Header Even"; + mso-style-parent:Header; + margin-top:0cm; + margin-right:0cm; + margin-bottom:30.0pt; + margin-left:54.0pt; + text-indent:0cm; + line-height:9.5pt; + mso-pagination:widow-orphan lines-together; + tab-stops:center 216.0pt right 432.0pt; + border:none; + mso-border-bottom-alt:solid windowtext .75pt; + padding:0cm; + mso-padding-alt:0cm 0cm 1.0pt 0cm; + font-size:7.5pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + text-transform:uppercase; + letter-spacing:-.25pt;} +p.HeaderFirst, li.HeaderFirst, div.HeaderFirst + {mso-style-name:"Header First"; + mso-style-parent:Header; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:54.0pt; + margin-bottom:.0001pt; + text-align:right; + line-height:9.5pt; + mso-pagination:widow-orphan lines-together; + tab-stops:center 216.0pt right 432.0pt; + border:none; + mso-border-top-alt:solid windowtext .75pt; + padding:0cm; + mso-padding-alt:2.0pt 0cm 0cm 0cm; + font-size:7.5pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + text-transform:uppercase; + letter-spacing:-.25pt;} +p.HeaderOdd, li.HeaderOdd, div.HeaderOdd + {mso-style-name:"Header Odd"; + mso-style-parent:Header; + margin-top:0cm; + margin-right:0cm; + margin-bottom:30.0pt; + margin-left:54.0pt; + text-indent:0cm; + line-height:9.5pt; + mso-pagination:widow-orphan lines-together; + tab-stops:center 216.0pt right 432.0pt; + border:none; + mso-border-bottom-alt:solid windowtext .75pt; + padding:0cm; + mso-padding-alt:0cm 0cm 1.0pt 0cm; + font-size:7.5pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + text-transform:uppercase; + letter-spacing:-.25pt;} +p.IndexBase, li.IndexBase, div.IndexBase + {mso-style-name:"Index Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:0cm; + margin-left:18.0pt; + margin-bottom:.0001pt; + text-indent:-18.0pt; + line-height:12.0pt; + mso-pagination:widow-orphan; + font-size:9.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +span.Lead-inEmphasis + {mso-style-name:"Lead-in Emphasis"; + mso-style-parent:""; + mso-ansi-font-size:9.0pt; + mso-ascii-font-family:"Arial Black"; + mso-hansi-font-family:"Arial Black"; + letter-spacing:-.2pt;} +p.TableHeader, li.TableHeader, div.TableHeader + {mso-style-name:"Table Header"; + margin-top:3.0pt; + margin-right:0cm; + margin-bottom:0cm; + margin-left:0cm; + margin-bottom:.0001pt; + text-align:center; + mso-pagination:widow-orphan; + font-size:8.0pt; + mso-bidi-font-size:10.0pt; + font-family:"Arial Black"; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +p.PartSubtitle, li.PartSubtitle, div.PartSubtitle + {mso-style-name:"Part Subtitle"; + mso-style-next:"Body Text"; + margin-top:18.0pt; + margin-right:0cm; + margin-bottom:6.0pt; + margin-left:54.0pt; + mso-pagination:widow-orphan; + page-break-after:avoid; + font-size:13.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt; + mso-font-kerning:14.0pt; + font-style:italic; + mso-bidi-font-style:normal;} +p.ReturnAddress, li.ReturnAddress, div.ReturnAddress + {mso-style-name:"Return Address"; + margin:0cm; + margin-bottom:.0001pt; + line-height:8.0pt; + mso-pagination:widow-orphan lines-together; + tab-stops:108.0pt; + mso-element:frame; + mso-element-frame-width:258.0pt; + mso-element-frame-height:42.0pt; + mso-element-wrap:no-wrap-beside; + mso-element-anchor-vertical:page; + mso-element-anchor-horizontal:page; + mso-element-left:306.05pt; + mso-element-top:45.75pt; + mso-element-anchor-lock:locked; + font-size:7.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman";} +p.SectionHeading, li.SectionHeading, div.SectionHeading + {mso-style-name:"Section Heading"; + mso-style-parent:"Heading 1"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:6.0pt; + line-height:12.0pt; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + mso-outline-level:1; + background:black; + mso-shading:windowtext; + mso-pattern:solid auto; + border:none; + mso-border-top-alt:solid white 6.0pt; + mso-border-left-alt:solid white .75pt; + mso-border-bottom-alt:solid white .75pt; + padding:0cm; + mso-padding-alt:3.0pt 0cm 3.0pt 3.0pt; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:"Arial Black"; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + color:white; + letter-spacing:-.5pt; + mso-font-kerning:10.0pt;} +p.SectionLabel, li.SectionLabel, div.SectionLabel + {mso-style-name:"Section Label"; + mso-style-parent:"Heading Base"; + mso-style-next:"Body Text"; + margin-top:18.0pt; + margin-right:0cm; + margin-bottom:48.0pt; + margin-left:0cm; + mso-line-height-alt:11.0pt; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + border:none; + mso-border-bottom-alt:solid windowtext .75pt; + padding:0cm; + mso-padding-alt:0cm 0cm 2.0pt 0cm; + font-size:27.0pt; + mso-bidi-font-size:10.0pt; + font-family:"Arial Black"; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-1.75pt; + mso-font-kerning:14.0pt;} +span.Slogan + {mso-style-name:Slogan; + mso-ansi-font-size:12.0pt; + letter-spacing:-.3pt; + font-style:italic;} +p.SubtitleCover, li.SubtitleCover, div.SubtitleCover + {mso-style-name:"Subtitle Cover"; + mso-style-parent:"Title Cover"; + mso-style-next:"Body Text"; + margin-top:0cm; + margin-right:41.75pt; + margin-bottom:0cm; + margin-left:41.75pt; + margin-bottom:.0001pt; + line-height:24.0pt; + mso-pagination:widow-orphan lines-together; + page-break-after:avoid; + border:none; + mso-border-top-alt:solid windowtext .75pt; + padding:0cm; + mso-padding-alt:24.0pt 0cm 0cm 0cm; + font-size:24.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-1.5pt; + mso-font-kerning:14.0pt;} +span.Superscript + {mso-style-name:Superscript; + mso-style-parent:""; + font-weight:bold; + vertical-align:super;} +p.TOCBase, li.TOCBase, div.TOCBase + {mso-style-name:"TOC Base"; + margin-top:0cm; + margin-right:0cm; + margin-bottom:12.0pt; + margin-left:0cm; + line-height:12.0pt; + mso-pagination:widow-orphan; + tab-stops:right dotted 324.0pt; + font-size:12.0pt; + mso-bidi-font-size:10.0pt; + font-family:Arial; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman"; + letter-spacing:-.25pt;} +@page Section1 + {size:612.0pt 792.0pt; + margin:2.0cm 2.0cm 2.0cm 2.0cm; + mso-header-margin:48.25pt; + mso-footer-margin:48.25pt; + mso-page-numbers:1; + mso-title-page:yes; + mso-header:url("./dev-doc_files/header.htm") h1; + mso-even-footer:url("./dev-doc_files/header.htm") ef1; + mso-footer:url("./dev-doc_files/header.htm") f1; + mso-first-header:url("./dev-doc_files/header.htm") fh1; + mso-first-footer:url("./dev-doc_files/header.htm") ff1; + mso-paper-source:0;} +div.Section1 + {page:Section1;} + /* List Definitions */ +@list l0 + {mso-list-id:-132; + mso-list-type:simple; + mso-list-template-ids:-710629406;} +@list l0:level1 + {mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt;} +@list l1 + {mso-list-id:-131; + mso-list-type:simple; + mso-list-template-ids:1095916012;} +@list l1:level1 + {mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt;} +@list l2 + {mso-list-id:-130; + mso-list-type:simple; + mso-list-template-ids:2145004946;} +@list l2:level1 + {mso-level-tab-stop:54.0pt; + mso-level-number-position:left; + margin-left:54.0pt; + text-indent:-18.0pt;} +@list l3 + {mso-list-id:-129; + mso-list-type:simple; + mso-list-template-ids:-1971814194;} +@list l3:level1 + {mso-level-tab-stop:36.0pt; + mso-level-number-position:left; + text-indent:-18.0pt;} +@list l4 + {mso-list-id:-128; + mso-list-type:simple; + mso-list-template-ids:-1747313184;} +@list l4:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l5 + {mso-list-id:-127; + mso-list-type:simple; + mso-list-template-ids:-1757804802;} +@list l5:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l6 + {mso-list-id:-126; + mso-list-type:simple; + mso-list-template-ids:680715672;} +@list l6:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:54.0pt; + mso-level-number-position:left; + margin-left:54.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l7 + {mso-list-id:-125; + mso-list-type:simple; + mso-list-template-ids:-499645692;} +@list l7:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:36.0pt; + mso-level-number-position:left; + text-indent:-18.0pt; + font-family:Symbol;} +@list l8 + {mso-list-id:-120; + mso-list-type:simple; + mso-list-template-ids:-371919952;} +@list l8:level1 + {mso-level-tab-stop:18.0pt; + mso-level-number-position:left; + margin-left:18.0pt; + text-indent:-18.0pt;} +@list l9 + {mso-list-id:-119; + mso-list-type:simple; + mso-list-template-ids:-182429940;} +@list l9:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:18.0pt; + mso-level-number-position:left; + margin-left:18.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l10 + {mso-list-id:-2; + mso-list-type:simple; + mso-list-template-ids:-1499937358;} +@list l10:level1 + {mso-level-start-at:0; + mso-level-style-link:Caption; + mso-level-text:*; + mso-level-tab-stop:none; + mso-level-number-position:left; + margin-left:0cm; + text-indent:0cm;} +@list l11 + {mso-list-id:44645453; + mso-list-type:hybrid; + mso-list-template-ids:455477976;} +@list l11:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l12 + {mso-list-id:63987467; + mso-list-type:hybrid; + mso-list-template-ids:-547746290;} +@list l12:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l13 + {mso-list-id:71389636; + mso-list-type:hybrid; + mso-list-template-ids:2491000;} +@list l13:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:54.15pt; + mso-level-number-position:left; + margin-left:54.15pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l14 + {mso-list-id:111677534; + mso-list-type:hybrid; + mso-list-template-ids:991461420;} +@list l14:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:180.0pt; + mso-level-number-position:left; + margin-left:180.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l15 + {mso-list-id:171115315; + mso-list-type:hybrid; + mso-list-template-ids:-199753040 1940032690 -11127260 1791631954 -42287798 1469725588 -300671344 -1168234464 -1298366814 -1449917882;} +@list l15:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:36.0pt; + mso-level-number-position:left; + text-indent:-18.0pt; + mso-ansi-font-size:10.0pt; + font-family:Symbol;} +@list l16 + {mso-list-id:201332624; + mso-list-type:hybrid; + mso-list-template-ids:1583807280;} +@list l16:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l17 + {mso-list-id:203686331; + mso-list-type:hybrid; + mso-list-template-ids:816083708;} +@list l17:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l18 + {mso-list-id:256839385; + mso-list-type:hybrid; + mso-list-template-ids:229911820;} +@list l18:level1 + {mso-level-number-format:alpha-lower; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt;} +@list l19 + {mso-list-id:258297997; + mso-list-type:hybrid; + mso-list-template-ids:324563712;} +@list l19:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:54.15pt; + mso-level-number-position:left; + margin-left:54.15pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l20 + {mso-list-id:260651192; + mso-list-type:hybrid; + mso-list-template-ids:1963627268;} +@list l20:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:89.85pt; + mso-level-number-position:left; + margin-left:89.85pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l21 + {mso-list-id:279147458; + mso-list-type:hybrid; + mso-list-template-ids:1889939576;} +@list l21:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:54.15pt; + mso-level-number-position:left; + margin-left:54.15pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l21:level3 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:126.15pt; + mso-level-number-position:left; + margin-left:126.15pt; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l21:level4 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:162.15pt; + mso-level-number-position:left; + margin-left:162.15pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l22 + {mso-list-id:302007750; + mso-list-type:simple; + mso-list-template-ids:162588920;} +@list l22:level1 + {mso-level-text:"%1\)"; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:18.0pt; + mso-level-legacy-space:0cm; + margin-left:72.0pt; + text-indent:-18.0pt; + mso-ansi-font-size:9.0pt; + font-family:Symbol; + mso-ansi-font-weight:normal; + mso-ansi-font-style:normal;} +@list l23 + {mso-list-id:331177005; + mso-list-type:hybrid; + mso-list-template-ids:-756892350;} +@list l23:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l24 + {mso-list-id:344091190; + mso-list-type:hybrid; + mso-list-template-ids:-242026594;} +@list l24:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l25 + {mso-list-id:353926268; + mso-list-type:hybrid; + mso-list-template-ids:-771599144;} +@list l25:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:106.9pt; + mso-level-number-position:left; + margin-left:106.9pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l26 + {mso-list-id:358897648; + mso-list-type:hybrid; + mso-list-template-ids:-1848615078;} +@list l26:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:18.0pt; + mso-level-number-position:left; + margin-left:18.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l27 + {mso-list-id:359477898; + mso-list-type:hybrid; + mso-list-template-ids:1074564218;} +@list l27:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l27:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:144.0pt; + mso-level-number-position:left; + margin-left:144.0pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l27:level3 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:180.0pt; + mso-level-number-position:left; + margin-left:180.0pt; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l28 + {mso-list-id:364018651; + mso-list-type:hybrid; + mso-list-template-ids:-1494948240;} +@list l28:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l29 + {mso-list-id:377510463; + mso-list-type:hybrid; + mso-list-template-ids:-903980726;} +@list l29:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:110.7pt; + mso-level-number-position:left; + margin-left:110.7pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l30 + {mso-list-id:384261496; + mso-list-type:hybrid; + mso-list-template-ids:788558962;} +@list l30:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:89.85pt; + mso-level-number-position:left; + margin-left:89.85pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l31 + {mso-list-id:389155524; + mso-list-type:hybrid; + mso-list-template-ids:1234217518;} +@list l31:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:110.7pt; + mso-level-number-position:left; + margin-left:110.7pt; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l31:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:146.7pt; + mso-level-number-position:left; + margin-left:146.7pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l32 + {mso-list-id:413666046; + mso-list-type:hybrid; + mso-list-template-ids:-534104758;} +@list l32:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:89.85pt; + mso-level-number-position:left; + margin-left:89.85pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l33 + {mso-list-id:414013239; + mso-list-type:hybrid; + mso-list-template-ids:1398949094;} +@list l33:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l33:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:126.0pt; + mso-level-number-position:left; + margin-left:126.0pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l33:level3 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:162.0pt; + mso-level-number-position:left; + margin-left:162.0pt; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l33:level4 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:198.0pt; + mso-level-number-position:left; + margin-left:198.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l34 + {mso-list-id:427118044; + mso-list-type:simple; + mso-list-template-ids:1842128334;} +@list l34:level1 + {mso-level-number-format:none; + mso-level-text:""; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:0cm; + mso-level-legacy-space:0cm; + margin-left:0cm; + text-indent:0cm;} +@list l35 + {mso-list-id:432239455; + mso-list-type:hybrid; + mso-list-template-ids:-1479658896;} +@list l35:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l36 + {mso-list-id:465468972; + mso-list-type:hybrid; + mso-list-template-ids:1577718216;} +@list l36:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l37 + {mso-list-id:474445201; + mso-list-type:hybrid; + mso-list-template-ids:739528858;} +@list l37:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l38 + {mso-list-id:492993613; + mso-list-type:hybrid; + mso-list-template-ids:-922479376;} +@list l38:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l39 + {mso-list-id:525947314; + mso-list-type:hybrid; + mso-list-template-ids:-746561386;} +@list l39:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l40 + {mso-list-id:546454304; + mso-list-type:simple; + mso-list-template-ids:-324793630;} +@list l40:level1 + {mso-level-start-at:0; + mso-level-text:*; + mso-level-tab-stop:none; + mso-level-number-position:left; + margin-left:0cm; + text-indent:0cm;} +@list l41 + {mso-list-id:547687946; + mso-list-type:hybrid; + mso-list-template-ids:-1476895464;} +@list l41:level1 + {mso-level-tab-stop:54.0pt; + mso-level-number-position:left; + margin-left:54.0pt; + text-indent:-18.0pt;} +@list l41:level2 + {mso-level-number-format:alpha-lower; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt;} +@list l41:level3 + {mso-level-number-format:roman-lower; + mso-level-tab-stop:126.0pt; + mso-level-number-position:right; + margin-left:126.0pt; + text-indent:-9.0pt;} +@list l42 + {mso-list-id:612056789; + mso-list-type:hybrid; + mso-list-template-ids:2041240242;} +@list l42:level1 + {mso-level-tab-stop:54.15pt; + mso-level-number-position:left; + margin-left:54.15pt; + text-indent:-18.0pt;} +@list l43 + {mso-list-id:637994306; + mso-list-type:hybrid; + mso-list-template-ids:-770301414;} +@list l43:level1 + {mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt;} +@list l43:level2 + {mso-level-number-format:alpha-lower; + mso-level-tab-stop:144.0pt; + mso-level-number-position:left; + margin-left:144.0pt; + text-indent:-18.0pt;} +@list l43:level3 + {mso-level-number-format:roman-lower; + mso-level-tab-stop:189.0pt; + mso-level-number-position:right; + margin-left:189.0pt; + text-indent:-18.0pt;} +@list l43:level4 + {mso-level-tab-stop:216.0pt; + mso-level-number-position:left; + margin-left:216.0pt; + text-indent:-18.0pt;} +@list l44 + {mso-list-id:680667314; + mso-list-type:hybrid; + mso-list-template-ids:-589918640;} +@list l44:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:36.0pt; + mso-level-number-position:left; + text-indent:-18.0pt; + font-family:Symbol;} +@list l44:level3 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l44:level4 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:144.0pt; + mso-level-number-position:left; + text-indent:-18.0pt; + font-family:Symbol;} +@list l45 + {mso-list-id:688261199; + mso-list-type:hybrid; + mso-list-template-ids:-136252188;} +@list l45:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l46 + {mso-list-id:701441105; + mso-list-type:hybrid; + mso-list-template-ids:20606976;} +@list l46:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l47 + {mso-list-id:707801249; + mso-list-type:simple; + mso-list-template-ids:1842128334;} +@list l47:level1 + {mso-level-number-format:none; + mso-level-text:""; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:0cm; + mso-level-legacy-space:0cm; + margin-left:0cm; + text-indent:0cm;} +@list l48 + {mso-list-id:746263489; + mso-list-type:hybrid; + mso-list-template-ids:1074564218;} +@list l48:level1 + {mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt;} +@list l48:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:144.0pt; + mso-level-number-position:left; + margin-left:144.0pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l48:level3 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:180.0pt; + mso-level-number-position:left; + margin-left:180.0pt; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l49 + {mso-list-id:749355073; + mso-list-type:hybrid; + mso-list-template-ids:-1566010526;} +@list l49:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:162.0pt; + mso-level-number-position:left; + margin-left:162.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l50 + {mso-list-id:765348500; + mso-list-type:simple; + mso-list-template-ids:1842128334;} +@list l50:level1 + {mso-level-number-format:none; + mso-level-text:""; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:0cm; + mso-level-legacy-space:0cm; + margin-left:0cm; + text-indent:0cm;} +@list l51 + {mso-list-id:822509488; + mso-list-type:hybrid; + mso-list-template-ids:-1931868296;} +@list l51:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:107.85pt; + mso-level-number-position:left; + margin-left:107.85pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l51:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:143.85pt; + mso-level-number-position:left; + margin-left:143.85pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l51:level3 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:179.85pt; + mso-level-number-position:left; + margin-left:179.85pt; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l51:level4 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:215.85pt; + mso-level-number-position:left; + margin-left:215.85pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l52 + {mso-list-id:856819212; + mso-list-type:hybrid; + mso-list-template-ids:1497384978;} +@list l52:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l53 + {mso-list-id:870725295; + mso-list-type:hybrid; + mso-list-template-ids:229911820;} +@list l53:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l54 + {mso-list-id:893930939; + mso-list-type:hybrid; + mso-list-template-ids:-1833118526 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} +@list l54:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:126.0pt; + mso-level-number-position:left; + margin-left:126.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l55 + {mso-list-id:927353051; + mso-list-type:simple; + mso-list-template-ids:-1907194328;} +@list l55:level1 + {mso-level-start-at:0; + mso-level-text:*; + mso-level-tab-stop:none; + mso-level-number-position:left; + margin-left:0cm; + text-indent:0cm;} +@list l56 + {mso-list-id:931163151; + mso-list-type:hybrid; + mso-list-template-ids:-2079426572;} +@list l56:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:89.85pt; + mso-level-number-position:left; + margin-left:89.85pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l56:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:125.85pt; + mso-level-number-position:left; + margin-left:125.85pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l57 + {mso-list-id:939291456; + mso-list-type:hybrid; + mso-list-template-ids:1525743184;} +@list l57:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l57:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:126.0pt; + mso-level-number-position:left; + margin-left:126.0pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l58 + {mso-list-id:972322054; + mso-list-type:simple; + mso-list-template-ids:67698703;} +@list l58:level1 + {mso-level-tab-stop:18.0pt; + mso-level-number-position:left; + margin-left:18.0pt; + text-indent:-18.0pt;} +@list l59 + {mso-list-id:985163525; + mso-list-type:hybrid; + mso-list-template-ids:-621226450;} +@list l59:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l60 + {mso-list-id:1002783064; + mso-list-type:hybrid; + mso-list-template-ids:229911820;} +@list l60:level1 + {mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt;} +@list l61 + {mso-list-id:1014914269; + mso-list-type:hybrid; + mso-list-template-ids:-2106790848;} +@list l61:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:126.0pt; + mso-level-number-position:left; + margin-left:126.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l62 + {mso-list-id:1038968878; + mso-list-type:hybrid; + mso-list-template-ids:-389251352;} +@list l62:level1 + {mso-level-tab-stop:54.0pt; + mso-level-number-position:left; + margin-left:54.0pt; + text-indent:-18.0pt;} +@list l62:level2 + {mso-level-number-format:alpha-lower; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt;} +@list l63 + {mso-list-id:1070150793; + mso-list-type:hybrid; + mso-list-template-ids:1509567648;} +@list l63:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:126.0pt; + mso-level-number-position:left; + margin-left:126.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l63:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:162.0pt; + mso-level-number-position:left; + margin-left:162.0pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l64 + {mso-list-id:1075130027; + mso-list-type:simple; + mso-list-template-ids:540331356;} +@list l64:level1 + {mso-level-start-at:0; + mso-level-text:*; + mso-level-tab-stop:none; + mso-level-number-position:left; + margin-left:0cm; + text-indent:0cm;} +@list l65 + {mso-list-id:1101026696; + mso-list-type:hybrid; + mso-list-template-ids:560767356;} +@list l65:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l66 + {mso-list-id:1102260533; + mso-list-type:hybrid; + mso-list-template-ids:384709048;} +@list l66:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:36.0pt; + mso-level-number-position:left; + text-indent:-18.0pt; + font-family:Symbol;} +@list l66:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l66:level3 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l67 + {mso-list-id:1112551718; + mso-list-type:hybrid; + mso-list-template-ids:-1703910060;} +@list l67:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l67:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:126.0pt; + mso-level-number-position:left; + margin-left:126.0pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l67:level3 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:162.0pt; + mso-level-number-position:left; + margin-left:162.0pt; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l68 + {mso-list-id:1127432264; + mso-list-type:hybrid; + mso-list-template-ids:-1475675746;} +@list l68:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l69 + {mso-list-id:1127704181; + mso-list-type:hybrid; + mso-list-template-ids:-994545674;} +@list l69:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l70 + {mso-list-id:1169445129; + mso-list-type:hybrid; + mso-list-template-ids:700845764;} +@list l70:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l70:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l71 + {mso-list-id:1171406434; + mso-list-type:hybrid; + mso-list-template-ids:-183051592;} +@list l71:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l72 + {mso-list-id:1186140324; + mso-list-type:simple; + mso-list-template-ids:1842128334;} +@list l72:level1 + {mso-level-number-format:none; + mso-level-text:""; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:0cm; + mso-level-legacy-space:0cm; + margin-left:0cm; + text-indent:0cm;} +@list l73 + {mso-list-id:1187334221; + mso-list-type:hybrid; + mso-list-template-ids:134235088 -738153300 -1270687706 -1161531466 672941000 -783785902 -1138316034 -87679264 -1224809012 1094896756;} +@list l73:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:36.0pt; + mso-level-number-position:left; + text-indent:-18.0pt; + mso-ansi-font-size:10.0pt; + font-family:Symbol;} +@list l74 + {mso-list-id:1196964910; + mso-list-type:simple; + mso-list-template-ids:-1029303210;} +@list l74:level1 + {mso-level-text:"%1\)"; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:18.0pt; + mso-level-legacy-space:0cm; + margin-left:72.0pt; + text-indent:-18.0pt; + mso-ansi-font-size:9.0pt; + font-family:"Arial Black"; + mso-ansi-font-weight:normal; + mso-ansi-font-style:normal;} +@list l75 + {mso-list-id:1214780064; + mso-list-type:hybrid; + mso-list-template-ids:-1810302696;} +@list l75:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l76 + {mso-list-id:1219627780; + mso-list-type:hybrid; + mso-list-template-ids:1864410908;} +@list l76:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l77 + {mso-list-id:1221402698; + mso-list-type:hybrid; + mso-list-template-ids:-429870858;} +@list l77:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l78 + {mso-list-id:1222014189; + mso-list-type:hybrid; + mso-list-template-ids:-373667912;} +@list l78:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:126.0pt; + mso-level-number-position:left; + margin-left:126.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l79 + {mso-list-id:1222135850; + mso-list-type:hybrid; + mso-list-template-ids:617354470;} +@list l79:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l80 + {mso-list-id:1240022709; + mso-list-type:hybrid; + mso-list-template-ids:-919018878;} +@list l80:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l81 + {mso-list-id:1244224810; + mso-list-type:hybrid; + mso-list-template-ids:-1092690078;} +@list l81:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l82 + {mso-list-id:1246067892; + mso-list-type:hybrid; + mso-list-template-ids:-1258654850;} +@list l82:level1 + {mso-level-number-format:roman-lower; + mso-level-tab-stop:180.0pt; + mso-level-number-position:right; + margin-left:180.0pt; + text-indent:-18.0pt;} +@list l82:level2 + {mso-level-tab-stop:216.0pt; + mso-level-number-position:left; + margin-left:216.0pt; + text-indent:-18.0pt;} +@list l83 + {mso-list-id:1259799907; + mso-list-type:simple; + mso-list-template-ids:1250168988;} +@list l83:level1 + {mso-level-number-format:bullet; + mso-level-style-link:"List Bullet"; + mso-level-text:\F06E; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + mso-ansi-font-size:8.0pt; + font-family:Wingdings;} +@list l84 + {mso-list-id:1293092150; + mso-list-type:hybrid; + mso-list-template-ids:258113312;} +@list l84:level1 + {mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt;} +@list l85 + {mso-list-id:1305113624; + mso-list-type:hybrid; + mso-list-template-ids:622128480;} +@list l85:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:126.0pt; + mso-level-number-position:left; + margin-left:126.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l86 + {mso-list-id:1306204224; + mso-list-type:hybrid; + mso-list-template-ids:-268303166;} +@list l86:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l86:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:126.0pt; + mso-level-number-position:left; + margin-left:126.0pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l87 + {mso-list-id:1318459259; + mso-list-type:hybrid; + mso-list-template-ids:-474592358;} +@list l87:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l88 + {mso-list-id:1341352766; + mso-list-type:hybrid; + mso-list-template-ids:2066912428;} +@list l88:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:89.85pt; + mso-level-number-position:left; + margin-left:89.85pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l88:level2 + {mso-level-start-at:0; + mso-level-number-format:bullet; + mso-level-text:\F0E8; + mso-level-tab-stop:125.85pt; + mso-level-number-position:left; + margin-left:125.85pt; + text-indent:-18.0pt; + font-family:Wingdings; + mso-fareast-font-family:"Times New Roman"; + mso-bidi-font-family:"Times New Roman";} +@list l88:level3 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:161.85pt; + mso-level-number-position:left; + margin-left:161.85pt; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l88:level4 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:197.85pt; + mso-level-number-position:left; + margin-left:197.85pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l89 + {mso-list-id:1341930564; + mso-list-type:hybrid; + mso-list-template-ids:-1773918140;} +@list l89:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l90 + {mso-list-id:1399933857; + mso-list-type:hybrid; + mso-list-template-ids:1685330958;} +@list l90:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l91 + {mso-list-id:1436095401; + mso-list-type:simple; + mso-list-template-ids:624980344;} +@list l91:level1 + {mso-level-style-link:"List Number"; + mso-level-text:"%1\)"; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:18.0pt; + mso-level-legacy-space:0cm; + margin-left:72.0pt; + text-indent:-18.0pt; + mso-ansi-font-size:9.0pt; + font-family:"Arial Black"; + mso-ansi-font-weight:normal; + mso-ansi-font-style:normal;} +@list l92 + {mso-list-id:1442650686; + mso-list-type:hybrid; + mso-list-template-ids:-256202566 -1 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} +@list l92:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l92:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:36.0pt; + mso-level-number-position:left; + margin-left:36.0pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l92:level3 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l93 + {mso-list-id:1447239819; + mso-list-type:hybrid; + mso-list-template-ids:1838819156;} +@list l93:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l94 + {mso-list-id:1452438179; + mso-list-type:hybrid; + mso-list-template-ids:985201366;} +@list l94:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l95 + {mso-list-id:1452747541; + mso-list-type:hybrid; + mso-list-template-ids:-628835376;} +@list l95:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:126.0pt; + mso-level-number-position:left; + margin-left:126.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l96 + {mso-list-id:1457022605; + mso-list-type:hybrid; + mso-list-template-ids:-297907228;} +@list l96:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l97 + {mso-list-id:1464497094; + mso-list-type:hybrid; + mso-list-template-ids:1986050732;} +@list l97:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l98 + {mso-list-id:1465583189; + mso-list-type:hybrid; + mso-list-template-ids:960925282;} +@list l98:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l99 + {mso-list-id:1480851706; + mso-list-type:hybrid; + mso-list-template-ids:1324251404;} +@list l99:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:36.0pt; + mso-level-number-position:left; + text-indent:-18.0pt; + mso-ansi-font-size:10.0pt; + font-family:Symbol;} +@list l100 + {mso-list-id:1504083900; + mso-list-type:hybrid; + mso-list-template-ids:1473021202;} +@list l100:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:54.0pt; + mso-level-number-position:left; + margin-left:54.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l101 + {mso-list-id:1538816972; + mso-list-type:hybrid; + mso-list-template-ids:491837940;} +@list l101:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l102 + {mso-list-id:1545217474; + mso-list-type:hybrid; + mso-list-template-ids:-1791878778;} +@list l102:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:36.0pt; + mso-level-number-position:left; + text-indent:-18.0pt; + mso-ansi-font-size:10.0pt; + font-family:Symbol;} +@list l103 + {mso-list-id:1552889315; + mso-list-type:hybrid; + mso-list-template-ids:-29087818;} +@list l103:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l104 + {mso-list-id:1555964270; + mso-list-type:simple; + mso-list-template-ids:1842128334;} +@list l104:level1 + {mso-level-number-format:none; + mso-level-text:""; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:0cm; + mso-level-legacy-space:0cm; + margin-left:0cm; + text-indent:0cm;} +@list l105 + {mso-list-id:1559320212; + mso-list-type:hybrid; + mso-list-template-ids:1848295134;} +@list l105:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:126.0pt; + mso-level-number-position:left; + margin-left:126.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l106 + {mso-list-id:1620918792; + mso-list-type:simple; + mso-list-template-ids:-621899838;} +@list l106:level1 + {mso-level-start-at:0; + mso-level-text:*; + mso-level-tab-stop:none; + mso-level-number-position:left; + margin-left:0cm; + text-indent:0cm;} +@list l107 + {mso-list-id:1625578376; + mso-list-type:hybrid; + mso-list-template-ids:-1721336278;} +@list l107:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l107:level2 + {mso-level-tab-stop:144.0pt; + mso-level-number-position:left; + margin-left:144.0pt; + text-indent:-18.0pt;} +@list l108 + {mso-list-id:1633320377; + mso-list-type:hybrid; + mso-list-template-ids:-889705808;} +@list l108:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:54.0pt; + mso-level-number-position:left; + margin-left:54.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l109 + {mso-list-id:1639871488; + mso-list-type:hybrid; + mso-list-template-ids:-143105942;} +@list l109:level1 + {mso-level-tab-stop:36.0pt; + mso-level-number-position:left; + text-indent:-18.0pt;} +@list l109:level3 + {mso-level-number-format:roman-lower; + mso-level-tab-stop:108.0pt; + mso-level-number-position:right; + text-indent:-9.0pt;} +@list l109:level5 + {mso-level-number-format:alpha-lower; + mso-level-tab-stop:180.0pt; + mso-level-number-position:left; + text-indent:-18.0pt;} +@list l110 + {mso-list-id:1657107993; + mso-list-type:hybrid; + mso-list-template-ids:-407842004;} +@list l110:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l111 + {mso-list-id:1661034549; + mso-list-type:hybrid; + mso-list-template-ids:786176604 -1 -1 -1 -1 -1 -1 -1 -1 -1;} +@list l111:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:54.0pt; + mso-level-number-position:left; + margin-left:54.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l111:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l111:level3 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:126.0pt; + mso-level-number-position:left; + margin-left:126.0pt; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l111:level4 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:162.0pt; + mso-level-number-position:left; + margin-left:162.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l111:level5 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:198.0pt; + mso-level-number-position:left; + margin-left:198.0pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l111:level6 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:234.0pt; + mso-level-number-position:left; + margin-left:234.0pt; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l112 + {mso-list-id:1672220044; + mso-list-type:hybrid; + mso-list-template-ids:-496624500 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} +@list l112:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l112:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l113 + {mso-list-id:1715883608; + mso-list-type:hybrid; + mso-list-template-ids:-2007868690;} +@list l113:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l113:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:144.0pt; + mso-level-number-position:left; + margin-left:144.0pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l114 + {mso-list-id:1722360751; + mso-list-type:hybrid; + mso-list-template-ids:1250175444;} +@list l114:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l114:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:126.0pt; + mso-level-number-position:left; + margin-left:126.0pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l115 + {mso-list-id:1745764388; + mso-list-type:hybrid; + mso-list-template-ids:-1229971384;} +@list l115:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:89.85pt; + mso-level-number-position:left; + margin-left:89.85pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l116 + {mso-list-id:1748108336; + mso-list-type:hybrid; + mso-list-template-ids:-1757505756;} +@list l116:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l117 + {mso-list-id:1755054869; + mso-list-type:hybrid; + mso-list-template-ids:-1224964928;} +@list l117:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l118 + {mso-list-id:1765147531; + mso-list-type:hybrid; + mso-list-template-ids:1127509098;} +@list l118:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:18.0pt; + mso-level-number-position:left; + margin-left:18.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l119 + {mso-list-id:1770732983; + mso-list-type:hybrid; + mso-list-template-ids:-1680026296;} +@list l119:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:126.0pt; + mso-level-number-position:left; + margin-left:126.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l119:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:162.0pt; + mso-level-number-position:left; + margin-left:162.0pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l120 + {mso-list-id:1771120817; + mso-list-type:hybrid; + mso-list-template-ids:-1464022148;} +@list l120:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l121 + {mso-list-id:1772969123; + mso-list-type:hybrid; + mso-list-template-ids:562700258;} +@list l121:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l122 + {mso-list-id:1773931977; + mso-list-type:hybrid; + mso-list-template-ids:-222424894;} +@list l122:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:110.7pt; + mso-level-number-position:left; + margin-left:110.7pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l123 + {mso-list-id:1784222708; + mso-list-type:hybrid; + mso-list-template-ids:1162512352;} +@list l123:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:18.0pt; + mso-level-number-position:left; + margin-left:18.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l124 + {mso-list-id:1785419927; + mso-list-type:hybrid; + mso-list-template-ids:-600788416;} +@list l124:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l125 + {mso-list-id:1823154656; + mso-list-type:hybrid; + mso-list-template-ids:-1551444590;} +@list l125:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:89.85pt; + mso-level-number-position:left; + margin-left:89.85pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l126 + {mso-list-id:1841651634; + mso-list-type:hybrid; + mso-list-template-ids:446051598;} +@list l126:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:144.0pt; + mso-level-number-position:left; + margin-left:144.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l127 + {mso-list-id:1853227069; + mso-list-type:simple; + mso-list-template-ids:-1108035524;} +@list l127:level1 + {mso-level-start-at:0; + mso-level-text:*; + mso-level-tab-stop:none; + mso-level-number-position:left; + margin-left:0cm; + text-indent:0cm;} +@list l128 + {mso-list-id:1859198968; + mso-list-type:hybrid; + mso-list-template-ids:1297260630;} +@list l128:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l128:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:144.0pt; + mso-level-number-position:left; + margin-left:144.0pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l128:level3 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:180.0pt; + mso-level-number-position:left; + margin-left:180.0pt; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l128:level4 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:216.0pt; + mso-level-number-position:left; + margin-left:216.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l129 + {mso-list-id:1886745949; + mso-list-type:hybrid; + mso-list-template-ids:1745767456 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} +@list l129:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:54.0pt; + mso-level-number-position:left; + margin-left:54.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l130 + {mso-list-id:1907915542; + mso-list-type:hybrid; + mso-list-template-ids:-1737458836;} +@list l130:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:89.85pt; + mso-level-number-position:left; + margin-left:89.85pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l130:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:125.85pt; + mso-level-number-position:left; + margin-left:125.85pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l131 + {mso-list-id:1933854689; + mso-list-type:hybrid; + mso-list-template-ids:2052888494;} +@list l131:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l132 + {mso-list-id:1948199940; + mso-list-type:hybrid; + mso-list-template-ids:-1901276388;} +@list l132:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:89.85pt; + mso-level-number-position:left; + margin-left:89.85pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l133 + {mso-list-id:1959026412; + mso-list-type:hybrid; + mso-list-template-ids:-1343999386;} +@list l133:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:197.85pt; + mso-level-number-position:left; + margin-left:197.85pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l134 + {mso-list-id:1975063253; + mso-list-type:hybrid; + mso-list-template-ids:1255176146;} +@list l134:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l135 + {mso-list-id:2009363104; + mso-list-type:hybrid; + mso-list-template-ids:2136610538;} +@list l135:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:89.85pt; + mso-level-number-position:left; + margin-left:89.85pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l136 + {mso-list-id:2020691438; + mso-list-type:hybrid; + mso-list-template-ids:-506032342;} +@list l136:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l137 + {mso-list-id:2022854353; + mso-list-type:hybrid; + mso-list-template-ids:-725984488;} +@list l137:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l138 + {mso-list-id:2023772722; + mso-list-type:hybrid; + mso-list-template-ids:56685026;} +@list l138:level1 + {mso-level-tab-stop:89.85pt; + mso-level-number-position:left; + margin-left:89.85pt; + text-indent:-18.0pt;} +@list l139 + {mso-list-id:2046253334; + mso-list-type:hybrid; + mso-list-template-ids:-980377746;} +@list l139:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:90.0pt; + mso-level-number-position:left; + margin-left:90.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l139:level2 + {mso-level-number-format:bullet; + mso-level-text:o; + mso-level-tab-stop:126.0pt; + mso-level-number-position:left; + margin-left:126.0pt; + text-indent:-18.0pt; + font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";} +@list l140 + {mso-list-id:2055888114; + mso-list-type:hybrid; + mso-list-template-ids:-635162644;} +@list l140:level1 + {mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt;} +@list l140:level2 + {mso-level-number-format:alpha-lower; + mso-level-tab-stop:144.0pt; + mso-level-number-position:left; + margin-left:144.0pt; + text-indent:-18.0pt;} +@list l140:level3 + {mso-level-number-format:roman-lower; + mso-level-tab-stop:180.0pt; + mso-level-number-position:right; + margin-left:180.0pt; + text-indent:-9.0pt;} +@list l141 + {mso-list-id:2067291960; + mso-list-type:hybrid; + mso-list-template-ids:1836346902 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} +@list l141:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:36.0pt; + mso-level-number-position:left; + text-indent:-18.0pt; + font-family:Symbol;} +@list l141:level3 + {mso-level-number-format:bullet; + mso-level-text:\F0A7; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + text-indent:-18.0pt; + font-family:Wingdings;} +@list l141:level4 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:144.0pt; + mso-level-number-position:left; + text-indent:-18.0pt; + font-family:Symbol;} +@list l142 + {mso-list-id:2079478068; + mso-list-type:simple; + mso-list-template-ids:1842128334;} +@list l142:level1 + {mso-level-number-format:none; + mso-level-text:""; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:0cm; + mso-level-legacy-space:0cm; + margin-left:0cm; + text-indent:0cm;} +@list l143 + {mso-list-id:2094038206; + mso-list-type:hybrid; + mso-list-template-ids:-1392328724;} +@list l143:level1 + {mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt;} +@list l143:level2 + {mso-level-number-format:alpha-lower; + mso-level-tab-stop:108.0pt; + mso-level-number-position:left; + margin-left:108.0pt; + text-indent:-18.0pt;} +@list l144 + {mso-list-id:2113548740; + mso-list-type:hybrid; + mso-list-template-ids:-685356254;} +@list l144:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:144.0pt; + mso-level-number-position:left; + margin-left:144.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l145 + {mso-list-id:2128114571; + mso-list-type:hybrid; + mso-list-template-ids:-357941158;} +@list l145:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l146 + {mso-list-id:2137676415; + mso-list-type:hybrid; + mso-list-template-ids:-244932602;} +@list l146:level1 + {mso-level-number-format:bullet; + mso-level-text:\F0B7; + mso-level-tab-stop:72.0pt; + mso-level-number-position:left; + margin-left:72.0pt; + text-indent:-18.0pt; + font-family:Symbol;} +@list l10:level1 lfo1 + {mso-level-start-at:1; + mso-level-number-format:bullet; + mso-level-numbering:continue; + mso-level-text:\F0B7; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:6.0pt; + mso-level-legacy-space:0cm; + margin-left:96.0pt; + text-indent:-6.0pt; + mso-ansi-font-size:9.0pt; + font-family:Symbol;} +@list l10:level1 lfo14 + {mso-level-start-at:1; + mso-level-number-format:bullet; + mso-level-numbering:continue; + mso-level-text:\F06E; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:18.0pt; + mso-level-legacy-space:0cm; + margin-left:72.0pt; + text-indent:-18.0pt; + mso-ansi-font-size:8.0pt; + font-family:Wingdings;} +@list l10:level1 lfo16 + {mso-level-start-at:1; + mso-level-number-format:bullet; + mso-level-numbering:continue; + mso-level-text:\F0B7; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:6.0pt; + mso-level-legacy-space:0cm; + margin-left:96.0pt; + text-indent:-6.0pt; + mso-ansi-font-size:9.0pt; + font-family:Symbol;} +@list l10:level1 lfo19 + {mso-level-start-at:1; + mso-level-number-format:bullet; + mso-level-numbering:continue; + mso-level-text:\F06E; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:18.0pt; + mso-level-legacy-space:0cm; + margin-left:72.0pt; + text-indent:-18.0pt; + mso-ansi-font-size:8.0pt; + font-family:Wingdings;} +@list l10:level1 lfo20 + {mso-level-start-at:1; + mso-level-number-format:bullet; + mso-level-numbering:continue; + mso-level-text:\F0B7; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:6.0pt; + mso-level-legacy-space:0cm; + margin-left:96.0pt; + text-indent:-6.0pt; + mso-ansi-font-size:9.0pt; + font-family:Symbol;} +@list l91:level1 lfo21 + {mso-level-numbering:continue; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:18.0pt; + mso-level-legacy-space:0cm; + margin-left:72.0pt; + text-indent:-18.0pt; + mso-ansi-font-size:9.0pt; + font-family:Symbol; + mso-ansi-font-weight:normal; + mso-ansi-font-style:normal;} +@list l10:level1 lfo22 + {mso-level-start-at:1; + mso-level-number-format:bullet; + mso-level-numbering:continue; + mso-level-text:\F06E; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:18.0pt; + mso-level-legacy-space:0cm; + margin-left:72.0pt; + text-indent:-18.0pt; + mso-ansi-font-size:8.0pt; + font-family:Wingdings;} +@list l64:level1 lfo23 + {mso-level-start-at:1; + mso-level-number-format:bullet; + mso-level-numbering:continue; + mso-level-text:\F020; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:0cm; + mso-level-legacy-space:0cm; + margin-left:54.0pt; + text-indent:0cm; + font-family:Symbol;} +@list l127:level1 lfo24 + {mso-level-start-at:1; + mso-level-number-format:bullet; + mso-level-numbering:continue; + mso-level-text:\F020; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:0cm; + mso-level-legacy-space:0cm; + margin-left:54.0pt; + text-indent:0cm; + font-family:Symbol;} +@list l10:level1 lfo146 + {mso-level-number-format:bullet; + mso-level-numbering:continue; + mso-level-text:�; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:0cm; + mso-level-legacy-space:0cm; + margin-left:0cm; + text-indent:0cm; + mso-ansi-font-size:18.0pt; + font-family:"Times New Roman";} +@list l10:level1 lfo147 + {mso-level-number-format:bullet; + mso-level-numbering:continue; + mso-level-text:�; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:0cm; + mso-level-legacy-space:0cm; + margin-left:0cm; + text-indent:0cm; + mso-ansi-font-size:16.0pt; + font-family:"Times New Roman";} +@list l10:level1 lfo148 + {mso-level-number-format:bullet; + mso-level-numbering:continue; + mso-level-text:�; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:0cm; + mso-level-legacy-space:0cm; + margin-left:0cm; + text-indent:0cm; + mso-ansi-font-size:12.0pt; + font-family:"Times New Roman";} +@list l10:level1 lfo151 + {mso-level-number-format:bullet; + mso-level-numbering:continue; + mso-level-text:\F0E0; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:0cm; + mso-level-legacy-space:0cm; + margin-left:0cm; + text-indent:0cm; + mso-ansi-font-size:12.0pt; + font-family:Wingdings;} +@list l106:level1 lfo152 + {mso-level-number-format:bullet; + mso-level-numbering:continue; + mso-level-text:\F0E0; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:0cm; + mso-level-legacy-space:0cm; + margin-left:0cm; + text-indent:0cm; + mso-ansi-font-size:14.0pt; + font-family:Wingdings;} +@list l55:level1 lfo153 + {mso-level-number-format:bullet; + mso-level-numbering:continue; + mso-level-text:\F0E0; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:0cm; + mso-level-legacy-space:0cm; + margin-left:0cm; + text-indent:0cm; + mso-ansi-font-size:14.0pt; + font-family:Wingdings;} +@list l40:level1 lfo154 + {mso-level-number-format:bullet; + mso-level-numbering:continue; + mso-level-text:\F0E0; + mso-level-tab-stop:none; + mso-level-number-position:left; + mso-level-legacy:yes; + mso-level-legacy-indent:0cm; + mso-level-legacy-space:0cm; + margin-left:0cm; + text-indent:0cm; + mso-ansi-font-size:14.0pt; + font-family:Wingdings;} +ol + {margin-bottom:0cm;} +ul + {margin-bottom:0cm;} +--> +</style> +<!--[if gte mso 9]><xml> + <o:shapedefaults v:ext="edit" spidmax="3074"> + <o:colormru v:ext="edit" colors="#ddd,#eaeaea"/> + <o:colormenu v:ext="edit" fillcolor="#eaeaea"/> + </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml> + <o:shapelayout v:ext="edit"> + <o:idmap v:ext="edit" data="2"/> + <o:regrouptable v:ext="edit"> + <o:entry new="1" old="0"/> + <o:entry new="2" old="0"/> + <o:entry new="3" old="0"/> + <o:entry new="4" old="0"/> + <o:entry new="5" old="0"/> + <o:entry new="6" old="0"/> + <o:entry new="7" old="0"/> + </o:regrouptable> + </o:shapelayout></xml><![endif]--> +</head> + +<body lang=EN-AU link=blue vlink=purple style='tab-interval:36.0pt'> + +<div class=Section1> + +<div style='border:none;border-top:solid windowtext .75pt;padding:16.0pt 0cm 0cm 0cm'> + +<p class=MsoTitle style='line-height:normal'><a name="_Toc528375529"></a><a +name="_Toc528662631"></a><a name="_Toc528922558"><span style='mso-bookmark: +_Toc528662631'><span style='mso-bookmark:_Toc528375529'>Developer Documentation</span></span></a></p> + +<p class=MsoTitle style='line-height:normal'><span style='mso-bookmark:_Toc528922558'><span +style='mso-bookmark:_Toc528662631'><span style='mso-bookmark:_Toc528375529'>The +OpenACS Structure</span></span></span></p> + +</div> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1 style='line-height:normal'><a name="_Toc527288156"></a><a +name="_Toc527288507"></a><a name="_Toc527288887"></a><a name="_Toc528375530"></a><a +name="_Toc528659934"><span style='mso-bookmark:_Toc528375530'><span +style='mso-bookmark:_Toc527288887'><span style='mso-bookmark:_Toc527288507'><span +style='mso-bookmark:_Toc527288156'>Directory Structure</span></span></span></span></a></h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:18.15pt'>The +conventional directory structure set by OpenACS for developers to follow when +they are creating packages to run under OpenACS is a well-designed and modular +one. It enables the application to operate under different database systems and +makes it easy for future developers to edit the application or add +functionality to it.</p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:18.15pt'>The structure +is based upon a system of separating the files depending on their function. The +different functions are:</p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l62 level1 lfo113;tab-stops:list 54.0pt'><![if !supportLists]>1.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>Information +file, indicating what files there are and where they are located</p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l62 level1 lfo113;tab-stops:list 54.0pt'><![if !supportLists]>2.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>Data +model files, which create the data structures that will be used to store the +information<span style='mso-tab-count:1'>������� </span></p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l62 level2 lfo113;tab-stops:list 90.0pt'><![if !supportLists]>a.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>For +PostgreSQL</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l62 level2 lfo113;tab-stops:list 90.0pt'><![if !supportLists]>b.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>For +Oracle</p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l62 level1 lfo113;tab-stops:list 54.0pt'><![if !supportLists]>3.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>Query +files, which allow the application to be displayed online and query the +database</p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:15.15pt'>Files from +each one of these functions are each placed in a different directory to +separate them from each other and make it easy to identify their purpose. </p> + +<p class=MsoNormal style='margin-left:0cm;text-indent:15.15pt'>The directory is +structured as follows:</p> + +<p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoNormal style='margin-left:3.0cm'>./packages/</p> + +<p class=MsoNormal style='margin-left:3.0cm'><span style='mso-tab-count:1'>������� </span><span +style='font-family:Wingdings;mso-ascii-font-family:Arial;mso-hansi-font-family: +Arial;mso-char-type:symbol;mso-symbol-font-family:Wingdings'><span +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>�</span></span> +Services packages</p> + +<p class=MsoNormal style='margin-left:3.0cm'><span style='mso-tab-count:1'>������� </span><span +style='font-family:Wingdings;mso-ascii-font-family:Arial;mso-hansi-font-family: +Arial;mso-char-type:symbol;mso-symbol-font-family:Wingdings'><span +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>�</span></span> +Application packages</p> + +<p class=MsoNormal style='margin-left:3.0cm'><span style='mso-tab-count:1'>������� </span><span +style='font-family:Wingdings;mso-ascii-font-family:Arial;mso-hansi-font-family: +Arial;mso-char-type:symbol;mso-symbol-font-family:Wingdings'><span +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>�</span></span> +/wp-slim/</p> + +<p class=MsoNormal style='margin-left:3.0cm'><span style='mso-tab-count:2'>������������������� </span><span +style='font-family:Wingdings;mso-ascii-font-family:Arial;mso-hansi-font-family: +Arial;mso-char-type:symbol;mso-symbol-font-family:Wingdings'><span +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>�</span></span> +wp-slim.info</p> + +<p class=MsoNormal style='margin-left:3.0cm'><span style='mso-tab-count:2'>������������������� </span><span +style='font-family:Wingdings;mso-ascii-font-family:Arial;mso-hansi-font-family: +Arial;mso-char-type:symbol;mso-symbol-font-family:Wingdings'><span +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>�</span></span> +/sql/</p> + +<p class=MsoNormal style='margin-left:3.0cm'><span style='mso-tab-count:3'>������������������������������� </span><span +style='font-family:Wingdings;mso-ascii-font-family:Arial;mso-hansi-font-family: +Arial;mso-char-type:symbol;mso-symbol-font-family:Wingdings'><span +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>�</span></span> +/oracle/</p> + +<p class=MsoNormal style='margin-left:3.0cm'><span style='mso-tab-count:4'>������������������������������������������� </span><span +style='font-family:Wingdings;mso-ascii-font-family:Arial;mso-hansi-font-family: +Arial;mso-char-type:symbol;mso-symbol-font-family:Wingdings'><span +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>�</span></span> +data model files</p> + +<p class=MsoNormal style='margin-left:3.0cm'><span style='mso-tab-count:3'>������������������������������� </span><span +style='font-family:Wingdings;mso-ascii-font-family:Arial;mso-hansi-font-family: +Arial;mso-char-type:symbol;mso-symbol-font-family:Wingdings'><span +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>�</span></span> +/postgresql/</p> + +<p class=MsoNormal style='margin-left:3.0cm'><span style='mso-tab-count:4'>������������������������������������������� </span><span +style='font-family:Wingdings;mso-ascii-font-family:Arial;mso-hansi-font-family: +Arial;mso-char-type:symbol;mso-symbol-font-family:Wingdings'><span +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>�</span></span> +data model files</p> + +<p class=MsoNormal style='margin-left:3.0cm'><span style='mso-tab-count:2'>������������������� </span><span +style='font-family:Wingdings;mso-ascii-font-family:Arial;mso-hansi-font-family: +Arial;mso-char-type:symbol;mso-symbol-font-family:Wingdings'><span +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>�</span></span> +/www/</p> + +<p class=MsoNormal style='margin-left:3.0cm'><span style='mso-tab-count:3'>������������������������������� </span><span +style='font-family:Wingdings;mso-ascii-font-family:Arial;mso-hansi-font-family: +Arial;mso-char-type:symbol;mso-symbol-font-family:Wingdings'><span +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>�</span></span> +/pics/</p> + +<p class=MsoNormal style='margin-left:3.0cm'><span style='mso-tab-count:4'>������������������������������������������� </span><span +style='font-family:Wingdings;mso-ascii-font-family:Arial;mso-hansi-font-family: +Arial;mso-char-type:symbol;mso-symbol-font-family:Wingdings'><span +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>�</span></span> +picture files associated with the package</p> + +<p class=MsoNormal style='margin-left:3.0cm'><span style='mso-tab-count:3'>������������������������������� </span><span +style='font-family:Wingdings;mso-ascii-font-family:Arial;mso-hansi-font-family: +Arial;mso-char-type:symbol;mso-symbol-font-family:Wingdings'><span +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>�</span></span> Query +files </p> + +<p class=MsoNormal style='margin-left:3.0cm;text-indent:18.0pt'><span +style='font-family:Wingdings;mso-ascii-font-family:Arial;mso-hansi-font-family: +Arial;mso-char-type:symbol;mso-symbol-font-family:Wingdings'><span +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>�</span></span> +TCL flies</p> + +<p class=MsoNormal style='margin-left:3.0cm'><span style='font-family:Wingdings; +mso-ascii-font-family:Arial;mso-hansi-font-family:Arial;mso-char-type:symbol; +mso-symbol-font-family:Wingdings'><span style='mso-char-type:symbol;mso-symbol-font-family: +Wingdings'>�</span></span> ADP files</p> + +<p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:36.0pt'>There are +several aspects of this file structure that should be highlighted. Firstly, it +is through the use of a different directory under the SQL directory that allows +OpenACS to operate under several different database systems without any inputs +from the user. This is possible through the use of the <span style='color:black'>Query +Dispatcher</span>. The query dispatcher acts as a middle agent, deciding which +queries to use depending on the database platform. At the moment it can +recognise both Oracle and PostgreSQL. The structure of the application is such, +however, that it can be extended to include other database managers easily.</p> + +<p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc528375531"></a><a name="_Toc528659935"><span style='mso-bookmark: +_Toc528375531'>OpenACS Architecture</span></a></h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>OpenACS +architecture involves a number of layers that enables a fairly sophisticated +package to operate:</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l145 level1 lfo114;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Independent of the type of database used</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l145 level1 lfo114;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Allows for the use of permissions and grouping of +members</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l145 level1 lfo114;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Separation of packages so that the user may choose what +functions they may want</p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:36.0pt'>The basic +elements of the OpenACS application involves the following building blocks:</p> + +<p class=MsoBodyText align=left style='margin-left:72.0pt;text-align:left; +text-indent:-18.0pt;mso-list:l145 level1 lfo114;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>AOL Server </p> + +<p class=MsoBodyText align=left style='margin-left:72.0pt;text-align:left; +text-indent:-18.0pt;mso-list:l145 level1 lfo114;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Oracle or PostgreSQL RDBMS</p> + +<p class=MsoBodyText align=left style='margin-left:72.0pt;text-align:left; +text-indent:-18.0pt;mso-list:l145 level1 lfo114;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>OpenACS installation</p> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:18.15pt'>The AOLServer is the means by which OpenACS can maintain a +presence online. It acts as a web server and hosts the OpenACS files. It is a +very reliable and proven system, used by many large organizations such as Sloan +School of Business and Ericsson amongst others. </p> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:18.15pt'>OpenACS itself can also be downloaded online for free, +from <a href="http://www.openacs.org/">http://www.openacs.org</a>, as can all +the other systems required (except the Oracle RDBMS which must be purchased).</p> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:18.15pt'>As a backend OpenACS uses a Relational Database system to +keep track of its data store. It can use both a PostgreSQL or an Oracle RDBMS +to perform this role. However, the whole purpose of the OpenACS system is to be +open source software. Forcing users of the system to purchase a commercial +Oracle RDBMS defeats this purpose. This has led to the porting of the OpenACS +system so that it is able to work on an open source RDBMS, PostgreSQL. However, +at the same time support for the Oracle RDBMS had to continue and this was +possible by the implementation of the Database Independent structure designed +by OpenACS and discussed later. This is the main purpose of this thesis. </p> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:18.15pt'>Each of these elements forms the building blocks upon +which the software package can run. The actual programming languages used to +build up on the OpenACS application involves the use of:</p> + +<p class=MsoBodyText align=left style='margin-left:72.0pt;text-align:left; +text-indent:-18.0pt;mso-list:l16 level1 lfo115;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>SQL </p> + +<p class=MsoBodyText align=left style='margin-left:72.0pt;text-align:left; +text-indent:-18.0pt;mso-list:l16 level1 lfo115;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>XQL</p> + +<p class=MsoBodyText align=left style='margin-left:72.0pt;text-align:left; +text-indent:-18.0pt;mso-list:l16 level1 lfo115;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>TCL</p> + +<p class=MsoBodyText align=left style='margin-left:72.0pt;text-align:left; +text-indent:-18.0pt;mso-list:l16 level1 lfo115;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>ADP</p> + +<p class=MsoBodyText align=left style='margin-left:72.0pt;text-align:left; +text-indent:-18.0pt;mso-list:l16 level1 lfo115;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>HTML</p> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left'><span +style='mso-tab-count:1'>����������� </span>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 +for scalable systems). </p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:36.0pt'>In effect for +every installation of the OpenACS application the following systems have to be +considered:</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l143 level1 lfo116;tab-stops:list 72.0pt'><![if !supportLists]>1.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>Unix: +This is a remarkably reliable and complex operating that also has security +features. It offers multiprocessing and memory protection. And the multi +tasking facility allows the use of Relational Database Management Systems. </p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l143 level1 lfo116;tab-stops:list 72.0pt'><![if !supportLists]>2.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>It +is also Open source and follows the vein in which OpenACS is following. Unix is +also a very good operating system for running high volume web sites.</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l143 level1 lfo116;tab-stops:list 72.0pt'><![if !supportLists]>3.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>RDBMS: +To store the information in an organised manner and allows for easy retrieval +of that information. Both are ACID compliant meaning that they allow for atomicity +(all events scheduled to happen actually occur or none of the events occur), +consistency (that is illegal events that cause the database to enter an invalid +state are not allowed to occur and cause a roll back to occur), isolation +(results of transactions are invisible to all other transactions until that +transaction is finished) and durability (results of transactions are permanent +and will survive system failures).</p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l143 level2 lfo116;tab-stops:list 108.0pt'><![if !supportLists]>a.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>Oracle: +Commercial RDBMS.</p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l143 level2 lfo116;tab-stops:list 108.0pt'><![if !supportLists]>b.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>PostgreSQL: +Open source RDBMS</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l143 level1 lfo116;tab-stops:list 72.0pt'><![if !supportLists]>4.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>AOLServer +Web Server: To prepare the web pages. It also has a high degree of connectivity +with various RDBMS. Open source as well. </p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l143 level1 lfo116;tab-stops:list 72.0pt'><![if !supportLists]>5.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>OpenACS +Installation</p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:18.15pt'>The OpenACS +architecture is designed such that it provides for a way of delivering Web +services cheaply, effectively and reliably. This is made possible by the use of +modular pieces throughout the designing phase.</p> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1>PERMISSIONS</h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm'>OpenACS uses a standardised way of +checking permissions to objects. This is done by the acs services package +called acs-permissions that establishes the permissions that can be used and +how they are used.</p> + +<div style='border:none;border-top:solid windowtext .75pt;padding:16.0pt 0cm 0cm 0cm'> + +<p class=MsoTitle><a name="_Toc528662632"></a><a name="_Toc528922559"><span +style='mso-bookmark:_Toc528662632'>Data Model</span></a></p> + +</div> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc528375532"></a><a name="_Toc528659936"><span style='mso-bookmark: +_Toc528375532'>Background Information</span></a></h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:18.15pt'>The data model +is the most difficult part of a package. If the design and execution is not +correct then the application may not do what the users want it to do and it +might be unreliable. Another matter that must be considered is the effective +use of the RDBMS and whether or not only relevant information is stored to make +best use of the resources available to it. You cannot use the queries, +insertions and retrievals from the web pages without first having defined some +tables.</p> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>What +happens is that tables are created to store info, set variables within these +tables to organise the information.</p> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>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:</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l36 level1 lfo117;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Varchar: which are string of characters</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l36 level1 lfo117;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Integer: Natural numbers</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l36 level1 lfo117;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Float: Real Numbers</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l36 level1 lfo117;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Boolean: True or False tokens</p> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc527288159"></a><a name="_Toc527288512"></a><a +name="_Toc527288892"></a><a name="_Toc528375533"></a><a name="_Toc528659937"><span +style='mso-bookmark:_Toc528375533'><span style='mso-bookmark:_Toc527288892'><span +style='mso-bookmark:_Toc527288512'><span style='mso-bookmark:_Toc527288159'>Wimpy +Point Data Model Structure</span></span></span></span></a></h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:18.0pt'>The wimpy point +package uses a data structure that closely follows the structure of an actual +presentation. In this regard there are a number of elements that form a +presentation:</p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l111 level1 lfo119;tab-stops:list 54.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Presentation: each presentation has a presentation row +associated to it</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l111 level2 lfo119;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-bidi-font-family:"Times New Roman"'>o<span +style='font:7.0pt "Times New Roman"'> </span></span><![endif]>The +information stored includes:</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l111 level3 lfo119;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Presentation ID</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l111 level3 lfo119;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Presentation Title</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l111 level3 lfo119;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Page Signature</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l111 level3 lfo119;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Copyright Notice</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l111 level3 lfo119;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Style</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l111 level3 lfo119;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Audience</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l111 level3 lfo119;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Background</p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l111 level1 lfo119;tab-stops:list 54.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Slide: each presentation has a number of slides +associated to it</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l111 level2 lfo119;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-bidi-font-family:"Times New Roman"'>o<span +style='font:7.0pt "Times New Roman"'> </span></span><![endif]>The +information stored includes:</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l111 level3 lfo119;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Slide ID</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l111 level3 lfo119;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Slide Title</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l111 level3 lfo119;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Text Information</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l111 level3 lfo119;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Bullet Point Information</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l111 level3 lfo119;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Images</p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l111 level1 lfo119;tab-stops:list 54.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Attachments: each slide is allowed to have a number of +images associated to it</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l111 level2 lfo119;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-bidi-font-family:"Times New Roman"'>o<span +style='font:7.0pt "Times New Roman"'> </span></span><![endif]>The +information stored includes:</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l111 level3 lfo119;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>The file name of the image</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l111 level3 lfo119;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Where in the slide the picture will be displayed</p> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>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 +these functions the database would be useless, as there would be no way to +store the data. These functions are performed from the SQL queries that form +part of the HTML, TCL and ADP files. They represent the actions that are taken +on the database. </p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:36.0pt'>These functions +perform a number of functions such as:</p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l141 level3 lfo157;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Presentations:</p> + +<p class=MsoBodyText style='margin-left:144.0pt;text-indent:-18.0pt;mso-list: +l141 level4 lfo157;tab-stops:list 144.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Create new presentation</p> + +<p class=MsoBodyText style='margin-left:144.0pt;text-indent:-18.0pt;mso-list: +l141 level4 lfo157;tab-stops:list 144.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Modify existing presentation</p> + +<p class=MsoBodyText style='margin-left:144.0pt;text-indent:-18.0pt;mso-list: +l141 level4 lfo157;tab-stops:list 144.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Delete existing presentation</p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l141 level3 lfo157;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Slides:</p> + +<p class=MsoBodyText style='margin-left:144.0pt;text-indent:-18.0pt;mso-list: +l141 level4 lfo157;tab-stops:list 144.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Create new slide</p> + +<p class=MsoBodyText style='margin-left:144.0pt;text-indent:-18.0pt;mso-list: +l141 level4 lfo157;tab-stops:list 144.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Modify existing slide</p> + +<p class=MsoBodyText style='margin-left:144.0pt;text-indent:-18.0pt;mso-list: +l141 level4 lfo157;tab-stops:list 144.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Delete existing slide</p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l141 level3 lfo157;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Attachments:</p> + +<p class=MsoBodyText style='margin-left:144.0pt;text-indent:-18.0pt;mso-list: +l141 level4 lfo157;tab-stops:list 144.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Create new attachment</p> + +<p class=MsoBodyText style='margin-left:144.0pt;text-indent:-18.0pt;mso-list: +l141 level4 lfo157;tab-stops:list 144.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Modify existing attachment</p> + +<p class=MsoBodyText style='margin-left:144.0pt;text-indent:-18.0pt;mso-list: +l141 level4 lfo157;tab-stops:list 144.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Delete existing attachment</p> + +<span style='font-size:12.0pt;mso-bidi-font-size:10.0pt;font-family:Arial; +mso-fareast-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman"; +letter-spacing:-.25pt;mso-ansi-language:EN-AU;mso-fareast-language:EN-US; +mso-bidi-language:AR-SA'><br clear=all style='page-break-before:always'> +</span> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>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). +Each slide then has associated to it a title, preamble, bullet items, +post-amble and an attachment (box 3). Each attachment in turn has information +on the name of the file and where on the slide to display the image. Based on +this it is evident how one table may have links to objects in other tables, and +so on.</p> + +<span style='font-size:12.0pt;mso-bidi-font-size:10.0pt;font-family:Arial; +mso-fareast-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman"; +letter-spacing:-.25pt;mso-ansi-language:EN-AU;mso-fareast-language:EN-US; +mso-bidi-language:AR-SA'><br clear=all style='mso-special-character:line-break; +page-break-before:always'> +</span> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm'><!--[if gte vml 1]><v:shapetype + id="_x0000_t202" coordsize="21600,21600" o:spt="202" path="m0,0l0,21600,21600,21600,21600,0xe"> + <v:stroke joinstyle="miter"/> + <v:path gradientshapeok="t" o:connecttype="rect"/> +</v:shapetype><v:shape id="_x0000_s2234" type="#_x0000_t202" style='position:absolute; + left:0;text-align:left;margin-left:290.05pt;margin-top:126.45pt;width:46.75pt; + height:18.7pt;z-index:1'> + <v:textbox> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:9.0pt; + mso-bidi-font-size:10.0pt'>Slides<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> +</v:shape><v:group id="_x0000_s2385" style='position:absolute;left:0; + text-align:left;margin-left:68.1pt;margin-top:-17.05pt;width:516.9pt;height:495.55pt; + z-index:13' coordorigin="764,4231" coordsize="10338,9911"> + <v:group id="_x0000_s2236" style='position:absolute;left:764;top:4231;width:10338; + height:9911' coordorigin="764,4231" coordsize="10338,9911"> + <v:group id="_x0000_s2215" style='position:absolute;left:764;top:4231; + width:10338;height:8843' coordorigin="764,4231" coordsize="10338,8843"> + <v:group id="_x0000_s2209" style='position:absolute;left:764;top:4285; + width:10338;height:8789' coordorigin="764,5393" coordsize="10338,8789"> + <v:rect id="_x0000_s2202" style='position:absolute;left:1138;top:11190; + width:4675;height:2992'/> + <v:group id="_x0000_s2156" style='position:absolute;left:1004;top:5498; + width:5610;height:3553' coordorigin="764,678" coordsize="5610,3553"> + <v:group id="_x0000_s2157" style='position:absolute;left:764;top:678; + width:4488;height:3553' coordorigin="764,678" coordsize="4488,3553"> + <v:rect id="_x0000_s2158" style='position:absolute;left:764;top:678; + width:4488;height:3553'/> + <v:rect id="_x0000_s2159" style='position:absolute;left:2073;top:1052; + width:1309;height:1122'/> + <v:rect id="_x0000_s2160" style='position:absolute;left:2313;top:1292; + width:1309;height:1122'/> + <v:rect id="_x0000_s2161" style='position:absolute;left:2553;top:1532; + width:1309;height:1122'/> + <v:rect id="_x0000_s2162" style='position:absolute;left:2793;top:1772; + width:1309;height:1122'/> + <v:rect id="_x0000_s2163" style='position:absolute;left:3033;top:2012; + width:1309;height:1122'/> + </v:group><v:shapetype id="_x0000_t13" coordsize="21600,21600" o:spt="13" + adj="16200,5400" path="m@0,0l@0@1,0@1,0@2@0@2@0,21600,21600,10800xe"> + <v:stroke joinstyle="miter"/> + <v:formulas> + <v:f eqn="val #0"/> + <v:f eqn="val #1"/> + <v:f eqn="sum height 0 #1"/> + <v:f eqn="sum 10800 0 #1"/> + <v:f eqn="sum width 0 #0"/> + <v:f eqn="prod @4 @3 10800"/> + <v:f eqn="sum width 0 @5"/> + </v:formulas> + <v:path o:connecttype="custom" o:connectlocs="@0,0;0,10800;@0,21600;21600,10800" + o:connectangles="270,180,90,0" textboxrect="0,@1,@6,@2"/> + <v:handles> + <v:h position="#0,#1" xrange="0,21600" yrange="0,10800"/> + </v:handles> + </v:shapetype><v:shape id="_x0000_s2164" type="#_x0000_t13" style='position:absolute; + left:4504;top:2548;width:1870;height:374'/> + </v:group><v:rect id="_x0000_s2166" style='position:absolute;left:6614; + top:5499;width:4488;height:3553' o:regroupid="3"/> + <v:rect id="_x0000_s2175" style='position:absolute;left:6614;top:9425; + width:4488;height:4675' o:regroupid="4"/> + <v:rect id="_x0000_s2176" style='position:absolute;left:6988;top:9612; + width:3927;height:455' o:regroupid="4"> + <v:textbox style='mso-next-textbox:#_x0000_s2176'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'>Slide Title</p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:rect id="_x0000_s2177" style='position:absolute;left:6935; + top:11003;width:2431;height:1309' o:regroupid="4"> + <v:textbox style='mso-next-textbox:#_x0000_s2177'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'>Bullet Items</p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:rect id="_x0000_s2178" style='position:absolute;left:6935; + top:12499;width:3927;height:561' o:regroupid="4"> + <v:textbox style='mso-next-textbox:#_x0000_s2178'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'>Post-amble</p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:rect id="_x0000_s2179" style='position:absolute;left:6988; + top:13247;width:3927;height:480' o:regroupid="4"> + <v:textbox style='mso-next-textbox:#_x0000_s2179'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'>Attachments</p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:shapetype id="_x0000_t67" coordsize="21600,21600" o:spt="67" + adj="16200,5400" path="m0@0l@1@0@1,0@2,0@2@0,21600@0,10800,21600xe"> + <v:stroke joinstyle="miter"/> + <v:formulas> + <v:f eqn="val #0"/> + <v:f eqn="val #1"/> + <v:f eqn="sum height 0 #1"/> + <v:f eqn="sum 10800 0 #1"/> + <v:f eqn="sum width 0 #0"/> + <v:f eqn="prod @4 @3 10800"/> + <v:f eqn="sum width 0 @5"/> + </v:formulas> + <v:path o:connecttype="custom" o:connectlocs="10800,0;0,@0;10800,21600;21600,@0" + o:connectangles="270,180,90,0" textboxrect="@1,0,@2,@6"/> + <v:handles> + <v:h position="#1,#0" xrange="0,10800" yrange="0,21600"/> + </v:handles> + </v:shapetype><v:shape id="_x0000_s2173" type="#_x0000_t67" style='position:absolute; + left:9740;top:8946;width:374;height:561' o:regroupid="3"/> + <v:rect id="_x0000_s2192" style='position:absolute;left:6935;top:5767; + width:3927;height:374'> + <v:textbox style='mso-next-textbox:#_x0000_s2192'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'>Presentation Title</p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:rect id="_x0000_s2193" style='position:absolute;left:6935; + top:6141;width:3927;height:374'> + <v:textbox style='mso-next-textbox:#_x0000_s2193'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'>Page Signature</p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:rect id="_x0000_s2194" style='position:absolute;left:6935; + top:6515;width:3927;height:374'> + <v:textbox style='mso-next-textbox:#_x0000_s2194'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'>Audience</p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:rect id="_x0000_s2195" style='position:absolute;left:6935; + top:6889;width:3927;height:374'> + <v:textbox style='mso-next-textbox:#_x0000_s2195'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'>Background</p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:rect id="_x0000_s2196" style='position:absolute;left:8057; + top:7450;width:1309;height:1122'/> + <v:rect id="_x0000_s2198" style='position:absolute;left:8618;top:7637; + width:1309;height:1122'/> + <v:rect id="_x0000_s2199" style='position:absolute;left:9179;top:7824; + width:1309;height:1122'/> + <v:rect id="_x0000_s2201" style='position:absolute;left:6935;top:10255; + width:3927;height:561'> + <v:textbox style='mso-next-textbox:#_x0000_s2201'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'>Preamble</p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:shapetype id="_x0000_t66" coordsize="21600,21600" o:spt="66" + adj="5400,5400" path="m@0,0l@0@1,21600@1,21600@2@0@2@0,21600,,10800xe"> + <v:stroke joinstyle="miter"/> + <v:formulas> + <v:f eqn="val #0"/> + <v:f eqn="val #1"/> + <v:f eqn="sum 21600 0 #1"/> + <v:f eqn="prod #0 #1 10800"/> + <v:f eqn="sum #0 0 @3"/> + </v:formulas> + <v:path o:connecttype="custom" o:connectlocs="@0,0;0,10800;@0,21600;21600,10800" + o:connectangles="270,180,90,0" textboxrect="@4,@1,21600,@2"/> + <v:handles> + <v:h position="#0,#1" xrange="0,21600" yrange="0,10800"/> + </v:handles> + </v:shapetype><v:shape id="_x0000_s2118" type="#_x0000_t66" style='position:absolute; + left:5252;top:13247;width:1683;height:374' o:regroupid="5"/> + <v:rect id="_x0000_s2203" style='position:absolute;left:1512;top:11377; + width:3366;height:561'> + <v:textbox style='mso-next-textbox:#_x0000_s2203'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'>Filename</p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:rect id="_x0000_s2204" style='position:absolute;left:1512; + top:12125;width:3366;height:561'> + <v:textbox style='mso-next-textbox:#_x0000_s2204'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'>Where to Display</p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:rect id="_x0000_s2205" style='position:absolute;left:764;top:5393; + width:561;height:561'> + <v:textbox style='mso-next-textbox:#_x0000_s2205'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoIndexHeading style='line-height:normal;page-break-after: + auto'><span style='font-family:Arial;mso-bidi-font-family:"Times New Roman"'>1<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:rect id="_x0000_s2206" style='position:absolute;left:6187; + top:5393;width:561;height:561'> + <v:textbox style='mso-next-textbox:#_x0000_s2206'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'>2</p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:rect id="_x0000_s2207" style='position:absolute;left:6187; + top:9319;width:561;height:561'> + <v:textbox style='mso-next-textbox:#_x0000_s2207'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'>3</p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:rect id="_x0000_s2208" style='position:absolute;left:764;top:10816; + width:561;height:561'> + <v:textbox style='mso-next-textbox:#_x0000_s2208'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'>4</p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect></v:group><v:rect id="_x0000_s2210" style='position:absolute; + left:1886;top:4231;width:2618;height:374'> + <v:textbox style='mso-next-textbox:#_x0000_s2210'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:9.0pt; + mso-bidi-font-size:10.0pt'>Wimpy Point<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:rect id="_x0000_s2211" style='position:absolute;left:1138;top:6288; + width:1496;height:374'> + <v:textbox style='mso-next-textbox:#_x0000_s2211'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:9.0pt; + mso-bidi-font-size:10.0pt'>Presentations<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:rect id="_x0000_s2212" style='position:absolute;left:6935;top:4231; + width:2618;height:374'> + <v:textbox style='mso-next-textbox:#_x0000_s2212'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:9.0pt; + mso-bidi-font-size:10.0pt'>Presentation<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:rect id="_x0000_s2213" style='position:absolute;left:6748;top:8158; + width:2618;height:374'> + <v:textbox style='mso-next-textbox:#_x0000_s2213'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:9.0pt; + mso-bidi-font-size:10.0pt'>Slide<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:rect id="_x0000_s2214" style='position:absolute;left:1699;top:9841; + width:2618;height:374'> + <v:textbox style='mso-next-textbox:#_x0000_s2214'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:9.0pt; + mso-bidi-font-size:10.0pt'>Attachment<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect></v:group><v:shape id="_x0000_s2235" type="#_x0000_t202" style='position:absolute; + left:1138;top:13394;width:9537;height:748'> + <v:textbox style='mso-next-textbox:#_x0000_s2235'> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoPlainText><span style='font-family:Arial;mso-bidi-font-family: + "Times New Roman";letter-spacing:-.25pt'>Figure 5.2: This drawing shows + how all the elements of a presentation link together to allow the + creation of an entire presentation. This drawing also gives a rudimentary + depiction of the data model.<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:shape></v:group><v:rect id="_x0000_s2250" style='position:absolute; + left:6748;top:6902;width:1122;height:374'> + <v:textbox> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt'>Slides<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect></v:group><![endif]--><![if !vml]><span style='mso-ignore:vglayout; +position:relative;z-index:0;left:91px;top:-23px;width:690px;height:664px'><img +width=690 height=664 src="./dev-doc_files/image001.gif" v:shapes="_x0000_s2234 _x0000_s2385 _x0000_s2236 _x0000_s2215 _x0000_s2209 _x0000_s2202 _x0000_s2156 _x0000_s2157 _x0000_s2158 _x0000_s2159 _x0000_s2160 _x0000_s2161 _x0000_s2162 _x0000_s2163 _x0000_s2164 _x0000_s2166 _x0000_s2175 _x0000_s2176 _x0000_s2177 _x0000_s2178 _x0000_s2179 _x0000_s2173 _x0000_s2192 _x0000_s2193 _x0000_s2194 _x0000_s2195 _x0000_s2196 _x0000_s2198 _x0000_s2199 _x0000_s2201 _x0000_s2118 _x0000_s2203 _x0000_s2204 _x0000_s2205 _x0000_s2206 _x0000_s2207 _x0000_s2208 _x0000_s2210 _x0000_s2211 _x0000_s2212 _x0000_s2213 _x0000_s2214 _x0000_s2235 _x0000_s2250"></span><![endif]><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<br style='mso-ignore:vglayout' clear=ALL> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc527288160"></a><a name="_Toc527288513"></a><a +name="_Toc527288893"></a><a name="_Toc528375534"></a><a name="_Toc528659938"><span +style='mso-bookmark:_Toc528375534'><span style='mso-bookmark:_Toc527288893'><span +style='mso-bookmark:_Toc527288513'><span style='mso-bookmark:_Toc527288160'>Oracle +to PostgreSQL Data Model</span></span></span></span></a></h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>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 +compatible with PostgreSQL. As such the first step in creating the new Wimpy +Point application was the creation of a data model compatible with PostgreSQL +and Oracle. To facilitate this the directory structure of the application was +changed to allow two database systems to run. This was achieved by creating the +following directory structure:</p> + +<p class=MsoBodyText style='margin-left:36.0pt;text-indent:36.0pt'><b +style='mso-bidi-font-weight:normal'><span style='font-family:Wingdings; +mso-ascii-font-family:Arial;mso-hansi-font-family:Arial;mso-char-type:symbol; +mso-symbol-font-family:Wingdings'><span style='mso-char-type:symbol;mso-symbol-font-family: +Wingdings'>�</span></span> </b>/sql/</p> + +<p class=MsoBodyText style='margin-left:89.85pt;text-indent:18.15pt'><b +style='mso-bidi-font-weight:normal'><span style='font-family:Wingdings; +mso-ascii-font-family:Arial;mso-hansi-font-family:Arial;mso-char-type:symbol; +mso-symbol-font-family:Wingdings'><span style='mso-char-type:symbol;mso-symbol-font-family: +Wingdings'>�</span></span> </b>/oracle/</p> + +<p class=MsoBodyText style='margin-left:197.85pt;text-indent:-18.0pt; +mso-list:l88 level4 lfo38;tab-stops:list 197.85pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>for the files creating the Oracle database</p> + +<p class=MsoBodyText style='margin-left:125.85pt;text-indent:-18.0pt; +mso-list:l88 level2 lfo38;tab-stops:list 125.85pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>/postgresql/</p> + +<p class=MsoBodyText style='margin-left:197.85pt;text-indent:-18.0pt; +mso-list:l88 level4 lfo38;tab-stops:list 197.85pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>for the files creating the PostgreSQL database</p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:15.3pt'>This structure +will allow the <span style='color:black'>Query Dispatcher</span> to pass +queries along to the RDBMS dependent on the type of database used. This feature +of OpenACS, allowing scalable applications, could eventually see it operating +on any number of different database systems. This was made possible by the use +of an information file, called wp-slim.info. </p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:15.3pt'>Given the new +directory structure and the capabilities of the information file the next step +in creating an application capable of running against two very different +database systems involves the design of a data model creation and removal file: +wp-slim-create.sql and wp-slim-drop.sql, for both the Oracle and PostgreSQL +versions. Each one is placed into the appropriate sql directory, either within +oracle/ or postgresql/, to allow the information file to know where to look for +the data model files. </p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:15.3pt'>The Oracle data +model files already existed, from version 4.2, and these have been left much +the same. However, the PostgreSQL data model design would have to be made. For +this purpose the oracle data structure was followed. What was changed was the +method by which the data structure was actually created. </p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:15.3pt'>Some of the +differences between the way Oracle and PostgreSQL creates the data model are:</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l94 level1 lfo120;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Use of functions and procedures in Oracle whereas +PostgreSQL uses on functions</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l94 level1 lfo120;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Syntactical differences</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l94 level1 lfo120;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Need to have all commands within inline statement in +PostgreSQL, whereas in Oracle the commands can be called from outside of +functions</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l94 level1 lfo120;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Different variable types: such as text <span +style='font-family:Wingdings;mso-ascii-font-family:Arial;mso-hansi-font-family: +Arial;mso-char-type:symbol;mso-symbol-font-family:Wingdings'><span +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>�</span></span> +varchar, blob <span style='font-family:Wingdings;mso-ascii-font-family:Arial; +mso-hansi-font-family:Arial;mso-char-type:symbol;mso-symbol-font-family:Wingdings'><span +style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'>�</span></span> +record</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l94 level1 lfo120;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Different inputs required to create elements of the +table.<span style="mso-spacerun: yes">� </span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l94 level1 lfo120;tab-stops:list 72.0pt'><a name="_Toc527288161"></a><a +name="_Toc527288514"></a><a name="_Toc527288894"></a><a name="_Toc528375535"></a><a +name="_Toc528659939"><span style='mso-bookmark:_Toc528375535'><span +style='mso-bookmark:_Toc527288894'><span style='mso-bookmark:_Toc527288514'><span +style='mso-bookmark:_Toc527288161'><![if !supportLists]><span style='font-family: +Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>PostgreSQL Tables and other Attributes</span></span></span></span></a> +</p> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>Within +the Wimpy Point PostgreSQL the following tables were created to store +information:</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l80 level1 lfo121;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;color:black'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='color:black'>wp_styles: stores the different +styles available for backgrounds, font colours and sizes<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l80 level1 lfo121;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;color:black'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='color:black'>cr_wp_presentations: stores +the information related to a presentation such as Presentation name, background +and audience<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l80 level1 lfo121;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;color:black'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='color:black'>cr_wp_slides: stores the +information of a slide<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l80 level1 lfo121;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;color:black'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='color:black'>cr_wp_presentations_aud: +stores the audience group for the presentation<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l80 level1 lfo121;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;color:black'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='color:black'>cr_wp_presentations_back: +stores the background of a presentation<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l80 level1 lfo121;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;color:black'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='color:black'>cr_wp_slides_preamble: stores +the preamble information of a slide<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l80 level1 lfo121;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;color:black'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='color:black'>cr_wp_slides_postamble: +stores the post-amble information for the slide<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l80 level1 lfo121;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;color:black'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='color:black'>cr_wp_slides_bullet_items: +stores the bullet item information for the slide<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l80 level1 lfo121;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;color:black'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='color:black'>cr_wp_attachments: stores the +file names that are being loaded up<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:14.55pt'>The following +section of code (Figure 5.4) creates the tables, which is representative of the +different tables create. It is found in the Wimpy Point data model create file +and is used to create the presentation table ready to store information.</p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'>--jackp: create the presentation table<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'>create table cr_wp_presentations (<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:1'>����� </span>presentation_id<span +style='mso-tab-count:2'>������������� </span>integer<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:4'>����������������������������������������� </span>constraint +cr_wp_presentations_id_fk<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: +yes">������������������������������� </span><span style='mso-tab-count:2'>��������������������� </span>references +cr_revisions<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: +yes">������������������������������� </span><span style='mso-tab-count:2'>��������������������� </span>constraint +cr_wp_presentations_pk<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: +yes">������������������������������� </span><span style='mso-tab-count:2'>��������������������� </span>primary +key,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:1'>����� </span>-- +The title of the presentations, as displayed to the user.<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:1'>����� </span>pres_title<span +style='mso-tab-count:2'>���������������������� </span>varchar(400) <o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: +yes">����������������������������� </span><span style='mso-tab-count:2'>����������������������� </span>constraint +cr_wp_presentations_title_nn<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: +yes">��������������� </span><span style='mso-tab-count:1'>� </span><span +style="mso-spacerun: yes">��������������</span><span style='mso-tab-count:1'>��������� </span>not +null,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:1'>����� </span>-- +A signature on the bottom.<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:1'>����� </span>page_signature<span +style='mso-tab-count:2'>������������� </span>varchar(200),<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:1'>����� </span>-- +The copyright notice displayed on all pages.<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:1'>����� </span>copyright_notice<span +style='mso-tab-count:2'>����������������������� </span>varchar(400),<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'>-- Style information.<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:1'>����� </span>style<span +style='mso-tab-count:3'>���������������������������� </span>integer<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: +yes">������������������������������� </span><span style='mso-tab-count:1'>��������� </span>constraint +cr_wp_style_fk<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:4'>����������������������������������������� </span>references +wp_styles on delete set null,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:1'>����� </span>public_p<span +style='mso-tab-count:1'>����������� </span><span style="mso-spacerun: +yes">������� </span><span style='mso-tab-count:2'>��������������� </span>boolean<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:4'>����������������������������������������� </span>constraint +cr_wp_public_p_ck<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:4'>����������������������������������������� </span>check(public_p +in ('t','f')),<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:1'>����� </span>-- +Show last-modified date for slide?<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:1'>����� </span>show_modified_p<span +style="mso-spacerun: yes">�������� </span><span style='mso-tab-count:1'>� </span>boolean<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:4'>����������������������������������������� </span>constraint +cr_wp_show_p_ck<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:4'>����������������������������������������� </span>check(show_modified_p +in ('t','f'))<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'>);</span><span style='mso-fareast-font-family: +"MS Mincho"'><o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:18.15pt'><!--[if gte vml 1]><v:shape + id="_x0000_s2238" type="#_x0000_t202" style='position:absolute;left:0; + text-align:left;margin-left:46.95pt;margin-top:8.6pt;width:458.15pt;height:37.4pt; + z-index:2'/><![endif]--><![if !vml]><span style='mso-ignore:vglayout'> + +<table cellpadding=0 cellspacing=0 align=left> + <tr> + <td width=63 height=11></td> + </tr> + <tr> + <td></td> + <td width=613 height=53 align=left valign=top bgcolor=white style='border: + .75pt solid black;vertical-align:top;background:white'><![endif]><![if !mso]><span + style='position:absolute;z-index:2'> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div v:shape="_x0000_s2238" style='padding:3.6pt 7.2pt 3.6pt 7.2pt' + class=shape> + <p class=MsoPlainText><span style='font-family:Arial;mso-bidi-font-family: + "Times New Roman";letter-spacing:-.25pt'>Figure 5.4: This code is used to + create the cr_wp_presentations table. It is one of many tables that are + created to store information for the Wimpy Point package.<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + </span><![endif]><![if !mso & !vml]> <![endif]><![if !vml]></td> + </tr> +</table> + +</span><![endif]><span style='color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:18.15pt'><span +style='color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<br style='mso-ignore:vglayout' clear=ALL> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:18.15pt'><span +style='color:black'>This is similar to the way tables are created in Oracle. <o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:18.15pt'>These tables +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:</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l45 level1 lfo122;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>cr_wp_presentation_aud</span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l45 level1 lfo122;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>cr_wp_presentation_back</span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l45 level1 lfo122;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>cr_wp_presentation</span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l45 level1 lfo122;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>cr_wp_slide_preamble</span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l45 level1 lfo122;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>cr_wp_slide_postamble</span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l45 level1 lfo122;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>cr_wp_slide_bullet_items</span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l45 level1 lfo122;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>cr_wp_slide</span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:36.0pt'>The code in +Figure 5.5 shows the difference with how types are created in Oracle and +PostgreSQL for the presentations table:</p> + +<table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; + border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0cm 5.4pt 0cm 5.4pt'> + <tr> + <td width=340 valign=top style='width:254.7pt;border:solid windowtext .5pt; + padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoBodyText align=center style='margin-left:0cm;text-align:center'>Oracle</p> + </td> + <td width=340 valign=top style='width:254.7pt;border:solid windowtext .5pt; + border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoBodyText align=center style='margin-left:0cm;text-align:center'>PostgreSQL</p> + </td> + </tr> + <tr> + <td width=340 valign=top style='width:254.7pt;border:solid windowtext .5pt; + border-top:none;mso-border-top-alt:solid windowtext .5pt;background:#E6E6E6; + padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'>content_type.create_type (<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� + </span>content_type<span style="mso-spacerun: yes">� </span>=> + 'cr_wp_presentation',<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� + </span>pretty_name<span style="mso-spacerun: yes">�� </span>=> 'WimpyPoint + Presentation',<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� + </span>pretty_plural => 'WimpyPoint Presentations',<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� + </span>table_name<span style="mso-spacerun: yes">��� </span>=> + 'cr_wp_presentations',<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� + </span>id_column<span style="mso-spacerun: yes">���� </span>=> + 'presentation_id'<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt;mso-fareast-font-family: + "MS Mincho"'><span style="mso-spacerun: yes">� </span>);<o:p></o:p></span></p> + <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span + style='font-size:10.0pt'><o:p></o:p></span></p> + </td> + <td width=340 valign=top style='width:254.7pt;border-top:none;border-left: + none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt; + mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt; + background:#E6E6E6;padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'>PERFORM content_type__create_type (<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:2'>����������������������� </span>''cr_wp_presentation'',<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:2'>����������������������� </span>''content_revision'',<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:2'>����������������������� </span>''Wimpy + Point Presentation'', <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:2'>����������������������� </span>''WimpyPoint + Presentations'',<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:2'>����������������������� </span>''cr_wp_presentations'',<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:2'>����������������������� </span>''presentation_id'',<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:2'>����������������������� </span>null<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:1'>����������� </span>);<span + style="mso-spacerun: yes">����������� </span><o:p></o:p></span></p> + <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span + style='font-size:10.0pt'><o:p></o:p></span></p> + </td> + </tr> +</table> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:36.0pt'><!--[if gte vml 1]><v:shape + id="_x0000_s2239" type="#_x0000_t202" style='position:absolute;left:0; + text-align:left;margin-left:37.6pt;margin-top:13.3pt;width:439.45pt;height:28.05pt; + z-index:3;mso-position-horizontal-relative:text; + mso-position-vertical-relative:text'/><![endif]--><![if !vml]><span +style='mso-ignore:vglayout;position:absolute;z-index:45;left:0px;margin-left: +50px;margin-top:18px;width:589px;height:40px'> + +<table cellpadding=0 cellspacing=0> + <tr> + <td width=589 height=40 align=left valign=top bgcolor=white style='border: + .75pt solid black;vertical-align:top;background:white'><![endif]><![if !mso]><span + style='position:absolute;left:0pt;z-index:3'> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div v:shape="_x0000_s2239" style='padding:3.6pt 7.2pt 3.6pt 7.2pt' + class=shape> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt'>Figure + 5.5: This table shows the difference in how Oracle and PostgreSQL create + content types.<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + </span><![endif]><![if !mso & !vml]> <![endif]><![if !vml]></td> + </tr> +</table> + +</span><![endif]></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:36.0pt'><span +style='font-size:10.0pt;mso-fareast-font-family:"MS Mincho"'><span +style='mso-tab-count:1'>����������� </span></span><span style='mso-fareast-font-family: +"MS Mincho"'><o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:17.05pt'>Further to +this each type has a number of attributes, or the information that it actually +stores, associated to it and these include:</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l70 level1 lfo123;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;mso-fareast-font-family:"MS Mincho"'>�<span +style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>cr_wp_presentation<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>pres_title<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>page_signature<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>copyright_notice<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>style<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>public_p<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>show_modified_p<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l70 level1 lfo123;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;mso-fareast-font-family:"MS Mincho"'>�<span +style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>cr_wp_slide<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>sort_key<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>slide_title<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>include_in_outline_p<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>context_break_after_p<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>style,<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>cr_wp_attachment +<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l70 level1 lfo123;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;mso-fareast-font-family:"MS Mincho"'>�<span +style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>cr_wp_presentation_aud<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>presentation_id<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l70 level1 lfo123;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;mso-fareast-font-family:"MS Mincho"'>�<span +style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>cr_wp_presentation_back<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>presentation_id<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l70 level1 lfo123;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;mso-fareast-font-family:"MS Mincho"'>�<span +style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>cr_wp_slide_preamble<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>slide_id<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l70 level1 lfo123;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;mso-fareast-font-family:"MS Mincho"'>�<span +style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>cr_wp_slide_postamble<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>slide_id<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l70 level1 lfo123;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;mso-fareast-font-family:"MS Mincho"'>�<span +style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>cr_wp_slide_bullet_items<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>slide_id<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l70 level1 lfo123;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;mso-fareast-font-family:"MS Mincho"'>�<span +style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>cr_wp_attachment<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>content_revision<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:108.0pt;text-indent:-18.0pt;mso-list: +l70 level2 lfo123;tab-stops:list 108.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-fareast-font-family:"MS Mincho"; +mso-bidi-font-family:"Times New Roman"'>o<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='mso-fareast-font-family:"MS Mincho"'>display<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:14.55pt'>These +attributes are created as shown by the subsequent example:</p> + +<table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; + border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0cm 5.4pt 0cm 5.4pt'> + <tr> + <td width=340 valign=top style='width:254.7pt;border:solid windowtext .5pt; + padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoBodyText style='margin-left:0cm'>Oracle</p> + </td> + <td width=340 valign=top style='width:254.7pt;border:solid windowtext .5pt; + border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoBodyText style='margin-left:0cm'>PostgreSQL</p> + </td> + </tr> + <tr> + <td width=340 valign=top style='width:254.7pt;border:solid windowtext .5pt; + border-top:none;mso-border-top-alt:solid windowtext .5pt;background:#E6E6E6; + padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">� + </span>attr_id := content_type.create_attribute (<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">���� + </span>content_type<span style="mso-spacerun: yes">�� </span>=> + 'cr_wp_presentation',<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">���� + </span>attribute_name => 'pres_title',<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">���� + </span>datatype<span style="mso-spacerun: yes">������ </span>=> 'text',<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">���� + </span>pretty_name<span style="mso-spacerun: yes">��� </span>=> + 'Presentation Title',<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">���� + </span>pretty_plural<span style="mso-spacerun: yes">� </span>=> 'Presentation + Titles',<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">���� + </span>column_spec<span style="mso-spacerun: yes">��� </span>=> + 'varchar2(400)'<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">� + </span>);<o:p></o:p></span></p> + <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span + style='font-size:10.0pt'><o:p></o:p></span></p> + </td> + <td width=340 valign=top style='width:254.7pt;border-top:none;border-left: + none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt; + mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt; + background:#E6E6E6;padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:1'>����������� </span>attr_id + := content_type__create_attribute (<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� + </span><span style='mso-tab-count:2'>������������������� </span>''cr_wp_presentation'',<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� + </span><span style='mso-tab-count:2'>������������������� </span>''pres_title'',<span + style='mso-tab-count:2'>������������������� </span><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� + </span><span style='mso-tab-count:2'>������������������� </span>''text'',<span + style='mso-tab-count:3'>��������������������������� </span><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� + </span><span style='mso-tab-count:2'>������������������� </span>''Presentation + Title'',<span style='mso-tab-count:1'>������� </span><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� + </span><span style='mso-tab-count:2'>������������������� </span>''Presentation + Titles'',<span style='mso-tab-count:1'>����� </span><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� + </span><span style='mso-tab-count:2'>������������������� </span>null,<span + style='mso-tab-count:2'>����������������� </span><span style="mso-spacerun: + yes">� </span><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">�</span><span + style="mso-spacerun: yes">�� </span><span style='mso-tab-count:2'>������������������� </span>null,<span + style='mso-tab-count:2'>����������������� </span><span style="mso-spacerun: + yes">� </span><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� + </span><span style='mso-tab-count:2'>������������������� </span>''text''<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">� + </span><span style='mso-tab-count:1'>��������� </span>);<o:p></o:p></span></p> + <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span + style='font-size:10.0pt'><o:p></o:p></span></p> + </td> + </tr> +</table> + +<p class=MsoBodyText style='margin-left:0cm'><!--[if gte vml 1]><v:shape id="_x0000_s2240" + type="#_x0000_t202" style='position:absolute;left:0;text-align:left; + margin-left:28.25pt;margin-top:17.45pt;width:448.8pt;height:28.05pt;z-index:4; + mso-position-horizontal-relative:text;mso-position-vertical-relative:text'/><![endif]--><![if !vml]><span +style='mso-ignore:vglayout;position:absolute;z-index:46;left:0px;margin-left: +38px;margin-top:23px;width:601px;height:41px'> + +<table cellpadding=0 cellspacing=0> + <tr> + <td width=601 height=41 align=left valign=top bgcolor=white style='border: + .75pt solid black;vertical-align:top;background:white'><![endif]><![if !mso]><span + style='position:absolute;left:0pt;z-index:4'> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div v:shape="_x0000_s2240" style='padding:3.6pt 7.2pt 3.6pt 7.2pt' + class=shape> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt'>Figure + 5.6: This table depicts the differences in how the two RDBMS create + attributes.<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + </span><![endif]><![if !mso & !vml]> <![endif]><![if !vml]></td> + </tr> +</table> + +</span><![endif]></p> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>Each +of these different tables, types and attributes serve a purpose of storing +relevant information that makes up a Wimpy Point presentation.</p> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc527288162"></a><a name="_Toc527288515"></a><a +name="_Toc527288895"></a><a name="_Toc528375536"></a><a name="_Toc528659940"><span +style='mso-bookmark:_Toc528375536'><span style='mso-bookmark:_Toc527288895'><span +style='mso-bookmark:_Toc527288515'><span style='mso-bookmark:_Toc527288162'>Database +Functions</span></span></span></span></a></h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>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 +a huge amount of differences in the way both systems perform the actions to the +database. These differences include such items as:</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l75 level1 lfo125;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Syntactical differences, an example of which in the +devclaration of variables</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l75 level1 lfo125;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Calling of functions</p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:14.2pt'>A good example +of these differences is illustrated in the way both systems insert information +related to a new presentation. The following section of code shows how the +Oracle version of Wimpy Point declares variables:</p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'>create or replace package body +wp_presentation<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'>as<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">� +</span>function new (<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>creation_date<span style='mso-tab-count:1'>������ </span>in +acs_objects.creation_date%TYPE<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:3'>����������������������������� </span>default +sysdate,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>creation_user<span style='mso-tab-count:1'>������ </span>in +acs_objects.creation_user%TYPE<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:3'>����������������������������� </span>default +null,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>creation_ip<span style='mso-tab-count:1'>��������� </span>in +acs_objects.creation_ip%TYPE default null,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>pres_title<span style="mso-spacerun: yes">��������� </span><span +style='mso-tab-count:1'>�� </span>in cr_wp_presentations.pres_title%TYPE,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>page_signature<span style="mso-spacerun: yes">���� </span><span +style='mso-tab-count:1'>���������� </span>in +cr_wp_presentations.page_signature%TYPE,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>copyright_notice<span style="mso-spacerun: yes">��� </span><span +style='mso-tab-count:1'>��������� </span>in +cr_wp_presentations.copyright_notice%TYPE,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>style<span style="mso-spacerun: yes">�������������� </span><span +style='mso-tab-count:1'>��� </span>in cr_wp_presentations.style%TYPE default +-1,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>public_p<span style="mso-spacerun: yes">���� </span><span +style='mso-tab-count:1'>�������� </span>in cr_wp_presentations.public_p%TYPE,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>show_modified_p<span style="mso-spacerun: yes">� </span><span +style='mso-tab-count:1'>���������� </span>in +cr_wp_presentations.show_modified_p%TYPE default 'f',<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>audience<span style="mso-spacerun: yes">����������� </span><span +style='mso-tab-count:1'> </span>in varchar2,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>background<span style="mso-spacerun: yes">��������� </span><span +style='mso-tab-count:1'>���������� </span>in varchar2<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">� </span>) +return cr_items.item_id%TYPE<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">� +</span>is<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>v_item_id<span style='mso-tab-count:3'>������������������������ </span>cr_items.item_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>v_audience_item_id<span style='mso-tab-count:1'>��������� </span>cr_items.item_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>v_background_item_id<span style='mso-tab-count:1'>����� </span>cr_items.item_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>v_revision_id<span style='mso-tab-count:2'>������������������� </span>cr_revisions.revision_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>v_audience_revision_id<span style='mso-tab-count:1'>���� </span>cr_revisions.revision_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>v_background_revision_id<span style='mso-tab-count:1'>� </span>cr_revisions.revision_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>v_max_id<span style='mso-tab-count:3'>������������������������ </span>integer;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>v_name<span style='mso-tab-count:3'>�������������������������� </span>cr_wp_presentations.pres_title%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">� +</span>begin<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: +yes">����������������������������� </span></span><span style='font-size:10.0pt; +color:red'>�</span><span style='color:red'><o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:36.0pt'><!--[if gte vml 1]><v:shape + id="_x0000_s2241" type="#_x0000_t202" style='position:absolute;left:0; + text-align:left;margin-left:56.3pt;margin-top:1.05pt;width:439.45pt;height:37.4pt; + z-index:5'/><![endif]--><![if !vml]><span style='mso-ignore:vglayout'> + +<table cellpadding=0 cellspacing=0 align=left> + <tr> + <td width=75 height=1></td> + </tr> + <tr> + <td></td> + <td width=589 height=53 align=left valign=top bgcolor=white style='border: + .75pt solid black;vertical-align:top;background:white'><![endif]><![if !mso]><span + style='position:absolute;z-index:5'> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div v:shape="_x0000_s2241" style='padding:3.6pt 7.2pt 3.6pt 7.2pt' + class=shape> + <p class=MsoPlainText><span style='font-family:Arial;mso-bidi-font-family: + "Times New Roman";letter-spacing:-.25pt'>Figure 5.7: This table shows the + standard heading for functions in Oracle. Refer to Figure 6.7 for the + PostgreSQL version.<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + </span><![endif]><![if !mso & !vml]> <![endif]><![if !vml]></td> + </tr> +</table> + +</span><![endif]><span style='color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:36.0pt'><span +style='color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<br style='mso-ignore:vglayout' clear=ALL> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:36.0pt'><span +style='color:black'>As you can see there are two different types of variables +those that are inputted to the function and those that are not inputted to the +function but used by the function. In Oracle the way to differentiate between +the two is to have the inputted variables within the set of brackets after the +header and the non-inputted variables between the ��is�� command and the +��begin�� command. This is in comparison with the PostgreSQL method which +follows:<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'>create function wp_presentation__new (<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:1'>����� </span>timestamp, +integer, varchar(400), <span style='mso-tab-count:1'>����������� </span>varchar(400), +varchar(400), varchar, integer, boolean, boolean,<span style="mso-spacerun: +yes">� </span><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">����� +</span>varchar, varchar ) <o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'>returns integer as'<span +style="mso-spacerun: yes">���� </span><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'>declare<br> +<span style="mso-spacerun: yes">�� </span><span style='mso-tab-count:2'>�������������� </span>creation_date<span +style='mso-tab-count:1'>���� </span><span style="mso-spacerun: yes">����� +</span><span style='mso-tab-count:1'>����� </span>alias for $1;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:2'>����������������� </span>creation_user<span +style='mso-tab-count:1'>���� </span><span style="mso-spacerun: yes">����� +</span><span style='mso-tab-count:1'>����� </span>alias for $2;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:2'>����������������� </span>creation_ip<span +style='mso-tab-count:1'>������� </span><span style="mso-spacerun: yes">����� +</span><span style='mso-tab-count:1'>����� </span>alias for $3;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:2'>����������������� </span>p_pres_title<span +style='mso-tab-count:1'>������ </span><span style="mso-spacerun: yes">����� +</span><span style='mso-tab-count:1'>����� </span>alias for $4;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:2'>����������������� </span>p_page_signature<span +style='mso-tab-count:1'>���������� </span>alias for $5;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:2'>����������������� </span>p_copyright_notice<span +style="mso-spacerun: yes">����� </span><span style='mso-tab-count:1'>�� </span>alias +for $6;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:2'>����������������� </span>p_style<span +style='mso-tab-count:2'>������������� </span><span style="mso-spacerun: +yes">����� </span><span style='mso-tab-count:1'>����� </span>alias for $7;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:2'>����������������� </span>p_public_p<span +style='mso-tab-count:1'>�������� </span><span style="mso-spacerun: yes">����� +</span><span style='mso-tab-count:1'>����� </span>alias for $8;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:2'>����������������� </span>p_show_modified_p<span +style="mso-spacerun: yes">����� </span><span style='mso-tab-count:1'>� </span>alias +for $9;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:2'>����������������� </span>audience<span +style='mso-tab-count:1'>���������� </span><span style="mso-spacerun: yes">����� +</span><span style='mso-tab-count:1'>����� </span>alias for $10;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:2'>����������������� </span>background<span +style='mso-tab-count:1'>������ </span><span style="mso-spacerun: yes">����� +</span><span style='mso-tab-count:1'>����� </span>alias for $11;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span><span style='mso-tab-count:2'>������������� </span>v_item_id<span +style="mso-spacerun: yes">�������������� </span><span style='mso-tab-count: +1'>������� </span>cr_items.item_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">� </span><span +style='mso-tab-count:2'>��������������� </span>v_audience_item_id<span +style='mso-tab-count:1'>������� </span>cr_items.item_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span><span style='mso-tab-count:2'>������������� </span>v_background_item_id<span +style='mso-tab-count:1'>��� </span>cr_items.item_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span><span style='mso-tab-count:2'>������������� </span>v_revision_id<span +style='mso-tab-count:2'>����������������� </span>cr_revisions.revision_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">�� </span><span +style='mso-tab-count:1'>�� </span><span style="mso-spacerun: yes">�</span><span +style='mso-tab-count:1'>���������� </span>v_audience_revision_id<span +style='mso-tab-count:1'>�� </span>cr_revisions.revision_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span><span style='mso-tab-count:2'>������������� </span>v_background_revision_id +cr_revisions.revision_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span><span style='mso-tab-count:2'>������������� </span>v_max_id<span +style="mso-spacerun: yes">��������������� </span><span style='mso-tab-count: +1'>������ </span>integer;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span><span style='mso-tab-count:2'>������������� </span>v_name<span +style="mso-spacerun: yes">����������������� </span><span style='mso-tab-count: +1'>������ </span>cr_wp_presentations.pres_title%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'>begin<span style='mso-tab-count:1'>��������� </span>�</span><span +style='color:black'><o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:14.2pt'><!--[if gte vml 1]><v:shape + id="_x0000_s2242" type="#_x0000_t202" style='position:absolute;left:0; + text-align:left;margin-left:56.3pt;margin-top:3.25pt;width:439.45pt;height:37.4pt; + z-index:6'/><![endif]--><![if !vml]><span style='mso-ignore:vglayout'> + +<table cellpadding=0 cellspacing=0 align=left> + <tr> + <td width=75 height=4></td> + </tr> + <tr> + <td></td> + <td width=589 height=53 align=left valign=top bgcolor=white style='border: + .75pt solid black;vertical-align:top;background:white'><![endif]><![if !mso]><span + style='position:absolute;z-index:6'> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div v:shape="_x0000_s2242" style='padding:3.6pt 7.2pt 3.6pt 7.2pt' + class=shape> + <p class=MsoPlainText><span style='font-family:Arial;mso-bidi-font-family: + "Times New Roman";letter-spacing:-.25pt'>Figure 5.8: This is the PostgreSQL + syntax for the heading of functions.<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + </span><![endif]><![if !mso & !vml]> <![endif]><![if !vml]></td> + </tr> +</table> + +</span><![endif]><span style='color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:14.2pt'><span +style='color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<br style='mso-ignore:vglayout' clear=ALL> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:14.2pt'><span +style='color:black'><span style='mso-tab-count:1'>������ </span>Here it is seen +that the inputted variables are identified by the use of the word ��alias�� +that makes it the variable that stores the information passed to that +particular variable. The remaining variables, called virtual variables are +declared in the same position, but without the ��alias�� identifier. Further to +this inputted variables from within the function need to be declared with a +��p_*�� as their variable name. There are a number of reasons for this the most +relevant of which is that when inserting the variables into the tables if the +variable name is the same as the column name for the table the PostgreSQL +compiler will not accept this.<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:14.2pt'><span +style='color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:14.2pt'><span +style='color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:14.2pt'><span +style='color:black'><span style='mso-tab-count:1'>������ </span>The following +section of code shows how the insert operation is performed:<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>insert into cr_wp_presentations<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>(<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:1'>����� </span>presentation_id,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style='mso-tab-count:1'>����� </span>pres_title,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span><span style='mso-tab-count:1'>� </span>page_signature,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span><span style='mso-tab-count:1'>� </span>copyright_notice,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span><span style='mso-tab-count:1'>� </span>style,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span><span style='mso-tab-count:1'>� </span>public_p,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span><span style='mso-tab-count:1'>� </span>show_modified_p<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span>) values (<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span><span style='mso-tab-count:1'>� </span>v_revision_id,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span><span style='mso-tab-count:1'>� </span>p_pres_title,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span><span style='mso-tab-count:1'>� </span>p_page_signature,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span><span style='mso-tab-count:1'>� </span>p_copyright_notice,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span><span style='mso-tab-count:1'>� </span>p_style,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span><span style='mso-tab-count:1'>� </span>p_public_p,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">��� +</span><span style='mso-tab-count:1'>� </span>p_show_modified_p<span +style="mso-spacerun: yes">��� </span><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:10.0pt; +mso-fareast-font-family:"MS Mincho"'><span style="mso-spacerun: yes">�� +</span>);</span><span style='mso-fareast-font-family:"MS Mincho"'><o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:14.2pt'><!--[if gte vml 1]><v:shape + id="_x0000_s2243" type="#_x0000_t202" style='position:absolute;left:0; + text-align:left;margin-left:18.9pt;margin-top:12.25pt;width:486.2pt;height:37.4pt; + z-index:7'/><![endif]--><![if !vml]><span style='mso-ignore:vglayout'> + +<table cellpadding=0 cellspacing=0 align=left> + <tr> + <td width=25 height=16></td> + </tr> + <tr> + <td></td> + <td width=651 height=53 align=left valign=top bgcolor=white style='border: + .75pt solid black;vertical-align:top;background:white'><![endif]><![if !mso]><span + style='position:absolute;z-index:7'> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div v:shape="_x0000_s2243" style='padding:3.6pt 7.2pt 3.6pt 7.2pt' + class=shape> + <p class=MsoPlainText><span style='font-family:Arial;mso-bidi-font-family: + "Times New Roman";letter-spacing:-.25pt'>Figure 5.9: This is the way + information is actually inserted into the tables created. The code is + similar for both RDBMS types.<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + </span><![endif]><![if !mso & !vml]> <![endif]><![if !vml]></td> + </tr> +</table> + +</span><![endif]><span style='color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:14.2pt'><span +style='color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<br style='mso-ignore:vglayout' clear=ALL> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:14.2pt'><span +style='color:black'>So the first half defines the column names of the +appropriate table, which is defined in the header of the insert to command, +that the information will be inserted into. Then the last half gives the +variables that store the information. <o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:18.0pt'><span +style='color:black'>Other functions that are commonly performed onto the +database include modification of a past entry, a functionality that allows the +presentations properties to be modified. This useful ability is capable of +being performed against both the presentation and each slide. This function is +performed by the insertion of new values into tables.<o:p></o:p></span></p> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc527288163"></a><a name="_Toc527288516"></a><a +name="_Toc527288896"></a><a name="_Toc528375537"></a><a name="_Toc528659941"><span +style='mso-bookmark:_Toc528375537'><span style='mso-bookmark:_Toc527288896'><span +style='mso-bookmark:_Toc527288516'><span style='mso-bookmark:_Toc527288163'>Database +Permissions and Privileges</span></span></span></span></a></h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:36.0pt'><span +style='color:black'>In addition to all the table creations and database +functions there exists a group of functions that operate under the core +services packages. These functions are created by the backbone packages that +enable the OpenACS application to actually work together as a single unit. Some +of these functions include:<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l37 level1 lfo127;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;color:black'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='color:black'>acs_permissions<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l37 level1 lfo127;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;color:black'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='color:black'>acs-kernel<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l37 level1 lfo127;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;color:black'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='color:black'>acs-content-repository<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:36.0pt'><span +style='color:black'>These functions enable the online community to operate in a +way that member�s privacy is not interfered with and they may choose who may, +in Wimpy Point�s case:<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l98 level1 lfo128;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;color:black'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='color:black'>View the presentations<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l98 level1 lfo128;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;color:black'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='color:black'>Modify the presentations<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l98 level1 lfo128;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;color:black'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='color:black'>Delete presentations<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l98 level1 lfo128;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol;color:black'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><span style='color:black'>Create presentations<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:14.2pt'>As such a +presentation can be created wherein the creator can set who is able to view it +and who is not. This is an extremely useful capability in the sense of large +communities where members may not want to share all their presentations. The +following section of code shows just how the permissions are set in the +database:</p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='mso-fareast-font-family: +"MS Mincho"'><span style="mso-spacerun: yes">��� </span></span><span +style='font-size:11.0pt;mso-bidi-font-size:10.0pt;mso-fareast-font-family:"MS Mincho"'><span +style='mso-tab-count:1'>� </span>PERFORM acs_permission__grant_permission(<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:11.0pt; +mso-bidi-font-size:10.0pt;mso-fareast-font-family:"MS Mincho"'><span +style='mso-tab-count:2'>����������������� </span>default_context, <o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:11.0pt; +mso-bidi-font-size:10.0pt;mso-fareast-font-family:"MS Mincho"'><span +style='mso-tab-count:2'>����������������� </span>registered_users, <o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:11.0pt; +mso-bidi-font-size:10.0pt;mso-fareast-font-family:"MS Mincho"'><span +style='mso-tab-count:2'>����������������� </span>''wp_create_presentation''<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6'><span style='font-size:11.0pt; +mso-bidi-font-size:10.0pt;mso-fareast-font-family:"MS Mincho"'><span +style='mso-tab-count:1'>����� </span>);<o:p></o:p></span></p> + +<p class=MsoNormal><!--[if gte vml 1]><v:shape id="_x0000_s2244" type="#_x0000_t202" + style='position:absolute;left:0;text-align:left;margin-left:37.6pt; + margin-top:4.7pt;width:458.15pt;height:37.4pt;z-index:8'/><![endif]--><![if !vml]><span +style='mso-ignore:vglayout'> + +<table cellpadding=0 cellspacing=0 align=left> + <tr> + <td width=50 height=6></td> + </tr> + <tr> + <td></td> + <td width=614 height=53 align=left valign=top bgcolor=white style='border: + .75pt solid black;vertical-align:top;background:white'><![endif]><![if !mso]><span + style='position:absolute;z-index:8'> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div v:shape="_x0000_s2244" style='padding:3.6pt 7.2pt 3.6pt 7.2pt' + class=shape> + <p class=MsoPlainText><span style='font-family:Arial;mso-bidi-font-family: + "Times New Roman";letter-spacing:-.25pt'>Figure 5.10: This section of code + shows how permissions are granted in OpenACS.<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + </span><![endif]><![if !mso & !vml]> <![endif]><![if !vml]></td> + </tr> +</table> + +</span><![endif]><a name="_Toc528662633"></a><a name="_Toc528922560"><span +style='mso-bookmark:_Toc528662633'></span></a><span style='mso-bookmark:_Toc528922560'><span +style='mso-bookmark:_Toc528662633'><span style='mso-fareast-font-family:"MS Mincho"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></span></span></p> + +<p class=MsoNormal><span style='mso-bookmark:_Toc528922560'><span +style='mso-bookmark:_Toc528662633'><span style='mso-fareast-font-family:"MS Mincho"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></span></span></p> + +<p class=MsoNormal><span style='mso-bookmark:_Toc528922560'><span +style='mso-bookmark:_Toc528662633'><span style='mso-fareast-font-family:"MS Mincho"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></span></span></p> + +<p class=MsoNormal><span style='mso-bookmark:_Toc528922560'><span +style='mso-bookmark:_Toc528662633'><span style='mso-fareast-font-family:"MS Mincho"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></span></span></p> + +<p class=MsoNormal><span style='mso-bookmark:_Toc528922560'><span +style='mso-bookmark:_Toc528662633'><span style='mso-fareast-font-family:"MS Mincho"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></span></span></p> + +<br style='mso-ignore:vglayout' clear=ALL> + +<div style='border:none;border-top:solid windowtext .75pt;padding:16.0pt 0cm 0cm 0cm'> + +<p class=MsoTitle><span style='mso-bookmark:_Toc528922560'><span +style='mso-bookmark:_Toc528662633'><span style='mso-fareast-font-family:"MS Mincho"'>Query +Files</span></span></span><span style='mso-fareast-font-family:"MS Mincho"'><o:p></o:p></span></p> + +</div> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc528375538"></a><a name="_Toc528659942"><span style='mso-bookmark: +_Toc528375538'>Query Dispatcher</span></a></h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>An +advantage of using OpenACS as an online community manager is its ability to +work flawlessly with either an Oracle or a PostgreSQL backend. This has an +enormous benefit in that it allows people a choice of which database to use, +depending on their circumstances and needs. This capability is achieved through +the use of the OpenACS Query Dispatcher, which selects which form of query +should be sent to the RDBMS, depending on the type of database used. </p> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>The +Query Dispatcher is a tool created for use with OpenACS; it basically works +with the OpenACS architecture to allow the online community application to +operate independently of the database used. This has an enormous impact on the +scalability of the application. What happens s that the user now does not have +to worry about setting up a specific RDBMS that they may not have experience +with. They may select one from the list of database systems that OpenACS is +able to work with. </p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:36.0pt'>Certainly at +this point in time the software is capable of working with only two different +types of systems, but it is conceivable that in the near future further work +will be done to extend the number of databases that OpenACS is compatible with. +<span style='color:black'><o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:36.0pt'><span +style='color:black'>The Query Dispatcher does pose a threat to the scalability +of the application. If it was capable of running against only a single database +then the risk of overloading the system would be much lower. However, with the +added functionality of being able to run against a multiple number of database +systems this increases the resources needed by the application to operate. This +is because each database system is different and needs different data model +creation commands and queries. <o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:36.0pt'><span +style='color:black'>This could have posed a tremendous risk to the OpenACS +project. In truth, however, this problem has been solved by the use of caching +of the queries when the package is installed onto the system. This allows the +system to load only the information relevant to the type of database used when +the Wimpy Point package is installed. This maintains a low level of<span +style="mso-spacerun: yes">� </span>resources that s required by the package, no +matter how many different database systems it is made to operate with.<o:p></o:p></span></p> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc528375539"></a><a name="_Toc528659943"><span style='mso-bookmark: +_Toc528375539'>Query Files</span></a></h1> + +</div> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:14.2pt'>Query files fit in the layer operating between the data +model and the user. It allows information to pass between the user and the +database. They act as a means of sending messages to the data model to perform +the following actions:</p> + +<p class=MsoBodyText align=left style='margin-left:54.0pt;text-align:left; +text-indent:-18.0pt;mso-list:l108 level1 lfo129;tab-stops:list 54.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Insert information that the user has entered from the +web page</p> + +<p class=MsoBodyText align=left style='margin-left:54.0pt;text-align:left; +text-indent:-18.0pt;mso-list:l108 level1 lfo129;tab-stops:list 54.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Retrieve information that the user has requested from a +web page</p> + +<p class=MsoBodyText align=left style='margin-left:54.0pt;text-align:left; +text-indent:-18.0pt;mso-list:l108 level1 lfo129;tab-stops:list 54.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Modify information that the user has entered from a web +page</p> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:14.2pt'>All these operations make the entire package operational +from the Internet. It provides a layer that adds the online functionality to +the entire OpenACS application. It also provides the means for the user to +interact with the database, setting the package a dynamic environment.</p> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc527288167"></a><a name="_Toc527288522"></a><a +name="_Toc527288902"></a><a name="_Toc528375540"></a><a name="_Toc528659944"><span +style='mso-bookmark:_Toc528375540'><span style='mso-bookmark:_Toc527288902'><span +style='mso-bookmark:_Toc527288522'><span style='mso-bookmark:_Toc527288167'>What +are the Elements of the Query Files</span></span></span></span></a></h1> + +</div> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:36.0pt'>Query files are made up of three different formats of +files, each of which serves a different purpose. These three are:</p> + +<p class=MsoBodyText align=left style='margin-left:72.0pt;text-align:left; +text-indent:-18.0pt;mso-list:l17 level1 lfo130;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>ADP: provides the templates of the web page</p> + +<p class=MsoBodyText align=left style='margin-left:72.0pt;text-align:left; +text-indent:-18.0pt;mso-list:l17 level1 lfo130;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>TCL: provides the logic that runs behind the +presentation layer</p> + +<p class=MsoBodyText align=left style='margin-left:72.0pt;text-align:left; +text-indent:-18.0pt;mso-list:l17 level1 lfo130;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>XQL: provides the SQL queries that are passed to the +RDBMS</p> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:36.0pt'>Each of these will be discussed in the following sections +and finally an overview of how they work together. It is important to note, +however, that when a single web page is loaded up one of each of these three +files are also cached and each one has a contribution to make to what is +presented on the screen and, or, sent to the database.</p> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc527288168"></a><a name="_Toc527288523"></a><a +name="_Toc527288903"></a><a name="_Toc528375541"></a><a name="_Toc528659945"><span +style='mso-bookmark:_Toc528375541'><span style='mso-bookmark:_Toc527288903'><span +style='mso-bookmark:_Toc527288523'><span style='mso-bookmark:_Toc527288168'>ADP</span></span></span></span></a></h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>The +ADP file contains the HTML scripts that will be used to create the layout of +the Web page as well as any forms that may be needed. It is also the means by +which images may be loaded. It serves as a template, allowing the designer to +set the page however they may wish it to look like, without affecting the +functionality with the RDBMS.</p> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>Figure +6.10 is an example of how the ADP file can be used to set the Web page. Refer +to the Figure to see how it sets a form to allow the user to enter data +relating to what they wish to display in the slide.</p> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc527288169"></a><a name="_Toc527288524"></a><a +name="_Toc527288904"></a><a name="_Toc528375542"></a><a name="_Toc528659946"><span +style='mso-bookmark:_Toc528375542'><span style='mso-bookmark:_Toc527288904'><span +style='mso-bookmark:_Toc527288524'><span style='mso-bookmark:_Toc527288169'>TCL</span></span></span></span></a></h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>The +TCL file deals with the declaration of variables and such items that are needed +to be passed to and from the database. Without this layer there would be no way +for the information stored in the HTML pages, that is the forms, to be passed +on to the queries. It serves as the logic layer between the Internet and the +database.</p> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>Refer +to Figure 6.11 to view an example of the TCL file required to set the logic +behind the creation of a slide. It declares the variables that will be used as +well as how those variables will be used in the query.</p> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc527288170"></a><a name="_Toc527288525"></a><a +name="_Toc527288905"></a><a name="_Toc528375543"></a><a name="_Toc528659947"><span +style='mso-bookmark:_Toc528375543'><span style='mso-bookmark:_Toc527288905'><span +style='mso-bookmark:_Toc527288525'><span style='mso-bookmark:_Toc527288170'>XQL</span></span></span></span></a></h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>These +files contain the actual queries that must be performed against the RDBMS. This +is the layer that queries the database. In the previous version of OpenACS +there was no need to have XQL files as the queries could simply be put in the +TCL file. However, with the implementation of database independence the XQL +files are required as they serve as the means of separating the query layer +from the rest of the Logic and Layout layers. This was required since the +different RDBMS have different syntax for passing queries to them. </p> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>As +such there are now XQL files that serve to separate the queries between RDBMS. +If a query can be passed to both an Oracle RDBMS and a PostgreSQL RDBMS then it +is placed in the general XQL file (*.xql). However, should the query be +different between the two RDBMS then the Oracle specific queries need to be +inserted in the *-oracle.xql file and the PostgreSQL specific queries need to +be placed into the *-postgresql.xql file.</p> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>Refer +to Figure 6.12 to see the PostgreSQL specific query that inserts data into the +RDBMS to store data for a slide.</p> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc527288171"></a><a name="_Toc527288526"></a><a +name="_Toc527288906"></a><a name="_Toc528375544"></a><a name="_Toc528659948"><span +style='mso-bookmark:_Toc528375544'><span style='mso-bookmark:_Toc527288906'><span +style='mso-bookmark:_Toc527288526'><span style='mso-bookmark:_Toc527288171'>Differences +Between the ORACLE and PostgreSQL Query Files</span></span></span></span></a></h1> + +</div> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:14.2pt'>There exists many differences in the structure of the query +files from version 4.2 to version 4.x of Wimpy Point. This variation occurs +because of the need for a Query Dispatcher to allow for multiple database +compatibility.</p> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:14.2pt'>On a directory level the differences are not noticeable as +all the query files are still located in the /www/ directory. However once you +move to the file level the differences are more noticeable. One notable +difference is the lack of XQL files (files that end with the suffix .xql). This +is because when OpenACS was running under version 4.2, the Oracle only version, +there was no need to separate the queries passed to the database management +system because they were all aimed to comply with Oracle standards. However, +with the introduction of version 4.x, and the functionality of multiple +database systems compatibility, a need was created to somehow separate the +queries needed for different database systems � to allow the Query Dispatcher +to perform its job well.</p> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:14.2pt'>This led to the introduction of the XQL files which can are +made up of:</p> + +<p class=MsoBodyText align=left style='margin-left:54.0pt;text-align:left; +text-indent:-18.0pt;mso-list:l100 level1 lfo131;tab-stops:list 54.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Filename.xql: Queries that share the same form between +both Oracle and PostgreSQL database systems are kept here</p> + +<p class=MsoBodyText align=left style='margin-left:54.0pt;text-align:left; +text-indent:-18.0pt;mso-list:l100 level1 lfo131;tab-stops:list 54.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Filename-oracle.xql: Queries that are Oracle specific +are kept here</p> + +<p class=MsoBodyText align=left style='margin-left:54.0pt;text-align:left; +text-indent:-18.0pt;mso-list:l100 level1 lfo131;tab-stops:list 54.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Filename-postgresql.xql: Queries that are PostgreSQL +specific are kept here</p> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:14.2pt'>This structure allows the Query Dispatcher to know where to +look for a particular function. When a function is called the Query Dispatcher +first check the *.xql file, to see if the function is stored there. If it is +then the Dispatcher will use that query to pass the information to the RDBMS. +If, on the other hand, the Query Dispatcher does not find the function there it +will then look up the xql file that corresponds to the database system that is +being used. </p> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:14.2pt'>This format makes it simple for future additions to the +number of database that OpenACS can work with.</p> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:14.2pt'>There are some differences in the way queries are written +between Oracle and PostgreSQL. Perhaps the most common is the use of different +syntax to perform a query. Oracle uses the �select� command whilst PostgreSQL +uses the �perform� command to perform database queries. <span style='color: +black'><o:p></o:p></span></p> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:18.15pt'>T<span style='color:black'>he following sections of code +(Figures 6.10 �6.12) deal with the query files to create a slide and insert +information into it. There are a number of files here and each ones role will +be described appropriately.<o:p></o:p></span></p> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:18.15pt'><span style='color:black'>The first file is called +��create-slide.adp�� (Figure 5.11) and this slide deals with creating the HTML +format of the function. It creates the forms, loads the images and sets the +inputs for the user to interact with. This file has nothing to do with the +database and does not carry any queries with it. It is strictly for use with +the creation of the web page itself and the forms that will be used. It is used +to create what the user will see on their monitor when they run the option to +create a slide for their presentation. The code for this file follows and as is +evident it clearly deals with only the HTML:<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><master +src="master"><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><property +name="title">Create A Slide</property><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><h2>@pres_title@</h2><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'>@nav_bar@<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><hr><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><form +name=f action=create-slide-2 method=post><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><input +type=hidden name=pres_item_id value="@pres_item_id@"><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><input +type=hidden name=sort_key value="@sort_key@"><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><script +language=javascript><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'>function +swapWithNext(index)<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'>{<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">� </span>var val = document.f['bullet.' + +index].value;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">� </span>document.f['bullet.' + index].value = +document.f['bullet.' + (index+1)].value;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">� </span>document.f['bullet.' + (index+1)].value = +val;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'>}<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'></script><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><table><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">� </span><tr><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">��� </span><th align=right nowrap>Slide +Title:&nbsp;</th><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">��� </span><td><input type=text +name=slide_title value="" size=50></td><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">� </span></tr><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">� </span><tr valign=top><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">��� </span><th align=right +nowrap><br>Preamble:</th><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">��� </span><td><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">����� </span><textarea rows=4 cols=70 +name=preamble wrap=virtual></textarea><br><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">����� </span><i>(optional random text that goes +above the bullet list)</i><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">��� </span></td><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">� </span></tr><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">� </span><tr valign=baseline><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">��� </span><th align=right nowrap>Bullet +Items:</th><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">��� </span><td><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">����� </span><ul><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">������� </span><input type=hidden name=array_max +value="5"><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><li><input +type=text size=60 name=bullet.1 value="">&nbsp;<img +src="pics/1white.gif" width=18 height=15"><a +href="javascript:swapWithNext(1)"><img +src="pics/down.gif" width=18 height=15 border=0></a><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><li><input +type=text size=60 name=bullet.2 value="">&nbsp;<a +href="javascript:swapWithNext(1)"><img +src="pics/up.gif" width=18 height=15 border=0></a><a +href="javascript:swapWithNext(2)"><img +src="pics/down.gif" width=18 height=15 border=0></a><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><li><input +type=text size=60 name=bullet.3 value="">&nbsp;<a +href="javascript:swapWithNext(2)"><img +src="pics/up.gif" width=18 height=15 border=0></a><a +href="javascript:swapWithNext(3)"><img +src="pics/down.gif" width=18 height=15 border=0></a><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><li><input +type=text size=60 name=bullet.4 value="">&nbsp;<a +href="javascript:swapWithNext(3)"><img +src="pics/up.gif" width=18 height=15 border=0></a><a +href="javascript:swapWithNext(4)"><img src="pics/down.gif" +width=18 height=15 border=0></a><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><li><input +type=text size=60 name=bullet.5 value="">&nbsp;<a +href="javascript:swapWithNext(4)"><img +src="pics/up.gif" width=18 height=15 border=0></a><img +src="pics/1white.gif" width=18 height=15"><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">������� </span><br><i>You can add +additional bullets later.</i><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">����� </span></ul><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">��� </span></td><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">� </span></tr><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">� </span><tr valign=top><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">��� </span><th align=right +nowrap><br>Postamble:</th><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">��� </span><td><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">����� </span><textarea rows=4 cols=70 +name=postamble wrap=virtual></textarea><br><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">����� </span><i>(optional random text that goes +after the bullet list)</i><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">��� </span></td><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><span +style="mso-spacerun: yes">� </span></tr><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'></table><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><p><center><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'><input +type=submit value="Save Slide"><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'></center><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:40.5pt;tab-stops:36.0pt;background:#E5E5E5; +mso-shading:white;mso-pattern:gray-10 auto'><span style='font-size:10.0pt'></form></span></p> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:36.0pt'><!--[if gte vml 1]><v:shape id="_x0000_s2245" type="#_x0000_t202" + style='position:absolute;margin-left:28.25pt;margin-top:2.4pt;width:458.15pt; + height:37.4pt;z-index:9'/><![endif]--><![if !vml]><span style='mso-ignore: +vglayout'> + +<table cellpadding=0 cellspacing=0 align=left> + <tr> + <td width=38 height=3></td> + </tr> + <tr> + <td></td> + <td width=614 height=53 align=left valign=top bgcolor=white style='border: + .75pt solid black;vertical-align:top;background:white'><![endif]><![if !mso]><span + style='position:absolute;z-index:9'> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div v:shape="_x0000_s2245" style='padding:3.6pt 7.2pt 3.6pt 7.2pt' + class=shape> + <p class=MsoPlainText><span style='font-family:Arial;mso-bidi-font-family: + "Times New Roman";letter-spacing:-.25pt'>Figure 5.11: This section of code + depicts the ADP file that is used to create the HTML of the query files.<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + </span><![endif]><![if !mso & !vml]> <![endif]><![if !vml]></td> + </tr> +</table> + +</span><![endif]><span style='color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:36.0pt'><span style='color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<br style='mso-ignore:vglayout' clear=ALL> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:36.0pt'><span style='color:black'>From here the next file in line +is the create-slide.tcl (Figure 5.12). This file deals with the declaration of +the variables that will be used to store the user inputs. This is so that the +query files can actually get access to those variables as entered by the user. +The following section of code displays the TCL file.<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'># +/packages/wp/www/create-slide-2.tcl<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'>ad_page_contract {<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">���� </span>@author Paul Konigsberg +(paul@arsdigita.com)<span style="mso-spacerun: yes">���� </span><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">���� </span>@creation-date Tue Nov 21 10:41:42 2000<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">���� </span>@cvs-id $Id: create-slide-2.tcl,v 1.1.1.1 +2001/04/20 20:51:24 donb Exp $<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'>} {<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">��� </span>pres_item_id:naturalnum,notnull<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">��� </span>slide_title:notnull<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">��� </span>sort_key:naturalnum<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">��� </span>preamble<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">��� </span>array_max:integer<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">��� </span>bullet:array<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">��� </span>postamble<span style="mso-spacerun: +yes">��� </span><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'>}<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'>set package_id +[ad_conn package_id]<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'>set user_id +[ad_verify_and_get_user_id]<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'>set creation_ip +[ad_conn peeraddr]<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'>set bullet_list +[list]<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'>for {set i 1} {$i +<= $array_max} {incr i} {<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">��� </span>if {![empty_string_p $bullet($i)]} {<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">������� </span>lappend bullet_list $bullet($i)<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">��� </span>}<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'>}<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'>#insert the slide<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'>db_exec_plsql +wp_slide_insert {<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">��� </span>begin<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">����� </span>:1 := wp_slide.new(<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">����� </span>pres_item_id<span style="mso-spacerun: +yes">����� </span>=> :pres_item_id,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">����� </span>creation_user<span style="mso-spacerun: +yes">���� </span>=> :user_id,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">����� </span>creation_ip<span style="mso-spacerun: +yes">������ </span>=> :creation_ip,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">����� </span>creation_date<span style="mso-spacerun: +yes">���� </span>=> sysdate,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">����� </span>slide_title<span style="mso-spacerun: +yes">������ </span>=> :slide_title,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">����� </span>original_slide_id => -100,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">����� </span>sort_key<span style="mso-spacerun: +yes">��������� </span>=> :sort_key,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">����� </span>preamble<span style="mso-spacerun: +yes">��������� </span>=> :preamble,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">����� </span>postamble<span style="mso-spacerun: +yes">������� </span><span style="mso-spacerun: yes">�</span>=> :postamble,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">����� </span>bullet_items<span style="mso-spacerun: +yes">����� </span>=> :bullet_list<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">����� </span>);<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">��� </span>end;<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'>}<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'>ad_returnredirect +"presentation-top?[export_url_vars pres_item_id]"<o:p></o:p></span></p> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:15.0pt'><!--[if gte vml 1]><v:shape id="_x0000_s2246" type="#_x0000_t202" + style='position:absolute;margin-left:9.55pt;margin-top:7.25pt;width:495.55pt; + height:37.4pt;z-index:10'/><![endif]--><![if !vml]><span style='mso-ignore: +vglayout'> + +<table cellpadding=0 cellspacing=0 align=left> + <tr> + <td width=13 height=10></td> + </tr> + <tr> + <td></td> + <td width=663 height=53 align=left valign=top bgcolor=white style='border: + .75pt solid black;vertical-align:top;background:white'><![endif]><![if !mso]><span + style='position:absolute;z-index:10'> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div v:shape="_x0000_s2246" style='padding:3.6pt 7.2pt 3.6pt 7.2pt' + class=shape> + <p class=MsoPlainText><span style='font-family:Arial;mso-bidi-font-family: + "Times New Roman";letter-spacing:-.25pt'>Figure 5.12: The TCL file for the + creation of a slide. It sets the variables so that they may be passed onto + the database.<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + </span><![endif]><![if !mso & !vml]> <![endif]><![if !vml]></td> + </tr> +</table> + +</span><![endif]><span style='color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:15.0pt'><span style='color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<br style='mso-ignore:vglayout' clear=ALL> + +<p class=MsoBodyText align=left style='margin-left:0cm;text-align:left; +text-indent:15.0pt'><span style='color:black'>From here there are the XQL files +that interface with the data models. These files take the user input variables +and use these to enter information, modify information and get information from +the database. There are three types of XQL files depending on the types of +query being performed. If the query is compatible with both Oracle and +PostgreSQL then there is only a single *.xql file, as in this case. However, if +there are differences, as decided by the Query Extractor, then there will be +three XQL files created. The general *.xql file, that any common queries can be +placed into, a postgresql.xql file and an oracle.xql file. Each of these files +will take database specific queries. It is this mechanism that allows the +OpenACS system to be database independent.<span style="mso-spacerun: yes">� +</span>For the example being discussed the following is the section of code +dealing with the queries for creating a slide (Figure 5.13).<span +style='mso-tab-count:2'>����������������������� </span></span><span +style='color:red'><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><?xml +version="1.0"?><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><queryset><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">�� +</span><rdbms><type>postgresql</type><version>7.1</version></rdbms><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><fullquery +name="wp_slide_insert"><span style="mso-spacerun: yes">����� +</span><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">����� </span><querytext><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">� </span>select wp_slide__new(<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">��� </span><span style='mso-tab-count:1'>���� </span>:pres_item_id,<o:p></o:p></span></p> + +<p class=MsoNormal style='text-indent:18.0pt;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style='mso-tab-count:1'>����� </span>now(),<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style='mso-tab-count:2'>�������� </span>:user_id,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">����� </span><span style='mso-tab-count:1'>�� </span>:creation_ip,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">�</span><span style='mso-tab-count:2'>������� </span>:slide_title,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style='mso-tab-count:2'>�������� </span>'-1',<span style="mso-spacerun: +yes">����� </span><span style='mso-tab-count:1'> </span><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style='mso-tab-count:2'>�������� </span>'-100',<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">����� </span><span style='mso-tab-count:1'>�� </span>:sort_key,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">����� </span><span style='mso-tab-count:1'>�� </span>:preamble,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style='mso-tab-count:2'>�������� </span>:bullet_list,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style='mso-tab-count:2'>�������� </span>:postamble,<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style='mso-tab-count:2'>�������� </span>'t',<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style='mso-tab-count:2'>�������� </span>'f',<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style='mso-tab-count:2'>�������� </span>NULL<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">����� </span>);<o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">����� </span></querytext><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'></fullquery><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span +style="mso-spacerun: yes">�</span><o:p></o:p></span></p> + +<p class=MsoNormal style='background:#E6E6E6;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'></queryset><o:p></o:p></span></p> + +<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span +style='font-size:10.0pt;font-family:"Courier New";mso-bidi-font-family:"Times New Roman"; +letter-spacing:0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal><!--[if gte vml 1]><o:wrapblock><v:shape id="_x0000_s2247" + type="#_x0000_t202" style='position:absolute;left:0;text-align:left; + margin-left:46.95pt;margin-top:5.45pt;width:448.8pt;height:37.4pt;z-index:11'/> + <![endif]--><![if !vml]><span style='mso-ignore:vglayout'> + <table cellpadding=0 cellspacing=0 align=left> + <tr> + <td width=63 height=7></td> + </tr> + <tr> + <td></td> + <td width=601 height=53 align=left valign=top bgcolor=white + style='border:.75pt solid black;vertical-align:top;background:white'><![endif]><![if !mso]><span + style='position:absolute;z-index:11'> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div v:shape="_x0000_s2247" style='padding:3.6pt 7.2pt 3.6pt 7.2pt' + class=shape> + <p class=MsoPlainText><span style='font-family:Arial;mso-bidi-font-family: + "Times New Roman";letter-spacing:-.25pt'>Figure 5.13: This fragment of + code shows how the Query is actually passed to the RDBMS.<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + </span><![endif]><![if !mso & !vml]> <![endif]><![if !vml]></td> + </tr> + </table> + </span><![endif]><!--[if gte vml 1]></o:wrapblock><![endif]--><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<span style='font-size:12.0pt;mso-bidi-font-size:10.0pt;font-family:Arial; +mso-fareast-font-family:"Times New Roman";mso-bidi-font-family:"Times New Roman"; +color:red;letter-spacing:-.25pt;mso-ansi-language:EN-AU;mso-fareast-language: +EN-US;mso-bidi-language:AR-SA'><br clear=all style='mso-special-character:line-break; +page-break-before:always'> +</span> + +<p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span +style='color:red'><o:p></o:p></span></p> + +<p class=MsoNormal><span style='color:red'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal><span style='color:red'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal><span style='color:red'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<br style='mso-ignore:vglayout' clear=ALL> + +<div style='border:none;border-top:solid windowtext .75pt;padding:16.0pt 0cm 0cm 0cm'> + +<p class=MsoTitle><a name="_Toc528375545"></a><a name="_Toc528662635"></a><a +name="_Toc528922562"><span style='mso-bookmark:_Toc528662635'><span +style='mso-bookmark:_Toc528375545'>Creation of Wimpy Point version 4.x</span></span></a></p> + +</div> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc527288172"></a><a name="_Toc527288528"></a><a +name="_Toc527288908"></a><a name="_Toc528375546"></a><a name="_Toc528659950"><span +style='mso-bookmark:_Toc528375546'><span style='mso-bookmark:_Toc527288908'><span +style='mso-bookmark:_Toc527288528'><span style='mso-bookmark:_Toc527288172'>Steps +Involved in Thesis</span></span></span></span></a></h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>This +thesis required a majority of practical with a small amount of research needed +to understand the basics of all the different programming languages involved +and how they all worked together in OpenACS. The research also covered the +standards that were required to be followed by the team at OpenACS. The +following are the steps, in chronological order, that were taken to complete +the thesis project:</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l67 level1 lfo133;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Research of material</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l67 level2 lfo133;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-bidi-font-family:"Times New Roman"'>o<span +style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Programming +Languages</p> + +<p class=MsoBodyText style='margin-left:162.0pt;text-indent:-18.0pt;mso-list: +l67 level3 lfo133;tab-stops:list 162.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>TCL</p> + +<p class=MsoBodyText style='margin-left:162.0pt;text-indent:-18.0pt;mso-list: +l67 level3 lfo133;tab-stops:list 162.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>SQL</p> + +<p class=MsoBodyText style='margin-left:162.0pt;text-indent:-18.0pt;mso-list: +l67 level3 lfo133;tab-stops:list 162.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>PostgreSQL Data Model Creation</p> + +<p class=MsoBodyText style='margin-left:162.0pt;text-indent:-18.0pt;mso-list: +l67 level3 lfo133;tab-stops:list 162.0pt'><![if !supportLists]><span +style='font-family:Wingdings'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>XQL</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l67 level2 lfo133;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-bidi-font-family:"Times New Roman"'>o<span +style='font:7.0pt "Times New Roman"'> </span></span><![endif]>OpenACS +standards and background</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l67 level2 lfo133;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-bidi-font-family:"Times New Roman"'>o<span +style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Wimpy +Point</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l67 level2 lfo133;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-bidi-font-family:"Times New Roman"'>o<span +style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Online +Communities (Greenspuns Book) etc. (quote references here)</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l67 level1 lfo133;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Setup Wimpy Point packages directory, where OpenACS is +installed </p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l67 level1 lfo133;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Wimpy Point data model creation and drop files for +PostgreSQL</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l67 level1 lfo133;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Run the Query Extractor</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l67 level1 lfo133;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Make Query files PostgreSQL compatible</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l67 level1 lfo133;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Test the Wimpy Point package</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l67 level1 lfo133;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Commit the Wimpy Point package to the OpenACS CVS</p> + +<p class=MsoBodyText style='margin-left:0cm'>Each step is further expanded upon +in the following sections.</p> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc527288173"></a><a name="_Toc527288529"></a><a +name="_Toc527288909"></a><a name="_Toc528375547"></a><a name="_Toc528659951"><span +style='mso-bookmark:_Toc528375547'><span style='mso-bookmark:_Toc527288909'><span +style='mso-bookmark:_Toc527288529'><span style='mso-bookmark:_Toc527288173'>Research</span></span></span></span></a></h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>The +research conducted involved intensive online study of a number of web sites for +the knowledge and background information required to complete the project. The +websites referenced are:</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l101 level1 lfo134;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><a href="http://www.openacs.org/">http://www.openacs.org</a></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l101 level1 lfo134;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]><a href="http://www.arsdigita.com/">http://www.arsdigita.com</a></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:18.15pt'>Both sites +proved a wealth of knowledge and were used to gather information regarding the +different languages used such as:</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l11 level1 lfo135;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>TCL</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l11 level1 lfo135;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>SQL</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:-18.0pt;mso-list: +l11 level1 lfo135;tab-stops:list 72.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>PostgreSQL data model creation</p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:18.15pt'>In addition it +was also important to research how all these different elements of OpenACS fit +together. In this respect the <a href="http://www.openacs.org/">www.openacs.org</a> +site was of extreme usefulness as they actually contain a number of basic +guidelines that allow a beginner to gain a grasp of the work involved and how +to proceed. This site also had a discussion forum for package developers that +proved to be a very useful resource for problems that were ingrained in the +OpenACS system.</p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:18.15pt'>The use of +both the OpenACS and ArsDigita web sites was good to gain an understanding of +how to write code in the different languages involved and also on the standards +that must be followed for the OpenACS system. These standards were fairly +general in nature and mostly dealt with syntactical changes that would need to +be implemented and <span style='color:black'>did not involve any discussions on +how the design of the data models would change from OpenACS v.3.2 to OpenACS +v.4.2.<span style="mso-spacerun: yes">� </span><o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:18.15pt'>An example of +some of these standards that proved to be very useful for the porting of the +Wimpy Point package are:</p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l41 level1 lfo136;tab-stops:list 54.0pt'><![if !supportLists]>1.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>File +Naming<span style='mso-tab-count:1'>�������� </span></p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l41 level2 lfo136;tab-stops:list 90.0pt'><![if !supportLists]>a.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>General: +object_type-verb.extension. In the case of specific packages, such as Wimpy +Point there is no need for the object type as all the files will share the same +object type, wimpy-point. As such this can be omitted.</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l41 level2 lfo136;tab-stops:list 90.0pt'><![if !supportLists]>b.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>For +Web page flows: These are the files that step through a number of processes for +loading information use the following format:</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-126.0pt; +mso-text-indent-alt:-9.0pt;mso-list:l41 level3 lfo136;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font:7.0pt "Times New Roman"'> +</span>i.<span style='font:7.0pt "Times New Roman"'> +</span><![endif]>verb.extension</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-126.0pt; +mso-text-indent-alt:-9.0pt;mso-list:l41 level3 lfo136;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font:7.0pt "Times New Roman"'> +</span>ii.<span style='font:7.0pt "Times New Roman"'> +</span><![endif]>verb-2.extesion</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-126.0pt; +mso-text-indent-alt:-9.0pt;mso-list:l41 level3 lfo136;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font:7.0pt "Times New Roman"'> +</span>iii.<span style='font:7.0pt "Times New Roman"'> +</span><![endif]>�</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-126.0pt; +mso-text-indent-alt:-9.0pt;mso-list:l41 level3 lfo136;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font:7.0pt "Times New Roman"'> +</span>iv.<span style='font:7.0pt "Times New Roman"'> +</span><![endif]>verb-N.extension</p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l41 level1 lfo136;tab-stops:list 54.0pt'><![if !supportLists]>2.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>Normally +these page flows follow the following steps: </p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l41 level1 lfo136;tab-stops:list 54.0pt'><![if !supportLists]>3.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>Present +a form to the user.</p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l41 level1 lfo136;tab-stops:list 54.0pt'><![if !supportLists]>4.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>Present +confirmation to the user.</p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l41 level1 lfo136;tab-stops:list 54.0pt'><![if !supportLists]>5.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>Perform +the database query to return the information to the user.</p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l41 level1 lfo136;tab-stops:list 54.0pt'><![if !supportLists]>6.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>Further +to this there are a number of different categories for the file types and each +type will go into a different directory structure.</p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l41 level1 lfo136;tab-stops:list 54.0pt'><![if !supportLists]>7.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>Data +Model files need to go into the /package_name/sql/postgresql/ directoy.</p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l41 level1 lfo136;tab-stops:list 54.0pt'><![if !supportLists]>8.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>Tcl, +ADP and XQL files need to go into the /package_name/www/ directory tree.</p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l41 level1 lfo136;tab-stops:list 54.0pt'><![if !supportLists]>9.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>File +Headers</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l41 level2 lfo136;tab-stops:list 90.0pt'><![if !supportLists]>a.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>Need +to include headers in the files. These headers will describe:</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-126.0pt; +mso-text-indent-alt:-9.0pt;mso-list:l41 level3 lfo136;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font:7.0pt "Times New Roman"'> +</span>i.<span style='font:7.0pt "Times New Roman"'> +</span><![endif]>Path from the server.</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-126.0pt; +mso-text-indent-alt:-9.0pt;mso-list:l41 level3 lfo136;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font:7.0pt "Times New Roman"'> +</span>ii.<span style='font:7.0pt "Times New Roman"'> +</span><![endif]>Brief description of what the file does.</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-126.0pt; +mso-text-indent-alt:-9.0pt;mso-list:l41 level3 lfo136;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font:7.0pt "Times New Roman"'> +</span>iii.<span style='font:7.0pt "Times New Roman"'> +</span><![endif]>Authors email address and creation date.</p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l41 level1 lfo136;tab-stops:list 54.0pt'><![if !supportLists]>10.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>Data Modelling</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l41 level2 lfo136;tab-stops:list 90.0pt'><![if !supportLists]>a.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>At +the moment this is up to the creators design.</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l41 level2 lfo136;tab-stops:list 90.0pt'><![if !supportLists]>b.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>In +the future, it is panned to have standardised column names and naming +conventions.</p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l41 level1 lfo136;tab-stops:list 54.0pt'><![if !supportLists]>11.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>Documentation</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l41 level2 lfo136;tab-stops:list 90.0pt'><![if !supportLists]>a.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>Currently +at authors discretion.</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l41 level2 lfo136;tab-stops:list 90.0pt'><![if !supportLists]>b.<span +style='font:7.0pt "Times New Roman"'> </span><![endif]>Currently +under discussion.</p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l41 level1 lfo136;tab-stops:list 54.0pt'><![if !supportLists]><span +style='color:black'>12.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span +style='color:black'>When naming the files use name-name.extension<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l41 level1 lfo136;tab-stops:list 54.0pt'><![if !supportLists]><span +style='color:black'>13.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span +style='color:black'>When using variables use name_name_name.extension<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt;mso-list: +l41 level1 lfo136;tab-stops:list 54.0pt'><![if !supportLists]><span +style='color:black'>14.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span +style='color:black'>List the standards<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:15.3pt'><span +style='color:black'>The discussion on how OpenACS works and how the different +packages work together was also very useful, though the information is very +general and should have had more specific data on the dependencies and how +packages used the different tables and content types and items that are used by +PostgreSQL.<o:p></o:p></span></p> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc527288174"></a><a name="_Toc527288530"></a><a +name="_Toc527288910"></a><a name="_Toc528375548"></a><a name="_Toc528659952"><span +style='mso-bookmark:_Toc528375548'><span style='mso-bookmark:_Toc527288910'><span +style='mso-bookmark:_Toc527288530'><span style='mso-bookmark:_Toc527288174'>Setup +OpenACS Installation</span></span></span></span></a></h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:17.05pt'>This procedure +involved implementing the new directory and file structure that is used by +OpenACS v 4.2. As such it involved the creation of a new sub-directory within +/sql/ called /postgresql/. This simply separates the data model creation and +deletion code based on the type of RDBMS used. It permits the OpenACS package +to be database independent and provides for future improvements in the +scalability of the application (see Chapter ) as more sub-directories could be +added with the appropriate data model creation and deletion code for any type +of RDBMS.</p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:17.05pt'>This directory +structure will allow for the implementation of Database Independence by +allowing for the separation and logical organisation of code for different +types of database systems.</p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:17.05pt'>The new +directory structure is graphically displayed below with the change from the +previous version of OpenACS to the current version. As is evident there has +been the addition of sub-directories within the /sql directory. This allows +separation of code for the two RDBMS types whilst also maintaining a logical +directory structure:</p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:17.05pt'><!--[if gte vml 1]><v:group + id="_x0000_s2292" style='position:absolute;left:0;text-align:left; + margin-left:65.65pt;margin-top:12.95pt;width:392.7pt;height:108pt;z-index:19' + coordorigin="2447,4418" coordsize="7854,2160"> + <v:rect id="_x0000_s2289" style='position:absolute;left:2447;top:4418;width:3215; + height:2040;mso-wrap-style:none;v-text-anchor:middle'> + <v:fill alignshape="f"/> + <v:stroke imagealignshape="f"/> + <v:shadow color="black"/> + <v:textbox> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span lang=EN-US style='mso-bidi-font-size:14.0pt; + color:#000066;mso-ansi-language:EN-US'>/packages<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span lang=EN-US style='mso-bidi-font-size:14.0pt; + color:#000066;mso-ansi-language:EN-US'><span style="mso-spacerun: yes">��� + </span></span><span lang=EN-US style='mso-bidi-font-size:14.0pt; + font-family:Wingdings;mso-ascii-font-family:Arial;mso-hansi-font-family: + Arial;color:#000066;mso-ansi-language:EN-US;mso-char-type:symbol; + mso-symbol-font-family:Wingdings'><span style='mso-char-type:symbol; + mso-symbol-font-family:Wingdings'>�</span></span><span lang=EN-US + style='mso-bidi-font-size:14.0pt;color:#000066;mso-ansi-language:EN-US'>/wp-slim<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:36.0pt;text-indent:0cm;mso-list: + l106 level1 lfo152;mso-layout-grid-align:none;text-autospace:none'><![if !supportLists]><span + lang=EN-US style='font-size:14.0pt;font-family:Wingdings;color:#000066; + mso-ansi-language:EN-US'>�</span><![endif]><span lang=EN-US + style='mso-bidi-font-size:14.0pt;color:#000066;mso-ansi-language:EN-US'> + info file<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:36.0pt;text-indent:0cm;mso-list: + l55 level1 lfo153;mso-layout-grid-align:none;text-autospace:none'><![if !supportLists]><span + lang=EN-US style='font-size:14.0pt;font-family:Wingdings;color:#000066; + mso-ansi-language:EN-US'>�</span><![endif]><span lang=EN-US + style='mso-bidi-font-size:14.0pt;color:#000066;mso-ansi-language:EN-US'>/sql<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:36.0pt;text-indent:0cm;mso-list: + l40 level1 lfo154;mso-layout-grid-align:none;text-autospace:none'><![if !supportLists]><span + style='font-size:14.0pt;mso-bidi-font-size:24.0pt;font-family:Wingdings; + color:#000066'>�</span><![endif]><span lang=EN-US style='mso-bidi-font-size: + 14.0pt;color:#000066;mso-ansi-language:EN-US'>/www</span><span + style='font-size:24.0pt;color:#000066'><o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:rect id="_x0000_s2290" style='position:absolute;left:6862;top:4418; + width:3439;height:2160;mso-wrap-style:none;v-text-anchor:middle'> + <v:fill alignshape="f"/> + <v:stroke imagealignshape="f"/> + <v:shadow color="black"/> + <v:textbox> + <![if !mso]> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span lang=EN-US style='mso-bidi-font-size:12.0pt; + color:#000066;mso-ansi-language:EN-US'>/packages<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span lang=EN-US style='mso-bidi-font-size:12.0pt; + color:#000066;mso-ansi-language:EN-US'><span style="mso-spacerun: yes">��� + </span></span><span lang=EN-US style='mso-bidi-font-size:12.0pt; + font-family:Wingdings;mso-ascii-font-family:Arial;mso-hansi-font-family: + Arial;color:#000066;mso-ansi-language:EN-US;mso-char-type:symbol; + mso-symbol-font-family:Wingdings'><span style='mso-char-type:symbol; + mso-symbol-font-family:Wingdings'>�</span></span><span lang=EN-US + style='mso-bidi-font-size:12.0pt;color:#000066;mso-ansi-language:EN-US'>/wp-slim<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:36.0pt;text-indent:0cm;mso-list: + l10 level1 lfo151;mso-layout-grid-align:none;text-autospace:none'><![if !supportLists]><span + lang=EN-US style='mso-bidi-font-size:12.0pt;font-family:Wingdings; + color:#000066;mso-ansi-language:EN-US'>�</span><![endif]><span lang=EN-US + style='mso-bidi-font-size:12.0pt;color:#000066;mso-ansi-language:EN-US'> + info file<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:36.0pt;text-indent:0cm;mso-list: + l10 level1 lfo151;mso-layout-grid-align:none;text-autospace:none'><![if !supportLists]><span + lang=EN-US style='mso-bidi-font-size:12.0pt;font-family:Wingdings; + color:#000066;mso-ansi-language:EN-US'>�</span><![endif]><span lang=EN-US + style='mso-bidi-font-size:12.0pt;color:#000066;mso-ansi-language:EN-US'>/sql<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:72.0pt;text-indent:0cm;mso-list: + l10 level1 lfo151;mso-layout-grid-align:none;text-autospace:none'><![if !supportLists]><span + lang=EN-US style='mso-bidi-font-size:12.0pt;font-family:Wingdings; + color:#000066;mso-ansi-language:EN-US'>�</span><![endif]><span lang=EN-US + style='mso-bidi-font-size:12.0pt;color:#000066;mso-ansi-language:EN-US'>/oracle<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:72.0pt;text-indent:0cm;mso-list: + l10 level1 lfo151;mso-layout-grid-align:none;text-autospace:none'><![if !supportLists]><span + lang=EN-US style='mso-bidi-font-size:12.0pt;font-family:Wingdings; + color:#000066;mso-ansi-language:EN-US'>�</span><![endif]><span lang=EN-US + style='mso-bidi-font-size:12.0pt;color:#000066;mso-ansi-language:EN-US'>/postgresql<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:36.0pt;text-indent:0cm;mso-list: + l10 level1 lfo151;mso-layout-grid-align:none;text-autospace:none'><![if !supportLists]><span + style='mso-bidi-font-size:12.0pt;font-family:Wingdings;color:#000066'>�</span><![endif]><span + lang=EN-US style='mso-bidi-font-size:12.0pt;color:#000066;mso-ansi-language: + EN-US'>/www</span><span style='mso-bidi-font-size:12.0pt;color:#000066'><o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + <![endif]></v:textbox> + </v:rect><v:shape id="_x0000_s2291" type="#_x0000_t13" style='position:absolute; + left:5542;top:5258;width:1560;height:240;mso-wrap-style:none;v-text-anchor:middle'> + <v:fill alignshape="f"/> + <v:stroke imagealignshape="f"/> + <v:shadow color="black"/> + </v:shape></v:group><v:shape id="_x0000_s2293" type="#_x0000_t202" style='position:absolute; + left:0;text-align:left;margin-left:37.6pt;margin-top:123.8pt;width:439.45pt; + height:37.4pt;z-index:20'/><![endif]--><![if !vml]><span style='mso-ignore: +vglayout'> + +<table cellpadding=0 cellspacing=0 align=left> + <tr> + <td width=50 height=17></td> + <td width=38></td> + <td width=526></td> + <td width=25></td> + </tr> + <tr> + <td height=147></td> + <td></td> + <td align=left valign=top><img width=526 height=147 + src="./dev-doc_files/image002.gif" v:shapes="_x0000_s2292 _x0000_s2289 _x0000_s2290 _x0000_s2291"></td> + </tr> + <tr> + <td height=1></td> + </tr> + <tr> + <td height=53></td> + <td colspan=3 width=589 height=53 align=left valign=top bgcolor=white + style='border:.75pt solid black;vertical-align:top;background:white'><![endif]><![if !mso]><span + style='position:absolute;z-index:20'> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div v:shape="_x0000_s2293" style='padding:3.6pt 7.2pt 3.6pt 7.2pt' + class=shape> + <p class=MsoPlainText><span style='font-family:Arial;mso-bidi-font-family: + "Times New Roman";letter-spacing:-.25pt'>Figure 6.1: This is a graphical + representation of the change required in the Directory Structure to allow + for Database Independence.<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + </span><![endif]><![if !mso & !vml]> <![endif]><![if !vml]></td> + </tr> +</table> + +</span><![endif]><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:17.05pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:17.05pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:17.05pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:17.05pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:17.05pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<br style='mso-ignore:vglayout' clear=ALL> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc527288175"></a><a name="_Toc527288531"></a><a +name="_Toc527288911"></a><a name="_Toc528375549"></a><a name="_Toc528659953"><span +style='mso-bookmark:_Toc528375549'><span style='mso-bookmark:_Toc527288911'><span +style='mso-bookmark:_Toc527288531'><span style='mso-bookmark:_Toc527288175'>Data +Models</span></span></span></span></a></h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>This +was the most intense and time-consuming aspect of the project. It involved the +most work in the sense that the PostgreSQL data model code had very few +similarities to the Oracle data models. There were also a lot of changes in the +syntax and headings used by PostgreSQL, which meant that the Oracle code had to +be drastically re-written. There are some basic syntactical changes that had to +be implemented and these include:</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l139 level1 lfo137;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>The use of inline functions to head operations. This +was not required under the Oracle system.</p> + +<table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; + border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0cm 5.4pt 0cm 5.4pt'> + <tr> + <td width=319 valign=top style='width:239.3pt;border:solid windowtext .5pt; + padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoBodyText style='margin-left:0cm'>Oracle</p> + </td> + <td width=360 valign=top style='width:270.1pt;border:solid windowtext .5pt; + border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoBodyText style='margin-left:0cm'>PostgreSQL</p> + </td> + </tr> + <tr> + <td width=319 valign=top style='width:239.3pt;border:solid windowtext .5pt; + border-top:none;mso-border-top-alt:solid windowtext .5pt;background:#E6E6E6; + padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;mso-fareast-font-family: + "MS Mincho"'><span style="mso-spacerun: yes">� </span></span><span + style='font-size:10.0pt;font-family:"Courier New";letter-spacing:0pt'>commit;<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>-- Define some privileges on the wp_presentation object.<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>Begin<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">� + </span>acs_privilege.create_privilege(<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">����� + </span>'wp_admin_presentation');<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">� + </span>acs_privilege.create_privilege(<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">����� + </span>'wp_create_presentation');<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">� + </span>acs_privilege.create_privilege(<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">����� + </span>'wp_edit_presentation'); <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">� + </span>acs_privilege.create_privilege(<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">����� + </span>'wp_delete_presentation');<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">� + </span>acs_privilege.create_privilege(<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">����� + </span>'wp_view_presentation');<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>commit;<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>end;<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + mso-fareast-font-family:"MS Mincho"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span + style='font-size:10.0pt'><o:p></o:p></span></p> + </td> + <td width=360 valign=top style='width:270.1pt;border-top:none;border-left: + none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt; + mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt; + background:#E6E6E6;padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>create function inline_10 ()<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>returns integer as'<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>begin<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">� </span>PERFORM + acs_privilege__create_privilege(<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:2'>����������� </span>''wp_admin_presentation'', + <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:2'>����������� </span>null, <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:2'>����������� </span>null<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:1'>����� </span>);<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">������� </span><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">� </span>PERFORM + acs_privilege__create_privilege(<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:2'>����������� </span>''wp_create_presentation'', + <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:2'>����������� </span>null, <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:2'>����������� </span>null<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:1'>����� </span>);<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">������� </span><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">� </span>PERFORM + acs_privilege__create_privilege(<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:2'>����������� </span>''wp_edit_presentation'', + <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:2'>����������� </span>null, <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:2'>����������� </span>null<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:1'>����� </span>); <span + style='mso-tab-count:1'>�� </span><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">� </span>PERFORM + acs_privilege__create_privilege(<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:2'>����������� </span>''wp_delete_presentation'', + <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:2'>����������� </span>null, <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:2'>����������� </span>null<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:1'>����� </span>);<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">������� </span><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">� </span>PERFORM + acs_privilege__create_privilege(<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:2'>����������� </span>''wp_view_presentation'', + <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:2'>����������� </span>null, <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:2'>����������� </span>null<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:1'>����� </span>);<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style='mso-tab-count:1'>����� </span><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>return 0;<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>end;' language 'plpgsql';<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>select inline_10 ();<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><span style='font-size:10.0pt; + font-family:"Courier New";letter-spacing:0pt'>drop function inline_10 ();</span><span + style='font-size:10.0pt;mso-fareast-font-family:"MS Mincho"'><o:p></o:p></span></p> + <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span + style='font-size:10.0pt'><o:p></o:p></span></p> + </td> + </tr> +</table> + +<p class=MsoBodyText style='margin-left:72.0pt'><!--[if gte vml 1]><v:shape + id="_x0000_s2251" type="#_x0000_t202" style='position:absolute;left:0; + text-align:left;margin-left:9.55pt;margin-top:7.9pt;width:476.85pt;height:37.4pt; + z-index:14;mso-position-horizontal-relative:text; + mso-position-vertical-relative:text'/><![endif]--><![if !vml]><span +style='mso-ignore:vglayout;position:absolute;z-index:59;left:0px;margin-left: +13px;margin-top:11px;width:639px;height:52px'> + +<table cellpadding=0 cellspacing=0> + <tr> + <td width=639 height=52 align=left valign=top bgcolor=white style='border: + .75pt solid black;vertical-align:top;background:white'><![endif]><![if !mso]><span + style='position:absolute;left:0pt;z-index:14'> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div v:shape="_x0000_s2251" style='padding:3.6pt 7.2pt 3.6pt 7.2pt' + class=shape> + <p class=MsoPlainText><span style='font-family:Arial;mso-bidi-font-family: + "Times New Roman";letter-spacing:-.25pt'>Figure 6.2: These sections of code + display the differences in the way Oracle and PostgreSQL use routine + headers. It is also a good example of the differences in the syntax used + between the two systems.<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + </span><![endif]><![if !mso & !vml]> <![endif]><![if !vml]></td> + </tr> +</table> + +</span><![endif]></p> + +<p class=MsoBodyText style='margin-left:72.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l139 level1 lfo137;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Syntactic changes (see Figure 7.05)</p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:15.3pt'>There were of +course some major differences in the data models for the two versions. These +differences involved a number of factors such as:</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l139 level1 lfo137;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>PostgreSQL does not use procedures, unlike Oracle which +uses both functions and procedures. This does not really affect anything as all +that needs to be done is the replacement of the word �procedure� with +�function�. </p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l139 level1 lfo137;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>There is a major difference for the declaration of +functions. Oracle does it the following way for a particular function:</p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:36.0pt'><!--[if gte vml 1]><v:rect + id="_x0000_s2252" style='position:absolute;left:0;text-align:left; + margin-left:-9.15pt;margin-top:16.35pt;width:532.95pt;height:224.4pt; + z-index:15' fillcolor="#eaeaea"/><![endif]--><![if !vml]><span +style='mso-ignore:vglayout;position:absolute;z-index:60;left:0px;margin-left: +-12px;margin-top:22px;width:713px;height:302px'> + +<table cellpadding=0 cellspacing=0> + <tr> + <td width=713 height=302 align=left valign=top bgcolor="#eaeaea" + style='border:.75pt solid black;vertical-align:top;background:#EAEAEA'><![endif]><![if !mso]><span + style='position:absolute;left:0pt;z-index:15'> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div v:shape="_x0000_s2252" style='padding:3.6pt 7.2pt 3.6pt 7.2pt' + class=shape> + <p class=MsoNormal><span style='font-size:10.0pt'>create or replace package + wp_slide<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt'>as<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt'><span + style="mso-spacerun: yes">� </span>function new (<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt'><span + style="mso-spacerun: yes">��� </span>pres_item_id<span style="mso-spacerun: + yes">������� </span><span style='mso-tab-count:1'>����������� </span>in + cr_items.item_id%TYPE,<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt'><span + style="mso-spacerun: yes">��� </span>creation_date<span style='mso-tab-count: + 2'>������������������ </span>in acs_objects.creation_date%TYPE default + sysdate,<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt'><span + style="mso-spacerun: yes">��� </span>creation_user<span style='mso-tab-count: + 2'>������������������ </span>in acs_objects.creation_user%TYPE default + null,<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt'><span + style="mso-spacerun: yes">��� </span>creation_ip<span style='mso-tab-count: + 3'>��������������������������������� </span>in acs_objects.creation_ip%TYPE + default null,<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt'><span + style="mso-spacerun: yes">��� </span>slide_title<span style="mso-spacerun: + yes">�������������� </span><span style='mso-tab-count:1'>�������� </span>in + cr_wp_slides.slide_title%TYPE,<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt'><span + style="mso-spacerun: yes">��� </span>style<span style="mso-spacerun: + yes">�������������� </span><span style='mso-tab-count:2'>��������������� </span>in + cr_wp_slides.style%TYPE default -1,<span style="mso-spacerun: yes">���� + </span><o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt'><span + style="mso-spacerun: yes">��� </span>original_slide_id<span + style="mso-spacerun: yes">�� </span><span style='mso-tab-count:1'>����������� </span>in + cr_wp_slides.original_slide_id%TYPE,<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt'><span + style="mso-spacerun: yes">��� </span>sort_key<span style="mso-spacerun: + yes">����������� </span><span style='mso-tab-count:1'>� </span>in + cr_wp_slides.sort_key%TYPE,<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt'><span + style="mso-spacerun: yes">��� </span>preamble<span style="mso-spacerun: + yes">����������� </span><span style='mso-tab-count:1'> </span>in varchar2,<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt'><span + style="mso-spacerun: yes">��� </span>bullet_items<span style="mso-spacerun: + yes">������� </span><span style='mso-tab-count:1'> </span>in varchar2,<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt'><span + style="mso-spacerun: yes">��� </span>postamble<span style="mso-spacerun: + yes">���������� </span><span style='mso-tab-count:1'>����������� </span>in + varchar2,<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt'><span + style="mso-spacerun: yes">��� </span>include_in_outline_p <span + style='mso-tab-count:1'>������� </span>in + cr_wp_slides.include_in_outline_p%TYPE default 't',<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt'><span + style="mso-spacerun: yes">��� </span>context_break_after_p <span + style='mso-tab-count:1'>���� </span>in + cr_wp_slides.context_break_after_p%TYPE default 'f',<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt'><span + style="mso-spacerun: yes">��� </span>context_id<span style="mso-spacerun: + yes">��������� </span><span style='mso-tab-count:1'> </span>in + acs_objects.context_id%TYPE default null<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt'><span + style="mso-spacerun: yes">� </span>) return cr_items.item_id%TYPE;<o:p></o:p></span></p> + <p class=MsoIndexHeading style='line-height:normal;page-break-after:auto'><span + style='font-family:Arial;mso-bidi-font-family:"Times New Roman"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + </span><![endif]><![if !mso & !vml]> <![endif]><![if !vml]></td> + </tr> +</table> + +</span><![endif]>To declare the function:</p> + +<p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; +text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:3'>����������������������������������� </span></p> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm'><!--[if gte vml 1]><v:shape id="_x0000_s2255" + type="#_x0000_t202" style='position:absolute;left:0;text-align:left; + margin-left:9.55pt;margin-top:28.65pt;width:495.55pt;height:37.4pt;z-index:16'/><![endif]--><![if !vml]><span +style='mso-ignore:vglayout'> + +<table cellpadding=0 cellspacing=0 align=left> + <tr> + <td width=13 height=38></td> + </tr> + <tr> + <td></td> + <td width=663 height=53 align=left valign=top bgcolor=white style='border: + .75pt solid black;vertical-align:top;background:white'><![endif]><![if !mso]><span + style='position:absolute;z-index:16'> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div v:shape="_x0000_s2255" style='padding:3.6pt 7.2pt 3.6pt 7.2pt' + class=shape> + <p class=MsoNormal style='margin-left:0cm'>Figure 6.3: Declaration of Functions + in Oracle</p> + </div> + <![if !mso]></td> + </tr> + </table> + </span><![endif]><![if !mso & !vml]> <![endif]><![if !vml]></td> + </tr> +</table> + +</span><![endif]><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:36.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:36.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<br style='mso-ignore:vglayout' clear=ALL> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:36.0pt'>To perform +the function:</p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'>create or replace package body wp_slide<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'>as<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">� </span>function new (<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>pres_item_id<span style="mso-spacerun: yes">������� </span><span +style='mso-tab-count:1'>����� </span>in cr_items.item_id%TYPE,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>creation_date<span +style='mso-tab-count:3'>������������ </span>in acs_objects.creation_date%TYPE +default sysdate,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>creation_user<span +style='mso-tab-count:3'>������������ </span>in acs_objects.creation_user%TYPE +default null,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>creation_ip<span +style='mso-tab-count:3'>�������������� </span>in acs_objects.creation_ip%TYPE +default null,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>slide_title<span +style="mso-spacerun: yes">������������ </span><span style="mso-spacerun: +yes">��</span>in cr_wp_slides.slide_title%TYPE,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>style<span +style="mso-spacerun: yes">�������������� </span><span style='mso-tab-count: +1'>����� </span>in cr_wp_slides.style%TYPE default -1,<span +style="mso-spacerun: yes">���� </span><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>original_slide_id<span style="mso-spacerun: yes">�� </span><span +style='mso-tab-count:1'>����� </span>in cr_wp_slides.original_slide_id%TYPE,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>sort_key<span +style="mso-spacerun: yes">����������� </span><span style='mso-tab-count:1'>����� </span>in +cr_wp_slides.sort_key%TYPE,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>preamble<span +style="mso-spacerun: yes">����������� </span><span style='mso-tab-count:1'>����� </span>in +varchar2,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>bullet_items<span style="mso-spacerun: yes">������� </span><span +style='mso-tab-count:1'>����� </span>in varchar2,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>postamble<span +style="mso-spacerun: yes">���������� </span><span style='mso-tab-count:1'>����� </span>in +varchar2,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>include_in_outline_p <span style='mso-tab-count:1'>���� </span>in +cr_wp_slides.include_in_outline_p%TYPE default 't',<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>context_break_after_p <span style='mso-tab-count:1'>��� </span>in +cr_wp_slides.context_break_after_p%TYPE default 'f',<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>context_id<span +style="mso-spacerun: yes">��������� </span><span style='mso-tab-count:1'>����� </span>in +acs_objects.context_id%TYPE default null<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">� </span>) return +cr_items.item_id%TYPE<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">� </span>is<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>v_item_id<span +style='mso-tab-count:3'>���������������� </span>cr_items.item_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>v_preamble_item_id<span style='mso-tab-count:2'>������� </span>cr_items.item_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>v_postamble_item_id<span style='mso-tab-count:2'>������ </span>cr_items.item_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>v_bullet_items_item_id<span style='mso-tab-count:1'>��� </span>cr_items.item_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>v_revision_id<span +style='mso-tab-count:2'>������ </span>cr_revisions.revision_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>v_preamble_revision_id<span style='mso-tab-count:1'>��� </span>cr_revisions.revision_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>v_postamble_revision_id<span style='mso-tab-count:1'>�� </span>cr_revisions.revision_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>v_bullet_items_revision_id<span style='mso-tab-count:1'>����� </span>cr_revisions.revision_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>v_max_id<span +style='mso-tab-count:3'>����������������� </span>integer;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>v_name<span +style='mso-tab-count:3'>������������� </span>cr_wp_slides.slide_title%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">� </span>begin<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">�� </span><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">�� </span><span +style='mso-tab-count:1'>�� </span>� <o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">�� </span><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">�</span><span +style='mso-tab-count:1'>���� </span>return v_item_id;<o:p></o:p></span></p> + +<p class=MsoBodyText style='margin-left:0cm;background:#E6E6E6'><span +style='font-size:10.0pt;font-family:"Courier New";letter-spacing:0pt'><span +style="mso-spacerun: yes">� </span>end;</span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:14.2pt'><!--[if gte vml 1]><v:shape + id="_x0000_s2256" type="#_x0000_t202" style='position:absolute;left:0; + text-align:left;margin-left:18.9pt;margin-top:9.3pt;width:495.55pt;height:37.4pt; + z-index:17'/><![endif]--><![if !vml]><span style='mso-ignore:vglayout'> + +<table cellpadding=0 cellspacing=0 align=left> + <tr> + <td width=25 height=12></td> + </tr> + <tr> + <td></td> + <td width=664 height=53 align=left valign=top bgcolor=white style='border: + .75pt solid black;vertical-align:top;background:white'><![endif]><![if !mso]><span + style='position:absolute;z-index:17'> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div v:shape="_x0000_s2256" style='padding:3.6pt 7.2pt 3.6pt 7.2pt' + class=shape> + <p class=MsoNormal style='margin-left:0cm'>Figure 6.4: Declaration of + Functions in Oracle</p> + </div> + <![if !mso]></td> + </tr> + </table> + </span><![endif]><![if !mso & !vml]> <![endif]><![if !vml]></td> + </tr> +</table> + +</span><![endif]><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:72.0pt;text-indent:35.95pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<br style='mso-ignore:vglayout' clear=ALL> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:35.95pt'>Whereas +PostgreSQL does it in one easy step, almost not even declaring the function:</p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'>create or replace package body wp_slide<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'>as<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">� </span>function new (<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>pres_item_id<span style="mso-spacerun: yes">������� </span><span +style='mso-tab-count:1'>����� </span>in cr_items.item_id%TYPE,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>creation_date<span +style='mso-tab-count:3'>������������ </span>in acs_objects.creation_date%TYPE +default sysdate,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>creation_user<span +style='mso-tab-count:3'>������������ </span>in acs_objects.creation_user%TYPE +default null,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>creation_ip<span +style='mso-tab-count:3'>�������������� </span>in acs_objects.creation_ip%TYPE +default null,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>slide_title<span +style="mso-spacerun: yes">�������������� </span>in +cr_wp_slides.slide_title%TYPE,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>style<span +style="mso-spacerun: yes">�������������� </span><span style='mso-tab-count: +1'>����� </span>in cr_wp_slides.style%TYPE default -1,<span +style="mso-spacerun: yes">���� </span><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>original_slide_id<span style="mso-spacerun: yes">�� </span><span +style='mso-tab-count:1'>����� </span>in cr_wp_slides.original_slide_id%TYPE,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>sort_key<span +style="mso-spacerun: yes">����������� </span><span style='mso-tab-count:1'>����� </span>in +cr_wp_slides.sort_key%TYPE,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>preamble<span +style="mso-spacerun: yes">����������� </span><span style='mso-tab-count:1'>����� </span>in +varchar2,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>bullet_items<span style="mso-spacerun: yes">������� </span><span +style='mso-tab-count:1'>����� </span>in varchar2,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>postamble<span +style="mso-spacerun: yes">���������� </span><span style='mso-tab-count:1'>����� </span>in +varchar2,<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>include_in_outline_p <span style='mso-tab-count:1'>���� </span>in +cr_wp_slides.include_in_outline_p%TYPE default 't',<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>context_break_after_p <span style='mso-tab-count:1'>��� </span>in +cr_wp_slides.context_break_after_p%TYPE default 'f',<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>context_id<span +style="mso-spacerun: yes">��������� </span><span style='mso-tab-count:1'>����� </span>in +acs_objects.context_id%TYPE default null<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">� </span>) return +cr_items.item_id%TYPE<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">� </span>is<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>v_item_id<span +style='mso-tab-count:3'>���������������� </span>cr_items.item_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>v_preamble_item_id<span style='mso-tab-count:2'>������� </span>cr_items.item_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>v_postamble_item_id<span style='mso-tab-count:2'>������ </span>cr_items.item_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>v_bullet_items_item_id<span style='mso-tab-count:1'>��� </span>cr_items.item_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>v_revision_id<span +style='mso-tab-count:2'>������ </span>cr_revisions.revision_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>v_preamble_revision_id<span style='mso-tab-count:1'>��� </span>cr_revisions.revision_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>v_postamble_revision_id<span style='mso-tab-count:1'>�� </span>cr_revisions.revision_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� +</span>v_bullet_items_revision_id<span style='mso-tab-count:1'>����� </span>cr_revisions.revision_id%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>v_max_id<span +style='mso-tab-count:3'>����������������� </span>integer;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">��� </span>v_name<span +style='mso-tab-count:3'>������������� </span>cr_wp_slides.slide_title%TYPE;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">� </span>begin<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">�� </span><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">�� </span><span +style='mso-tab-count:1'>�� </span>� <o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">�� </span><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6;mso-layout-grid-align: +none;text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; +letter-spacing:0pt'><span style="mso-spacerun: yes">�</span><span +style='mso-tab-count:1'>���� </span>return v_item_id;<o:p></o:p></span></p> + +<p class=MsoNormal style='margin-left:0cm;background:#E6E6E6'><span +style='font-size:10.0pt;font-family:"Courier New";letter-spacing:0pt'><span +style="mso-spacerun: yes">� </span>end;</span></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:14.2pt'><!--[if gte vml 1]><v:shape + id="_x0000_s2384" type="#_x0000_t202" style='position:absolute;left:0; + text-align:left;margin-left:.2pt;margin-top:15pt;width:495.55pt;height:37.4pt; + z-index:21'/><![endif]--><![if !vml]><span style='mso-ignore:vglayout'> + +<table cellpadding=0 cellspacing=0 align=left> + <tr> + <td width=0 height=20></td> + </tr> + <tr> + <td></td> + <td width=664 height=53 align=left valign=top bgcolor=white style='border: + .75pt solid black;vertical-align:top;background:white'><![endif]><![if !mso]><span + style='position:absolute;z-index:21'> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div v:shape="_x0000_s2384" style='padding:3.6pt 7.2pt 3.6pt 7.2pt' + class=shape> + <p class=MsoNormal style='margin-left:0cm'>Figure 6.5: Declaration of + Functions in PostgreSQL.</p> + </div> + <![if !mso]></td> + </tr> + </table> + </span><![endif]><![if !mso & !vml]> <![endif]><![if !vml]></td> + </tr> +</table> + +</span><![endif]><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:14.2pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<br style='mso-ignore:vglayout' clear=ALL> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:14.2pt'>Once these +changes had been implemented there was also some structural differences in the +way the PostgreSQL ACS services were implemented. These changes required +different inputs to data structures and outputs. An example of these types of +differences is shown here:</p> + +<table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse; + border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0cm 5.4pt 0cm 5.4pt'> + <tr> + <td width=340 valign=top style='width:254.7pt;border:solid windowtext .5pt; + padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoBodyText align=center style='margin-left:0cm;text-align:center'>Oracle</p> + </td> + <td width=340 valign=top style='width:254.7pt;border:solid windowtext .5pt; + border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoBodyText align=center style='margin-left:0cm;text-align:center'>PostgreSQL</p> + </td> + </tr> + <tr> + <td width=340 valign=top style='width:254.7pt;border:solid windowtext .5pt; + border-top:none;mso-border-top-alt:solid windowtext .5pt;background:#E6E6E6; + padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>begin<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">� + </span>content_folder.register_content_type(<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">������ + </span>content_item.c_root_folder_id, <o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">������ + </span>'cr_wp_presentation');<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>�<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>end;<o:p></o:p></span></p> + <p class=MsoNormal><span style='font-size:10.0pt;mso-fareast-font-family: + "MS Mincho"'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> + <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><span + style='font-size:10.0pt'><o:p></o:p></span></p> + </td> + <td width=340 valign=top style='width:254.7pt;border-top:none;border-left: + none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt; + mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt; + background:#E6E6E6;padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>create function inline_6 ()<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>returns integer as'<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>begin<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">� </span>PERFORM + content_folder__register_content_type(<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">� + </span>content_item_globals.c_root_folder_id,<span style="mso-spacerun: + yes">��� </span><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'><span style="mso-spacerun: yes">� + </span>''cr_wp_presentation'', ''f'');<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>�<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>return 0;<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>end;' language 'plpgsql';<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>select inline_6 ();<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + letter-spacing:0pt'>drop function inline_6 ();<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><span + style='font-size:10.0pt'><o:p></o:p></span></p> + </td> + </tr> +</table> + +<p class=MsoBodyText style='margin-left:0cm'><!--[if gte vml 1]><v:shape id="_x0000_s2257" + type="#_x0000_t202" style='position:absolute;left:0;text-align:left; + margin-left:28.25pt;margin-top:7.9pt;width:458.15pt;height:37.4pt;z-index:18; + mso-position-horizontal-relative:text;mso-position-vertical-relative:text'/><![endif]--><![if !vml]><span +style='mso-ignore:vglayout;position:absolute;z-index:64;left:0px;margin-left: +38px;margin-top:11px;width:614px;height:52px'> + +<table cellpadding=0 cellspacing=0> + <tr> + <td width=614 height=52 align=left valign=top bgcolor=white style='border: + .75pt solid black;vertical-align:top;background:white'><![endif]><![if !mso]><span + style='position:absolute;left:0pt;z-index:18'> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div v:shape="_x0000_s2257" style='padding:3.6pt 7.2pt 3.6pt 7.2pt' + class=shape> + <p class=MsoNormal style='margin-left:0cm'>Figure 6.6: Differences in the + way core services are used </p> + </div> + <![if !mso]></td> + </tr> + </table> + </span><![endif]><![if !mso & !vml]> <![endif]><![if !vml]></td> + </tr> +</table> + +</span><![endif]></p> + +<p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc527288176"></a><a name="_Toc527288532"></a><a +name="_Toc527288912"></a><a name="_Toc528375550"></a><a name="_Toc528659954"><span +style='mso-bookmark:_Toc528375550'><span style='mso-bookmark:_Toc527288912'><span +style='mso-bookmark:_Toc527288532'><span style='mso-bookmark:_Toc527288176'>Query +Files</span></span></span></span></a></h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>This +step of the Thesis project was perhaps the most varied as there was quite a lot +of different types of queries being passed to the database. Despite this there +was a number of procedures that helped to identify the problems and what to do +with the problems. The first step of the process was to run the Query Extractor +to determine which files would need to have database specific queries written +and which ones could use the general query format. </p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:18.15pt'>Given this the +next step involved going through all the *-postgresql.xql files and looking for +any which had a comment �FIX ME�. These comments indicate the queries which +would have to be ported. The most useful resource in porting these queries to +PostgreSQL compliant queries was to look at some of the ACS-services packages +and compare the Oracle compliant queries with those of the PostgreSQL queries. +This would indicate what changes were involved in certain situations. In addition, +an invaluable resource at this stage, and also in the data model stage, was the +openacs.org bulletin board. The members on this bulletin board are very helpful +and have a great depth of knowledge that they can apply to the situation.</p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:18.15pt'>A comparison +of the changes in the query files follows with a basic query that calls a +function and passes it some input.</p> + +<table border=1 cellspacing=0 cellpadding=0 style='margin-left:53.85pt; + border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt; + mso-padding-alt:0cm 5.4pt 0cm 5.4pt'> + <tr> + <td width=304 valign=top style='width:227.8pt;border:solid windowtext .5pt; + background:white;padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoBodyText style='margin-left:0cm'>Oracle</p> + </td> + <td width=304 valign=top style='width:227.75pt;border:solid windowtext .5pt; + border-left:none;mso-border-left-alt:solid windowtext .5pt;background:white; + padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoBodyText style='margin-left:0cm'>PostgreSQL</p> + </td> + </tr> + <tr> + <td width=304 valign=top style='width:227.8pt;border:solid windowtext .5pt; + border-top:none;mso-border-top-alt:solid windowtext .5pt;background:#E6E6E6; + padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><fullquery + name="wp_slide_insert"><span style="mso-spacerun: yes">����� + </span><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">� </span><querytext><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">��� </span>begin<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">����� </span>:1 := wp_slide.new(<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">����� </span>pres_item_id => :pres_item_id,<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">��� </span><span style="mso-spacerun: + yes">��</span>creation_user=> :user_id,<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">����� </span>creation_ip<span style="mso-spacerun: + yes">� </span>=> :creation_ip,<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">����� </span>creation_date=> sysdate,<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">����� </span>slide_title<span style="mso-spacerun: + yes">� </span>=> :slide_title,<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">����� </span>original_slide_id => -100,<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">����� </span>sort_key<span style="mso-spacerun: + yes">���� </span>=> :sort_key,<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">����� </span>preamble<span style="mso-spacerun: + yes">���� </span>=> :preamble,<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">����� </span>postamble<span style="mso-spacerun: + yes">��� </span>=> :postamble,<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">����� </span>bullet_items => :bullet_list<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">����� </span>);<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">��� </span>end;<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">� </span></querytext><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'></fullquery><o:p></o:p></span></p> + <p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + </td> + <td width=304 valign=top style='width:227.75pt;border-top:none;border-left: + none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt; + mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt; + background:#E6E6E6;padding:0cm 5.4pt 0cm 5.4pt'> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><fullquery + name="wp_slide_insert"><span style="mso-spacerun: yes">����� + </span><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">� </span><querytext><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">��� </span>select wp_slide__new(<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">��� </span><span style='mso-tab-count:1'>� </span>:pres_item_id,<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style='mso-tab-count:1'>����� </span>now(),<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style='mso-tab-count:1'>����� </span>:user_id,<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">���� </span><span style='mso-tab-count:1'> </span>:creation_ip,<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">�</span><span style='mso-tab-count:1'>���� </span>:slide_title,<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style='mso-tab-count:1'>����� </span>'-1',<span style="mso-spacerun: yes">��� + </span><span style="mso-spacerun: yes">��</span><span style='mso-tab-count: + 1'> </span><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style='mso-tab-count:1'>����� </span>'-100',<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">���� </span><span style='mso-tab-count:1'> </span>:sort_key,<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">���� </span><span style='mso-tab-count:1'> </span>:preamble,<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style='mso-tab-count:1'>����� </span>:bullet_list,<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style='mso-tab-count:1'>����� </span>:postamble,<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style='mso-tab-count:1'>����� </span>'t',<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style='mso-tab-count:1'>����� </span>'f',<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style='mso-tab-count:1'>����� </span>NULL<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">����� </span>);<o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'><span + style="mso-spacerun: yes">� </span></querytext><o:p></o:p></span></p> + <p class=MsoNormal style='margin-left:0cm;mso-layout-grid-align:none; + text-autospace:none'><span style='font-size:10.0pt;font-family:"Courier New"; + mso-bidi-font-family:"Times New Roman";letter-spacing:0pt'></fullquery><o:p></o:p></span></p> + <p class=MsoBodyText style='margin-left:0cm'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + </td> + </tr> +</table> + +<p class=MsoBodyText style='margin-left:0cm'><!--[if gte vml 1]><v:shape id="_x0000_s2248" + type="#_x0000_t202" style='position:absolute;left:0;text-align:left; + margin-left:46.95pt;margin-top:9.35pt;width:458.15pt;height:28.05pt;z-index:12; + mso-position-horizontal-relative:text;mso-position-vertical-relative:text'/><![endif]--><![if !vml]><span +style='mso-ignore:vglayout;position:absolute;z-index:65;left:0px;margin-left: +63px;margin-top:12px;width:613px;height:41px'> + +<table cellpadding=0 cellspacing=0> + <tr> + <td width=613 height=41 align=left valign=top bgcolor=white style='border: + .75pt solid black;vertical-align:top;background:white'><![endif]><![if !mso]><span + style='position:absolute;left:0pt;z-index:12'> + <table cellpadding=0 cellspacing=0 width="100%"> + <tr> + <td><![endif]> + <div v:shape="_x0000_s2248" style='padding:3.6pt 7.2pt 3.6pt 7.2pt' + class=shape> + <p class=MsoPlainText><span style='font-family:Arial;mso-bidi-font-family: + "Times New Roman";letter-spacing:-.25pt'>Figure 6.7: Differences in the way + queries are written between Oracle and PostgreSQL.<o:p></o:p></span></p> + </div> + <![if !mso]></td> + </tr> + </table> + </span><![endif]><![if !mso & !vml]> <![endif]><![if !vml]></td> + </tr> +</table> + +</span><![endif]></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:36.0pt'><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:36.0pt'>As is evident +the syntax is noticeable different, as is the order and type of queries being +passed. This was done because of the PostgreSQL data model changes.</p> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc527288177"></a><a name="_Toc527288533"></a><a +name="_Toc527288913"></a><a name="_Toc528375551"></a><a name="_Toc528659955"><span +style='mso-bookmark:_Toc528375551'><span style='mso-bookmark:_Toc527288913'><span +style='mso-bookmark:_Toc527288533'><span style='mso-bookmark:_Toc527288177'>Testing</span></span></span></span></a></h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>By +this stage the data model and queries had been fairly well ported to the +PostgreSQL RDBMS but there were still be one or two errors in the methods used. +What testing involved was loading the Wimpy Point package onto the OpenACS +installation, by installing the package via the admin page. Once installed the +package is mounted onto a particular subdirectory for the Internet address. </p> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>Given +this, the different functions that are available, via the web site, are tested +by �clicking� the function and seeing if the operation is successful. If +successful then this indicates that the function, its accompanying queries and +data model functions are working as wanted. However, should the operation fail +then this indicates that one of the following problems has occurred:</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l114 level1 lfo139;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Error with the Data Model</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l114 level2 lfo139;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-bidi-font-family:"Times New Roman"'>o<span +style='font:7.0pt "Times New Roman"'> </span></span><![endif]>In +the table creation</p> + +<p class=MsoBodyText style='margin-left:126.0pt;text-indent:-18.0pt;mso-list: +l114 level2 lfo139;tab-stops:list 126.0pt'><![if !supportLists]><span +style='font-family:"Courier New";mso-bidi-font-family:"Times New Roman"'>o<span +style='font:7.0pt "Times New Roman"'> </span></span><![endif]>In +the function call for that operation</p> + +<p class=MsoBodyText style='margin-left:90.0pt;text-indent:-18.0pt;mso-list: +l114 level1 lfo139;tab-stops:list 90.0pt'><![if !supportLists]><span +style='font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> +</span></span><![endif]>Error with the Query file</p> + +<p class=MsoBodyText style='margin-left:0cm;text-indent:15.3pt'>The web server +output will indicate where the problem is. Once the problem has been identified +the next step is to determine what the correct way of doing the operation is. +This can be done by viewing some of the other packages that have already been +ported. In particular attention should be paid to the ACS-services packages +such as acs-kernel and acs-content-repository. </p> + +<div style='border-top:solid white 6.0pt;border-left:solid white .75pt; +border-bottom:solid white .75pt;border-right:none;padding:3.0pt 0cm 3.0pt 3.0pt; +background:black;mso-shading:windowtext;mso-pattern:solid auto'> + +<h1><a name="_Toc527288178"></a><a name="_Toc527288534"></a><a +name="_Toc527288914"></a><a name="_Toc528375552"></a><a name="_Toc528659956"><span +style='mso-bookmark:_Toc528375552'><span style='mso-bookmark:_Toc527288914'><span +style='mso-bookmark:_Toc527288534'><span style='mso-bookmark:_Toc527288178'>Committing +Wimpy Point</span></span></span></span></a></h1> + +</div> + +<p class=MsoBodyText style='margin-left:0cm'><span style='mso-tab-count:1'>����������� </span>Once +the testing is completed and the package is working the next step involved +placing the modified Wimpy Point package online within the OpenACS CVS, so that +it becomes pat of the OpenACS downloadable packages. This will allow it to +become a part of OpenACS downloadable by others for installation. It also +allows for further testing to be done on the Wimpy Point package by users of +OpenACS worldwide.</p> + +</div> + +</body> + +</html>