Repository: incubator-griffin
Updated Branches:
  refs/heads/master 4a9137d2e -> 43fe60862


http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/43fe6086/griffin-doc/ui/test-case.md
----------------------------------------------------------------------
diff --git a/griffin-doc/ui/test-case.md b/griffin-doc/ui/test-case.md
index 3b703eb..f872702 100644
--- a/griffin-doc/ui/test-case.md
+++ b/griffin-doc/ui/test-case.md
@@ -19,60 +19,44 @@ under the License.
 #Functional Test cases
 
 
-|TestCase ID|Test Page|Test Case Description|Test Case Steps|Test 
Data|Expected Result|Actual Result|Test Result|Jira Bug ID|
-|---|---|---|---|---|---|---|---|---|
-|0101|login page|invalid corp id - check user cannot login the system with 
invalid corp id.|1. Input invalid corp id.<br>2. Input password.<br>3. click 
'log in' button.||1. login failed.||Passed||
-|0102|login page|invalid password - check user cannot login the system with 
invalid password.|1. input valid corp id.<br>2.input invalid 
password<br>3.click 'log in' button.||1. login failed.||Passed||
-|0103|login page|valid corp id and passoword - check user can login the system 
with valid corp id and password.|1. Input the corp id and password.<br>2 click 
'log in' button.||1. login succesfully||Passed||
-|0104|login page|remember password|1. Input the corp id and password.<br>2. 
select 'remember password'.<br>3.click 'log in' button.<br>4. close the 
brower.<br>5. open the brower again.<br>6. visit the griffin page.||1.the id 
and password are valid.<br>2.'remember password' is checked.<br>3.logged in the 
griffin homepage.<br>4.the brower is closed.<br>5.the brower is 
reopened.<br>6.the griffin homepage is opened, instead of the login 
page.||Passed||
-|0105|login page|not remember password|1. Input the corp id and 
password.<br>2. unselect 'remember password'.<br>3.click 'log in' button.<br>4. 
close the brower.<br>5. open the brower again.<br>6. visit the griffin 
page.||1.the id and password are valid.<br>2.'remember password' is 
unchecked.<br>3.logged in the griffin homepage.<br>4.the brower is 
closed.<br>5.the brower is reopened.<br>6.the login page is opened.||Passed||
-|0201|main page|menu bar - check all links in the menu work.|1. click 
'health'.<br>2. click 'models'.<br>3.click 'Data profiling'.<br>4. click your 
username -> 'API Docs'.||1.show 'health' page.<br>2.show 'models' 
page.<br>3.show 'data profiling' page<br>4.open new page for API page.||Passed||
-|0202|main page|menu bar - search|1.input a word in the search box.<br>2.do 
search.||1. show search result.|unimplemented|||
-|0203|main page|menu bar - user profile|1. click username -> 'user 
profile'||1. show user profile page|unimplemented|||
-|0204|main page|menu bar - setting|1. click username -> 'setting'||1. show 
setting page.|unimplemented|||
-|0205|main page|right side - DataAssets|1. click '*** DataAssets' link||1.show 
the data assets page.||Passed||
-|0206|main page|right side - DQ Metrics|1. click '*** DQ Metrics' link.||1. 
show DQ Metrics page||Passed||
-|0207|main page|right side - health percentage |1. check the pie for the 
health percentage.||1. show the health percentage.||Passed||
-|0208|main page|right side - issue tracking|1. click 'issue tracking'||1. show 
'issue tracking' page|unimplemented|||
-|0209|main page|right side - statistics for the DQ data.|1. check the DQ data 
with the name, last updated time, and the data quality.<br>2. show more for one 
item, check the dq trend chart. <br>3. click the chart.<br>4. close the 
zoomed-in chart.||1.show all the dq data.<br>2.show the latest dq trend chart 
for the item.<br>3.the dq chart is zoomed in.<br>4.the zoomed-in chart is 
closed.||Passed||
-|0210|main page|right side - report issue.|1. click 'Report issue'||1. open 
the jira page.||Passed||
-|0301|health page|heatmap|1. open 'heatmap' tab.<br>2. check the data quality 
metrics heatmap.<br>3. click inside the heatmap.||1.show the heatmap.<br>2.all 
the data are shown successfully.<br>3.show the metrics page.||Passed||
-|0302|health page|Topology|1. open 'Topology' tab.<br>2. check the data.||1. 
show topology.|unimplemented|||
-|0303|health page|check the UI layout when the page is zoomed in and 
out.|1.zoom in the page.<br>2.zoom out the page.||1. display the page 
correctly.||Passed||
-|0401|metrics page|check metrics data|1. check the dq charts for the 
metrics.<br>2. click one chart.||1. all the data in the dq charts are 
correct.<br>2. the chart is zoomed in.||Passed||
-|0402|metrics page|Download Sample|1. click 'download sample'.||1. the sample 
is downloaded to the local path.|unimplemented|||
-|0403|metrics page|Profiling|1. click 'profiling'||1. show 
'profiling'|unimplemented|||
-|0404|metrics page|check the UI layout when the page is zoomed in and 
out.|1.zoom in the page.<br>2.zoom out the page.||1. display the page 
correctly.||Passed||
-|0501|models page|check the models data|1. check all the columns are correct 
or not.<br>2. click one model name.||1. all the data are correct.<br>2. show 
more information of the model.||Passed||
-|0502|models page|edit model|1. click 'edit' icon.||1. open the edit 
page.|unimplemented|||
-|0503|models page|delete model|1. click 'delete' icon for one model.<br>2. 
confirm to delete the model.||1. open delete confirmation page.<br>2. the model 
is removed from the models table.||Passed||
-|0504|models page|subscribe|1. click 'subscribe' icon for one model.||1. open 
subscribe page|unimplemented|||
-|0505|models page|table paging|1. click other pages in the models 
table.||1.all the data in other pages are show correctly.||Passed||
-|0506|models page|create DQ model|1. click 'create DQ model' button||1. open 
'create DQ model' page.||Passed||
-|0507|models page|check the UI layout when the page is zoomed in and 
out.|1.zoom in the page.<br>2.zoom out the page.||1. display the page 
correctly.||Passed||
-|0601|create dq model - accuracy|create accuracy|1. click 'models' -> 'create 
DQ model' -> 'Accuracy'<br>2.choose the source. Select a schema, e.g. 'apollo 
-> Sojorner -> sog_search_event'.<br>3.select one or more attributes, e.g. uid, 
site_id.<br>4. click 'next'.<br>5. choose the target. Select a schema, e.g. 
'appollo -> Bullseye -> adchoice_user_pref'.<br>6. select one or more 
attributes, e.g. user_id, scope.<br>7. click 'next'.<br>8. select a primary 
key, e.g. Bullseye.achoice_user_pref.user_id.<br>9. select 'Map To' 
exactly.<br>10. select a source field for each target.<br>11. click 
'next'.<br>12. input the required information, e.g. model name 'atest', 
notification email 'a...@ebay.com'.<br>13.click 'submit'.<br>14. confirm to 
save.|source schema: 'apollo -> Sojorner -> sog_search_event'.<br>Source 
attributes: uid, site_id.<br>target schema: 'appollo -> Bullseye -> 
adchoice_user_pref'.<br>target attributes, e.g. user_id, scope.<br>primary key: 
Bullseye.achoice_user_pref.user_id.<
 br>model name: 'atest', <br>notification email: 'a...@ebay.com'.|1. open 
