Difference between revisions of "PubMan Func Spec Organizational Unit Management"

From MPDLMediaWiki
Jump to navigation Jump to search
Line 84: Line 84:
|align="center" style="background:#f0f0f0;"|'''Comment'''
|align="center" style="background:#f0f0f0;"|'''Comment'''
|-
|-
|Can be deleted||Yes<br/> ''if no children exist''||No||No||
|delete OU||Yes<br/> ''If no children exist''||No||No||
|-
|-
|Can be opened||Yes <br/> ''if parents exist they must be in status "Opened"''||No||No||
|open OU||Yes <br/> ''If parents exist they must be in status "Opened"''||No||No||
|-
|-
|hasPredecessor can be specified||Yes||Yes||Yes||''Due to possible end-user errors, agreed to allow specification of predecessors at any time''
|hasPredecessor can be specified||Yes||Yes||Yes||''Due to possible end-user errors, agreed to allow specification of predecessors at any time''
Line 101: Line 101:
|-
|-
|open organizational unit||Yes <br/>''If parent exists, it must be in status "Opened"''||No||No||''If children exist, no effect to children OU''
|open organizational unit||Yes <br/>''If parent exists, it must be in status "Opened"''||No||No||''If children exist, no effect to children OU''
|-
|close organizational unit||No||Yes</br> ''If no children exist or children have status "Closed"'' ||No||
|-
|-
|Can be linked to content resources||No||Yes||Yes||''Content resources: items, containers etc.''
|Can be linked to content resources||No||Yes||Yes||''Content resources: items, containers etc.''
Line 108: Line 110:
|}
|}


    * assign children to an organizational unit in status "created"
          o children must be in status "created"
    * assign children to an organizational unit in status "closed"
          o not allowed
    * assign children to an organizational unit in status "opened"
          o children must be in status "created"
    * remove parent from an organizational unit in status "created"
          o organizational unit must be in status "created"
    * remove parent from an organizational unit in status "opened" or "closed"
          o not allowed
    * remove children
          o (is not directly supported, it is executed via remove parent for child organizations, therefore above rules apply)
    * open organizational unit
          o if parents exist, parents must be in status "opened"
          o if children exist, no effects to children


     * close organizational unit
     * close organizational unit
Line 138: Line 115:
           o if children in status "created" exist the operation should not be allowed (client solution should decide what it needs to do with these children)
           o if children in status "created" exist the operation should not be allowed (client solution should decide what it needs to do with these children)
           o if children is status "closed" only exist the operation should be allowed  
           o if children is status "closed" only exist the operation should be allowed  
    * delete organizational unit
          o can be deleted if in status "created" and if no children exist


[[Category:PubMan|Organizational_Unit_Management]]
[[Category:PubMan|Organizational_Unit_Management]]
[[Category:Functional specification|PubMan Func Spec Organizational Unit Management]]
[[Category:Functional specification|PubMan Func Spec Organizational Unit Management]]

Revision as of 12:41, 2 March 2009

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_OUM_01 Create organizational unit[edit]

The user creates a new organizational unit and specifies the position in the organizational unit structure.

Status/Schedule[edit]

  • Status: implemented
  • Schedule:R3

Triggers[edit]

  • The user wants to create a new organizational unit.

Actors[edit]

  • Service Administrator

Pre-Conditions[edit]

  • None

Flow of Events[edit]

  • 1. The user chooses to create an organizational unit.
  • 2. The system displays an organizational unit details view.
  • 3. The user enters the data for the new organizational unit.
  • 4. (Optionally) The user selects one or more parent organizational units in the organizational unit structure.
  • 5. The user confirms the creation.
  • 6. The system checks if an organizational unit with the given name already exists under the same parent.
    • a. An organizational unit with the given name does not exist under the same parent.
    • b. Otherwise the system displays an error message (MSG_PM_OUM_01), continue with 3.
  • 7. The system creates and stores a new organizational unit in state “open” and the relations to the parent organizational units. The system displays a success message (MSG_PM_OUM_02). The use case ends successfully.

Post-Conditions / Results[edit]

  • The new organizational unit in the state “open” is created.

UC_PM_OUM_02 Edit organizational unit[edit]

The user changes data of an organizational unit.

Status/Schedule[edit]

  • Status: implemented
  • Schedule:R3

Triggers[edit]

  • The user wants to edit the data of an organizational unit.

Actors[edit]

  • Service Administrator

Pre-Conditions[edit]

  • An organizational unit is selected.

Flow of Events[edit]

  • 1. The user chooses to edit the selected organizational unit.
  • 2. The system displays the details of the selected organizational unit in an edit view.
  • 3. (Optionally) The user changes the data for the organizational unit.
  • 4. (Optionally) The user changes the parent organizational units.
  • 5. The user confirms the changes.
  • 6. The system checks if an organizational unit with the given name already exists under the same parent.
    • a. An organizational unit with the given name does not exist under the same parent.
    • b. Otherwise the system displays an error message (MSG_PM_OUM_01), continue with 3.

7. The system stores the changes and displays a success message (MSG_PM_OUM_02). The use case ends successfully.

Post-Conditions / Results[edit]

  • The changed organizational unit is stored.

Future Development[edit]

  • It should be possible to change the order of the organizational units. Currently the org. units are displayed in the org. unit browsing tree displayed in the order they were entered via the admin interfaces.
  • Prepare consequences for editing organisational units (Indexes, searches, browsing)
  • Prepare use cases/scenarios for "tracking history of org units" (ie. merging, closing etc.)
    • Requirement to assign closed organisational units to a publication
    • Requirement to assign pre-decessor to a publication (i.e. publication is published after org unit has merged into another one)

General rules[edit]

The table below shows general rules that need to be supported by the Organizational Unit handler in order to ensure the consistency of organizational unit data. The overall workflow of an organizational unit is:

  1. New organizational unit is created with status "Created"
  2. Organizational unit is valid organizational unit and it can be opened (thus becoming the status "Opened")
  3. Organizational unit does not in reality exist any longer. It is transitted to a status "Closed" in the system.


When an organizational unit is closed it can not be reopened again. Schematically the life-cycle of an organizational unit is simple:


                      CREATED -> OPENED -> CLOSED


Action/Status Created Opened Closed Comment
delete OU Yes
If no children exist
No No
open OU Yes
If parents exist they must be in status "Opened"
No No
hasPredecessor can be specified Yes Yes Yes Due to possible end-user errors, agreed to allow specification of predecessors at any time
hasSuccessor can be specified Yes Yes Yes Due to possible end-user errors, agreed to allow specification of predecessors at any time
assign parent Yes
parent must be in status "Opened" or "Created"
No No
remove parent Yes
parent must be in status "Opened" or "Created"
No No
assign children Yes
children must be in status "Created"
Yes
children must be in status "Created"
No
remove children not to be directly supported, it is to be executed via remove parent for child units, therefore rules remove parent should apply for respective children
open organizational unit Yes
If parent exists, it must be in status "Opened"
No No If children exist, no effect to children OU
close organizational unit No Yes
If no children exist or children have status "Closed"
No
Can be linked to content resources No Yes Yes Content resources: items, containers etc.
Can be linked to a new context No Yes Yes in case a new context is created to manage closed OUs


   * close organizational unit
         o if children in status "opened" the operation should not be allowed (or previously should be assigned to a new parent by the client solution)
         o if children in status "created" exist the operation should not be allowed (client solution should decide what it needs to do with these children)
         o if children is status "closed" only exist the operation should be allowed