Talk:PubMan Func Spec Submission

UC_PM_SM_01 create item
The user selects a collection where she wants to create a new item. With this action the publication workflow is started.

Status/Schedule

 * Status: in design
 * Schedule:R3

Triggers

 * The user wants to create a new item.
 * this use case may additionally be invoked by the following use cases:
 * create item from template
 * create new revision of an item
 * fetch metadata from external system

Actors

 * Depositor

Pre-Conditions

 * if this use case was invoked by another use case then a template item with default metadata and (optionally) a relation to an existing item is passed

Flow of Events

 * 1.	The user chooses to create an item.
 * 2.	The system displays a list of all collections and their description in state "opened" for which the user has the privileges as Depositor.
 * 3.	The user selects a collection of her choice.
 * 4.	continue with use case UC_PM_SM_02 edit item

Alternatives

 * 2a	If the user has Depositor rights for only one collection, the collection selection is automatically performed by the system.
 * 2a.1.	Continue with Flow of Events step 5.
 * 2b	If the user has in his/her private preferences a target collection defined and the user has depositor privileges for that collection, the system automatically selects the collection.
 * 2b.1.	Continue with Flow of Events step 5.
 * 2c The system may offer to the user the collection to where she last created the item successfully.
 * 2c.1 Continue with Flow of Events step 5.

Post-Conditions / Results

 * None

Future development

 * when creating new item default values for attributes and metadata values are inherited from the metadata set and the collection settings. Collection settings overwrite values inherited from the metadata set.

UC_PM_SM_02 edit item
The user edits the last version of an item while executing a task in the publication or in the modification workflow defined for the collection of the item.

Status/Schedule

 * Status: in design
 * Schedule:R3

Triggers

 * The user wants to change or provide data for an item.


 * This use case is invoked by the use cases:
 * UC_PM_SM_01 create item
 * UC_PM_SM_05 create item from template
 * UC_PM_SM_11 create new revision of item
 * UC_PM_QA_11 modify item
 * This use case includes the use cases:
 * UC_PM_SM_12 file upload

Actors

 * Depositor
 * Moderator
 * Metadata Editor

Pre-Conditions
and (optionally) a template item (metadata and (optionally) relations) is passed
 * Last item version is selected or this use case was invoked from UC_PM_SM_01 create item
 * One validation point is selected.

