1 |
dpavlin |
27 |
{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;} |
2 |
|
|
{\f16\froman\fcharset238\fprq2 Times New Roman CE;}{\f17\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f19\froman\fcharset161\fprq2 Times New Roman Greek;}{\f20\froman\fcharset162\fprq2 Times New Roman Tur;} |
3 |
|
|
{\f21\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f28\fmodern\fcharset238\fprq1 Courier New CE;}{\f29\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f31\fmodern\fcharset161\fprq1 Courier New Greek;}{\f32\fmodern\fcharset162\fprq1 Courier New Tur;} |
4 |
|
|
{\f33\fmodern\fcharset186\fprq1 Courier New Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255; |
5 |
|
|
\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\widctlpar\adjustright \fs20\cgrid \snext0 Normal;}{ |
6 |
|
|
\s1\qc\keepn\widctlpar\outlinelevel0\adjustright \fs28\cgrid \sbasedon0 \snext0 heading 1;}{\s2\keepn\widctlpar\outlinelevel1\adjustright \b\fs28\cgrid \sbasedon0 \snext0 heading 2;}{\s3\keepn\widctlpar\outlinelevel2\adjustright \b\cgrid |
7 |
|
|
\sbasedon0 \snext0 heading 3;}{\*\cs10 \additive Default Paragraph Font;}{\*\cs15 \additive \ul\cf2 \sbasedon10 Hyperlink;}{\s16\widctlpar\adjustright \cgrid \sbasedon0 \snext16 Body Text;}{\s17\widctlpar\adjustright \fs20 \snext17 HTML Body;}{ |
8 |
|
|
\s18\widctlpar\adjustright \f2\fs20 \snext18 HTML Pre-tag;}{\*\cs19 \additive \ul\cf12 \sbasedon10 FollowedHyperlink;}}{\*\listtable{\list\listtemplateid1656108364{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0 |
9 |
|
|
{\leveltext\'03\'00.0;}{\levelnumbers\'01;}\fbias0 \fi-720\li720\jclisttab\tx720 }{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'03\'00.\'01;}{\levelnumbers\'01\'03;}\fbias0 \fi-720\li1440\jclisttab\tx1440 } |
10 |
|
|
{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'05\'00.\'01.\'02;}{\levelnumbers\'01\'03\'05;}\fbias0 \fi-720\li2160\jclisttab\tx2160 }{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat1\levelspace0 |
11 |
|
|
\levelindent0{\leveltext\'07\'00.\'01.\'02.\'03;}{\levelnumbers\'01\'03\'05\'07;}\fbias0 \fi-720\li2880\jclisttab\tx2880 }{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext |
12 |
|
|
\'09\'00.\'01.\'02.\'03.\'04;}{\levelnumbers\'01\'03\'05\'07\'09;}\fbias0 \fi-1080\li3960\jclisttab\tx3960 }{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0b\'00.\'01.\'02.\'03.\'04.\'05;}{\levelnumbers |
13 |
|
|
\'01\'03\'05\'07\'09\'0b;}\fbias0 \fi-1080\li4680\jclisttab\tx4680 }{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0d\'00.\'01.\'02.\'03.\'04.\'05.\'06;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d;}\fbias0 |
14 |
|
|
\fi-1440\li5760\jclisttab\tx5760 }{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\'0f\'00.\'01.\'02.\'03.\'04.\'05.\'06.\'07;}{\levelnumbers\'01\'03\'05\'07\'09\'0b\'0d\'0f;}\fbias0 \fi-1440\li6480 |
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 |
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 |
17 |
|
|
;}\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}} |
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 .}} |
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 (} |
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 |
22 |
|
|
\widctlpar\adjustright \fs20\cgrid {\fs24 File:\tab \tab LibData_Intro.rtf |
23 |
|
|
\par Title:\tab \tab LibData Introduction & Functional Description |
24 |
|
|
\par Author:\tab Paul F. Bramscher brams006@umn.edu |
25 |
|
|
\par Date:\tab \tab January 28, 2004 |
26 |
|
|
\par |
27 |
|
|
\par |
28 |
|
|
\par }\pard\plain \s2\keepn\widctlpar\outlinelevel1\adjustright \b\fs28\cgrid {Table of Contents |
29 |
|
|
\par }\pard\plain \widctlpar\adjustright \fs20\cgrid { |
30 |
|
|
\par }{\fs24 1.0\tab Introduction |
31 |
|
|
\par 2.0\tab System Accounts |
32 |
|
|
\par 3.0\tab Resources |
33 |
|
|
\par 4.0\tab Subjects |
34 |
|
|
\par 5.0\tab Authoring Environments |
35 |
|
|
\par }\pard \li720\widctlpar\adjustright {\fs24 5.1\tab Research QuickStart (RQS) |
36 |
|
|
\par 5.2\tab PageScribe (PS) |
37 |
|
|
\par 5.3\tab CourseLib (CL) |
38 |
|
|
\par }\pard \widctlpar\adjustright {\fs24 6.0\tab Manager Functions |
39 |
|
|
\par 7.0\tab DBA Tools |
40 |
|
|
\par 8.0\tab Statistics |
41 |
|
|
\par 9.0\tab Patron Interfaces |
42 |
|
|
\par 10.0\tab Conclusion / Credits |
43 |
|
|
\par 11.0\tab LibData Licensing |
44 |
|
|
\par |
45 |
|
|
\par |
46 |
|
|
\par }{\b\fs28 1.0\tab Introduction |
47 |
|
|
\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 |
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. |
50 |
|
|
\par |
51 |
|
|
\par The system has two main authoring environments: CourseLib/PageScri |
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 |
53 |
|
|
t |
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 |
55 |
|
|
ss-reference PageScribe pages), and they are added to a customizable two-tier information type ontology. |
56 |
|
|
\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. |
58 |
|
|
|
59 |
|
|
\par |
60 |
|
|
\par It |
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 |
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. |
63 |
|
|
\par |
64 |
|
|
\par Many library-related applications must immediately begin with a discussion on standards. LibData is an exception \endash |
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 |
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 |
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. |
68 |
|
|
\par |
69 |
|
|
\par |
70 |
|
|
\par }\pard\plain \s1\qc\keepn\widctlpar\outlinelevel0\adjustright \fs28\cgrid {Layers of Dependencies With Regard to LibData}{\fs24 |
71 |
|
|
\par }\pard\plain \widctlpar\adjustright \fs20\cgrid {\fs24 |
72 |
|
|
\par |
73 |
|
|
\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 |
74 |
|
|
\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 |
75 |
|
|
\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 |
76 |
|
|
\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 |
77 |
|
|
Technology infrastructure\cell |
78 |
|
|
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 |
79 |
|
|
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 |
80 |
|
|
Relational database model, highly normalized for data integrity and storage efficiency, denormalized w |
81 |
|
|
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 |
82 |
|
|
}\pard \widctlpar\intbl\adjustright {\fs24 Field identification and capture\cell Which descriptive att |
83 |
|
|
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 |
84 |
|
|
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 |
85 |
|
|
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 |
86 |
|
|
\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 |
87 |
|
|
\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 |
88 |
|
|
\brdrs\brdrw10 \cltxlrtb \cellx8748\pard \widctlpar\intbl\adjustright {\fs24 Markup/Display\cell |
89 |
|
|
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 |
90 |
|
|
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 |
91 |
|
|
are created from the inside of a database from the start, they needn\rquote |
92 |
|
|
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 |
93 |
|
|
\widctlpar\intbl\adjustright {\fs24 \row }\pard \widctlpar\adjustright {\fs24 |
94 |
|
|
\par |
95 |
|
|
\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 |
96 |
|
|
applications, has various limitations, and requires knowledgeable staff to get the most out of it. |
97 |
|
|
\par |
98 |
|
|
\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 |
99 |
|
|
re reliable and more customizable (as with any technology) given more staff and levels of expertise. |
100 |
|
|
\par |
101 |
|
|
\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 |
102 |
|
|
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. |
103 |
|
|
\par |
104 |
|
|
\par |
105 |
|
|
\par }{\b\fs28 2.0\tab System accounts |
106 |
|
|
\par }{\fs24 |
107 |
|
|
\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 |
108 |
|
|
7.0 DBA Tools}{\fs24 respectively for functions available to Authors, Managers, and LibData DBA\rquote |
109 |
|
|
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 |
110 |
|
|
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.) |
111 |
|
|
\par |
112 |
|
|
\par }\pard\plain \s3\keepn\widctlpar\outlinelevel2\adjustright \b\cgrid {Session and state handling |
113 |
|
|
\par }\pard\plain \widctlpar\adjustright \fs20\cgrid { |
114 |
|
|
\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 |
115 |
|
|
00d0c9ea79f9bace118c8200aa004ba90b020000001700000036000000680074007400700073003a002f002f007700770077002e0079006f00750072006c006900620072006100720079002e006500640075002f006c006900620064006100740061002f006c006f00670069006e005f006d007900730071006c002e007000 |
116 |
|
|
680074006d006c000000e0c9ea79f9bace118c8200aa004ba90b6c000000680074007400700073003a002f002f007700770077002e0079006f00750072006c006900620072006100720079002e006500640075002f006c006900620064006100740061002f006c006f00670069006e005f006d007900730071006c002e0070 |
117 |
|
|
00680074006d006c00000000000000000000000000000000000000}}}{\fldrslt {\cs15\ul\cf2 https://www.yourlibrary.edu/libdata/login.phtml}}}{\fs24 . Note that it\rquote |
118 |
|
|
s an https (SSL) port. Note also that the logout option is currently only on the Author console (explained further |
119 |
|
|
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 |
120 |
|
|
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 |
121 |
|
|
s assumed that LibData staff are accessing the admini |
122 |
|
|
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 |
123 |
|
|
ng else (higher or lower) as desired (with a minimum of 2 minutes and a maximum of 12 hours as defined in sessionClass.php). |
124 |
|
|
\par |
125 |
|
|
\par }\pard\plain \s3\keepn\widctlpar\outlinelevel2\adjustright \b\cgrid {Visible menus |
126 |
|
|
\par }\pard\plain \widctlpar\adjustright \fs20\cgrid { |
127 |
|
|
\par }{\fs24 There are several access levels: Denied, Guest, Author, Manager, and DBA. Currently only Author, Manager, and DBA a |
128 |
|
|
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 |
129 |
|
|
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. |
130 |
|
|
\par |
131 |
|
|
\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 |
132 |
|
|
\ldblquote DBA Tools\rdblquote (console_dba.phtml). |
133 |
|
|
\par |
134 |
|
|
\par |
135 |
|
|
\par }\pard\plain \s3\keepn\widctlpar\outlinelevel2\adjustright \b\cgrid {Authors |
136 |
|
|
\par |
137 |
|
|
\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. |
138 |
|
|
\par |
139 |
|
|
\par They have the capability to create CLPS pages. They may edit and delete their own pages (page creators a |
140 |
|
|
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 |
141 |
|
|
|
142 |
|
|
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 |
143 |
|
|
on other staff. |
144 |
|
|
\par |
145 |
|
|
\par Within the RQS authoring environment, Authors may create new subjects from the \ldblquote New or Delete\rdblquote |
146 |
|
|
link on the main authoring console, console.phtml. The currently logged in Author is initially assigned to the newly created subject. S/he may |
147 |
|
|
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. |
148 |
|
|
\par |
149 |
|
|
\par }\pard\plain \s3\keepn\widctlpar\outlinelevel2\adjustright \b\cgrid {Managers |
150 |
|
|
\par }\pard\plain \widctlpar\adjustright \fs20\cgrid {\fs24 |
151 |
|
|
\par Managers may create and edit/delete all resources (regardless of whether they created them.) |
152 |
|
|
\par |
153 |
|
|
\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 |
154 |
|
|
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 |
155 |
|
|
rees of managerial rights (being a unit lead or not, and a unit lead over which body of employees). |
156 |
|
|
\par |
157 |
|
|
\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 |
158 |
|
|
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 |
159 |
|
|
w |
160 |
|
|
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) |
161 |
|
|
. |
162 |
|
|
\par |
163 |
|
|
\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 |
164 |
|
|
for additional security (don\rquote t assign passwords containing the single or double-quote characters, since these are problematic from a database perspective). |
165 |
|
|
\par |
166 |
|
|
\par Managers play a role (as discussed earlier) in assigning Author staff to subjects. |
167 |
|
|
\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 |
168 |
|
|
s possible to enter the staff maintenance system, select an in |
169 |
|
|
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 |
170 |
|
|
i |
171 |
|
|
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 |
172 |
|
|
ively. |
173 |
|
|
\par |
174 |
|
|
\par }{\b\fs24 Database Administrators (DBA) |
175 |
|
|
\par }{\fs24 |
176 |
|
|
\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). |
177 |
|
|
\par |
178 |
|
|
\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 |
179 |
|
|
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 |
180 |
|
|
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. |
181 |
|
|
\par |
182 |
|
|
\par In the underlying table structure, each table row typically has a unique ID (primar |
183 |
|
|
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 |
184 |
|
|
unts or rights assigned to them. |
185 |
|
|
\par |
186 |
|
|
\par |
187 |
|
|
\par }{\b\fs28 3.0\tab Resources |
188 |
|
|
\par }{\fs24 |
189 |
|
|
\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. |
190 |
|
|
\par |
191 |
|
|
\par Resources are initially created on the Authoring console by en |
192 |
|
|
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 |
193 |
|
|
n |
194 |
|
|
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 |
195 |
|
|
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. |
196 |
|
|
\par |
197 |
|
|
\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 |
198 |
|
|
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. |
199 |
|
|
\par |
200 |
|
|
\par One the res |
201 |
|
|
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 |
202 |
|
|
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. |
203 |
|
|
\par |
204 |
|
|
\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}{ |
205 |
|
|
) 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). |
206 |
|
|
\par |
207 |
|
|
\par |
208 |
|
|
\par }{\b\fs28 4.0\tab Subjects |
209 |
|
|
\par }{ |
210 |
|
|
\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 |
211 |
|
|
age. They may also be created by Authors by clicking \ldblquote New or Delete\rdblquote on the main console (console.phtml). |
212 |
|
|
\par |
213 |
|
|
\par They should also be associated with one (or more) Master Subjects. For example: |
214 |
|
|
\par Social Sciences (Master Subject) -> Anthropology (Subject). |
215 |
|
|
\par |
216 |
|
|
\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}{). |
217 |
|
|
\par |
218 |
|
|
\par Once a subject has been created, the subject |
219 |
|
|
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 |
220 |
|
|
2.0 System Accounts}{). DBA\rquote s, for example, will see all subjects in the pick-list, Authors the least. |
221 |
|
|
\par |
222 |
|
|
\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}{ |
223 |
|
|
) below. |
224 |
|
|
\par |
225 |
|
|
\par In summary, for a subject to be editable, it must either (a) be a |
226 |
|
|
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 |
227 |
|
|
elf rights to maintain that subject directly. |
228 |
|
|
\par |
229 |
|
|
\par |
230 |
|
|
\par }{\b\fs28 5.0\tab Authoring |
231 |
|
|
\par }{ |
232 |
|
|
\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 |
233 |
|
|
\ldblquote New or Delete\rdblquote below the appropriate pick-list. |
234 |
|
|
\par |
235 |
|
|
\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 |
236 |
|
|
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 |
237 |
|
|
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. |
238 |
|
|
\par |
239 |
|
|
\par Both authoring environments will likely pull heavily from the R |
240 |
|
|
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 |
241 |
|
|
out and selection). Therefore it is recommended that \ldblquote setup\rdblquote |
242 |
|
|
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. |
243 |
|
|
|
244 |
|
|
\par |
245 |
|
|
\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). |
246 |
|
|
\par |
247 |
|
|
\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 |
248 |
|
|
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. |
249 |
|
|
\par |
250 |
|
|
\par |
251 |
|
|
\par }{\i Searching CLPS pages |
252 |
|
|
\par }{ |
253 |
|
|
\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 |
254 |
|
|
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 |
255 |
|
|
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 |
256 |
|
|
s on all CLPS pages. |
257 |
|
|
\par |
258 |
|
|
\par }{\i Drilldowns |
259 |
|
|
\par }{ |
260 |
|
|
\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 |
261 |
|
|
\ldblquote not authorized\rdblquote message when attemp |
262 |
|
|
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 |
263 |
|
|
s assignments. |
264 |
|
|
\par |
265 |
|
|
\par |
266 |
|
|
\par }{\b\fs28 5.1\tab Research QuickStart Authoring |
267 |
|
|
\par }{ |
268 |
|
|
\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 |
269 |
|
|
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 |
270 |
|
|
ult settings during its initial placement on RQS pages. |
271 |
|
|
\par |
272 |
|
|
\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 |
273 |
|
|
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 |
274 |
|
|
thor and the Manager Functions consoles since Location maintains a system-wide controlled vocabulary for its particular data set. |
275 |
|
|
\par |
276 |
|
|
\par Once an RQS subject has been selected for authoring from the main console, console.phtml, the initial screen the following functionality is available. |
277 |
|
|
\par |
278 |
|
|
\par |
279 |
|
|
\par |
280 |
|
|
\par |
281 |
|
|
\par |
282 |
|
|
\par |
283 |
|
|
\par |
284 |
|
|
\par }{\b Preview/Publish Commands |
285 |
|
|
\par }{ |
286 |
|
|
\par }{\i Preview |
287 |
|
|
\par }{ |
288 |
|
|
\par Displays the current RQS subject through the patron interface. Note that this may involve a switch from SSL to non-SSL, depending on LibData installation. Browsers may prompt with some sort of notification box. |
289 |
|
|
\par |
290 |
|
|
\par }{\i Preview Core |
291 |
|
|
\par }{ |
292 |
|
|
\par When resources are added to a page they may be added as a \ldblquote core\rdblquote resource. On the RQS public interface is a link to \ldblquote show only the core resources.\rdblquote |
293 |
|
|
This allows RQS subject authors the ability to create highlighted subsets of the page. Any resource on a page can be switched back and forth from core (see Edit Resources below). |
294 |
|
|
\par |
295 |
|
|
\par }{\i Publish (or unpublish) |
296 |
|
|
\par }{ |
297 |
|
|
\par RQS subject pages are not initially available on the public interface until the RQS page is published. When published, the \ldblquote Publish\rdblquote button is replaced with an \ldblquote Unpublish\rdblquote button. |
298 |
|
|
\par |
299 |
|
|
\par }{\b Add Resource Commands}{ |
300 |
|
|
\par |
301 |
|
|
\par }{\i Limit |
302 |
|
|
\par }{ |
303 |
|
|
\par The resource pick-list can be limited by first letter of the title. Or it may be limited by a substring search on both the title and description, any \ldblquote features\rdblquote assigned to it, or by its master information type \endash |
304 |
|
|
or any permutation of these limits. Clicking the \ldblquote Limit\rdblquote button will limit the pick-list to supplied criteria. |
305 |
|
|
\par |
306 |
|
|
\par }{\i Add\tab \tab \tab \tab \tab |
307 |
|
|
\par }{ |
308 |
|
|
\par This will add the resource to the RQS page. Note that the resource automaticall |
309 |
|
|
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 |
310 |
|
|
category (see edit resources below). |
311 |
|
|
\par |
312 |
|
|
\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 |
313 |
|
|
Google appear twice on a subject page entitled Internet Literacy under the heading WWW Resources -> Web Sites. However, we\rquote |
314 |
|
|
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 |
315 |
|
|
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 |
316 |
|
|
c deletion of the previous instance (enforcing the one time rule of resource per RQS page per information type). |
317 |
|
|
\par }\pard \s16\fi720\li2880\widctlpar\adjustright { |
318 |
|
|
\par }\pard \s16\widctlpar\adjustright {Resources may be selected one at a time (no multiple selects implemented yet). |
319 |
|
|
\par |
320 |
|
|
\par }{\i Add Core |
321 |
|
|
\par }{ |
322 |
|
|
\par Identical performance to Add above, except that the resource is added to the resource is added as a \ldblquote core\rdblquote type resource at the point of addition to the RQS page (and needn\rquote t be toggled as such by editing it later). |
323 |
|
|
\par |
324 |
|
|
\par }{\b Related RQS Pages |
325 |
|
|
\par }{ |
326 |
|
|
\par }{\i Add |
327 |
|
|
\par }{ |
328 |
|
|
\par Other RQS may be associated with an RQS page. This allows additiona |
329 |
|
|
l 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. RQS pages may be selected multiply. |
330 |
|
|
\par |
331 |
|
|
\par }{\i Remove |
332 |
|
|
\par }{ |
333 |
|
|
\par Removes the selected RQS page(s). As with Add, multiple selections are possible.}{\b |
334 |
|
|
\par |
335 |
|
|
\par Related PageScribe Pages |
336 |
|
|
\par }{ |
337 |
|
|
\par }{\i Add |
338 |
|
|
\par }{ |
339 |
|
|
\par PageScribe (but not CourseLib pages) |
340 |
|
|
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. |
341 |
|
|
|
342 |
|
|
\par |
343 |
|
|
\par }{\i Remove |
344 |
|
|
\par }{ |
345 |
|
|
\par Removes the selected PageScribe page(s). As with Add, multiple selections are possible. |
346 |
|
|
\par |
347 |
|
|
\par }{\b Edit Resources |
348 |
|
|
\par }{ |
349 |
|
|
\par }{\i Edit Base Resource |
350 |
|
|
\par }{ |
351 |
|
|
\par This option allows for the editing of the resource itself, which will have system-wide ramifications wherever that resource is used. A common purpose for using this option would be to fix an outdated URL, correct a typographical error, etc. |
352 |
|
|
\par |
353 |
|
|
\par |
354 |
|
|
\par |
355 |
|
|
\par }{\i Edit This Instance |
356 |
|
|
\par }{ |
357 |
|
|
\par Certain characteristics of the resource\rquote s occurrence on this particular RQS page may be tweaked independently of its base/default values, and its occurrence anywhere else in LibData (including on other RQS pages). |
358 |
|
|
\par |
359 |
|
|
\par }\pard \s16\fi720\widctlpar\adjustright {\i Information Type |
360 |
|
|
\par }\pard \s16\widctlpar\adjustright {The resource may be moved to a different slot in the two-tier information hierarchy. |
361 |
|
|
\par |
362 |
|
|
\par \tab }{\i Highlighted/Core Resource |
363 |
|
|
\par }{If the resource was originally added as \ldblquote core\rdblquote or highlighted, it may be unflagged as such \endash or vice-versa. |
364 |
|
|
\par |
365 |
|
|
\par \tab }{\i Use Default Description |
366 |
|
|
\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 |
367 |
|
|
here will result in the changes not going into effect. |
368 |
|
|
\par |
369 |
|
|
\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 |
370 |
|
|
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 |
371 |
|
|
ve allowed for certain c |
372 |
|
|
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 |
373 |
|
|
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. |
374 |
|
|
|
375 |
|
|
\par |
376 |
|
|
\par \tab }{\i This Description |
377 |
|
|
\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 |
378 |
|
|
has been checked to \ldblquote no\rdblquote , a unique description may be supplied here. This unique description will then not be affected by changes to the base record\rquote |
379 |
|
|
s annotation at a later date. It can only be modified by tweaking its occurrence on the RQS page where a unique description was supplied. Note that the title and URL are always dynamically pulled from the base resource record. |
380 |
|
|
\par |
381 |
|
|
\par }{\i Remove |
382 |
|
|
\par }{ |
383 |
|
|
\par Simply removes this instance of the resource from this RQS page. |
384 |
|
|
\par |
385 |
|
|
\par |
386 |
|
|
\par |
387 |
|
|
\par }{\b\fs28 5.2\tab PageScribe Authoring |
388 |
|
|
\par }{ |
389 |
|
|
\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 }{ |
390 |
|
|
\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 |
391 |
|
|
ib pages have their own descriptive fields. |
392 |
|
|
\par |
393 |
|
|
\par General Notes on Page Structure: |
394 |
|
|
\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 |
395 |
|
|
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 |
396 |
|
|
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 |
397 |
|
|
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. |
398 |
|
|
\par |
399 |
|
|
\par Many of the |
400 |
|
|
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 ( |
401 |
|
|
if any) are likewise deleted. Similar rules apply with copying. Note that it\rquote |
402 |
|
|
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. |
403 |
|
|
\par |
404 |
|
|
\par }{\b A word of WARNING:}{ |
405 |
|
|
\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 |
406 |
|
|
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. |
407 |
|
|
\par |
408 |
|
|
\par A broken page is bes |
409 |
|
|
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 |
410 |
|
|
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 |
411 |
|
|
\ldblquote replicate\rdblquote the damaged \ldblquote gene.\rdblquote |
412 |
|
|
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... |
413 |
|
|
\par |
414 |
|
|
\par |
415 |
|
|
\par |
416 |
|
|
\par |
417 |
|
|
\par Programmer\rquote s Note: |
418 |
|
|
\par From the Author console, there is a \ldblquote New or Delete\rdblquote |
419 |
|
|
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 |
420 |
|
|
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 |
421 |
|
|
n |
422 |
|
|
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 |
423 |
|
|
ver, portions of the page may be copied and pasted from one page type to the other. |
424 |
|
|
\par |
425 |
|
|
\par A title must be supplied, and uniqueness is not enforced. Alternately, it is possib |
426 |
|
|
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. |
427 |
|
|
\par |
428 |
|
|
\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. |
429 |
|
|
\par |
430 |
|
|
\par |
431 |
|
|
\par }{\b Overall Page Commands |
432 |
|
|
\par }{ |
433 |
|
|
\par }{\i Create Clone |
434 |
|
|
\par }{ |
435 |
|
|
\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 |
436 |
|
|
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 |
437 |
|
|
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). |
438 |
|
|
\par |
439 |
|
|
\par }{\i Delete Page |
440 |
|
|
\par }{ |
441 |
|
|
\par Deletes the currently loaded page. Authors are prompted with a \ldblquote confirm\rdblquote |
442 |
|
|
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 |
443 |
|
|
tistics before deleting a page if desired before deleting it. |
444 |
|
|
\par |
445 |
|
|
\par }{\i Publish/Unpublish |
446 |
|
|
\par |
447 |
|
|
\par }{The unpublish option becomes available when a page is published and vice-versa. Note that CourseLib pages have an additional requirement: they may not be published unless a Course subject/designator is selected. We\rquote |
448 |
|
|
ve made this a required field for publishing, not so during authoring. |
449 |
|
|
\par }{\i |
450 |
|
|
\par }{Publishing currently makes the most sense for CourseLib pages, which have a corresponding pick-list interface. Unpublished CourseLib pages won\rquote |
451 |
|
|
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 |
452 |
|
|
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 |
453 |
|
|
f this field to display or suppress them from a public user interface as we\rquote ve done with the CourseLib pick-list. |
454 |
|
|
\par |
455 |
|
|
\par Programmer\rquote s Note: One additional effect of publishing is currently commented out in the scribe_application.php scribePublish() function. Lib |
456 |
|
|
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 |
457 |
|
|
|
458 |
|
|
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 |
459 |
|
|
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 |
460 |
|
|
ve tested this functionality, so minor tweaking might be required to get it g |
461 |
|
|
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 |
462 |
|
|
ve had neither the time nor necessity to explore this further, but the f |
463 |
|
|
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. |
464 |
|
|
|
465 |
|
|
\par |
466 |
|
|
\par }{\i Preview |
467 |
|
|
\par }{ |
468 |
|
|
\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 |
469 |
|
|
refresh the currently loaded page after each command, we must destroy browser cache \endash |
470 |
|
|
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 |
471 |
|
|
ve found that the Mozilla browser seems to give less annoying expired cache messages than Internet Explorer. |
472 |
|
|
\par |
473 |
|
|
\par }{\i Show URL\rquote s in Author Mode / Suppress URL\rquote s |
474 |
|
|
\par }{ |
475 |
|
|
\par It may be useful for some authors to see URL\rquote s displayed while they are building a page. This is useful for spot-checking, and gives an idea of what the page may appear like in print-friendly mode (which will display URL\rquote |
476 |
|
|
s). Note that this setting has no effect on the user interface, only on the authoring environment for this particular page. The suppress option becomes available if URL\rquote s are currently display and vice-versa. |
477 |
|
|
\par |
478 |
|
|
\par }{\i Suppress TOC / Activate TOC |
479 |
|
|
\par }{ |
480 |
|
|
\par Pages can have an automatically generated table of contents. This is assembled using root-lev |
481 |
|
|
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. |
482 |
|
|
\par |
483 |
|
|
\par }{\i Wrap / Unwrap TOC |
484 |
|
|
\par }{ |
485 |
|
|
\par Pages with many root |
486 |
|
|
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 |
487 |
|
|
half in the right. |
488 |
|
|
\par |
489 |
|
|
\par }{\i Clear Copy Buffer |
490 |
|
|
\par }{ |
491 |
|
|
\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 |
492 |
|
|
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. |
493 |
|
|
\par |
494 |
|
|
\par One such int |
495 |
|
|
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 |
496 |
|
|
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 |
497 |
|
|
s title, URL, and description (if any) are ins |
498 |
|
|
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 |
499 |
|
|
\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. |
500 |
|
|
|
501 |
|
|
\par |
502 |
|
|
\par This is a particularly complex set of logic, approaching \ldblquote rocket science\rdblquote |
503 |
|
|
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 |
504 |
|
|
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 |
505 |
|
|
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. |
506 |
|
|
\par |
507 |
|
|
\par }{\i Activate Up Anchors / [Up] anchor text / Save [Up] Text |
508 |
|
|
\par }{ |
509 |
|
|
\par For pages with especially long chains of siblings before additional root uncles & aunts are encountered, it may be useful to automatically generate anchors which refer back to the top of the page. The text up the \ldblquote up anchor\rdblquote |
510 |
|
|
may be customized (and the \ldblquote Save [Up] Text\rdblquote button must be clicked. |
511 |
|
|
\par |
512 |
|
|
\par }{\i Apply Style |
513 |
|
|
\par }{ |
514 |
|
|
\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 |
515 |
|
|
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. |
516 |
|
|
\par |
517 |
|
|
\par }{\i Page Font Format |
518 |
|
|
\par }{ |
519 |
|
|
\par Numbers here refer |
520 |
|
|
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 |
521 |
|
|
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. |
522 |
|
|
\par |
523 |
|
|
\par \tab }{\i Level |
524 |
|
|
\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. |
525 |
|
|
\par |
526 |
|
|
\par \tab }{\i Style |
527 |
|
|
\par }{The previously mentioned special span classes in the selected style sheet (li |
528 |
|
|
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 |
529 |
|
|
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 |
530 |
|
|
reduce}{ the font variations possible on a page, since numerous text changes on web pages quickly produce a cluttered rendering. |
531 |
|
|
\par |
532 |
|
|
\par \tab }{\i Apply Format |
533 |
|
|
\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. |
534 |
|
|
\par }{\i Assign Page Staff |
535 |
|
|
\par }{ |
536 |
|
|
\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 |
537 |
|
|
utside of the window) is performed. (This is not an annoying javascript pop-up, but rather an integral part of the authoring mode.) |
538 |
|
|
\par |
539 |
|
|
\par \tab }{\i Reassign Coordinator |
540 |
|
|
\par }{Page creators are the default coordinators. It\rquote s possible to for authors to remove themselves from |
541 |
|
|
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). |
542 |
|
|
DBA\rquote s can reassign coordinators willy-nilly and still have access to the page. |
543 |
|
|
\par |
544 |
|
|
\par \tab }{\i Add/Remove Maintainers |
545 |
|
|
\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. |
546 |
|
|
\par |
547 |
|
|
\par \tab }{\i Close This Window |
548 |
|
|
\par }{This option closes the assign page staff window. It will close automatically if some command is conducted outside the window. |
549 |
|
|
\par |
550 |
|
|
\par |
551 |
|
|
\par }{\b Inline Element & Icon Explanations |
552 |
|
|
\par }{ |
553 |
|
|
\par }{\i Page Title |
554 |
|
|
\par }{ |
555 |
|
|
\par The title of the page may be changed here. Don\rquote |
556 |
|
|
t include HTML tags in the title field. Compare this field with CourseLib titles. CourseLib pages use the title field to store the name of the course. But the full title of any CourseLib page is a concatenation of the following (see }{\b |
557 |
|
|
5.3 CourseLib Authoring}{ for additional comments): |
558 |
|
|
\par |
559 |
|
|
\par \{course subject \endash required to publish\} \{course number\} \{course title\} \{course section\} |
560 |
|
|
\par |
561 |
|
|
\par }{\i Page Header |
562 |
|
|
\par }{ |
563 |
|
|
\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. |
564 |
|
|
\par |
565 |
|
|
\par |
566 |
|
|
\par |
567 |
|
|
\par }{\i Green \ldblquote Plus\rdblquote Icon |
568 |
|
|
\par }{ |
569 |
|
|
\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. |
570 |
|
|
\par The sorts of elements which may be added include the following: Resource, Locatio |
571 |
|
|
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. |
572 |
|
|
\par |
573 |
|
|
\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). |
574 |
|
|
\par |
575 |
|
|
\par Note that newly added elements maintain the title, URL, and description of their source or base table. Libr |
576 |
|
|
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). |
577 |
|
|
\par |
578 |
|
|
\par Free text labels are interesting in that they may contain HTML in both their title and description fields. It\rquote |
579 |
|
|
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. |
580 |
|
|
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 |
581 |
|
|
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 |
582 |
|
|
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. |
583 |
|
|
\par |
584 |
|
|
\par }{\i Yellow Box Icon |
585 |
|
|
\par }{ |
586 |
|
|
\par This is the edit icon. The current element, page title, or CourseLib course-related field may be edited with this command. |
587 |
|
|
\par |
588 |
|
|
\par If the edit command involves a |
589 |
|
|
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 |
590 |
|
|
the changes Saved. Failing to click \ldblquote Save\rdblquote |
591 |
|
|
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 |
592 |
|
|
o longer filter down (except element title and URL if any). It\rquote |
593 |
|
|
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. |
594 |
|
|
\par |
595 |
|
|
\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 |
596 |
|
|
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). |
597 |
|
|
\par |
598 |
|
|
\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 |
599 |
|
|
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. |
600 |
|
|
\par |
601 |
|
|
\par Note that deleting a source record in the resource, service, location or staff tables results in behind-the-scen |
602 |
|
|
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). |
603 |
|
|
\par |
604 |
|
|
\par }{\i Red Box Icon |
605 |
|
|
\par }{ |
606 |
|
|
\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 |
607 |
|
|
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 |
608 |
|
|
as parents. This has a cascade effect along the lineage, promoting each generation by one level. |
609 |
|
|
\par |
610 |
|
|
\par }{\i Copy (Page/Page) Icon |
611 |
|
|
\par }{ |
612 |
|
|
\par Elements may be copied individually or, if children are present, the entire lineage as a group may be copied. Each user has a buffer unique to them, and it remains even after the user has logged out. In fact, it\rquote |
613 |
|
|
ll remain into perpetuity until the user account itself is deleted. Copying an element(s) causes the \ldblquote clear copy buffer\rdblquote |
614 |
|
|
button to become available in the overall page commands table, and places a paste icon (see below) next to any legal add position. |
615 |
|
|
\par |
616 |
|
|
\par Programmer\rquote s Note: |
617 |
|
|
\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 |
618 |
|
|
ction only when it warrants, and not hold buffers into perpetuity. Although we\rquote |
619 |
|
|
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 |
620 |
|
|
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 |
621 |
|
|
t run out of gas in the process... |
622 |
|
|
\par |
623 |
|
|
\par |
624 |
|
|
\par |
625 |
|
|
\par }{\i Paste (Page/Clipboard) Icon |
626 |
|
|
\par }{ |
627 |
|
|
\par If one or more elements are currently in the user\rquote |
628 |
|
|
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. |
629 |
|
|
\par |
630 |
|
|
\par }{\i Style [X] [1] [2] [3] [4] [5] |
631 |
|
|
\par }{ |
632 |
|
|
\par This corresponds to the Page Font Format detailed in Overall Page Commands above. Rather than setting elements of a particular generation en masse, they may also be tweaked individually with this method. |
633 |
|
|
\par |
634 |
|
|
\par The numbers 1-5 correspond with underlying style classes S1, S2, S3, S4, and S5 that a Manager has developed (according to suggestions in the LibData Customization document) in the currently selected page style. So there are really two meanings of |
635 |
|
|
\ldblquote styles.\rdblquote The page style itself, which encompasses a header, footer, and CSS. And the particular style class (S1-5) which should be applied to a particular element. Note that \ldblquote x\rdblquote |
636 |
|
|
denotes no style. The currently selected style will be boldened to set it apart from the others. |
637 |
|
|
\par |
638 |
|
|
\par }{\i Up Arrow / Down Arrow |
639 |
|
|
\par }{ |
640 |
|
|
\par Elements may be moved up or down to swap places with a peer sibling. This has the effect of moving all descendants (if any) along with the element moved. These arrows are available only where such moves are legal. |
641 |
|
|
\par |
642 |
|
|
\par |
643 |
|
|
\par }{\b\fs28 5.3\tab CourseLib |
644 |
|
|
\par }{ |
645 |
|
|
\par }{\b Relationship to PageScribe |
646 |
|
|
\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 |
647 |
|
|
appear on the public side CourseLib interface) and }{\i Page Titles}{ of CourseLib pages have been discussed above. |
648 |
|
|
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 ( |
649 |
|
|
if supplied), course title (required), and course section (if supplied). |
650 |
|
|
\par |
651 |
|
|
\par }{\b Additional Fields |
652 |
|
|
\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. |
653 |
|
|
\par |
654 |
|
|
\par }{\b Adding Personnel |
655 |
|
|
\par }{Requiring further explanation here is the Add Personnel feature. This is not to be confused with page staff (those who may have the ability to edit/delete this page), but rather instructor personnel associated with the CourseLib page. |
656 |
|
|
\par |
657 |
|
|
\par A title (e.g. professor, lecturer, etc.) may be chosen}{\b . }{Refer }{\b to 6.0 Manager Functions }{\i Staff Title }{ |
658 |
|
|
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. |
659 |
|
|
\par |
660 |
|
|
\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 |
661 |
|
|
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}{ |
662 |
|
|
. This limitation was programmed deliberately. Once the firstname/lastname/directory account/email have been fill |
663 |
|
|
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 |
664 |
|
|
s are expendable. Note that they may still be searched by name substring from the CLPS administrative search screen \endash |
665 |
|
|
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. |
666 |
|
|
\par |
667 |
|
|
\par |
668 |
|
|
\par }{\b\fs28 6.0\tab Manager Functions |
669 |
|
|
\par }{ |
670 |
|
|
\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 |
671 |
|
|
mapping tables which provide a controlled vocabulary and maintain relationships between various sorts of data. |
672 |
|
|
\par |
673 |
|
|
\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 |
674 |
|
|
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. |
675 |
|
|
\par |
676 |
|
|
\par }{\b IMPORTANT}{: Many tables have an initial \ldblquote (N/A)\rdblquote |
677 |
|
|
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 |
678 |
|
|
le, in addition, has a special slot (#2) for the System Administrator. Occasionally there may also be an \ldblquote All\rdblquote |
679 |
|
|
category. Generally these should be left alone and in most cases are not even displayed for editing purposes. But anyone going into the mySQL |
680 |
|
|
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 |
681 |
|
|
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 . |
682 |
|
|
\par |
683 |
|
|
\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 |
684 |
|
|
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 |
685 |
|
|
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 |
686 |
|
|
\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 |
687 |
|
|
\rdblquote in the subject field would bring up a quick list of An |
688 |
|
|
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. |
689 |
|
|
\par |
690 |
|
|
\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 |
691 |
|
|
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 |
692 |
|
|
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 |
693 |
|
|
source form as the HTML is redrawn from the back-end database. Some user training is essential here to avoid this. |
694 |
|
|
\par |
695 |
|
|
\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 |
696 |
|
|
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. |
697 |
|
|
\par |
698 |
|
|
\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 |
699 |
|
|
\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. |
700 |
|
|
\par |
701 |
|
|
\par }{\i Information Type |
702 |
|
|
\par }{ |
703 |
|
|
\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 |
704 |
|
|
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 |
705 |
|
|
re adequate for our purposes. Information Types are associated with a General (Master) Information Type and a General (Master) Subject. |
706 |
|
|
\par |
707 |
|
|
\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 |
708 |
|
|
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 |
709 |
|
|
s base information type and then, in turn, hunting for its general information type. So properly assigning resources to an information type, and building the associations are essential and reduce work in the long run. |
710 |
|
|
\par |
711 |
|
|
\par }{\i General Information Type |
712 |
|
|
\par }{ |
713 |
|
|
\par Information types are associated with exactly one General (Master) Information Type. This is the genus portion of the information hierarchical consideration. |
714 |
|
|
\par |
715 |
|
|
\par }{\i Subject |
716 |
|
|
\par }{ |
717 |
|
|
\par These correspond to RQS subject pages. Note that subjects can be assigned a primary location and description \endash these are both used by RQS to draw public side pages. Once the subject has been saved, additional forms become available. |
718 |
|
|
\par |
719 |
|
|
\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. |
720 |
|
|
\par |
721 |
|
|
\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 |
722 |
|
|
dundantly select a location for both primary and secondary. |
723 |
|
|
\par |
724 |
|
|
\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. |
725 |
|
|
\par |
726 |
|
|
\par Mapping to CIP codes requires some explanation \endash at the University of Minnesota we\rquote |
727 |
|
|
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 |
728 |
|
|
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 |
729 |
|
|
rt of the LibData open source release. But the basic concept involves simple \ldblquote listening\rdblquote and \ldblquote sending\rdblquote |
730 |
|
|
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 |
731 |
|
|
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. |
732 |
|
|
\par |
733 |
|
|
\par }{\i General Subject |
734 |
|
|
\par }{ |
735 |
|
|
\par The very broad research areas which may contain one or more base subjects within. |
736 |
|
|
\par |
737 |
|
|
\par }{\i Location |
738 |
|
|
\par }{ |
739 |
|
|
\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 |
740 |
|
|
s description on CLPS pages. |
741 |
|
|
\par |
742 |
|
|
\par |
743 |
|
|
\par |
744 |
|
|
\par |
745 |
|
|
\par }{\i Feature |
746 |
|
|
\par }{ |
747 |
|
|
\par This is a generic catch- |
748 |
|
|
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 |
749 |
|
|
iate icon(s) are displayed (with underlying ALT text) alongside the resource title. |
750 |
|
|
\par |
751 |
|
|
\par |
752 |
|
|
\par |
753 |
|
|
\par }{\i Service |
754 |
|
|
\par }{ |
755 |
|
|
\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 |
756 |
|
|
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 |
757 |
|
|
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. |
758 |
|
|
\par |
759 |
|
|
\par }{\i Service Type |
760 |
|
|
\par }{ |
761 |
|
|
\par See discussion of Services above. This allows specific services to be grouped together into clusters based on business/functional or some other similarity. |
762 |
|
|
\par |
763 |
|
|
\par }{\i PageScribe Style |
764 |
|
|
\par }{ |
765 |
|
|
\par This is discussed at length in the LibData Customization document. Of special interest here is that LibData currently does no error-checking o |
766 |
|
|
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 |
767 |
|
|
t |
768 |
|
|
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 |
769 |
|
|
orresponding SPAN classes in the supplied CSS. Beyond this, anything may be customized in the CSS file. |
770 |
|
|
\par |
771 |
|
|
\par }{\i Campus |
772 |
|
|
\par }{ |
773 |
|
|
\par Used when creating CourseLib pages. |
774 |
|
|
\par |
775 |
|
|
\par |
776 |
|
|
\par }{\i Term |
777 |
|
|
\par }{ |
778 |
|
|
\par Academic term. Also used when creating CourseLib pages. |
779 |
|
|
\par |
780 |
|
|
\par }{\i Course Subjects |
781 |
|
|
\par }{ |
782 |
|
|
\par The list of subjects, typically accompanied with abbreviation by most all academic institutions. They may be assigned to a specific campus as well. CIP code is optional and not currently used by LibData. However, refer to the discussion under }{\i |
783 |
|
|
Subjects }{in this section for how a mapping between Course Subjects and RQS subjects might facilitate some interesting portal functionality. |
784 |
|
|
\par |
785 |
|
|
\par }{\i Faculty |
786 |
|
|
\par }{ |
787 |
|
|
\par These are used on CourseLib pages and may be assigned/removed from those pages as desired. |
788 |
|
|
\par |
789 |
|
|
\par }{\i Staff Title |
790 |
|
|
\par }{ |
791 |
|
|
\par A list of |
792 |
|
|
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 |
793 |
|
|
a |
794 |
|
|
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 |
795 |
|
|
seLib page, the title of the staff person as it appears in the Manager Functions staff table is }{\i not}{ |
796 |
|
|
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. |
797 |
|
|
\par |
798 |
|
|
\par }{\i Library Units |
799 |
|
|
\par }{ |
800 |
|
|
\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 |
801 |
|
|
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.) |
802 |
|
|
\par |
803 |
|
|
\par }{\i Staff |
804 |
|
|
\par }{ |
805 |
|
|
\par \tab }{\i Manage Staff |
806 |
|
|
\par }{This option brings up a tabular list of all staff currently part |
807 |
|
|
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. |
808 |
|
|
\par |
809 |
|
|
\par The setting and purging of passwords. |
810 |
|
|
\par |
811 |
|
|
\par The assignme |
812 |
|
|
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 |
813 |
|
|
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. |
814 |
|
|
\par |
815 |
|
|
\par \tab }{\i RQS Assignments |
816 |
|
|
\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 |
817 |
|
|
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. |
818 |
|
|
\par |
819 |
|
|
\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 |
820 |
|
|
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 |
821 |
|
|
ect vs. on a particular staffperson). |
822 |
|
|
\par |
823 |
|
|
\par |
824 |
|
|
\par }{\b\fs28 7.0\tab DBA Tools |
825 |
|
|
\par }{ |
826 |
|
|
\par }{\i RQS Subject <-> CIP Code Crosswalk |
827 |
|
|
\par }{ |
828 |
|
|
\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}{ |
829 |
|
|
, 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 |
830 |
|
|
d the need arise. |
831 |
|
|
\par |
832 |
|
|
\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 |
833 |
|
|
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 |
834 |
|
|
ch institution\rquote s unique situation. |
835 |
|
|
\par |
836 |
|
|
\par }{\i Resources Lacking Default Information Types |
837 |
|
|
\par }{ |
838 |
|
|
\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 |
839 |
|
|
pages, and will always need to be moved manually out of the (N/A) category into something that makes sense. |
840 |
|
|
\par |
841 |
|
|
\par }{\i LibData System Status |
842 |
|
|
\par }{ |
843 |
|
|
\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 |
844 |
|
|
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. |
845 |
|
|
\par |
846 |
|
|
\par }{\i CourseLib Debugger |
847 |
|
|
\par }{ |
848 |
|
|
\par Select the desired CourseLib page and run several integrity tests on it. If a page begins to behave poorly, it\rquote |
849 |
|
|
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. |
850 |
|
|
\par |
851 |
|
|
\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! }{ |
852 |
|
|
Thus, the best way to avoid this problem is to distribute authoring assignments carefully. Should a page become |
853 |
|
|
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 |
854 |
|
|
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.) |
855 |
|
|
|
856 |
|
|
\par |
857 |
|
|
\par If the debugger locates an error, some information about the nature of th |
858 |
|
|
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: |
859 |
|
|
\par |
860 |
|
|
\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. |
861 |
|
|
\par (2)\tab Delete orphaned elements and their children. Simply remove the problematic element and its lineage. |
862 |
|
|
\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. |
863 |
|
|
\par |
864 |
|
|
\par After whicheve |
865 |
|
|
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 |
866 |
|
|
again \endash or perhaps a more severe method (#2 or #3) might be employed. |
867 |
|
|
\par |
868 |
|
|
\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 |
869 |
|
|
t a high priority item. |
870 |
|
|
\par |
871 |
|
|
\par }{\i PageScribe Debugger |
872 |
|
|
\par }{ |
873 |
|
|
\par Same as above, but the pick list produces PageScribe pages only. |
874 |
|
|
\par |
875 |
|
|
\par |
876 |
|
|
\par }{\b\fs28 8.0\tab Statistics |
877 |
|
|
\par }{ |
878 |
|
|
\par }{\b Levels of Statistics & Trade-offs |
879 |
|
|
\par }{There are two main methods at collecting statistics in LibData. Every time a CLPS page is loaded, an entry is logged in the libstats table. Every time an RQS subject page is loaded, an entry is logged for it as well. With CLPS we\rquote |
880 |
|
|
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. |
881 |
|
|
\par |
882 |
|
|
\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 |
883 |
|
|
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 |
884 |
|
|
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. |
885 |
|
|
\par |
886 |
|
|
\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. |
887 |
|
|
\par |
888 |
|
|
\par }{\b A word of general caution |
889 |
|
|
\par }{The statistics tables were purposely stored into a separate database (libstats) because they grow at unpredictable rates. And performance may become an issue on the dynamic \ldblquote roll up\rdblquote |
890 |
|
|
screen display all pages and element utilization per page. If this happens, a number of options are available: |
891 |
|
|
\par |
892 |
|
|
\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). |
893 |
|
|
\par |
894 |
|
|
\par (2)\tab Some programming modifications might be done to the statistics \ldblquote roll up\rdblquote page which displays all element utilization \endash |
895 |
|
|
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. |
896 |
|
|
\par |
897 |
|
|
\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. |
898 |
|
|
\par |
899 |
|
|
\par }{\b Relational Comments |
900 |
|
|
\par }{Elements in the statistics tables are still tied, relationally, to their source records. If Google, for example, i |
901 |
|
|
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 |
902 |
|
|
re working on various solutions. |
903 |
|
|
\par |
904 |
|
|
\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 |
905 |
|
|
s not a security risk to grant PHP the ability to interact at this level with the file system... |
906 |
|
|
\par |
907 |
|
|
\par |
908 |
|
|
\par }{\b\fs28 9.0\tab Patron Interfaces |
909 |
|
|
\par }{ |
910 |
|
|
\par The following public interface pages/modes are currently enabled with this release of LibData. In-house pages may be easily developed |
911 |
|
|
with basic SQL queries. For example, a page to display, in tabular format, all libraries and their telephone numbers is trivial \endash |
912 |
|
|
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. |
913 |
|
|
\par |
914 |
|
|
\par }{\b RQS Subject Selection Page (subjects.phtml) |
915 |
|
|
\par }{ |
916 |
|
|
\par Users select from the combo-box which RQS subject page they\rquote d like to view, or limit the box to subjects beginning with a particular letter A through Z. |
917 |
|
|
\par |
918 |
|
|
\par }{\b RQS Subject Page (rqs.phtml) |
919 |
|
|
\par }{ |
920 |
|
|
\par The RQS page itself. This is the default page: for screen display, and all resources associated with this particular subject. Note that there are 4 permutations possible, based on values of incoming URL parameters \ldblquote core\rdblquote and |
921 |
|
|
\ldblquote pf\rdblquote . |
922 |
|
|
\par |
923 |
|
|
\par screen & all resources\tab \tab Default rendering. |
924 |
|
|
\par }\pard \s16\fi-2880\li2880\widctlpar\adjustright {screen & core only\tab Display only highlighted or \ldblquote core\rdblquote resources (refer to 5.1 RQS Authoring). |
925 |
|
|
\par }\pard \s16\widctlpar\adjustright {print-friendly & all resources\tab This version omits the table of contents and page header |
926 |
|
|
\par \tab \tab \tab \tab (which will likely contain institutional graphics, logo, etc.). |
927 |
|
|
\par print-friendly & core only\tab The print-friendly version of only highlighted or \ldblquote core\rdblquote |
928 |
|
|
\par \tab \tab \tab \tab identified resources. |
929 |
|
|
\par |
930 |
|
|
\par }{\b CourseLib Selection Page (courses.phtml) |
931 |
|
|
\par }{ |
932 |
|
|
\par Shows a pick-list available CourseLib (not PageScribe) pages in the |
933 |
|
|
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 |
934 |
|
|
criteria or not, and loads the specified CourseLib page. |
935 |
|
|
\par |
936 |
|
|
\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 |
937 |
|
|
ot yet found the need to create a pick list of them. Such a list would be easy to make, however. |
938 |
|
|
\par |
939 |
|
|
\par }{\b CourseLib / PageScribe Page (page.phtml) |
940 |
|
|
\par }{ |
941 |
|
|
\par This PHP file loads CourseLib and PageScribe pages, based on an incoming page_id parameter. |
942 |
|
|
\par |
943 |
|
|
\par }{\b CourseLib / PageScribe Print-Friendly Version (page_print.phtml) |
944 |
|
|
\par }{ |
945 |
|
|
\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 |
946 |
|
|
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 |
947 |
|
|
copy. |
948 |
|
|
\par |
949 |
|
|
\par |
950 |
|
|
\par }{\b\fs28 10.0\tab Conclusion & Credits |
951 |
|
|
\par }{ |
952 |
|
|
\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 |
953 |
|
|
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 |
954 |
|
|
y the programmer on the project. |
955 |
|
|
\par |
956 |
|
|
\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 |
957 |
|
|
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 |
958 |
|
|
e. Most likely, LibData will 2.0 will see a mid-winter to early spring rollout in 2004. |
959 |
|
|
\par |
960 |
|
|
\par Core LibData design staff at the University of Minnesota: |
961 |
|
|
\par |
962 |
|
|
\par Paul Bramscher (LibData programmer) }{\field\fldedit{\*\fldinst { HYPERLINK "mailto:brams006@tc.umn.edu" }{\fs20 {\*\datafield |
963 |
|
|
00d0c9ea79f9bace118c8200aa004ba90b0200000017000000140000006200720061006d0073003000300036004000740063002e0075006d006e002e006500640075000000e0c9ea79f9bace118c8200aa004ba90b360000006d00610069006c0074006f003a006200720061006d0073003000300036004000740063002e00 |
964 |
|
|
75006d006e002e00650064007500000000000000000000}}}{\fldrslt {\cs15\ul\cf2 brams006@umn.edu}}}{ |
965 |
|
|
\par Shane Nackerud (Web Services Coordinator) }{\field\fldedit{\*\fldinst { HYPERLINK "mailto:snackeru@tc.umn.edu" }{\fs20 {\*\datafield |
966 |
|
|
00d0c9ea79f9bace118c8200aa004ba90b02000000170000001400000073006e00610063006b006500720075004000740063002e0075006d006e002e006500640075000000e0c9ea79f9bace118c8200aa004ba90b360000006d00610069006c0074006f003a0073006e00610063006b006500720075004000740063002e00 |
967 |
|
|
75006d006e002e00650064007500000000000000000000}}}{\fldrslt {\cs15\ul\cf2 snackeru@umn.edu}}}{ |
968 |
|
|
\par John Butler (Digital Library Development Laboratory Lead) }{\field\fldedit{\*\fldinst { HYPERLINK "mailto:j-butl@tc.umn.edu" }{\fs20 {\*\datafield |
969 |
|
|
00d0c9ea79f9bace118c8200aa004ba90b0200000017000000120000006a002d006200750074006c004000740063002e0075006d006e002e006500640075000000e0c9ea79f9bace118c8200aa004ba90b320000006d00610069006c0074006f003a006a002d006200750074006c004000740063002e0075006d006e002e00 |
970 |
|
|
650064007500000000000000000000}}}{\fldrslt {\cs15\ul\cf2 j-butl@umn.edu}}}{ |
971 |
|
|
\par Kate McCready (Reference Librarian) }{\field{\*\fldinst { HYPERLINK mailto:mccre008@umn.edu }{\fs20 {\*\datafield |
972 |
|
|
00d0c9ea79f9bace118c8200aa004ba90b0200000017000000110000006d006300630072006500300030003800400075006d006e002e006500640075000000e0c9ea79f9bace118c8200aa004ba90b300000006d00610069006c0074006f003a006d006300630072006500300030003800400075006d006e002e0065006400 |
973 |
|
|
7500000000000000000000}}}{\fldrslt {\cs15\ul\cf2 mccre008@umn.edu}}}{ |
974 |
|
|
\par }\pard\plain \widctlpar\adjustright \fs20\cgrid {\fs24 Jen Tantzen (Interface Designer) }{\field\flddirty{\*\fldinst {\fs24 HYPERLINK mailto:tantz003@umn.edu }{{\*\datafield |
975 |
|
|
00d0c9ea79f9bace118c8200aa004ba90b020000001700000011000000740061006e0074007a00300030003300400075006d006e002e006500640075000000e0c9ea79f9bace118c8200aa004ba90b300000006d00610069006c0074006f003a00740061006e0074007a00300030003300400075006d006e002e0065006400 |
976 |
|
|
7500000000000000000000}}}{\fldrslt {\cs15\fs24\ul\cf2 tantz003@umn.edu}}}{\fs24 |
977 |
|
|
\par }\pard\plain \s16\widctlpar\adjustright \cgrid { |
978 |
|
|
\par |
979 |
|
|
\par |
980 |
|
|
\par |
981 |
|
|
\par Additional members of the LibData Design Committee |
982 |
|
|
\par |
983 |
|
|
\par }\pard\plain \s17\widctlpar\adjustright \fs20 {\fs24 Laura Dale Bischof |
984 |
|
|
\par Tammy Bobrowsky |
985 |
|
|
\par Andrea Halverson |
986 |
|
|
\par }\pard\plain \s16\widctlpar\adjustright \cgrid {Laurie Nelsen |
987 |
|
|
\par |
988 |
|
|
\par |
989 |
|
|
\par }{\b\fs28 11.0\tab LibData Licensing |
990 |
|
|
\par }{ |
991 |
|
|
\par LibData is released under GPL (}{\field{\*\fldinst { HYPERLINK http://www.gnu.org/licenses/gpl.html }{\fs20 {\*\datafield |
992 |
|
|
00d0c9ea79f9bace118c8200aa004ba90b02000000170000002500000068007400740070003a002f002f007700770077002e0067006e0075002e006f00720067002f006c006900630065006e007300650073002f00670070006c002e00680074006d006c000000e0c9ea79f9bace118c8200aa004ba90b4a00000068007400 |
993 |
|
|
740070003a002f002f007700770077002e0067006e0075002e006f00720067002f006c006900630065006e007300650073002f00670070006c002e00680074006d006c000000000000}}}{\fldrslt {\cs15\ul\cf2 http://www.gnu.org/licenses/gpl.html}}}{ |
994 |
|
|
) 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. |
995 |
|
|
\par |
996 |
|
|
\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/. |
997 |
|
|
\par |
998 |
|
|
\par }} |