Notes ============= An :doc:`entity` can have 2 levels of notes: .. csv-table:: :header: Note Level, Description :widths: 40, 60 Entity, Note is applied at the entity level Attribute, Note is applied at the attribute level All Notes Count ~~~~~~~~~~~~~~~~ .. http:get:: /api/repositories/(string:repository)/entities/(int:entityID)/notes/all/count :synopsis: Get the number of entity-level and attribute-level notes for the given entity in the repository Returns the number of entity-level and attribute-level notes for the given entity in the repository .. csv-table:: :header: Response Code, Reason :widths: 25, 75 200, No error 500, Server error The response contains the number of all notes for the given entity in the repository. .. code-block:: json { "count": "3" } .. _e_level_notes: Entity-Level Notes Count ~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: /api/repositories/(string:repository)/entities/(int:entityID)/notes/count :synopsis: Get the number of entity-level notes for the given entity in the repository Returns the number of entity-level notes for the given entity in the repository .. csv-table:: :header: Response Code, Reason :widths: 25, 75 200, No error 500, Server error The response contains the number of entity-level notes for the given entity in the repository. .. code-block:: json { "count": "1" } .. _a_level_notes: Attribute-Level Notes Count ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: /api/repositories/(string:repository)/entities/(int:entityID)/attributes/(int:attributeID)/notes/count :synopsis: Get the number of attribute-level notes for the given entity in the repository Returns the number of attribute-level notes for the given entity in the repository. .. csv-table:: :header: Response Code, Reason :widths: 25, 75 200, No error 500, Server error The response contains the number of attribute-level notes for the given entity in the repository. .. code-block:: json { "count": "2" } .. _show_all_notes: Show All Notes ~~~~~~~~~~~~~~~~ .. http:get:: /api/repositories/(string:repository)/entities/(int:entityID)/notes/all :synopsis: Get all entity-level and attribute-level notes for the given entity in the repository Returns all of the entity-level and attribute-level notes for the given entity in the repository. .. csv-table:: :header: Response Code, Reason :widths: 25, 75 200, No error 500, Server error The response will be a :doc:`standard-response`, with a list of all entity-level and attribute-level notes for the corresponding :doc:`entity`. .. _show_notes_columns: The ``columns`` array will contain the list of columns for each data row. .. csv-table:: :header: Human Name, Column Name, Description :widths: 25, 25, 50 "Type", "__OBJECT_NAME", "The type of the note (note level)" "Name", "HUMANISED_NAME", "The name of the note" "Sequence", "SEQUENCE_NO", "The sequence number of the note for this object" "Subject", "SUBJECT", "The subject of the note" "Metrics", "__METRICS", "The note metrics" "Class", "__CLASS", "The class of the note (e.g. Mapping)" "Subclass", "__SUBCLASS", "The subclass of the note (e.g. Default_Value)" "Project Impact", "__PROJECT_IMPACT", "Project impact" "Business Impact", "__BUSINESS_IMPACT", "Business Impact" "Text", "__TEXT", "The main text of the note" "Created By", "CREATED_BY", "The user who created the note" "Created Date", "_created_date", "When the note was created" "Edited By", "EDITED_BY", "The user who last edited the note" "Edited Date", "_edited_date", "When the note was last edited" "Note key", "_note_key", "System Note key" The ``rows`` array will contain the list of all entity-level and attribute-level notes for the corresponding :doc:`entity`: .. code-block:: json "rows": [ { "dataRow": [ "Attribute", "Gb Data New (15):First Nm", "1", "Attr test 4", "", "Time Series", "To Do List", "No Impact", "No Impact", "", "madmin", "2016/11/07 10:44:05", "", "", "attribute {} {15 8} 1" ] }, { "dataRow": [ "Attribute", "Gb Data New (15):Middle Nm", "2", "attr 123", "", "Time Series", "To Do List", "No Impact", "No Impact", "", "madmin", "2016/11/07 12:26:11", "", "", "attribute {} {15 9} 2" ] }, { "dataRow": [ "Entity", "Gb Data New (15)", "1", "15 Test", "", "Time Series", "To Do List", "No Impact", "No Impact", "", "madmin", "2016/11/07 12:10:37", "", "", "entity {} 15 1" ] } ] If there are no entity-level or attribute-level notes for the :doc:`entity`, then ``rows`` will be an empty string. .. _show_all_e_notes: Show All Entity-Level Notes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: /api/repositories/(string:repository)/entities/(int:entityID)/notes :synopsis: Get all entity-level notes for the given entity in the repository Returns all of the entity-level notes for the given entity in the repository. .. csv-table:: :header: Response Code, Reason :widths: 25, 75 200, No error 500, Server error The response will be a :doc:`standard-response`, with a list of all entity-level notes for the corresponding :doc:`entity`. The :ref:`columns ` array will contain the list of columns for the data row. The ``rows`` array will contain the list of all entity-level notes for the corresponding :doc:`entity`: .. code-block:: json "rows": [ { "dataRow": [ "Entity", "Gb Data New (15)", "1" "15 Test", "", "Time Series", "To Do List", "No Impact", "No Impact", "", "madmin", "2016/11/07 12:10:37", "", "", "entity {} 15 1" ] } ] If there are no entity-level notes for the :doc:`entity`, then ``rows`` will be an empty string. .. _show_single_e_note: Show Single Entity-Level Note ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: /api/repositories/(string:repository)/entities/(int:entityID)/notes/(int:noteID) :synopsis: Get specific entity-level notes for the given entity and noteId (Notes sequence number) in the repository .. http:post:: /api/repositories/(string:repository)/entities/(int:entityID)/notes/(int:noteID) :synopsis: Get specific entity-level notes for the given entity and noteId (Notes sequence number) in the repository Both of the above endpoints can be used to get a specific entity-level note in the repository using either a GET or POST request. The POST request supports :doc:`standard-request`. .. csv-table:: :header: Response Code, Reason :widths: 25, 75 200, No error 500, Server error The response will be a :doc:`standard-response`, with a list containing a single entity-level notes for the corresponding :doc:`entity`. The :ref:`columns ` array will contain the list of columns for the data row. The ``rows`` array will contain a list containing a single entity-level notes for the corresponding :doc:`entity`.: .. code-block:: json "rows": [ { "dataRow": [ "Entity", "Gb Data New (15)", "1", "15 Test", "", "Time Series", "To Do List", "No Impact", "No Impact", "", "madmin", "2016/11/07 12:10:37", "", "", "entity {} 15 1" ] } ] If there is no entity-level note for the :doc:`entity` and a given note id (Notes sequence number), then ``rows`` will be an empty string. .. _show_all_a_notes: Show All Attribute-Level Notes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: /api/repositories/(string:repository)/entities/(int:entityID)/attributes/(int:attributeID)/notes :synopsis: Get all attribute-level notes for the given entity in the repository Returns all of the attribute-level notes for the given entity in the repository. .. csv-table:: :header: Response Code, Reason :widths: 25, 75 200, No error 500, Server error The response will be a :doc:`standard-response`, with a list of all attribute-level notes for the corresponding :doc:`entity`. The :ref:`columns ` array will contain the list of columns for the data row. The ``rows`` array will contain the list of all attribute-level notes for the corresponding :doc:`entity`: .. code-block:: json "rows": [ { "dataRow": [ "Attribute", "Gb Data New (15):Middle Nm", "2", "attr 123", "", "Time Series", "To Do List", "No Impact", "No Impact", "", "madmin", "2016/11/07 12:26:11", "", "", "attribute {} {15 8} 1" ] } ] If there are no attribute-level notes for the :doc:`entity`, then ``rows`` will be an empty string. .. _show_single_a_note: Show Single Attribute-Level Note ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. http:get:: /api/repositories/(string:repository)/entities/(int:entityID)/attributes/(int:attributeID)/notes/(int:noteID) :synopsis: Get specific attribute-level notes for the given entity, attribute and noteId (Notes sequence number) in the repository .. http:post:: /api/repositories/(string:repository)/entities/(int:entityID)/attributes/(int:attributeID)/notes/(int:noteID) :synopsis: Get specific attribute-level notes for the given entity, attribute and noteId (Notes sequence number) in the repository Both of the above endpoints can be used to get a specific attribute-level note in the repository using either a GET or POST request. The POST request supports :doc:`standard-request`. .. csv-table:: :header: Response Code, Reason :widths: 25, 75 200, No error 500, Server error The response will be a :doc:`standard-response`, with a list containing a single attribute-level notes for the corresponding :doc:`entity`. The :ref:`columns ` array will contain the list of columns for the data row. The ``rows`` array will contain a list containing a single attribute-level notes for the corresponding :doc:`entity`.: .. code-block:: json "rows": [ { "dataRow": [ "Attribute", "Gb Data New (15):Middle Nm", "2", "attr 123", "", "Time Series", "To Do List", "No Impact", "No Impact", "", "madmin", "2016/11/07 12:26:11", "", "", "attribute {} {15 8} 1" ] } ] If there is no attribute-level note for the :doc:`entity` and a given note id (Notes sequence number), then ``rows`` will be an empty string. .. _add_notes: Add Note ~~~~~~~~ .. http:post:: /api/repositories/(string:repository)/entities/(int:entityID)/notes :synopsis: add entity level note to the repository .. http:post:: /api/repositories/(string:repository)/entities/(int:entityID)/attributes/(int:attributeID)/notes :synopsis: add attribute level note to the repository Both of the above endpoints can be used to add notes to the repository, select an appropriate endpoint depending on whether you want to add an entity level or attribute level note. .. code-block:: http POST /api/repositories/alpha/entities/1/notes HTTP/1.1 Content-Type: application/json { "command": "add", "data": { "subject": "Note Subject", "metrics": "1", "class": "TS Quality", "subclass": "To Do List", "projectImpact": "no impact", "businessImpact": "low impact", "newText": "some note information" } } .. csv-table:: :header: Response Code, Reason :widths: 25, 75 201, No error 400, Invalid data passed with request 500, Server error The request requires a :doc:`standard-request` packet. Available commands are: .. csv-table:: :header: Command, Description :widths: 30, 70 add, Add an entity level or attribute level note The request packet must contain the ``command`` and ``data`` elements only, ``options`` are not supported. The table below shows which fields must be sent as part of ``data``: .. csv-table:: :header: Field, Mandatory, Description :widths: 20, 20, 80 subject, Yes, Enter a meaningful label for the note. metrics, No, Enter a numerical value that indicates the weight to assign to the note. The weight value assists when searching for and prioritizing the note. class, Yes, Enter the class associated with your finding. subclass, Yes, Enter the subclass associated with your finding. projectImpact, Yes, Enter how this note impacts the project. businessImpact, Yes, Enter how this note impacts your business. newText, No, Enter any useful notes comments. .. _notes_class_subclass: The ``class/subclass`` fields contain the following data. Please note that these values are case-sensitive. .. csv-table:: :header: Class, Subclass, Description :widths: 20, 20, 50 "*Time Series*", "", "" "", "To Do List", "List of items to attend to." "", "Processing Details", "Detailed description of a Quality data process steps." "", "Processing Results", "Results of a data quality process. You can save this information as either as a summary you have written and/or as copied data from List Views." "", "Issues to Resolve", "Data issues and resolution requirements." "*TS Quality*", "", "" "", "To Do List", "List of items to attend to." "", "Processing Details", "Detailed description of a Quality data process steps." "", "Processing Results", "Results of a data quality process. You can save this information as either as a summary you have written and/or as copied data from List Views." "", "Issues to Resolve", "Data issues and resolution requirements." "*Reconciliation*", "", "" "", "Sum", "Expected sum for integer/decimal attributes." "", "Record Count", "Expected record count for an entity." "", "Data Volumes", "Data volume of an entity in a repository." "*Mapping*", "", "" "", "Mapped From", "Object from which an object is mapped. Mappings must be defined bi-directionally." "", "Mapped To", "Object to which an object is mapped. Mappings must be defined bi-directionally." "", "Out of Scope", "Object that is not considered in scope for mapping." "", "Default Value", "Attribute that is not mapped from another attribute; in such cases, note the default value used." "", "Error Processing", "Error processing rule that defines what to do if an error occurs." "", "Complex Transformation", "Definition of complex data transformation rule." "", "Medium Transformation", "Definition of medium data transformation rule." "", "Simple Transformation", "Definition of simple data transformation rule." "", "Selection Criteria Rule", "Definition of how rows should be selected for extraction from the source." "*Key*", "", "" "", "Business Meaning", "Business significance of a key." "", "Duplication Issue", "Data duplication issue." "", "Technical Cleanse Rule", "Technical description of how to correct an issue." "", "Business Cleanse Rule", "Business description of how to correct an issue." "*Join*", "", "" "", "Outer Join Rule", "If an outer join is required for this join." "", "Cardinality", "Definition of unexpected cardinality issue." "", "Optionality", "Definition of unexpected optionality issue." "", "RI Rule", "Definition of unexpected Referential Integrity (RI) issue." "*Discovery*", "", "" "", "To Do List", "List of items to attend to." "", "Processing Details", "Detailed description of a Quality data process steps." "", "Processing Results", "Results of a data quality process. You can save this information as either as a summary you have written and/or as copied data from List Views." "", "Issues to Resolve", "Data issues and resolution requirements." "*Dependency*", "", "" "", "Business Meaning", "Business significance of the dependency." "", "Conflict Issue", "Description of conflicts." "", "Technical Cleanse Rule", "Technical description of how to correct the issue." "", "Business Cleanse Rule", "Business description of how to correct the issue." "*Business*", "", "" "", "Meaning", "Detailed description of the issue or data." "*Attribute*", "", "" "", "Nulls", "Issue related to NULL values (blank fields) for an attribute." "", "Ranges", "Issue related to the range of values for an attribute." "", "Phonetic", "Issue with values that sound alike. For example, potential misspellings." "", "Abnormal Values", "Issue related to value(s) with unexpected high or low frequency." "", "Patterns", "Issue related to value(s) with unexpected pattern." "", "Datatype", "Issues with unexpected data types." "", "Technical Cleanse Rule", "Definition of the technical cleansing rules required or done for system reasons." "", "Business Cleanse Rule", "Definition of the business cleansing rules required or done for system reasons." .. _notes_impact: The ``projectImpact/businessImpact`` fields contain the following data. Please note that these values are case-sensitive. .. csv-table:: :header: Value, Description :widths: 20, 50 no impact, No Impact low impact, Low Impact medium impact, Medium Impact high impact, High Impact .. _edit_notes: Edit Note ~~~~~~~~~ .. http:post:: /api/repositories/(string:repository)/entities/(int:entityID)/notes/(int:noteID) :synopsis: edit an existing entity level note in the repository .. http:post:: /api/repositories/(string:repository)/entities/(int:entityID)/attributes/(int:attributeID)/notes/(int:noteID) :synopsis: edit an existing attribute level note in the repository Both of the above endpoints can be used to edit an existing note in the repository, select an appropriate endpoint depending on whether you want to edit an entity level or attribute level note. .. code-block:: http POST /api/repositories/alpha/entities/1/notes/5 HTTP/1.1 Content-Type: application/json { "command": "edit", "data": { "subject": "New Note Subject", "metrics": "1", "class": "Time Series", "subclass": "Issues to Resolve", "projectImpact": "high impact", "businessImpact": "medium impact", "newText": "New Text" } } .. csv-table:: :header: Response Code, Reason :widths: 25, 75 204, No error 400, Invalid data passed with request 500, Server error The request requires a :doc:`standard-request` packet. Available commands are: .. csv-table:: :header: Command, Description :widths: 30, 70 edit, Edit an existing entity level or attribute level note The request packet must contain the ``command`` and ``data`` elements only, ``options`` are not supported. The following fields that can be sent as part of ``data``: .. csv-table:: :header: Field, Mandatory, Description :widths: 20, 20, 80 subject, No, Enter a meaningful label for the note. metrics, No, Enter a numerical value that indicates the weight to assign to the note. The weight value assists when searching for and prioritizing the note. class, No, Enter the class associated with your finding. subclass, No, Enter the subclass associated with your finding. projectImpact, No, Enter how this note impacts the project. businessImpact, No, Enter how this note impacts your business. newText, No, Enter any useful notes comments. See the :ref:`Class/Subclass ` table for more information on setting ``class\subclass`` fields. See the :ref:`Note Impact ` table for more information on setting ``projectImpact/businessImpact`` fields. .. _delete_notes: Delete Notes ~~~~~~~~~~~~ .. http:delete:: /api/repositories/(string:repository)/entities/(int:entityID)/notes/all .. http:delete:: /api/repositories/(string:repository)/entities/(int:entityID)/notes .. http:delete:: /api/repositories/(string:repository)/entities/(int:entityID)/attributes/(int:attributeID)/notes :synopsis: delete notes in the repository Any of the above endpoints can be used to delete notes from the repository. .. code-block:: http DELETE /api/repositories/alpha/entities/1/joins HTTP/1.1 Content-Type: application/json { "data": { "noteKeys":["attribute {} {1 1} 1", "entity {} 1 1"] } } .. csv-table:: :header: Response Code, Reason :widths: 25, 75 204, No error 500, Server error