'create accuracy' page.<br>2. the source shcema is selected. The corresponding 
attributes are shown in the attributes table.<br>3. the source attributes are 
selected.<br>4. go to 'choose target' step.<br>5. the target schema is 
selected. The corresponding attributes are shown in the attributes table.<br>6. 
the target attributes are selected.<br>7. go to 'mapping source and target' 
step.<br>8. the PK is selected.<br>9. exactly map to the source.<br>10. the 
source field is selected for each target.<br>11. go to 'configuration' 
step.<br>12. the required info are input correctly.<br>13. open a confirmation 
page.<br>14. the new model 'atest' is created. It is shown in the models 
table||Passed||
-|0602|create dq model - accuracy|show error message if no source attribute is 
selected.|1. click 'models' -> 'create DQ model' -> 'Accuracy'.<br>2. click 
'next'||1. open 'create accuracy' page.<br>2. show error message to select at 
least one attribute.||Passed||
-|0603|create dq model - accuracy|show error message if no target attribute is 
selected.|1. click 'models' -> 'create DQ model' -> 'Accuracy'<br>2.choose the 
source. Select a schema, e.g. 'apollo -> Sojorner -> 
sog_search_event'.<br>3.select one or more attributes, e.g. uid, site_id.<br>4. 
click 'next'.<br>5. in the 'target' step, click 'next'.|source schema: 'apollo 
-> Sojorner -> sog_search_event'.<br>Source attributes: uid, site_id.|"1. open 
'create accuracy' page.<br>2. the source shcema is selected. The corresponding 
attributes are shown in the attributes table.<br>3. the source attributes are 
selected.<br>4. go to 'choose target' step.<br>5. show error message to select 
at least one attribute.||Passed||
-|0604|create dq model - accuracy|show error message if 'map fields' is not 
set.|1. click 'models' -> 'create DQ model' -> 'Accuracy'<br>2.choose the 
source. Select a schema, e.g. 'apollo -> Sojorner -> 
sog_search_event'.<br>3.select one or more attributes, e.g. uid, site_id.<br>4. 
click 'next'.<br>5. choose the target. Select a schema, e.g. 'appollo -> 
Bullseye -> adchoice_user_pref'.<br>6. select one or more attributes, e.g. 
user_id, scope.<br>7. click 'next'.<br>8. no selection. click 'next'.<br>9. 
select a primary key. click 'next'.|source schema: 'apollo -> Sojorner -> 
sog_search_event'.<br>Source attributes: uid, site_id.<br>target schema: 
'appollo -> Bullseye -> adchoice_user_pref'.<br>target attributes, e.g. 
user_id, scope.<br>primary key: Bullseye.achoice_user_pref.user_id.|1. open 
'create accuracy' page.<br>2. the source shcema is selected. The corresponding 
attributes are shown in the attributes table.<br>3. the source attributes are 
selected.<br>4. go to 'choose target' s
 tep.<br>5. the target schema is selected. The corresponding attributes are 
shown in the attributes table.<br>6. the target attributes are selected.<br>7. 
go to 'mapping source and target' step.<br>8. no PK is selected.<br>9. show 
error message.||Passed||
-|0605|create dq model - accuracy|show error if the configuration is invalid|1. 
click 'models' -> 'create DQ model' -> 'Accuracy'<br>2.choose the source. 
Select a schema, e.g. 'apollo -> Sojorner -> sog_search_event'.<br>3.select one 
or more attributes, e.g. uid, site_id.<br>4. click 'next'.<br>5. choose the 
target. Select a schema, e.g. 'appollo -> Bullseye -> 
adchoice_user_pref'.<br>6. select one or more attributes, e.g. user_id, 
scope.<br>7. click 'next'.<br>8. select a primary key, e.g. 
Bullseye.achoice_user_pref.user_id.<br>9. select 'Map To' exactly.<br>10. 
select a source field for each target.<br>11. click 'next'.<br>12. input 
invalid value for each field, e.g. model name 'a test', notification email 
'aa'.|source schema: 'apollo -> Sojorner -> sog_search_event'.<br>Source 
attributes: uid, site_id.<br>target schema: 'appollo -> Bullseye -> 
adchoice_user_pref'.<br>target attributes, e.g. user_id, scope.<br>primary key: 
Bullseye.achoice_user_pref.user_id.<br>model name: 'a test'
 , <br>notification email: 'aa'.|1. open 'create accuracy' page.<br>2. the 
source shcema is selected. The corresponding attributes are shown in the 
attributes table.<br>3. the source attributes are selected.<br>4. go to 'choose 
target' step.<br>5. the target schema is selected. The corresponding attributes 
are shown in the attributes table.<br>6. the target attributes are 
selected.<br>7. go to 'mapping source and target' step.<br>8. the PK is 
selected.<br>9. exactly map to the source.<br>10. the source field is selected 
for each target.<br>11. go to 'configuration' step.<br>12. show error for 
invalid value.||Passed||
-|0606|create dq model - accuracy|check the link to add new data asset.|1. 
click the link for adding new data asset.||1. go to the 'register data asset' 
page.||Passed||
-|0607|create dq model - accuracy|check the UI layout for all the steps when 
the page is zoomed in and out.|1.zoom in the page.<br>2.zoom out the 
page.||1.all the steps in the page can be shown correctly.||Passed||
-|0701|create dq model - validity|check dq model with validity type can be 
created.|1. click 'models' -> 'create DQ model' -> Validity<br>2.choose the 
target. Select a schema, e.g. 'apollo -> Sojorner -> 
sog_search_event'.<br>3.select one attribute, e.g. uid.<br>4. click 
'next'.<br>5. choose one validity model, e.g. unique count.<br>6. click 
'next'.<br>7. input valid value for the configuration fields. e.g. model name 
'avalidity', email 'a...@b.com'.<br>8. click 'submit'<br>9. click 
'save'.|schema: 'apollo -> Sojorner -> sog_search_event'.<br>Attribute: 
uid.<br>validity model: unique count.<br>model name: 'a validity', <br>email: 
'aa'.|1. open 'create validity' page.<br>2. the target schem is selected. The 
corresponding attributes are shown in the attributes table.<br>3. the attribute 
is selected.<br>4. go to 'select model' page.<br>5. the validity model is 
selected. The description of the model is shown as well.<br>6. go to 
'configuration' step.<br>7. all the value are valid.<br>8. op
 en a confirmation page.<br>9. the new model 'avalidity' is created 
