/[libdata]/branches/paul/admin/install/LibData_Intro.rtf
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /branches/paul/admin/install/LibData_Intro.rtf

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 66 by dpavlin, Wed Jan 28 18:37:23 2004 UTC revision 67 by dpavlin, Thu Mar 18 19:24:54 2004 UTC
# Line 15  Line 15 
15  \jclisttab\tx6480 }{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'11\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\fbias0 \fi-1800\li7560\jclisttab\tx7560  \jclisttab\tx6480 }{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'11\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07.\'08;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f\'11;}\fbias0 \fi-1800\li7560\jclisttab\tx7560
16  }{\listname ;}\listid1327199264}{\list\listtemplateid-1136866552\listsimple{\listlevel\levelnfc4\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03(\'00);}{\levelnumbers\'02;}\fbias0 \fi-720\li1440\jclisttab\tx1440 }{\listname  }{\listname ;}\listid1327199264}{\list\listtemplateid-1136866552\listsimple{\listlevel\levelnfc4\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03(\'00);}{\levelnumbers\'02;}\fbias0 \fi-720\li1440\jclisttab\tx1440 }{\listname
17  ;}\listid2065255344}}{\*\listoverridetable{\listoverride\listid1327199264\listoverridecount0\ls1}{\listoverride\listid2065255344\listoverridecount0\ls2}}{\info{\author DLDL}{\operator DLDL}{\creatim\yr2003\mo10\dy2\hr10\min3}  ;}\listid2065255344}}{\*\listoverridetable{\listoverride\listid1327199264\listoverridecount0\ls1}{\listoverride\listid2065255344\listoverridecount0\ls2}}{\info{\author DLDL}{\operator DLDL}{\creatim\yr2003\mo10\dy2\hr10\min3}
18  {\revtim\yr2004\mo1\dy28\hr12\min37}{\version19}{\edmins146}{\nofpages32}{\nofwords11370}{\nofchars-32766}{\*\company University of Minnesota}{\nofcharsws0}{\vern113}}  {\revtim\yr2004\mo3\dy16\hr14\min41}{\version23}{\edmins165}{\nofpages30}{\nofwords11160}{\nofchars-32766}{\*\company University of Minnesota}{\nofcharsws0}{\vern113}}
19  \widowctrl\ftnbj\aenddoc\hyphcaps0\formshade\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot \fet0\sectd \linex0\endnhere\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}  \widowctrl\ftnbj\aenddoc\hyphcaps0\formshade\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot \fet0\sectd \linex0\endnhere\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}
20  {\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}  {\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}
21  {\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain  {\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain
22  \widctlpar\adjustright \fs20\cgrid {\fs24 File:\tab \tab LibData_Intro.rtf  \widctlpar\adjustright \fs20\cgrid {\fs24 File:\tab \tab LibData_Intro.rtf
23  \par Title:\tab \tab LibData Introduction & Functional Description  \par Title:\tab \tab LibData Introduction & Functional Description
24  \par Author:\tab Paul F. Bramscher brams006@umn.edu  \par Author:\tab Paul F. Bramscher brams006@umn.edu
25  \par Date:\tab \tab January 28, 2004  \par Date:\tab \tab March 16, 2004
26  \par  \par
27  \par  \par
28  \par }\pard\plain \s2\keepn\widctlpar\outlinelevel1\adjustright \b\fs28\cgrid {Table of Contents  \par }\pard\plain \s2\keepn\widctlpar\outlinelevel1\adjustright \b\fs28\cgrid {Table of Contents
# Line 45  Line 45 
45  \par  \par
46  \par }{\b\fs28 1.0\tab Introduction  \par }{\b\fs28 1.0\tab Introduction
47  \par }{\fs24  \par }{\fs24
48  \par LibData can drive many sorts of library-related web pages and collections of pages dynamically from a rich web-maintainable database.  It is not properly placed into existing categories of applications such as content management systems, course ma  \par LibData can drive many sorts of library-related web pages and collections of pages dynamically from a rich web-maintainable database.  It is not properly placed into existing categories of applications such as content management systems, course manag
49  nagement tools, subject pathfinder builders, or catalogs.  It is probably a little of each, with the ability to change emphasis depending on how the data set is populated and used locally.  ement tools, subject pathfinder builders, or catalogs.  It is probably a little of each, with the ability to change emphasis depending on how the data set is populated and used locally.
50  \par  \par
51  \par The system has two main authoring environments: CourseLib/PageScri  \par The system has two main authoring environments: CourseLib/PageScribe
52  be (referred to collectively as CLPS) and Research QuickStart (RQS).  CourseLib is a modest library-centric course authoring tool, whereas PageScribe is the free-form version (without the course-related data fields).  They are essentially the same applica  (referred to collectively as CLPS) and Research QuickStart (RQS).  CourseLib is a modest library-centric course authoring tool, whereas PageScribe is the free-form version (without the course-related data fields).  They are essentially the same applicatio
53  t  n
54  ion, capable of building two sorts of pages.  Research QuickStart is an authoring environment to build subject-centric web pages.  These pages are more uniform than CLPS generated pages (only resources may be added to RQS pages, although they may also cro  , capable of building two sorts of pages.  Research QuickStart is an authoring environment to build subject-centric web pages.  These pages are more uniform than CLPS generated pages (only resources may be added to RQS pages, although they may also cross-
55  ss-reference PageScribe pages), and they are added to a customizable two-tier information type ontology.  reference PageScribe pages), and they are added to a customizable two-tier information type ontology.
56  \par  \par
57  \par There are both public and administrative portions of LibData.  Basic use statistics are collected from the public portion.  An internal authentication and multi-level access system based on roles was also developed to support administrative functions.  \par There are both public and administrative portions of LibData.  Basic use statistics are collected from the public portion.  An internal authentication and multi-level access system based on roles was also developed to support administrative functions.
58    
# Line 61  ss-reference PageScribe pages), and they Line 61  ss-reference PageScribe pages), and they
61  is driven by an underlying collection of about forty database tables tied together relationally.  Most all of these tables are maintained through web-based forms and are fully customizable for content -- allowing for a rich authoring environment with a gr  is driven by an underlying collection of about forty database tables tied together relationally.  Most all of these tables are maintained through web-based forms and are fully customizable for content -- allowing for a rich authoring environment with a gr
62  eat deal of possibilities.  The majority of data relationships are optional associations, so LibData's flavor fluctuates in proportion to the work done in populating and associating relationships.  eat deal of possibilities.  The majority of data relationships are optional associations, so LibData's flavor fluctuates in proportion to the work done in populating and associating relationships.
63  \par  \par
64  \par Many library-related applications must immediately begin with a discussion on standards.  LibData is an exception \endash  \par A populated enterprise instance of LibData requires collabo
65   its emphasis is on relationships of customizable entities and cultivating local creativity, granting ownership and creative license to page authors.  Standards might be defined into dependency layers  ration between staff with complimentary areas of expertise.  Such staff might include a unix/linux administrator, a programmer familiar with web scripting technologies, a seasoned SQL/database person, as well as a web designer.  Of course we often need to
66   here as follows: technology infrastructure, data storage, field identification and capture, vocabulary, and markup/display.  This might be broadly compared with other models, such as the seven layer OSI Model (http://www.wikipedia.org/wiki/Layer_2).  The   wear more than one hat, but LibData will be more reliable and more customizable (as with any technology) given more staff and levels of expertise.
67   goal of such models is to handle dependencies in a way that each layer relies }{\i\fs24 only}{\fs24  on the layer immediately previous, and \ldblquote speaks\rdblquote  }{\i\fs24 only}{\fs24  to the next in sequence.  \par
68  \par  \par It is hoped that the programming code is simple, even }{\i\fs24 simplistic}{\fs24 , and self-documenting whenever possible.  T
69  \par  his self-documentation includes comments which accompany the great majority of the functions, as well as copious use of mid-logic commentary.  Writing obfuscated code comes naturally to programmers, so documentation and clarity are unfortunately goals rat
70  \par }\pard\plain \s1\qc\keepn\widctlpar\outlinelevel0\adjustright \fs28\cgrid {Layers of Dependencies With Regard to LibData}{\fs24  her than starting points.
 \par }\pard\plain \widctlpar\adjustright \fs20\cgrid {\fs24  
 \par  
 \par }\trowd \trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr  
 \brdrs\brdrw10 \cltxlrtb \cellx4320\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb \cellx8748\pard \widctlpar\intbl\adjustright {\b\fs24 Dependencies Layer (lowest to highest)\cell LibData  
 \cell }\pard \widctlpar\intbl\adjustright {\fs24 \row }\trowd \trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \clvertalt\clbrdrt\brdrs\brdrw10  
 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb \cellx4320\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb \cellx8748\pard \widctlpar\intbl\adjustright {\fs24  
 Technology infrastructure\cell  
 Open source, free infrastructure, utilizes the most popular web server in the world (Apache).  LibData was written in a simple structured syntax fairly straightforward to programmers familiar with any structured programming lan  
 guage.  Portions can be ported into Perl or c without great trouble. The language used by LibData (PHP) is a sort of programming Esperanto.\cell }\pard \widctlpar\intbl\adjustright {\fs24 \row }\pard \widctlpar\intbl\adjustright {\fs24 Data storage\cell  
 Relational database model, highly normalized for data integrity and storage efficiency, denormalized w  
 hen necessary for performance.  Uses mySQL, generally at ANSI SQL-92, so the back-end can be ported without great difficulty into another RDBMS, reporting tools, spreadsheets, etc. if the need arises.\cell }\pard \widctlpar\intbl\adjustright {\fs24 \row  
 }\pard \widctlpar\intbl\adjustright {\fs24 Field identification and capture\cell Which descriptive att  
 ributes about entities warrant capturing?  LibData database fields for resources are roughly analogous with and easily crosswalked to Dublin Core.  Other fields mirror commonly used academic terms: campus, semester, course department, CIP code, etc.  A ma  
 nagement crosswalk mechanism exists between course departments and library research subjects, enabling some fields to cross-reference to one another.\cell }\pard \widctlpar\intbl\adjustright {\fs24 \row }\pard \widctlpar\intbl\adjustright {\fs24  
 Controlled vocabulary\cell Standard vocabulary within identified fields (above) is locally created and modifiable, and managed by the Manager role and upward.  Authors have creative license to add new resources, edit assigned subjects and create pages  
 \endash  but most all setup tables allow for an enforced vocabulary standard.\cell }\pard \widctlpar\intbl\adjustright {\fs24 \row }\trowd \trgaph108\trleft-108\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10  
 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb \cellx4320\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr  
 \brdrs\brdrw10 \cltxlrtb \cellx8748\pard \widctlpar\intbl\adjustright {\fs24 Markup/Display\cell  
 LibData content can easily be output in HTML, plaintext, or wrapped with whatever XML tags are required.  Thus, the humble author of this document (and LibData itself) would use XML and other markup-related technologies only at the bitter end just prior t  
 o presentation, and not mingle deeper layers in this model with presentation or markup details, creating the need to parse back and forth at deeper levels to do things on the front-end.  Since LibData \ldblquote documents\rdblquote  
  are created from the inside of a database from the start, they needn\rquote  
 t be validated, parsed, indexed, etc. to make them meaningful to the database they reside in.  So the problem differs from situations which begin with a document model, and must find methods to make it meaningful to a database.\cell }\pard  
 \widctlpar\intbl\adjustright {\fs24 \row }\pard \widctlpar\adjustright {\fs24  
 \par  
 \par LibData\rquote s current status here at the University of Minnesota Libraries is considered version 1.0.  It is our first attempt at a unified system to handle several LUMINA \'ae  
   applications, has various limitations, and requires knowledgeable staff to get the most out of it.  
 \par  
 \par Such staff might include a unix/linux administrator, a programmer familiar with web scripting technologies, a seasoned SQL/database person, as well as a web designer.  Of course we often need to wear more than one hat, but LibData will be mo  
 re reliable and more customizable (as with any technology) given more staff and levels of expertise.  
 \par  
 \par It is hoped that the programming code is simple, even }{\i\fs24 simplistic}{\fs24 , and self-documenting whenever possible.  This self-documentation includes comments which  
  accompany the great majority of the functions, as well as copious use of mid-logic commentary.  Writing obfuscated code comes naturally to programmers, so documentation and clarity are unfortunately goals rather than starting points.  
71  \par  \par
72  \par  \par
73  \par }{\b\fs28 2.0\tab System accounts  \par }{\b\fs28 2.0\tab System accounts
74  \par }{\fs24  \par }{\fs24
75  \par The following is a very cursory discussion on role-based security within LibData.  Note that the actual functions are not discussed here (refer to }{\b\fs24 5.0 Authoring}{\fs24 , }{\b\fs24 6.0 Manager}{\fs24  }{\b\fs24 Functions}{\fs24  or }{\b\fs24  \par The following is a very cursory discussion on role-based security within LibData.  Note that the actual functions are not discussed here (refer to }{\b\fs24 5.0 Authoring}{\fs24 , }{\b\fs24 6.0 Manager}{\fs24  }{\b\fs24 Functions}{\fs24  or }{\b\fs24
76  7.0 DBA Tools}{\fs24  respectively for functions available to Authors, Managers, and LibData DBA\rquote  7.0 DBA Tools}{\fs24  respectively for functions available to Authors, Managers, and LibData DBA\rquote
77  s).  This section is meant to introduce these roles.  There is also capability for Guest and Denied access levels.  Guest accounts are not yet implemented but might, in the future, allow for limited read-only access.  Denied access is  s).  This section is meant to introduce these roles.  There is also capability for Guest and Denied access levels.  Guest accounts are not yet implemented but might, in the future, allow f
78   useful to lock a user out of the system, but retain his/her account for whatever reason (historical, perhaps they\rquote re on a leave of absence, etc.)  or limited read-only access.  Denied access is useful to lock a user out of the system, but retain his/her account for whatever reason (historical, perhaps they\rquote re on a leave of absence, etc.)
79  \par  \par
80  \par }\pard\plain \s3\keepn\widctlpar\outlinelevel2\adjustright \b\cgrid {Session and state handling  \par }\pard\plain \s3\keepn\widctlpar\outlinelevel2\adjustright \b\cgrid {Session and state handling
81  \par }\pard\plain \widctlpar\adjustright \fs20\cgrid {  \par }\pard\plain \widctlpar\adjustright \fs20\cgrid {
82  \par }{\fs24 The login URL will depend on your LibData installation.  It may be something of the form }{\field\fldedit{\*\fldinst {\fs24  HYPERLINK https://www.yourlibrary.edu/libdata/login_mysql.phtml }{{\*\datafield  \par }{\fs24 The login URL will depend on your LibData installation.  It may be something of the form }{\field\fldedit{\*\fldinst {\fs24  HYPERLINK https://www.yourlibrary.edu/libdata/login_mysql.phtml }{{\*\datafield
83  00d0c9ea79f9bace118c8200aa004ba90b020000001700000036000000680074007400700073003a002f002f007700770077002e0079006f00750072006c006900620072006100720079002e006500640075002f006c006900620064006100740061002f006c006f00670069006e005f006d007900730071006c002e007000  00d0c9ea79f9bace118c8200aa004ba90b020000001700000036000000680074007400700073003a002f002f007700770077002e0079006f00750072006c006900620072006100720079002e006500640075002f006c006900620064006100740061002f006c006f00670069006e005f006d007900730071006c002e007000
84  680074006d006c000000e0c9ea79f9bace118c8200aa004ba90b6c000000680074007400700073003a002f002f007700770077002e0079006f00750072006c006900620072006100720079002e006500640075002f006c006900620064006100740061002f006c006f00670069006e005f006d007900730071006c002e0070  680074006d006c000000e0c9ea79f9bace118c8200aa004ba90b6c000000680074007400700073003a002f002f007700770077002e0079006f00750072006c006900620072006100720079002e006500640075002f006c006900620064006100740061002f006c006f00670069006e005f006d007900730071006c002e0070
85  00680074006d006c00000000000000000000000000000000000000}}}{\fldrslt {\cs15\ul\cf2 https://www.yourlibrary.edu/libdata/login.phtml}}}{\fs24 .  Note that it\rquote  00680074006d006c00000000000000000000000000000000000000000000}}}{\fldrslt {\cs15\ul\cf2 https://www.yourlibrary.edu/libdata/login.phtml}}}{\fs24 .  Note that it\rquote s an https (SSL) port.  Note also that the logout option is currently
86  s an https (SSL) port.  Note also that the logout option is currently only on the Author console (explained further  only on the Author console (explained further below), this section is common to all roles.  Sessions are tied to IP address, stored both in a client-side cookie as well as in a server maintained session database.  Once logged in, a session lasts for as ma
87  below), this section is common to all roles.  Sessions are tied to IP address, stored both in a client-side cookie as well as in a server maintained session database.  Once logged in, a session lasts for as many minutes as specified in the first instantia  ny minutes as specified in the first instantiation of the sessionClass object specified in login.phtml.  The default LibData OS release is 7200, or 2 hours.  Activity or inactivity during this span doesn\rquote
88  tion of the sessionClass object specified in login.phtml.  The default LibData OS release is 7200, or 2 hours.  Activity or inactivity during this span doesn\rquote t affect the longevity of the session.  So it\rquote  t affect the longevity of the session.  So it\rquote s assum
89  s assumed that LibData staff are accessing the admini  ed that LibData staff are accessing the administrative portion through office computers in non-public areas.  They may head out to lunch, coffee, or a short meeting and still come back to an authenticated session.  Note that LibData technical staff can ad
90  strative portion through office computers in non-public areas.  They may head out to lunch, coffee, or a short meeting and still come back to an authenticated session.  Note that LibData technical staff can adjust the 7200 setting in login.phtml to anythi  just the 7200 setting in login.phtml to anything else (higher or lower) as desired (with a minimum of 2 minutes and a maximum of 12 hours as defined in sessionClass.php).
 ng else (higher or lower) as desired (with a minimum of 2 minutes and a maximum of 12 hours as defined in sessionClass.php).  
91  \par  \par
92  \par }\pard\plain \s3\keepn\widctlpar\outlinelevel2\adjustright \b\cgrid {Visible menus  \par }\pard\plain \s3\keepn\widctlpar\outlinelevel2\adjustright \b\cgrid {Visible menus
93  \par }\pard\plain \widctlpar\adjustright \fs20\cgrid {  \par }\pard\plain \widctlpar\adjustright \fs20\cgrid {
94  \par }{\fs24 There are several access levels: Denied, Guest, Author, Manager, and DBA.  Currently only Author, Manager, and DBA a  \par }{\fs24 There are several access levels: Denied, Guest, Author, Manager, and D
95  re implemented.  Anyone below Author access currently has no access, and any account (regardless of access level) is denied if it should have no password assigned to it.  Passwords are assigned and maintained by Managers and DBA\rquote  BA.  Currently only Author, Manager, and DBA are implemented.  Anyone below Author access currently has no access, and any account (regardless of access level) is denied if it should have no password assigned to it.  Passwords are assigned and maintained
96  s.  As standard practice with unix systems, password are encrypted and never displayed.  As a result, Managers can never retrieve a forgotten password -- but they may reset it to something else.  by Managers and DBA\rquote s.  As standard practice with unix systems, password are encrypted and never displayed.  As a result, Managers can never retrieve a forgotten password -- but they may reset it to something else.
97  \par  \par
98  \par Users of Author access see only the authoring console (console.phtml).  Managers will notice an additional link at the bottom of the main authoring console allowing them to reach Manager Functions (console_manager.phtml).  DBA\rquote s see a third link  \par Users of Author access see only the authoring console (console.phtml).  Managers will notice an additional link at the bottom of the main authoring console allowing them to reach Manager Functions (console_manager.phtml).  DBA\rquote s see a third link
99  \ldblquote DBA Tools\rdblquote  (console_dba.phtml).  \ldblquote DBA Tools\rdblquote  (console_dba.phtml).
100  \par  \par
 \par  
101  \par }\pard\plain \s3\keepn\widctlpar\outlinelevel2\adjustright \b\cgrid {Authors  \par }\pard\plain \s3\keepn\widctlpar\outlinelevel2\adjustright \b\cgrid {Authors
102  \par  \par
103  \par }\pard\plain \widctlpar\adjustright \fs20\cgrid {\fs24 Authors may create new resources and edit any resource.  They may delete only resources they\rquote ve created themselves.  \par }\pard\plain \widctlpar\adjustright \fs20\cgrid {\fs24 Authors may create new resources and edit any resource.  They may delete only resources they\rquote ve created themselves.
104  \par  \par
105  \par They have the capability to create CLPS pages.  They may edit and delete their own pages (page creators a  \par They have the capability to create CLPS pages.  They may edit and delete their own pages (page creators are by default the initial coordinator of t
106  re by default the initial coordinator of that page).  Additionally, they may be assigned (by another Author, Manager, or DBA) to co-maintain a page.  Authors may not edit or delete pages they are not the coordinators or co-maintainers of.  They may assign  hat page).  Additionally, they may be assigned (by another Author, Manager, or DBA) to co-maintain a page.  Authors may not edit or delete pages they are not the coordinators or co-maintainers of.  They may assign other maintainers, and even remove themse
107    lves from coordinator status.  If an Author selects a new page coordinator -- without first assigning him/herself as a co-maintainer -- the Author is locked out of that page and responsibility for maintenance falls on other staff.
 other maintainers, and even remove themselves from coordinator status.  If an Author selects a new page coordinator -- without first assigning him/herself as a co-maintainer -- the Author is locked out of that page and responsibility for maintenance falls  
  on other staff.  
108  \par  \par
109  \par Within the RQS authoring environment, Authors may create new subjects from the \ldblquote New or Delete\rdblquote  \par Within the RQS authoring environment, Authors may create new subjects from the \ldblquote New or Delete\rdblquote
110   link on the main authoring console, console.phtml.  The currently logged in Author is initially assigned to the newly created subject.  S/he may   link on the main authoring console, console.phtml.  The currently logged in Author is initially assigned to the newly created subject.  S/he may add other staff
111   add other staff persons.  Authors may not edit subjects for which they are not assigned.  So, for example, if an author were to remove him/herself as assigned staff, s/he would be unable to get back into that subject.  persons.  Authors may not edit subjects for which they are not assigned.  So, for example, if an author were to remove him/herself as assigned staff, s/he would be unable to get back into that subject.
112  \par  \par
113  \par }\pard\plain \s3\keepn\widctlpar\outlinelevel2\adjustright \b\cgrid {Managers  \par }\pard\plain \s3\keepn\widctlpar\outlinelevel2\adjustright \b\cgrid {Managers
114  \par }\pard\plain \widctlpar\adjustright \fs20\cgrid {\fs24  \par }\pard\plain \widctlpar\adjustright \fs20\cgrid {\fs24
115  \par Managers may create and edit/delete all resources (regardless of whether they created them.)  \par Managers may create and edit/delete all resources (regardless of whether they created them.)
116  \par  \par
117  \par They may edit CLPS pages they\rquote ve created, are coordinators of, or co-maintainers of.  Additionally, they may edit pages created by any staff person defined as a member of a Library Unit fo  \par They may edit CLPS pages they\rquote ve created, are coordinators of, or co-maintainers of.  Additionally, they may edit pages created by any staff person defined as a member of a Library Unit for which they are
118  r which they are listed as Unit Lead.  Staff may (or may not be) assigned to Library Units by Managers on the Manager Functions console.  Not all Managers need be listed as a Unit Lead.  So there is a subtlety with Manager status: one may have varying deg  listed as Unit Lead.  Staff may (or may not be) assigned to Library Units by Managers on the Manager Functions console.  Not all Managers need be listed as a Unit Lead.  So there is a subtlety with Manager status: one may have varying degrees of manageria
119  rees of managerial rights (being a unit lead or not, and a unit lead over which body of employees).  l rights (being a unit lead or not, and a unit lead over which body of employees).
120  \par  \par
121  \par Whether or not a Manager is a unit lead, s/he may access the Manger Functions console and modify virtually all of the system setup tables, including the ass  \par Whether or not a Manager is a unit lead, s/he may access the Manger Functions console and modify virtually all of the system setup tables, including the assigning and re-ass
122  igning and re-assigning of Unit Leads themselves.  Thus, this level of access requires a collegial trust among managers.  If one manager leaves the organization, another may put him/herself in that position without calling upon a DBA.  Managers can make s  igning of Unit Leads themselves.  Thus, this level of access requires a collegial trust among managers.  If one manager leaves the organization, another may put him/herself in that position without calling upon a DBA.  Managers can make sweeping changes t
123  w  o the system, potentially destroy it, create user accounts and manage passwords, etc.  Their only limitation on the Manager Functions console is that they may not promote any staff member to an access level higher than Manager itself (DBA).
124  eeping changes to the system, potentially destroy it, create user accounts and manage passwords, etc.  Their only limitation on the Manager Functions console is that they may not promote any staff member to an access level higher than Manager itself (DBA)  \par
125  .  \par Newly created s
126  \par  taff accounts must be assigned a password by a Manager or DBA. The password must be a minimum of 6 characters in length and should contain both alpha and numeric characters.  Interspersing special characters such as !@#$^&() is encouraged for additional s
127  \par Newly created staff accounts must be assigned a password by a Manager or DBA. The password must be a minimum of 6 characters in length and should contain both alpha and numeric characters.  Interspersing special characters such as !@#$^&() is encouraged  ecurity (don\rquote t assign passwords containing the single or double-quote characters, since these are problematic from a database perspective).
 for additional security (don\rquote t assign passwords containing the single or double-quote characters, since these are problematic from a database perspective).  
128  \par  \par
129  \par Managers play a role (as discussed earlier) in assigning Author staff to subjects.  \par Managers play a role (as discussed earlier) in assigning Author staff to subjects.
130  \par So an author\rquote s access to maintain, for example, the Anthropology subject is connected to an association made by a Manager or DBA in one of either two system setup tables.  From the Manager Functions console it\rquote  \par So an author\rquote s access to maintain, for example, the Anthropology subject is connected to an association made by a Manager or DBA in one of either two system setup tables.  From the Manager Functions console it\rquote
131  s possible to enter the staff maintenance system, select an in  s possible to enter the staff maintenance system, select an individual staff pe
132  dividual staff person, and add/remove assigned subjects.  There is also a subject-centric setup table in which staff persons may be added/removed to a particular subject.  In addition to entering one of these setup tables, there is an overall management v  rson, and add/remove assigned subjects.  There is also a subject-centric setup table in which staff persons may be added/removed to a particular subject.  In addition to entering one of these setup tables, there is an overall management view under RQS Ass
133  i  ignments that displays subjects alphabetically in the left-most column, and assigned staff to each subject in the right-most column.  Entries in either column are clickable, tooling into either the staff or subject maintenance page respectively.
 ew under RQS Assignments that displays subjects alphabetically in the left-most column, and assigned staff to each subject in the right-most column.  Entries in either column are clickable, tooling into either the staff or subject maintenance page respect  
 ively.  
134  \par  \par
135  \par }{\b\fs24 Database Administrators (DBA)  \par }{\b\fs24 Database Administrators (DBA)
136  \par }{\fs24  \par }{\fs24
137  \par DBA\rquote s may create/update/delete all resources and CLPS pages.  In addition to all functions on the Authoring and Management Functions consoles, they may promote/demote staff to all access levels (including the creation of other DBA\rquote s).  \par DBA\rquote s may create/update/delete all resources and CLPS pages.  In addition to all functions on the Authoring and Management Functions consoles, they may promote/demote staff to all access levels (including the creation of other DBA\rquote s).
138  \par  \par
139  \par Currently there is little extra that DBA\rquote s can do that Managers cannot \endash  although the place for future additional functionality is the DBA Tools screen.  Of particular interest is a CourseLib and PageScribe page debugger, which can analyz  \par Currently there is little extra that DBA\rquote s can do that Managers cannot \endash
140  e pages for possible internal SQL flaws (unlikely, but possible if multiple people do contradictory things to a page at the same time).  We\rquote   although the place for future additional functionality is the DBA Tools screen.  Of particular interest is a CourseLib and PageScribe page debugger, which can analyze pages for possi
141    ble internal SQL flaws (unlikely, but possible if multiple people do contradictory things to a page at the same time).  We\rquote
142  re currently looking at page locking mechanisms and a page fixing tool.  There are also some portal mappings to external (campus-wide) entities that are probably best limited to a DBA role.  re currently looking at page locking mechanisms and a page fixing tool.  There are also some portal mappings to external (campus-wide) entities that are probably best limited to a DBA role.
143  \par  \par
144  \par In the underlying table structure, each table row typically has a unique ID (primar  \par In the underlying table structure, each table row typically has a unique ID (primary key) associated with it.  Staff ID#1 is an empty slot, reserved for N/A (with no access rights).  Staff ID#2 is a
145  y key) associated with it.  Staff ID#1 is an empty slot, reserved for N/A (with no access rights).  Staff ID#2 is also a special slot, and should be reserved for the System Administrator account.  Beyond this, there is no restriction on the number of acco  lso a special slot, and should be reserved for the System Administrator account.  Beyond this, there is no restriction on the number of accounts or rights assigned to them.
 unts or rights assigned to them.  
146  \par  \par
147  \par  \par
148  \par }{\b\fs28 3.0\tab Resources  \par }{\b\fs28 3.0\tab Resources
149  \par }{\fs24  \par }{\fs24
150  \par Resources will probably be the most common element on  CLPS and RQS pages.  A \ldblquote resource\rdblquote  can be a printed work, an URL, or both simultaneously.  \par Resources will probably be the most common element on  CLPS and RQS pages.  A \ldblquote resource\rdblquote  can be a printed work, an URL, or both simultaneously.
151  \par  \par
152  \par Resources are initially created on the Authoring console by en  \par Resources are initially created on the Authoring console b
153  tering a title and selecting an initial Master Subject or Master Information Type for it.  (Failing to make an initial selection will result in an explanatory message about what these mean.)  Their purpose is to winnow down the list of Information Types i  y entering a title and selecting an initial Master Subject or Master Information Type for it.  (Failing to make an initial selection will result in an explanatory message about what these mean.)  Their purpose is to winnow down the list of Information Typ
154  n  e
155   the drop-down box on the Resource entry form.  This list can become large and cumbersome, so both subjects and information types are classified with a two-tier model (roughly analogous to genus/species).  Resources must also have unique titles.  If an ex  s in the drop-down box on the Resource entry form.  This list can become large and cumbersome, so both subjects and information types are classified with a two-tier model (roughly analogous to genus/species).  Resources must also have unique titles.  If a
156  act match is found, the resource may not (as currently programmed) be entered.  If a near-hit is found, the system will prompt whether you want to proceed.  n exact match is found, the resource may not (as currently programmed) be entered.  If a near-hit is found, the system will prompt whether you want to proceed.
157  \par  \par
158  \par The only required field is the resource title.  Assigning a Base Information Type is strongly encouraged, since when that resource is added to RQS pages it\rquote  \par The only required field is the resource title.  Assigning a Base Information Type is strongly encouraged, since when that resource is added to RQS pages it\rquote
159  ll immediately go to its place in the two-tier information hierarchy.  This may be customized for each instance on Subject pages, but it\rquote s useful to have a likely default location for it.  ll immediately go to its place in the two-tier information hierarchy.  This may be customized for each instance on Subject pages, but it\rquote s useful to have a likely default location for it.
160  \par  \par
161  \par One the res  \par One the
162  ource is saved, additional forms become available: Assign Locations, Features, and Master Subjects.  Data in each of these pick-lists is vocabulary-controlled by a LibData Manager.  Locations (Libraries) should be straightforward.  Features are any flaggi   resource is saved, additional forms become available: Assign Locations, Features, and Master Subjects.  Data in each of these pick-lists is vocabulary-controlled by a LibData Manager.  Locations (Libraries) should be straightforward.  Features are any fl
163  ng/tagging characteristics that might be attributed to the resource.  In the Manager Functions menu, Features can be defined with a graphical image or icon (and ALT text) that\rquote ll appear on the public RQS subject page interface.  agging/tagging characteristics that might be attributed to the resource.  In the Manager Functions menu, Features can be defined with a graphical image or icon (and ALT text) that\rquote ll appear on the public RQS subject page interface.
164  \par  \par
165  \par }\pard\plain \s16\widctlpar\adjustright \cgrid {Resources are searchable with a basic or advanced search (available as a link from the Authoring console).  Their use statistics (see }{\b 8.0 Statistics}{  \par }\pard\plain \s16\widctlpar\adjustright \cgrid {Resources are searchable with a basic or advanced search (available as a link from the Authoring console).  Their use statistics (see }{\b 8.0 Statistics}{
166  ) are currently being tracked by an exit method implemented on CLPS pages (RQS resource-level usage is not currently tracked, though it may be in a future release).  ) are currently being tracked by an exit method implemented on CLPS pages (RQS resource-level usage is not currently tracked, though it may be in a future release).
# Line 207  ng/tagging characteristics that might be Line 168  ng/tagging characteristics that might be
168  \par  \par
169  \par }{\b\fs28 4.0\tab Subjects  \par }{\b\fs28 4.0\tab Subjects
170  \par }{  \par }{
171  \par LibData Subjects are created by Managers from an option on the Manager Functions table.  They may be associated with a primary and (multiple) secondary locations that appear on that Subject\rquote s corresponding RQS p  \par LibData Subjects are created by Managers from an option on the Manager Functions table.  They may be associated with a primary and (multiple) secondary locations that appear on that Subject\rquote s corresponding R
172  age.  They may also be created by Authors by clicking \ldblquote New or Delete\rdblquote  on the main console (console.phtml).  QS page.  They may also be created by Authors by clicking \ldblquote New or Delete\rdblquote  on the main console (console.phtml).
173  \par  \par
174  \par They should also be associated with one (or more) Master Subjects.  For example:  \par They should also be associated with one (or more) Master Subjects.  For example:
175  \par Social Sciences (Master Subject) -> Anthropology (Subject).  \par Social Sciences (Master Subject) -> Anthropology (Subject).
176  \par  \par
177  \par Authors and Managers may also add/remove Authoring staff to work on various subjects.  Another interface is the RQS Assignments option from the Manager Functions menu (mentioned previously under }{\b 2.0 System Accounts}{).  \par Authors and Managers may also add/remove Authoring staff to work on various subjects.  Another interface is the RQS Assignments option from the Manager Functions menu (mentioned previously under }{\b 2.0 System Accounts}{).
178  \par  \par
179  \par Once a subject has been created, the subject  \par Once a subject has been created, the sub
180   can now appear in the RQS subject pick-list on the Author console.  Note that it depends on whether the currently logged-in staff account has access rights to the subject in terms of whether or not it appears in the list (see the discussion under }{\b  ject can now appear in the RQS subject pick-list on the Author console.  Note that it depends on whether the currently logged-in staff account has access rights to the subject in terms of whether or not it appears in the list (see the discussion under }{
181  2.0 System Accounts}{).  DBA\rquote s, for example, will see all subjects in the pick-list, Authors the least.  \b 2.0 System Accounts}{).  DBA\rquote s, for example, will see all subjects in the pick-list, Authors the least.
182  \par  \par
183  \par Note that while a subject appears in the pick-lists for assigned staff it does not yet appear on any public interfaces (it is in an unpublished and empty state).  A subject may now be authored by RQS (refer to}{\b  5.1 Authoring Research QuickStart}{  \par Note that while a subject appears in the pick-lists for assigned staff it does not yet appear on any public interfaces (it is in an unpublished and empty state).  A subject may now be authored by RQS (refer to}{\b  5.1 Authoring Research QuickStart}{
184  ) below.  ) below.
185  \par  \par
186  \par In summary, for a subject to be editable, it must either (a) be a  \par In summary, for a subject to be editable, it must either (a) be assigned to the currently logged in Author or (b) the currently logged in manager must be unit l
187  ssigned to the currently logged in Author or (b) the currently logged in manager must be unit lead to which the author belongs or (c) all subjects are available if the current user is a DBA.  Alternatively, any manager may simply go in and assign him/hers  ead to which the author belongs or (c) all subjects are available if the current user is a DBA.  Alternatively, any manager may simply go in and assign him/herself rights to maintain that subject directly.
 elf rights to maintain that subject directly.  
188  \par  \par
189  \par  \par
190  \par }{\b\fs28 5.0\tab Authoring  \par }{\b\fs28 5.0\tab Authoring
# Line 232  elf rights to maintain that subject dire Line 192  elf rights to maintain that subject dire
192  \par LibData has two main public interfaces: RQS and a page-rendering mechanism that handles CLPS pages.  Both types of authoring are begun from the main authoring console, console.phtml.  New subjects and CLPS pages may be created by Authors by clicking  \par LibData has two main public interfaces: RQS and a page-rendering mechanism that handles CLPS pages.  Both types of authoring are begun from the main authoring console, console.phtml.  New subjects and CLPS pages may be created by Authors by clicking
193  \ldblquote New or Delete\rdblquote  below the appropriate pick-list.  \ldblquote New or Delete\rdblquote  below the appropriate pick-list.
194  \par  \par
195  \par When an author clicks to create a new CLPS page, or if the author follows the \ldblquote CourseLib/PageScribe Pages\rdblquote  link in the LibData header, the scribe_star  \par When an author clicks to create a new CLPS page, or if the author follows the \ldblquote CourseLib/PageScribe Pages\rdblquote  link in the LibData header, the scribe_start
196  t.phtml page is reached.  From this page, a new CLPS page may be created.  Or the author may select among a list of pages that s/he currently has authorization rights over.  A final option is the ability to Clone & Load any page as a template for a new pa  .phtml page is reached.  From this page, a new CLPS page may be created.  Or the author may select among a list of pages that s/he currently has authorization rights over.  A final option is the ability to Clone & Load any page as a template for a new pag
197  ge.  This command give the author the ability to copy any other author\rquote s work.  A disclaimer prompt is given, to first encourage some sort of agreement with the coordinator of the cloned page.  e.  This command give the author the ability to copy any other author\rquote s work.  A disclaimer prompt is given, to first encourage some sort of agreement with the coordinator of the cloned page.
198  \par  \par
199  \par Both authoring environments will likely pull heavily from the R  \par Both authoring environments will likely pull heavily from the Re
200  esources table.  Navigating from an authoring environment to create new resources is disrupting to work flow.  Entering a resource suggests one task (cataloging oriented), whereas laying resources out in an authoring environment suggests another (page lay  sources table.  Navigating from an authoring environment to create new resources is disrupting to work flow.  Entering a resource suggests one task (cataloging oriented), whereas laying resources out in an authoring environment suggests another (page layo
201  out and selection).  Therefore it is recommended that \ldblquote setup\rdblquote  ut and selection).  Therefore it is recommended that \ldblquote setup\rdblquote
202   tables be populated to the greatest extent beforehand: resources, subjects and master subjects, information types and master information types, locations/libraries, services, staff, etc.  RQS subject or CLPS page design then becomes a much easier task.   tables be populated to the greatest extent beforehand: resources, subjects and master subjects, information types and master information types, locations/libraries, services, staff, etc.  RQS subject or CLPS page design then becomes a much easier task.
203    
204  \par  \par
205  \par The Author menu, also referred to as the authoring console (console.phtml) contains commands to initiate the maintenance of RQS and CLPS pages (and will be detailed in detailed in sections 5.1 and 5.2 below).  \par The Author menu, also referred to as the authoring console (console.phtml) contains commands to initiate the maintenance of RQS and CLPS pages (and will be detailed in detailed in sections 5.1 and 5.2 below).
206  \par  \par
207  \par Other options on this menu include linking to the statistics screens (specifically treated in }{\b 8.0 Statistics}{), searching for CLPS pages, information demographic drilldowns, a link to a basic or advanced Resource search interface, and the abili  \par Other options on this menu include linking to the statistics screens (specifically treated in }{\b 8.0 Statistics}{), searching for CLPS pages, information demographic drilldowns, a link to a basic or advanced Resource search interface, and the abilit
208  ty to edit or delete resources by a known system ID number.  This number is displayed on all Resource entry/edit forms, as well as on the (administrative side) search results page.  y to edit or delete resources by a known system ID number.  This number is displayed on all Resource entry/edit forms, as well as on the (administrative side) search results page.
209  \par  \par
210  \par  \par
211  \par }{\i Searching CLPS pages  \par }{\i Searching CLPS pages
212  \par }{  \par }{
213  \par Note: Due to database structure, instructors are OR\rquote d in the search.  So it\rquote s not possible to permute a search in which you\rquote  \par Note: Due to database structure, instructors are OR\rquote d in the search.  So it\rquote s not possible to permute a search in which you\rquote
214  d like to combine a library staff person (as instructor), TA with a faculty person to see which course they were associated with (at most one of the three may be picked).  Other field  d like to combine a library staff person (as instructor), TA with a faculty person to see which course they were associated with (at most one of the three may be picked).  Other fields
215  s may be filled in or not to further limit the search.  Most all of the fields are substring-type searches.  For example, entering \ldblquote .gov\rdblquote  (without the quotes) in the URL field will retrieve a list of all .gov URL\rquote   may be filled in or not to further limit the search.  Most all of the fields are substring-type searches.  For example, entering \ldblquote .gov\rdblquote  (without the quotes) in the URL field will retrieve a list of all .gov URL\rquote
216  s on all CLPS pages.  s on all CLPS pages.
217  \par  \par
218  \par }{\i Drilldowns  \par }{\i Drilldowns
219  \par }{  \par }{
220  \par These are available to Authors and above to view demographic relationships of data in LibData.  Note that most of the demographic displays, when fully drilled, have a right-most \ldblquote Edit\rdblquote  command.  Authors may frequently run into a  \par These are available to Authors and above to view demographic relationships of data in LibData.  Note that most of the demographic displays, when fully drilled, have a right-most \ldblquote Edit\rdblquote  command.  Authors may frequently run into a
221  \ldblquote not authorized\rdblquote  message when attemp  \ldblquote not authorized\rdblquote  message when attempt
222  ting to edit a page or RQS subject over which they have no authority.  Managers may get this message as well, though with less frequency.  So these drilldowns are meant to over an all-encompassing view, not geared toward only the current user\rquote  ing to edit a page or RQS subject over which they have no authority.  Managers may get this message as well, though with less frequency.  So these drilldowns are meant to over an all-encompassing view, not geared toward only the current user\rquote
223  s assignments.  s assignments.
224  \par  \par
225  \par  \par
226  \par }{\b\fs28 5.1\tab Research QuickStart Authoring  \par }{\b\fs28 5.1\tab Research QuickStart Authoring
227  \par }{  \par }{
228  \par The editing environment of RQS pages was designed to be as fast as possible at building subject-centric web pages.  We\rquote ve found that work flows best when resources are fully populated into LibData, with as much descri  \par The editing environment of RQS pages was designed to be as fast as possible at building subject-centric web pages.  We\rquote ve found that work flows best when resources are fully populated into LibData, with as much descrip
229  ptive material as possible.  Of particular utility is to supply a default description and base information type to all resources.  If this is done, much of the work involved in adding them to RQS pages will be minimized since the data will be used as defa  tive material as possible.  Of particular utility is to supply a default description and base information type to all resources.  If this is done, much of the work involved in adding them to RQS pages will be minimized since the data will be used as defau
230  ult settings during its initial placement on RQS pages.  lt settings during its initial placement on RQS pages.
231  \par  \par
232  \par Don\rquote t confuse editing an RQS subject page with editing the subject itself.  Editing the subject will change its description on the public RQS interface, it will also display the subject\rquote s primary loca  \par Don\rquote t confuse editing an RQS subject page with editing the subject itself.  Editing the subject will change its description on the public RQS interface, it will also display the subject\rquote s primary locat
233  tion (library) as well as any secondary location(s).  Modifying these aspects to an RQS page is not handled from the RQS authoring environment (described here).  It is handled from editing the subject record directly, available as an option on both the Au  ion (library) as well as any secondary location(s).  Modifying these aspects to an RQS page is not handled from the RQS authoring environment (described here).  It is handled from editing the subject record directly, available as an option on both the Aut
234  thor and the Manager Functions consoles since Location maintains a system-wide controlled vocabulary for its particular data set.  hor and the Manager Functions consoles since Location maintains a system-wide controlled vocabulary for its particular data set.
235  \par  \par
236  \par Once an RQS subject has been selected for authoring from the main console, console.phtml, the initial screen the following functionality is available.  \par Once an RQS subject has been selected for authoring from the main console, console.phtml, the initial screen the following functionality is available.
237  \par  \par
 \par  
 \par  
 \par  
 \par  
 \par  
 \par  
238  \par }{\b Preview/Publish Commands  \par }{\b Preview/Publish Commands
239  \par }{  \par }{
240  \par }{\i Preview  \par }{\i Preview
# Line 305  thor and the Manager Functions consoles Line 259  thor and the Manager Functions consoles
259  \par  \par
260  \par }{\i Add\tab \tab \tab \tab \tab  \par }{\i Add\tab \tab \tab \tab \tab
261  \par }{  \par }{
262  \par This will add the resource to the RQS page.  Note that the resource automaticall  \par This will add the resource to the RQS page.  Note that the resource automatically goes to its place in the two-tier information hierarchy based on it
263  y goes to its place in the two-tier information hierarchy based on its assigned base information type (which hopefully is assigned a master information type).  If either were not given, it goes into the (N/A) category and must be manually moved into a new  s assigned base information type (which hopefully is assigned a master information type).  If either were not given, it goes into the (N/A) category and must be manually moved into a new category (see edit resources below).
264   category (see edit resources below).  \par
265  \par  \par Note that there is a subtlety p
266  \par Note that there is a subtlety programmed into the system: it is possible to have the same resource in a particular slot in the information hierarchy on the same page only once.  For example, it is not possible to have  rogrammed into the system: it is possible to have the same resource in a particular slot in the information hierarchy on the same page only once.  For example, it is not possible to have Google appear twice on a subject page entitled Internet Literacy und
267  Google appear twice on a subject page entitled Internet Literacy under the heading WWW Resources -> Web Sites.  However, we\rquote  er the heading WWW Resources -> Web Sites.  However, we\rquote
268  ve built an exception case.  Google may be added a second time to the subject page, and this time it will NOT float to its default p  ve built an exception case.  Google may be added a second time to the subject page, and this time it will NOT float to its default place on the information hierarchy but, rather, to a (N/A) -> (N/A) po
269  lace on the information hierarchy but, rather, to a (N/A) -> (N/A) position.  It must then be assigned a new information hierarchy position.  Note that assigning it to WWW Resources -> Web Sites when one instance already exists will result in the automati  sition.  It must then be assigned a new information hierarchy position.  Note that assigning it to WWW Resources -> Web Sites when one instance already exists will result in the automatic deletion of the previous instance (enforcing the one time rule of r
270  c deletion of the previous instance (enforcing the one time rule of resource per RQS page per information type).  esource per RQS page per information type).
271  \par }\pard \s16\fi720\li2880\widctlpar\adjustright {  \par }\pard \s16\fi720\li2880\widctlpar\adjustright {
272  \par }\pard \s16\widctlpar\adjustright {Resources may be selected one at a time (no multiple selects implemented yet).  \par }\pard \s16\widctlpar\adjustright {Resources may be selected one at a time (no multiple selects implemented yet).
273  \par  \par
# Line 336  l cross-referencing, they appear on the Line 290  l cross-referencing, they appear on the
290  \par }{  \par }{
291  \par }{\i Add  \par }{\i Add
292  \par }{  \par }{
293  \par PageScribe (but not CourseLib pages)  \par PageScribe (but not CourseLib pages) may be associated with an RQS page.  This allows additional cross-referencing, they appear on the RQS user-interface, set aside from the main body of resources in
294  may be associated with an RQS page.  This allows additional cross-referencing, they appear on the RQS user-interface, set aside from the main body of resources in an HTML table for display clarity to the user.  PageScribe pages may be selected multiply.  an HTML table for display clarity to the user.  PageScribe pages may be selected multiply.
   
295  \par  \par
296  \par }{\i Remove  \par }{\i Remove
297  \par }{  \par }{
# Line 366  may be associated with an RQS page.  Thi Line 319  may be associated with an RQS page.  Thi
319  \par }{This radio button MUST be checked to \ldblquote no\rdblquote  and a unique description supplied in \ldblquote This Description\rdblquote  (see below).  Simply supplying a unique description without explicitly checking \ldblquote no\rdblquote  \par }{This radio button MUST be checked to \ldblquote no\rdblquote  and a unique description supplied in \ldblquote This Description\rdblquote  (see below).  Simply supplying a unique description without explicitly checking \ldblquote no\rdblquote
320   here will result in the changes not going into effect.   here will result in the changes not going into effect.
321  \par  \par
322  \par Programmer\rquote s Disclaimer: We\rquote re looking at making this not required, but the essential problem is that for LibData to determine whether any changes have been made t  \par Programmer\rquote s Disclaimer: We\rquote
323  o the default description (thus automatically indicating a custom description) involves comparing data stored in mySQL server-side with data that has made the round-trip from server to browser client-side, and back again.  Since we\rquote  re looking at making this not required, but the essential problem is that for LibData to determine whether any changes have been made to the default description (thus automatically indicating a custom description) involves comparing data stored in mySQL
324  ve allowed for certain c  server-side with data that has made the round-trip from server to browser client-side, and back again.  Since we\rquote
325  haracters to be escaped (and potentially more filtering) in the back-end (textInmySQL), and also run through a different parser coming out (textOutHTML), raw character differences will frequently occur.  Thus, in order to make this function reliable, we c  ve allowed for certain characters to be escaped (and potentially more filtering) in the back-end (textInmySQL), and also run through a differen
326  urrently enforce the necessity of manually clicking yes/no to flag this change deliberately, rather than making a potentially misleading comparison in the background of data that make differ not to editing changes but for transparent technical reasons.  t parser coming out (textOutHTML), raw character differences will frequently occur.  Thus, in order to make this function reliable, we currently enforce the necessity of manually clicking yes/no to flag this change deliberately, rather than making a poten
327    tially misleading comparison in the background of data that make differ not to editing changes but for transparent technical reasons.
328  \par  \par
329  \par \tab }{\i This Description  \par \tab }{\i This Description
330  \par }{The default description is the base resource annotation.  It is fully dynamic.  A change to the base resource record will automatically cascade to all occurrences in RQS.  However, if the \ldblquote use default description\rdblquote  \par }{The default description is the base resource annotation.  It is fully dynamic.  A change to the base resource record will automatically cascade to all occurrences in RQS.  However, if the \ldblquote use default description\rdblquote
# Line 387  s annotation at a later date.  It can on Line 340  s annotation at a later date.  It can on
340  \par }{\b\fs28 5.2\tab PageScribe Authoring  \par }{\b\fs28 5.2\tab PageScribe Authoring
341  \par }{  \par }{
342  \par This section covers both PageScribe and CourseLib, since PageScribe is fully a subset of CourseLib.  However there are additional fields and other things to be concerned about with CourseLib.  So all of the commentary (plus additional issues detailed }{  \par This section covers both PageScribe and CourseLib, since PageScribe is fully a subset of CourseLib.  However there are additional fields and other things to be concerned about with CourseLib.  So all of the commentary (plus additional issues detailed }{
343  \b in 5.3 CourseLib Authoring}{) apply also to CourseLib.  There is, however, one exception.  PageScribe pages have an additional field, entitled \ldblquote Page Header\rdblquote  which may be populated with HTML source, descriptive text, etc.  CourseL  \b in 5.3 CourseLib Authoring}{) apply also to CourseLib.  There is, however, one exception.  PageScribe pages have an additional field, entitled \ldblquote Page Header\rdblquote  which may be populated wit
344  ib pages have their own descriptive fields.  h HTML source, descriptive text, etc.  CourseLib pages have their own descriptive fields.
345  \par  \par
346  \par General Notes on Page Structure:  \par General Notes on Page Structure:
347  \par PageScribe and CourseLib pages are built around an outline model with inherent parent-child relationships.  Pages are built with elements.  An element may be of several types (a resource, library/location, a library service, a st  \par PageScribe and CourseLib pag
348  affperson, a generic text label,  (up to 64K description with imbedded HTML, and wrapped with an optional URL), or a link to an RQS page.  RQS pages may also be \ldblquote harvested\rdblquote  es are built around an outline model with inherent parent-child relationships.  Pages are built with elements.  An element may be of several types (a resource, library/location, a library service, a staffperson, a generic text label,  (up to 64K descripti
349    on with imbedded HTML, and wrapped with an optional URL), or a link to an RQS page.  RQS pages may also be \ldblquote harvested\rdblquote
350   such that all of their elements are copied to the page (in alphabetical order).  RQS information type hierarchies are not copied with this harvesting procedure, since they don\rquote   such that all of their elements are copied to the page (in alphabetical order).  RQS information type hierarchies are not copied with this harvesting procedure, since they don\rquote
351  t apply here.  And, as such, the only meaningful way to harvest them is alphabetically \endash  though they may then be moved around with the up/down arrows.  t apply here.  And, as such, the only meaningful way to harvest them is alphabetically \endash  though they may then be moved around with the up/down arrows.
352  \par  \par
353  \par Many of the  \par Many of the commands detailed in this section operate on the paren
354   commands detailed in this section operate on the parent-child relationship of page elements.  Deleting a parent allows the possibility of promoting all immediate children to the place of parent, or a cascade delete in which all children and descendents (  t-child relationship of page elements.  Deleting a parent allows the possibility of promoting all immediate children to the place of parent, or a cascade delete in which all children and descendents (if any) are likewise deleted.  Similar rules apply with
355  if any) are likewise deleted.  Similar rules apply with copying.  Note that it\rquote   copying.  Note that it\rquote s never possible to assign a child to a new parent through adding a new element.  Thus, new page elements may be added only in legal positions: as siblings, new offspring, or before or after entire lineages.
 s never possible to assign a child to a new parent through adding a new element.  Thus, new page elements may be added only in legal positions: as siblings, new offspring, or before or after entire lineages.  
356  \par  \par
357  \par }{\b A word of WARNING:}{  \par }{\b A word of WARNING:}{
358  \par We\rquote ve currently NOT implemented locking or concurrency checking.  So it\rquote s possible to damage a page if two authors simultaneously perform contradictory structural edits to it.  Thus, it is best to distribut  \par We\rquote ve currently NOT implemented locking or concurrency checking.  So it\rquote
359  e page duties such that there is no overlap.  A page may be checked for integrity through an option available on the DBA Tools console (see }{\b 7.0 DBA Tools}{).  If an error is found, one of three fix methodologies is available to the DBA.  s possible to damage a page if two authors simultaneously perform contradictory structural edits to it.  Thus, it is best to distribute page duties such that there is no overlap.  A page ma
360  \par  y be checked for integrity through an option available on the DBA Tools console (see }{\b 7.0 DBA Tools}{).  If an error is found, one of three fix methodologies is available to the DBA.
361  \par A broken page is bes  \par
362  t handled by avoidance.  If it is broken, probably the best recourse is to print it out, delete it, and ask everyone who might have copied portions of the broken page to purge their copy buffers, and then recreate the page from scratch.  A less damaging o  \par A broken page is best handled by avoidance.  If it is broken, probably the
363  ption, though perhaps not always successful, is to delete only the damaged portion of a page (deleting, copy buffers, etc. will be explained below).  But note, carefully, that copying a damaged parent-child cluster of page elements will potentially  best recourse is to print it out, delete it, and ask everyone who might have copied portions of the broken page to purge their copy buffers, and then recreate the page from scratch.  A less damaging option, though perhaps not always successful, is to dele
364  \ldblquote replicate\rdblquote  the damaged \ldblquote gene.\rdblquote  te only the damaged portion of a page (deleting, copy buffers, etc. will be explained below).  But note, carefully, that copying a damaged parent-child cluster of page elements will potentially \ldblquote replicate\rdblquote  the damaged \ldblquote gene.
365    If a SQL guru is available and the page is crucial, damage may be fixed in the mySQL client with some surgically precise analysis on the libdata.elements table.  But be VERY careful with such a procedure...  \rdblquote   If a SQL guru is available and the page is crucial, damage may be fixed in the mySQL client with some surgically precise analysis on the libdata.elements table.  But be VERY careful with such a procedure...
 \par  
 \par  
 \par  
366  \par  \par
367  \par Programmer\rquote s Note:  \par Programmer\rquote s Note:
368  \par From the Author console, there is a \ldblquote New or Delete\rdblquote  \par From the Author console, there is a \ldblquote New or Delete\rdblquote  button
369   button under both the PageScribe and CourseLib pick-lists.  Both buttons bring the Author to scribe_start.phtml, but depending on which button is selected, the radio button in scribe_start.phtml indicating  under both the PageScribe and CourseLib pick-lists.  Both buttons bring the Author to scribe_start.phtml, but depending on which button is selected, the radio button in scribe_start.phtml indicating whether the page is to be a PageScribe page or a CourseL
370   whether the page is to be a PageScribe page or a CourseLib page is pre-selected.  It may be toggled to the other selection at this point if desired.  If the user has reached this page directly, for example from a link in the LibData authoring header, the  i
371  n  b page is pre-selected.  It may be toggled to the other selection at this point if desired.  If the user has reached this page directly, for example from a link in the LibData authoring header, then PageScribe is the default selection for the new page (an
372   PageScribe is the default selection for the new page (and it may be toggled here).  Once a CLPS page type has been selected, a name chosen, than the authoring environment is entered it may not be switched from PageScribe to CourseLib or vice-versa.  Howe  d
373  ver, portions of the page may be copied and pasted from one page type to the other.   it may be toggled here).  Once a CLPS page type has been selected, a name chosen, than the authoring environment is entered it may not be switched from PageScribe to CourseLib or vice-versa.  However, portions of the page may be copied and pasted from on
374    e page type to the other.
375  \par  \par
376  \par A title must be supplied, and uniqueness is not enforced.  Alternately, it is possib  \par A title must be supplied, and uniqueness is not enforced.  Alternately, it is possible load an existing PageScribe or CourseLib page for editing.  As with the Author console, options in both pick-lists are affected by which pages
377  le load an existing PageScribe or CourseLib page for editing.  As with the Author console, options in both pick-lists are affected by which pages the currently logged in user has authority to edit.  the currently logged in user has authority to edit.
378  \par  \par
379  \par So whether a page is newly created or loaded for editing (or deleting) purposes, we\rquote ll now briefly detail the available authoring options.  \par So whether a page is newly created or loaded for editing (or deleting) purposes, we\rquote ll now briefly detail the available authoring options.
380  \par  \par
 \par  
381  \par }{\b Overall Page Commands  \par }{\b Overall Page Commands
382  \par }{  \par }{
383  \par }{\i Create Clone  \par }{\i Create Clone
384  \par }{  \par }{
385  \par The current page may be copied en masse.  What happens in the background is that all page elements and structure are copied to a new page ID.  The page title is prefixed with \ldblquote Copy of:\rdblquote  \par The current page may be copied en masse.  What happens in the background is that all page elements and structure are copied to a new page ID.  The page title is prefixed with \ldblquote Copy of:\rdblquote
386   followed by the original source page title.  Note that cloning does not copy over page coordinators and co-maintainers.  These must be re-assigned for the new page (see procedures explained below).  One li   followed by the original source page title.  Note that cloning does not copy over page coordinat
387  mitation with our current implementation of cloning is that authors may only clone pages over which they have edit capability (the cloning feature is on the page itself).  ors and co-maintainers.  These must be re-assigned for the new page (see procedures explained below).  One limitation with our current implementation of cloning is that authors may only clone pages over which they have edit capability (the cloning feature
388     is on the page itself).
389  \par  \par
390  \par }{\i Delete Page  \par }{\i Delete Page
391  \par }{  \par }{
392  \par Deletes the currently loaded page.  Authors are prompted with a \ldblquote confirm\rdblquote  \par Deletes the currently loaded page.  Authors are prompted with a \ldblquote confirm\rdblquote  box asking whether they really want to do this.  If the page is cross-referenced to any RQS pages, it will be removed from that association as w
393   box asking whether they really want to do this.  If the page is cross-referenced to any RQS pages, it will be removed from that association as well.  Its statistics will also be purged from the libstats database.  So be careful to archive historical sta  ell.  Its statistics will also be purged from the libstats database.  So be careful to archive historical statistics before deleting a page if desired before deleting it.
 tistics before deleting a page if desired before deleting it.  
394  \par  \par
395  \par }{\i Publish/Unpublish  \par }{\i Publish/Unpublish
396  \par  \par
# Line 448  tistics before deleting a page if desire Line 398  tistics before deleting a page if desire
398  ve made this a required field for publishing, not so during authoring.  ve made this a required field for publishing, not so during authoring.
399  \par }{\i  \par }{\i
400  \par }{Publishing currently makes the most sense for CourseLib pages, which have a corresponding pick-list interface.  Unpublished CourseLib pages won\rquote  \par }{Publishing currently makes the most sense for CourseLib pages, which have a corresponding pick-list interface.  Unpublished CourseLib pages won\rquote
401  t appear on the CourseLib user interface.  We currently have not implemented a similar pick-list for PageScribe pages, since they are used for a great variety of purposes and share nothing in common with one another (other than the tool they were create  t appear on the CourseLib user interface.  We currently have not implemented a similar pick-list for PageScribe
402  d with).  However, publishing or unpublishing a PageScribe page, as with CourseLib, has the identical effect of toggling the libdata.published flag to true or false (1 or 0).  So a programmer wishing to create a pick-list of PageScribe pages may key off o  pages, since they are used for a great variety of purposes and share nothing in common with one another (other than the tool they were created with).  However, publishing or unpublishing a PageScribe page, as with CourseLib, has the identical effect of to
403  f this field to display or suppress them from a public user interface as we\rquote ve done with the CourseLib pick-list.  ggling the libdata.published flag to true or false (1 or 0).  So a programmer wishing to create a pick-list of PageScribe pages may key off of this field to display or suppress them from a public user interface as we\rquote
404  \par  ve done with the CourseLib pick-list.
405  \par Programmer\rquote s Note: One additional effect of publishing is currently commented out in the scribe_application.php scribePublish() function.  Lib  \par
406  Data ordinarily displays a dynamic rendition of the page to the user every time the page is loaded.  With the commented out section of code, there is the capability to open a socket to the dynamic page URL itself, suck down all HTML in 4K blocks and build  \par Programmer\rquote
407    s Note: One additional effect of publishing is currently commented out in the scribe_application.php scribePublish() function.  LibData ordinarily displays a dynamic rendition of the page to the user every time the page is loaded.  With the comme
408  a static snapshot of the page at the instant of publishing.  This snapshot is still stored in a mySQL database field (64K text type field), but the query to render it is trivial (see publish.phtml in the public interface directory of LibData) both technic  nted out section of code, there is the capability to open a socket to the dynamic page URL itself, suck down all HTML in 4K blocks and build a static snapshot of the page at the instant of publishing.  This snapshot is still stored in a mySQL database fie
409  ally and in terms of system utilization.  We\rquote ve not yet found a necessity in doing so, so this option has been currently commented out.  Note that we\rquote ve made some changes since we\rquote  ld (64K text type field), but the query to render it is trivial (see publish.phtml in the public interface directory of LibData) both technically and in terms of system utilization.  We\rquote
410  ve tested this functionality, so minor tweaking might be required to get it g  ve not yet found a necessity in doing so, so this option has been currently commented out.  Note that we\rquote ve made some changes since we\rquote
411  oing again.  But the possibilities are rather interesting.  It would be possible, for example, to build additional functionality so that several page snapshots might be available.  We\rquote  ve tested this functionality, so minor tweaking might be required to get it going again.  But the possibilities are rather interesting.  It would be possible, for example, to build additional
412  ve had neither the time nor necessity to explore this further, but the f  functionality so that several page snapshots might be available.  We\rquote
413  unctionality is intriguing.  Commented-out code in the scribe.phtml engine allows for the republishing of a page.  That is, the static snapshot may be refreshed.  All of this was fully functional in previous prototypes but it is currently commented out.  ve had neither the time nor necessity to explore this further, but the functionality is intriguing.  Commented-out code in the scribe.phtml engine allows for the republishing of a page.  
414    That is, the static snapshot may be refreshed.  All of this was fully functional in previous prototypes but it is currently commented out.
415  \par  \par
416  \par }{\i Preview  \par }{\i Preview
417  \par }{  \par }{
418  \par This option previews the currently loaded page in the user interface.  Note that it may involve a switch from an SSL to non-SSL port (as with previewing RQS pages).  An annoying browser message may be involved.  Also, since LibData must constantly  \par This option previews the currently loaded page in the user interface.  Note that it may involve a switch fr
419  refresh the currently loaded page after each command, we must destroy browser cache \endash  om an SSL to non-SSL port (as with previewing RQS pages).  An annoying browser message may be involved.  Also, since LibData must constantly refresh the currently loaded page after each command, we must destroy browser cache \endash
420   otherwise the author might be trying to do something on outdated cached page data (which will likely break the page or cause other errors).  So if there is a message about browser cache lost, the page must be reloaded.  We\rquote   otherwise the author might be trying to do something on outdated cached page data (which will likely break the page or cause other errors).  So if there is a message about browser cache lost, the page must be reloaded.  We\rquote
421  ve found that the Mozilla browser seems to give less annoying expired cache messages than Internet Explorer.  ve found that the Mozilla browser seems to give less annoying expired cache messages than Internet Explorer.
422  \par  \par
# Line 477  s).  Note that this setting has no effec Line 427  s).  Note that this setting has no effec
427  \par  \par
428  \par }{\i Suppress TOC / Activate TOC  \par }{\i Suppress TOC / Activate TOC
429  \par }{  \par }{
430  \par Pages can have an automatically generated table of contents.  This is assembled using root-lev  \par Pages can have an automatically generated table of contents.  This is assembled using root-level page elements by name.  Anchors are built which automatically reference them from the table of contents to their app
431  el page elements by name.  Anchors are built which automatically reference them from the table of contents to their appearance on the page.  The suppress option is available when the ToC is enabled, and vice-versa.  earance on the page.  The suppress option is available when the ToC is enabled, and vice-versa.
432  \par  \par
433  \par }{\i Wrap / Unwrap TOC  \par }{\i Wrap / Unwrap TOC
434  \par }{  \par }{
435  \par Pages with many root  \par Pages with many root level elements may have a long table of contents.  When the TOC is activated (see above), this toggle becomes available
436  level elements may have a long table of contents.  When the TOC is activated (see above), this toggle becomes available.  Wrapping the TOC will cause it to be displayed in a two column table, with the first half of the TOC in the left cell and the second  .  Wrapping the TOC will cause it to be displayed in a two column table, with the first half of the TOC in the left cell and the second half in the right.
 half in the right.  
437  \par  \par
438  \par }{\i Clear Copy Buffer  \par }{\i Clear Copy Buffer
439  \par }{  \par }{
440  \par This option becomes available when an element, or generational lineage, is copied.  If the buffer is currently empty, this option is nowhere to be found.  There are advantages in leaving it empty.  It offers a slightly less \ldblquote noisy\rdblquote  \par This option becomes available when an element, or generational lineage, is copied.  If the buffer is currently empty, this option is nowhere to be found.  There are advantages in leaving it empty.  It offers a slightly less \ldblquote noisy\rdblquote
441   authoring mode (the paste buttons all go away), and reduces the chance of a page error.  For example, if the author has copied a damaged parent-child relationship or something interesting happens which might affect the buffer.     authoring mode (the paste buttons all go away), and reduces the chance of a page error.  For example, if the author has copied a damaged parent-child relationship or something interesting happens which might affect the buffer.  
442  \par  \par
443  \par One such int  \par One such interesting case is that an element in the buffer (the buffer, remember, points dynamically back to each source table: res
444  eresting case is that an element in the buffer (the buffer, remember, points dynamically back to each source table: resource, staff person, etc.) is deleted. Buffers are affected by this procedure.  Elements in buffers, as well as on pages, reference keys  ource, staff person, etc.) is deleted. Buffers are affected by this procedure.  Elements in buffers, as well as on pages, reference keys in their host tables.  If the key is lost, then the element is converted \endash  behind the scenes \endash
445   in their host tables.  If the key is lost, then the element is converted \endash  behind the scenes \endash  both on all affected pages as well as in all user copy-buffers to a \ldblquote text label\rdblquote  type element.  The source element\rquote   both on all affected pages as well as in all user copy-buffers to a \ldblquote text label\rdblquote  type element.  The source element\rquote
446  s title, URL, and description (if any) are ins  s title, URL, and description (if any) are inserted into the corresponding text label fields.  When a Manager deletes such a component, there is the capability to ad
447  erted into the corresponding text label fields.  When a Manager deletes such a component, there is the capability to add a message why the element was deleted.  This message is automatically concatenated to all occurrences on pages where it once existed  d a message why the element was deleted.  This message is automatically concatenated to all occurrences on pages where it once existed \endash  as well as in all instances of user copy buffers.  So this procedure shouldn\rquote
448  \endash  as well as in all instances of user copy buffers.  So this procedure shouldn\rquote t cause any problems, but it\rquote s usually better safe than sorry.  Thus, the recommendation that buffers be cleared after a copy/paste procedure is completed.  t cause any problems, but it\rquote s usually better safe than sorry.  Thus, the recommendation that buffers be cleared after a copy/paste procedure is completed.
   
449  \par  \par
450  \par This is a particularly complex set of logic, approaching \ldblquote rocket science\rdblquote  \par This is a particularly complex set of logic, approaching \ldblquote rocket science\rdblquote  proportions.  But it can be avoided if (a) People avoid deleting th
451   proportions.  But it can be avoided if (a) People avoid deleting things that are currently used on CLPS pages (instead, they first instruct Authors to remove such items beforehand) and (b) they encourage  ings that are currently used on CLPS pages (instead, they first instruct Authors to remove such items beforehand) and (b) they encourage people to leave their copy buffers empty.  For resources particularly, at the point of deletion there is the option to
452  people to leave their copy buffers empty.  For resources particularly, at the point of deletion there is the option to check the Resource Detail page (also available on the Author console as a resource drilldown (the user must supply the resource ID) whic  
453  h will explain system demographics for the affected resource.  Here they may be removed from their occurrences in CLPS prior to their deletion from the base resource table.  check the Resource Detail page (also available on the Author console as a resource drilldown (the user must supply the resource ID) which will explain system demographics for the affected resource.  Here they may be removed from their occurrences in CLPS
454    prior to their deletion from the base resource table.
455  \par  \par
456  \par }{\i Activate Up Anchors / [Up] anchor text / Save [Up] Text  \par }{\i Activate Up Anchors / [Up] anchor text / Save [Up] Text
457  \par }{  \par }{
# Line 511  h will explain system demographics for t Line 460  h will explain system demographics for t
460  \par  \par
461  \par }{\i Apply Style  \par }{\i Apply Style
462  \par }{  \par }{
463  \par Styles affect page appearance with a header, footer, and cascading stylesheet.  Styles are configured in the Manager Functions menu where they must reference actual files in the supplied directories.  The CSS file must have span c  \par Styles affect page appearance with a header, footer, and cascading stylesheet.  Styles are configured in the Manager Functions menu where they must reference actual files in the supplied directories.  The
464  lasses S1, S2, S3, S4, and S5 which are explained further in this section and more fully in general in the LibData Customization document.  The style should be chosen, and then the \ldblquote Apply Style\rdblquote  button must be clicked.   CSS file must have span classes S1, S2, S3, S4, and S5 which are explained further in this section and more fully in general in the LibData Customization document.  The style should be chosen, and then the \ldblquote Apply Style\rdblquote
465     button must be clicked.
466  \par  \par
467  \par }{\i Page Font Format  \par }{\i Page Font Format
468  \par }{  \par }{
469  \par Numbers here refer  \par Numbers here refer to the currently selected style, and the special S1, S2, S3, S4, and S5 span classes which must be present in it.  Note that the libdata.css stylesheet (the default) has a basic set of them, but new styles can have their own vari
470   to the currently selected style, and the special S1, S2, S3, S4, and S5 span classes which must be present in it.  Note that the libdata.css stylesheet (the default) has a basic set of them, but new styles can have their own variants.  The Page Font Form  ants.  The Page Font Format option, in general, allows an author to select a level of elements and apply a particular style en masse, rather than clicking each individually.  This will be explained after reading further below.
 at option, in general, allows an author to select a level of elements and apply a particular style en masse, rather than clicking each individually.  This will be explained after reading further below.  
471  \par  \par
472  \par \tab }{\i Level  \par \tab }{\i Level
473  \par }{This refers to the generational level of the elements for which the style is to be applied.  Root-level elements are 0.  Their children are 1, grandchildren 2, and so on.  \par }{This refers to the generational level of the elements for which the style is to be applied.  Root-level elements are 0.  Their children are 1, grandchildren 2, and so on.
474  \par  \par
475  \par \tab }{\i Style  \par \tab }{\i Style
476  \par }{The previously mentioned special span classes in the selected style sheet (li  \par }{The previously mentioned special span classes in the selected style sheet (libdata.css is default)
477  bdata.css is default) can be cycled through here.  Refer to the LibData Customization document for a full discussion of how they may be configured.  Unlike a fully-robust word processing system, we have not implemented individual toggling of font size, it   can be cycled through here.  Refer to the LibData Customization document for a full discussion of how they may be configured.  Unlike a fully-robust word processing system, we have not implemented individual toggling of font size, italics, bold, underlin
478  alics, bold, underline, face, etc.  Rather, these are bundled in up to 5 variations (in addition to the BODY default style).  So styles 1-5 here should reflect 5 bundles of text characteristics.  Our other interest in doing this was to purposely }{\i  e, face, etc.  Rather, these are bundled in up to 5 variations (in addition to the BODY default style).  So styles 1-5 here should reflect 5 bundles of text characteristics.  Our other interest in doing this was to purposely }{\i reduce}{
479  reduce}{ the font variations possible on a page, since numerous text changes on web pages quickly produce a cluttered rendering.   the font variations possible on a page, since numerous text changes on web pages quickly produce a cluttered rendering.
480  \par  \par
481  \par \tab }{\i Apply Format  \par \tab }{\i Apply Format
482  \par }{Once a particular level of page elements and style type is selected, this button may be clicked to apply it en masse.  This is a quick way of changing the appearance of generational siblings by issuing a single command.  \par }{Once a particular level of page elements and style type is selected, this button may be clicked to apply it en masse.  This is a quick way of changing the appearance of generational siblings by issuing a single command.
483  \par }{\i Assign Page Staff  \par }{\i Assign Page Staff
484  \par }{  \par }{
485  \par This option causes a new window to appear which handles page authorizations.  The window persists until it is closed, or some other command (o  \par This option causes a new window to appear which handles page authorizations.  The window persists until it is closed, or some other command (outside of the window)
486  utside of the window) is performed.  (This is not an annoying javascript pop-up, but rather an integral part of the authoring mode.)   is performed.  (This is not an annoying javascript pop-up, but rather an integral part of the authoring mode.)
487  \par  \par
488  \par \tab }{\i Reassign Coordinator  \par \tab }{\i Reassign Coordinator
489  \par }{Page creators are the default coordinators.  It\rquote s possible to for authors to remove themselves from  \par }{Page creators are the default coordinators.  It\rquote s possible to for authors to remove themselves from the position of coor
490   the position of coordinator.  However, if they do not first name themselves as a co-maintainer, they are now locked out of their own page.  Managers can safely name a new coordinator from someone else in their Library Unit (assuming they are Unit Lead).  dinator.  However, if they do not first name themselves as a co-maintainer, they are now locked out of their own page.  Managers can safely name a new coordinator from someone else in their Library Unit (assuming they are Unit Lead).  DBA\rquote
491   DBA\rquote s can reassign coordinators willy-nilly and still have access to the page.  s can reassign coordinators willy-nilly and still have access to the page.
492  \par  \par
493  \par \tab }{\i Add/Remove Maintainers  \par \tab }{\i Add/Remove Maintainers
494  \par }{Maintainers can be added and removed as required.  Once added to a page, they have full access over all page functionality, including the ability to usurp a position as coordinator or delete the page entirely.  \par }{Maintainers can be added and removed as required.  Once added to a page, they have full access over all page functionality, including the ability to usurp a position as coordinator or delete the page entirely.
# Line 558  t include HTML tags in the title field. Line 507  t include HTML tags in the title field.
507  \par  \par
508  \par \{course subject \endash  required to publish\} \{course number\} \{course title\} \{course section\}  \par \{course subject \endash  required to publish\} \{course number\} \{course title\} \{course section\}
509  \par  \par
510    \par
511  \par }{\i Page Header  \par }{\i Page Header
512  \par }{  \par }{
513  \par (Available only for PageScribe pages).  This field may contain any sort of text or HTML.  In fact, it\rquote s possible to build a page with no page elements at all \endash  and just display the contents of this field.  \par (Available only for PageScribe pages).  This field may contain any sort of text or HTML.  In fact, it\rquote s possible to build a page with no page elements at all \endash  and just display the contents of this field.
514  \par  \par
 \par  
 \par  
515  \par }{\i Green \ldblquote Plus\rdblquote  Icon  \par }{\i Green \ldblquote Plus\rdblquote  Icon
516  \par }{  \par }{
517  \par This is the add-an-element symbol.  As discussed in various sections above, there are parent-child relationships at work.  The add icon is available only in legal positions.  \par This is the add-an-element symbol.  As discussed in various sections above, there are parent-child relationships at work.  The add icon is available only in legal positions.
518  \par The sorts of elements which may be added include the following:  Resource, Locatio  \par The sorts of elements which may be added include the following:  Resource, Location, Staffperson, Service, Free text wrapped with an optional URL, a link to an RQS page, or the en masse ha
519  n, Staffperson, Service, Free text wrapped with an optional URL, a link to an RQS page, or the en masse harvesting (in alphabetical order) of all resources on the selected RQS page.  rvesting (in alphabetical order) of all resources on the selected RQS page.
520  \par  \par
521  \par Options available each of these categories are sometimes defined only by a Manager or DBA (for example, services or library/locations, or staff).  Or they may be the result of the work of Authors (RQS pages, resources).  \par Options available each of these categories are sometimes defined only by a Manager or DBA (for example, services or library/locations, or staff).  Or they may be the result of the work of Authors (RQS pages, resources).
522  \par  \par
523  \par Note that newly added elements maintain the title, URL, and description of their source or base table.  Libr  \par Note that newly added elements maintain the title, URL, and description of their source or base table.  Library Location has special functionality.  If an URL was supplied to the base table to indicate a map or hou
524  ary Location has special functionality.  If an URL was supplied to the base table to indicate a map or hours web page,  special bulleted links appear after the Location description (if present).  rs web page,  special bulleted links appear after the Location description (if present).
525  \par  \par
526  \par Free text labels are interesting in that they may contain HTML in both their title and description fields.  It\rquote  \par Free text labels are interesting in that they may contain HTML in both their title and description fields.  It\rquote s even possible to use IMG SRC to reference an image lo
527  s even possible to use IMG SRC to reference an image located elsewhere to incorporate images within PageScribe pages.  Note that there is currently no facility to upload multimedia directly into LibData.    cated elsewhere to incorporate images within PageScribe pages.  Note that there is currently no facility to upload multimedia directly into LibData.  Rather, the model here is that a multimedia library should be maintained by someone with an interactive u
528  Rather, the model here is that a multimedia library should be maintained by someone with an interactive unix account and expertise with permissions, naming conventions, file size maintenance, etc.  So with a little coordination between an Author and a med  nix account and expertise with permissions, naming conventions, file size maintenance, etc.  So with a little coordination between an Author and a media library and web designer, it\rquote
529  ia library and web designer, it\rquote s possible to produce some fairly graphically rich PageScribe/CourseLib pages (sound files can be referenced in similar ways).  We\rquote  s possible to produce some fairly graphically rich PageScribe/CourseLib pages (sound files can be referenced in similar ways).  We\rquote
530  ve also dumped page source of entire flat HTML page sources into free text description fields (up to 64K limit) to essentially render a page within a single PageScribe element.  ve also dumped page source of entire flat HTML page sources into free text description fields (up to 64K limit) to essentially render a page within a single PageScribe element.
531  \par  \par
532  \par }{\i Yellow Box Icon  \par }{\i Yellow Box Icon
533  \par }{  \par }{
534  \par This is the edit icon.  The current element, page title, or CourseLib course-related field may be edited with this command.  \par This is the edit icon.  The current element, page title, or CourseLib course-related field may be edited with this command.
535  \par  \par
536  \par If the edit command involves a  \par If the edit command involves a page element, it may be edited for a unique description.  The initial description, as with RQS, is t
537   page element, it may be edited for a unique description.  The initial description, as with RQS, is the description (hopefully a default description was supplied) from its source table.  If the user wants to make changes to it, the text may be edited and  he description (hopefully a default description was supplied) from its source table.  If the user wants to make changes to it, the text may be edited and the changes Saved.  Failing to click \ldblquote Save\rdblquote
538  the changes Saved.  Failing to click \ldblquote Save\rdblquote   will result in loss of changes.  So descriptions for eleme
539   will result in loss of changes.  So descriptions for elements have one of two statuses: default/dynamic or custom/static.  Changing to a custom description means that changes to the record in the base table will n  nts have one of two statuses: default/dynamic or custom/static.  Changing to a custom description means that changes to the record in the base table will no longer filter down (except element title and URL if any).  It\rquote
 o longer filter down (except element title and URL if any).  It\rquote  
540  s possible to revert back from a customized description to the default description by deleting the entire description (including all trailing spaces, carriage returns, etc.) and saving the changes.  s possible to revert back from a customized description to the default description by deleting the entire description (including all trailing spaces, carriage returns, etc.) and saving the changes.
541  \par  \par
542  \par If, for whatever reason, a page author wants neither the default description nor a custom description \endash  to have no description at all \endash  we recommend saving a single white-space as a sort of \ldblquote hidden\rdblquote  \par If, for whatever reason, a page author wants neither the default description nor a custom description \endash  to have no description at all \endash  we recommend saving a single white-space as a sort of \ldblquote hidden\rdblquote
543   custom description to override the displaying of the item\rquote s default description (but this is a rarely used scenario and we\rquote ve never encountered such a need).   custom description to override the displaying of the item\rquote s default description (but this is a rarely used scenario and we\rquote ve never encountered such a need).
544  \par  \par
545  \par Note that text-type elements have additional fields which may be edited: label (title), and an optional URL to wrap around the label.  The descript  \par Note that text-type elements have additional fields which may be edited: label (title), and an optional URL to wrap around the label.  The description of free text/label fields is of course always static/custom since there is no source table involv
546  ion of free text/label fields is of course always static/custom since there is no source table involved.  They are part of the element itself.  ed.  They are part of the element itself.
547  \par  \par
548  \par Note that deleting a source record in the resource, service, location or staff tables results in behind-the-scen  \par Note that deleting a source record in the resource, service, location or staff tables results in behind-the-scenes conversion from all instances on all CLPS pages from dynamic to static/text type fields.  This is
549  es conversion from all instances on all CLPS pages from dynamic to static/text type fields.  This is a fairly destructive process, so we recommend that dependent CLPS page elements be authored-out before a deletion occurs (as discussed earlier).  a fairly destructive process, so we recommend that dependent CLPS page elements be authored-out before a deletion occurs (as discussed earlier).
550  \par  \par
551  \par }{\i Red Box Icon  \par }{\i Red Box Icon
552  \par }{  \par }{
553  \par This is the delete element command.  Not to be confused with deleting from the source table, this merely deletes the currently-selected element and makes necessary adjustments (if any) to descendants.  Note that deleting can work one of two ways if de  \par This is the delete element command.  Not to be confused with deleting from the source table, thi
554  scendants are present.  Two options are given in such cases: descendants may be deleted recursively along with the selected parent, or they may be \ldblquote promoted\rdblquote  s merely deletes the currently-selected element and makes necessary adjustments (if any) to descendants.  Note that deleting can work one of two ways if descendants are present.  Two options are given in such cases: descendants may be deleted recursively
555   as parents.  This has a cascade effect along the lineage, promoting each generation by one level.  along with the selected parent, or they may be \ldblquote promoted\rdblquote  as parents.  This has a cascade effect along the lineage, promoting each generation by one level.
556  \par  \par
557  \par }{\i Copy (Page/Page) Icon  \par }{\i Copy (Page/Page) Icon
558  \par }{  \par }{
# Line 614  ll remain into perpetuity until the user Line 561  ll remain into perpetuity until the user
561   button to become available in the overall page commands table, and places a paste icon (see below) next to any legal add position.   button to become available in the overall page commands table, and places a paste icon (see below) next to any legal add position.
562  \par  \par
563  \par Programmer\rquote s Note:  \par Programmer\rquote s Note:
564  \par Recall discussions elsewhere in this document about the deleting of source records and how this affects paste buffers (for }{\b example 5.2 PageScribe Authoring: Clear Copy Buffers}{).  So it\rquote s probably good practice at this point to use this fun  \par Recall discussions elsewhere in this document about the deleting of source records and how this affects paste buffers (for }{\b example 5.2 PageScribe Authoring: Clear Copy Buffers}{).  So it\rquote
565  ction only when it warrants, and not hold buffers into perpetuity.  Although we\rquote  s probably good practice at this point to use this function only when it warrants, and not hold buffers into perpetuity.  Although we\rquote re aware of no bugs with the conversion
566  re aware of no bugs with the conversion of relational to text type elements on the fly in user copy buffers should a source record become deleted, it might be safer had we impl   of relational to text type elements on the fly in user copy buffers should a source record become deleted, it might be safer had we implemented automatic deletion all affected user buffers entirely.  That is, no nifty conversion from relational to static
567  emented automatic deletion all affected user buffers entirely.  That is, no nifty conversion from relational to static on the fly.  But we\rquote ve went the \ldblquote extra mile\rdblquote  here and hope that we haven\rquote   on the fly.  But we\rquote ve went the \ldblquote extra mile\rdblquote  here and hope that we haven\rquote t run out of gas in the process...
 t run out of gas in the process...  
 \par  
 \par  
568  \par  \par
569  \par }{\i Paste (Page/Clipboard) Icon  \par }{\i Paste (Page/Clipboard) Icon
570  \par }{  \par }{
571  \par If one or more elements are currently in the user\rquote  \par If one or more elements are currently in the user\rquote s copy buffer, the paste icon becomes available wherever a green add
572  s copy buffer, the paste icon becomes available wherever a green add icon is located.  Paste will insert all copied elements at the selected position, and can be done repeatedly.  If there are descendants, they fall into relative place.   icon is located.  Paste will insert all copied elements at the selected position, and can be done repeatedly.  If there are descendants, they fall into relative place.
573  \par  \par
574  \par }{\i Style [X] [1] [2] [3] [4] [5]  \par }{\i Style [X] [1] [2] [3] [4] [5]
575  \par }{  \par }{
# Line 643  s copy buffer, the paste icon becomes av Line 587  s copy buffer, the paste icon becomes av
587  \par }{\b\fs28 5.3\tab CourseLib  \par }{\b\fs28 5.3\tab CourseLib
588  \par }{  \par }{
589  \par }{\b Relationship to PageScribe  \par }{\b Relationship to PageScribe
590  \par }{CourseLib relies on the same editing engine used by PageScribe, so all of the functionality in }{\b 5.2 PageScribe}{ above apply here.  The subtleties with regard to }{\i Publishing}{ CourseLib pages (they then  \par }{CourseLib relies on the same editing engine used by PageScribe, so all of the functionality in }{\b 5.2 PageScribe}{ above apply here.  The subtleties with regard to }{\i Publishing}{
591  appear on the public side CourseLib interface) and }{\i Page Titles}{ of CourseLib pages have been discussed above.   CourseLib pages (they then appear on the public side CourseLib interface) and }{\i Page Titles}{ o
592    As a reminder with regard to title, CourseLib titles are the title of the course (e.g. Introduction to Biology).  The full title is concatenated in a back-end field to store course department (required for publishing the CourseLib page), course number (  f CourseLib pages have been discussed above.  As a reminder with regard to title, CourseLib titles are the title of the course (e.g. Introduction to Biology).  The full title is concatenated in a back-end field to store course department (required for pub
593  if supplied), course title (required), and course section (if supplied).  lishing the CourseLib page), course number (if supplied), course title (required), and course section (if supplied).
594    \par
595    \par
596    \par
597  \par  \par
598  \par }{\b Additional Fields  \par }{\b Additional Fields
599  \par }{CourseLib pages, in authoring mode, have additional fields (those previously mentioned) plus slots for introductory comments, headers, etc.  These are all optional.  HTML tags may be wrapped within text-type fields.  \par }{CourseLib pages, in authoring mode, have additional fields (those previously mentioned) plus slots for introductory comments, headers, etc.  These are all optional.  HTML tags may be wrapped within text-type fields.
# Line 657  if supplied), course title (required), a Line 604  if supplied), course title (required), a
604  \par A title (e.g. professor, lecturer, etc.) may be chosen}{\b .  }{Refer }{\b to 6.0 Manager Functions }{\i Staff Title }{  \par A title (e.g. professor, lecturer, etc.) may be chosen}{\b .  }{Refer }{\b to 6.0 Manager Functions }{\i Staff Title }{
605  for further explanation of this field.  Then, it is possible to select either a LibData staff person (to use here as a course instructor), or a faculty person.  Both of these pick-lists are maintained by Managers.  for further explanation of this field.  Then, it is possible to select either a LibData staff person (to use here as a course instructor), or a faculty person.  Both of these pick-lists are maintained by Managers.
606  \par  \par
607  \par Another possibility is the capability to add faculty and TA\rquote s on the fly (we\rquote ve thought of everything, haven\rquote t we!).  It\rquote s possible for a CourseLib author to create a new faculty person with this method.  Note, howev  \par Another possibility is the capability to add faculty and TA\rquote s on the fly (we\rquote ve thought of everything, haven\rquote t we!).  It\rquote
608  er, that Authors may not edit or delete from the faculty table}{\i .  So if an Author makes a typo here, it must be cleaned up by a Manager or DBA}{  s possible for a CourseLib author to create a new faculty person with this method.  Note, however, that Authors may not edit or delete from the faculty table}{\i .  So if an Author makes a typo here, it must be cleaned up by a Manager or DBA}{
609  .  This limitation was programmed deliberately.  Once the firstname/lastname/directory account/email have been fill  .  This limitation was programmed deliberately.  Once the firstname/lastname/directory account/email have been filled out, the CourseLib author must select Faculty or TA/Other (default selection i
610  ed out, the CourseLib author must select Faculty or TA/Other (default selection is Faculty).  Faculty entries are indexed in the faculty table and may be reused.  TA\rquote  s Faculty).  Faculty entries are indexed in the faculty table and may be reused.  TA\rquote s are expendable.  Note that they may still be searched by name substring from the CLPS administrative search screen \endash
 s are expendable.  Note that they may still be searched by name substring from the CLPS administrative search screen \endash  
611   but there is no controlled list or vocabulary present for them and they may not be reused by LibData.  So if a lecturer is likely to teach more than one course, they may better be placed in the Faculty table at this point of creation.   but there is no controlled list or vocabulary present for them and they may not be reused by LibData.  So if a lecturer is likely to teach more than one course, they may better be placed in the Faculty table at this point of creation.
612  \par  \par
613  \par  \par
614  \par }{\b\fs28 6.0\tab Manager Functions  \par }{\b\fs28 6.0\tab Manager Functions
615  \par }{  \par }{
616  \par As briefly discussed under }{\b 2.0 System Accounts}{, Managers have an additional link available at the bottom of the Author console which will allow them to enter the Manager Functions screen.  This is a collection of setup and  \par As briefly discussed under }{\b 2.0 System Accounts}{
617  mapping tables which provide a controlled vocabulary and maintain relationships between various sorts of data.  , Managers have an additional link available at the bottom of the Author console which will allow them to enter the Manager Functions screen.  This is a collection of setup and mapping tables which provide a controlled vocabulary and maintain relationship
618  \par  s between various sorts of data.
619  \par Keep in mind that this is a fully relational database system.  It would be worthwhile for managers to glance at the LibData E-R diagram, which g  \par
620  raphically illustrates the connections between tables.  There are many dependencies between tables, and LibData can maintain the technical side of relationships.  But maintaining a meaningful installation requires careful human attention.  \par Keep in mind that this is a fully relational database system.  It would be worthwhile for managers to glance at the LibData E-R diagram, which graphically illustrates the connections between tables.  There are many dependen
621  \par  cies between tables, and LibData can maintain the technical side of relationships.  But maintaining a meaningful installation requires careful human attention.
622  \par }{\b IMPORTANT}{: Many tables have an initial \ldblquote (N/A)\rdblquote  \par
623   row in them.  This is important, and should not be deleted.  This is sort of the catch-all row to handle non-assigned situations.  Its underlying primary key ID is always #1 and the system is sensitive to this.  The staff tab  \par }{\b IMPORTANT}{: Many tables have an initial \ldblquote (N/A)\rdblquote  row in them.  This is important, and should not
624  le, in addition, has a special slot (#2) for the System Administrator.  Occasionally there may also be an \ldblquote All\rdblquote  be deleted.  This is sort of the catch-all row to handle non-assigned situations.  Its underlying primary key ID is always #1 and the system is sensitive to this.  The staff table, in addition, has a special slot (#2) for the System Administrator.  Occasi
625   category.  Generally these should be left alone and in most cases are not even displayed for editing purposes.  But anyone going into the mySQL  onally there may also be an \ldblquote All\rdblquote
626  tables directly may see these entries.  As a rule of thumb, N/A, All, or System Administrator (in the staff table) should not be deleted.  If they should become deleted, bugs might crop up and someone would probably have to go into mySQL directly to manua   category.  Generally these should be left alone and in most cases are not even displayed for editing purposes.  But anyone going into the mySQL tables directly may see these entries.  As a rule of thumb, N/A, All, or System
627  lly INSERT a row in the #1 primary key slot for the affected table again.  Generally the LibData Manager interface will not allow these rows to be deleted, so this information pertains to anyone going into the \ldblquote back end\rdblquote .   Administrator (in the staff table) should not be deleted.  If they should become deleted, bugs might crop up and someone would probably have to go into mySQL directly to manually INSERT a row in the #1 primary key slot for the affected table again.  Gene
628    rally the LibData Manager interface will not allow these rows to be deleted, so this information pertains to anyone going into the \ldblquote back end\rdblquote .
629  \par  \par
630  \par General comments on the interface \endash  it\rquote s designed to be strictly functional, no work to jazz it up.  Clicking \ldblquote New\rdblquote  \par General comments on the interface \endash  it\rquote s designed to be strictly functional, no work to jazz it up.  Clicking \ldblquote New\rdblquote
631   brings the Manager directly to the appropriate form to create a new entry for that type of record.  Most records have an enforced uniqueness rule on the \ldblquote title\rdblquote  or label of the entity, so this workflow shouldn\rquote   brings the Manager directly to the appropriate form to create a new entry for that type of record.  Most records have an enforced uniqueness rule on the \ldblquote title\rdblquote  or label of the entity, so this workflow shouldn\rquote
632  t be used if there\rquote s a possibility that the row already exists in the table \endash  it\rquote ll result in a failure message.  The better workflow would be to click the corresponding \ldblquote Search\rdblquote  button.  Note that an asterisk  t be used if there\rquote s a possibility that the row already exists in the table \endash  it\rquote ll result in a failure message.  The better workflow would be to click the corresponding \ldblquote Search\rdblquote  button.  Note that an asterisk
633  \ldblquote *\rdblquote  will display all rows in the table, and the desired row may then be selected with its adjacent radio button.  If the table is quite large, it\rquote s better to search for substrings.  For example, entering \ldblquote ology  \ldblquote *\rdblquote  will display all rows in the table, and the desired row may then be selected with its adjacent radio button.  If the table is quite large, it\rquote s better to search for substrings.  For example, entering \ldblquote ology
634  \rdblquote  in the subject field would bring up a quick list of An  \rdblquote  in the subject field would bring up a quick list of Anthropology, Biology, Geology, Zoology, etc. if these were present in the underl
635  thropology, Biology, Geology, Zoology, etc. if these were present in the underlying table.  This strategy can be employed against all of the Manager setup tables with a search/limit capability.  ying table.  This strategy can be employed against all of the Manager setup tables with a search/limit capability.
636  \par  \par
637  \par Some forms, when saved, then result in additional forms becoming available.  Since this is HTML, remember that forms cannot be imbedded within forms \endash  \par Some forms, when saved, then result in additional forms becoming available.  Since this is HTML, remember that forms cannot be imbedded within forms \endash
638   so a screen with multiple forms might present some confusion for people.  Take the resource form as an example.  When a resource is saved, three additional forms beco   so a screen with multiple forms might present some confusion for people.  Take the resource form as an example.  When a resource is saved, three additional forms become available: the assigning of a location/library, features, or master subjects
639  me available: the assigning of a location/library, features, or master subjects.  If a user has written an extensive annotation on the resource form, failed to save it, and then decides to assign a new feature, s/he will lose any unsaved changed in the re  .  If a user has written an extensive annotation on the resource form, failed to save it, and then decides to assign a new feature, s/he will lose any unsaved changed in the resource form as the HTML is redrawn from the back-end database.  Some user train
640  source form as the HTML is redrawn from the back-end database.  Some user training is essential here to avoid this.  ing is essential here to avoid this.
641  \par  \par
642  \par Assignment-type forms have a \ldblquote Available\rdblquote  selections box on the left and a \ldblquote Selected\rdblquote  set on the right, with left and right arrows under both  \par Assignment-type forms have a \ldblquote Available\rdblquote  selections box on the left and a \ldblquote Selected\rdblquote
643   of them.  This is fairly intuitive and standard.  In most cases, multiple selections are possible with the control and shift keys.  The boxes generally contain mutually exclusive sets of data.   set on the right, with left and right arrows under both of them.  This is fairly intuitive and standard.  In most cases, multiple selections are possible with the control and shift keys.  The boxes generally contain mutually exclusive sets of data.
644    
645  \par  \par
646  \par }{\b A note on nomenclature to clear up confusion:}{ we\rquote ve gone through some iterations with labels, and not everything is cleaned up \endash  Information Type or Subject may also be referred to as \ldblquote Base Information Type\rdblquote  or  \par }{\b A note on nomenclature to clear up confusion:}{ we\rquote ve gone through some iterations with labels, and not everything is cleaned up \endash  Information Type or Subject may also be referred to as \ldblquote Base Information Type\rdblquote  or
647  \ldblquote Base Subject\rdblquote  respectively.  General Information Type and General Subject may also be referred to as \ldblquote Master Information Type\rdblquote  or \ldblquote Master Subject\rdblquote  respectively.  \ldblquote Base Subject\rdblquote  respectively.  General Information Type and General Subject may also be referred to as \ldblquote Master Information Type\rdblquote  or \ldblquote Master Subject\rdblquote  respectively.
# Line 701  source form as the HTML is redrawn from Line 649  source form as the HTML is redrawn from
649  \par }{\i Information Type  \par }{\i Information Type
650  \par }{  \par }{
651  \par Also referred to as a \ldblquote base information type\rdblquote  on the Resource form and in other places.  This would be equivalent to the species in a Linnean classification schema of Homo sapiens.  It\rquote  \par Also referred to as a \ldblquote base information type\rdblquote  on the Resource form and in other places.  This would be equivalent to the species in a Linnean classification schema of Homo sapiens.  It\rquote
652  s the more specific of the two tiers of classification.  We initially experimented with three (or possibly unlimited) layers but it became a usability and management issue.  How many layers are required to strike various balances?  We found that two we  s the more specific of the two tiers of classification.  We initially exper
653  re adequate for our purposes.  Information Types are associated with a General (Master) Information Type and a General (Master) Subject.  imented with three (or possibly unlimited) layers but it became a usability and management issue.  How many layers are required to strike various balances?  We found that two were adequate for our purposes.  Information Types are associated with a General
654     (Master) Information Type and a General (Master) Subject.
655  \par  \par
656  \par It\rquote s important to build the associations, since they create the information hierarchy obeyed by RQS pages.  Resources should be assigned (on the resource-entry form) to a base information type so that they become \ldblquote smart\rdblquote  \par It\rquote s important to build the associations, since they create the information hierarchy obeyed by RQS pages.  Resources should be assigned (on the resource-entry form) to a base information type so that they become \ldblquote smart\rdblquote
657   and float exactly to this default position on the two-tier hierarchy on RQS pages when they are added to them.  Note that the General Information Type of Resources is inferred by the system behind-the-scenes by examining the resource\rquote   and float exactly to this default position on the two-tier hierarchy on RQS pages when they are added to them.  Note that the General Information Type of Resources is inferred by the system behind-the-scenes by examining the resource\rquote
# Line 718  s base information type and then, in tur Line 667  s base information type and then, in tur
667  \par  \par
668  \par Subjects may be assigned to one or more General (Master) Subjects.  Note that where base Information Types have only a single General Information Type, Subjects can be mapped to multiple Master Subjects.  \par Subjects may be assigned to one or more General (Master) Subjects.  Note that where base Information Types have only a single General Information Type, Subjects can be mapped to multiple Master Subjects.
669  \par  \par
670  \par Secondary locations are then also possible to assign. Note also that the locations/libraries for secondary status (also appearing on RQS public side pages) includes the primary location (if any) as well.  So be careful not to re  \par Secondary locations are then also possible to assig
671  dundantly select a location for both primary and secondary.  n. Note also that the locations/libraries for secondary status (also appearing on RQS public side pages) includes the primary location (if any) as well.  So be careful not to redundantly select a location for both primary and secondary.
672  \par  \par
673  \par Staff may be assigned to edit/maintain the RQS page here.  Note that anyone authorized to edit a subject may remove themselves or add other people to it.  \par Staff may be assigned to edit/maintain the RQS page here.  Note that anyone authorized to edit a subject may remove themselves or add other people to it.
674  \par  \par
675  \par Mapping to CIP codes requires some explanation \endash  at the University of Minnesota we\rquote  \par Mapping to CIP codes requires some explanation \endash  at the University of Minnesota we\rquote re experimenting with a portal compo
676  re experimenting with a portal component such that an incoming course subject (for example ANTH) or its equivalent CIP code can be mapped to an RQS subject.  We then have a mechanism to push a simple XML-wrapped set of RQS subjects with URL\rquote  nent such that an incoming course subject (for example ANTH) or its equivalent CIP code can be mapped to an RQS subject.  We then have a mechanism to push a simple XML-wrapped set of RQS subjects with URL\rquote
677  s back to the portal.  Thus, a student logging into some other campus/enterprise application might be \ldblquote pushed\rdblquote  appropriate RQS pages based on courses s/he is registered for.   Since this is unique to our institution it is not pa  s back to the portal.  Thus, a student logging into some other campus/enterprise application might be \ldblquote pushed\rdblquote
678  rt of the LibData open source release.  But the basic concept involves simple \ldblquote listening\rdblquote  and \ldblquote sending\rdblquote   appropriate RQS pages based on courses s/he is registered for.   Since this is unique to our institution it is not part of the LibData open source release.  But the basic concept involves simple \ldblquote listening\rdblquote  and \ldblquote sending
679   PHP functions.  A portal-related page accepts an URL query string parameter for CIP or course subject, and outputs in XML the mapping results.  These mi  \rdblquote  PHP functions.  A portal-related page accepts an URL query string parameter for CIP or course subject, and outputs in XML the mapping results.  These might be parsed by the portal the user is logged into for presentation.  This is
680  ght be parsed by the portal the user is logged into for presentation.  This is still in development, but much of the infrastructure has been developed.  So the cross-talk mapping which this functionality relies on may be done here.  still in development, but much of the infrastructure has been developed.  So the cross-talk mapping which this functionality relies on may be done here.
681  \par  \par
682  \par }{\i General Subject  \par }{\i General Subject
683  \par }{  \par }{
# Line 739  ght be parsed by the portal the user is Line 688  ght be parsed by the portal the user is
688  \par This may be a library, archival unit, etc.  As mentioned in the CLPS authoring section of this document, note that the location\rquote s map and hours URL (if supplied) will appear as special bulleted links following the location\rquote  \par This may be a library, archival unit, etc.  As mentioned in the CLPS authoring section of this document, note that the location\rquote s map and hours URL (if supplied) will appear as special bulleted links following the location\rquote
689  s description on CLPS pages.  s description on CLPS pages.
690  \par  \par
 \par  
 \par  
 \par  
691  \par }{\i Feature  \par }{\i Feature
692  \par }{  \par }{
693  \par This is a generic catch-  \par This is a generic catch-all category for things like Free, Restricted, Full Text, etc.  Note that it includes the ability to reference an icon and create some HTML ALT text.  When an RQS page is rendered on the public side containing resource
694  all category for things like Free, Restricted, Full Text, etc.  Note that it includes the ability to reference an icon and create some HTML ALT text.  When an RQS page is rendered on the public side containing resources with assigned features, the appropr  s with assigned features, the appropriate icon(s) are displayed (with underlying ALT text) alongside the resource title.
 iate icon(s) are displayed (with underlying ALT text) alongside the resource title.  
 \par  
 \par  
695  \par  \par
696  \par }{\i Service  \par }{\i Service
697  \par }{  \par }{
698  \par Library Services, once saved in LibData, have two additional forms.  They may be mapped to location(s) (see discussion above) and they may be associated to a Ser  \par Library Services, once saved in LibData, have two additional forms.  They may be mapped to location(s) (see discussion above)
699  vice Type (see below).  If your Library has a large array of services, they may be categorized (Reference, Borrowing, ILL, etc.).  This allows them to be limited by other applications designed to extract them, outside of LibData.  Also take note that Serv   and they may be associated to a Service Type (see below).  If your Library has a large array of services, they may be categorized (Reference, Borrowing, ILL, etc.).  This allows them to be limited by other applications designed to extract them, outside o
700  ices added as elements to a page in the CLPS environment may be limited for easier selection by service type.  Again, this feature is probably most useful to large institutions.  f LibData.  Also take note that Services added as elements to a page in the CLPS environment may be limited for easier selection by service type.  Again, this feature is probably most useful to large institutions.
701  \par  \par
702  \par }{\i Service Type  \par }{\i Service Type
703  \par }{  \par }{
704  \par See discussion of Services above.   This allows specific services to be grouped together into clusters based on business/functional or some other similarity.  \par See discussion of Services above.   This allows specific services to be grouped together into clusters based on business/functional or some other similarity.
705  \par  \par
706    \par }{\i Vendor
707    \par }{
708    \par Resources may be associated with a vendor/provider.  This is useful for both the administrative and public sides of LibData.  The Advanced Search page for resources allows limiting by vendor, which can provide for a useful management tool.
709    \par
710    \par Vendors occasio
711    nally experience technical downtimes, and this may be indicated on the vendor form within LibData by clicking the appropriate vendor status: Up, Down, or Alert.  Down and Alert both allow for messages in the Down/Alert box to be displayed alongside all as
712    sociated resource titles on RQS and CL/PS pages.  The message is accompanied by a small graphic supplied with LibData to bring attention to the user that the link may be experiencing problems.
713    \par
714    \par Note also that resources may be individually flagged as Up, Dow
715    n, or Alert, with an accompanying resource-specific Down/Alert message.  This allows for circumstances in which some vendor resources are available, and others are not.  If a resource is flagged Down or Alert at both the resource and vendor levels, the ve
716    ndor message will take precedence.
717    \par
718  \par }{\i PageScribe Style  \par }{\i PageScribe Style
719  \par }{  \par }{
720  \par This is discussed at length in the LibData Customization document.  Of special interest here is that LibData currently does no error-checking o  \par This is discussed at length in the LibData Customization document.  Of special interest here is that LibData currently does no error-checking on the specified files for header/footer/css.  They need to r
721  n the specified files for header/footer/css.  They need to reside in the specified location, and be set with appropriate file permissions.  The creation and design considerations are discussed in the Customization document.  Libdata.css, part of LibData s  eside in the specified location, and be set with appropriate file permissions.  The creation and design considerations are discussed in the Customization document.  Libdata.css, part of LibData standard, could be used as a template for cloning purposes.  
722  t  T
723  andard, could be used as a template for cloning purposes.  The only requirement for these files is that the CSS must contain special S1, S2, S3, S4, and S5 classes so that element-level style specifications applied in the CLPS authoring environment have c  he only requirement for these files is that the CSS must contain special S1, S2, S3, S4, and S5 classes so that element-level style specifications applied in the CLPS authoring environment have corresponding SPAN classes in the supplied CSS.  Beyond this,
724  orresponding SPAN classes in the supplied CSS.  Beyond this, anything may be customized in the CSS file.   anything may be customized in the CSS file.
725  \par  \par
726  \par }{\i Campus  \par }{\i Campus
727  \par }{  \par }{
728  \par Used when creating CourseLib pages.  \par Used when creating CourseLib pages.
729  \par  \par
 \par  
730  \par }{\i Term  \par }{\i Term
731  \par }{  \par }{
732  \par Academic term.  Also used when creating CourseLib pages.  \par Academic term.  Also used when creating CourseLib pages.
# Line 788  Subjects }{in this section for how a map Line 742  Subjects }{in this section for how a map
742  \par  \par
743  \par }{\i Staff Title  \par }{\i Staff Title
744  \par }{  \par }{
745  \par A list of  \par A list of titles, used by both faculty and staff.  This
746  titles, used by both faculty and staff.  This is particularly useful when plopping faculty to CourseLib pages.  A title (professor, associate professor, assistant professor, lecturer, etc.) can be associated with the selected faculty person.  Note that st   is particularly useful when plopping faculty to CourseLib pages.  A title (professor, associate professor, assistant professor, lecturer, etc.) can be associated with the selected faculty person.  Note that staff titles in the staff table are not used in
747  a  
748  ff titles in the staff table are not used in the public interface.  Scenario: a librarian also happens to be a tenured faculty member.  S/he is going to be an instructor on a CourseLib page.  When a LibData staffperson is added as an instructor for a Cour  the public interface.  Scenario: a librarian also happens to be a tenured faculty member.  S/he is going to be an instructor on a CourseLib page.  When a LibData staffperson is added as an instructor for a CourseLib page, the title of the staff person as
749  seLib page, the title of the staff person as it appears in the Manager Functions staff table is }{\i not}{  it appears in the Manager Functions staff table is }{\i not}{ used.  Rather, it may be selected anew here.  This was allowed since many of us wear multiple hats.  Refer to section 5.3 on CourseLib authoring for this functionality.
  used.  Rather, it may be selected anew here.  This was allowed since many of us wear multiple hats.  Refer to section 5.3 on CourseLib authoring for this functionality.  
750  \par  \par
751  \par }{\i Library Units  \par }{\i Library Units
752  \par }{  \par }{
753  \par These are work units with a unit lead, who should have either the Manager or DBA access level in LibData.  Once the Library Unit is saved, an additional form pops up which allows the selection/removal of staff assigned to that u  \par These are work un
754  nit.  Note that any manager may make changes to any other unit.  (This requires a collegial level of trust, or some additional security-related programming to rectify.)  its with a unit lead, who should have either the Manager or DBA access level in LibData.  Once the Library Unit is saved, an additional form pops up which allows the selection/removal of staff assigned to that unit.  Note that any manager may make changes
755     to any other unit.  (This requires a collegial level of trust, or some additional security-related programming to rectify.)
756  \par  \par
757  \par }{\i Staff  \par }{\i Staff
758  \par }{  \par }{
759  \par \tab }{\i Manage Staff  \par \tab }{\i Manage Staff
760  \par }{This option brings up a tabular list of all staff currently part  \par }{This option brings up a tabular list of all staff currently part of the LibData system, access, whether they h
761  of the LibData system, access, whether they have a password assigned, last date and IP address of login, etc.  Note that once a new staff person has been assigned, several additional forms are available.  ave a password assigned, last date and IP address of login, etc.  Note that once a new staff person has been assigned, several additional forms are available.
762  \par  \par
763  \par The setting and purging of passwords.  \par The setting and purging of passwords.
764  \par  \par
765  \par The assignme  \par The assignment/removal of that staffperson to library uni
766  nt/removal of that staffperson to library units.  Note that this function is the same (but from a staff-centric perspective) to the assignment form under Library Units above.  From that perspective, a given library unit may add/drop staff members.  From t  ts.  Note that this function is the same (but from a staff-centric perspective) to the assignment form under Library Units above.  From that perspective, a given library unit may add/drop staff members.  From this perspective a given staff person may be a
767  his perspective a given staff person may be added/dropped from units.  Staff may also be assigned various subjects here.  Note, also, that the Subject table has the ability to add/drop staff from it, affecting staff as well.  dded/dropped from units.  Staff may also be assigned various subjects here.  Note, also, that the Subject table has the ability to add/drop staff from it, affecting staff as well.
768  \par  \par
769  \par \tab }{\i RQS Assignments  \par \tab }{\i RQS Assignments
770  \par }{This is a handy Manager-level tool which displays all staff<->subject assignments for managing RQS pages.  Staff appear on the left, subjects on the right.  A \ldblquote public\rdblquote  \par }{This is a handy Manager-level tool which displays all staff<->subject assignments for managing RQS pages.  Staff appear on the left, subjects on the right.  A \ldblquote public\rdblquote
771   flag is either Y or N, depending on whether the subject in question has been published and it publicly available on the patron RQS interfaces.   flag is either Y or N, depending on whether the subject in question has been published and it publicly available on the patron RQS interfaces.
772  \par  \par
773  \par When a staffperson (left-most column in this table) is \ldblquote clicked\rdblquote , the edit-staff form for that person is brought up.  From there it\rquote s possible to add/subtract assigned subjects.  On Or, when a subject (right-most c  \par When a staffperson (left-most column in this table) is \ldblquote clicked\rdblquote , the edit-staff form for that person is brought up.  From there it\rquote
774  olumn) is clicked, the subject-edit form is brought up.  From there, staff may be add/dropped from that subject.  So there are numerous ways to perform similar tasks, and they make sense depending on what the manager is doing (working on a particular subj  s possible to add/subtract assigned subjects.  On Or, when a subject (right-most column) is clicked, the subject-edit form is b
775  ect vs. on a particular staffperson).  rought up.  From there, staff may be add/dropped from that subject.  So there are numerous ways to perform similar tasks, and they make sense depending on what the manager is doing (working on a particular subject vs. on a particular staffperson).
776  \par  \par
777  \par  \par
778  \par }{\b\fs28 7.0\tab DBA Tools  \par }{\b\fs28 7.0\tab DBA Tools
779  \par }{  \par }{
780  \par }{\i RQS Subject <-> CIP Code Crosswalk  \par }{\i RQS Subject <-> CIP Code Crosswalk
781  \par }{  \par }{
782  \par This tool allows DBA\rquote s to conveniently map any RQS subject to academic course subjects.  As was discussed under }{\b 6.0 Manager Functions \endash  Subject}{  \par This tool allows DBA\rquote s to conveniently map any RQS subject to academic course subjects.  As was discussed under }{\b 6.0 Manager Functions \endash  Subject}{, there is the capability to map RQS subjects against academic cours
783  , there is the capability to map RQS subjects against academic course subjects (or departments).  There is currently no public application with LibData Rel. OS 1.0 that takes advantage of this mapping, but such things would not be difficult to build shoul  e subjects (or departments).  There is currently no public application with LibData Rel. OS 1.0 that takes advantage of this mapping, but such things would not be difficult to build should the need arise.
784  d the need arise.  \par
785  \par  \par One possibility is to simply limit your entry of RQS subjects to mirror 1:1 the academic environment, then no mapping exercise will ever be necessary.  But we\rquote ve found that it\rquote
786  \par One possibility is to simply limit your entry of RQS subjects to mirror 1:1 the academic environment, then no mapping exercise will ever be necessary.  But we\rquote ve found that it\rquote s useful to be able to create new library subjects which eithe  s useful to be able to create new library subjects which either are cross-disciplinary, more timely than the ability of the Univer
787  r are cross-disciplinary, more timely than the ability of the University to re-organize its academic departments, or subjects which really have no corollary with a particular department.  Thus, this tool is available.  Taking advantage of it rests with ea  sity to re-organize its academic departments, or subjects which really have no corollary with a particular department.  Thus, this tool is available.  Taking advantage of it rests with each institution\rquote s unique situation.
 ch institution\rquote s unique situation.  
788  \par  \par
789  \par }{\i Resources Lacking Default Information Types  \par }{\i Resources Lacking Default Information Types
790  \par }{  \par }{
791  \par This screen allows for display of all resources which have no assigned default base information type.  These resources will not \ldblquote float\rdblquote  to their proper place when added to RQS  \par This screen allows for display of all resources which have no assigned default base information type.  These resources will not \ldblquote float\rdblquote  to their proper place when added to RQS pages, and will always need to be m
792  pages, and will always need to be moved manually out of the (N/A) category into something that makes sense.  oved manually out of the (N/A) category into something that makes sense.
793  \par  \par
794  \par }{\i LibData System Status  \par }{\i LibData System Status
795  \par }{  \par }{
796  \par A short assembly of queries to report on the current status of the system: number of unique staff who\rquote ve logged in today, nu  \par A short assembly of queries to report on the current status of the system: number of unique staff who\rquote ve logged in today, number of cataloged resources, CLPS p
797  mber of cataloged resources, CLPS pages, etc.  Any additional status queries developed by a database programmer might be added and displayed to LibData DBA\rquote s here.  ages, etc.  Any additional status queries developed by a database programmer might be added and displayed to LibData DBA\rquote s here.
798  \par  \par
799  \par }{\i CourseLib Debugger  \par }{\i CourseLib Debugger
800  \par }{  \par }{
# Line 849  mber of cataloged resources, CLPS pages, Line 802  mber of cataloged resources, CLPS pages,
802  s most likely an internal error with the parent-child relationships.  This debugger will hopefully aid in making that determination.  Should an error(s) be found, there are intelligent fix options available.  s most likely an internal error with the parent-child relationships.  This debugger will hopefully aid in making that determination.  Should an error(s) be found, there are intelligent fix options available.
803  \par  \par
804  \par Note that while LibData is tightly normalized, some problems can occur if two users are working on the same page \endash  }{\b we have no concurrency checking!  }{  \par Note that while LibData is tightly normalized, some problems can occur if two users are working on the same page \endash  }{\b we have no concurrency checking!  }{
805  Thus, the best way to avoid this problem is to distribute authoring assignments carefully.  Should a page become  Thus, the best way to avoid this problem is to distribute authoring assignments carefully.  Should a page become damaged, undamaged portions may be
806  damaged, undamaged portions may be copied out and pasted to a new page.  Another possibility is to rebuild the page from scratch.  Sometimes an error may be fixed by cloning the entire page \endash  copied out and pasted to a new page.  Another possibility is to rebuild the page from scratch.  Sometimes an error may be fixed by cloning the entire page \endash
807   the new page is rebuilt such that element orders and parent-child references are re-calculated.  (However, errors shouldn\rquote t be very common.  We have gone six months in a large Big-10 university library environment and found only a single error.)   the new page is rebuilt such that element orders and parent-child references are re-calculated.  (However, errors shouldn\rquote t be very common.  We have gone six months in a large Big-10 university library environment and found only a single error.)
808    
809  \par  \par
810  \par If the debugger locates an error, some information about the nature of th  \par If the debugger locates an error, some information about the nature of the problem will be displayed, and th
811  e problem will be displayed, and three fix options will become available (these options are not offered if no errors are found).  They range from least to most destructive to the page:  ree fix options will become available (these options are not offered if no errors are found).  They range from least to most destructive to the page:
812  \par  \par
813  \par (1)\tab Attach orphaned elements to most likely parent.  This method will hunt out the element which is most appropriate to be a parent.  For example, an earlier occurring element with an indent/generation level exactly one less.  \par (1)\tab Attach orphaned elements to most likely parent.  This method will hunt out the element which is most appropriate to be a parent.  For example, an earlier occurring element with an indent/generation level exactly one less.
814  \par (2)\tab Delete orphaned elements and their children.  Simply remove the problematic element and its lineage.  \par (2)\tab Delete orphaned elements and their children.  Simply remove the problematic element and its lineage.
815  \par (3)\tab Purge all parent-child relationships, and move all elements to root-level position.  This method is most destructive, but almost guaranteed to fix a broken page.  It destroys page hierarchy, but preserves the selection of elements.  \par (3)\tab Purge all parent-child relationships, and move all elements to root-level position.  This method is most destructive, but almost guaranteed to fix a broken page.  It destroys page hierarchy, but preserves the selection of elements.
816  \par  \par
817  \par After whicheve  \par After whichever method is chosen, the page elemen
818  r method is chosen, the page elements are both adjusted for both order and parent-child cohesion.  The page fix mechanism will suggest that the page debugger be re-run for a final check.  If errors are still found, the same fix method should be attempted  ts are both adjusted for both order and parent-child cohesion.  The page fix mechanism will suggest that the page debugger be re-run for a final check.  If errors are still found, the same fix method should be attempted again \endash
819  again \endash  or perhaps a more severe method (#2 or #3) might be employed.   or perhaps a more severe method (#2 or #3) might be employed.
820  \par  \par
821  \par In general, errors are very rare and we\rquote ve been able to fix them all with method #1.  We\rquote re still working on a page authoring concurrency/locking mechanism.  But since errors are rare and this fix tool is robust, it isn\rquote  \par In general, errors are very rare and we\rquote ve been able to fix them all with method #1.  We\rquote re still working on a page authoring concurrency/locking mechanism.  But since errors are rare and this fix tool is robust, it isn\rquote t
822  t a high priority item.   a high priority item.
823  \par  \par
824  \par }{\i PageScribe Debugger  \par }{\i PageScribe Debugger
825  \par }{  \par }{
# Line 880  t a high priority item. Line 833  t a high priority item.
833  ve gone a step further and implemented an exit counter, to get a feel for resource utilization down to the element level on CLPS pages.  ve gone a step further and implemented an exit counter, to get a feel for resource utilization down to the element level on CLPS pages.
834  \par  \par
835  \par Unfortunately, this has the detrimental side-effect of hiding URLs when the user passes his/her mouse cursor over a link.  Rather than seeing the resource\rquote s own URL, the link.phtml file is referenced \endash  \par Unfortunately, this has the detrimental side-effect of hiding URLs when the user passes his/her mouse cursor over a link.  Rather than seeing the resource\rquote s own URL, the link.phtml file is referenced \endash
836   and this takes the element and page ID are as incoming parameters.  These allow the LibData statistics module to collect link usage.  LibData then redirects the patron\rquote   and this takes the element and page ID are as incoming parameters.  These allow the LibData statistics module to collect link usage.  LibData then redirects the patron\rquote s browser to the actual reso
837  s browser to the actual resource URL.  The undesirable side-effect may be easily stripped out by a programmer familiar with PHP \endash  but the trade-off is that element-level statistics are no longer available.  urce URL.  The undesirable side-effect may be easily stripped out by a programmer familiar with PHP \endash  but the trade-off is that element-level statistics are no longer available.
838  \par  \par
839  \par Since HTML is a stateless protocol, there is no way to determine where a user goes once a web page is loaded into his/her browser \endash  unless is \ldblquote checks back in\rdblquote  with the server.  \par Since HTML is a stateless protocol, there is no way to determine where a user goes once a web page is loaded into his/her browser \endash  unless is \ldblquote checks back in\rdblquote  with the server.
840  \par  \par
# Line 891  s browser to the actual resource URL.  T Line 844  s browser to the actual resource URL.  T
844  \par  \par
845  \par (1)\tab The statistics tables should be purged on a regular basis (this requires someone familiar with SQL to enter the libstats database and DELETE FROM the three statistics tables there).  \par (1)\tab The statistics tables should be purged on a regular basis (this requires someone familiar with SQL to enter the libstats database and DELETE FROM the three statistics tables there).
846  \par  \par
847  \par (2)\tab Some programming modifications might be done to the statistics \ldblquote roll up\rdblquote  page which displays all element utilization \endash  \par (2)\tab Some programming modifications might be done to the statistics \ldblquote roll up\rdblquote  page which displays all element utilization \endash  i.e. display only use statistics fo
848   i.e. display only use statistics for a particular page.  First require users to select a page, then show only its rollup, rather than an entire system-wide rollup.  This will substantially cut down on query load.  r a particular page.  First require users to select a page, then show only its rollup, rather than an entire system-wide rollup.  This will substantially cut down on query load.
849  \par  \par
850  \par (3)\tab Don\rquote t do anything at all.  Recognize that this is a computational intensive process.  Simply print out statistics in a static format on a scheduled basis.  \par (3)\tab Don\rquote t do anything at all.  Recognize that this is a computational intensive process.  Simply print out statistics in a static format on a scheduled basis.
851  \par  \par
852  \par }{\b Relational Comments  \par }{\b Relational Comments
853  \par }{Elements in the statistics tables are still tied, relationally, to their source records.  If Google, for example, i  \par }{Elements in the statistics tables are still tied, relationally, to their source records.  If Google, for example, is a resource on a CLPS page and is del
854  s a resource on a CLPS page and is deleted by an Author of that page, its statistics are likewise deleted.  So this table currently maintains no historical statistics usage.  This presents a few problems and, like many other things, we\rquote  eted by an Author of that page, its statistics are likewise deleted.  So this table currently maintains no historical statistics usage.  This presents a few problems and, like many other things, we\rquote re working on various solutions.
 re working on various solutions.  
855  \par  \par
856  \par Probably the most desirable solution is to simply not write statistics out to a table at all, but rather a log file \endash  and build an application that\rquote ll analyze the logs.   This requires convincing a unix administrator that it\rquote  \par Probably the most desirable solution is to simply not write statistics out to a table at all, but rather a log file \endash  and build an application that\rquote ll analyze the logs.   This requires convincing a unix administrator that it\rquote
857  s not a security risk to grant PHP the ability to interact at this level with the file system...  s not a security risk to grant PHP the ability to interact at this level with the file system...
# Line 907  s not a security risk to grant PHP the a Line 859  s not a security risk to grant PHP the a
859  \par  \par
860  \par }{\b\fs28 9.0\tab Patron Interfaces  \par }{\b\fs28 9.0\tab Patron Interfaces
861  \par }{  \par }{
862  \par The following public interface pages/modes are currently enabled with this release of LibData.  In-house pages may be easily developed  \par The following public interface pages/modes are currently enabled with this release of LibData.  In-house pages may be easily developed with basic SQL queries.  For example, a page to displa
863   with basic SQL queries.  For example, a page to display, in tabular format, all libraries and their telephone numbers is trivial \endash  y, in tabular format, all libraries and their telephone numbers is trivial \endash  so the number of patron applications that LibData might drive is enormous, since the data set is rich and (if populated as such) can be highly relational and associative.
864   so the number of patron applications that LibData might drive is enormous, since the data set is rich and (if populated as such) can be highly relational and associative.  
865  \par  \par
866  \par }{\b RQS Subject Selection Page (subjects.phtml)  \par }{\b RQS Subject Selection Page (subjects.phtml)
867  \par }{  \par }{
# Line 929  s not a security risk to grant PHP the a Line 881  s not a security risk to grant PHP the a
881  \par  \par
882  \par }{\b CourseLib Selection Page (courses.phtml)  \par }{\b CourseLib Selection Page (courses.phtml)
883  \par }{  \par }{
884  \par Shows a pick-list available CourseLib (not PageScribe) pages in the  \par Shows a pick-list available CourseLib (not PageScribe) pages in the system.  The combo select box may be limited to cour
885   system.  The combo select box may be limited to course titles beginning with a particular letter, substring search for department or title, or controlled lists of course department and professor name.  The user picks from the combo box, limited by search  se titles beginning with a particular letter, substring search for department or title, or controlled lists of course department and professor name.  The user picks from the combo box, limited by search criteria or not, and loads the specified CourseLib p
886   criteria or not, and loads the specified CourseLib page.  age.
887  \par  \par
888  \par Note that there is no pick list of PageScribe pages.  We\rquote ve felt that, unlike CourseLib, they have nothing inherently in common with one another other than the tool that created them.  Thus, we\rquote ve n  \par Note that there is no pick list of PageScribe pages.  We\rquote ve felt that, unlike CourseLib, they have nothing inherently in common with one another other than the tool that created them.  Thus, we\rquote
889  ot yet found the need to create a pick list of them.  Such a list would be easy to make, however.  ve not yet found the need to create a pick list of them.  Such a list would be easy to make, however.
890  \par  \par
891  \par }{\b CourseLib / PageScribe Page (page.phtml)  \par }{\b CourseLib / PageScribe Page (page.phtml)
892  \par }{  \par }{
# Line 943  ot yet found the need to create a pick l Line 895  ot yet found the need to create a pick l
895  \par }{\b CourseLib / PageScribe Print-Friendly Version (page_print.phtml)  \par }{\b CourseLib / PageScribe Print-Friendly Version (page_print.phtml)
896  \par }{  \par }{
897  \par Unlike the print-friendly version of RQS (see above), this is not merely toggled with an incoming URL flag.  Differences were significant enough such that it was decided to maintain two separate URL\rquote  \par Unlike the print-friendly version of RQS (see above), this is not merely toggled with an incoming URL flag.  Differences were significant enough such that it was decided to maintain two separate URL\rquote
898  s at this point in LibData development.  Print-friendly pages of CourseLib and PageScribe display the URL\rquote s of page elements, and e-mail addresses of staff as elements whenever possible.  This way, they may be printed and are still visible on hard  s at this point in LibData development.  Print-friendly pages of CourseLib and PageScribe display the URL\rquote
899   copy.  s of page elements, and e-mail addresses of staff as elements whenever possible.  This way, they may be printed and are still visible on hard copy.
 \par  
 \par  
900  \par }{\b\fs28 10.0\tab Conclusion & Credits  \par }{\b\fs28 10.0\tab Conclusion & Credits
901  \par }{  \par }{
902  \par LibData is clearly a work in progress, as it has been since 1997 when the first iteration of Research QuickStart and 2000 when the first version of CourseLib were implemented.  It was our desire here to create something  \par LibData is clearly a work in pro
903  highly functional, much more robust and integrated, with a great degree of customizability, and own it in-house.  This project resulted from many hours of brainstorming sessions by members of the LibData Design Committee, and countless gallons of coffee b  gress, as it has been since 1997 when the first iteration of Research QuickStart and 2000 when the first version of CourseLib were implemented.  It was our desire here to create something highly functional, much more robust and integrated, with a great de
904  y the programmer on the project.  gree of customizability, and own it in-house.  This project resulted from many hours of brainstorming sessions by members of the LibData Design Committee, and countless liters of coffee by the programmer on the project.
905  \par  \par
906  \par We hope that by giving it all away (free of charge, but with no warranty or guarantees stated or implied) that it may be used and improved upon by other institutions, as we continue to do so ourselves.  We are currently co  \par We hope that by giving it all away (free of charge, but with no warranty or guarantees stated or implied) that it may be used and improved upon by other institutions, as we continue to do so ourselves.
 llecting a list of functional enhancements from our staff for the next version, LibData 2.0.  As of yet we have no formalized timeline, but changes will likely be assembled and prioritized by late 2003, and development work will begin shortly at that stag  
 e.  Most likely, LibData will 2.0 will see a mid-winter to early spring rollout in 2004.  
907  \par  \par
908  \par Core LibData design staff at the University of Minnesota:  \par Core LibData design staff at the University of Minnesota:
909  \par  \par
910  \par Paul Bramscher (LibData programmer) }{\field\fldedit{\*\fldinst { HYPERLINK "mailto:brams006@tc.umn.edu" }{\fs20 {\*\datafield  \par Paul Bramscher (LibData programmer) }{\field\fldedit{\*\fldinst { HYPERLINK "mailto:brams006@tc.umn.edu" }{\fs20 {\*\datafield
911  00d0c9ea79f9bace118c8200aa004ba90b0200000017000000140000006200720061006d0073003000300036004000740063002e0075006d006e002e006500640075000000e0c9ea79f9bace118c8200aa004ba90b360000006d00610069006c0074006f003a006200720061006d0073003000300036004000740063002e00  00d0c9ea79f9bace118c8200aa004ba90b0200000017000000140000006200720061006d0073003000300036004000740063002e0075006d006e002e006500640075000000e0c9ea79f9bace118c8200aa004ba90b360000006d00610069006c0074006f003a006200720061006d0073003000300036004000740063002e00
912  75006d006e002e00650064007500000000000000000000}}}{\fldrslt {\cs15\ul\cf2 brams006@umn.edu}}}{  75006d006e002e00650064007500000000000000000000000000}}}{\fldrslt {\cs15\ul\cf2 brams006@umn.edu}}}{
913  \par Shane Nackerud (Web Services Coordinator) }{\field\fldedit{\*\fldinst { HYPERLINK "mailto:snackeru@tc.umn.edu" }{\fs20 {\*\datafield  \par Shane Nackerud (Web Services Coordinator) }{\field\fldedit{\*\fldinst { HYPERLINK "mailto:snackeru@tc.umn.edu" }{\fs20 {\*\datafield
914  00d0c9ea79f9bace118c8200aa004ba90b02000000170000001400000073006e00610063006b006500720075004000740063002e0075006d006e002e006500640075000000e0c9ea79f9bace118c8200aa004ba90b360000006d00610069006c0074006f003a0073006e00610063006b006500720075004000740063002e00  00d0c9ea79f9bace118c8200aa004ba90b02000000170000001400000073006e00610063006b006500720075004000740063002e0075006d006e002e006500640075000000e0c9ea79f9bace118c8200aa004ba90b360000006d00610069006c0074006f003a0073006e00610063006b006500720075004000740063002e00
915  75006d006e002e00650064007500000000000000000000}}}{\fldrslt {\cs15\ul\cf2 snackeru@umn.edu}}}{  75006d006e002e00650064007500000000000000000000000000}}}{\fldrslt {\cs15\ul\cf2 snackeru@umn.edu}}}{
916  \par John Butler (Digital Library Development Laboratory Lead) }{\field\fldedit{\*\fldinst { HYPERLINK "mailto:j-butl@tc.umn.edu" }{\fs20 {\*\datafield  \par John Butler (Digital Library Development Laboratory Lead) }{\field\fldedit{\*\fldinst { HYPERLINK "mailto:j-butl@tc.umn.edu" }{\fs20 {\*\datafield
917  00d0c9ea79f9bace118c8200aa004ba90b0200000017000000120000006a002d006200750074006c004000740063002e0075006d006e002e006500640075000000e0c9ea79f9bace118c8200aa004ba90b320000006d00610069006c0074006f003a006a002d006200750074006c004000740063002e0075006d006e002e00  00d0c9ea79f9bace118c8200aa004ba90b0200000017000000120000006a002d006200750074006c004000740063002e0075006d006e002e006500640075000000e0c9ea79f9bace118c8200aa004ba90b320000006d00610069006c0074006f003a006a002d006200750074006c004000740063002e0075006d006e002e00
918  650064007500000000000000000000}}}{\fldrslt {\cs15\ul\cf2 j-butl@umn.edu}}}{  650064007500000000000000000000000000}}}{\fldrslt {\cs15\ul\cf2 j-butl@umn.edu}}}{
919  \par Kate McCready (Reference Librarian) }{\field{\*\fldinst { HYPERLINK mailto:mccre008@umn.edu }{\fs20 {\*\datafield  \par Kate McCready (Reference Librarian) }{\field{\*\fldinst { HYPERLINK mailto:mccre008@umn.edu }{\fs20 {\*\datafield
920  00d0c9ea79f9bace118c8200aa004ba90b0200000017000000110000006d006300630072006500300030003800400075006d006e002e006500640075000000e0c9ea79f9bace118c8200aa004ba90b300000006d00610069006c0074006f003a006d006300630072006500300030003800400075006d006e002e0065006400  00d0c9ea79f9bace118c8200aa004ba90b0200000017000000110000006d006300630072006500300030003800400075006d006e002e006500640075000000e0c9ea79f9bace118c8200aa004ba90b300000006d00610069006c0074006f003a006d006300630072006500300030003800400075006d006e002e0065006400
921  7500000000000000000000}}}{\fldrslt {\cs15\ul\cf2 mccre008@umn.edu}}}{  7500000000000000000000000000}}}{\fldrslt {\cs15\ul\cf2 mccre008@umn.edu}}}{
922  \par }\pard\plain \widctlpar\adjustright \fs20\cgrid {\fs24 Jen Tantzen (Interface Designer) }{\field\flddirty{\*\fldinst {\fs24  HYPERLINK mailto:tantz003@umn.edu }{{\*\datafield  \par }\pard\plain \widctlpar\adjustright \fs20\cgrid {\fs24 Jen Tantzen (Interface Designer) }{\field\flddirty{\*\fldinst {\fs24  HYPERLINK mailto:tantz003@umn.edu }{{\*\datafield
923  00d0c9ea79f9bace118c8200aa004ba90b020000001700000011000000740061006e0074007a00300030003300400075006d006e002e006500640075000000e0c9ea79f9bace118c8200aa004ba90b300000006d00610069006c0074006f003a00740061006e0074007a00300030003300400075006d006e002e0065006400  00d0c9ea79f9bace118c8200aa004ba90b020000001700000011000000740061006e0074007a00300030003300400075006d006e002e006500640075000000e0c9ea79f9bace118c8200aa004ba90b300000006d00610069006c0074006f003a00740061006e0074007a00300030003300400075006d006e002e0065006400
924  7500000000000000000000}}}{\fldrslt {\cs15\fs24\ul\cf2 tantz003@umn.edu}}}{\fs24  7500000000000000000000000000}}}{\fldrslt {\cs15\fs24\ul\cf2 tantz003@umn.edu}}}{\fs24
925  \par }\pard\plain \s16\widctlpar\adjustright \cgrid {  \par }\pard\plain \s16\widctlpar\adjustright \cgrid {
 \par  
 \par  
 \par  
926  \par Additional members of the LibData Design Committee  \par Additional members of the LibData Design Committee
927  \par  \par
928  \par }\pard\plain \s17\widctlpar\adjustright \fs20 {\fs24 Laura Dale Bischof  \par }\pard\plain \s17\widctlpar\adjustright \fs20 {\fs24 Laura Dale Bischof
# Line 990  e.  Most likely, LibData will 2.0 will s Line 935  e.  Most likely, LibData will 2.0 will s
935  \par }{  \par }{
936  \par LibData is released under GPL (}{\field{\*\fldinst { HYPERLINK http://www.gnu.org/licenses/gpl.html }{\fs20 {\*\datafield  \par LibData is released under GPL (}{\field{\*\fldinst { HYPERLINK http://www.gnu.org/licenses/gpl.html }{\fs20 {\*\datafield
937  00d0c9ea79f9bace118c8200aa004ba90b02000000170000002500000068007400740070003a002f002f007700770077002e0067006e0075002e006f00720067002f006c006900630065006e007300650073002f00670070006c002e00680074006d006c000000e0c9ea79f9bace118c8200aa004ba90b4a00000068007400  00d0c9ea79f9bace118c8200aa004ba90b02000000170000002500000068007400740070003a002f002f007700770077002e0067006e0075002e006f00720067002f006c006900630065006e007300650073002f00670070006c002e00680074006d006c000000e0c9ea79f9bace118c8200aa004ba90b4a00000068007400
938  740070003a002f002f007700770077002e0067006e0075002e006f00720067002f006c006900630065006e007300650073002f00670070006c002e00680074006d006c000000000000}}}{\fldrslt {\cs15\ul\cf2 http://www.gnu.org/licenses/gpl.html}}}{  740070003a002f002f007700770077002e0067006e0075002e006f00720067002f006c006900630065006e007300650073002f00670070006c002e00680074006d006c000000000000000000}}}{\fldrslt {\cs15\ul\cf2 http://www.gnu.org/licenses/gpl.html}}}{) licensing t
939  ) licensing terms, which means that LibData or applications built upon it may not be sold or re-released in some closed format.  We hope that other institutions may take our work, learn from it, build upon it, and share efforts with one another.  erms, which means that LibData or applications built upon it may not be sold or re-released in some closed format.  We hope that other institutions may take our work, learn from it, build upon it, and share efforts with one another.
940  \par  \par
941  \par We encourage institutions which opt to use LibData to acknowledge our work with something like }{\i Built with LibData}{, }{\i Powered by LibData}{, and offer a link to http://www.lib.umn.edu/digilab/.  \par We encourage institutions which opt to use LibData to acknowledge our work with something like }{\i Built with LibData}{, }{\i Powered by LibData}{, and offer a link to http://www.lib.umn.edu/digilab/.
942  \par  \par

Legend:
Removed from v.66  
changed lines
  Added in v.67

  ViewVC Help
Powered by ViewVC 1.1.26