Download Metadata specification for the mandate system at John Wheatley

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Microsoft Jet Database Engine wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Database model wikipedia , lookup

Transcript
Metadata specification for the mandate system at
John Wheatley College
Note: this specification is still under development and is incomplete.
Version
Date
5.7
May 2006
1
Metadata specification for the mandate system at John Wheatley College
1
1.1
System overview
Aim
The mandate system is intended to support the publication of locally produced digital
assets and the better management of non-college generated digital assets by John
Wheatley College (JWC). This will provide wider access to these assets through a
one-stop-shop web interface and through exporting to the library system.
1.2
Technical setting
Metadata is stored on SQL Server 2000 running on Windows 2003 Server.
Asp.net is used as the development language to promote simplicity of interaction with
Active directory and other windows components.
The minimum specification for web browsers accessing the system is Internet
Explorer 6 at 800x600 pixels screen size.
1.3
Overview of integration with other College systems
Unit-e
Active Directory
Query for
curriculum update
mandate
Query for
agent update
Query for
user id
Diagram: Overview of relationships with other college systems
There are two interactions with Active Directory. One is a periodic (weekly or daily)
update of the agent table; the other is “constant” capture of the user id for audit trail
purposes. Active Directory groups also control permissions to perform actions on the
database and which menus and options are visible to the user.
The single interaction with Unit-e is a periodic extraction of relevant metadata into
local tables.
2
Metadata specification for the mandate system at John Wheatley College
2
2.1
Generic metadata
Identifiers
Local identifiers are generated and held in the database as table record numbers.
Local identifiers are not re-used if the table row is deleted, and are thus persistent.
Global and persistent identifiers are necessary for export functions. Currently there is
no consensus in the international community on the best approach to take.
For the time being, the method employed by the Centre for Digital Library Research
(CDLR) as part of the CCInterop project will be used. CDLR was faced with a similar
problem in creating unique, persistent identifiers for collection-level description
records exported from the Scottish Collections Network (SCONE) database. In
particular, this required the creation of a Uniform Resource Name (URN) as an
identifier for records exported in Resource Description Framework (RDF) syntax.
This was accomplished by taking the URL of the service website and appending the
table name and record number of the relevant data. For JWC, this gives a
constructor of
www.jwheatley.ac.uk/[system_name]/[table_name]/[record_number].
The resulting pseudo-URL is obviously not resolvable but does provide a guaranteed
unique and persistent identifier for the the item.
As an example, the minutes of a meeting might have the global identifier
www.jwheatley.ac.uk/mandate/asset/27
2.2
Dates
Dates use the client-side input mask dd-mm-yyyy.
Date fields within the SQL Server database use the SmallDateTime data type.
Note that the data element for time-of-meeting is currently stored in a separate text
field while further consideration is given to integration with college calendar systems.
The date of record creation is taken from the current system date.
3
Metadata specification for the mandate system at John Wheatley College
3
Database structure
3.1
Entity-relationship diagram
The following is a high-level entity-relationship diagram for the Agent, Asset and
(Programme) Unit entities.
Agent-Group
Contains
Agent
Curriculum
Interacts-With
Contains
Asset
Programme
Is-Associated-With-Unit
Contains
Unit
3.2
Tables
Metadata is stored in the following relational tables.
Field
Type
Asset
asset_id
title
publisher
date_of_pub
asset_notes
keywords
visible
retired
filename/uri
subtable_key
asset_status_id
Main table
int
nvarchar
nvarchar
smalldatetime
ntext
nvarchar?
bit
bit
nvarchar
int
int
Size
Notes
Primary key.
Secondary key.
Secondary key.
4
Metadata specification for the mandate system at John Wheatley College
asset_type_id
asset_category_id
int
int
CollegePublication
college_publication_id
meeting_date
meeting_time
agenda_item
meeting_location_id
Sub-table
int
smalldatetime
nvarchar
int?
int
AssociatedPaper
associated_paper_id
meeting_date
agenda_item
Sub-table
int
smalldatetime
int?
QualityDocument
quality_document_id
meeting_date
programme_id
ExternalLearningMaterial
external_learning_material_id
learning_time
educational_desc
summary
Sub-table
int
Primary key.
smalldatetime
Mask: dd-mm-yyyy.
int
Secondary key.
Sub-table.
Keep separate from ExternalLearningMaterial to
allow future changes in structure.
int
Primary key.
nvarchar
ntext
ntext
Sub-table.
Keep separate from InternalLearningMaterial to
allow future changes in structure.
int
Primary key.
nvarchar
ntext
ntext
AssetCategory
asset_category_id
asset_category_name
asset_category_notes
Lookup table.
int
nvarchar
ntext
AssetType
asset_type_id
asset_ type _name
asset_category_id
Lookup table.
int
nvarchar
int
AssetStatus
asset_status_id
asset_ status _name
asset_category_id
Lookup table.
int
nvarchar
int
Programme
programme_id
Lookup table
int
InternalLearningMaterial
internal_learning_material_id
learning_time
educational_desc
summary
Secondary key.
Secondary key.
Primary key.
Mask: dd-mm-yyyy.
Secondary key.
Primary key.
Mask:dd-mm-yyyy.
Primary key.
Primary key.
Secondary key.
Primary key.
Secondary key.
Primary key.
5
Metadata specification for the mandate system at John Wheatley College
programme_name
programme_code
curricular_area_id
nvarchar
nvarchar
int
CurricularArea
curricular_area_id
curricular_area_name
Lookup table
int
nvarchar
Unit
unit_id
ue_unit_name
ue_unit_code
superclass
moderation_group
Lookup table
int
nvarchar
nvarchar
nvarchar
nvarchar
IsPartOfProgramme
is_part_of_programme_id
programme_id
unit_id
Linking table
int
int
int
Primary key.
Secondary key.
Secondary key.
IsPartOfUnit
is_part_of_unit_id
asset_id
unit_id
Linking table
int
int
int
Primary key.
Secondary key.
Secondary key.
Agent
agent_id
is_personal
current_status
first_date
last_updated
subtable_key
Main table
int
bit
bit
smalldatetime
smalldatetime
int
PersonalAgent
personal_agent_id
forename
surname
active_directory_id
Sub-table
int
nvarchar
nvarchar
int?
CorporateAgent
corporate_agent_id
corporate_name
corporate_abbr
Sub-table
int
nvarchar
nvarchar
AgentGroup
agent_group_id
group_name
group_scope
note
Lookup table
int
nvarchar
ntext
ntext
IsPartOfGroup
Linking table
Secondary key.
Primary key.
Primary key.
Primary key.
Mask: dd-mm-yyyy.
Mask: dd-mm-yyyy.
Secondary key.
Primary key.
Primary key.
Primary key.
6
Metadata specification for the mandate system at John Wheatley College
is_part_of_group_id
agent_group_id
agent_id
int
int
int
InteractsWith
interacts_with_id
agent_id
asset_id
role_id
Linking table
int
int
int
int
Role
role_id
role_name
role_notes
Lookup table
int
nvarchar
ntext
AuditTrail
audit_trail_id
time_of_update
agent_id
asset_id
transaction_type_id
int
smalldatetime
int
int
int
TransactionType
transaction_type_id
transaction_name
Lookup table
int
nvarchar
3.3
Primary key.
Secondary key.
Secondary key.
Secondary key.
Primary key.
Primary key.
Secondary key.
Secondary key.
Secondary key.
Primary key.
Completeness
The table structures are not complete; further fields and relationships are likely to be
added as a result of feedback and review.
Field types may require changing.
Field sizes may require changing.
3.4
Hierarchical tables
Two entities use hierarchical tables: Agent and Asset.
Agent has two sub-tables: PersonalAgent and CorporateAgent, each with a
different field structure.
The main Agent table is linked to the relevant sub-table via the secondary key
subtable_id. A Boolean flag (Agent.is_personal) indicates whether the sub-table is
the PersonalAgent table or not.
Asset has five sub-tables: CollegePublication, AssociatedPaper,
QualityDocument, InternalLearningMaterial, and ExternalLearningMaterial.
The main Asset table is linked to the relevant sub-table via the secondary key
subtable_id. The sub-table is inferred from the Asset.asset_type_id field linked to
the AssetCategory table which lists the five categories of asset.
7
Metadata specification for the mandate system at John Wheatley College
All relationships with other tables use the primary keys agent_id or asset_id as
appropriate.
8
Metadata specification for the mandate system at John Wheatley College
4
Key:
Data sources
s = system
o = operator
x = external
Field
Source Notes
Asset
asset_id
title
s
o, s
publisher
date_of_pub
o, s
o, s
asset_notes
keywords
visible
retired
filename/uri
subtable_key
o
o
o
o
o, s
s
asset_status_id
s
asset_type_id
asset_category_id
s
s
CollegePublication
college_publication_id
meeting_date
meeting_time
agenda_item
meeting_location_id
s
o
o
o
s
Autonumber; not reused.
AssociatedPaper
associated_paper_id
meeting_date
agenda_item
s
o
o
Autonumber; not reused.
QualityDocument
quality_document_id
meeting_date
programme_id
s
o
s
Autonumber; not reused.
InternalLearningMaterial
internal_learning_material_id
learning_time
educational_desc
summary
s
o
o
o
Autonumber; not reused.
From subtable record for some categories
of asset.
Literal for some categories of asset.
System date of first save for some
categories of asset.
Default: No.
Default: No.
From primary key of corresponding
subtable record.
Literal, or from list option selected by
operator
From list option selected by operator.
From menu option selected by operator.
From list option selected by operator.
From list option selected by operator.
Autonumber; not reused.
From list option selected by operator.
9
Metadata specification for the mandate system at John Wheatley College
ExternalLearningMaterial
external_learning_material_id
learning_time
educational_desc
summary
s
o
o
o
Autonumber; not reused.
From list option selected by operator.
AssetCategory
asset_category_id
asset_category_name
asset_category_notes
s
o
o
Autonumber; not reused.
AssetType
asset_type_id
asset_ type _name
asset_category_id
s
o
s
Autonumber; not reused.
AssetStatus
asset_status_id
asset_ status _name
asset_category_id
s
o
s
From list option selected by operator.
Programme
programme_id
programme_name
programme_code
curricular_area_id
s
x
x
s
Autonumber; not reused.
From Unit-e system.
From Unit-e system.
From list option selected by operator.
CurricularArea
curricular_area_id
curricular_area_name
s
o
Autonumber; not reused.
Unit
unit_id
ue_unit_name
ue_unit_code
superclass
moderation_group
s
x
x
x
x
Autonumber; not reused.
From Unit-e system.
From Unit-e system.
From Unit-e system.
From Unit-e system.
IsPartOfProgramme
is_part_of_programme_id
programme_id
unit_id
s
x
x
Autonumber; not reused.
From Unit-e system.
From Unit-e system.
IsPartOfUnit
is_part_of_unit_id
asset_id
unit_id
s
s
s
Autonumber; not reused.
From list option selected by operator.
From list option selected by operator.
Agent
agent_id
s
Autonumber; not reused.
From list option selected by operator.
Autonumber; not reused.
10
Metadata specification for the mandate system at John Wheatley College
is_personal
current_status
first_date
last_updated
subtable_key
o
o, x
s, x
s
s
PersonalAgent
personal_agent_id
forename
surname
active_directory_id
s
o, x
o, x
x
Autonumber; not reused.
From Active directory.
From Active directory.
From Active directory.
CorporateAgent
corporate_agent_id
corporate_name
corporate_abbr
s
o, x
o, x
Autonumber; not reused.
From Active directory.
From Active directory.
AgentGroup
agent_group_id
group_name
group_scope
note
s
o
o
o
Autonumber; not reused.
IsPartOfGroup
is_part_of_group_id
agent_group_id
agent_id
s
s
s
Autonumber; not reused.
From list option selected by operator.
From list option selected by operator.
InteractsWith
interacts_with_id
agent_id
asset_id
role_id
s
s
s
s
Autonumber; not reused.
From list option selected by operator.
From menu option selected by operator.
From menu option selected by operator.
Role
role_id
role_name
role_notes
s
o
o
Autonumber; not reused.
AuditTrail
audit_trail_id
time_of_update
agent_id
asset_id
transaction_type_id
s
s
s
s
s
Autonumber; not reused.
System date of first save.
From list option selected by operator.
From menu option selected by operator.
TransactionType
transaction_type_id
transaction_name
s
o
Autonumber; not reused.
System date of last save.
From primary key of corresponding
subtable record.
11
Metadata specification for the mandate system at John Wheatley College
5
Maintenance menus
Access to various parts of the Web-based maintenance interface is controlled by a
user profile supplied by JWC’s Active Directory system. All staff and student users of
the JWC intranet are assigned a “Mandate group” stored in this Active Directory.
The group drives a specific initial menu display.
The initial menu in turn controls access to specific data entry forms and sub-menus.
5.1
System administration menu
Initial menu for System administrator group.
Options:
•
•
•
Asset maintenance menu (system)
System maintenance menu
Reports menu
5.2
Asset maintenance menu (system)
Initial menu for Editor group.
Options:
•
•
•
•
•
•
•
Add College meeting terms of reference, agenda or minutes
Add College meeting associated paper
Add quality management document
Add internal learning material
Add external learning material
Edit asset
Delete asset
5.3
Asset maintenance menu
Initial menu for staff groups (“Teaching”, “Senior”, “Administrative”?).
Options:
•
•
•
•
•
•
5.4
Add College meeting terms of reference, agenda or minutes
Add College meeting associated paper
Add quality management document
Add internal learning object
Add external learning object
Edit asset
System maintenance menu
This menu controls the maintenance of look-up tables.
12
Metadata specification for the mandate system at John Wheatley College
Options:
•
•
•
•
•
•
•
•
Agents maintenance menu
Agent groups maintenance menu
Agent roles maintenance menu
Units, Programmes and Curricular areas maintenance menu
Asset types maintenance menu
Asset statuses maintenance menu
Meeting locations maintenance menu
Transaction types maintenance menu
5.5
Reports menu (access)
Options:
• View all assets to be reviewed
• View all …
• Etc.
5.6
[Look-up table] maintenance menu
A maintenance menu is available for each look-up table listed on the System
maintenance menu. The Units, Programmes and Curricular areas menu is a special
case.
Options:
•
•
•
5.7
Add a new [entry]
Edit an [entry]
Delete an [entry]
Units, Programmes and Curricular areas maintenance
menu
This menu controls the maintenance of a three-level hierarchy: Curricular areas >
Programmes > Units.
Options:
•
•
•
•
•
•
•
•
•
•
•
Add a Unit
Edit a Unit
Delete a Unit
Group a Unit with a Programme
Add a Programme
Edit a Programme
Delete a Programme
Group a Programme with a Curricular area
Add a Curricular area
Edit a Curricular area
Delete a Curricular area
13
Metadata specification for the mandate system at John Wheatley College
6
Specific data entry form contents
How each category of asset populates its tables.
6.1
General issues
“Display agent name” implies display
PersonalAgent.forename+PersonalAgent.surname, or
CorporateAgent.corporate_name for each relevant agent.
Given that agents to be selected may be a combination of corporate and personal
agents, the display of these in dropdown lists or other general functions should be
able to accommodate either of these name types.
6.2
Create New Agent
Radio button options for selecting corporate agent or personal agent.
Selection determines data entry fields:
For personal agent:
Forename and Initials
Surname
For Corporate agent:
Corporate name
The following sections give a contextualised description of information processing.
Key:
a) Method and source of display/entry.
b) Effect of data entry.
c) When processing occurs.
6.3
6.3.1
Meeting documentation
Input/edit:
Committee name
a) Select single value from drop-down list based on Agent filtered by group
“JWC committee”.
a. i.e. display agent names with Agent.agent.id =
IsPartOfGroup.agent_id where IsPartOfGroup.agent_group_id =
AgentGroup.agent_group_id for AgentGroup.group_name = “JWC
committee”
b) Agent.agent_id corresponding to selected agent stored in InteractsWith
with Asset.asset_id for this asset and Role.role_id for Role.role_name =
“author”.
c) Stored on submit after Asset.asset_id assigned.
Minute-taker/Contributing author
a) Select single value from drop-down list based on Agent with Agent.currentstatus = Yes, filtered by group “Admin staff”.
14
Metadata specification for the mandate system at John Wheatley College
b) Agent.agent_id stored in InteractsWith with Asset.asset_id and
Role.role_id for Role.role_name = ”contributor”.
c) Stored on submit after Asset.asset_id assigned.
Meeting date
a) Operator chooses either free text entry controlled by input mask (or other way
of validating it as a valid date format) or pick from JavaScript popup calendar.
b) Stored in CollegePublication.meeting_date.
c) Stored on submit.
Meeting time
a) Free text entry; client-side validation within “business hours” i.e. 8-6.
b) Stored in CollegePublicaton.meeting_time.
c) Stored on submit.
Meeting location
a) From drop-down list based on MeetingLocation.
b) MeetingLocation.meeting_location_id stored in
CollegePublication.meeting_location_id.
c) Stored on submit.
Type
a) From drop-down listed based on AssetType filtered by
AssetCategory.asset_category_name = “College publication”.
b) AssetType.asset_type_id stored in Asset.asset_type_id.
c) Stored on submit.
Keywords
a) Free text entry; Operators should use lowercase and space-hyphen-space
delimiters (or develop a way to make this system driven, i.e. entry on
separate lines and in storage space-hyphen-space is added).
b) Stored in Asset.keywords.
c) Stored on submit.
6.3.2
Generated on submit
On Submit, the following literals are generated by the system and stored:
Asset Category
a) Fixed value = AssetCategory.asset_category_id for CollegePublication.
b) Stored in Asset.asset_category_id.
Subtable
a) System generated value for CollegePublication.college_publication_id.
b) Stored in Asset.subtable_key.
Title
a) Derived from combination of values selected in form with set words in
between (sequencing needs to be considered).
For Agenda (i.e. when AssetType.asset_type_name = “Agenda”):
[AssetType.asset_type_name] + “of the” +
[CorporateAgent.corporate_name] + “meeting to be held on” +
[CollegePublication.meeting_date] + “at” +
15
Metadata specification for the mandate system at John Wheatley College
[CollegePublicaton.meeting_time] + “in Room” +
[MeetingLocation.meeting_location] + “, Easterhouse Campus”
e.g. “Agenda of the Executive Committee Meeting to be held on Thursday 3
February 2005 at 4.30pm in Room S/09, Easterhouse Campus”
For Minutes (i.e. when AssetType.asset_type_name = “Minutes”)
[AssetType.asset_type_name] + “of the” +
[CorporateAgent.corporate_name] + “meeting held on” +
[CollegePublication.meeting_date] + “at” +
[CollegePublicaton.meeting_time] + “in Room” +
[MeetingLocation.meeting_location] + “, Easterhouse Campus”
e.g. “Minutes of the Executive Committee meeting held on Thursday 3
February 2005 at 4.30pm in Room S/09, Easterhouse Campus”
For Terms of Reference (i.e. when AssetType.asset_type_name = “Terms
of Reference”)
[AssetType.asset_type_name] + “of the” +
[CorporateAgent.corporate_name]
e.g. “Terms of Reference of the Executive Committee”
b) Stored in Asset.title.
Status
a) AssetStatus.Asset_status_id for “Approved”
b) Stored in Asset.asset_status_id.
Date of Publication
a) System date.
b) Stored in Asset.date_of_pub.
Filename/uri
a) Assigned elsewhere?
b) Stored in Asset.filename/uri.
Visible
a) Default value = “No”.
b) Stored in Asset.visible.
Retired
a) Default value = “No”.
b) Stored in Asset.retired.
Publisher
a) Fixed value = “John Wheatley College”
b) Stored in Asset.publisher value.
6.3.3
File upload
Attach
File is attached to form through html file command (or equivalent).
Rename
On submit attached file is renamed according to following convention
Filename: [CorporateAgent.corporate_abbr] +
[CollegePublication.meeting_date] + [AssetType.asset_type_name].pdf
16
Metadata specification for the mandate system at John Wheatley College
Store
The file is stored in the path: …/collegepublications/
(Consider a more specific path i.e. using committee name. Which better supports
browse structure generation or future implementations of Google box search of .pdf
full text?)
6.4
6.4.1
Associated papers
Input/edit:
Title
a) Free text entry.
b) Stored in Asset.title.
c) Stored on submit.
Date of publication
a) Operator chooses either free text entry controlled by input mask (or other way
of validating it as a valid date format) or pick from JavaScript popup calendar.
b) Stored in Asset.date_of_pub.
c) Stored on submit.
Status
a) Radio-button list based on Asset_status filtered by
AssetCategory.asset_category_id corresponding to
AssetCategory.asset_category_name = ”Associated papers” (options are
produced by JWC/ produced externally).
b) Stored in Asset.asset_status_id.
c) Stored on submit.
Committee name
a) Select single value from drop-down list based on Agent filtered by group
“JWC committee”.
b) Agent.agent_id stored in InteractsWith along with Asset.asset_id and
Role.role_id for Role.role_name = “Discusser” (?).
c) Stored on submit.
Meeting date
a) Operator chooses either free text entry controlled by input mask (or other way
of validating it as a valid date format) or pick from JavaScript popup calendar.
b) Stored in AssociatedPaper.meeting_date.
c) Stored on submit.
Keywords
a) Free text entry; Operators should use lowercase and space-hyphen-space
delimiters (or develop a way to make this system driven, i.e. entry on
separate lines and in storage space-hyphen-space is added).
b) Stored in Asset.keywords.
c) Stored on submit.
(Keywords may end up not being used for Associated papers, and are definitely not
mandatory …)
Filename/uri
17
Metadata specification for the mandate system at John Wheatley College
a) Choice of internal or external.
a. Internal: filename capture from upload.
b. External: enter url (free text entry).
b) Stored in Asset.filename/uri.
c) Stored on submit (to be confirmed).
Agenda item no
a) Free text entry (client-side validation that it’s a numerical entry)
b) Stored in Associated_paper.agenda_item.
c) Stored on submit.
Type
a) From drop-down listed based on Asset_type filtered by
Asset_category.asset_category_name = ”Associated paper”.
b) Asset_type.asset_type_id stored in Asset.asset_type_id.
c) (There may be only one entry in the filtered list, in which case this is treated
as a literal generated on submit – to be confirmed).
6.4.2
Sub-menu/ pop-up
Options:
Add author or Create new author
Add author
Invokes
a) Select one or more values from drop-down list based on Agent.
b) Agent.agent_id stored in InteractsWith with Asset.asset_id and
Role.role_id for Role.role_name = “Author”
c) Stored on submit after Asset.asset_id assigned.
Create New Author
Invokes
Radio button options for corporate agent or personal agent (then activates
appropriate data entry section).
For personal agent
Input
Forename and Initials
a) Free text entry.
b) Store in PersonalAgent.forename.
c) Store on submit.
Surname
a) Free text entry.
b) Store in PersonalAgent.surname.
c) Store on submit.
Generated on submit
personal_id
agent_id
last_updated
a) System date.
b) Stored in Agent.last_updated.
first_date
18
Metadata specification for the mandate system at John Wheatley College
a) System date.
b) Stored in Agent.first_date.
is_personal
a) Fixed value = Yes
b) Stored in Agent.is_personal.
current_status
a) Default value = Yes (i.e. active).
b) Stored in Agent.current_status.
subtable_key
a) System generated value PersonalAgent.personal_id.
b) Stored in Agent.subtable_key.
For Corporate agent
Input
Corporate name
a) Free text entry.
b) Stored in CorporateAgent.corporate_name.
c) Stored on submit.
Generated on submit
corporate_id
agent_id
last_updated
a) System date.
b) Stored in Agent.last_updated.
first_date
a) System date.
b) Stored in Agent.first_date.
is_personal
a) Fixed value = No
b) Stored in Agent.is_personal.
current_status
a) Default value = Yes (i.e. active).
b) Stored in Agent.current_status.
subtable_key
a) System generated value for CorporateAgent.corporate_agent_id.
b) Stored in Agent.subtable_key.
6.4.3
Generated on submit
Asset Category
a) Fixed value for AssetCategory.asset_category_id for Associated
Paper.
b) Stored in Asset.asset_category_id.
Subtable
19
Metadata specification for the mandate system at John Wheatley College
a) System generated value for AssociatedPaper.associated_id.
b) Stored in Asset.subtable_key.
Publisher
Left blank.
Visible
a) Default value = No.
b) Stored in Asset.visible.
Retired
a) Default value = No.
b) Stored in Asset.retired.
6.4.4
File upload
Attach
File is attached to form through html file command (or equivalent).
Rename
On submit attached file is renamed according to following convention
Filename: [CorporateAgent.corporate_abbr]+[ AssociatedPaper.meeting_date]+[
AssociatedPaper.agenda_item].[?]
Store
The file is stored in the path: …/associatedpapers/
(Consider a more detailed path using committee name.)
6.4.5
Unresolved issues for Associated papers
Keywords
Type
Urls (yes)
Will general JWC browser policy allow pop-ups?
If so, nature of add author popup; nature of create author popup.
6.5
6.5.1
Quality documents
Input/edit:
Meeting date
a) Operator chooses either free text entry controlled by input mask (or other way
of validating it as a valid date format) or pick from JavaScript popup calendar.
b) Stored in Quality_document.meeting_date.
c) Stored on submit.
Type
a) From drop-down listed based on AssetType filtered by
AssetCategory.asset_category_name = “Quality Document”.
b) AssetType.asset_type_id stored in Asset.asset_type_id.
c) Stored on submit.
Author
a) Select one or more values from drop-down list based on Agent with
Agent.current_status = Yes, filtered by groups “Admin staff” and “Senior
lecturers”.
20
Metadata specification for the mandate system at John Wheatley College
b) Agent.agent_id stored in InteractsWith with Asset.asset_id and
Role.role_id for Role.role_name = “Author”.
c) Stored on submit after Asset.asset_id assigned.
6.5.2
Generated on submit
On submit, the following literals are stored:
Title
a) System generated value = [programme or unit code]+[type])
b) Stored in Asset.title.
Keywords
Left blank.
Status
a) Fixed value = AssetStatus.Asset_status_id for “Approved” where
AssetCategory.asset_category_name = “Quality document”.
b) Stored in Asset.asset_status_id.
Date of Publication
a) System date.
b) Stored in Asset.date_of_pub.
Filename/uri
a) System generated value.
b) Stored in Asset.filename/uri.
Stored on submit? (sequencing issue – derived from changed filename path –
needed so that system knows filename of file? Config file will tell path?)
Visible
a) Default value = No.
b) Stored in Asset.visible.
Retired
a) Default value = No.
b) Stored in Asset.retired.
Publisher
a) Fixed value = “John Wheatley College”.
b) Stored in Asset.publisher.
6.5.3
Sub-menu/ pop-up
Add Unit or Programme
Units have a one-many relationship with quality documents, but this takes place
through the general unit-to-asset relationship which is many-to-many, so the data is
stored in a linking table (IsPartOfUnit).
Units are grouped into Programmes which are grouped into Curricular areas. The
form allows selection of a Curricular area which then allows selection of a
Programme to display Units. This is necessary because there are several thousand
Units.
Radio-button options for all Curricular areas.
List control for Programmes in the currently selected Curricular area.
21
Metadata specification for the mandate system at John Wheatley College
Note: this is probably best achieved using client-side JavaScript rather than a submit
button against the Curricular area control.
Radio button to support Operator options (is quality document associated with
Programme directly, or via Unit?)
If Programme, relationship should be created for selected programme utilising
hidden/dummy unit corresponding to this programme (or create separate linking table
for Programme/Asset where Asset is quality document).
If Unit:
Dropdown list with ability to select a Unit name(s) in currently selected Programme.
Note: this is probably best achieved using client-side JavaScript rather than a submit
button against the Programme control.
Submit button.
On submit, the IsPartOfUnit record should be added to the table, and the page redisplayed for further editing.
6.5.4
File upload
Attach
File is attached to form through html file command (or equivalent).
Rename
On submit attached file is renamed according to following convention
Filename: [Unit.ue_unit_code (or Programme.programme_code?)] +
[Asset.asset_type].pdf
Store
The file is stored in the path: …/qualitydocuments/
6.6
6.6.1
Internal learning materials
Input/edit:
Title
a) Free text entry.
b) Stored in Asset.title.
c) Stored on submit.
Keywords
a) Free text entry; Operators should use lowercase and space-hyphen-space
delimiters (or develop a way to make this system driven, i.e. entry on
separate lines and in storage space-hyphen-space is added).
b) Stored in Asset.keywords.
c) Stored on submit.
Add contributor
a) Select one or more values from drop-down list based on Agent filtered by
groups “Admin staff” and “Lecturers”.
b) Agent.agent_id stored in InteractsWith with Asset.asset_id and
Role.role_id for Role.role_name = “contributor”.
c) Stored on submit after Asset.asset_id assigned.
22
Metadata specification for the mandate system at John Wheatley College
Summary
a) Free text entry.
b) Stored in InternalLearningMaterial.summary.
c) Stored on submit.
Educational Description
a) Free text entry.
b) Stored in InternalLearningMaterial.educational_desc.
c) Stored on submit.
Learning Time
a) From drop down list; literal values from 10-60 minutes in 5 minute increments.
b) Stored in InternalLearningMaterial.learning_time.
c) Stored on submit.
Type
a) From drop-down listed based on AssetType filtered by
AssetCategory.asset_category_name = “Internal Learning Material”.
b) AssetType.asset_type_id stored in Asset.asset_type_id.
c) Stored on submit.
Filename/uri
a) Capture from file.
b) Stored in Asset.filename/uri.
c) Stored on submit? (Sequencing issue: derived from changed filename path –
needed so that system knows filename of file? Config file will tell path?)
Status
a) From drop-down listed based on Asset_status filtered by
Asset_category.asset_category_name = ”Internal learning materials”.
b) Asset_status.asset_status_id stored in Asset.asset_status_id.
c) Store on submit.
6.6.2
Generated
On Submit, the following literals are stored:
Date of Publication
a) System date.
b) Stored in Asset.date_of_pub.
Visible
a) Default value = No.
b) Stored in Asset.visible.
Retired
a) Default value = No.
b) Stored in Asset.retired.
Publisher
a) Fixed value = “John Wheatley College”.
b) Stored in Asset.publisher.
Author
23
Metadata specification for the mandate system at John Wheatley College
a) Fixed value = Agent.agent_ID for
Corporate_agent.corporate_name=“John Wheatley College”.
b) Stored in InteractsWith with Asset.asset_ID and Role.role_id for
Role.role_name = ”author”.
6.6.3
Sub-menus/ pop-ups
At bottom of page:
Add unit
Units are grouped into Programmes which are grouped into Curricular areas. The
form allows selection of a Curricular area which then allows selection of a
Programme to display Units. This is necessary because there are several thousand
Units. Units from more than one Curricular area/Programme can be added to an
Asset.
Drop down list for all Curricular areas.
Check box control(s) for Programmes in the currently selected Curricular area.
Note: this is probably best achieved using client-side JavaScript rather than a submit
button against the Curricular area control.
Check-box control(s) for Unit name(s) in currently selected Programme.
Note: this is probably best achieved using client-side JavaScript rather than a submit
button against the Programme control.
Submit button.
On Submit, the IsPartOfUnit record should be added to the table, and the page redisplayed for further editing.
6.7
6.7.1
External learning materials
Input/edit:
Title
a) Free text entry.
b) Stored in Asset.title.
c) Stored on submit.
Keywords
a) Free text entry; Operators should use lowercase and space-hyphen-space
delimiters (or develop a way to make this system driven, i.e. entry on
separate lines and in storage space-hyphen-space is added).
b) Stored in Asset.keywords.
c) Stored on submit.
Date of publication
a) Operator chooses either free text entry controlled by input mask (or other way
of validating it as a valid date format) or pick from JavaScript popup calendar.
b) Stored in Asset.date_of_pub.
c) Stored on submit.
Publisher
a) Free text entry.
24
Metadata specification for the mandate system at John Wheatley College
b) Stored in Asset.publisher.
c) Stored on submit.
Summary
a) Free text entry.
b) Stored in ExternalLearningMaterial.summary.
c) Stored on submit.
Educational Description
a) Free text entry.
b) Stored in InternalLearningMaterial.educational_desc.
c) Stored on submit.
Learning Time
a) From drop down list; literal values from 10-60 minutes in 5 minute increments.
b) Stored in InternalLearningMaterial.learning_time.
c) Stored on submit.
Type
a) From drop-down listed based on AssetType filtered by
AssetCategory.asset_category_name = “Internal Learning Material”
b) AssetType.asset_type_id stored in Asset.asset_type_id.
c) Stored on submit.
Filename/uri
a) Choice of internal or external.
a. Internal: file capture from upload.
b. External: enter url (free text entry)
b) Stored in Asset.filename/uri.
c) Stored on submit (to be confirmed).
Status
a) From drop-down listed based on Asset_status filtered by
Asset_category.asset_category_name = ”External learning materials”.
b) Asset_status.asset_status_id stored in Asset.asset_status_id.
c) Store on submit.
6.7.2
Generated on submit
Visible
a) Default value = No.
b) Stored in Asset.visible.
Retired
a) Default value = No.
b) Stored in Asset.retired.
6.7.3
Sub-menus/ pop-ups
At bottom of page:
Add author or create new author
If Add author,
25
Metadata specification for the mandate system at John Wheatley College
a) Select one or more values from drop-down list based on Agent filtered
by groups “external” (values will be form both personal and corporate
author subtables).
b) Agent.agent_id stored in InteractsWith with Asset.asset_id and
Role.role_id for Role.role_name = “Author”
c) Stored on submit after Asset.asset_id assigned.
Requires link to Create New Author if author not found.
If Create New Author
Radio button options for corporate agent or personal agent (then activates
appropriate data entry section).
For personal agent
Input
Forename and Initials
a) Free text entry.
b) Stored in PersonalAgent.forename.
c) Store on submit.
Surname
a) Free text entry.
b) Stored in PersonalAgent.surname.
c) Stored on submit.
Generated on submit
personal_id
agent_id
last_updated
a) System date.
b) Stored in Agent.last_updated.
first_date
a) System date.
b) Stored in Agent.first_date.
is_personal
a) Fixed value = Yes.
b) Stored in Agent.is_personal.
current_status
a) Default value = Yes (i.e. active).
b) Stored in Agent.current_status.
subtable_key
a) System generated value of PersonalAgent.personal_agent_id from
this addition.
b) Stored in Agent.subtable_key.
For Corporate agent
Input
Corporate name
a) Free text entry.
b) Stored in CorporateAgent.corporate_agent_name.
c) Stored on submit.
26
Metadata specification for the mandate system at John Wheatley College
Generated on submit
corporate_id
agent_id
last_updated
a) System date.
b) Stored in Agent.last_updated.
first_date
a) (System date)
b) stored in Agent.first_date
is_personal
a) Fixed value = No.
b) Stored in Agent.is_personal.
current_status
a) Default value = Yes (i.e. active).
b) Stored in Agent.current_status.
subtable_key
a) System generated value for CorporateAgent.corporate_agent_id
from this addition.
b) Stored in Agent.subtable_key.
Add unit
Units are grouped into Programmes which are grouped into Curricular areas. The
form allows selection of a Curricular area which then allows selection of a
Programme to display Units. This is necessary because there are several thousand
Units. Units from more than one Curricular area/Programme can be added to an
Asset.
Drop down list for all Curricular areas.
Check box control(s) for Programmes in the currently selected Curricular area.
Note: this is probably best achieved using client-side JavaScript rather than a submit
button against the Curricular area control.
Check-box control(s) for Unit name(s) in currently selected Programme.
Note: this is probably best achieved using client-side JavaScript rather than a submit
button against the Programme control.
Submit button.
On Submit, the IsPartOfUnit record should be added to the table, and the page redisplayed for further editing.
27
Metadata specification for the mandate system at John Wheatley College
7
Reports
JWC will create and maintain email accounts for the system administration and
admin reports to be delivered to and set them up to forward to whoever is in charge
of a task at any given time.
Reports should be printable.
The following reports may be required:
Daily reports (auto run)
Materials not yet visible in given subject area/committee/quality document +
generation of email to editor
Periodic reports (manual run - selection in interface)
Parallel to searches?
Learning materials associated with given unit or programme (option to filter by
type or status).
System reports:
retired assets Current_status = 0
retired agents
28
Metadata specification for the mandate system at John Wheatley College
8
Browse pages
(To be revised following review of mock-up pages)
8.1
Browse learning materials
Browse learning materials by curricular area > programme > unit.
Browse learning materials by keyword
Others?
8.2
Browse quality documents
Browse quality documents by meeting date?
Browse quality documents by unit or programme (or add to unit/ programme
records).
8.3
Browse college publications
Browse college publications by committee > date > type (also includes associated
papers for internal users: all staff or other restricted, and if so, how?).
29
Metadata specification for the mandate system at John Wheatley College
9
Search pages
(To be revised following review of accepted mock-up forms.)
9.1
Search learning materials
Pages will support search:
• by curricular area
• by programme
• by unit
• by keyword (searches educational description too)
• by type
9.2
Search quality documents
Pages will support search:
• by meeting date
• by contributor (senior lecturer?)
• by unit or programme
• by moderation group
• by curricular area
• by programme
• by superclass
• by type
9.3
Search college publications (and associated papers?)
Pages will support search:
• by committee
• by date
• by type
30
Metadata specification for the mandate system at John Wheatley College
10 Export functions
(To be developed using an approach similar to CDLR’s method of generating export
metadata for the Glasgow Digital Library: Visual Basic scripts run on database tables
extracting data and creating appropriate files.)
10.1
Export to Marc
What fields?
Mapping from database.
Automatic additions.
What materials?
10.2
Export to DC
What fields?
Mapping from database
Automatic additions
What materials?
10.3
Export to METS
(To be explored if time permits – evaluation suggested that it will not be essential for
JWC purposes.)
What fields?
What materials?
31
Metadata specification for the mandate system at John Wheatley College
11 Authentication and permissions control
Access to the system is controlled by JWC through Active Directory groups. The
following information describes the interactions between the systems.
11.1
•
•
•
•
11.2
Summary of access issues
Active Directory identity – provides login to webpages or system (JWC to
manage)
Active Directory users assigned into groups (created by JWC in active
Directory)
o Access to assets themselves is under active directory
User identities established for these groups within database.
o Permissions vary be type of user, and type of material.
o Identified user tasks on metadata : create, edit, delete, view – tasks
operate per type of material and per task
Identified user groups:
o Student:
o Teaching Staff:
o Staff
o Editor – selected staff
o SysAdmin
Required user groups in Active Directory
This requires JWC to create the following user groups within Active Directory:
Group Name
Public access
Student
Academic
Support
Editors
SysAdmin
Group Members
Anyone not logged in
Anyone logged in but not in one of the
following groups…
As per active directory group
As per active directory group
Designated staff
Designated staff
There are five user groups apart from unauthenticated users:
•
•
•
•
•
11.3
11.3.1
students 2005-2006
academic
support
mandate editors
mandate adminstrators
Database, interface, and asset permissions
Database permissions
In this development of the system access to the database is hard-coded into the
interfaces using two (growing to three) database login ids. One of these is set-up as
32
Metadata specification for the mandate system at John Wheatley College
read only access, one as read, create and edit, the as yet unimplemented one will
require delete privileges as well.
11.3.2
Interface permissions
Access to the interfaces is controlled by locating them within different folders and
thus requiring users to have permissions to access those folders in order to be able
to run the interface applications.
11.3.3
Asset permissions
Access to the assets is further controlled by keeping them in another set of folders
with permissions applied
11.3.4
Permissions Comment
This approach to permissions provides a short term workaround to support test/ initial
use of the system. If the system is used in the longer term it will be necessary to
implement stricter control over database permissions and desirable to implement
dynamic customised interface display dependent on active directory memberships.
11.3.5
Instantiation of permissions
Unauthenticated
Students
2005-2006
Academic
Support
Mandate
editors
Mandate
admins
data/associatedpapers
? tbc
? tbc
read
read,write
read,write
all
data/college_publications
read
read
read
read,write
read,write
all
data/el_materials
no access
read
read,write
read,write
read,write
all
data/el_materials/assessment
no access
no access
read,write
read,write
read,write
all
data/il_materials/
no access
read
read,write
read,write
read,write
all
data/il_materials/assessment
no access
no access
read,write
read,write
read,write
all
data/quality_documents
no access
no access
read
read,write
read,write
all
no access
no access
execute
execute
execute
all
execute
execute
execute
execute
execute
all
no access
no access
no access
no access
execute
all
no access
no access
no access
no access
execute
all
execute
execute
execute
execute
execute
all
no access
no access
no access
no access
execute
all
no access
no access
no access
no access
execute
all
no access
no access
no access
no access
no access
all
Active Directory Group →
Folder ↓
Asset access
Interface and database access
templates/asset/add
[db read, write, edit]
templates/asset/browse
[db read only]
templates/asset/delete
[db read, write, edit]
templates/asset/edit
[db read, write, edit]
templates/asset/search
[db read only]
templates/asset/[staffsearch..]
[db read only]
templates/asset/[staffbrowse..]
[db read only]
templates/system/…
[db read, write, edit, delete entry]
33
Metadata specification for the mandate system at John Wheatley College
12 Data import
To reduce data duplication and maintainance of distinct lists of units and
programmes or re-creation of information, the system will import data from
appropriate existing College systems. Though this could be highly complex, the
current approach is utilising known export and import techniques requiring manual
intervention.
12.1
Import of data from Unit-e
Export required data from Unit-e as a report – this is saveable in csv or equivalent
format.
Import into Access db (check). Set up script to query Access db and populate SQL
Server tables with data. The update needs to populate the Unit table, the
Programme table, and the IsPartOfProgramme table linking units and programmes.
Given the way data is currently input into Unit-e the script/query may need to edit part
of the data. (The updating of this data is unclear – how will it be maintained if new
relationships occur; will old ones be deleted or retired?)
12.2
Import of data from Active Directory
Many of the authors and contributors to the system are employees of JWC. Their
details therefore exist within the Active Directory service. Importing this data reduces
the system maintenance overhead.
Export selected data from Active Directory.
Clean. Convert into Access db (through Excel).
Ensure appropriate groups are in already present in AgentGroup.
Query data to populate PersonalAgent, Agent, and IsPartOfGroup.
13 Future possible functions
13.1
Short term
Selecting multiple records, saved searches, and printing.
13.2
Long term
13.2.1
Reports
Management information statistics, etc.
Where to put policy documents.
34