successfully. it is shown in the models page.||Passed||
-|0702|create dq model - validity|show error if no target is selected.|1. click 
'models' -> 'create DQ model' -> Validity<br>2. not choose the target.<br>3. 
click 'next'.||1. open 'create validity' page.<br>2. no target schem is 
selected.<br>3. show error.||Passed||
-|0703|create dq model - validity|show error if any field is invalid.|1. click 
'models' -> 'create DQ model' -> Validity<br>2.choose the target. Select a 
schema, e.g. 'apollo -> Sojorner -> sog_search_event'.<br>3.select one 
attribute, e.g. uid.<br>4. click 'next'.<br>5. choose one validity model, e.g. 
unique count.<br>6. click 'next'.<br>7. input invalid value for the 
configuration fields.|schema: 'apollo -> Sojorner -> 
sog_search_event'.<br>validity model: unique count.<br>Attribute: uid.<br>model 
name: 'a validity', <br>email: 'aa'.|1. open 'create validity' page.<br>2. the 
target schem is selected. The corresponding attributes are shown in the 
attributes table.<br>3. the attribute is selected.<br>4. go to 'select model' 
page.<br>5. the validity model is selected. The description of the model is 
shown as well.<br>6. go to 'configuration' step.<br>7. show error for the 
invalid value.||Passed||
-|0704|create dq model - validity|check the UI layout for all the steps when 
the page is zoomed in and out.|1.zoom in the page.<br>2.zoom out the 
page.||1.all the steps in the page can be shown correctly.||Passed||
-|0801|create dq model - anomaly detection|check the dq model with anomaly 
detection can be created.|1. click 'models' -> 'create DQ model' -> 
Validity<br>2.choose the target. Select a schema, e.g. 'apollo -> Sojorner -> 
sog_search_event'.<br>3. click 'next'.<br>4. choose one statistical techniques, 
e.g. bollinger bands detection.<br>5. click 'next'.<br>6. input valid value for 
the configuration fields. e.g. model name 'anomaly', email 'a...@b.com'.<br>7. 
click 'submit'<br>8. click 'save'.|schema: 'apollo -> Sojorner -> 
sog_search_event'.<br>statistical techniques: bollinger bands 
detection.<br>model name 'anomaly', <br>email 'a...@b.com'.|1. open 'create 
validity' page.<br>2. the target schem is selected. The corresponding 
attributes are shown in the attributes table.<br>3. go to 'select model' 
page.<br>4. the validity model is selected. The description of the model is 
shown as well.<br>5. go to 'configuration' step.<br>6. all the value are 
valid.<br>7. open a confirmation page.<br>8. t
 wo new models, 'anomaly' with 'anomaly detection' type, and 'Count_anomaly_1' 
with 'validity' type are created successfully. They are shown in the models 
page.||Passed||
-|0802|create dq model - anomaly detection|show error if no target is 
selected.|1. click 'models' -> 'create DQ model' -> Validity<br>2. not choose 
the target.<br>3. click 'next'.||1. open 'create validity' page.<br>2. no 
target schem is selected.<br>3. show error.||Passed||
-|0803|create dq model - anomaly detection|show error if any field is 
invalid.|1. click 'models' -> 'create DQ model' -> Validity<br>2.choose the 
target. Select a schema, e.g. 'apollo -> Sojorner -> sog_search_event'.<br>3. 
click 'next'.<br>4. choose one statistical techniques, e.g. bollinger bands 
detection.<br>5. click 'next'.<br>6. input invalid value for the configuration 
fields.|schema: 'apollo.Sojorner. sog_search_event'<br>model name: 'a nomaly', 
<br>email: 'aa'.|1. open 'create validity' page.<br>. the target schem is 
selected. The corresponding attributes are shown in the attributes table.<br>3. 
go to 'select model' page.<br>4. the validity model is selected. The 
description of the model is shown as well.<br>5. go to 'configuration' 
step.<br>6. show error for the invalid value.||Passed||
-|0804|create dq model - anomaly detection|check the UI layout for all the 
steps when the page is zoomed in and out.|1.zoom in the page.<br>2.zoom out the 
page.||1.all the steps in the page can be shown correctly.||Passed||
-|0901|create dq model - publish DQ data directly|check the dq model with 
publish type can be created.|1. click 'models' -> 'create DQ model' -> publish 
DQ data directly.<br>2.input valid value for the configuration fields.<br>3. 
click 'submit'<br>4. click 'save'.|model name 'apu', <br>organization 'hadoop', 
<br>email 'a...@b.com'.|1. open 'create validity' page.<br>2. all the value are 
valid.<br>3. open a confirmation page.<br>4. the new model 'apu' is created 
successfully. It is shown in the models page.||Passed||
-|0902|create dq model - publish DQ data directly|show error if any field is 
invalid.|1. click 'models' -> 'create DQ model' -> publish DQ data 
directly.<br>2.input invalid value for the configuration fields. |model name 'a 
pu', email 'aa'.|1. open 'create validity' page.<br>2. show error for the 
invalid value.||Passed||
-|0903|create dq model - publish DQ data directly|check the UI layout for all 
the steps when the page is zoomed in and out.|1.zoom in the page.<br>2.zoom out 
the page.||1.all the steps in the page can be shown correctly.||Passed||
-|1001|data assets|check the data assets information|1. check all the columns 
are correct or not.<br>2. show more for an asset.||1. all the data are 
correct.<br>2. show the schemas of the asset.||Passed||
-|1002|data assets|edit asset|1. click 'edit' icon for an asset, e.g. 
'abc'.<br>2. edit the schema description and sample.<br>3. click 
'submit'.<br>4. confirm to save.<br>5. in the asset table, show more for the 
asset 'abc'.||1. open the edit page.<br>2. the schema description and sample 
are valid.<br>3. open a confirmation page.<br>4. the asset info are 
saved.<br>5. the schema info are updated.||Passed||
-|1003|data assets|delete asset|1. click 'delete' icon for an asset, e.g. 
'abc'.<br>2. confirm to delete the asset.||1. open delete confirmation 
page.<br>2. the asset is removed from the  table.||Passed||
-|1004|data assets|table paging|1. click other pages in the table.||1.all the 
data in other pages are show correctly.||Passed||
-|1005|data assets|check the UI layout when the page is zoomed in and 
out.|1.zoom in the page.<br>2.zoom out the page.||1. display the page 
correctly.||Passed||
-|1101|register data asset|check data asset can be registered.|1. click 
'register data asset' in the 'data assets' page.<br>2. input valid value.<br>3. 
click 'submit'.<br>4. confirm to save.|asset name: 'atest', <br>type: 
'hdfsfile',<br>HDFS path: '/var', <br>data folder pattern: 
'16-06-01',<br>platform: 'Apollo',<br>organization: 'GPS',<br>schema: name 
'dmg', type 'string'|1. open 'register data asset' page.<br>2. all the value 
are valid.<br>3. open a confirmation page.<br>4. the new asset is registered 
successfully. It is shown in the assets table.||Passed||
-|1102|register data asset|show error if any field is invalid.|1. click 
'register data asset' in the 'data assets' page.<br>2. input some invalid 
value.<br>3. click 'submit'.|asset name: 'a test', <br>type: 
'hdfsfile',<br>HDFS path: '/var', <br>data folder pattern: 
'16-06-01',<br>platform: 'Apollo',<br>organization: null,<br>schema: name 
'dmg', type 'string',|1. open 'register data asset' page.<br>2. some value are 
invalid.<br>3. show error for the invalid value.||Passed||
-|1103|register data asset|check the UI layout when the page is zoomed in and 
out.|1.zoom in the page.<br>2.zoom out the page.||1. display the page 
correctly.||Passed||
+| TestCase ID | Test Page                  | Test Case Description             
       | Test Case Steps                          | Test Data                   
             | Expected Result                          | Actual Result | Test 
Result | Jira Bug ID |
+| ----------- | -------------------------- | 
---------------------------------------- | 
---------------------------------------- | 
---------------------------------------- | 
---------------------------------------- | ------------- | ----------- | 
----------- |
+| 0101        | login page                 | invalid corp id - check user 
cannot login the system with invalid corp id. | 1. Input invalid corp id.<br>2. 
Input password.<br>3. click 'log in' button. |                                  
        | 1. login failed.                         |               | Passed     
 |             |
