Skip to end of metadata
Go to start of metadata

IN PROGRESS

MODNOTES-164 - Getting issue details... STATUS

Participants:

RoleNameApproval
Solution Architect
Java Lead
Product Owner

Spike objective: show note pop-up on the Users/Check out app based on the flags 

Spike goal: define a way to inform applications about showing a note pop-up

Proposed solution:

Extend an existing note schema by allowing users to set up an additional properties. As a result we will have a note with properties for applications. Once Users/Check out application gets note with specific property, it decides to show a note to user.

{
	"$schema":"http://json-schema.org/draft-04/schema#",
	"type":"object",
	"description":"Notes about all kind of objects",
	"additionalProperties":true,
	"properties":{
		"id":{
		"type":"string",
		"description":"Unique generated identifier for the note",
		"$ref":"../../raml-util/schemas/uuid.schema",
		"example":"62d00c36-a94f-434d-9cd2-c7ea159303da"
	},
	"typeId":{
		"type":"string",
		"description":"Type id of note",
		"$ref":"../../raml-util/schemas/uuid.schema",
		"example":"13d00c36-a94f-434d-9cd2-c7ea159303da"
	},
	"type":{
		"type":"string",
		"description":"Type of note (configured in settings)",
		"example":"Access issues",
		"readonly":true
	},
	"domain":{
		"type":"string",
		"description":"Domain associated with this note",
		"example":"eholdings"
	},
	"title":{
		"type":"string",
		"maxLength":255,
		"description":"Note title",
		"example":"BU Campus only issues"
	},
	"content":{
		"type":"string",
		"description":"Content of the note",
		"example":"There are access issues at BU campus"
	},
	"status":{
		"type":"string",
		"description":"Status of note - applies when searching by link.id and status",
		"enum":["ASSIGNED","UNASSIGNED"],
		"example":"ASSIGNED",
		"readonly":true
	},
	"creator":{
		"type":"object",
		"description":"User display info for creator of the note",
		"$ref":"userDisplayInfo.json",
		"readonly":true
	},
	"updater":{
		"type":"object",
		"description":"User display info for updater of the note",
		"$ref":"userDisplayInfo.json",
		"readonly":true
	},
	"metadata":{
		"type":"object",
		"$ref":"../../raml-util/schemas/metadata.schema",
		"readonly":true
	},
	"links":{
		"description":"Collection of links to associated objects",
		"type":"array",
		"items":{
			"type":"object",
			"$ref":"link.json"
		}
	}
},
"required":[
	"typeId",
	"title",
	"domain",
	"links"
	]
}

Proposed property values by app:

  • Users app - popUpOnUser
  • Check out app - popUpOnCheckOut


Example for note in mod-notes
{
	"id" : "11111111-1111-1111-1111-111111111111",
	"typeId" : "22222222-2222-2222-2222-222222222222",
	"domain" : "users",
	"title" : "test_title ",
	"content" : "test_content",
	"creator" : {
		"lastName" : "TEST_LAST_NAME",
		"firstName" : "TEST_FIRST_NAME"
	},
	"metadata" : {
		"createdDate" : "2019-12-03T09:21:57.793+00:00",
		"createdByUserId" : "00000000-0000-0000-0000-000000000000",
		"createdByUsername" : "test_user",
		"updatedDate" : "2019-12-03T09:21:57.793+00:00",
		"updatedByUserId" : "00000000-0000-0000-0000-000000000000"
	},
	"links" : [ {
		"id" : "55555555-5555-5555-5555-555555555555",
		"type" : "user"
	} ],
	"popUpOnUser": true,
	"popUpOnCheckOut": true
}

Pros:

  • Simple solution with not much changes needed.
  • Filtering: should be investigated

Cons:

  • "popUpOnUser", "popUpOnCheckOut" tags considered as a specific case for marking notes and will not be stored to the "tags" table from the mod-tags. It means that on

    GET .../tags 

    request, user will receive set of tags shared across FOLIO and they will not include pop-up tags for Users/Check out app.

  • Tags proposed for this solution will be known only for UI.

Questions & Answers:

1Will it be needed to search on those apps to find pop-up notes ? 

Implementation Stories:

  • Extend existing note schema to add tags (Back-end mod-notes) - MODNOTES-165 - Getting issue details... STATUS
  • Update Note pop-up by adding checkboxes for Users/Check out app (Front-end) - UINOTES-97 - Getting issue details... STATUS
  • Support note pop-up for Users app by tag (Front-end) - UIU-2008 - Getting issue details... STATUS
  • Support note pop-up for Check out app by tag (Front-end) - 
  • No labels

3 Comments

  1. Natalia Zaitseva, are you proposing the following workflow? 

    1. Display a tag field on a User note record. Checkout app has no records or notes.
    2. User can select system generated tags of popUponUser and popUponCheckout
    3. If the user selects popUponCheckout then the frontend can use this value to trigger the display of the note assigned this tag to display on the Checkout app when the user selects the user with that note.

    Was Denys Bohdanrecommendation of using Note types considered? 

    And could this be a broader approach of integrating tags with notes? 

  2. Khalilah Gambrell and Natalia Zaitseva If there's talk of integrating tags with notes, please include me (Tags PO). I know some libraries are interested in controlled vocabulary for tags, but some are wanting them to be uncontrolled. Thank you!

  3. Ann-Marie Breaux sorry for probably misleading you by thinking about the "integration notes with tags". It is not the spike goal, there was a conversation about a way to notify users by showing a note pop-up.