Participating Applications
CITI (Collections Management System)
Jira Service Desk (JSD)
NETX (Digital Asset Management System)
Types of request(6 Types)
Object Type Photography(same workflow as Conservation Photography)
Gallery Rotation Photography request
Exhibition Photography request
Labwork Request
Archive Request
Non-Object Photography
Ways to initiate a request for a asset through CITI for each request type
From CITI(Pre-population from CITI is required through GET request URL)
Object Photography
Exhibition Photography
Gallery Photography
Labwork(For data in CITI)
From JSD Customer form (Pre-population from CITI is not required)
Archive Photography
Non-Object Photography
Labwork(For data not in CITI)
Note: CITI will only be passing us the object ids in the URL. Rest of the information about the object will have to pulled from CITI’s captions api itself
Steps for pre-population of data (Valid for Object, Exhibition,Gallery and Labwork(For data in CITI) photography only)
User will perform some action in CITI which will open up tab(tabs) in the user’s browser
CITI app will pass object ids in the URL
JSD will capture these ids in the url and will make calls to CITI’s caption api to get the details
JSD will populate the customer portal form with data pulled from captions api
User will now fill the rest of the form and will submit the ticket
Different Cases for Multi-Object and parent child scenarios -
Case Name(passed as parameter through url by CITI) | Case Details |
---|---|
case1 | Parent and children having same values for fields except object ids (For Object Photography only) |
case2 | Parent and children having different values for form fields (For Object Photography only) |
case3 | Multi object scenario with all objects having same field values (For Object Photography and Labwork only) |
case4 | Multi object scenario with all objects having different field values (For Object Photography and Labwork only) |
case5 | Gallery Rotation Photography (For Gallery Rotation Photography only) |
case6 | Exhibition Photography (For Exhibition Photography only) |
Ways in which request can be made from CITI -
Object Photography with multi object relationship
Type | Action | Details | URL to be called from CITI | Process of creation of tickets in JIRA |
Multi object scenario with all objects having same field values | User requests using the CITI app | User will perform an action in CITI app which will open a browser and a GET request will be made to JSD customer portal | {base_url}?type=case3&ids=43243,434213,432143,45325432 | Create one ticket for the request and for each object in the request create a sub-task for the main ticket and copy over all the details from main ticket. Main ticket should be closed when all sub-task tickets are closed Filenames are generated for each sub-tasks |
Multi object scenario with all objects having different field values | User requests using the CITI app | Multiple tabs will be opened(limited to 10 per order) one for each object | Tab1 - {base_url}?type=case4&requestId=123&id=43243 Tab2 - {base_url}?type=case5&requestId=123&id=53743 requestId - we need an identifier to link all these requests in JSD. This identifier should be common for all the requests across all the tabs. | One main ticket will be created and all the tickets will be sub-tasks for the main ticket Main ticket should be closed when all sub-task tickets are closed Filenames are generated for each sub-tasks |
Object Photography with parent-child relationship
Type | Action | Details | URL to be called from CITI | Process of creation of tickets in JIRA |
Parent and children having same values for fields | User requests using the CITI app | User will perform an action in CITI app which will open a browser and a GET request will be made to JSD customer portal | {base_url}?type=case1&ids=43243,434213,432143,45325432 | Create one main ticket for the request. For parent and each child object in the request create a sub-task under the main ticket. Main ticket should be closed when all sub-task tickets are closed Filenames are generated for each sub-tasks |
Parent and children having different values for form fields | User requests using the CITI app | Multiple tabs will be opened(limited to 10 per order) one for each object | Tab1 - {base_url}?type=case2&parentId=43243&childId=65443 Tab2 - {base_url}?type=case2&parentId=43243&childId=26553 | Create one main ticket for the request. For parent and each child object in the request create a sub-task under the main ticket. Main ticket should be closed when all sub-task tickets are closed Filenames are generated for each sub-tasks |
Note : Parent child relationship and multi-object scenarios are only valid for Object type photography
Gallery Rotation Photography
Action | Details | URL to be called from CITI |
User requests using the CITI app | User will perform an action in CITI app which will open a browser and a GET request will be made to JSD customer portal | {base_url}?type=case5&id=54324 |
Exhibition Photography
Action | Details | URL to be called from CITI |
User requests using the CITI app | User will perform an action in CITI app which will open a browser and a GET request will be made to JSD customer portal | {base_url}?type=case6&id=54324 |
Labwork(For Data in CITI)
Case | Action | Details | URL to be called from CITI |
Single order for object asset labwork, Exhibition asset labwork or gallery rotation asset labwork | User requests using the CITI app for data present in CITI app | User will perform an action in CITI app which will open a browser and a GET request will be made to JSD customer portal | {base_url}?type=case3&id=54324,54645,6543743,343254 |
Multiple orders for object asset labwork, Exhibition asset labwork or gallery rotation asset labwork | User requests using the CITI app for data present in CITI app | User will perform an action in CITI app which will open a browser and a GET request will be made to JSD customer portal. All tickets should be related after submission | Tab 1 - {base_url}?type=case4&requestId=123&id=54324 Tab 2 - {base_url}?type=case4&requestId=123&id=54327 requestId - we need an identifier to link all these requests in JSD. This identifier should be common for all the requests across all the tabs. |
Note: For Archive photography, Non-Object photography and Labwork(For data not in CITI) users will directly visit JSD customer portal form and will fill in the details manually. For these there won’t be any data in CITI so there is no need for pre-population of fields.
For all labwork orders we will pull in the following fields from NETX on initiation of request - File Size, dimensions, Resolution, Color Profile, Digital Asset, Creation Date, Original Source, Make, Model, Modified date, MIME type, Focal Length, Aperture and Document Type
When an ticket is completed we will have to pull the NETX link of the asset into one of the fields in JIRA
Types of Requests | Object | Exhibition | Gallery | Non-Object | Archive | Labwork(For Data in CITI) | Labwork(For Data not in CITI) |
Parameters to be sent from CITI | Object Id | Exhibition Id | Exhibition Id | NA(These requests will be initiated directly from JSD) | NA(These requests will be initiated directly from JSD) | assetId | NA(These requests will be initiated directly from JSD) |
File name generation process (For all the request types other than Labwork)
User will create a ticket in JSD using one of the request types
JSD will generate a file name using the following process
JSD will consider the number part of the current Jira ticket for ex. 1234 in IMAGEREQ-1234
JSD will prepend 'J' to the start of the number part. for ex J1234
Now for each option selected in the below fields, JSD is going to generate a unique filename by generating sequential number prepended by '_'
Description of views or details (Checklist. add a view for each option checked)
360 spin needed? (Radio button. If yes, add a view)
Image capture light type (Checklist. add a view for each option checked)
For ex. Let us assume that there are three options checked in ‘Description of views or details', yes for ‘360 spin needed?’ and two options checked for 'Image capture light type’ then there will be six filenames generated as follows J1234_1, J1234_2, J1234_3, J1234_4, J1234_5, J1234_6
JSD will push all the generated filenames in the “File Information“ Jira Field in the CSV format
Process for ingesting data in NETX
At the end of the workflow we can send the data over to NETX. Here JSD will search for the attachment with name ending with “-int“. This will be the final version of the asset which should be pushed to the NETX for ingestion. JSD will also update the NETX field “Incoming Relationship Data“ with json payload that will cover all the cases. for ex.
{
“JSDNumber": “JSD-11“,
"timestamp": "2020-11-04T16:58:04.095Z”,
“exhibition": [
45,
32
],
“object": [
12,
13,
14
]
…..
}
Mapping between Jira and NETX fields to be used while pushing the data to NETX
Jira Field | NETX Field |
---|---|
Filename assigned by Jira | Preferred title |
Filename assigned by Jira | Imaging UID |
Object ID (for Ryerson content) | Ryerson call number |
Object ID | Object ID |
Exhibition ID | Exhibition ID |
Place ID | Place ID |
Photographer assigned | Creator |
Production staff assigned | Contributor |
Description of views or details | Image view |
Treatment status of conservation | Treatment status |
Image capture light type | Image capture light type |
Jira Ticket number | Jira order number |
Jira customer request type | Document type |
Description | Description |
Staff models | Individual(s) depicted |
Original source | Original source |
Analog asset creation date | Analog asset creation date |
Setup | Setup |
Composite? | This image is a composite |
Composite type? | Primary method of composite |
Permissible use | Permissible use |
Download requirements | Download requirements |
Reviewed | Reviewed |
Jira timestamp for QC status | Reviewed date |
Publish status | Publish status |
Note :- Field may not be required. This can be generated dynamically at the time of NETX push | Incoming Relationship Data |