+| 0102        | login page                 | invalid password - check user 
cannot login the system with invalid password. | 1. input valid corp 
id.<br>2.input invalid password<br>3.click 'log in' button. |                   
                       | 1. login failed.                         |             
  | Passed      |             |
+| 0103        | login page                 | valid corp id and passoword - 
check user can login the system with valid corp id and password. | 1. Input the 
corp id and password.<br>2 click 'log in' button. |                             
             | 1. login succesfully                     |               | 
Passed      |             |
+| 0104        | login page                 | remember password                 
       | 1. Input the corp id and password.<br>2. select 'remember 
password'.<br>3.click 'log in' button.<br>4. close the brower.<br>5. open the 
brower again.<br>6. visit the griffin page. |                                   
       | 1.the id and password are valid.<br>2.'remember password' is 
checked.<br>3.logged in the griffin homepage.<br>4.the brower is 
closed.<br>5.the brower is reopened.<br>6.the griffin homepage is opened, 
instead of the login page. |               | Passed      |             |
+| 0105        | login page                 | not remember password             
       | 1. Input the corp id and password.<br>2. unselect 'remember 
password'.<br>3.click 'log in' button.<br>4. close the brower.<br>5. open the 
brower again.<br>6. visit the griffin page. |                                   
       | 1.the id and password are valid.<br>2.'remember password' is 
unchecked.<br>3.logged in the griffin homepage.<br>4.the brower is 
closed.<br>5.the brower is reopened.<br>6.the login page is opened. |           
    | Passed      |             |
+| 0201        | main page                  | menu bar - check all links in the 
menu work. | 1. click 'Health'.<br>2. click 'Measures'.<br>3.click 'Create 
Measure'.<br>4.click 'Data Profiling'.<br>4. click your username -> 'API Docs'. 
|                                          | 1.show 'health' page.<br>2.show 
'measures' page.<br>3.show 'crreate measure' page<br>4.show 'data profiling' 
page<br>4.open new page for API page. |               | Passed      |           
  |
+| 0202        | main page                  | menu bar - search                 
       | 1.input a word in the search box.<br>2.do search. |                    
                      | 1. show search result.                   | 
unimplemented |             |             |
+| 0203        | main page                  | menu bar - user profile           
       | 1. click username -> 'user profile'      |                             
             | 1. show user profile page                | unimplemented |       
      |             |
+| 0204        | main page                  | menu bar - setting                
       | 1. click username -> 'setting'           |                             
             | 1. show setting page.                    | unimplemented |       
      |             |
+| 0205        | main page                  | right side - DataAssets           
       | 1. click 'DataAssets' link               |                             
             | 1.show the data assets page.             |               | 
Passed      |             |
+| 0206        | main page                  | right side - DQ Metrics           
       | 1. click 'DQ Metrics' link.              |                             
             | 1. show DQ Metrics page                  |               | 
Passed      |             |
+| 0207        | main page                  | right side - statistics for the 
DQ data. | 1. check the DQ data with the name, last updated time, and the data 
quality.<br>2. show more for one item, check the dq trend chart. <br>3. click 
the chart.<br>4. close the zoomed-in chart. |                                   
       | 1.show all the dq data.<br>2.show the latest dq trend chart for the 
item.<br>3.the dq chart is zoomed in.<br>4.the zoomed-in chart is closed. |     
          | Passed      |             |
+| 0301        | health page                | heatmap                           
       | 1. open 'heatmap' tab.<br>2. check the data quality metrics 
heatmap.<br>3. click inside the heatmap. |                                      
    | 1.show the heatmap.<br>2.all the data are shown successfully.<br>3.show 
the metrics page. |               | Passed      |             |
+| 0302        | health page                | check the UI layout when the page 
is zoomed in and out. | 1.zoom in the page.<br>2.zoom out the page. |           
                               | 1. display the page correctly.           |     
          | Passed      |             |
+| 0401        | metrics page               | check metrics data                
       | 1. check the dq charts for the metrics.<br>2. click one chart. |       
                                   | 1. all the data in the dq charts are 
correct.<br>2. the chart is zoomed in. |               | Passed      |          
   |
+| 0402        | metrics page               | Download Sample                   
       | 1. click 'download sample'.              |                             
             | 1. the sample is downloaded to the local path. | unimplemented | 
            |             |
+| 0403        | metrics page               | Profiling                         
       | 1. click 'profiling'                     |                             
             | 1. show 'profiling'                      | unimplemented |       
      |             |
+| 0404        | metrics page               | check the UI layout when the page 
is zoomed in and out. | 1.zoom in the page.<br>2.zoom out the page. |           
                               | 1. display the page correctly.           |     
          | Passed      |             |
+| 0501        | Measures page              | check the measures data           
       | 1. check all the columns are correct or not.<br>2. click one measure 
name. |                                          | 1. all the data are 
correct.<br>2. show more information of the measure. |               | Passed   
   |             |
+| 0502        | Measures page              | delete measure                    
       | 1. click 'delete' icon for one measure.<br>2. confirm to delete the 
measure. |                                          | 1. open delete 
confirmation page.<br>2. the measure is removed from the measures table. |      
         | Passed      |             |
+| 0503        | Measures page              | View  measure                     
       | 1. click 'view' icon for one measure.    |                             
             | 1. open view measure page                |               |       
      |             |
+| 0504        | Measures page              | table paging                      
       | 1. click other pages in the measures table. |                          
                | 1.all the data in other pages are show correctly. |           
    | Passed      |             |
+| 0505        | Measures page              | create measure                    
       | 1. click 'create measure' button         |                             
             | 1. open 'create measure' page.           |               | 
Passed      |             |
+| 0506        | Measures page              | check the UI layout when the page 
is zoomed in and out. | 1.zoom in the page.<br>2.zoom out the page. |           
                               | 1. display the page correctly.           |     
          | Passed      |             |
+| 0601        | create measure - accuracy  | create accuracy                   
       | 1. click 'Measures' -> 'Create Measure' -> 'Accuracy'<br>2.choose the 
source. Select a schema, e.g. 'default -> demo_src'.<br>3.select one or more 
attributes, e.g. id, age.<br>4. click 'next'.<br>5. choose the target. Select a 
schema, e.g. 'default -> demo_tgt'.<br>6. select one or more attributes, e.g. 
id.<br>7. click 'next'.<br>8. select 'Map To',e.g.'='.<br>9. select a source 
field for each target.<br>10. click 'next'.<br>11. input the partition 
configuration for the source and the target,e.g. partition size'1day'.<br>12. 
input the required information, e.g. measure name 'test_acu'.<br>13.click 
'submit'.<br>14. confirm to save. | source schema: 'default -> 
demo_src'.<br>Source attributes: id, age.<br>target schema: 'default -> 
demo_tgt'.<br>target attributes, e.g. id.<br>Map to: =.<br>Source Fields: 
default.demo_src.id.<br>Partition size: '1day'.<br>model name: 'test_acu'. <br> 
| 1. open 'crea
 te accuracy' page.<br>2. the source shcema is selected. The corresponding 
