Difference between revisions of "PubMan Func Spec Submission"

From MPDLMediaWiki
Jump to navigation Jump to search
m
Line 425: Line 425:
===Discussion===
===Discussion===
[[Talk:PubMan_Func_Spec_Submission#UC_PM_SM_04_fetch_metadata_from_external_system]]
[[Talk:PubMan_Func_Spec_Submission#UC_PM_SM_04_fetch_metadata_from_external_system]]
==UC_PM_SM_05 create item from template==


==UC_PM_SM_05 create item from template==
==UC_PM_SM_05 create item from template==
Line 435: Line 437:
===Triggers===
===Triggers===
*The user wants to create a new item.
*The user wants to create a new item.
''' [Dev-QA-Start]
*''This use case is included by the use case [[PubMan_Func_Spec_Submission#UC_PM_SM_01_create_item|UC_PM_SM_01_create_item]]''--[[User:Natasab|Natasa]] 15:40, 21 December 2007 (CET)
:''See comment above'' --[[User:Inga|Inga]] 21:01, 1 January 2008 (CET)
'''[Dev-QA-Start]'''


===Actors===
===Actors===
Line 451: Line 445:


===Flow of Events===
===Flow of Events===
*1. The user chooses to create a new item from the selected item.
*1. The user chooses to create a new item from the selected item. The metadata values are taken from the selected item.
*2. The system displays a list of all collections for which the user has the privileges as Depositor.
*2. Continue with use case [[PubMan_Func_Spec_Submission#UC_PM_SM_01_create_item|UC_PM_SM_01 create item]]
*3. (optionally) The user chooses to view the collection description.
**3.1. The system displays the collection description.
*4. The user selects a collection as target collection and confirms the choice.
*5. The system creates a new item with the user as the owner in the target collection. The item version is in state "pending" and default values for attributes are inherited from the target collection settings. The metadata values are taken from the selected item.
*6. Continue with use case [[PubMan_Func_Spec_Submission#UC_PM_SM_02_edit_item|UC_PM_SM_02 edit item]] with the new item as selected item and the validation point "submit" as selected validation point. The use case ends successfully.
 
===Alternatives===
*2a If the user has Depositor rights for only one collection, the collection selection is automatically performed by the system.
**1. Continue with Flow of Events step 5.
*2b If the user has in his/her private preferences defined a target collection the system automatically selects the collection.
**1. Continue with Flow of Events step 5.
 
'''[QA-Dev-Start]'''
 
*2c  If the collection was already selected with a previous use-case continue with Flow of Events step 5.--[[User:Natasab|Natasa]] 15:37, 21 December 2007 (CET)


:See comment(s) above. Only relevant, if we decide to change the fetch MD UC. --[[User:Nicole|Nicole]] 11:27, 8 January 2008 (CET)


'''[QA-Dev-End]'''


===Post-Conditions / Results===
===Post-Conditions / Results===
*A new item with the user as owner has been created.
*none


===Discussion===
===Discussion===

Revision as of 10:41, 17 January 2008

PubMan Functional Specification

View · Browse
Full Submission · Easy Submission
Import · Export
Quality Assurance · Search
Collaboration · Copyright
Collection Administration
Organizational Unit Management
User Management
Feeding local webpages
History of affiliations


edit

UC_PM_SM_01 create item[edit]

The user creates a new item and provides item data. This use case starts the publication workflow for the new item.

[Start-Dev-QA]

Description is not very accurate. To consider: "The user selects a collection where she wants to create a new item and starts the publication workflow for the new item."--Natasa 12:40, 21 December 2007 (CET)

[Comment Nicole:] We always choose this very generic introduction in our use cases, which don't include specific actions yet. If we change the description here and if we want to be constistent, we would have to change all introductions. Natasa, is it fine for you to keep this introduction to stay constistent? --Nicole 09:52, 8 January 2008 (CET) Fine for me. --Natasa 16:35, 16 January 2008 (CET)

On the other hand, the use case create item has a very small difference to the use-case create item from template. A default metadata set inheritance can be always considered as a default item template. The user will always be able to have a choice to use this default template (if it exists) or any other item as a template. --Natasa 13:22, 21 December 2007 (CET)

[Comment Nicole:] I do not really get the point about your suggestion. Is your idea to remove the UC or to modify it...? --Nicole 09:52, 8 January 2008 (CET) No, this use case should stay but can be "merged" somehow with create item from template .--Natasa 16:35, 16 January 2008 (CET)


[End-Dev-QA]

Status/Schedule[edit]

  • Status: in specification
  • Schedule:R3

Triggers[edit]

  • The user wants to create a new item.

Actors[edit]

  • Depositor

Pre-Conditions[edit]

  • None.

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 and confirms the choice.

[Start-GUI-QA]

  • Select and confirm could be one action Rupert 15:08, 28 December 2007 (CET)
To my understanding, Rupert's proposal is not in conflict with the current use case because both actions are defined in one event. If usable "select and confirm" patterns are available we should use them --Inga 19:43, 30 December 2007 (CET)

[Comment Nicole:] Rupert, can you please check Inga's comment and remove the whole GUI-QA comment, if it is okay for you? --Nicole 09:52, 8 January 2008 (CET)

[End-GUI-QA]

  • 5. The system creates a new item with the user as the owner in the selected collection. The item version is in state "pending" and 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.

[Start-Dev-QA]

  • Are pre-filled default metadata values genre independent?
We currently have no concrete example for default metadata values. The idea comes from our historical usage scenarios and concepts. --Inga 19:43, 30 December 2007 (CET)
  • Step 5 is actually internal creation of the value object and is not at all interesting for the user.
This UC includes UC_PM_SM_02 edit item which is executed on an existing item. Therefore, an item is created in this UC, but not stored before UC_PM_SM_02 ends successfully. Please note that this approach is in sync with the naming of this UC. I believe that we all agreed to this split up before and would suggest to keep it. --Inga 20:12, 30 December 2007 (CET)

[Comment Nicole:] Natasa, please check Inga's comment and remove the comment on Step 5 if you agree with Inga. --Nicole 09:52, 8 January 2008 (CET)

  • Another problem with Step 5 is that we do not define default metadata values in the metadata set. We may state for Step5: the system creates a new item with default values for attributes and metadata inherited from the collection settings.
But we had the idea of default metadata values in relation to the metadata set before? If this is no longer the case, we indeed could make this and other sentences easier. The more complex description was only chosen to reflect the former concepts correctly. But why to delete the information about owner, selected collection and state? --Inga 19:43, 30 December 2007 (CET)

[Comment Nicole:] I agree to Inga's comment. Natasa, please check Inga's comment and remove the comment on Step 5 if you agree with Inga and me.

Additional Note: This way of inline commenting makes the use cases really hard to read. Shouldn't we consider to create a wiki page for each UC plus using the discussion page for comments? --Inga 19:46, 30 December 2007 (CET)

[Comment Nicole:] I agree to Inga. Maybe we can use the discussion page for discussions and the article page for the specification :D. --Nicole 09:58, 8 January 2008 (CET)

  • Step 5 may be specified as (in accordance with the comments in general use case description above): continue with use case UC_PM_SM_05_create_item_from_template with the default collection item selected as a template. The use case ends successfully (i.e. in this case no need for Step6)
You mean that the default metadata values of a collection could be understood as default collection item? This is true, but brings another level of complexity because three UCs are called in sequence. This also would mean to select the collection twice. Actually, I'm quite fine with the current UCs, is it worth reworking? --Inga 21:32, 30 December 2007 (CET)

[Comment Nicole:] I agree to Inga's comment. Natasa, please check Inga's comment and remove the comment on Step 5 if you agree with Inga and me. --Nicole 09:58, 8 January 2008 (CET)

  • Is it mandatory that we provide default values for the users or allow them to choose? In this case Step 5 should be optional. --Natasa 13:25, 21 December 2007 (CET)
This proposal is related to your comment above. If the creation of an item should no longer be described in "create item" then we could make step 5 optional. Anyway, I still would like to create the item here. --Inga 20:12, 30 December 2007 (CET)

[Comment Nicole:] I agree to Inga's comment. Natasa, please check Inga's comment and remove the comment on Step 5 if you agree with Inga and me. --Nicole 09:58, 8 January 2008 (CET)

[End-Dev-QA]

  • 6. Continue with use case UC_PM_SM_02 edit item with the new item as selected item and the validation point "submit" as selected validation point. The use case ends successfully.

[Start-Dev-QA]

Step 6: The validation point is only known in the edit item use case i.e. if the user chooses to only save the item - validation point is not submit but "default". Only if users triggers the "submit" action, validation point "submit" is checked. --Natasa 13:08, 21 December 2007 (CET)

The concept of a default validation point is new to me! In fact, the edit use case can be executed by various users at different stages in the publication and modification workflows. UC_PM_SM_02 edit item has an extension point "validate item" which should give users the option to check if the selected item already conform to the rules defined for the next workflow step. The relevant validation points are specified in the workflow diagrams (see Systemspecification_Pubman.doc). Therefore, we could delete the validation point information from here. --Inga 22:11, 30 December 2007 (CET)
BTW: If validation is not possible for a not stored item version, we should delete the extension point mentioned above from UC_PM_SM_02 edit item. It's quite reasonable that our users would be happy with an edit mask which has the required field marked as well. Anyway, this would be context/workflow stage dependent as well. --Inga 22:11, 30 December 2007 (CET)

[Comment Nicole:] Natasa, please check Inga's comment. --Nicole 09:58, 8 January 2008 (CET)

[End-Dev-QA]

Alternatives[edit]

  • 2a If the user has Depositor rights for only one collection, the collection selection is automatically performed by the system.
    • 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.
    • 1. Continue with Flow of Events step 5.

[Start-Dev-QA]

  • Note: There may be changes in user rights between the time user has stated the default depositing collection and the time of submission.
Agreed and above description extended as suggested. --Inga 01:59, 31 December 2007 (CET)

[Comment Nicole:] Natasa, please check and remove the comments if it is okay. --Nicole 10:03, 8 January 2008 (CET)

  • Note: There is always a time lack between collection selection and the actual submission. We probably should extend step 2 in UC_PM_SM_03 submit item to check for user privileges again. --Inga 01:59, 31 December 2007 (CET)
  • Further Alternative:
    • Step4a: The user cancels the process of creating a new item. The use case ends without success.
The functional team agreed not to explicitly describe each cancel action separately, but to assume that every started action can be canceled by the user. In fact, he/she can always close a browser window or use the browser buttons to return to the previous page. Could we make this note somewhere once instead of repeating the information in each UC? --Inga 02:33, 31 December 2007 (CET)

[Comment Nicole:] Natasa, Ulla, if you know an appropriate place to put this kind of information, please tell it and I will add it there. [Comment Natasa:] We need to make sure that the dev team also does not assume - but rather have a precise information - whether this will be done on GUI level or on UC spec level - it should be done properly otherwise it might not be implemented due to misunderstanding. --Natasa 17:27, 16 January 2008 (CET)

I agree that the fetch metadata trigger is 'closer' to UC_PM_SM_01 create item then to UC_PM_SM_02 edit item. We only put it to the second because we had the vision of a combined edit mask where you either could specify an identifier to fetch an existing record or enter the metadata manually... I guess we still have... --Inga 03:02, 31 December 2007 (CET)

[Comment Nicole:] Natasa, please check and remove the comments if it is okay. --Nicole 10:03, 8 January 2008 (CET)

[End-Dev-QA]

Post-Conditions / Results[edit]

  • A new item with the user as the owner has been created.

Discussion[edit]

Talk:PubMan_Func_Spec_Submission#UC_PM_SM_01_create_item

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.
Note: should be better precised and clarified in general. ToDo DevTeam+FE--Natasa 14:32, 21 December 2007 (CET)
I have no clue who added the references to the validation points and what the default validation point may be. Please note that the workflow diagrams provide information which validation point is relevant --Inga 20:26, 30 December 2007 (CET)

[Comment Nicole:] I also don't know, who put the validation points into the UC, because in the last MS Word version it was not in... I would suggest to remove them and give a hint to the workflows in CoLab instead, see: http://colab.mpdl.mpg.de/mediawiki/PubMan_Workflows Natasa, Inga, what do you think? --Nicole 10:09, 8 January 2008 (CET)

[Start-Dev-QA]

See also comment for the use case fetch_metadata_from_external_system. Proposal to include this use case by fetch metadata use case and not to extend it. --Natasa 14:05, 21 December 2007 (CET)

[Comment Nicole:] I think the way it is described now is fine. Ulla, Inga, what do you think? --Nicole 10:09, 8 January 2008 (CET)

[End-Dev-QA]

Actors[edit]

  • Depositor
  • Moderator
  • Metadata Editor

Pre-Conditions[edit]

  • One item is selected.
Last item version is selected ?--Natasa 14:39, 21 December 2007 (CET)
Comment Inga: We discussed this issue in the functional meetings and decided to always use item instead of item version in the pre-condition. In addition, the Systemspecification_Pubman.doc states: "To each workflow task the selected item is associated and the item title is copied to the object information of the task". We also specified FE_PM_08 Locking to work on the complete item. I would suggest to change this only if the given phrase causes confusion because this would require a certain amount of modifications. --Inga 03:15, 31 December 2007 (CET)
Comment Natasa: I have put smth on discussion page regarding this proposal. In case of Edit item, we can only edit the last version of the item. This is important because then dev team will have to know that only for the last version of the item action link edit item should be provided. If we do not have this information, then it will be pretty confusing. Sometimes we are over-precised, and some times we are over general :) we probably need to find some balance in here. --Natasa 17:15, 16 January 2008 (CET)

[Comment Nicole:] I would put this information in the same place as the information on "that every started action can be canceled by the user". Natasa, Ulla, please suggest an appropriate place, as I mentioned before. --Nicole 10:12, 8 January 2008 (CET)

  • One validation point is selected.
  • The last item version is in state "pending", "in rework" or "submitted".

Flow of Events[edit]

  • 1. The user chooses to edit the selected item or the item was selected by a previous use case.
  • 2. If this use case was not triggered by another use case, the system creates a new item version with the same state as the state of the previous version.

[Start-Dev-QA]

Proposal: remove Step2 --Natasa 13:49, 21 December 2007 (CET)

[Comment Nicole:] I am not sure if it makes sense to remove step 2. I think it is an important information for versioning. --Nicole 10:22, 8 January 2008 (CET) [Comment Natasa:] I see no information in step 2 and is very confusing. The system creates a new item version only after the edit item end successfully and not in the beginning to my understanding. --Natasa 17:25, 16 January 2008 (CET)

[End-Dev-QA]

  • 3. The system displays an edit view for the last version of the item.
  • 4. Extension point: fetch metadata

[Start-Dev-QA]

Proposal: remove Step 4, 4.1 --Natasa 13:49, 21 December 2007 (CET)

See my comment above. --Inga 20:01, 1 January 2008 (CET)

[Comment Nicole:] As Inga mentioned above, I would keep fetch MD as extension point, because we had the vision of a combined edit mask where you either could specify an identifier to fetch an existing record or enter the metadata manually. Natasa, Ulla, what do you think? --Nicole 10:29, 8 January 2008 (CET) [Comment Natasa:] I put in addition some info on discussion page. The Functional team point is understood, but then we are again going for a big edit mask where all possibilities are displayed at once. To me personally (if I would like to submit an item) this is very complex. If i would be a user and would like to fetch metadata from somewhere else, I am coming with that idea already before the edit mask and not after i come to the edit mask .. Probably only a personal preference :) --Natasa 17:25, 16 January 2008 (CET)

[End-Dev-QA]

  • 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.
  • 7. (Optionally) The user adds one or more files to the item.
    • 7.1. The system prompts for the path of the file.
    • 7.2. The user enters the path to the file and confirms the input.
    • 7.3. The system uploads the file.
    • 7.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.
    • 7.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.
    • 7.6. The system identifies the mime type of the file and sets the information to the file.
    • 7.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.
    • 7.8. The system sets default values for file attributes (i.e. the file visibility) from the collection settings.
    • 7.9. The system displays an edit view for the file.
    • 7.10. The user selects the visibility if not already set and the content type.
    • 7.11. (Optionally) The user changes the visibility, the content type, the mime type or enters a description.
    • 7.12. If the user has chosen the visibility "Organizational unit" the system shows a list of all open organizational units.
      • 7.12.1. The user selects one or more organizational units and confirms the choice.
      • 7.12.2. The system sets the file to be visible by the selected organizational units.
    • 7.13. The user confirms the entries.
    • 7.14. The system links the file to the item.

[Start-GUI-QA]

Does it mean the system stores the file locator only? If the system looks for the file/downloads it I would recommend to confirm right after typing the locator just to save work if the link is somehow wrong. Rupert 07:10, 29 December 2007 (CET)

In step 7.3 the file is uploaded from the path specified in step 7.2. We assumed that the operating system will support the user in selecting available files only. Please note, that thie UC only considers file upload from a local or a network drive and not from the internet (via providing an URL). The functional team discarded the second option because this would require additional processes, e.g. exception handling if the site is currently not available. --Inga 20:23, 1 January 2008 (CET)

[Comment Nicole:] Rupert, please check Inga's comment and remove the GUI-QA comments, if it is fine for you.

[End-GUI-QA]

  • 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.
  • 9. (Optionally) The user modifies the attributes of one file.
    • 9.1. The system displays an edit view for the file.
    • 9.2. (Optionally) The user changes the visibility, the content type, the mime type, the locator or enters a description.
      • 9.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.
    • 9.3. (Optionally) The visibility is "Organizational unit" and the user chooses to change the organizational units the file is visible by.
      • 9.3.1. The system shows a list of all open organizational units.
      • 9.3.2. The user selects one or more organizational units and confirms the choice.
      • 9.3.3. The system sets the file to be visible by the selected organizational units.
    • 9.4. The user confirms the entries.

[Start-Dev-QA]

Proposal: rework Steps 7-9.4 as separate use case(s) all steps regarding file-handling should be separate system use case --Natasa 13:49, 21 December 2007 (CET)

A system use case? But many of the steps described between 7 and 9 are user actions.
In my opionion, a separate use case is only required if pubman should support addition files or modification of file attributes without editing the item. Which advantage do we gain from reworking? --Inga 20:01, 1 January 2008 (CET)
No, was not thinking on a system use case. But on a separate use case (extension point). Advantage is: easy to maintain/read use case and inclusion somewhere else not only in pubman. --Natasa 17:25, 16 January 2008 (CET)

[Comment Nicole:] I would personally not invest extra time unless the use case is not understandable. Natasa, Ulla, what do you think? --Nicole 10:29, 8 January 2008 (CET)

[End-Dev-QA]

  • 10. (Optionally) The user removes one file.
  • 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. The user chooses to finalize the work process by saving the item data.
  • 13. The system checks if any edit changes were done.
    • 13.1. If any edit changes were done, the system creates and stores the item version.
    • 13.2. If no changes were done, the system displays an error message (MSG_PM_SM_09). Continue with step 3.
  • 14. The system displays a success message (MSG_PM_SM_01). The use case ends successfully.

Post-Conditions / Results[edit]

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

Discussion[edit]

Talk:PubMan_Func_Spec_Submission#UC_PM_SM_02_edit_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 an item.
item version--Natasa 14:39, 21 December 2007 (CET)
Comment Inga: see my comment above --Inga 20:27, 1 January 2008 (CET)

[Comment Nicole:] I would put this information in the same place as the information on "that every started action can be canceled by the user". Natasa, Ulla, please suggest an appropriate place, as I mentioned before. --Nicole 10:31, 8 January 2008 (CET)

Actors[edit]

  • Depositor

Pre-Conditions[edit]

  • One item is selected.
  • The last item version is in state "pending" or "in rework".
Comment Galina: Check if "the user is the owner.. " must be a precondition
Comment uat: As this UC is now also included by modification workflow it cannot be a precondition. Am I right?
Comment Inga: According to the worfklow diagrams, the submit UC is only used by the depositor while submission/modification. So we could make ownership to a pre-condition. --Inga 20:31, 1 January 2008 (CET)
The user has privilege to submit the item in the current collection of the item. --Natasa 14:43, 21 December 2007 (CET)
I wouldn't define this as a pre-condition, but handle it as exception in step 2 of the flow of event, see proposal below. --Inga 02:18, 31 December 2007 (CET)
My proposal was motivated from not giving the user at all possibility to even see the link submit item if she has not privileges to do so, it is minor stuff, so no need to discuss further, as long as exception is there --Natasa 17:33, 16 January 2008 (CET)

[Comment Nicole:] Ulla, Natasa, please check Inga's proposal and remove the comments if you agree with Inga's proposal. --Nicole 10:32, 8 January 2008 (CET)

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. Include use case UC_PM_SM_09 validate item for validation point "submit".
  • 4. The system checks the validation report status.
    • a. The validation report status is valid.
    • 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.
  • 5. The system prompts for a confirmation of the submission.
  • 6. (Optionally) The user enters a comment for the submission.
  • 7. The user confirms the submission.

[Start-Dev-QA]

In fact at this point the system must check if the collection of the item is in state "opened". Proposal, move step 2 after step 7, or omit the step 2 in any case, as the framework should do this validation.--Natasa 15:06, 21 December 2007 (CET)

The idea was to inform the user as soon as possible if the item cannot be submitted and to provide him with context-sensitive instructions (see corresponding error messages). It could cause confusion, if she/he is able to confirm the submission even the collection is closed.
BTW: If the error messages are created by the pubman solution itself or just handed over from the framework makes no difference from user's perspective --Inga 20:47, 1 January 2008 (CET)

[End-Dev-QA]

  • 8. The system sets the status of the item version to "submitted".
  • 9. The system displays a success message (MSG_PM_SM_04). The use case ends successfully.

Alternatives[edit]

  • 7a. The user does not confirm to submit the item.
    • 1. The selected item is unaffected. The use case ends without success.

Post-Conditions / Results[edit]

  • The item version is in state "submitted".

Discussion[edit]

Talk:PubMan_Func_Spec_Submission#UC_PM_SM_03_submit_item

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.

[Start-Dev-QA]

Proposal: The "fetch" metadata is actually a single item ingestion. Should be excluded from UC_PM_SM_02_edit_item and included as separate start use-case (such as create item, create item from template) because it raises a lot of complexity in edit item.--Natasa 13:52, 21 December 2007 (CET)

This idea was discussed in a meeting of the functional team and at that time, we explicitely decided against a separate start use-case for "create-item-via-metadata-fetch" because we wanted to provide the user with this possibility on the edit interface. I guess it's a question of personal preference... --Inga 20:53, 1 January 2008 (CET)

[Comment Nicole:] Natasa, Ulla, please decide. I would agree to Inga and leave it as it is, unless it is too hard to understand the UC. --Nicole 11:25, 8 January 2008 (CET)

From the usability point of view it would be ok to have the 'fetch metadata' at the time, the user has to provide it (in the edit mask). Otherwise the user is confronted with a new question before he can enter the edit item mask. Rupert 13:53, 8 January 2008 (CET)
[Comment Natasa:] To my understanding, we can even have the following flow of events: user selects item as a template to create a new item, goes to the edit mask, and there fetches the metadata from another source, because it is offered on the edit mask as well. In this case, technically we need to know from where we came into the edit mask, and disable/enable some features e.g. if user came from create from template -> do not allow fetch metadata; if user created an item with the default metadata of the collection inherited -> allow fetch metadata --Natasa 17:40, 16 January 2008 (CET)

[End-Dev-QA]

Status/Schedule[edit]

  • Status: in specification
  • Schedule:R3

Triggers[edit]

  • The user wants to fetch the metadata of an item from an external system.
  • This use case is included by the use case UC_PM_SM_02 edit item.
Proposal: remove the inclusion in edit item use case, but do it vice-versa. --Natasa 15:16, 21 December 2007 (CET)
See comment above. --Inga 20:54, 1 January 2008 (CET)

[Comment Nicole:] See comment above. Should be decided by Ulla and Natasa. --Nicole 11:25, 8 January 2008 (CET)

Actors[edit]

  • Depositor

Pre-Conditions[edit]

  • One item is selected.
  • The item is not persistent.
  • The user is the owner of the item version.

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 confirms the input.
  • 4. The system queries for item metadata with the specified ID.
    • 4.a. The system receives item metadata for the specified ID and transforms the received metadata to metadata values of the internal metadata set. These metadata values overwrite the existing metadata values of the item. The use case ends successfully.

[QA-Dev-Start]

Proposal: Instead "use case ends successfully" use "Continue with use case UC_PM_SM_02 edit item " --Natasa 15:31, 21 December 2007 (CET)

See comment above --Inga 20:56, 1 January 2008 (CET)

[QA-Dev-End]

    • b. The query fails. The system does not receive item metadata for the specified ID. The system displays an error message. Continue with step 2.

Post-Conditions / Results[edit]

  • Fetched metadata are transferred to the item version.


Discussion[edit]

Talk:PubMan_Func_Spec_Submission#UC_PM_SM_04_fetch_metadata_from_external_system

UC_PM_SM_05 create item from template[edit]

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: not implemented
  • Schedule:to be defined

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

Discussion[edit]

Talk:PubMan_Func_Spec_Submission#UC_PM_SM_05_create_item_from_template

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, all existing relations where this item is a source item and displays a success message (MSG_PM_SM_05). The use case ends successfully.

Post-Conditions / Results[edit]

  • The selected item is deleted.

Discussion[edit]

Talk:PubMan_Func_Spec_Submission#UC_PM_SM_06_delete_item

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.

Discussion[edit]

Talk:PubMan_Func_Spec_Submission#UC_PM_SM_07_change_collection_of_item

UC_PM_SM_09 validate item[edit]

The last version of an item has to be validated.

Status/Schedule[edit]

  • Status: implemented
  • Schedule:R1

Triggers[edit]

  • The item has to be validated.
  • This use case is included by the use cases UC_PM_QA_01 confirm pre-check item, UC_PM_QA_03 accept item, UC_PM_QA_10 accept and authorize item, UC_PM_QA_11 modify item, UC_PM_SM_02 edit item, UC_PM_SM_03 submit item.

Actors[edit]

  • System

Pre-Conditions[edit]

  • One item is selected.
  • One validation point is selected.

Flow of Events[edit]

  • 1. [Not R3] The system identifies possible duplicate items.
  • 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 of the data of the last version of the item, the possible duplicate items and the check results.
  • 4. [Not R3] Include use case UC_PM_SM_10 handle duplicate items.
  • 5. Use case ends successfully.

Post-Conditions / Results[edit]

  • None

Discussion[edit]

Talk:PubMan_Func_Spec_Submission#UC_PM_SM_09_validate_item

UC_PM_SM_11 create new revision of item[edit]

The user creates a new revision of the item. This action creates a new item and a relation of type "IsRevisionOf" from the new item to the selected item.

Status/Schedule[edit]

  • Status: in specification
  • Schedule:R3

Triggers[edit]

  • The user wants to create an intellectually revised item.

Actors[edit]

  • Depositor

Pre-Conditions[edit]

  • One item is selected.
One item version is selected?--Natasa 15:50, 21 December 2007 (CET)
See comment above --Inga 21:05, 1 January 2008 (CET)
  • At least one item version is in state "released".

Flow of Events[edit]

  • 1. The user chooses to create a new revision for the selected item.
  • 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.
  • 6. The system displays a list of all collections for which the user has the privileges as Depositor.
  • 7. (optionally) The user chooses to view the collection description.
    • 7.1. The system displays the collection description.
  • 8. The user selects a collection as target collection and confirms the choice.
  • 9. The system checks if the genre of the selected item is an allowed genre in the target collection.
    • a. The genre is an allowed genre in the target collcetion. Procceed with step 10.
    • b. The genre is not an allowed genre in the taget collection. The system displays a warning message saying, that the genre is not an allowed genre in the target collection and that if he does not change the genre, he will not be able to submit.
My proposal and the most straightforward solution imho would be: do not inherit the genre in this case at all, do not do anything else i.e. no system message displayed and no automated addition of new genre--Natasa 11:15, 21 December 2007 (CET)

[Comment Nicole:] This is dependant on if we will have genre specific MD or not in the future. If we have genre specific MD the step should stay as it is now. Ulla, Inga, what do you think? --Nicole 11:31, 8 January 2008 (CET)

  • 10. The system creates a new item with the user as the owner in the target collection. The item version is in state "pending" and has a relation of type "isRevisionOf" to the selected item. The default values for attributes and metadata values are inherited from the metadata set and the target collection settings. Collection settings overwrite values inherited from the metadata set. Following metadata values are prefilled from the selected item:
  • Genre
  • Creator
  • Title
  • Language
  • AlternativeTitle
  • Subject
  • 11. Continue with use case UC_PM_SM_02 edit item with the new item as selected item and the validation point "submit" as selected validation point. The use case ends successfully.

[Start-GUI-QA]

A message would be good: You have successfully created a new revision in state pending. Rupert 08:29, 30 December 2007 (CET)

Please note that the new revision is not permanently stored before the user saves it at the end of the edit UC.
Until now, we haven't considered many intermediate information in the UCs, e.g. information like "You have successfully created a new item" or "You have successfully executed a search
are missing. Anyway, it is fine for me if additional instructions are considered while GUI design. --Inga 21:14, 1 January 2008 (CET)

[Comment Nicole:] Rupert, please check Inga's comment and remove the GUI-QA comments if you agree with Inga. --Nicole 11:31, 8 January 2008 (CET)

[End-GUI-QA]

Alternative[edit]

  • 6a If the user has Depositor rights for only one collection, the collection selection is automatically performed by the system.
    • 1. Continue with Flow of Events step 9.
  • 6b If the user has in his/her private preferences defined a target collection the system automatically selects the collection.
    • 1. Continue with Flow of Events step 9.

Post-Conditions / Results[edit]

  • A new item with the user as owner and a relation of type "isRevisionOf" to the selected item have been created.

Discussion[edit]

Talk:PubMan_Func_Spec_Submission#UC_PM_SM_11_create_new_revision_of_item

Additional Information[edit]

Submission activities[edit]

https://zim01.gwdg.de/repos/smc/tags/public/PubMan/Submission_activities.gif

Figure: Graphical representation of the submission activities in PubMan

Creating organizations in Metadata[edit]

To provide information for the metadata element "Organization" the user has to select an organizational unit from the organizational unit structure. In this case for every path of the selected organizational unit in the organizational unit structure (an organizational unit can have more than one parent organizational unit) a metadata value "Organization" is created by the system. If only one "Organization" is allowed, only one metadata value "Organization" is created for the path taken by the user to select the organizational unit. The "Name" value is derived from the organizational unit path, the "Address" value is copied from the selected organizational unit. Additionally a link to the selected organizational unit is created by copying the organizational unit id. Afterwards the user can edit the name and the address of the organization or delete a complete organization. The modified values are stored in the metadata set, the data in the organizational unit structure is unaffected.

File attributes[edit]

  • Id: A unique identifier of the file within the system. Has to be given at creation time.
  • Name: The name of the file including the extension.
  • Visibility: The visibility of the file for users of the system.
    • Valid values:
      • Public
      • Organizational unit
      • Private
  • Description: A short description of the file.
  • PID: The persistent identifier of the file if the item is released.
    • Handle Prefix + Item Id + File Id
  • Content: The data of the file.
  • Type: The type of the file.
    • Valid values:
      • any full text
      • pre-print
      • post-print
      • publisher version
      • abstract
      • table of contents
      • supplementary material
      • copyright transfer agreement
      • correspondence
  • Size: The size of the file in Bytes.
    • Has to be zero if no content is given.
  • Locator: The location from which the data of the file has to be fetched.
    • If the data could not be fetched it has to be retried in reasonable intervals.
  • MIME-Type: The MIME-type of this format.
  • usage statement: copyright license/statement

HTML Prototype[edit]

Prototype for Submission