Project

General

Profile

User Story #843

ID for single cases and version: Rethinking concerning usability and robustness

Added by Kurt Gerber almost 9 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
High
Assignee:
Lukas Vonlanthen
Category:
-
Start date:
07 Apr 2016
Due date:
29 Apr 2016
% Done:

100%

Estimated time:
(Total: 0.00 h)
Resolution:

Description

We have two different ID's:$
  • ID, which identifies a practice case (either approach, or technology)
  • ID to identify a single version of a case.
We use different types of ID's:
  • Postgres SERIAL:
    • Advantage:
    • Postgres can handle it perfectly
    • Uniqueness is handled automatically by db
    • user readible because it is a single number.
    • Disadvantage:
    • The ID ist generated in Postgres through an INSERT statement
    • Problematic when data is generated in external or offline applications
    • Only robust in single application setups.
  • WOCAT code
    • Advantage:
    • Human readable
    • different information condensed in one code (Country, config, number)
    • Disadvantage:
    • Code has to be generated in the application after a database query looking at existing cases. The workflow is: query -> code generation -> insert in database
    • Thus not very robust in multi user situations
    • Code is generated when questionnaire is written in the database. This could be a problem on long edit sessions.
    • Problematic when data is generated in external or offline applications
  • UUID
    • Advantage:
    • Very robust and approved, when cases are generated in distributed applications
    • UUID can be generated on any application layer: client side, server side application, db
    • Disadvantage:
    • Not really usable for human interaction (too long).
    • Therefore can only be used 'in behind the scenes': Backend, API, ...

Subtasks

Task #870: Definition of ID rulesClosedKurt Gerber07 Apr 201629 Apr 2016

Actions
#1

Updated by Kurt Gerber almost 9 years ago

  • Target version changed from QCAT v0.8 - First Beta to QCAT v0.9 - Second Beta
#2

Updated by Kurt Gerber almost 9 years ago

  • Tracker changed from Task to User Story
  • Target version changed from QCAT v0.9 - Second Beta to WOCAT core productive release
  • Start date changed from 31 Mar 2016 to 07 Apr 2016
#3

Updated by Kurt Gerber almost 9 years ago

  • Target version changed from WOCAT core productive release to QCAT Core for UNCCD Testing

Solution

  • UUID will be used for the identification of single cases (single questionnaire case)
  • Additionally a human readable code (code) to identify a single case has to be generated.
  • The code will be generated when a case is inserted in the database.
  • The code will be used for routing to a sepcific single case
  • The UUID is authoritative over the code...
#4

Updated by Lukas Vonlanthen over 8 years ago

  • Status changed from New to Feedback
#5

Updated by Lukas Vonlanthen over 8 years ago

  • Status changed from Feedback to Closed

Task 870 was done by commit https://github.com/CDE-UNIBE/qcat/commit/919d74852d166ef4c41709b382957d988e38cb52, therefore closing user story.

Also available in: Atom PDF