attributes are shown in the attributes table.<br>3. the source attributes are 
selected.<br>4. go to 'choose target' step.<br>5. the target schema is 
selected. The corresponding attributes are shown in the attributes table.<br>6. 
the target attributes are selected.<br>7. go to 'mapping source and target' 
step.<br>8. exactly map to the source.<br>9. the source field is selected for 
each target.<br>10. go to 'partition configuration' step.<br>12. the 
configuration are input correctly.<br>11. go to 'configuration' step.<br>12. 
the required info are input correctly.<br>13. open a confirmation page.<br>14. 
the new model 'test_acu' is created. It is shown in the measures table |        
       | Passed      |             |
+| 0602        | create measure - accuracy  | show error message if no source 
attribute is selected. | 1. click 'Measures' -> 'Create Measure' -> 
'Accuracy'.<br>2. click 'next' |                                          | 1. 
open 'create accuracy' page.<br>2. show error message to select at least one 
attribute. |               | Passed      |             |
+| 0603        | create measure - accuracy  | show error message if no target 
attribute is selected. | 1. click 'Measures' -> 'Create Measure' -> 
'Accuracy'.<br>2.choose the source. Select a schema, e.g. 'default -> 
demo_src'.<br>3.select one or more attributes, e.g. id, age.<br>4. click 
'next'.<br>5. in the 'target' step, click 'next'. | source schema: 'default -> 
demo_src'.<br>Source attributes: id, age. | "1. open 'create accuracy' 
page.<br>2. the source shcema is selected. The corresponding attributes are 
shown in the attributes table.<br>3. the source attributes are selected.<br>4. 
go to 'choose target' step.<br>5. show error message to select at least one 
attribute. |               | Passed      |             |
+| 0604        | create measure - accuracy  | show error message if 'map 
fields' is not set. | 1. click 'Measures' -> 'Create Measure' -> 
'Accuracy'<br>2.choose the source. Select a schema, e.g. 'default -> 
demo_src'.<br>3.select one or more attributes, e.g. id, age.<br>4. click 
'next'.<br>5. choose the target. Select a schema, e.g. 'default -> 
demo_tgt'.<br>6. select one or more attributes, e.g. id.<br>7. click 
'next'.<br>8. no selection. click 'next'.<br> | source schema: 'default -> 
demo_src'.<br>Source attributes: id, age.<br>target schema: 'default -> 
demo_tgt'.<br>target attributes, e.g. id.<br> | 1. open 'create accuracy' 
page.<br>2. the source shcema is selected. The corresponding attributes are 
shown in the attributes table.<br>3. the source attributes are selected.<br>4. 
go to 'choose target' step.<br>5. the target schema is selected. The 
corresponding attributes are shown in the attributes table.<br>6. the target 
attributes are selected.<br>7. go to 'mapping source and tar
 get' step.<br>8. no source field is selected for each target.<br>9. show error 
message. |               | Passed      |             |
+| 0605        | create measure - accuracy  | show error if the configuration 
is invalid | 1. click 'Measures' -> 'Create Measure' -> 'Accuracy'<br>2.choose 
the source. Select a schema, e.g. 'default -> demo_src'.<br>3.select one or 
more attributes, e.g. id, age.<br>4. click 'next'.<br>5. choose the target. 
Select a schema, e.g. 'default -> demo_tgt'.<br>6. select one or more 
attributes, e.g. id.<br>7. click 'next'.<br>8. select 'Map To',e.g.'='.<br>9. 
select a source field for each target.<br>10. click 'next'.<br>11.input the 
partition configuration for the source and the target,e.g. partition 
size'1day'. <br>12. input invalid value for each field, e.g. measure name 'a 
test', | source schema: 'default -> demo_src'.<br>Source attributes: id, 
age.<br>target schema: 'default -> demo_tgt'.<br>target attributes, e.g. 
id.<br>Map to: =.<br>Source Fields: default.demo_src.id.<br>Partition size: 
'1day'.<br>model name: 'a test', <br> | 1. open 'create accuracy' page.<br>2. 
the source shcema i
 s selected. The corresponding attributes are shown in the attributes 
table.<br>3. the source attributes are selected.<br>4. go to 'choose target' 
step.<br>5. the target schema is selected. The corresponding attributes are 
shown in the attributes table.<br>6. the target attributes are selected.<br>7. 
go to 'mapping source and target' step.<br>8. the source field is selected for 
each target..<br>9. exactly map to the source.<br>10. the source field is 
selected for each target.<br>11. go to 'configuration' step.<br>12. show error 
for invalid value. |               | Passed      |             |
+| 0606        | create measure - accuracy  | check the link to add new data 
asset.    | 1. click the link for adding new data asset. |                      
                    | 1. go to the 'register data asset' page. | unimplemented 
|             |             |
+| 0607        | create measure - accuracy  | check the UI layout for all the 
steps when the page is zoomed in and out. | 1.zoom in the page.<br>2.zoom out 
the page. |                                          | 1.all the steps in the 
page can be shown correctly. |               | Passed      |             |
+| 0701        | create measure - profiling | check measure with profiling type 
can be created. | 1. click 'Measures' -> 'Create Measure' ->Data 
Profiling<br>2.choose the target. Select a schema, e.g. 'default -> 
demo_src'.<br>3.select one attribute, e.g. id.<br>4. click 'next'.<br>5. choose 
one profiling model, e.g. Null Count ,Total Count.<br>6. click 
'next'.<br>7.input the partition configuration for the source,e.g. partition 
size'1day'. <br>8. click 'next'.<br>9. input valid value for the configuration 
fields. e.g. measure name 'avalidity'.<br>10. click 'submit'<br>11. click 
'save'. | schema: 'default -> demo_src'.<br>Attribute: id.<br>validity model: 
Null Count ,Total Count.<br>measure name: 'a profiling', <br> | 1. open 'create 
profiling' page.<br>2. the target schem is selected. The corresponding 
attributes are shown in the attributes table.<br>3. the attribute is 
selected.<br>4. go to 'select models' page.<br>5. the profiling model is 
selected. The description of the model is
  shown as well.<br>7. go to 'partition configuration' step.<br>8. go to 
'configuration' step.<br>9. all the value are valid.<br>10. open a confirmation 
page.<br>11. the new model 'profiling' is created successfully. it is shown in 
the measures page. |               | Passed      |             |
+| 0702        | create measure - profiling | show error if no target is 
selected.     | 1. click 'Measures' -> 'Create Measure' ->Data Profiling<br>2. 
not choose the target.<br>3. click 'next'. |                                    
      | 1. open 'create profiling' page.<br>2. no target schem is 
selected.<br>3. show error. |               | Passed      |             |
+| 0703        | create measure - profiling | show error if any field is 
invalid.      | 1. click 'Measures' -> 'Create Measure' ->Data 
Profiling<br>2.choose the target. Select a schema, e.g. 'default -> 
demo_src'.<br>3.select one attribute, e.g. id.<br>4. click 'next'.<br>5. choose 
one profiling model, e.g. Null Count ,Total Count.<br>6. click 
'next'.<br>7.input the partition configuration for the source,e.g. partition 
size'1day'. <br>8. click 'next'.<br>9. input invalid value for the 
configuration fields. | schema: 'default -> demo_src'.<br>Attribute: 
id.<br>validity model: Null Count ,Total Count.<br>measure name: 'a profiling', 
<br> | 1. open 'create profiling' page.<br>2. the target schem is selected. The 
corresponding attributes are shown in the attributes table.<br>3. the attribute 
is selected.<br>4. go to 'select models' page.<br>5. the profiling model is 
selected. The description of the model is shown as well.<br>6. go to 'partition 
configuration' step.<br>7. go to 'configur
 ation' step.<br>8. show error for the invalid value. |               | Passed  
    |             |