Flow of Events

 * 3.	The system displays an edit view with the metadata from the last version of the item or pre-filled metadata.
 * 7. (Optionally) Include use case UC_PM_SM_16 file upload
 * 8. (Optionally) The user enters a locator for the file, selects the visibility, adds a name and a comment and selects the content category (for R3 the content category can't be changed and is per default "supplementary material").
 * 5.	(Optionally) The user edits the item attributes, adds new metadata values or modifies existing metadata values. This includes the selection of an entry from an authority file which is linked to a metadata element. For dealing with organizations when creating the metadata element "Organisation" see 11.2.
 * 6.	(Optionally) The user chooses to view the collection description.
 * 6.1.	The system displays the collection description.
 * 10.	(Optionally) The user removes one or more uploaded files.
 * 11.	Extension point: validate data.
 * 11.1.	If the user wants to validate the data of the item include use case UC_PM_SM_09 validate item for the selected validation point.
 * 12.a.	The user decides to finalize the editing of an item by submitting the item.
 * 12.a.1. The system creates a new version of an item. Continue with use case UC_PM_SM_03 submit item
 * 12.a.2. If the item version can not be created the system displays an appropriate error message or a validation report. The use case ends unsuccessfully.

Alternatives

 * 12.b. The user decides to finalize the editing of an item by saving the item without submitting.
 * 12.b.1. The system validates the item data against the default validation rules
 * 12.b.2. The system creates a new version of an item. The use case ends successfully.
 * 12.b.3. If the item version cannot be created the system displays an appropriate error message or a validation report. The use case ends unsuccessfully.

Post-Conditions / Results

 * A new item version is created and validated in accordance with selected validation point.

Future development

 * possible use case for look-up of metadata triggered during edit item to serve for fetching specific set of metadata e.g. source metadata(book, conference paper, event)
 * file locator - possible use case to specify a file locator for a fulltext such as:
 * 8.	(Optionally) The user adds one or more file locators (from where the full text can be downloaded by PubMan and be integrated into PubMan) to the item.
 * 8.1.	The system sets default values for file attributes from the collection settings and displays an edit view for the file.
 * 8.2.	The user enters a locator for the file, selects the visibility if not already set and the content type.
 * 8.3.	(Optionally) The user changes the visibility, the content type, the mime type or enters a description.
 * 8.4.	The user confirms the entries.
 * 8.5.	The system links the file to the item

Allowed file types
pdf, rtf, txt,doc, xml, jpg, bmp, png

(has to be enhanced!)

UC_PM_SM_03 submit item
The user submits the last version of the item.

Status/Schedule

 * Status: in design
 * Schedule:R3

Triggers

 * The user wants to submit the last version of an item.

Actors

 * Depositor

Pre-Conditions

 * Last item version is selected.
 * The last item version is in state "pending" or "in rework".
 * Depositor user is the owner of the last item version

Flow of Events

 * 1.	The user chooses to submit the selected item or the item was selected by a previous use case.
 * 2.	The system checks if the collection of the item is in state "opened" and if the user has the privilege as Depositor.
 * a.	The collection is in state "opened" and the user has the privilege as Depositor.
 * b.	The collection is not in state "opened". The systems displays an error message (MSG_PM_SM_02_A). The use case ends without success.
 * b.	The user has not the privilege as Depositor. The systems displays an error message (MSG_PM_SM_02_B). The use case ends without success.
 * 3.	The system validates the item for validation point "submit".
 * 3.a.	The validation report status is valid.
 * 3.b.	The validation report status is invalid. The selected item is unaffected. The system displays an error message (MSG_PM_SM_03). The use case ends without success.
 * 4.	(Optionally) The user enters a comment for the submission.
 * 5.	The user finalizes the submission.
 * 6.	The system sets the status of the item version to "submitted".
 * 7.	The system displays a success message (MSG_PM_SM_04). The use case ends successfully.

Alternatives

 * None

Post-Conditions / Results

 * The item version is in state "submitted".

UC_PM_SM_04 fetch metadata from external system
The system fetches metadata from an external system providing an external identifier. These metadata are used to populate metadata for a new item.

Status/Schedule

 * Status: in design
 * Schedule:R3

Triggers

 * The user wants to fetch the metadata for an item from an external system.

Actors

 * Depositor

Pre-Conditions

 * None

Flow of Events

 * 1.	The user chooses to harvest (meta)data from an external service.
 * 2.	The system displays a list of all available ingestion sources which provide an ID fetch method.
 * 3.	The user selects one ingestion source and specifies an external ID appropriate to the selected ingestion source.
 * 4.    The system checks if the selected ingestion source enables fetching of available fulltexts and offers to the user the possibility to decide on fulltext fetching.
 * 4.a. (optionally) The user decides to fetch one or more available fulltexts from the selected ingestion source.
 * 5.	The system queries for item metadata with the specified ID.
 * 5.a.	The system receives item metadata for the specified ID.
 * 5.b.	The query fails. The system does not receive item metadata for the specified ID. The system displays an error message (MSG_PM_SM_10). The use case ends without success.
 * 6.    (optionally) If the user decided to fetch one or more available fulltexts from the selected ingestion source, continue with the use case UC_PM_EASM_02 fetch fulltext by identifier.
 * 7.     Continue with use case UC_PM_SM_02 edit item with fetched metadata values (and optionally fulltexts).

Post-Conditions / Results

 * Fetched metadata (and optionally fulltexts) are used to create a new item.

Constraints
No ingestion sources are defined, only Identifiers from arXiv are considered.

See https://dev.livingreviews.org/projects/epubtk/browser/trunk/ePubTk/lib/arxiv.py for an example of how to use arxiv's oai-pmh interface.

Future Development

 * Add identifier type DOI (consider SFX and OpenURL?)
 * Allow fetching Metadata and fetching fulltext
 * Definition of ingestion sources, see PubMan Ingestion

UC_PM_SM_05 create item from template
The user creates a new item by using another item as a template and provides item data.

Status/Schedule

 * Status: in design
 * Schedule:R3

Triggers

 * The user wants to create a new item.

Actors

 * Depositor

Pre-Conditions

 * One item is selected.

Flow of Events

 * 1.	The user chooses to create a new item from the selected item. The metadata values are taken from the selected item.
 * 2.	Continue with use case UC_PM_SM_01 create item

Post-Conditions / Results

 * none

UC_PM_SM_06 delete item
The user deletes an item which is not released.

Status/Schedule

 * Status: implemented
 * Schedule:R1

Triggers

 * The user wants to delete an item.

Actors

 * Depositor

Pre-Conditions

 * One item is selected.
 * The last item version is in state "pending" or "in rework".
 * No item version in state "released" exists.
 * The user is the owner of the last version of the item.

Flow of Events

 * 1.	The user chooses to delete the selected item or the item was selected by a previous use case.
 * 2.	The system prompts the user to confirm the item deletion.
 * 3.	The user confirms to delete the item.
 * 4.	The system deletes the item and displays a success message (MSG_PM_SM_05). The use case ends successfully.

Post-Conditions / Results

 * The selected item is deleted.

UC_PM_SM_07 change collection of item
The user moves the item from one collection to another.

Status/Schedule

 * Status: not implemented
 * Schedule:to be defined

Triggers

 * The user wants to move the item from one collection to another.

Actors

 * Depositor

Pre-Conditions

 * One item is selected.
 * The last item version is in state "pending" or "in rework".
 * The user is the owner of the item.
 * The user is in role "Depositor" for more than one collection.

Flow of Events

 * 1.	The user chooses to change the collection.
 * 2.	The system displays a list of all collections in state "opened" for which the user has the privileges as Depositor.
 * 3.	(optionally) The user chooses to view the collection description.
 * 3.1.	The system displays the collection description.
 * 4.	The user selects a collection and confirms the choice.
 * 5.	The system checks the item data against values and functionality allowed by the collection.
 * a. The item data is in accordance with the allowed values and functionality of the collection.
 * b. The item data is not in accordance with the allowed values and functionality of the collection. The system displays an error message (MSG_PM_SM_06). The use case ends unsuccessfully.
 * 6.	The system checks the item data against the default values of attributes and metadata definitions of the collection.
 * a. The item data is in accordance with the default values of the collection.
 * b. The item data is not in accordance with the default values of the collection. The system prompts the user to confirm that the item data is not overwritten.
 * 6.1.	The user confirms not to overwrite the item data.
 * 7.	The system changes the collection of the item and displays a success message (MSG_PM_SM_07). The use case ends successfully.

Alternatives

 * 6.b.1.a. The user confirms to overwrite the item data.
 * 1.	The system overwrites the existing attribute values of the item with the collection’s settings for attribute values.
 * 2.	The system overwrites the existing metadata values of the item with the collection settings for metadata values.
 * 3.	The system creates a new item version, stores it and displays a success message (MSG_PM_SM_08) Continue with flow of events step 7.

Post-Conditions / Results

 * The item has been moved to another collection.

UC_PM_SM_09 validate item
The user wants to validate the last version of an item for the given validation point.

Status/Schedule

 * Status: in design
 * Schedule:R3

Triggers

 * This use case extends the use cases
 * UC_PM_SM_02 edit item,

Actors

 * Depositor
 * Metadata Editor
 * Moderator

Pre-Conditions

 * Last item version is selected.
 * One validation point is selected by the system.

Flow of Events

 * 1. The user decides to validate the last version of the item.
 * 2. The system checks the data of the last version of the item for missing values for obligatory metadata and further constraints defined for the selected validation point.
 * 3.	The system generates an overview that contains the validation report.
 * 4.	Use case ends successfully.

Post-Conditions / Results

 * None

Future development

 * The system identifies possible duplicate items and proceeds further with handling of duplicates. (UC_PM_SM_10 handle duplicate items.)

UC_PM_SM_11 create new revision of item
The user wants to create an intellectually revised item.

Status/Schedule

 * Status: in design
 * Schedule:R3

Triggers

 * The user creates a new item with a relation "isRevisionOf" to an existing item

Actors

 * Depositor

Pre-Conditions

 * Last item version is selected.
 * Last item version is in state "released".

Flow of Events

 * 1.	The user chooses to create a new revision for the selected item version.
 * 2.	Continue with the use UC_PM_SM_05 create item from template with the following metadata and the relation "isRevisionOf" to the selected item version used as a template:


 * Genre
 * Creator
 * Title
 * Language
 * AlternativeTitle
 * Subject

If the genre, that should be populated is not an allowed genre for the collection, the genre will not be populated.

Future Development

 * 2.	The systems checks for existing items with a relation of type "isRevisionOf" to the selected item.
 * a. At least one item with relation of type "isRevisionOf" to the selected item exists. The system displays the list of these item(s).
 * b. No item with relation of type "isRevisionOf" to the selected item exists.
 * 3.	The system prompts for a description of the relation and confirmation of the new revision.
 * 4.	(optionally) The user enters a description for the relation.
 * 5.	The user confirms the new revision.

Post-Conditions / Results

 * None

UC_PM_SM_12_file_upload
The user uploads a file and defines the visibility of the uploaded file.

Status/Schedule

 * Status: in design
 * Schedule:R3

Triggers

 * The user wants to upload one or more files.
 * This use case is included by the use case UC_PM_SM_02_edit_item

Actors

 * Depositor

Pre-Conditions

 * One collection is selected.

Flow of Events

 * 1.	The user starts to upload one or more files to the system or for an item
 * 1.1	The system prompts for the path of the file.
 * 1.2	The user enters the path to the file and confirms the input.
 * 1.3	The system uploads the file.
 * 1.4	The system checks the size of the file against the defined maximum file size.
 * a.	The file size is less or equal to the maximum file size.
 * b.	The file size is greater than the maximum file size. The system discards the file and displays an error message. Continue with 1.
 * 1.6.	The system identifies the mime type of the file and sets the information to the file.
 * 1.8.	The system sets default values for file attributes (i.e. the file visibility) from the collection settings.
 * 1.9.	The system displays an edit view for the file.
 * 1.10.	The user selects the visibility if not already set and the content type.
 * 1.11.	(Optionally) The user changes the visibility, the content type or enters a description.
 * 1.13.	The user finalizes the entry.
 * 2.	 (Optionally) The user modifies the attributes of one file.
 * 2.1.	The system displays an edit view for the file.
 * 2.2.	(Optionally) The user changes the visibility, the content type, name of the file or enters a description.
 * 2.2.1.	The system checks the change of the visibility.
 * c.	Other changes of the visibility were done or the visibility has not changed.
 * 2.4.	The user finalizes the entry.

Post-Conditions / Results

 * The files are uploaded to the system

Further development

 * Virus checking for uploaded files
 * 1.5.	[Not R3] The system checks the file against viruses.
 * a.	No Virus is found.
 * b.	At least one virus is found. The system discards the file and displays an error message. Continue with 7.
 * 1.7.	The system checks the mime type of the file against the recommended mime types.
 * a.	The mime type is recommended.
 * b.	The mime type is not recommended. The system displays a warning message.
 * Extraction of metadata and language identification from uploaded files

Visibility "OrgUnit" not yet provided by the framework:
 * 1.12.	If the user has chosen the visibility "Organizational unit" the system shows a list of all open organizational units.
 * 1.12.1.	The user selects one or more organizational units and confirms the choice.
 * 1.12.2.	The system sets the file to be visible by the selected organizational units.
 * 2.2.1
 * a.	The visibility has changed from "Organizational unit". The system removes the setting of organizational units for the visibility.
 * b.	The visibility has changed to "Organizational unit". The system shows a list of all open organizational units.
 * i.	The user selects one or more organizational units and confirms the choice.
 * ii.	The system sets the file to be visible by the selected organizational units.
 * 2.3.	(Optionally) The visibility is "Organizational unit" and the user chooses to change the organizational units the file is visible to.
 * 2.3.1.	The system shows a list of all open organizational units.
 * 2.3.2.	The user selects one or more organizational units and confirms the choice.
 * 2.3.3.	The system sets the file to be visible by the selected organizational units.

=Discussion Functional Prototype=

Meeting on Func. Prototype, 31.3.2008; Malte, Ulla and Nicole

 * Notes added that will be resolved in implementation. Reference only for Rupert --Natasa 09:52, 1 April 2008 (CEST)


 * If it is not complicated from a technical point of view, we would like to integrate "fetch MD" to full submission, as specified in the functional prototype. If this is the case the flow for create item has to be changed. The option to choose the submission method has to be added.
 * Not certain if the prototype was understood well: to my understanding "fetch MD" leads to "full submission" and that is already specified in the easy submission prototype. In submission prototype this is to my understanding only clarification on the page flow. --Natasa 09:52, 1 April 2008 (CEST)


 * Decision: The messages from the func. spec. have to be referenced in the prototype. In addition to that Rupert can specify additional messages.
 * re-name the menu entry "new submission" to "full submission"
 * Proposal: why not then calling only "Submission" and "Advanced submission" respectively? --Natasa 09:52, 1 April 2008 (CEST)


 * please make sure, that even if only one collection exists, the user has the possibility to view the collection description (is valid create item flow and page flow)
 * that is already included in edit item page. Is it meant that the user has the possibility to view the collection description in similar manner as in easy submission (if collectionNo=1 then display collection description and then continue to edit item?)--Natasa 09:52, 1 April 2008 (CEST)


 * add message if validation is not successful(?) not consistent - when only report, when report and message? (valid for page flow and flow submission and validate item flow)
 * In my understanding: the report contains several statements that point to minimum 1 invalid metadata, the message is a single statement. --Natasa 09:52, 1 April 2008 (CEST)


 * unclear pageflow validate in https://zim01.gwdg.de/repos/smc/tags/public/PubMan/Prototypes/08_Submission/index.html
 * please specify if this is unclear because of previous message vs. report point or in other manner?--Natasa 09:52, 1 April 2008 (CEST)


 * message for successful save needs prototype message ID (as there is no message in the UC)
 * message for successful release is: MSG_PM_QA_08 please add to page flow
 * edit item page: remove all languages except for language of publication and please add "English" as default value, please remove "--"
 * edit item page: "cancel" leads to?
 * should not it cancel the process of create/edit item and it should go back to where it was i.e. either "view item version page" or "depositor workspace" - is that the case?--Natasa 09:52, 1 April 2008 (CEST)


 * please specify what happens if the user clicks on "add more Orgs." in prototype for edit item
 * as it may become very confusing using the Organization term for both "creators" and "affiliations" my proposal is to rename "Organization Name and Address" to "Affiliation Name and Address" and the button "Add more Orgs." to "Add Affiliations"--Natasa 09:52, 1 April 2008 (CEST)


 * typo file locator and remove MIME type
 * Should not also the File name be removed from the edit form? (It will be defaulted to the value of the locator in the data which goes to the FW) --Natasa 09:52, 1 April 2008 (CEST)


 * proposal to make the difference between source MD and non source MD more clear, please add source in front of all labels
 * Proposal: to add "Source" only in front of the "group labels" instead of every field (i.e. Source Details, Source Creators etc.)


 * identifier: please remove ID Type "escidoc"
 * Proposal: and specify the labels for identifier type and value correspondingly--Natasa 09:52, 1 April 2008 (CEST)


 * genre: default article, please remove "--"
 * please add ID type and value to source
 * But probably in this case "escidoc" identifier type can stay?--Natasa 09:52, 1 April 2008 (CEST)


 * add/remove forms:
 * please add to the 2nd title "alternative"
 * what means "the last form can not be removed? Is it not rather the first form?
 * please remove the "remove" icon from the first form
 * flow submit item:
 * it is always the action submit and release
 * analog to page flow 08_submission: connect submission comment and view item version(?)
 * Please do not make changes on this - users will not always submit. Proposal/Email sent to GUI team on this topic also for easy submission flow. --Natasa 09:52, 1 April 2008 (CEST)


 * flow create new revision:
 * please add reference to create item from template
 * please re-formulate the comment to create new revision as specified in the UC_PM_SM_11 create new revision of item
 * page flow (edit item)
 * successor and error message(s) are missing