Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Below here a table is shown with the identified changes between ECP and Valghalla, based on tasks and user stories

...

Most Jira user stories referenced here has subtasks, references to other user stories and links to Figma where mockups of the desired user interface is
Go-to the Jira user story to see them.

Transformation:

In general we should remove:

  • CreatedByOld

  • ChangedByOld

When changing / removing / adding an Entity we should also update / review:

  • Automapper

  • EntityConfiguration

  • Schema

  • Modules

From all data model entities

person/details/<ID>

Add communication log (reuse event log ?)

Reuse button (Lookup participant) next to the Social security number, should use a service to lookup the core participant data.

Remove:

  • Comment

  • Eventlog (maybe reuse for communication log)

  • Courses

Action

Name

Link

Data notes

Functionality notes

Remove

Materials
Not needed

/administration/material
/building/details/

Remove

Courses
Not needed

Remove CourseEntity
Remove CourseOccasionEntity

/course

Remove

Rooms
Not needed

Remove RoomEntity

/building/details/

Remove

Constituency
Not needed

Remove ConstituencyEntity

/administration/structure

Remove

Parish
Not needed

Remove ParishEntity

/administration/structure

Remove

Sign

Not needed

Remove SignEntity

/building/details/

Remove

Applications
Not needed

FieldAlternativeEntity
FieldDataEntity
FieldEntity
FixedFieldEntity
FixedFieldValueEntity
FormEntity
FormFieldEntity
FormPostEntity

Some of this functionality / components might be useful in the communication portion)
Like the RTF component.

Remove

Forms
Not needed

Change

Templates

Not needed

/administration/templates

  • Remove Blob storage reference

  • Replace with configuration and functionality for file repository mapped to a local file storage

Remove

Electorial district
Not needed, will only use District->Area

Remove ElectoralDistrictEntity

/administration/structure

Investigate

Tag

PersonTagEntity
TagEntity

/administration/category

Decide

Group Type → Team type

GroupTypeEntity
has connection to early voting we don’t need.

/administration/category

New

Validation rules

Jira Legacy
serverSystem JIRA
serverId277b2c09-df07-3469-bccc-a66f399c29a7
keyVALGHAL-131

New entity and table in the data model or as a fixed model (enum or json object) in the code ?
No user should be able to change them.

Reference to a localized string per. entry

  • Show in Election type configuration

  • Use when assigning a task to a user or when a user assigns a task to him/her self

  • Also use when automatically updating the users base data (timer job)

  • No interface for configuration, types are fixed.

New

Election types

Jira Legacy
serverSystem JIRA
serverId277b2c09-df07-3469-bccc-a66f399c29a7
keyVALGHAL-238

New entity and table in the data model.
ElectionTypeEntity

Reference to the selected validation rules

Show in administration area on same level as election.

New

Special diet

Jira Legacy
serverSystem JIRA
serverId277b2c09-df07-3469-bccc-a66f399c29a7
keyVALGHAL-283

New entity and table in the data model
SpecialDietEntity

Perhaps reuse category dialog setup and category card from administration if it makes sense.

New

Election committee contact information

Jira Legacy
serverSystem JIRA
serverId277b2c09-df07-3469-bccc-a66f399c29a7
keyVALGHAL-111

New entity and table in the data model, see fields in figma link on the individual task.
ElectionContactInformationEntity

Show in administration area on same level as election.

Change

Disctrict → Area

Jira Legacy
serverSystem JIRA
serverId277b2c09-df07-3469-bccc-a66f399c29a7
keyVALGHAL-107

Add in DistrictEntity data model

  • Description (string)

Rename DistrictEntity to AreaEntity in source code

Move from structure to administration area on same level as election.

Add field for

  • Description (multi line)

Change

Election

Jira Legacy
serverSystem JIRA
serverId277b2c09-df07-3469-bccc-a66f399c29a7
keyVALGHAL-101

Add in ElectionEntity data model

  • Description (string)

  • Election type reference (guid)

  • Task lock days (int)

  • Election period start date (date no time)

  • Election period end date (date no time)

