Strategy for developing digital services:
EHRIS digitization project
Attachment 3: Software engineering documents
Barbara Ruth Cimpa
INV.I-020.003 Detail level design
INV.I-020.004 Functional specification (mock ups) - basic functionality
INV.I-020.005 Functional specification (mock ups) v2.0 - multi user environment
INV.I-020.006 Functional specification (mock ups) v2.0 - “lab” preparation, formatted view INV.I-020.007 Functional specification (mock ups) v2.0 - “lab”, search
INV.I-020.008 Detail level design v2.0 INV.I-020.009 Project plan
INV.I-020.010 Functional specification v2.0, detail design TEI file creation
digital collections EHRIS
EHRIS digital collection service and website High level design document INV.I.020.001
v1.0
Author, date Barbara Cimpa 2011-06-14 Reviewed by, date Nguyen D. H. 2011-06-17 Approved by, date Nguyen D. H. 2011-06-17
Status Approved
Revision History
Document Change History
Date Version Description Author
2011-06-14 1.0 Creation Barbara Cimpa
Revision History
Date(reviewed on)
Version
reviewed Reviewed by Date
(approved on) Approved by
2011-06-17 1.0 Nguyen D. H. 2011-06-17 Nguyen D. H.
Copyright © 2011 Barbara Cimpa D. 1, Ho Chi Minh City,
Viet Nam
Phone: (+84)-0124 740 4743 Email: barbara.cimpa@gmail.com
Table of Contents
1. INTRODUCTION ...4
1.1 PURPOSE ...4
1.2 SCOPE ...4
1.3 DEFINITIONS, ACRONYMSAND ABBREVIATIONS ... 4
1.4 REFERENCES ...4
1.5 OVERVIEW ...4
2. HIGH LEVEL DESIGN ... 5
2.1 ARCHITECTURAL GOALSAND CONSTRAINTS ... 5
2.2 OVERVIEWCOMPONENTS ... 5
3. ADDENDUM ...6
1.Introduction
1.1Purpose
Purpose of this document is to describe the high level design decisions for the website of EHRIS.
1.2Scope
Scope of this document is the high level design in terms of technology requirements.
– An overview of architecture and programming languages is described.
Technical details are in the responsibility of the programmer, that description is not in the scope of this document.
1.3Definitions, Acronyms and Abbreviations -
1.4References
Documents that are to refer to in addition to that document:
• Requirements non-functional INV.I-020.002
• Detail design document INV.I-020.003
1.5Overview
An overview of the architecture and programming languages to use is described.
2.High level design
Different views are described to depict different aspects of the system. It is intended to capture and convey the significant architectural decisions which have been made on the system.
2.1Architectural Goals and Constraints
Please refer to the non-functional requirements .
2.2Overview components
• The system shall 'run' on the apache server.
• Data are stored in a MySQL database,
• and in the file system (please refer to the Detail design document).
• Programming language shall be PhP, within the websites.
The user shall access the system via the HTML pages.
For now, users shall access the pages by a device with at least 15” screen (netbook). Mobile
device access is not planned.
3.Addendum
The following section pertains to External review meeting minutes and other sources of decisions.
No Date Minutes for
1 mm/dd/yyyy External review for … document 2 mm/dd/yyyy Email conversation about ..
digital collections EHRIS
EHRIS digital collection service and website Non-functional requirements (quality requirements) INV.I.020.002
v1.0
Author, date Barbara Cimpa 2011-10-17 Reviewed by, date Nguyen D. H. 2011-10-20 Approved by, date Nguyen D. H. 2011-10-20
Status Working
Revision History
Document Change History
Date Version Description Author
2011-06-15 1.0 Creation Barbara Cimpa
2011-10-17 1.0 Added iOS principles as reference Barbara Cimpa
Revision History
Date(reviewed on)
Version
reviewed Reviewed by Date
(approved on) Approved by
2011-10-20 1.0 Nguyen D. H. 2011-10-20 Nguyen D. H.
Copyright © 2011 Barbara Cimpa D. 1, Ho Chi Minh City,
Viet Nam
Phone: (+84)-0124 740 4743 Email: barbara.cimpa@gmail.com
Table of Contents
1. INTRODUCTION ...4
1.1 PURPOSE ...4
1.2 SCOPE ...4
1.3 DEFINITIONS, ACRONYMSAND ABBREVIATIONS ... 4
1.4 REFERENCES ...4
1.5 OVERVIEW ...4
2. QUALITY REQUIREMENT PRIORITY LIST ... 5
3. QUALITY REQUIREMENT DESCRIPTION ... 5
3.1 PRIO 1: “FEELGOOD” - HUMANINTERFACEPRINCIPLES ... 5
3.2 PRIO 2: USABILITY ...5
3.3 PRIO 3: MAINTAINABILITY / CODING ... 5
3.4 PRIO 4: PERFORMANCE ... 5
3.5 PRIO 5: RELIABILITY ...5
3.6 PRIO 6: SECURITY ...6
4. QUALITY REQUIREMENT LIST ... 6
5. ADDENDUM ...7
1. Introduction
1.1 Purpose
Purpose of this document is to describe requirements for quality. That document shall be a reference to check against during the whole development process.
That document shall be a living document (status “working”); with new requirements, new quality requirements might be needed to define.
1.2 Scope
Scope of this document are non-functional requirements. The document shall be valid for the whole web application. Additional requirements shall be tested against that document.
1.3 Definitions, Acronyms and Abbreviations -
1.4 References
-
1.5 Overview
First, the priory list of the requirements is given.
Then, the requirements are explained in short.
Finally, inform of a list, details to the requirements are listed.
2. Quality requirement priority list
Design, implementation and testing shall take the following list to do decisions.
Prio 1: “Feel good”
Prio 2: Usability
Prio 3: Maintainability/Coding
Prio 4: Performance: “speed before accuracy”
Prio 5: Reliability Prio 6: Security
3. Quality requirement description
3.1 Prio 1: “Feel good” - Human interface principles
The user shall have a “good feeling” when using the application. That is hard to measure so to define, but feedback of people shall be taken seriously with priority 1.
- The iOS guidelines shall be used as reference:
http://developer.apple.com/library/safari/#documentation/UserExperience/Conceptual/Mobile HIG/Introduction/Introduction.html, “Human interface principles”.
- Additionally, the “quality requirement list” in following section shall be used.
3.2 Prio 2: Usability
The application shall be as easy/intuitive/supportive as possible.
The targeted user groups are not programmers, but also not beginners with the internet.
One user group (G1) is used to use the web. The 2
nduser group (G2) is used to create (small) aspects of the web.
It is important not to offer everything available, but rather, to have an intuitive design, for example, Online-help shall not be used.
- The iOS guidelines shall be used as reference:
http://developer.apple.com/library/safari/#documentation/UserExperience/Conceptual/Mobile HIG/Introduction/Introduction.html, “User experience guidelines”.
3.3 Prio 3: Maintainability / coding
For long-term maintainability and availability of software and use, open source software and open standards shall be used. Enhancements shall be easily possible.
A future transfer to another programming language or system shall be easily possible.
3.6 Prio 6: Security
Security is not of high importance.
Important is to ensured that users cannot destroy the work of others and that users must be credited for their contribution. User's work shall be protected.
4. Quality requirement list
Area Quality requirement
1 Prio 1: Feel good Colors shall fit to each other, shall evoke a bright feeling, shall be softened a little
2 Size, arrangement of elements shall be agreeable, may follow principles of golden cut
3 a page shall not have too many elements, nor too less 4 Prio 2: Usability - G1 Easy/intuitive browse between collections: mega menu 5 Easy/intuitive browse within a collection (between objects)
6 Easy/intuitive browse within an object view
7 Easy/intuitive/supportive insertion of a collection and objects e. g.
values can be taken over
8 Easy/intuitive search facility
9 support users but prevent “overuse”. E. g.: set-back-to-default only if the field is emptied
10 Possible to work onto a netbook (small screen or adjustable screen size)
Provide items/elements even that the user is considered capable to find/have them. E. g. the XML-schema is the standard schema, still, it is available for download.
11 Usability - G2 Easy/intuitive/supportive XML/XSLT format facility
12 Easy/intuitive XML-search facility
13 Usability – not use Not use online-help 14 Prio 3: Coding /
Maintainability
only open source software shall be used, open standards shall be applied if there is not an important reason not to do so
15 Re-use software parts where possible, do not code what can be used
16 Encoding standard Unicode UTF-8 shall be applied
17 Coding / transferability Modeling. “Think before code”.
18 Modular programming as much as possible.
19 The database design shall be solid.
20 Prio 4: Performance Single user: time for transactions fast enough that the user does not have a feeling of waiting
21 A counter shall be shown [example for file upload: 3.2.1 sec..]
22 Multi-user: 5 users at the same time, browsing 1 collection, without speed loss
23 Prio 5: Reliability Functionality: browse, search, file upload, file download, without interruptions
24 Prio 6: Security Users' work shall be protected: username, password
5. Addendum
The following section pertains to External review meeting minutes and other sources of decisions.
No Date Minutes for
1 mm/dd/yyyy External review for … document 2 mm/dd/yyyy Email conversation about ..
EHRIS digital collection service and website Detail level design document INV.I.020.003
v1.0
Author, date Barbara Cimpa 2011-06-14 Reviewed by, date Tran Q. T. 2011-06-16 Approved by, date Nguyen D. H. 2011-06-17
Status Approved
Copyright © 2011, Barbara Cimpa.
All rights reserved.
Revision History
Document Change History
Date Version Description Author
2011-06-14 1.0 Creation Barbara Cimpa
Revision History
Date(reviewed on)
Version
reviewed Reviewed by Date
(approved on) Approved by
2011-06-16 1.0 Tran Q. T. 2011-06-17 Nguyen D. H.
Copyright © 2011 Barbara Cimpa D. 1, Ho Chi Minh City,
Viet Nam
Phone: (+84)-0124 740 4743 Email: barbara.cimpa@gmail.com
Table of Contents
1. INTRODUCTION ...4
1.1 PURPOSE ...4
1.2 SCOPE ...4
1.3 DEFINITIONS, ACRONYMSAND ABBREVIATIONS ... 4
1.4 REFERENCES ...4
1.5 OVERVIEW ...4
2. DATABASE DESIGN ... 5
2.1 TABLES ...5
2.2 USERROLES ...7
3. PAGE FLOW ...8
4. NAMING STANDARD ... 9
5. FILE STRUCTURE ...10
6. ADDENDUM ...11
1.Introduction
1.1Purpose
Purpose of this document is to describe the detail design decisions for the website of EHRIS.
1.2Scope
Scope of this document is the description of – the database schema
and further designs, these are:
– the page flow
– the identifier system and file naming system – the folder structure for images and XML files.
The designs must be embedded into the overall structure of the web site. The overall website structure is in the responsibility of the programmer, that description is not in the scope of this document.
1.3Definitions, Acronyms and Abbreviations -
1.4References
Documents that are to refer to additionally to that document:
• High level design document INV.I-020.001
• Requirements non-functional INV.I-002.002
• Functional specification INV.I-002.004
1.5Overview
Several design decisions are described:
– the core database design – the page flow
– the identifier system and file naming system
– the file storage for images and XML files.
2.Database design
Main tables of the database schema, with their relationships (primary/foreign keys) are as follows:
1 user has 0:many collections ; 1 collection has 1:1 user 1 collection has 0:many objects ; 1 object has 1:1 collection.
2.1 Tables
Table user
field type comment
id number primary key
user_name text(100)
password text(100)
Table collection
field type comment
collection_id number primary key
user_id number foreign key
collection text(100)
industry text(20) values: service, trade, manufacturing
country text(20)
type text(20) values: text, concreta, abstracta
language text(20)
origin_year text(4)
origin_material text(20)
origin_size text(20)
origin_creator text(20)
origin_number text(20) Like: serial no, isbn
origin_usefor text(20)
origin_status text(20)
origin_owner text(20)
origin_location text(20)
origin_accessible text(20) origin_permission text(100)
origin_link text(200) If on the web
dig_on date
dig_by text(20)
dig_where text(20)
dig_why text(100)
objects_stored text(20)
objects_owner text(20)
objects_permission text(100)
objects_number number How many objects in the collection
date_inserted timestamp System set
date_updated date System set
Table object
field type comment
object_id number primary key
collection_id number foreign key
object_number_in_collection number Sequence of view
object text(100)
industry text(20)
country text(20)
origin_number text(20) Like serial number, isbn
origin_usefor text(20)
origin_status text(100)
origin_owner text(100)
origin_location text(20)
origin_accessible text(100) origin_permission text(100)
origin_link text(200) If on the web
dig_on date
dig_by text(20)
dig_where text(20)
dig_why text(100)
dig_stored text(20)
dig_owner text(100)
dig_permission text(100)
photo_page text(200) Link to file system
photo_thumb text(200) Link to file system
photo_large text(200) Link to file system
photo_compare text(200) Link to file system
text_original text(2000) Transcription [full text]
text_EN text(2000) Translation [full text]
date_inserted date System set
date_updated date System set
2.2User roles
Users shall not have roles.
The only role is “admin”, of the only registered user with name “admin”. User “admin”adds and edits collections.
Not-registered users browse the collections but are not allowed to insert a collection.
3.Page flow
Web pages shall be interconnected as follows.
Entrance page (“home”) shall be the page “About the institute”.
Log-in only possible for username = admin, passwort = admin.
The “log-out” does not have to be a page. A button or link “log-out” is sufficient.
4.Naming standard
xxx = collection.collection_id
example: collection_id = 1 then xxx = 001 yyyyyy = object.object_id
example: object_id = 1 then yyyyyy = 000001
XML files: xxx.xml
Images: xxx_yyyyyy.jpg (or xxx_yyyyyy.tiff)
5.File structure
To store the digital image and other files, following structure shall be used:
data/
img/xml/
file.dtd
Collection's image files Collections's tei/xml files
full P5 dtd, used by all collections
Details:
data/
img/
001/
large/
001_000001.jpg 001_000002.jpg 001_000003.jpg page/
001_000001.jpg 001_000002.jpg 001_000003.jpg thumbs/
001_000001.jpg 001_000002.jpg 001_000003.jpg 002/
large/
002_000004.jpg 002_000005.jpg page/
002_000004.jpg 002_000005.jpg thumbs/
002_000004.jpg 002_000005.jpg xxx/
large/...
page/...
thumbs/...
xml/
original/
001.xml 002.xml xxx.xml
Collection 001
large = 'click' page-image: large-image opens
page = images shown in page
thumbs = small images at top, to browse
Collection 002
… collection xxx
original-language files
6.Addendum
The following section pertains to External review meeting minutes and other sources of decisions.
No Date Minutes for
1 mm/dd/yyyy External review for … document 2 mm/dd/yyyy Email conversation about ..
digital collections EHRIS
EHRIS digital collection service and website Basic functionality Functional specification document – non-functional prototype INV.I.020.004
v1.0
Author, date Barbara Cimpa 2011-06-01 Reviewed by, date Nguyen D. H. 2011-06-15 Approved by, date Nguyen D. H. 2011-06-15
Status Approved
Revision History
Document Change History
Date Version Description Author
2011-06-01 1.0 Creation Barbara Cimpa
Revision History
2011-06-15 Date (reviewed
on)
Version
reviewed Reviewed by Date
(approved on) Approved by
2011-06-15 1.0 Nguyen D. H. 2011-06-15 Nguyen D. H.
Copyright © 2011 Barbara Cimpa D. 1, Ho Chi Minh City,
Viet Nam
Phone: (+84)-0124 740 4743 Email: barbara.cimpa@gmail.com
Table of Contents
1. INTRODUCTION ...4 1.1 PURPOSE ...4 1.2 SCOPE ...4 1.3 DEFINITIONS, ACRONYMSAND ABBREVIATIONS ... 4 1.4 REFERENCES ...4 1.5 OVERVIEW ...4 2. MAIN MENU AND LOOK&FEEL ... 5 3. ABOUT THE INSTITUTE ... 6 4. SIMILAR PROJECTS ... 6 5. CONTACT AND CREDITS ... 7 6. ONLINE COLLECTIONS ... 8 6.1 LOOK & FEEL ...8 6.2 'CLICK' OPENS “LARGEFILE” ... 9 6.3 FILENAMINGCONVENTION ... 10 6.4 FILESTRUCTURE ...11 7. ONLINE COLLECTIONS - INTERFACES ... 12 7.1 OPENCOLLECTION = 1STBUTTONLEFT: CAMERA & 1STBUTTONRIGHTTEXT : [ LEFT: IMAGE | RIGHT: TEXT ] ... 13 7.2 2ND BUTTONRIGHT: “ I “: [ RIGHT: INFORMATIONFROMDATABASE] ... 14 7.3 3RD BUTTONRIGHT: “ EN “: [ RIGHT: TRANSLATION] ... 15 7.4 2 BUTTONS: 1RDBUTTONRIGHT: “TEXT” & 3RDBUTTONRIGHT: “EN “: [ RIGHT: TEXT & TRANSLATION] ... 16 7.5 4THBUTTONRIGHT: “CAMERA“: [RIGHT: FORMATTEDTEXT - LATER] ... 17 7.6 2ND BUTTONLEFT: “ TEXT “: [LEFT : TEXT ] ... 18 8 SEARCH - INTERFACES ... 19 8.1 BUTTON “TXT” (FULLTEXT) ... 19 8.2 BUTTON “FIELDS” (METADATA) ... 20 9. ADMIN INTERFACES ... 21 9.1 COLLECTION (ADD/UPDATE) ... 21 9.2 OBJECT: 1/ NEWOBJECT ... 22 9.3 OBJECT: 2/ BUTTON ! SAVE ! ... 23 9.4 OBJECT: 3/ BUTTONTAKE-DATA-FROM-COLLECTION ... 24 9.5 OBJECT: 4/ UPLOADFILENAME ... 25 10. LARGE MENU ...26 10.0 LARGEMENU: YES/NO? ... 26
1.Introduction
1.1 Purpose
Purpose of that document is to show the EHRIS application.
1.2 Scope
Scope of this document are requirements in form of mock ups. These are the interfaces that a user will see. Each web page that a users will see is shown. Elements of the pages that are considered obvious (like the exit-cross at top right) are not mentioned further. Elements that are considered not-obvious, or that shall have particular functionality, or that have particular data sources, are explained.
– Requirements for the whole application are drawn.
1.3 Definitions, Acronyms and Abbreviations -
1.4 References
Please refer for technical implementation to following documents:
• Requirements non-functional INV.I.020.002
• High level design INV.I.002.001
• Detail level design INV.I.002.003
1.5 Overview
The purpose of the document is to describe requirements inform of interfaces that a user sees.
– In case database changes are required, they are described.
– Not-obvious functionality are explained
– functionality considered obvious for programmers (e. g. “exit” button) are not explained.
– “flow” of actions are drawn as set of interfaces
– more complicated programming or a particular style or use of programming elements is
explained in pseudo-code.
2. Main menu and look&feel
1/ Menu:(link to 4 pages:)
About the institute, Online collections, Similar projects, Contact & credits 2/ Open URL www.ehris.org => “About the institute” page opens
3/ Please: size fits to netbook screen, without scroll
Button “find”, “txt”: later
3. About the institute 1/ Page has text:
South-East Asia is and has always been a hub for business and international encounters. At the cross of China and India, being the center point of main trading routes between East and West.
South-East Asia has profited from various business relations, methods and inventions. The Institute was founded to collect and research about these divers methods, influences and ideas. With a wide international network of researchers and practitioners of various historical and current business fields, the institute aims to further connect business practices and
knowledge, practice and research, and practitioners and researchers world-wide to boost economics and practices.
2/ Page has links to images: “SEA maps”
images: please find in REQ-010-001/img/
4. Similar projects 1/ Page has links:
<a href="http://sea.lib.niu.edu/index.html">Southeast Asia digital library</a>
Digitization and creation of archives for digitized manuscripts, photographs, videos of the SEA region
<a href="http://nomfoundation.org/nlvnpf/index.php">Nom foundation</a>
Digitization of the Han-Nom collection at the National library Viet Nam. That is the first such digital library of ancient texts in Viet Nam.
<a href="http://dsal.uchicago.edu/">Southeast Asia digital library</a>
Focus on collections about India
<a href="http://www.fas.harvard.edu/~chgis/data/other/">China-related digital collection projects</a>
List of digital collection projects, kept by the Harvard university
5. Contact and credits Research and technology group:
{Names}
Please send us a message:
mailto:research@ehris.org
mailto:digitalcollections@ehris.org
We are looking forward to hearing from you.
Message to collections' visitors
Cultural heritage items might be the last copy of e. g. a book.
We digitized them to prevent their
irretrievable lost. Works might still be in ©, and we could not trace the right-holder.
If you know the © owner, please do not hesitate to let us know.
Nếu bạn biết chủ sở hữu quyền tác giả xin vui lòng cho chúng tôi biết.
Thank you for your support.
Credits
We would like to thank the following people for their effort, support and consultancy:
{Names}
Copyright
Digital collections' images, meta data, transcriptions and translations are subject to copyright. EHRIS shares the data under the <a href
="http://creativecommons.org/licenses/by-nc-sa/3.0/">Attribution-NonCommercial- ShareAlike 3.0 licence</a>.
Disclaim
Links are being provided as a convenience and for informational purposes only; they do not
constitute an endorsement or an approval by us of any of the products, services or opinions
of the corporation or organization or individual. We bear no responsibility for the accuracy,
legality or content of the external site or for that of subsequent links. Please contact the
external site for answers to questions regarding its content.
6. Online collections
6.1 Look & feel
6.2 'Click' opens “large file”
6.3 File naming convention
for a collection:
example
identifier Collection.collection_id 1
“number” xyz (3 placeholders) 001
xml file xyz.xml 001.xml
for an object:
example
identifier object.object_id 1
“number” abcdef (6 placeholders) 000001
image file xyz_abcdef.jpg Collection = 001:
=>
object:
001_000001.jpg
6.4 File structure
/img/
001/
page/
thumbs/
large/
002/
page/
thumbs/
large/
/xml/
original/
001.xml, 002.xml translation/
001.xml, 002.xml
collection 001:
page: image left
thumbs: small images at top
large: 'click' on an image-left: a bigger image opens collection 002:
link at top-right in collection-view
Example:
/img/
001/
page/001_000001.jpg, 001_000002.jpg, 001_000003.jpg, ..
thumbs/001_000001.jpg, 001_000002.jpg, 001_000003.jpg, ..
large/001_000001.jpg, 001_000002.jpg, 001_000003.jpg, ..
002/
page/002_000054.jpg, 002_000055.jpg thumbs/002_000054.jpg, 002_000055.jpg large/002_000055.jpg
/xml/
original/
001.xml, 002.xml translation/
001.xml, 002.xml
7. Online collections - interfaces
Button left opens When open page: 2 buttons:
.. object image Background: black
database: object.photo_page
x
-
.. original text Background: grey database:
object.text_original
-
Note: Left buttons are independent from right buttons. 'Left-button-click' => right side no change.
Button right opens When open page: 2 buttons possible:
.. original text Background: grey database:
object.text_original
x x
.. information from database
Background: grey database: object.*
.. translation text Background: grey database: object.text_EN
x
.. formatted text
Background: brown
- later -
7.1 Open collection = 1st button left: camera & 1st button right text : [ left: image | right: text ]
Example with object 29 in database, collection: 1, object 29
left right
object.photo_page object.text_original
background black grey
7.2 2nd Button right: “ i “: [ right: information from database]
left right
... object.object
object.industry object.country object.language ---
object.origin_year object.origin_material object.origin_size object.origin_number object.origin_usefor object.origin_status object.origin_owner object.origin_location object.origin_accessible object.origin_link ---
object.dig_on object.dig_by object.dig_where object.dig_why object.dig_stored object.dig_owner
7.3 3rd Button right: “ EN “: [ right: translation]
left right
... object.text_EN
background ... grey
7.4 2 buttons: 1rd button right: “text” & 3rd button right: “EN “: [ right: text & translation]
left right
... object.text_original
object.text_EN
background ... grey
7.5 4th button right: “camera“: [right: formatted text - LATER]
left right
... - later -
background ... black & brown
7.6 2nd Button left: “ text “: [left : text ]
left right
object.text_original ...
background grey ...
8 Search - interfaces
8.1 Button “txt” (fulltext)
Button “txt”: Select ....
where object.text_original like 'gioi thieu';
Link object {Page 29}: opens collection, page 29 (object.object_id = 31)
8.2 Button “fields” (meta data)
Button “fields”: Select ....
where object.object_number_in_collection = '1959' or object.object like '1959' or
object.industry .. or:
object_number_in_collection object
industry country type language origin_year origin_material
origin_size origin_creator origin_number origin_usefor origin_status origin_owner origin_location origin_accessible
dig_by dig_where dig_why dig_stored dig_owner dig_on
Search in 22 fields of table object
Link object {Page 29}: opens collection, page 29 (object.object_id = 31)
9. Admin interfaces
9.1 Collection (add/update)
Top small images: 'click' opens Admin-object, please see next page.
Fields:
Yellow: required
Yellow, white: user inserts
Grey: system inserts, user cannot access
9.2 Object: 1/ new object
1/ Show:
– collection_id (3 placeholders) – collection
button Check: if action:
Take data from collection save
Add another object to collection
field object_id: empty nothing nothing nothing
button Check: if action:
! save ! field object_id: empty
and
field object: empty
nothing
9.3 Object: 2/ button ! save !
1/ User inserts “object”
2/ User 'clicks' button “! save !”
=> store in table object
=> show object_id (6 placeholders)
button Check: if action:
! save ! field object_id: empty => store in table object
9.4 Object: 3/ button take-data-from-collection
Button take-data-from-collection: => show data from table collection.
button Check: if action: else:
! save ! field object_id: inserted nothing
please see aboveelse:
Take data from collection
field object_id: inserted and:
industry, country, type: empty
Show data from table collection
nothing
else:
save
Add another object to collection
field object_id: inserted and:
yellow fields: inserted
Save in database 1/ Save in database 2/ new object:
Please see
Object: 1/ new object
Error message:
“Please fill
yellow fields”
9.5 Object: 4/ Upload file name
10. Large menu
10.0 Large menu: yes/no?
About the institute Online collections Similar projects Contact & credits
Has menu? yes yes - -
10.1 Large menu: Online collections – by industry
where collection.industry = “manufactoring”
where collection.industry = “service”
where collection.industry = “trade”
=> Collection.collection are links
10.2 Large menu: Online collections – by type
where collection.type = “text”
where collection.type = “concreta”
where collection.type = “abstracta”
=> Collection.collection are links
10.3 Large menu: Online collections – by country
where collection.country = “Cambodia” or “Lao” or “Vietnam” or “Myanmar” or “Thailand”
where collection.country = “Malaysia” or “Singapore” or “Philippines”
where collection.country = “Indonesia” or “Brunei”
=> Collection.collection are links
10.4 Large menu: About the institute
Collection: collection_id = 5, collection = “Maps”
=> like Online-collections, but: no buttons. Information right: object.text_original
Addendum
The following section pertains to External review meeting minutes and other sources of decisions.
No Date Minutes for
1 mm/dd/yyyy External review for … document 2 mm/dd/yyyy Email conversation about ..
EHRIS digital collection service and website, v.2 multi user environment Functional specification – mock ups
INV.I.020.005
v1.1
Author, date Barbara Cimpa 2011-07-01 Reviewed by, date Tran Q. T. 2011-07-04 Approved by, date Nguyen D. H. 2011-07-04
Status Approved
Copyright © 2011, Barbara Cimpa.
All rights reserved.
Revision History
Document Change History
Date Version Description Author
2011-06-17 1.0 Creation Barbara Cimpa
2011-07-01 1.1 Adjust after writing the DLD v2.0 Barbara Cimpa
Revision History
Date(reviewed on)
Version
reviewed Reviewed by Date
(approved on) Approved by
2011-07-04 1.1 Tran Q. T. 2011-07-04 Nguyen D. H.
Copyright © 2011 Barbara Cimpa D. 1, Ho Chi Minh City,
Viet Nam
Phone: (+84)-0124 740 4743 Email: barbara.cimpa@gmail.com
Table of Contents
1. INTRODUCTION ...4 1.1 PURPOSE ...4 1.2 SCOPE ...4 1.3 DEFINITIONS, ACRONYMSAND ABBREVIATIONS ... 4 1.4 REFERENCES ...4 1.5 OVERVIEW ...4 2. DATABASE: TABLES ROLE, USER_ROLE ... 5 2.1 ADDFIELDTOTABLE “USER”: ROLE ... 5 2.2 NEWTABLES “ROLE”, “USER_ROLE” ... 5 3. MULTI-USER - ADMIN/USER = GENERAL ROLES ... 6 3.1 MENUNOT-LOGGED ...6 3.1.1 Changed page : About the institute (copy “similar projects”) ... 6 3.2 MENULOGGED-IN ...6
3.2.1 Menu “Admin”: user.role = “user”: admin-collection {have} ... 6 3.2.2 Menu “Admin”: user.role = “admin”: admin-collections ... 7 3.2.3 Menu “Admin”: user.role = “admin”: link “Admin user” ... 7 4. MULTI-USER - OWNER/TRANSLATOR/TRANSCRIBE = USER ROLES ... 8 4.1 GO-TO-COLLECTION: USER_ROLE.ROLE = “OWNER” {HAVE} ... 9 4.2 GO-TO-COLLECTION: USER_ROLE.ROLE = “TRANSCRIBE”/”TRANSLATOR” ... 10 5. 'COMMUNITY PAGE' (POLICY PAGES) - LINK ... 11 5.1 MENUNOT-LOGGED: “JOIN!” ... 11 5.2 MENULOGGED-IN: “JOIN!” ... 11 5.3 “JOIN!” - 1STVIEW ...11 5.4 “JOIN!” - 'CLICK' ONTOITEM ... 12 ADDENDUM ...13
1. Introduction
1.1 Purpose
Purpose of that document is to show the EHRIS application.
1.2 Scope
Scope of this document are requirements in form of mock ups. These are the interfaces that a user will see. Each web page that a users will see is shown. Elements of the pages that are considered obvious (like the exit-cross at top right) are not mentioned further. Elements that are considered not-obvious, or that shall have particular functionality, or that have particular data sources, are explained.
– Requirements for the extension of the existing application to a multi-user environment are described. Users shall a/ be able to administer their collections and b/ shall have a place explaining the framework of the community.
– Database changes are described.
–
Please refer to the page flow for v2.0 in INV.I-020.008
. 1.3 Definitions, Acronyms and Abbreviations-
1.4 References
Please refer for the existing application to the following document:
• Functional specification – basic functionality - INV.I.020.004 Please refer for technical implementation to following documents:
• Requirements non-functional INV.I.020.002
• High level design INV.I.002.001
• Detail level design INV.I.002.003
Please refer for the new page flow to following document:
• Detail level design v2.0 INV.I.002.008
1.5 Overview
The purpose of the document is to describe requirements inform of interfaces that a user sees.
– In case database changes are required, they are described.
– Not-obvious functionality are explained
– functionality considered obvious for programmers (e. g. “exit” button) are not explained.
– “flow” of actions are drawn as set of interfaces
2. Database: tables role, user_role
2.1 Add field to table “user”: role
table user:
Field Values Default value
User.role “admin” or “user”. “user”
admin = full rights for all collections user = full rights for own collections
2.2 New tables “role”, “user_role”
New table role:
Fields Values Default value
Role.role Owner,
transcribe, translator
--
New table user_role:
Fields Values Default value Insert when:
user_role.user_name user_role.role user_role.collection
... “owner” User is logged-in,
user creates a collection
owner = full rights for 1 collection
transcribe = insert object.text_original to all objects of 1 collection
translator = insert object.text_EN to all objects of 1 collection
3. Multi-user - admin/user = general roles
3.1 Menu not-logged
New menu: “Lab”
3.1.1 Changed page : About the institute (copy “similar projects”)
3.2 Menu logged-in
New: “Admin” link
3.2.1 Menu “Admin”: user.role = “user”: admin-collection {have}
User.role = “user”, log-in
– Collection-combobox:
select collection from user_role.collection,
where user_role.user_name = user
3.2.2 Menu “Admin”: user.role = “admin”: admin-collections
– see all collections
3.2.3 Menu “Admin”: user.role = “admin”: link “Admin user”
– see all users – table user_role user_role.user_name user_role.role user_role.collection Comboboxes:
collection = collection.collection user = user.user_name
role = role.role
4. Multi-user - owner/translator/transcribe = user roles
User.role = “user”, log-in – Collection-combobox:
select collection from user_role.collection,
where user_role.user_name = user
4.1 go-to-collection: user_role.role = “owner” {have}
“go to collection”
user_role.collection = collection AND user_role.role = “owner”
open:
4.2 go-to-collection: user_role.role = “transcribe”/”translator”
“go to collection”
user_role.collection = collection AND user_role.role = “transcribe/translator”
open:
left: object.text_original right: object.text_EN
5. 'Community page' (policy pages) - link
5.1 Menu not-logged: “Join!”
5.2 Menu logged-in: “Join!”
5.3 “Join!” - 1st view
5.4 “Join!” - 'click' onto item
1/ 'Click' on square (example: Vision Document External Review) => opens new page.
2/ 'Click'-area = 1 square.
Addendum
The following section pertains to External review meeting minutes and other sources of decisions.
No Date Minutes for
1 mm/dd/yyyy External review for … document 2 mm/dd/yyyy Email conversation about ..
digital collections EHRIS
EHRIS digital collection service and website, v.2 - “lab”- formatted view & search preparation Functional specification – mock ups INV.I.020.006
v1.1
Author, date Barbara Cimpa 2011-07-14 Reviewed by, date Tran Q. T. 2011-07-15 Approved by, date Nguyen D. H. 2011-07-19
Status Approved
Revision History
Document Change History
Date Version Description Author
2011-07-01 1.0 Creation Barbara Cimpa
2011-07-03 1.0 Adjustment after review Barbara Cimpa
2011-07-14 1.1 Adjustment after software engineer's feedback Barbara Cimpa
Revision History
Date(reviewed on)
Version
reviewed Reviewed by Date
(approved on) Approved by
2011-07-02 1.0 Tran Q. T. 2011-07-04 Tran Q. T.
2011-07-15 1.1 Tran Q. T. 2011-07-19 Nguyen D. H.
Copyright © 2011 Barbara Cimpa D. 1, Ho Chi Minh City,
Viet Nam
Phone: (+84)-0124 740 4743 Email: barbara.cimpa@gmail.com
Table of Contents
1. INTRODUCTION ...4 1.1 PURPOSE ...4 1.2 SCOPE ...4 1.3 DEFINITIONS, ACRONYMSAND ABBREVIATIONS ... 4 1.4 REFERENCES ...4 1.5 OVERVIEW ...4 2. PREPARATION: EASY INPUT – PURE TEXT ... 5 2.1 LOG-IN, ADMINCOLLECTION, FIELDS “TEXTORIGINAL”, “TEXT ENGLISH” {HAVE} ... 5 2.2 LOG-IN, ADMINCOLLECTION, FIELDS “TEXTORIGINAL”, “TEXT ENGLISH” - LARGEVIEW ... 6 3. PREPARATION: EASY INPUT - XML, AND FORMATTED TEXT (XML/XSL => HTML) ... 7 3.1 DATABASE ...7 3.1.1 Add fields to table “object”, “collection” ... 7 3.2 NEWWINDOWXML_XSL ... 8 3.2.1 XML original text ... 9 3.2.2 XML original text – reset ... 10 3.2.3 XML EN text ...11 3.2.4 XML EN reset ... 12 3.2.5 XSL file ...13 3.2.6 XSL file - change ... 14 3.2.7 XSL file – use ... 15 3.3 RESULT: SHOWFORMATTEDVIEW: HTML EN ... 16 APPENDIX A: EXPLANATION: FORMATTED VIEW ... 17 1 <DIVTYPE=”LETTER”> ... 17 2 <DIVTYPE=”LETTER”> EXPLANATION ... 18 3 <DIVTYPE=”TEXT”> ...19 4 HIGHLIGHT ...20 5 HIGHLIGHT – EXPLANATION ... 21 ADDENDUM ...22
1. Introduction
1.1 Purpose
Purpose of that document is to show the EHRIS application.
1.2 Scope
Scope of this document are requirements in form of mock ups. These are the interfaces that a user will see. Each web page that a users will see is shown. Elements of the pages that are considered obvious (like the exit-cross at top right) are not mentioned further. Elements that are considered not-obvious, or that shall have particular functionality, or that have particular data sources, are explained.
– Requirements for the extension of the existing application to include “lab preparation”
are described. The lab preparation refers to the collection administration pages. String processing and to the use of XML functionality shall be added. The user is supported to encode a text. The encoded text is transformed by an XSL style sheet.
– Folder structure adjustments are described.
– Please refer to the page flow for v2.0 in INV.I-020.008.
Programming libraries for XML processing might have to be included. That is subject to the programmer's responsibility, that description is not in the scope of this document.
1.3 Definitions, Acronyms and Abbreviations -
1.4 References
Please refer for the existing application to the following document:
• Functional specification – basic application INV.I.020.004
• Functional specification – multi user environment INV.I.020.005 Please refer for technical implementation to following documents:
• Requirements non-functional INV.I.020.002
• High level design INV.I.002.001
• Detail level design INV.I.002.003
Please refer for the new page flow to following document:
• Detail level design v2.0 INV.I.002.008
1.5 Overview
The implementation requirements are shown as interfaces.
– In case database changes are required, they are described first.
– Not-obvious functionality is explained
– functionality considered obvious for programmers (“exit” button and there like) is not explained, for that programmers' attention is not drawn from the main functionality.
– In case a “flow” of actions is involved, these are shown: drawn as set of interfaces – In case more complicated programming is required, or, a particular style or use of
programming elements is thought of, that is explained in pseudo-code.
2. Preparation: easy input – pure text
2.1 Log-in, admin collection, fields “text original”, “text English” {have}
2.2 Log-in, admin collection, fields “text original”, “text English” - large view
3. Preparation: easy input - xml, and formatted text (xml/xsl => html)
3.1 Database
3.1.1 Add fields to table “object”, “collection”
Change table object:
Add field Default value
object.xml_original “no xml encoding available”
object.xml_EN “no xml encoding available”
object.html_original “no html encoding available”
object.html_EN “no xml encoding available”
Change table collection:
Add field Default value
collection.xsl “default.xsl”
3.2 New window xml_xsl
3.2.1 XML original text
Field object.xml_original
“store xml”: store in object.xml_original
3.2.2 XML original text – reset
Button “pure text”:
show data: from field “object.text_original”
3.2.3 XML EN text
3.2.4 XML EN reset
3.2.5 XSL file
3.2.6 XSL file - change
xml/...
xsl/
default.xsl 001.xsl
“store xsl”: 1/ create file [collection_id].xsl
2/ update in table collection field: collection.xsl
3.2.7 XSL file – use
3.3 Result: Show formatted view: html EN
Please show:
object.html_EN
Appendix A: Explanation: Formatted view 1 <div type=”letter”>
Right side: “iFrame”
2 <div type=”letter”> explanation
<div type="letter">
<head>Different types of letters (letter)</head>
<head>(A message written on a business<lb/>
card or onto a piece of paper)</head>
<opener>
<dateline>Mỹ Tho August 15, 1958</dateline>
<salute>Dear elder brother Lam,</salute>
</opener>
<p>At 8 am today, I came to you,<lb/>
but you have already left. I have a work and need to<lb/>
meet you, at 12 pm, I<lb/>
will come and see you.
</p>
<closer>
<signed>
Nguyễn Văn Thái </signed>
15-8-1958.
</closer>
</div>
001.xml
in xml-file: <div id=XYZ type=letter >
XYZ = object.object_id
XML XSLT changes to:
<lb/> = <br/>
<head> align center
<opener><dateline> align right
<opener><salute> align left
<p> = <p>
<closer> align right
3 <div type=”text”>
001.xml
in xml-file: <div id=XYZ type=text >
XYZ = object.object_id
XML XSLT changes to:
<head> Align center
<p> = <p> (text)
<list>,
<item>
= <ul>
= <li>
4 Highlight
Explanation: please see next page
5 Highlight – explanation
<hi rend="uppercase">Different types of letters</hi> (letter) (A message written on a business
card or onto a piece of paper)
Mỹ Tho August 15, 1958
<hi rend="underline">Dear elder brother Lam</hi>,
At 8 am today, I came to you,
but you have already left. I have a work and need to meet you, at 12 pm, I
will come and see you.
<hi rend="uppercase">Nguyễn Văn Thái</hi>
15-8-1958.
xml-file object.xml_EN
XML XSLT changes to:
<hi rend="uppercase"> Upper case
<hi rend="underline"> underline
Addendum
The following section pertains to External review meeting minutes and other sources of decisions.
No Date Minutes for
1 mm/dd/yyyy External review for … document 2 mm/dd/yyyy Email conversation about ..
digital collections EHRIS
EHRIS digital collection service and website, v.2 - “lab”- search in XML collection-files Functional specification – mock ups INV.I.020.007
v1.9
Author, date Barbara Cimpa 2011-10-15
Reviewed by, date 2011-
Approved by, date 2011-
Status Working
Revision History
Document Change History
Date Version Description Author
2011-07-07 1.0 Creation Barbara Cimpa
2011-09-15 1.0 Adjusted after XML research Barbara Cimpa
2011-10-01 1.1 Adjusted after review feedback Barbara Cimpa
2011-10-15 1.9 Adjusted after software engineer's feedback Barbara Cimpa
Revision History
Date(reviewed on)
Version
reviewed Reviewed by Date
(approved on) Approved by 2011-09-25 1.0 Nguyen D. H., Tran Q. T.
2011-10-01 1.1 Nguyen D. H. 2011-10-01 Nguyen D. H.
2011-10-15 1.9
Copyright © 2011 Barbara Cimpa D. 1, Ho Chi Minh City,
Viet Nam
Phone: (+84)-0124 740 4743 Email: barbara.cimpa@gmail.com
Table of Contents
1. INTRODUCTION ...4 1.1 PURPOSE ...4 1.2 SCOPE ...4 1.3 DEFINITIONS, ACRONYMSAND ABBREVIATIONS ... 4 1.4 REFERENCES ...4 1.5 OVERVIEW ...4 2. LAB SEARCH ...5 2.1 MENU ...5 2.2 COMBOBOXES ...5 2.3 OPTIONS ...6 APPENDIX A: EXPLANATION: SEARCH IN XML FILES ... 7 1 XML FILES – EXPLANATION ... 7 2 SEARCHIN XML FILES ... 8 3 “ONLYELEMENT” ...9 4 “CONTEXT” ...10 5 “OTHERELEMENT(S)” ...11 6 “ONLYELEMENT”, NO <NAME> PARENT. = “CONTEXT” = “OTHERELEMENTS” ... 12 ADDENDUM ...13