Difference between revisions of "Talk:PubMan Func Spec Submission"
Line 13: | Line 13: | ||
**create new revision of an item | **create new revision of an item | ||
**fetch metadata from external system | **fetch metadata from external system | ||
===Actors=== | ===Actors=== |
Revision as of 07:59, 29 January 2008
Discussion PubMan_Functional_Specification[edit]
UC_PM_SM_01 create item[edit]
The user selects a collection where she wants to create a new item. With this action the publication workflow is started.
Status/Schedule[edit]
- Status: in specification
- Schedule:R3
Triggers[edit]
- 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[edit]
- Depositor
Pre-Conditions[edit]
- 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[edit]
- 1. The user chooses to create an item.
- 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 of her choice.
- 5. continue with use case UC_PM_SM_02 edit item
Alternatives[edit]
- 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[edit]
- None
Future development[edit]
- 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[edit]
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[edit]
- Status: in specification
- Schedule:R3
Triggers[edit]
- The user wants to change or provide data for an item.
- This use case is invoked by the use cases:
- This use case includes the use cases:
Actors[edit]
- Depositor
- Moderator
- Metadata Editor
Pre-Conditions[edit]
- Last item version is selected or this use case was invoked from UC_PM_SM_01 create item
and (optionally) a template item (metadata and (optionally) relations) is passed
- One validation point is selected.
Flow of Events[edit]
- 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
- 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[edit]
- 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[edit]
- A new item version is created and validated in accordance with selected validation point.
Future development[edit]
- 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 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
UC_PM_SM_03 submit item[edit]
The user submits the last version of the item.
Status/Schedule[edit]
- Status: in specification
- Schedule:R3
Triggers[edit]
- The user wants to submit the last version of an item.
Actors[edit]
- Depositor
Pre-Conditions[edit]
- 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[edit]
- 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[edit]
- None
Post-Conditions / Results[edit]
- The item version is in state "submitted".
UC_PM_SM_04 fetch metadata from external system[edit]
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[edit]
- Status: in specification
- Schedule:R3
Triggers[edit]
- The user wants to fetch the metadata for an item from an external system.
Actors[edit]
- Depositor
Pre-Conditions[edit]
- None
Flow of Events[edit]
- 1. The user chooses to harvest metadata 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. The user triggers the query of the external system.
- 4. The system queries for item metadata with the specified ID.
- 4.a. The system receives item metadata for the specified ID. Continue with use case UC_PM_SM_02 edit item with fetched metadata values for metadata as default.
- 4.b. The query fails. The system does not receive item metadata for the specified ID. The system displays an error message. The use case ends without success. TODO: specify error message
Post-Conditions / Results[edit]
- Fetched metadata are used to create a new item.
UC_PM_SM_05 create item from template[edit]
The user creates a new item by using another item as a template and provides item data.
Status/Schedule[edit]
- Status: in specification
- Schedule:R3
Triggers[edit]
- The user wants to create a new item.
Actors[edit]
- Depositor
Pre-Conditions[edit]
- One item is selected.
Flow of Events[edit]
- 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[edit]
- none
UC_PM_SM_06 delete item[edit]
The user deletes an item which is not released.
Status/Schedule[edit]
- Status: implemented
- Schedule:R1
Triggers[edit]
- The user wants to delete an item.
Actors[edit]
- Depositor
Pre-Conditions[edit]
- 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[edit]
- 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[edit]
- The selected item is deleted.
UC_PM_SM_07 change collection of item[edit]
The user moves the item from one collection to another.
Status/Schedule[edit]
- Status: not implemented
- Schedule:to be defined
Triggers[edit]
- The user wants to move the item from one collection to another.
Actors[edit]
- Depositor
Pre-Conditions[edit]
- 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[edit]
- 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[edit]
- 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[edit]
- The item has been moved to another collection.
UC_PM_SM_09 validate item[edit]
The user wants to validate the last version of an item for the given validation point.
Status/Schedule[edit]
- Status: in specification
- Schedule:R3
Triggers[edit]
- This use case extends the use cases
Actors[edit]
- Depositor
- Metadata Editor
- Moderator
Pre-Conditions[edit]
- Last item version is selected.
- One validation point is selected by the system.
Flow of Events[edit]
- 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[edit]
- None
Future development[edit]
- 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[edit]
The user wants to create an intellectually revised item.
Status/Schedule[edit]
- Status: in specification
- Schedule:R3
Triggers[edit]
- The user creates a new item with a relation "isRevisionOf" to an existing item
Actors[edit]
- Depositor
Pre-Conditions[edit]
- Last item version is selected.
- Last item version is in state "released".
Flow of Events[edit]
- 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
Future Development[edit]
- 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[edit]
- None
UC_PM_SM_12_file_upload[edit]
The user uploads a file and defines the visibility of the uploaded file.
Status/Schedule[edit]
- Status: in specification
- Schedule:R3
Triggers[edit]
- 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[edit]
- Depositor
Pre-Conditions[edit]
- One collection is selected.
Flow of Events[edit]
- 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 7.
- 1.6. The system identifies the mime type of the file and sets the information to the file.
- 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.
We have no list of recommended mime types. Would propose to remove step 1.6. to 1.7. or discuss on which base we want to recommend mime types.--Ulla 19:32, 18 January 2008 (CET)
- 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, the mime type or enters a description.
- 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.
- 1.13. The user confirms the entries.
- 1.14. The system links the file to the item.
Comment Natasa: remove step 1.13 and 1.13 from here and move them to the end--Natasa 12:44, 18 January 2008 (CET)
- 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, the mime type, the locator or enters a description.
- 2.2.1. The system checks the change of the visibility.
- 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.
- c. Other changes of the visibility were done or the visibility has not changed.
- 2.2.1. The system checks the change of the visibility.
- 2.3. (Optionally) The visibility is "Organizational unit" and the user chooses to change the organizational units the file is visible by.
- 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.
- 2.4. The user confirms the entries.
Post-Conditions / Results[edit]
- The files are uploaded to the system
Further development[edit]
- 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.5. [Not R3] The system checks the file against viruses.
- Extraction of metadata and language identification from uploaded files
Allowed Genre as collection setting: UC Create new revision[edit]
Discussion on genres transfered from Jira AS-269
Kiefl Rupert - [12/Dec/07 11:53 PM]
The collection defines genres available for submission. Is this done to block explicitly all other genres?
Lets walk through the case: The user wants to create a new revision. He chooses a different collection and wants to submit. The system states he has a wrong genre and can not submit.
The user has the following options:
- Change the genre (just to be able to submit?)
- Contact the administrator to add a new genre to the collection?
Both ways seem to be not satisfying. Can we add a genre to the collection automatically if an item was added with an unknown/not allowed genre?
Tschida, Ulla - [13/Dec/07 09:47 AM ]
see my answers to your questions below:
The collection defines genres available for submission. Is this done to block explicitly all other genres? => It is due to the reason, that some institutes are not at all interested in our 15(?) genres, but just in some of them. By defining allowed genres for a collection, they have a "customized" drop down list, for their mostly relevant publication types.
use case create new revision: indeed a critical point...background is, we have the feature that genres are "allowed" for a collection (see comment above). but when creating revisions, you might want to change the genre, and you might want to create the revision in a new collection, and then the collection and the genre are not compatible.
I know that proposed solution is not optimal. Alternatively, we could say: when creating a revision, the item data are pre-filled (from source item), except genre. Therefore, user would have to state the genre again, when creating a revision. Not sure what is "muehsamer".
The option 2 you mention, is of course not possible. Option 1 neither, he would have to change the collection (collection policies...rules are always mühsam)
- We identified when creating a new revision that there may be problems with the genre and in this case we have the following options having in mind genre is "inherited" as a default metadata of the revision.
Reference to use case step 9, options a and b. Option a: if genre is allowed in the collection, genre is inherited Option b: (in my opinion should be): if genre is not allowed in the collection, genre is not inherited Would doubt that creation of a new revision is always a same genre as the previous revision, but may be :) --Natasa 11:11, 21 December 2007 (CET)
- OK, agreed Rupert 11:58, 21 December 2007 (CET)
QA by GUI team[edit]
UC_PM_SM_01 create item: -> QA rejected because it contains a blocker for the workflow (choosing a collection):
Proposal for choose collection: To prevent the user from choosing a collection manually:
- it can be done by personal settings (not R3)
- by defining a 'standard collection' as a default
Rupert 11:03, 17 December 2007 (CET)
- Rupert, can you please clarify what do you mean with this? The user must choose a collection at some point. Where would you think this should be done? A standard collection for one user may not be a standard collection for another user. --Natasa 09:25, 18 December 2007 (CET)
- Let's say an institute has 3 collections and one of it is frequently used (this might often be the case). If the collection administrator could mark this as the 'standard collection' we can set this one as default just to get the user immediately to the edit item page. There he will still be able to decide for another collection - let's say with a additional dropdown in the edit item mask. Is this technically possible during the create item process? Rupert 14:26, 20 December 2007 (CET)
- Rupert, according to our basic concepts it is possible that a user who belongs to one institute has the privilege to submit to the collection of another institute. The local administrator may be responsible for one institute only and therefore cannot define this kind of priority. In fact, the default collection is a "user preference" and not an "institute preference". If it's very important to skip the selection step, the pubman application could consider an alternative rule to select a default collection, e.g. sort the list of collections alphabetically and take the first. Anyway, I'm not sure if this wanted by the administrative users of the system: If they assign one user with the privilege to submit to more than one collections, there is obviously a need for him to select one of those. Making this selection less obvious may lead to many misrouted submissions. These submissions will be "sent back for revision" to the depositor, thus create another kind of overload. --Inga 16:13, 20 December 2007 (CET)
- OK, so I understand now why the collection page is a blocker. The goal is to make sure that users are not doing wrong things. But how we do it is another question. To block the edit mask is in my opinion not the right way.
- - we can place the collection selection very prominent in the edit mask
- - we can remind the user with messages in the edit mask
- Rupert 21:05, 20 December 2007 (CET)
- That would not be nice for Technical team, as edit mask is most used from many other use cases. We have to deal with another level of complexity. Agreed with Inga's argumentation as well - maybe nicer way to select before coming to the edit mask should be thought of.
For example, if the user comes to depositor workspace he does not have to see directly list of items filtered by a certain status, but maybe the grouping can be:
- Collection A [action:submit][action:all][action:pending][action:submitted][action:released][action:withdrawn]
- MyItem1
- MyItem2
- MyItem3
- Collection B [action:submit][action:all][action:pending][action:submitted][action:released][action:withdrawn]
- MyItem5
- MyItem6
- MyItem7
- where [action:all][action:pending][action:submitted][action:released][action:withdrawn] are actually the filtering actions which items to see :) --Natasa 16:29, 21 December 2007 (CET)
- OK, then lets take inga's proposal. The best solution would be to have it in the preferences. Until we have that we could take the first one (alphabetically). Agreed? Rupert 14:01, 8 January 2008 (CET)
UC_PM_SM_02 edit item -> QA done
UC_PM_SM_03 submit item -> QA done
UC_PM_SM_04 fetch metadata from external system -> QA done
UC_PM_SM_11 create new revision of item -> QA done
Rupert 11:56, 17 December 2007 (CET)
Remarks for modification of create/edit item use cases, fetch metadata, create from template etc.[edit]
If the functional team is satisfied with the UC as they look now DevT should implement them in the exactly same manner. My proposals were oriented towards creation of easy to maintain edit mask, as all changes for editing of items would only be on editing of items that are already created (in the system as Value objects or even in the FW - in case of single item ingestion).
With that approach edit will really only be edit and there will be more starting points to which user comes to edit an item. My proposals are also based on the (bad) experience of dealing with the edit item use case and GUI mask in the past and taking the use-case as the exact must-be-implemented for the GUI, so was rather towards making it more easier. --Natasa 17:03, 16 January 2008 (CET)
Remarks for proposal to define separate use cases for file upload[edit]
The file upload is at the moment used in - standard submission - easy submission - other submission interfaces? - by other solutions? So this was my reason to split it to a separate use case. It is also making the edit item use case pretty unreadable. --Natasa 17:03, 16 January 2008 (CET)
Remarks for proposal to define one single information on a single place rather than repeating it into every use case[edit]
Would work only if the whole set of functionality is well understood by each developer and if each developer should read many pages. So should be in that case as a minimum be on a single page, but linked from each use case of relevance. --Natasa 17:05, 16 January 2008 (CET)