Change in the entity data model

  • Active / published → change to status model and supply more values, maybe we need to create an enum for this.

Remove in entity data model

  • Constituency dependency

  • Create a wizard for new elections creation

  • Create copy election option

Add fields for

  • Selecting election type (dropdown)

  • Selecting start and end date (calendar for each)

  • Task Lock (default 4 days)
    Supply the default value in the municipal configuration database

New

Election

Jira Legacy
serverSystem JIRA
serverId277b2c09-df07-3469-bccc-a66f399c29a7
keyVALGHAL-321

Automated tasks

  • De-activate election

Bound to communications settings

New

Election

Jira Legacy
serverSystem JIRA
serverId277b2c09-df07-3469-bccc-a66f399c29a7
keyVALGHAL-110

N/A

All election data except participants is copied to a new election call the same and suffixed with (copy)
Or we could try and reuse the “based on election” functionality.
We need to be able to handle tasks and their date if the election date period is smaller than the one they copy from.
The easiest way of of that is to not touch the date period and then let it be up to the employees to adjust afterwards.

maybe we could write a stored procedure for that ?

New

Web (Declaration of consent)

Jira Legacy
serverSystem JIRA
serverId277b2c09-df07-3469-bccc-a66f399c29a7
keyVALGHAL-108

Maybe a reuse the WebConfigurationEntity if it makes sense

  • Should be placed under administration

  • Will require Rich text editor implementation, reuse from Web area.

Change

Building->Work locationAutomated tasks / job

N/A

Known about the daily scheduled task / job

  • Run every 1 day

  • Check election end date

    • if today, deactivate the election.

  • Check person data needs updating

    • Query CPRUpdated - 7 days

    • Queue all found results into the CPR Queue database

    • Another job will pick up the changes.

New

CPR (social security job) Automated tasks / job

Jira Legacy
serverSystem JIRA
serverId277b2c09-df07-3469-bccc-a66f399c29a7
keyVALGHAL-102

Add in the BuildingEntity data model

  • List of necessary TaskTypes

  • List of necessary Teams

  • Work location responsible (user)

Remove in the BuildingEntity data model

  • Category

  • Deliveryaddress

  • DeliveryPostal code

  • DeliveryPostal place

  • Freetext

  • Inactive

  • CanExpand

  • InformerNeeded

  • InformationToContactPerson

  • ExternalComment

  • Rooms

  • Signs

  • Materials

  • BuildingEventLog

Rename to BuildingEntity to WorkLocation in source code

Remove BuildingEventLogEntity data model

  • Rename to Work Location

  • Move into to Administration area.