+| 0704        | create measure - profiling | check the UI layout for all the 
steps when the page is zoomed in and out. | 1.zoom in the page.<br>2.zoom out 
the page. |                                          | 1.all the steps in the 
page can be shown correctly. |               | Passed      |             |
+| 0801        | data assets                | check the data assets information 
       | 1. check all the columns are correct or not.<br>2. show more for an 
asset. |                                          | 1. all the data are 
correct.<br>2. show the schemas of the asset. |               | Passed      |   
          |
+| 0802        | data assets                | table paging                      
       | 1. click other pages in the table.       |                             
             | 1.all the data in other pages are show correctly. |              
 | Passed      |             |
+| 0803        | data assets                | check the UI layout when the page 
is zoomed in and out. | 1.zoom in the page.<br>2.zoom out the page. |           
                               | 1. display the page correctly.           |     
          | Passed      |             |
+

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/43fe6086/griffin-doc/ui/user-guide.md
----------------------------------------------------------------------
diff --git a/griffin-doc/ui/user-guide.md b/griffin-doc/ui/user-guide.md
index 651af3e..353a5e0 100644
--- a/griffin-doc/ui/user-guide.md
+++ b/griffin-doc/ui/user-guide.md
@@ -37,30 +37,28 @@ After you log into the system, you may follow the steps:
 
 You can check the data assets by clicking "DataAssets" on the top right corner.
 
-<img src="img/userguide/data asset new.png" >
+<img src="../img/userguide/data asset new.png" height="200px">
 
 Then you can see all the data assets listed here.
 
-<img src="img/userguide/asset list.png">
+<img src="../img/userguide/asset list.png">
 
 ### 2.2 Create measure
 
 By clicking "Measures", and then choose "Create Measure". You can use the 
measure to process data and get the result you want.
 
-<img src="img/userguide/create measure.png">
+<img src="../img/userguide/create measure.png">
 
 There are mainly four kinds of measures for you to choose, which are:
 
 1. if you want to measure the match rate between source and target, choose 
accuracy.
-2. if you want to check the specific value of the data(such as: null column 
count), choose validity.
-3. if you want to detect wrong data information, choose anomaly detection.
-4. if you have already processed the data by yourself, choose publish DQ 
metrics directly, POST it any time you want, and see the trend from data 
diagrams.
+2. if you want to check the specific value of the data(such as: null column 
count), choose profiling.
 
 At current we only support accuracy measure creation from UI.
 
 #### **2.2.1 Accuracy** [[1]](#accuracy)
 
-<img src="img/userguide/accuracy.png" >
+<img src="../img/userguide/accuracy.png" height="550px" >
 
 **Definition:**
 
@@ -72,41 +70,50 @@ Measured by how the values agree with an identified source 
of truth.
 
 Select the source dataset and fields which will be used for comparision.
 
-<img src="img/userguide/source new.png">
+<img src="../img/userguide/source.PNG">
 
-For example, we choose 2 columns here.
+For example, we choose 3 columns here.
 
 2) Choose target:
 
 Select the target dataset and fields which will be used for comparision.
 
-<img src="img/userguide/target new.png">
+<img src="../img/userguide/target.PNG">
 
 3) Mapping source and target
 
 - Step1: "Map To": Select which rule to match the source and the target. Here 
are 6 options to choose:
-  1. == : data of the two columns should be exactly matched.
-  2. !== : data of the two columns should be different.
+  1. = : data of the two columns should be exactly matched.
+  2. != : data of the two columns should be different.
   3. \> : the target column data should be bigger than the source one.
-  3. \>= : the target column data should be bigger than or equal to the source 
one.
-  3. < : the target column data should be smaller than the source one.
-  3. <= : the target column data should be smaller than or equal to the source 
one.
+  4. \>= : the target column data should be bigger than or equal to the source 
one.
+  5. < : the target column data should be smaller than the source one.
+  6. <= : the target column data should be smaller than or equal to the source 
one.
 - Step2: "Source fields": choose the source column that you want to compare 
with the target column.
 
-<img src="img/userguide/mapping.png">
+<img src="../img/userguide/mapping.png">
 
-4) Configuration
+4) Partition Configuration
+
+Set partition configuration for source dataset and target dataset.  
+The partition size  means hive database minimum data unit,used to split data 
you want to calculate
+
+Done file path means format of done file path
+
+<img src="../img/userguide/ac_partition.png">
+
+5) Configuration
 
 Set up the measure required information.  
 The organization means the group of your measure, you can manage your 
measurement dashboard by group later.
 
-<img src="img/userguide/confirm new.png">
+<img src="../img/userguide/confirm measure.png">
 
-5) Measure information
+6) Measure information
 
 After you create a new accuracy measure, you can check the measure you've 
created by selecting it in the listed measurements' page.
 
-<img src="img/userguide/measure info.png" >
+<img src="../img/userguide/measure info.png" >
 
 **Example:**
 
@@ -116,18 +123,21 @@ Suppose the source table A has 1000 records and the 
target table B only has 999
 
 By clicking "Jobs", and then choose "Create Job". You can submit a job to 
execute your measure periodically.
 
-<img src="img/userguide/create job.png">
+<img src="../img/userguide/create job.png">
 
 At current we only support simple periodically scheduling job for measures.
 
-<img src="img/userguide/job config.png">
+<img src="../img/userguide/job config.png">
+
+<img src="../img/userguide/confirm job.png">
 
 Fill out the block of job configuration.
-- Source Partition: the pattern of the source data partition based on 
timestamp. "YYYYMMdd-HH" means the data source partitions are "dt" and "hour", 
for example, the partitions of data is like "dt = 20170605, hour = 15".
-- Target Partition: the pattern of the target data partition based on 
timestamp.
+
+- Job Name: you can set a name for your job.
 - Measure Name: name of the measure you want to schedule. you need to choose 
it from the list of measures you've created before.
-- Start After(s): after how much time in seconds the job starts. It should not 
be negative. For example: 0 means start now.
-- Interval: the interval time in seconds of the job scheduling. It should be a 
integer. For example: 300 means schedule this job every 5 minutes.
+- Cron Expression: cron expression of scheduler. For example: 0 0/4 * * *.
+- Begin: data segment start time comparing with trigger time
+- End: data segment end time comparing with trigger time.
 
 After submit the job, griffin will schedule the job in background, and after 
calculation, you can monitor the dashboard to view the result on UI.
 
@@ -135,25 +145,25 @@ After submit the job, griffin will schedule the job in 
background, and after cal
 
 After the processing work has done, here are 3 ways to show the data diagram.  
 
 
-1. Click on "Health", it shows the heatmap of metrics data. The blocks in 
green represent health and the blocks in red represent unhealthy.    
+1. Click on "Health", it shows the heatmap of metrics data. 
 
-   <img src="img/userguide/heatmap.png" >
+   <img src="../img/userguide/heatmap.png" >
 
 2. Click on "DQ Metrics".
 
