[
https://issues.apache.org/jira/browse/ATLAS-4299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dharshana M Krishnamoorthy updated ATLAS-4299:
----------------------------------------------
Description:
A list of UI issues are seen when the total issues crosses 25
# The total number of data as per response is 29, but UI says 30
# The data displayed are only 29 but one of them is a blank entry (Highlighted
in screenshot)
# Among the 29 entries present in api response, one of them is missing in the
UI in this case [*TypesREST_getTypeDefHeaders*]
# When all the data are made to display in same page, the UI shows page 1 and 2
# When the selection is made to display only 25, it still displays all the
data [25+ entries are displayed]
# Sorting does not work without refresh
Response Data:
{code:java}
{
"TypesREST_getTypeDefHeaders": {
"name": "TypesREST_getTypeDefHeaders",
"numops": 13,
"minTime": 2,
"maxTime": 37,
"stdDevTime": 0,
"avgTime": 2
},
"GlossaryREST_createGlossaryTerm": {
"name": "GlossaryREST_createGlossaryTerm",
"numops": 11,
"minTime": 218,
"maxTime": 308,
"stdDevTime": 29.160475,
"avgTime": 235.33333
},
"GlossaryREST_deleteGlossaryCategory": {
"name": "GlossaryREST_deleteGlossaryCategory",
"numops": 2,
"minTime": 197,
"maxTime": 219,
"stdDevTime": 0,
"avgTime": 197
},
"GlossaryREST_deleteGlossary": {
"name": "GlossaryREST_deleteGlossary",
"numops": 3,
"minTime": 165,
"maxTime": 521,
"stdDevTime": 251.73001,
"avgTime": 343
},
"EntityREST_addClassifications": {
"name": "EntityREST_addClassifications",
"numops": 339,
"minTime": 64,
"maxTime": 430,
"stdDevTime": 2.5495098,
"avgTime": 101.5
},
"DiscoveryREST_getSavedSearches": {
"name": "DiscoveryREST_getSavedSearches",
"numops": 13,
"minTime": 3,
"maxTime": 38,
"stdDevTime": 0,
"avgTime": 3
},
"TypesREST_getClassificationDefByName": {
"name": "TypesREST_getClassificationDefByName",
"numops": 11,
"minTime": 2,
"maxTime": 2,
"stdDevTime": 0,
"avgTime": 1
},
"GlossaryREST_createGlossary": {
"name": "GlossaryREST_createGlossary",
"numops": 4,
"minTime": 167,
"maxTime": 197,
"stdDevTime": 0,
"avgTime": 179
},
"EntityREST_createOrUpdate": {
"name": "EntityREST_createOrUpdate",
"numops": 2,
"minTime": 76,
"maxTime": 133,
"stdDevTime": 40.305088,
"avgTime": 104.5
},
"GlossaryREST_getGlossaryCategory": {
"name": "GlossaryREST_getGlossaryCategory",
"numops": 14,
"minTime": 5,
"maxTime": 47,
"stdDevTime": 18.384777,
"avgTime": 25
},
"GlossaryREST_updateGlossaryTerm": {
"name": "GlossaryREST_updateGlossaryTerm",
"numops": 5,
"minTime": 62,
"maxTime": 559,
"stdDevTime": 340.11835,
"avgTime": 62
},
"DiscoveryREST_searchUsingBasic": {
"name": "DiscoveryREST_searchUsingBasic",
"numops": 2,
"minTime": 25,
"maxTime": 451,
"stdDevTime": 0,
"avgTime": 25
},
"EntityREST_getById": {
"name": "EntityREST_getById",
"numops": 5,
"minTime": 37,
"maxTime": 84,
"stdDevTime": 20.067387,
"avgTime": 52.8
},
"GlossaryREST_getGlossaries": {
"name": "GlossaryREST_getGlossaries",
"numops": 34,
"minTime": 10,
"maxTime": 291,
"stdDevTime": 48.294235,
"avgTime": 180
},
"TypesREST_getAllTypeDefs": {
"name": "TypesREST_getAllTypeDefs",
"numops": 44,
"minTime": 0,
"maxTime": 32,
"stdDevTime": 0.5,
"avgTime": 0.25
},
"DiscoveryREST_searchUsingDSL": {
"name": "DiscoveryREST_searchUsingDSL",
"numops": 4,
"minTime": 13,
"maxTime": 243,
"stdDevTime": 155.56349,
"avgTime": 16
},
"GlossaryREST_createGlossaryCategory": {
"name": "GlossaryREST_createGlossaryCategory",
"numops": 4,
"minTime": 195,
"maxTime": 293,
"stdDevTime": 0,
"avgTime": 293
},
"DiscoveryREST_searchWithParameters": {
"name": "DiscoveryREST_searchWithParameters",
"numops": 28,
"minTime": 2,
"maxTime": 16,
"stdDevTime": 1.4142135,
"avgTime": 3
},
"EntityREST_setLabels": {
"name": "EntityREST_setLabels",
"numops": 3,
"minTime": 62,
"maxTime": 76,
"stdDevTime": 7.81025,
"avgTime": 67
},
"GlossaryREST_updateGlossaryCategory": {
"name": "GlossaryREST_updateGlossaryCategory",
"numops": 3,
"minTime": 56,
"maxTime": 171,
"stdDevTime": 13.435029,
"avgTime": 65.5
},
"GlossaryREST_getRelatedCategories": {
"name": "GlossaryREST_getRelatedCategories",
"numops": 11,
"minTime": 5,
"maxTime": 26,
"stdDevTime": 2.081666,
"avgTime": 11
},
"EntityREST_updateClassifications": {
"name": "EntityREST_updateClassifications",
"numops": 2,
"minTime": 85,
"maxTime": 117,
"stdDevTime": 22.627417,
"avgTime": 101
},
"GlossaryREST_getGlossaryTerm": {
"name": "GlossaryREST_getGlossaryTerm",
"numops": 28,
"minTime": 6,
"maxTime": 42,
"stdDevTime": 4.2426405,
"avgTime": 27
},
"GlossaryREST_deleteGlossaryTerm": {
"name": "GlossaryREST_deleteGlossaryTerm",
"numops": 2,
"minTime": 204,
"maxTime": 210,
"stdDevTime": 0,
"avgTime": 210
},
"TypesREST_createAtlasTypeDefs": {
"name": "TypesREST_createAtlasTypeDefs",
"numops": 2,
"minTime": 1196,
"maxTime": 2946,
"stdDevTime": 1237.4369,
"avgTime": 2071
},
"EntityREST_getAuditEvents": {
"name": "EntityREST_getAuditEvents",
"numops": 50,
"minTime": 6,
"maxTime": 128,
"stdDevTime": 30.628525,
"avgTime": 23.66
},
"EntityREST_deleteClassification": {
"name": "EntityREST_deleteClassification",
"numops": 339,
"minTime": 177,
"maxTime": 547,
"stdDevTime": 5.700877,
"avgTime": 209
},
"EntityREST_addClassification": {
"name": "EntityREST_addClassification",
"numops": 1,
"minTime": 111,
"maxTime": 111,
"stdDevTime": 0,
"avgTime": 111
},
"TypesREST_getEntityDefByName": {
"name": "TypesREST_getEntityDefByName",
"numops": 11,
"minTime": 0,
"maxTime": 1,
"stdDevTime": 0,
"avgTime": 1
}
} {code}
!Screenshot 2021-05-24 at 4.13.08 PM.png|width=478,height=270!
Error seen in UI
{code:java}
Uncaught RangeError: `currentPage` must be firstPage <= currentPage <=
totalPages if 0-based. Got 1.
at N.d._checkState (backbone.paginator.min.js?bust=1621440039818:1)
at N.d.getPage (backbone.paginator.min.js?bust=1621440039818:1)
at N.d.changePage (backgrid-paginator.min.js?bust=1621440039818:1)
at HTMLLIElement.dispatch (jquery.min.js?bust=1621440039818:2)
at HTMLLIElement.q.handle (jquery.min.js?bust=1621440039818:2) {code}
Second page displays no record found Showing *26-25*
!Screenshot 2021-05-24 at 4.40.15 PM.png|width=789,height=174!
was:
A list of UI issues are seen when the total issues crosses 25
# The total number of data as per response is 29, but UI says 30
# The data displayed are only 29 but one of them is a blank entry (Highlighted
in screenshot)
# Among the 29 entries present in api response, one of them is missing in the
UI in this case [*TypesREST_getTypeDefHeaders*]
# When all the data are made to display in same page, the UI shows page 1 and 2
# When the selection is made to display only 25, it still displays all the
data [25+ entries are displayed]
# Sorting does not work
#
Response Data:
{code:java}
{
"TypesREST_getTypeDefHeaders": {
"name": "TypesREST_getTypeDefHeaders",
"numops": 13,
"minTime": 2,
"maxTime": 37,
"stdDevTime": 0,
"avgTime": 2
},
"GlossaryREST_createGlossaryTerm": {
"name": "GlossaryREST_createGlossaryTerm",
"numops": 11,
"minTime": 218,
"maxTime": 308,
"stdDevTime": 29.160475,
"avgTime": 235.33333
},
"GlossaryREST_deleteGlossaryCategory": {
"name": "GlossaryREST_deleteGlossaryCategory",
"numops": 2,
"minTime": 197,
"maxTime": 219,
"stdDevTime": 0,
"avgTime": 197
},
"GlossaryREST_deleteGlossary": {
"name": "GlossaryREST_deleteGlossary",
"numops": 3,
"minTime": 165,
"maxTime": 521,
"stdDevTime": 251.73001,
"avgTime": 343
},
"EntityREST_addClassifications": {
"name": "EntityREST_addClassifications",
"numops": 339,
"minTime": 64,
"maxTime": 430,
"stdDevTime": 2.5495098,
"avgTime": 101.5
},
"DiscoveryREST_getSavedSearches": {
"name": "DiscoveryREST_getSavedSearches",
"numops": 13,
"minTime": 3,
"maxTime": 38,
"stdDevTime": 0,
"avgTime": 3
},
"TypesREST_getClassificationDefByName": {
"name": "TypesREST_getClassificationDefByName",
"numops": 11,
"minTime": 2,
"maxTime": 2,
"stdDevTime": 0,
"avgTime": 1
},
"GlossaryREST_createGlossary": {
"name": "GlossaryREST_createGlossary",
"numops": 4,
"minTime": 167,
"maxTime": 197,
"stdDevTime": 0,
"avgTime": 179
},
"EntityREST_createOrUpdate": {
"name": "EntityREST_createOrUpdate",
"numops": 2,
"minTime": 76,
"maxTime": 133,
"stdDevTime": 40.305088,
"avgTime": 104.5
},
"GlossaryREST_getGlossaryCategory": {
"name": "GlossaryREST_getGlossaryCategory",
"numops": 14,
"minTime": 5,
"maxTime": 47,
"stdDevTime": 18.384777,
"avgTime": 25
},
"GlossaryREST_updateGlossaryTerm": {
"name": "GlossaryREST_updateGlossaryTerm",
"numops": 5,
"minTime": 62,
"maxTime": 559,
"stdDevTime": 340.11835,
"avgTime": 62
},
"DiscoveryREST_searchUsingBasic": {
"name": "DiscoveryREST_searchUsingBasic",
"numops": 2,
"minTime": 25,
"maxTime": 451,
"stdDevTime": 0,
"avgTime": 25
},
"EntityREST_getById": {
"name": "EntityREST_getById",
"numops": 5,
"minTime": 37,
"maxTime": 84,
"stdDevTime": 20.067387,
"avgTime": 52.8
},
"GlossaryREST_getGlossaries": {
"name": "GlossaryREST_getGlossaries",
"numops": 34,
"minTime": 10,
"maxTime": 291,
"stdDevTime": 48.294235,
"avgTime": 180
},
"TypesREST_getAllTypeDefs": {
"name": "TypesREST_getAllTypeDefs",
"numops": 44,
"minTime": 0,
"maxTime": 32,
"stdDevTime": 0.5,
"avgTime": 0.25
},
"DiscoveryREST_searchUsingDSL": {
"name": "DiscoveryREST_searchUsingDSL",
"numops": 4,
"minTime": 13,
"maxTime": 243,
"stdDevTime": 155.56349,
"avgTime": 16
},
"GlossaryREST_createGlossaryCategory": {
"name": "GlossaryREST_createGlossaryCategory",
"numops": 4,
"minTime": 195,
"maxTime": 293,
"stdDevTime": 0,
"avgTime": 293
},
"DiscoveryREST_searchWithParameters": {
"name": "DiscoveryREST_searchWithParameters",
"numops": 28,
"minTime": 2,
"maxTime": 16,
"stdDevTime": 1.4142135,
"avgTime": 3
},
"EntityREST_setLabels": {
"name": "EntityREST_setLabels",
"numops": 3,
"minTime": 62,
"maxTime": 76,
"stdDevTime": 7.81025,
"avgTime": 67
},
"GlossaryREST_updateGlossaryCategory": {
"name": "GlossaryREST_updateGlossaryCategory",
"numops": 3,
"minTime": 56,
"maxTime": 171,
"stdDevTime": 13.435029,
"avgTime": 65.5
},
"GlossaryREST_getRelatedCategories": {
"name": "GlossaryREST_getRelatedCategories",
"numops": 11,
"minTime": 5,
"maxTime": 26,
"stdDevTime": 2.081666,
"avgTime": 11
},
"EntityREST_updateClassifications": {
"name": "EntityREST_updateClassifications",
"numops": 2,
"minTime": 85,
"maxTime": 117,
"stdDevTime": 22.627417,
"avgTime": 101
},
"GlossaryREST_getGlossaryTerm": {
"name": "GlossaryREST_getGlossaryTerm",
"numops": 28,
"minTime": 6,
"maxTime": 42,
"stdDevTime": 4.2426405,
"avgTime": 27
},
"GlossaryREST_deleteGlossaryTerm": {
"name": "GlossaryREST_deleteGlossaryTerm",
"numops": 2,
"minTime": 204,
"maxTime": 210,
"stdDevTime": 0,
"avgTime": 210
},
"TypesREST_createAtlasTypeDefs": {
"name": "TypesREST_createAtlasTypeDefs",
"numops": 2,
"minTime": 1196,
"maxTime": 2946,
"stdDevTime": 1237.4369,
"avgTime": 2071
},
"EntityREST_getAuditEvents": {
"name": "EntityREST_getAuditEvents",
"numops": 50,
"minTime": 6,
"maxTime": 128,
"stdDevTime": 30.628525,
"avgTime": 23.66
},
"EntityREST_deleteClassification": {
"name": "EntityREST_deleteClassification",
"numops": 339,
"minTime": 177,
"maxTime": 547,
"stdDevTime": 5.700877,
"avgTime": 209
},
"EntityREST_addClassification": {
"name": "EntityREST_addClassification",
"numops": 1,
"minTime": 111,
"maxTime": 111,
"stdDevTime": 0,
"avgTime": 111
},
"TypesREST_getEntityDefByName": {
"name": "TypesREST_getEntityDefByName",
"numops": 11,
"minTime": 0,
"maxTime": 1,
"stdDevTime": 0,
"avgTime": 1
}
} {code}
!Screenshot 2021-05-24 at 4.13.08 PM.png|width=478,height=270!
Error seen in UI
{code:java}
Uncaught RangeError: `currentPage` must be firstPage <= currentPage <=
totalPages if 0-based. Got 1.
at N.d._checkState (backbone.paginator.min.js?bust=1621440039818:1)
at N.d.getPage (backbone.paginator.min.js?bust=1621440039818:1)
at N.d.changePage (backgrid-paginator.min.js?bust=1621440039818:1)
at HTMLLIElement.dispatch (jquery.min.js?bust=1621440039818:2)
at HTMLLIElement.q.handle (jquery.min.js?bust=1621440039818:2) {code}
Second page displays no record found Showing *26-25*
!Screenshot 2021-05-24 at 4.40.15 PM.png|width=789,height=174!
> [Atlas: Debug Metrics] Several UI Issues are seen when the total count
> crossed 25
> ---------------------------------------------------------------------------------
>
> Key: ATLAS-4299
> URL: https://issues.apache.org/jira/browse/ATLAS-4299
> Project: Atlas
> Issue Type: Bug
> Components: atlas-webui
> Reporter: Dharshana M Krishnamoorthy
> Priority: Major
> Attachments: Screenshot 2021-05-24 at 4.13.08 PM.png, Screenshot
> 2021-05-24 at 4.40.15 PM.png
>
>
> A list of UI issues are seen when the total issues crosses 25
> # The total number of data as per response is 29, but UI says 30
> # The data displayed are only 29 but one of them is a blank entry
> (Highlighted in screenshot)
> # Among the 29 entries present in api response, one of them is missing in
> the UI in this case [*TypesREST_getTypeDefHeaders*]
> # When all the data are made to display in same page, the UI shows page 1
> and 2
> # When the selection is made to display only 25, it still displays all the
> data [25+ entries are displayed]
> # Sorting does not work without refresh
> Response Data:
> {code:java}
> {
> "TypesREST_getTypeDefHeaders": {
> "name": "TypesREST_getTypeDefHeaders",
> "numops": 13,
> "minTime": 2,
> "maxTime": 37,
> "stdDevTime": 0,
> "avgTime": 2
> },
> "GlossaryREST_createGlossaryTerm": {
> "name": "GlossaryREST_createGlossaryTerm",
> "numops": 11,
> "minTime": 218,
> "maxTime": 308,
> "stdDevTime": 29.160475,
> "avgTime": 235.33333
> },
> "GlossaryREST_deleteGlossaryCategory": {
> "name": "GlossaryREST_deleteGlossaryCategory",
> "numops": 2,
> "minTime": 197,
> "maxTime": 219,
> "stdDevTime": 0,
> "avgTime": 197
> },
> "GlossaryREST_deleteGlossary": {
> "name": "GlossaryREST_deleteGlossary",
> "numops": 3,
> "minTime": 165,
> "maxTime": 521,
> "stdDevTime": 251.73001,
> "avgTime": 343
> },
> "EntityREST_addClassifications": {
> "name": "EntityREST_addClassifications",
> "numops": 339,
> "minTime": 64,
> "maxTime": 430,
> "stdDevTime": 2.5495098,
> "avgTime": 101.5
> },
> "DiscoveryREST_getSavedSearches": {
> "name": "DiscoveryREST_getSavedSearches",
> "numops": 13,
> "minTime": 3,
> "maxTime": 38,
> "stdDevTime": 0,
> "avgTime": 3
> },
> "TypesREST_getClassificationDefByName": {
> "name": "TypesREST_getClassificationDefByName",
> "numops": 11,
> "minTime": 2,
> "maxTime": 2,
> "stdDevTime": 0,
> "avgTime": 1
> },
> "GlossaryREST_createGlossary": {
> "name": "GlossaryREST_createGlossary",
> "numops": 4,
> "minTime": 167,
> "maxTime": 197,
> "stdDevTime": 0,
> "avgTime": 179
> },
> "EntityREST_createOrUpdate": {
> "name": "EntityREST_createOrUpdate",
> "numops": 2,
> "minTime": 76,
> "maxTime": 133,
> "stdDevTime": 40.305088,
> "avgTime": 104.5
> },
> "GlossaryREST_getGlossaryCategory": {
> "name": "GlossaryREST_getGlossaryCategory",
> "numops": 14,
> "minTime": 5,
> "maxTime": 47,
> "stdDevTime": 18.384777,
> "avgTime": 25
> },
> "GlossaryREST_updateGlossaryTerm": {
> "name": "GlossaryREST_updateGlossaryTerm",
> "numops": 5,
> "minTime": 62,
> "maxTime": 559,
> "stdDevTime": 340.11835,
> "avgTime": 62
> },
> "DiscoveryREST_searchUsingBasic": {
> "name": "DiscoveryREST_searchUsingBasic",
> "numops": 2,
> "minTime": 25,
> "maxTime": 451,
> "stdDevTime": 0,
> "avgTime": 25
> },
> "EntityREST_getById": {
> "name": "EntityREST_getById",
> "numops": 5,
> "minTime": 37,
> "maxTime": 84,
> "stdDevTime": 20.067387,
> "avgTime": 52.8
> },
> "GlossaryREST_getGlossaries": {
> "name": "GlossaryREST_getGlossaries",
> "numops": 34,
> "minTime": 10,
> "maxTime": 291,
> "stdDevTime": 48.294235,
> "avgTime": 180
> },
> "TypesREST_getAllTypeDefs": {
> "name": "TypesREST_getAllTypeDefs",
> "numops": 44,
> "minTime": 0,
> "maxTime": 32,
> "stdDevTime": 0.5,
> "avgTime": 0.25
> },
> "DiscoveryREST_searchUsingDSL": {
> "name": "DiscoveryREST_searchUsingDSL",
> "numops": 4,
> "minTime": 13,
> "maxTime": 243,
> "stdDevTime": 155.56349,
> "avgTime": 16
> },
> "GlossaryREST_createGlossaryCategory": {
> "name": "GlossaryREST_createGlossaryCategory",
> "numops": 4,
> "minTime": 195,
> "maxTime": 293,
> "stdDevTime": 0,
> "avgTime": 293
> },
> "DiscoveryREST_searchWithParameters": {
> "name": "DiscoveryREST_searchWithParameters",
> "numops": 28,
> "minTime": 2,
> "maxTime": 16,
> "stdDevTime": 1.4142135,
> "avgTime": 3
> },
> "EntityREST_setLabels": {
> "name": "EntityREST_setLabels",
> "numops": 3,
> "minTime": 62,
> "maxTime": 76,
> "stdDevTime": 7.81025,
> "avgTime": 67
> },
> "GlossaryREST_updateGlossaryCategory": {
> "name": "GlossaryREST_updateGlossaryCategory",
> "numops": 3,
> "minTime": 56,
> "maxTime": 171,
> "stdDevTime": 13.435029,
> "avgTime": 65.5
> },
> "GlossaryREST_getRelatedCategories": {
> "name": "GlossaryREST_getRelatedCategories",
> "numops": 11,
> "minTime": 5,
> "maxTime": 26,
> "stdDevTime": 2.081666,
> "avgTime": 11
> },
> "EntityREST_updateClassifications": {
> "name": "EntityREST_updateClassifications",
> "numops": 2,
> "minTime": 85,
> "maxTime": 117,
> "stdDevTime": 22.627417,
> "avgTime": 101
> },
> "GlossaryREST_getGlossaryTerm": {
> "name": "GlossaryREST_getGlossaryTerm",
> "numops": 28,
> "minTime": 6,
> "maxTime": 42,
> "stdDevTime": 4.2426405,
> "avgTime": 27
> },
> "GlossaryREST_deleteGlossaryTerm": {
> "name": "GlossaryREST_deleteGlossaryTerm",
> "numops": 2,
> "minTime": 204,
> "maxTime": 210,
> "stdDevTime": 0,
> "avgTime": 210
> },
> "TypesREST_createAtlasTypeDefs": {
> "name": "TypesREST_createAtlasTypeDefs",
> "numops": 2,
> "minTime": 1196,
> "maxTime": 2946,
> "stdDevTime": 1237.4369,
> "avgTime": 2071
> },
> "EntityREST_getAuditEvents": {
> "name": "EntityREST_getAuditEvents",
> "numops": 50,
> "minTime": 6,
> "maxTime": 128,
> "stdDevTime": 30.628525,
> "avgTime": 23.66
> },
> "EntityREST_deleteClassification": {
> "name": "EntityREST_deleteClassification",
> "numops": 339,
> "minTime": 177,
> "maxTime": 547,
> "stdDevTime": 5.700877,
> "avgTime": 209
> },
> "EntityREST_addClassification": {
> "name": "EntityREST_addClassification",
> "numops": 1,
> "minTime": 111,
> "maxTime": 111,
> "stdDevTime": 0,
> "avgTime": 111
> },
> "TypesREST_getEntityDefByName": {
> "name": "TypesREST_getEntityDefByName",
> "numops": 11,
> "minTime": 0,
> "maxTime": 1,
> "stdDevTime": 0,
> "avgTime": 1
> }
> } {code}
> !Screenshot 2021-05-24 at 4.13.08 PM.png|width=478,height=270!
>
> Error seen in UI
> {code:java}
> Uncaught RangeError: `currentPage` must be firstPage <= currentPage <=
> totalPages if 0-based. Got 1.
> at N.d._checkState (backbone.paginator.min.js?bust=1621440039818:1)
> at N.d.getPage (backbone.paginator.min.js?bust=1621440039818:1)
> at N.d.changePage (backgrid-paginator.min.js?bust=1621440039818:1)
> at HTMLLIElement.dispatch (jquery.min.js?bust=1621440039818:2)
> at HTMLLIElement.q.handle (jquery.min.js?bust=1621440039818:2) {code}
> Second page displays no record found Showing *26-25*
> !Screenshot 2021-05-24 at 4.40.15 PM.png|width=789,height=174!
--
This message was sent by Atlassian Jira
(v8.3.4#803005)