Add fields for

  • Task Types (multi select from all available task types)

  • Teams (multi select from all available teams)

  • Worklocation responsible (list (showing name (link to user) and remove option
    Button to add a new/additional worklocation responsibles

Remove / repurpose fields

  • New worklocation

    • Category

    • Delivery address

    • Delivery Postal code

    • Delivery Postal place

    • Inactive

    • Can expand

    • Informant needed

  • Worklocation details

    • Information to contact person

    • Comment

    • Comments shown on external web

    • Event log

    • Rooms

    • Signs

    • Materials

Change

Function → Task type

Jira Legacy
serverSystem JIRA
serverId277b2c09-df07-3469-bccc-a66f399c29a7
keyVALGHAL-103

Add in FunctionEntity data model

  • Short name / Abbreviation

  • Start time (only time not date)

  • End time (only time not date)

  • Use validation demands (yes/no)

  • Send reminder notification 5 days before due date (yes/no)

  • Is trusted required (yes/no)

  • Guide link

Change in entity data model

  • FixedCompensation (is always true) perhaps can be omitted

  • StaffingElectoralDistricts should be UsedInDistricts and tie to district instead

Remove from entity data model

  • Public Description

  • LisaIntegration

  • ArchiveIntegration

  • CanViewPersonData

  • CanViewBuildingData

  • SetAsDefault

Rename FunctionEntity to TaskTypeEntity in source code

  • No binding to electoral district

  • Rename to Task types

  • Move from staffing to administration area on same level as election.

  • Use upload functionality from templates page or building details page.

Add field for

  • Short name / Abbreviation (single line)

  • Start time (only time not date) ex. use the time component from the add course occasion dialog.

  • End time (only time not date) ex. use the time component from the add course occasion dialog.

  • Use validation demands (yes/no)

  • Send reminder notification 5 days (fixed interval) before due date (yes/no)

  • Is trusted required (yes/no)

  • Guide link (single line)

Remove / repurpose fields

  • Public Description

  • Fee type (always fixed)

  • Can view person data

  • Can view building data

Change

Group → Team

Jira Legacy
serverSystem JIRA
serverId277b2c09130

Create CPRQueueEntity

  • Id (int)

  • Date (datetime)
    when it was added to the database

  • Social security number (string)

  • Status (string)

    • New

    • Processing

    • Failed

    • Completed

  • RetryCounter (int)

  • Completed date (date)

Create Table CPRQueue

This is not set in stone, it is a suggestion

Known about this scheduled task / job

  • Run every 5 minutes ?

  • Pick up data from CPRQueue,

  • Ask CPR service for data

    • Before asking, mark the CPRQueueEntity status processing

    • If service response is bad, mark the CPRQueueEntity status failed and increment the RetryCounter

    • If the service response is good, update PersonEntity and mark the CPRQueueEntity status completed and set completed date

This is not set in stone, it is a suggestion

New

Web (Declaration of consent)

Jira Legacy
serverSystem JIRA
serverId277b2c09-df07-3469-bccc-a66f399c29a7
keyVALGHAL-108

Maybe reuse the WebConfigurationEntity if it makes sense

  • Should be placed under administration

  • Will require Rich text editor implementation, reuse from Web area.

Change

Building->Work location

Jira Legacy
serverSystem JIRA
serverId277b2c09-df07-3469-bccc-a66f399c29a7
keyVALGHAL-102

Add in the BuildingEntity data model

  • List of necessary TaskTypes

  • List of necessary Teams

  • Work location responsible (user id)

Remove in the BuildingEntity data model

  • Category

  • Deliveryaddress

  • DeliveryPostal code

  • DeliveryPostal place

  • Freetext

  • Inactive

  • CanExpand

  • InformerNeeded

  • InformationToContactPerson

  • ExternalComment

  • Rooms

  • Signs

  • Materials

  • BuildingEventLog

Rename to BuildingEntity to WorkLocation in source code

Remove BuildingEventLogEntity data model

  • Rename to Work Location

  • Move into to Administration area.

Add fields for

  • Task Types (multi select from all available task types)

  • Teams (multi select from all available teams)

  • Worklocation responsible (list (showing name (link to user) and remove option
    Button to add a new/additional worklocation responsibles

Remove / repurpose fields

  • New worklocation

    • Category

    • Delivery address

    • Delivery Postal code

    • Delivery Postal place

    • Inactive

    • Can expand

    • Informant needed

  • Worklocation details

    • Information to contact person

    • Comment

    • Comments shown on external web

    • Event log

    • Rooms

    • Signs

    • Materials

Change

Function → Task type

Jira Legacy
serverSystem JIRA
serverId277b2c09-df07-3469-bccc-a66f399c29a7
keyVALGHAL-104103

Add in GroupEntity FunctionEntity data model

  • Short name / Abbreviation

  • Team responsible reference(s)

  • Work location reference(s)

Change in entity data model

  • Freetext → Description

  • (string)

  • Start time (only time not date)

  • End time (only time not date)

  • Use validation demands (bool)

  • Send reminder notification 5 days before due date (bool)

  • Is trusted required (bool)

  • Guide link (string)

Change in entity data model

  • FixedCompensation (is always true) perhaps can be omitted

  • StaffingElectoralDistricts should be UsedInDistricts and tie to district instead

Remove from entity data model

  • Public Description

  • ShowExternallyLisaIntegration

  • ShowPersonListArchiveIntegration

  • Rooms referenceCanViewPersonData

Undetermined
  • CanViewBuildingData

  • Group TypeSetAsDefault

Rename from GroupEntity FunctionEntity to TeamEntity TaskTypeEntity in source code

  • No binding to electoral district

  • Rename to TeamsTask types

  • Move from staffing to administration area on same level as election.

  • Show Short name / Abbreviation in overview table

Add fields
  • Use upload functionality from templates page or building details page.

Add field for

  • Short name / Abbreviation

  • Functionality to add one or more team responsible(s) like a dialog where you can search for person

Remove / repurpose fields

  • Category

  • Show person on external web

  • Show person list on external web

  • Function

  • Amount

Change

User interface
  • (single line)

  • Start time (only time not date) ex. use the time component from the add course occasion dialog.

  • End time (only time not date) ex. use the time component from the add course occasion dialog.

  • Use validation demands (yes/no)

  • Send reminder notification 5 days (fixed interval) before due date (yes/no)

  • Is trusted required (yes/no)

  • Guide link (single line)

Remove / repurpose fields

  • Public Description

  • Fee type (always fixed)

  • Can view person data

  • Can view building data

Change

Group → Team

Jira Legacy
serverSystem JIRA
serverId277b2c09-df07-3469-bccc-a66f399c29a7
keyVALGHAL-284

N/A

Show election selection as a drop down in top right hand corner.
Note: If it is a lot of work, we can move it and keep the current feel with opening the dialog, then look at it as we near the end.

New

User interface

Jira Legacy
serverSystem JIRA
serverId277b2c09-df07-3469-bccc-a66f399c29a7
keyVALGHAL-281

N/A

Show a breadcrumb in the solution
If we don’t already have some kind of breadcrumb we could use:
https://www.npmjs.com/package/angular-crumbs
Implementation video https://morioh.com/p/ca769096d74d

New

104

Add in GroupEntity data model

  • Short name / Abbreviation

  • Team responsible reference(s)

  • Work location reference(s)

Change in entity data model

  • Freetext → Description

Remove from entity data model

  • ShowExternally

  • ShowPersonList

  • Rooms reference

Undetermined

  • Group Type

Rename from GroupEntity to TeamEntity in source code

  • Rename to Teams

  • Move from staffing to administration area on same level as election.

  • Show Short name / Abbreviation in overview table

Add fields for

  • Short name / Abbreviation

  • Functionality to add one or more team responsible(s) like a dialog where you can search for person

Remove / repurpose fields

  • Category

  • Show person on external web

  • Show person list on external web

  • Function

  • Amount

Change

User interface

Jira Legacy
serverSystem JIRA
serverId277b2c09-df07-3469-bccc-a66f399c29a7
keyVALGHAL-80284

N/A

Use either

  • Small question mark icon and hover over text

  • Hover over text on the UI control it self

    Show election selection as a drop down in top right hand corner.
    Note: If it is a lot of work, we can move it and keep the current feel with opening the dialog, then look at it as we near the end.

    New

    User Interfaceinterface

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-79

    Store data in WebConfiguration table
    Use the WebConfigurationEntity

    Help icon in top righthand corner

    Change

    Person → Participant

    281

    N/A

    Show a breadcrumb in the solution
    If we don’t already have some kind of breadcrumb we could use:
    https://www.npmjs.com/package/angular-crumbs
    Implementation video https://morioh.com/p/ca769096d74d

    New

    User interface

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-54

    Add to the PersonEntity data model

    • Special diet reference

    • Team reference (list)

    • Exempt from Digital post (true/false, default false)

    • Role

      • Worklocation responsible

        Team responsible

        Reader

    • Deceased or Missing (true/false, default false)

    • Citizenship (true/false, default true)

    • CPRUpdated (Datetime)

    Remove from entity data model

    • Inactive     

    • ExpressionOfInterestApproved

    • ApplicationApproved

    • FreeText

    • Car

    • HiddenIdentity

    • CourseOccasions

    • PersonCourseOccasions

    • PersonEventLogs

    • PersonTags

    • FormPosts

    • StaffingElectoralDistricts

    Rename from PersonEntity to ParticipantEntity

    /person → Add person

    Add field for

  • Special diet (dropdown)

  • Team (dropdown

    80

    N/A

    Use either

    • Small question mark icon and hover over text

    • Hover over text on the UI control it self

    Help text should be localized

    New

    User Interface

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-79

    Store data in WebConfiguration table
    Use the WebConfigurationEntity

    Help icon in top righthand corner

    Change

    Person → Participant

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-54

    Add to the PersonEntity data model

    • Special diet reference (Guid)

    • Team reference (list)

    • Exempt from Digital post (booleantrue/false, default false)

    Add button
    • Role (

    Lookup participant) next to the Social security number, should use a service to lookup the core participant data.

    Remove fields

    • Category

    • Tag

    • Car

    • Comment

    • Inactive

    • Hidden identity

    All fields should be “read-only” except:
    • Special diet

    • Phonenumber

    • Mobile Phonenumber

    • E-mail

    • Team selection

    Change

    Person overview → Participant overview

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-56

    We might need to change/adjust the view supplying this functionality

    /person

    Show fields

    • Full name

    • Team

    • Birthday (repurpose social security number excluding the last 4 digits)

    • Assigned to at least one task (yes/no)

    • Comma separated list - Task types assigned (maybe repurpose assignments)

    Remove fields

    • Phone number

    • E-mail

    • Postal code

    • Tags

    • Status

    Filter changes

    • Add

      • Team

      • Digital post

    • Keep

      • Name

      • Assignments (TaskType)

      • Status ?

    • Remove

      • Social security number

      • Postal code

      • Comment

      • Category

      • Placement

      • Course

      • Education

      • Tags

    Change

    Person details → Participant details
    • string)

      • Worklocation responsible

        Team responsible

        Reader

    • Deceased or Missing (true/false, default false)

    • Citizenship (true/false, default true)

    • CPRUpdated (Datetime)

    Remove from PersonEntity data model

    • Inactive     

    • ExpressionOfInterestApproved

    • ApplicationApproved

    • FreeText

    • Car

    • HiddenIdentity

    • CourseOccasions

    • PersonCourseOccasions

    • PersonTags

    • FormPosts

    • StaffingElectoralDistricts

    Rename from PersonEntity to ParticipantEntity

    Change in the PersonEventLogEntity data model

    • Rename FollowUpNeeded → ShowInNotificationPanel

    • Remove Date

    • Remove CategoryId

    • Remove Category

    /person → Add person

    Add field for

    • Special diet (dropdown)

    • Team (dropdown)

    • Exempt from Digital post (boolean)

    Add button (Lookup participant) next to the Social security number, should use a service to lookup the core participant data.

    Reuse eventlog interface but make it more automated, no manual entries can be put in the eventlog

    Remove fields

    • Category

    • Tag

    • Car

    • Comment

    • Inactive

    • Hidden identity


    All fields should be “read-only” except:

    • Special diet

    • Phonenumber

    • Mobile Phonenumber

    • E-mail

    • Team selection

    Change

    Person overview → Participant overview

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-5556

    We might need to change/adjust the view supplying this functionality

    /person/details/<ID>

    Add communication log (reuse event log ?)

    Reuse button (Lookup participant) next to the Social security number, should use a service to lookup the core participant data.

    Remove:

    • Comment

    • Eventlog (maybe reuse for communication log)

    • Courses

    New

    Import participants

    Show fields

    • Full name

    • Team

    • Birthday (repurpose social security number excluding the last 4 digits)

    • Assigned to at least one task (yes/no)

    • Comma separated list - Task types assigned (maybe repurpose assignments)

    Remove fields

    • Phone number

    • E-mail

    • Postal code

    • Tags

    • Status

    Filter changes

    • Add

      • Team

      • Digital post

    • Keep

      • Name

      • Assignments (TaskType)

      • Status ?

    • Remove

      • Social security number

      • Postal code

      • Comment

      • Category

      • Placement

      • Course

      • Education

      • Tags

    Change

    Person details → Participant details

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-5855

    N/A

    Should be a background task, because it could take some time ?

    New

    Export participants

    Jira Legacy
    server

    New

    Import participants

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-58

    N/A

    Should be a background task, because it could take some time ?

    New

    Export participants

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-59

    Might need some minor changes

    Ensure report generator / analyze functionality can be used for this.

    New

    Participants functionality

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-64

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-60

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-63

    N/A

    Logic for the different tasks are described in the tasks.

    Automated tasks

    • Deletion of deceased participants

    • Deletion of all participants

    Manually initiated

    • Bulk delete participants

    New

    Link generator

    Add entity “LinkEntity” for link storage

    • Id (Guid)

    • Type (string)

      • Direct link (to a single task or a single Team and all the task associated with that Team)

      • Complex link (to a filtered view of tasks)

    • Value (the necessary information for the external web to show the data) (string)

    • Changed (datetime)

    • ChangedBy (user id)

    • Created (datetime)

    • CreatedBy (user id)

    The link will be created in the internal application.

    Where the functionality is available we should add a icon / button control to show the link
    show eg. https://<url to external web>/link?id=<id (Guid) from DB>
    Functionality should be used to build the link where needed and to store the link.
    for complex links we could require that the filter / query is saved and that way we will have a reference to point at.

    It will be parsed in the external web and should always show a minimum amount of information on a unprotected route in the external web.

    A details page should also be in an unprotected route in the external web.

    Require login/protected route when “Register” button on task is clicked in the external web.

    This functionality is referenced a number of places in the specifications.

    • A single task

    • A single Team (show multiple tasks)

    • Complex / filtered task view (show multiple tasks)

    New

    External web - Task overview.

    It will be parsed in the external web and should always show a minimum amount of information on a unprotected route in the external web.

    A details page should also be in an unprotected route in the external web.

    Require login/protected route when “Register” button on task is clicked in the external web.

    This functionality is referenced a number of places in the specifications.

    • A single task

    • A single Team (show multiple tasks)

    • Complex / filtered task view (show multiple tasks)

    New

    External web - Task overview

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-65

    N/A

    • Show tasks from a generated link

    • Additional filtering options

    New

    External web - Task registration

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-66

    N/A

    • Register the task to the participant.

    • Require login upon registration.

    • Start “new user flow” if participant dies not have a user in the system.

    Keep

    Lists

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-113

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-115

    N/A

    Use report generator to create datasets to export to csv

    New

    Validation upon participant creation

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-133

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-138

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-134

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-136

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-139

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-137

    New entity and table in the data model or as a fixed model (enum or json object) in the code ?
    No user should be able to change them.

    Reference to a localized string per. entry

    • All values are set in the election type configuration.

    • Any time a manual refresh is done it will ask the Danish service platform directly and update PersonEntity

      • On failure evaluate response

        • If timeout put in CPRQueue

        • If anything else, show friendly error message to the front-end.

    New

    Automated validation

    Use CPRQueueEntity

    Use Table CPRQueue

    This is not set in stone, it is a suggestion

    See previous entry about CPRQueue

    The service should be expanded to also check assigned tasks and see that the participant is still valid, can be silent unless participant is no longer valid, then is should go in the participant eventlog.

    This is not set in stone, it is a suggestion

    New

    Communication templates

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-90

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-91

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-92

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-86

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-87

    Create new enum with communication types

    • DigitalPost

    • Email

    • SMS

    Create a new entity and table to store the templates or repurpose the Course tables and entities

    • Id (GUID)

    • Name (Unique)

    • Subject (single line)

    • Body (multi line)

    • Type (string)

    • Changed (datetime)

    • ChangedBy (user id)

    • Created (datetime)

    • CreatedBy (user id)

    Create a new entity and table to store the template to task type mapping or CourseOccasion tables and entities.

    • Id (GUID)

    • CommunicationTemplateId (guid)

    • TaskTypeId (Guid)

    • Changed (datetime)

    • ChangedBy (user id)

    • Created (datetime)

    • CreatedBy (user id)

    Create an interface with:

    • Limited Rich text editor for editing the templates

      • Digital Post and Email can use the same settings

      • SMS is plain text only.

    • Mapping between each template and each task type

      • Enable types for each task type

      • Email and Digital Post cannot be selected simultaneously on the same task type.

    • See other task for when the different messages are to be sent.

    Change / New

    External web

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-68

    Use Person entity → Participant entity

    Participants can see their own details on a page or in a dialog in the external web application

    Only phone number and Email can be changed by the user on their profile

    See task for rules on when its possible to delete a profile.

    Change / New

    External web

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-70

    Staffing Group entityStaffing entity

    • Person->Participant

    • Function -> Task type

    • Group -> Team

    Possibility for a participant to cancel a task registration.

    See Jira tasks for rules on when it is possible for a participant to cancel a task registration.

    Change / New

    External web

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-73

    Use Staffing entity

    See invitation and accept or decline assigned task.

    Task is assigned in internal application, upon task assignment see

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-100
    for more communication details.

    New

    External web

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-74

    Use ElectionContactInformationEntity

    Show either in the footer in the center or show in a dialog when clicking a link.

    New

    External web

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-75

    Use Staffing entity

    • Show only task available to a specific team

    • Show both the occupied and available tasks.

    • Show participant name on occupied tasks.

    New

    External web

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-76

    Use Staffing entity

    Use LinkEntity

    See Jira task description for the different ways a team task can be shared.

    Show should only be possible if the user has the Team Responsible role.

    New

    External web

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-186

    Use LinkEntity

    Mostly UI and link functionality.

    New

    External web

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-237

    Use TeamEntity

    Use Staffing entity

    • Show a specific team to the team responsible

    • Show tasks to be staffed in different work locations

    • Show available participants.

    • Search in this view can be on anything.

      • Except it should never search in the last 4 digit of the social security number.

    • Never show the last 4 digit of the social security number

    New

    Exterla web

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-236

    Use ElectionContactInformationEntity

    Use ConfigurationEntity

    • Show required information in the footer.

    • The footer does not need to be sticky, just show it in the bottom of the page.

    • Simple information is stored in ConfigurationEntity

    New

    Communication

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-85

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-97

    Create CommunicationLogEntity and CommunicationLog table

    • Id (Guid)

    • CommunicationType (string)

    • Participant (user id)

    • Status (string)

      • Sent

      • Queued/Pending

      • Failed

      • Retrying

    • Created (Date)

    • Show communication log in internal application

    • Show individual participant communication log on their profile both in the internal and external application.

    • Show a max of 50 rows at a time.

    New

    Communication notifications (Automated)

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-100

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-81

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-602

    Use CommunicationQueueEntity

    Use Table CommunicationQueue

    This is not set in stone, it is a suggestion

    Use the task types and communication template settings to determine if notification to participant should be sent.

    Use an automated queued approach

    See individual Jira stories and subtasks for more detail.

    A service should be created to ensure notifications are sent and their status recorded in a communication log.

    This is not set in stone, it is a suggestion

    New

    Notification hub

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-65

    N/A

    • Show tasks from a generated link

    • Additional filtering options

    New

    External web - Task registration

    Jira Legacy
    serverSystem JIRA
    serverId277b2c09-df07-3469-bccc-a66f399c29a7
    keyVALGHAL-66

    N/A

  • Register the task to the participant.

  • Require login upon registration.

  • Start “new user flow” if participant dies not have a user in the system.

    98

    Based on the subtasks in the Jira story we will need a new NotificationEntity and Notification table

    • Id (Guid)

    • Created (datetime)

    • Read (bool)

    • Message (string)

    • LinkToSubject (string)