-   <img src="img/userguide/dq metrics.png">  
+   <img src="../img/userguide/data asset new.png" height="180px">  
 
    You can see the diagrams of metrics.
 
-   <img src="img/userguide/metrics dashboard.png" >
+   <img src="../img/userguide/metrics dashboard.png" >
 
    By clicking on the diagram, you can get the zoom-in picture of it, and know 
the metrics at the selected time window.  
 
-   <img src="img/userguide/dashboard big.png" >
+   <img src="../img/userguide/dashboard big.png" >
 
 3. The metrics is shown on the right side of the page. By clicking on the 
measure, you can get the diagram and details about the measure result.   
 
-   <img src="img/userguide/right bar.png" >
+   <img src="../img/userguide/right bar.png" height="400px" >
 
 ## References
 ###Six core data quality dimensions
@@ -162,32 +172,32 @@ After the processing work has done, here are 3 ways to 
show the data diagram.
 
 <a id="accuracy" name="accuracy"></a>
 
-| Title     | Accuracy |
-| ----------|----------|
-| Definition  | The degree to which data correctly describes the "real world" 
object or event being described.    |
-| Reference | Ideally the "real world" truth is established through primary 
research. However, as this is often not practical, it is common to use 3rd 
party reference data from sources which are deemed trustworthy and of the same 
chronology. |
-| Measure  | The degree to which the data mirrors the characteristics of the 
real world object or objects it represents. |
-|   Scope  | Any "real world" object or objects that may be characterized or 
described by data, held as data item, record, data set or database. |
-| Unit of Measure | The percentage of data entries that pass the data accuracy 
rules. |
-| Type of Measure: 
<br/><ul><li>Assessment</li><li>Continuous</li><li>Discrete</li></ul>| 
Assessment, e.g. primary research or reference against trusted data. Continuous 
Measurement, e.g. age of students derived from the relationship between the 
students’ dates of birth and the current date. Discrete Measurement, e.g. 
date of birth recorded. |
-| Related Dimension | Validity is a related dimension because, in order to be 
accurate, values must be valid, the right value and in the correct 
representation.|
-| Optionality | Mandatory because - when inaccurate - data may not be fit for 
use. |
-| Applicability | |
-| Example(s) | A European school is receiving applications for its annual 
September intake and requires students to be aged 5 before the 31st August of 
the intake year. <br/> <br/>In this scenario, the parent, a US Citizen, 
applying to a European school completes the Date of Birth (D.O.B) on the 
application form in the US date format, MM/DD/YYYY rather than the European 
DD/MM/YYYY format, causing the representation of days and months to be 
reversed. <br/> <br/> As a result, 09/08/YYYY really meant 08/09/YYYY causing 
the student to be accepted as the age of 5 on the 31st August in YYYY. <br/> 
<br/> The representation of the student’s D.O.B.–whilst valid in its US 
context–means that in Europe the age was not derived correctly and the value 
recorded was consequently not accurate |
-| Pseudo code | ((Count of accurate objects)/ (Count of accurate objects + 
Counts of inaccurate objects)) x 100 <br/> Example: (Count of children who 
applied aged 5 before August/YYYY)/ (Count of children who applied aged 5 
before August 31st YYYY+ Count of children who applied aged 5 after August 
/YYYY and before December 31st/YYYY) x 100|
+| Title                                    | Accuracy                          
       |
+| ---------------------------------------- | 
---------------------------------------- |
+| Definition                               | The degree to which data 
correctly describes the "real world" object or event being described. |
+| Reference                                | Ideally the "real world" truth is 
established through primary research. However, as this is often not practical, 
it is common to use 3rd party reference data from sources which are deemed 
trustworthy and of the same chronology. |
+| Measure                                  | The degree to which the data 
mirrors the characteristics of the real world object or objects it represents. |
+| Scope                                    | Any "real world" object or 
objects that may be characterized or described by data, held as data item, 
record, data set or database. |
+| Unit of Measure                          | The percentage of data entries 
that pass the data accuracy rules. |
+| Type of Measure: 
<br/><ul><li>Assessment</li><li>Continuous</li><li>Discrete</li></ul> | 
Assessment, e.g. primary research or reference against trusted data. Continuous 
Measurement, e.g. age of students derived from the relationship between the 
students’ dates of birth and the current date. Discrete Measurement, e.g. 
date of birth recorded. |
+| Related Dimension                        | Validity is a related dimension 
because, in order to be accurate, values must be valid, the right value and in 
the correct representation. |
+| Optionality                              | Mandatory because - when 
inaccurate - data may not be fit for use. |
+| Applicability                            |                                   
       |
+| Example(s)                               | A European school is receiving 
applications for its annual September intake and requires students to be aged 5 
before the 31st August of the intake year. <br/> <br/>In this scenario, the 
parent, a US Citizen, applying to a European school completes the Date of Birth 
(D.O.B) on the application form in the US date format, MM/DD/YYYY rather than 
the European DD/MM/YYYY format, causing the representation of days and months 
to be reversed. <br/> <br/> As a result, 09/08/YYYY really meant 08/09/YYYY 
causing the student to be accepted as the age of 5 on the 31st August in YYYY. 
<br/> <br/> The representation of the student’s D.O.B.–whilst valid in its 
US context–means that in Europe the age was not derived correctly and the 
value recorded was consequently not accurate |
+| Pseudo code                              | ((Count of accurate objects)/ 
(Count of accurate objects + Counts of inaccurate objects)) x 100 <br/> 
Example: (Count of children who applied aged 5 before August/YYYY)/ (Count of 
children who applied aged 5 before August 31st YYYY+ Count of children who 
applied aged 5 after August /YYYY and before December 31st/YYYY) x 100 |
 
 <a id="validity" name="validity"></a>
 
-| Title   | Validity |
-| ------- | -------- |
-| Definition| Data are valid if it conforms to the syntax (format, type, 
range) of its definition.|
-| Reference| Database, metadata or documentation rules as to the allowable 
types (string, integer, floating point etc.), the format (length, number of 
digits etc.) and range (minimum, maximum or contained within a set of allowable 
values).|
-| Measure | Comparison between the data and the metadata or documentation for 
the data item.|
-| Scope | All data can typically be measured for Validity. Validity applies at 
the data item level and record level (for combinations of valid values).|
-| Unit of Measure |Percentage of data items deemed Valid to Invalid. |
-| Type of Measure: 
<br/><ul><li>Assessment</li><li>Continuous</li><li>Discrete</li></ul>|Assessment,
 Continuous and Discrete|
-|Related dimension|Accuracy, Completeness, Consistency and Uniqueness|
-|Optionality|Mandatory|
-|Applicability| |
-|Example(s)|Each class in a UK secondary school is allocated a class 
identifier; this consists of the 3 initials of the teacher plus a two digit 
year group number of the class. It is declared as AAA99 (3 Alpha characters and 
two numeric characters).<br/><br/>Scenario 1:<br/>A new year 9 teacher, Sally 
Hearn (without a middle name) is appointed therefore there are only two 
initials. A decision must be made as to how to represent two initials or the 
rule will fail and the database will reject the class identifier of “SH09”. 
It is decided that an additional character “Z” will be added to pad the 
letters to 3: “SZH09”, however this could break the accuracy rule. A better 
solution would be to amend the database to accept 2 or 3 initials and 1 or 2 
numbers.<br/><br/> Scenario 2:<br/>The age at entry to a UK primary & junior 
school is captured on the form for school applications. This is entered into a 
database and checked that it is between 4 and 11. If it were captured on the
  form as 14 or N/A it would be rejected as invalid.|
