PAHMA "Location Movement"
Overview
Location Movement is the term used to describe the process of changing the location of certain Locations (prototypically "crates") from one place to another.
See Crates and other mobile containers for use cases.
Below two workflows are described which implement Location Movement (with wireframes), and further below a functional description of the changes required to database content to accomplish this change of state.
Location Movement is quite different from Location and Movement L/M and Location, Movement, and Inventory L/M/I. These latter processes cover the change of location of Objects and sets of Objects.
Sample Workflow I: Move a movable location to a new location
- User visits or creates a Storage Location record which has the "Movable" option selected.
- User clicks on the "Move" button (which only appears for Locations which are movable and which the user is authorized to move). A popup allows user to select a new (parent) Location for this Location. (Alternatively, there is no "Move" button, but when the user attempts to alter the BT value in the hierarchy subform of a movable location, the Move popup appears.)
- User specifies the new location, enters any additional crate move data required, and clicks Save on popup or other control (i.e. dismisses popup/control).
- User clicks Save, which "creates new from existing", a new Storage Location record with the desired properties.
Sample Workflow II: Challenge when moving an object in a Movable Location
- User attempts to initiate a movement for an Object in a Movable Location.
- A "validator" (popup) checks with user whether entire Location be moved? If yes, go to step 3. Otherwise, proceed to the normal L/M/I workflow.
- Bring up Location record for this Object, workflow proceeds as in Workflow I above.
Implemention of Location Movement
Under the hood, clicking on Save above results in the following:
- A new Storage Location record is create, with the new Parent.
- This record has a new displayName, a concatenation of the Parent+Location.
- A Batch process is kicked off to generate movement records and relations for each object in the movable location.
Notes
- Need to figure out what other values need to be set: e.g. ReasonForMove? Dates?
- The proposed workflow requires that a batch process (with parameters) be kicked off when an Authority record is saved under certain conditions. The process would invoke a process similar to, perhaps even identical to, the proposed procedure for "Plan future move for group of cataloging records" described in:
- Parenthetically, it seems likely that a similar
"batch-process-kickoff-on-hierarchy-change-in-authority" will be needed in
other contexts, e.g. changes to concept hierarchies.