Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

The main purpose of this functionality is to support The National Archives - Moving to Mo Workflow.

User Story

The National Archives is running out of storage space so they want to move some of the less requested/needed items to another depot in Mo. Their desired workflow for this is as follows

  1. They will move the items in several shipments.

  2. Each shipment will contain roughly 6000 items.

  3. An admin user will choose some items from Asta7 for a shipment. They can choose from any level (Arkiv/Arkivdel/Serie/Stykke/Mappe). If they choose from the logical levels (Arkiv/Arkivdel/Serie) all the underlying items will be chosen.

  4. Then they will print QR codes for the chosen items.

  5. The QR codes will then be glued on the items/boxes.

  6. When the shipping company arrives to collect the boxes, they will scan the QR codes with an app on their mobile. The app will then update the status of the collected items in the system as moving.

  7. Once the items reach Mo the QR codes will be scanned again and a request will be made to Asta7 to update the status of those items as moved.

  8. Steps 3 to 7 will repeat for each shipment.

Implementation

As we are moving storage units the implementation involves the Asta7 and Repository modules.

Asta7

Added a new cart component that has support for searching, and removing and can also handle a large amount of items (current limit is 10,000).

An admin user can gather the storage units they want to move in this cart. This is how it will work for different entity types

  • If a Stykke is being added to the cart then Asta7 will fetch the corresponding storage unit from the repository module and if found add that to the cart.

  • If a Mappe (which has a parent of type Serie) is being added to the cart then Asta7 will fetch the corresponding storage unit item from the repository module and if found will add that to the cart.

  • If Arkiv/Arkivdel/Serie is being added to the cart then all the descendants Stykke and Mappe of that item will be gathered and their corresponding storage unit (or storage unit items) will be fetched from the repository module and then added to the cart.

Once they are satisfied with the items in the cart they can start the move process. which will save the items in the repository module. The rest of the process will be handled in the repository module.

Repository

All the StorageUnitMove operations/shipments can be viewed and managed from the repository module.

Domain classes:

StorageUnitMove

This is the parent or wrapper class that represents each move operation/shipment. This has the following properties

Field

Description

id: UUID

Database primary key

shelf: Shelf

The shelf reference where the storage units are being moved. Most likely, a virtual shelf to just hold the storage units.

instituteId: String

Asta7 organization id

projected: String

Asta7 project id

asta7Url: String

URL of the Asta7 instance

done: Boolean

A flag to indicate if all the items have been moved or not.

items: List<StorageUnitMoveItem>

The items (storage unit and/or storage unit items) that are being moved.

StorageUnitMoveItem

This class represents each item (storage unit and/or storage unit item) that is being moved.

Field

Description

id: UUID

Database primary key

entityName: String

Asta7 entity name

objectId: String

Asta7 object _amid

objectTitle: String

Asta5 like object path. In addition it also contains the Arkiv name. Example:
A-1025 - The Archive/A/Aa/L0001

state: Enum

Representing the current status of the item in the moving process. Possible values are:

  1. Started (Initial state)

  2. InProgress (The item has been collected for shipping)

  3. Done (The item has reached Mo)

QR Code Scanner App

An app has been developed as part of the repository module which can scan QR codes and make requests for changing the status of the scanned items.

  • No labels