-|Pseudo code|Scenario 1:<br/>Evaluate that the Class Identifier is 2 or 3 
letters a-z followed by 1 or 2 numbers 7 – 11.<br/><br/>Scenario 
2:<br/>Evaluate that the age is numeric and that it is greater than or equal to 
4 and less than or equal to 11. |
+| Title                                    | Profiling                         
       |
+| ---------------------------------------- | 
---------------------------------------- |
+| Definition                               | Data are valid if it conforms to 
the syntax (format, type, range) of its definition. |
+| Reference                                | Database, metadata or 
documentation rules as to the allowable types (string, integer, floating point 
etc.), the format (length, number of digits etc.) and range (minimum, maximum 
or contained within a set of allowable values). |
+| Measure                                  | Comparison between the data and 
the metadata or documentation for the data item. |
+| Scope                                    | All data can typically be 
measured for Validity. Validity applies at the data item level and record level 
(for combinations of valid values). |
+| Unit of Measure                          | Percentage of data items deemed 
Valid to Invalid. |
+| Type of Measure: 
<br/><ul><li>Assessment</li><li>Continuous</li><li>Discrete</li></ul> | 
Assessment, Continuous and Discrete      |
+| Related dimension                        | Accuracy, Completeness, 
Consistency and Uniqueness |
+| Optionality                              | Mandatory                         
       |
+| Applicability                            |                                   
       |
+| Example(s)                               | Each class in a UK secondary 
school is allocated a class identifier; this consists of the 3 initials of the 
teacher plus a two digit year group number of the class. It is declared as 
AAA99 (3 Alpha characters and two numeric characters).<br/><br/>Scenario 
1:<br/>A new year 9 teacher, Sally Hearn (without a middle name) is appointed 
therefore there are only two initials. A decision must be made as to how to 
represent two initials or the rule will fail and the database will reject the 
class identifier of “SH09”. It is decided that an additional character 
“Z” will be added to pad the letters to 3: “SZH09”, however this could 
break the accuracy rule. A better solution would be to amend the database to 
accept 2 or 3 initials and 1 or 2 numbers.<br/><br/> Scenario 2:<br/>The age at 
entry to a UK primary & junior school is captured on the form for school 
applications. This is entered into a database and checked that it is between 4 a
 nd 11. If it were captured on the form as 14 or N/A it would be rejected as 
invalid. |
+| Pseudo code                              | Scenario 1:<br/>Evaluate that the 
Class Identifier is 2 or 3 letters a-z followed by 1 or 2 numbers 7 – 
11.<br/><br/>Scenario 2:<br/>Evaluate that the age is numeric and that it is 
greater than or equal to 4 and less than or equal to 11. |

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/43fe6086/ui/angular/src/app/job/job.component.ts
----------------------------------------------------------------------
diff --git a/ui/angular/src/app/job/job.component.ts 
b/ui/angular/src/app/job/job.component.ts
index aa4f4cf..9a8356d 100644
--- a/ui/angular/src/app/job/job.component.ts
+++ b/ui/angular/src/app/job/job.component.ts
@@ -121,11 +121,12 @@ export class JobComponent implements OnInit {
     var self = this;
     let allJobs = this.serviceService.config.uri.allJobs;
     this.http.get(allJobs).subscribe(data => {
-      this.results = Object.keys(data).map(function(index) {
+      let trans = Object.keys(data).map(function(index) {
         let job = data[index];
         job.showDetail = false;
         return job;
       });
-    });
+      this.results = Object.assign([],trans).reverse();
+    });   
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/43fe6086/ui/angular/src/app/measure/create-measure/pr/pr.component.ts
----------------------------------------------------------------------
diff --git a/ui/angular/src/app/measure/create-measure/pr/pr.component.ts 
b/ui/angular/src/app/measure/create-measure/pr/pr.component.ts
index 2fa9989..79bb1b8 100644
--- a/ui/angular/src/app/measure/create-measure/pr/pr.component.ts
+++ b/ui/angular/src/app/measure/create-measure/pr/pr.component.ts
@@ -232,7 +232,7 @@ export class PrComponent implements AfterViewChecked, 
OnInit {
             { id: 6, itemName: "Average", category: "Summary Statistics" },
             // {"id":7,"itemName":"Median","category": "Summary Statistics"},
             // {"id":8,"itemName":"Rule Detection Count","category": "Advanced 
Statistics"},
-            { id: 9, itemName: "Enum Detection Count", category: "Advanced 
Statistics" }
+            { id: 9, itemName: "Enum Detection Top5 Count", category: 
"Advanced Statistics" }
           ];
         } else {
           this.dropdownList[item.name] = [
@@ -240,7 +240,7 @@ export class PrComponent implements AfterViewChecked, 
OnInit {
             { id: 2, itemName: "Distinct Count", category: "Simple Statistics" 
},
             { id: 3, itemName: "Total Count", category: "Summary Statistics" },
             // {"id":8,"itemName":"Rule Detection Count","category": "Advanced 
Statistics"},
-            { id: 9, itemName: "Enum Detection Count", category: "Advanced 
Statistics" }
+            { id: 9, itemName: "Enum Detection Top5 Count", category: 
"Advanced Statistics" }
             // {"id":10,"itemName":"Regular Expression Detection 
Count","category": "Advanced Statistics"}
           ];
         }
@@ -319,7 +319,7 @@ export class PrComponent implements AfterViewChecked, 
OnInit {
       //   return 'median(source.`'+col.name+'`) ';
       case "Average":
         return "avg(source.`" + col.name + "`) AS `" + col.name + "-average`";
-      case "Enum Detection Count":
+      case "Enum Detection Top5 Count":
         return (
           "source.`" +
           col.name +
@@ -568,7 +568,7 @@ export class PrComponent implements AfterViewChecked, 
OnInit {
       for (let i = 0; i < this.selectedItems[key].length; i++) {
         var originrule = this.selectedItems[key][i].itemName;
         info = info + originrule + ",";
-        if (originrule == "Enum Detection Count") {
+        if (originrule == "Enum Detection Top5 Count") {
           enmvalue = this.transferRule(originrule, selected);
           grpname = selected.name + "-grp";
           this.transenumrule.push(enmvalue);

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/43fe6086/ui/angular/src/app/measure/measure.component.ts
----------------------------------------------------------------------
diff --git a/ui/angular/src/app/measure/measure.component.ts 
b/ui/angular/src/app/measure/measure.component.ts
index a7f7c76..f50a6ec 100644
--- a/ui/angular/src/app/measure/measure.component.ts
+++ b/ui/angular/src/app/measure/measure.component.ts
@@ -109,13 +109,14 @@ export class MeasureComponent implements OnInit {
       //     data[measure].type = '';
       //   }
       // }
-      this.results = Object.keys(data).map(function(index) {
+      let trans = Object.keys(data).map(function(index) {
         let measure = data[index];
         if (measure["measure.type"] === "external") {
           measure["dq.type"] = "external";
         }
         return measure;
       });
+      this.results = Object.assign([],trans).reverse();
     });
   }
 }
\ No newline at end of file

Reply via email to