You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@griffin.apache.org by gu...@apache.org on 2018/07/19 10:49:38 UTC

incubator-griffin git commit: 2018 07 19 doc update 1

Repository: incubator-griffin
Updated Branches:
  refs/heads/master f0a43db1c -> f07926411


2018 07 19 doc update 1

Author: William Guo <gu...@apache.org>

Closes #360 from guoyuepeng/2018_07_19_doc_update_1.


Project: http://git-wip-us.apache.org/repos/asf/incubator-griffin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-griffin/commit/f0792641
Tree: http://git-wip-us.apache.org/repos/asf/incubator-griffin/tree/f0792641
Diff: http://git-wip-us.apache.org/repos/asf/incubator-griffin/diff/f0792641

Branch: refs/heads/master
Commit: f079264116a9197ea4a77827abf314e2a7957bc4
Parents: f0a43db
Author: William Guo <gu...@apache.org>
Authored: Thu Jul 19 18:49:32 2018 +0800
Committer: William Guo <gu...@apache.org>
Committed: Thu Jul 19 18:49:32 2018 +0800

----------------------------------------------------------------------
 griffin-doc/FSD.md                             | 162 ---------------
 griffin-doc/img/Business_Process.png           | Bin 33482 -> 0 bytes
 griffin-doc/img/bark-sm.gif                    | Bin 2746 -> 0 bytes
 griffin-doc/img/data quality Flow.png          | Bin 74065 -> 0 bytes
 griffin-doc/img/fsd/image2018-1-8 12-27-53.png | Bin 180417 -> 0 bytes
 griffin-doc/img/fsd/image2018-1-8 12-33-2.png  | Bin 128529 -> 0 bytes
 griffin-doc/img/fsd/image2018-1-8 12-38-12.png | Bin 123654 -> 0 bytes
 griffin-doc/img/fsd/image2018-1-8 12-44-30.png | Bin 169651 -> 0 bytes
 griffin-doc/img/fsd/image2018-1-8 12-48-20.png | Bin 137816 -> 0 bytes
 griffin-doc/img/fsd/image2018-1-8 12-51-13.png | Bin 150127 -> 0 bytes
 griffin-doc/img/fsd/image2018-1-8 13-02-15.png | Bin 238736 -> 0 bytes
 griffin-doc/img/fsd/image2018-1-8 13-07-16.png | Bin 128242 -> 0 bytes
 griffin-doc/img/fsd/image2018-1-8 13-10-28.png | Bin 142898 -> 0 bytes
 griffin-doc/img/fsd/image2018-1-8 13-12-10.png | Bin 113922 -> 0 bytes
 griffin-doc/img/fsd/image2018-1-8 13-13-40.png | Bin 139110 -> 0 bytes
 griffin-doc/img/fsd/image2018-1-8 13-15-30.png | Bin 133758 -> 0 bytes
 griffin-doc/img/fsd/image2018-2-5 14-44-20.png | Bin 210289 -> 0 bytes
 griffin-doc/img/fsd/image2018-2-5 14-45-10.png | Bin 127324 -> 0 bytes
 griffin-doc/img/fsd/image2018-2-5 14-46-26.png | Bin 118602 -> 0 bytes
 griffin-doc/img/fsd/image2018-2-5 14-50-10.png | Bin 72787 -> 0 bytes
 griffin-doc/img/fsd/image2018-2-6 10-10-15.png | Bin 82679 -> 0 bytes
 griffin-doc/img/fsd/image2018-2-6 10-48-10.png | Bin 80211 -> 0 bytes
 griffin-doc/img/fsd/image2018-2-6 10-50-10.png | Bin 100417 -> 0 bytes
 griffin-doc/img/fsd/image2018-2-6 10-51-16.png | Bin 170904 -> 0 bytes
 griffin-doc/img/fsd/image2018-2-6 10-54-15.png | Bin 139184 -> 0 bytes
 griffin-doc/img/fsd/image2018-2-6 10-57-20.png | Bin 264629 -> 0 bytes
 griffin-doc/img/fsd/image2018-2-6 10-58-24.png | Bin 92768 -> 0 bytes
 griffin-doc/img/fsd/image2018-2-6 11-1-10.png  | Bin 213911 -> 0 bytes
 griffin-doc/img/fsd/image2018-2-6 11-3-19.png  | Bin 97685 -> 0 bytes
 griffin-doc/img/tdd/arch_design.png            | Bin 110699 -> 0 bytes
 griffin-doc/img/tdd/class_diagram.png          | Bin 26041 -> 0 bytes
 griffin-doc/img/tdd/model_design.png           | Bin 51817 -> 0 bytes
 griffin-doc/img/tdd/mvc.png                    | Bin 22710 -> 0 bytes
 griffin-doc/img/techstack.png                  | Bin 127993 -> 0 bytes
 griffin-doc/intro.md                           |   8 -
 griffin-doc/proposal.md                        | 217 --------------------
 griffin-doc/tdd.md                             |  83 --------
 griffin-doc/ui/test-case.md                    |  62 ------
 38 files changed, 532 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/FSD.md
----------------------------------------------------------------------
diff --git a/griffin-doc/FSD.md b/griffin-doc/FSD.md
deleted file mode 100644
index 4634ff8..0000000
--- a/griffin-doc/FSD.md
+++ /dev/null
@@ -1,162 +0,0 @@
-
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-# Functional Specification Document
-
-## Goals
-
-Apache Griffin is a model driven open source Data Quality solution for distributed data systems at any scale in both streaming or batch data context. When people use open source products (e.g. Hadoop, Spark, Kafka, Storm), they always need a data quality service to build his/her confidence on data quality processed by those platforms. Apache Griffin creates a unified process to define and construct data quality measurement pipeline across multiple data systems to provide:  
-
-- Automatic quality validation of the data
-- Data profiling and anomaly detection
-- Data quality lineage from upstream to downstream data systems.
-- Data quality health monitoring visualization
-- Shared infrastructure resource management
-
-## Background
-
-When people play with big data in Hadoop (or other streaming data), data quality often becomes one big challenge. Different teams have built customized data quality tools to detect and analyze data quality issues within their own domain. We are thinking to take a platform approach to provide shared Infrastructure and generic features to solve common data quality pain points. This would enable us to build trusted data assets.
-
-Currently it’s very difficult and costly to do data quality validation when we have big data flow across multi-platforms  (e.g. Oracle, Hadoop, Couchbase, Cassandra, Kafka, Mongodb). Take eBay real time personalization platform as a sample, everyday we have to validate data quality status for ~600M records ( imaging we have 150M active users for our website).  Data quality often becomes one big challenge both in its streaming and batch pipelines.
-
-So we conclude 3 data quality problems at eBay:
-
-1. Lack of end2end unified view of data quality measurement from multiple data sources to target applications, it usually takes a long time to identify and fix poor data quality.
-2. How to get data quality measured in streaming mode, we need to have a process and tool to visualize data quality insights through registering dataset which you want to check data quality, creating data quality measurement model,  executing the data quality validation job and getting metrics insights for action taking.
-3. No Shared platform and API Service, have to apply and manage own hardware and software infrastructure.
-
-## Assumptions
-
-- Users will primarily access this application from a PC
-- We are handling textual data, no binary or encoded data
-
-## Main business process
-
-![Business_Process_image](img/Business_Process.png)
-
-## Feature List
-
-<table class="confluenceTable" border="2"><tbody><tr><th class="confluenceTh">#</th><th class="confluenceTh">Title</th><th class="confluenceTh">User Story</th><th class="confluenceTh">Importance</th><th colspan="1" class="confluenceTh">Status</th><th class="confluenceTh">Notes</th></tr><tr><td class="confluenceTd">1</td><td class="confluenceTd">User login</td><td class="confluenceTd"><p>User can login the system so that I'm able to access<br />the subsequent features.</p></td><td class="confluenceTd">Must Have</td><td colspan="1" class="confluenceTd"> </td><td class="confluenceTd"><ul><li>There are two login strategies you can choose</li><li>Ldap strategy: Use LDAP non-anonymous bind for user authentication</li><li>Default strategy: You can login with any username and password</li></ul></td></tr><tr><td class="confluenceTd">2</td><td class="confluenceTd">Create measure - Accuracy</td><td class="confluenceTd"><p>User can create an accuracy measure, so that the metrics can be calculat
 ed by the rule defined in the measure </p></td><td class="confluenceTd">Must Have</td><td colspan="1" class="confluenceTd"> </td><td class="confluenceTd"><ul><li>5  Steps in wizard:</li></ul><ol><li>Select the source dataset and fields which will be used for comparision</li><li>Select the target dataset and fields which will be used for comparision</li><li>Mapping the target fields with source, some basic operator should be supported when mapping:  =, !=, <,> etc.</li><li>Set partition configuration for source dataset and target dataset</li><li>Set basic configuration for your measure: name, description <br />measure type, etc.</li></ol><ul><li>When submitting the form, need to confirm the form info</li><li>After submitting, measure list should be displayed and the new measure is <br />displayed as the 1st record.</li></ul></td></tr><tr><td colspan="1" class="confluenceTd">3</td><td colspan="1" class="confluenceTd"><span>Create measure -Data Profiling</span></td><td colspan="1" clas
 s="confluenceTd"><p><span>User can create a profiling measure, so that the metrics </span><span>can be </span><span>calculated by the rule defined in the measure </span></p></td><td colspan="1" class="confluenceTd">Must Have</td><td colspan="1" class="confluenceTd"> </td><td colspan="1" class="confluenceTd"><ul><li>4 steps in wizard:</li></ul><ol><li>Select the target dataset and field which want to be checked, only one field should be selected.</li><li>Define your syntax check logic which will be applied on the selected field,<br />including: <strong>Null Count,Distinct Count, Total Count, Maximum, </strong><br /><strong>Minimum, </strong><strong>Average, Enum Detection Top5 Count</strong></li><li>Set partition configuration for target dataset</li><li><span>Set basic configuration for your measure: name,description, </span><br /><span>etc.</span><span><br /></span></li></ol><ul><li>When submitting the form, need to confirm the form info</li><li>After submitting, measure list should
  be displayed and the new measure is <br />displayed as the 1st record.</li></ul></td></tr><tr><td colspan="1" class="confluenceTd">4</td><td colspan="1" class="confluenceTd">List measures</td><td colspan="1" class="confluenceTd"><p>User can get a list of all measures which contain basic measure definition info</p></td><td colspan="1" class="confluenceTd"><span>Must Have</span></td><td colspan="1" class="confluenceTd"> </td><td colspan="1" class="confluenceTd"><ul><li>Information should be shown: Measure Name,Measure Type, Description, Action</li></ul></td></tr><tr><td colspan="1" class="confluenceTd">5</td><td colspan="1" class="confluenceTd">View a measure</td><td colspan="1" class="confluenceTd">User can view the details of a measure definition</td><td colspan="1" class="confluenceTd"><span>Must Have</span></td><td colspan="1" class="confluenceTd"> </td><td colspan="1" class="confluenceTd"><ul><li>All the information should be displayed: measure name, description, measure type,<b
 r />source,target,owner,etc.</li><li>Mapping rules and accuracy calculations formula are also displayed</li></ul></td></tr><tr><td colspan="1" class="confluenceTd">6</td><td colspan="1" class="confluenceTd">Delete a measure</td><td colspan="1" class="confluenceTd">User can delete my own measures</td><td colspan="1" class="confluenceTd">May Have</td><td colspan="1" class="confluenceTd"> </td><td colspan="1" class="confluenceTd"><ul><li>Administrator should also have delete permission</li></ul></td></tr><tr><td colspan="1" class="confluenceTd">7</td><td colspan="1" class="confluenceTd"><p><span>Create Job</span></p></td><td colspan="1" class="confluenceTd"><p><span>User can create a job which schedules one measure you created </span></p></td><td colspan="1" class="confluenceTd"><span>Must Have</span></td><td colspan="1" class="confluenceTd"> </td><td colspan="1" class="confluenceTd"><ul><li>1 step in wizard:</li></ul><ol><li><span>Set basic information for your job: measure name, cron
  expression, </span><span>data range, etc.</span></li></ol><ul><li>When submitting the form, need to confirm the form info</li><li>After submitting, job list should be displayed and the new job is <br />displayed as the 1st record.</li></ul></td></tr><tr><td colspan="1" class="confluenceTd">8</td><td colspan="1" class="confluenceTd"><p>List jobs</p></td><td colspan="1" class="confluenceTd"><p>User can get a list of all jobs definition info</p><td colspan="1" class="confluenceTd"><span>Must Have</span></td><td colspan="1" class="confluenceTd"> </td><td colspan="1" class="confluenceTd"><ul><li>Job information should be shown: Job Name,Previous Fire Time,Next Fire Time, Trigger State,Cron Expression, Action,Metric</li><li>Job instance information should be shown:AppID,Time,State</li><li>Jobinstance sorted by Time&quot; desc</li></ul></td></tr><tr><td colspan="1" class="confluenceTd">9</td><td colspan="1" class="confluenceTd">Delete a job</td><td colspan="1" class="confluenceTd">User ca
 n delete my own jobs</td><td colspan="1" class="confluenceTd">May Have</td><td colspan="1" class="confluenceTd"> </td><td colspan="1" class="confluenceTd"><ul><li>Administrator should also have delete permission</li></ul></td></tr><tr><td colspan="1" class="confluenceTd">10</td><td colspan="1" class="confluenceTd">DataAsset list</td><td colspan="1" class="confluenceTd">User can view all data assets</td><td colspan="1" class="confluenceTd">Must Have</td><td colspan="1" class="confluenceTd"> </td><td colspan="1" class="confluenceTd"><ul><li>Information shown: table name, DB name, owner, creation time, location</li></ul></td></tr><tr><td colspan="1" class="confluenceTd">11</td><td colspan="1" class="confluenceTd">Heatmap</td><td colspan="1" class="confluenceTd"><p>User can see the heatmap when I login, so that I'll know</p><p>the status of the metrics</p></td><td colspan="1" class="confluenceTd"><span>Must Have</span></td><td colspan="1" class="confluenceTd"> </td><td colspan="1" class
 ="confluenceTd"><ul><li>Show all metrics results displayed as green</li></ul></td></tr><tr><td colspan="1" class="confluenceTd">12</td><td colspan="1" class="confluenceTd">Siderbar</td><td colspan="1" class="confluenceTd">The application can provide the list of all metrics</td><td colspan="1" class="confluenceTd">Must Have</td><td colspan="1" class="confluenceTd"> </td><td colspan="1" class="confluenceTd"><ul><li>List format: time, name, value.</li><li>Can be organized by Measure-&gt;metrics list</li></ul></td></tr><tr><td colspan="1" class="confluenceTd">13</td><td colspan="1" class="confluenceTd">Show mydashboard</td><td colspan="1" class="confluenceTd"><span>The application can display the charts of all metrics</span></td><td colspan="1" class="confluenceTd"><span>Must Have</span></td><td colspan="1" class="confluenceTd"> </td><td colspan="1" class="confluenceTd"><ul><li>A list of charts orgnized by <span>Measure-&gt;metrics list</span></li><li><span>Can filter by Measure</span><
 /li></ul></td></tr><tr><td colspan="1" class="confluenceTd">14</td><td colspan="1" class="confluenceTd">Show metric detail</td><td colspan="1" class="confluenceTd"><span>Can display the detail of the metric</span></td><td colspan="1" class="confluenceTd"><span>Must Have</span></td><td colspan="1" class="confluenceTd"> </td><td colspan="1" class="confluenceTd"><ul><li><span>Show metric details</span></li></ul></td></tr><tr><td colspan="1" class="confluenceTd">15</td><td colspan="1" class="confluenceTd">Scheduler job</td><td colspan="1" class="confluenceTd"><p>The application should have the scheduler jobs to</p><p>calculate the metrics</p></td><td colspan="1" class="confluenceTd">Must Have</td><td colspan="1" class="confluenceTd"> </td><td colspan="1" class="confluenceTd"><ul><li>According to the rules defined in the measures, the scheduler job has these<br />functions:</li></ul><ol><li>Know when to calculate a metric</li><li>Call the measure engine to get metrics values</li><li>Save
  the metrics result</li></ol></td></tr><tr><td colspan="1" class="confluenceTd">16</td><td colspan="1" class="confluenceTd">Measure engine</td><td colspan="1" class="confluenceTd">The application can calculate the metrics values</td><td colspan="1" class="confluenceTd">Must Have</td><td colspan="1" class="confluenceTd"> </td><td colspan="1" class="confluenceTd"><ul><li>With the rule definition, the engine can calculate the metrics values</li></ul></td></tr></tbody></table>
-
-## User interaction and design
-
-<p style="color: rgb(51,102,255);">#1 User Login</p>
-
-<img src="img/fsd/image2018-1-8 12-27-53.png" >
-
-<p style="color: rgb(51,102,255);">#2 Create measure - Accuracy</p>
-step 1 :  Select the source dataset and fields which will be used for comparision
-
-<img src="img/fsd/image2018-1-8 12-33-2.png" >
-
-step 2  :  Select the target dataset and fields which will be used for comparision
-
-<img src="img/fsd/image2018-1-8 12-38-12.png" >
-
-step 3 :  Mapping the target fields with source
-
-<img src="img/fsd/image2018-1-8 12-44-30.png" >
-
-step 4  :  Set partition configuration for source dataset and target dataset
-
-<img src="img/fsd/image2018-1-8 12-48-20.png" >
-
-step 5  :  Set basic configuration for your measure
-
-<img src="img/fsd/image2018-1-8 12-51-13.png" >
-
-confirmation  : 
-
-<img src="img/fsd/image2018-1-8 13-02-15.png" >
-
-<p style="color: rgb(51,102,255);">#3 Create measure - Profiling</p>
-step 1 :  Select the target dataset and field which want to be checked
-
-<img src="img/fsd/image2018-1-8 13-07-16.png" >
-
-step 2  :  Define your syntax check logic which will be applied on the selected field
-
-<img src="img/fsd/image2018-1-8 13-10-28.png" >
-
-step 3  :  Set partition configuration for target dataset
-
-<img src="img/fsd/image2018-1-8 13-12-10.png" >
-
-step 4  :  Set basic configuration for your measure
-
-<img src="img/fsd/image2018-1-8 13-13-40.png" >
-
-confirmation   :
-
-<img src="img/fsd/image2018-1-8 13-15-30.png" >
-
-<p style="color: rgb(51,102,255);">#4 List measures</p>
-<img src="img/fsd/image2018-2-5 14-45-10.png" >
-
-<p style="color: rgb(51,102,255);">#5 View a measure</p>
-<img src="img/fsd/image2018-2-5 14-44-20.png" >
-
-<p style="color: rgb(51,102,255);">#6 Delete a measure</p>
-<img src="img/fsd/image2018-2-5 14-46-26.png" >
-
-<p style="color: rgb(51,102,255);">#7 Create job</p>
-
-<img src="img/fsd/image2018-2-6 11-1-10.png" >
-
-<img src="img/fsd/image2018-2-6 11-3-19.png" >
-
-<p style="color: rgb(51,102,255);">#8 List jobs</p>
-
-<img src="img/fsd/image2018-2-6 10-54-15.png" >
-
-<img src="img/fsd/image2018-2-6 10-57-20.png" >
-
-<p style="color: rgb(51,102,255);">#9 Delete a job</p>
-
-<img src="img/fsd/image2018-2-6 10-58-24.png" >
-
-<p style="color: rgb(51,102,255);">#10 DataAsset list</p>
-<img src="img/fsd/image2018-2-5 14-50-10.png" >
-
-<p style="color: rgb(51,102,255);">#11 Heatmap</p>
-<img src="img/fsd/image2018-2-6 10-10-15.png" >
-
-<p style="color: rgb(51,102,255);">#12 List all metrics values</p>
-<img src="img/fsd/image2018-2-6 10-48-10.png" height="500px">
-
-
-
-<p style="color: rgb(51,102,255);">#13 Show My Dashboard</p>
-chart list -> Max chart display     
-
-<img src="img/fsd/image2018-2-6 10-50-10.png" height="400px" >
-
-<p style="color: rgb(51,102,255);">#14 Show metric detail</p>
-<img src="img/fsd/image2018-2-6 10-51-16.png" height="400px" >
-
-<p style="color: rgb(51,102,255);">#15 Scheduler job</p>
-Same UI as #7
-
-## Questions
-Below is a list of questions to be addressed as a result of this requirements document:
-<table border="2"><tbody><tr><th>Question</th><th>Outcome</th></tr></tbody></table>
-
-## Not Doing
--

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/Business_Process.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/Business_Process.png b/griffin-doc/img/Business_Process.png
deleted file mode 100644
index ff0f25f..0000000
Binary files a/griffin-doc/img/Business_Process.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/bark-sm.gif
----------------------------------------------------------------------
diff --git a/griffin-doc/img/bark-sm.gif b/griffin-doc/img/bark-sm.gif
deleted file mode 100644
index 04c9d09..0000000
Binary files a/griffin-doc/img/bark-sm.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/data quality Flow.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/data quality Flow.png b/griffin-doc/img/data quality Flow.png
deleted file mode 100644
index 79d5c8a..0000000
Binary files a/griffin-doc/img/data quality Flow.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-1-8 12-27-53.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-1-8 12-27-53.png b/griffin-doc/img/fsd/image2018-1-8 12-27-53.png
deleted file mode 100644
index 810b0d9..0000000
Binary files a/griffin-doc/img/fsd/image2018-1-8 12-27-53.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-1-8 12-33-2.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-1-8 12-33-2.png b/griffin-doc/img/fsd/image2018-1-8 12-33-2.png
deleted file mode 100644
index 0347a07..0000000
Binary files a/griffin-doc/img/fsd/image2018-1-8 12-33-2.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-1-8 12-38-12.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-1-8 12-38-12.png b/griffin-doc/img/fsd/image2018-1-8 12-38-12.png
deleted file mode 100644
index e627f11..0000000
Binary files a/griffin-doc/img/fsd/image2018-1-8 12-38-12.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-1-8 12-44-30.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-1-8 12-44-30.png b/griffin-doc/img/fsd/image2018-1-8 12-44-30.png
deleted file mode 100644
index db799c5..0000000
Binary files a/griffin-doc/img/fsd/image2018-1-8 12-44-30.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-1-8 12-48-20.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-1-8 12-48-20.png b/griffin-doc/img/fsd/image2018-1-8 12-48-20.png
deleted file mode 100644
index 9c621ef..0000000
Binary files a/griffin-doc/img/fsd/image2018-1-8 12-48-20.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-1-8 12-51-13.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-1-8 12-51-13.png b/griffin-doc/img/fsd/image2018-1-8 12-51-13.png
deleted file mode 100644
index c3a8a6e..0000000
Binary files a/griffin-doc/img/fsd/image2018-1-8 12-51-13.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-1-8 13-02-15.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-1-8 13-02-15.png b/griffin-doc/img/fsd/image2018-1-8 13-02-15.png
deleted file mode 100644
index 39ca2fa..0000000
Binary files a/griffin-doc/img/fsd/image2018-1-8 13-02-15.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-1-8 13-07-16.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-1-8 13-07-16.png b/griffin-doc/img/fsd/image2018-1-8 13-07-16.png
deleted file mode 100644
index b38dfe8..0000000
Binary files a/griffin-doc/img/fsd/image2018-1-8 13-07-16.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-1-8 13-10-28.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-1-8 13-10-28.png b/griffin-doc/img/fsd/image2018-1-8 13-10-28.png
deleted file mode 100644
index 4715db9..0000000
Binary files a/griffin-doc/img/fsd/image2018-1-8 13-10-28.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-1-8 13-12-10.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-1-8 13-12-10.png b/griffin-doc/img/fsd/image2018-1-8 13-12-10.png
deleted file mode 100644
index 1e6a4ae..0000000
Binary files a/griffin-doc/img/fsd/image2018-1-8 13-12-10.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-1-8 13-13-40.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-1-8 13-13-40.png b/griffin-doc/img/fsd/image2018-1-8 13-13-40.png
deleted file mode 100644
index 522e2c1..0000000
Binary files a/griffin-doc/img/fsd/image2018-1-8 13-13-40.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-1-8 13-15-30.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-1-8 13-15-30.png b/griffin-doc/img/fsd/image2018-1-8 13-15-30.png
deleted file mode 100644
index 97cd6e0..0000000
Binary files a/griffin-doc/img/fsd/image2018-1-8 13-15-30.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-2-5 14-44-20.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-2-5 14-44-20.png b/griffin-doc/img/fsd/image2018-2-5 14-44-20.png
deleted file mode 100644
index 9789f4b..0000000
Binary files a/griffin-doc/img/fsd/image2018-2-5 14-44-20.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-2-5 14-45-10.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-2-5 14-45-10.png b/griffin-doc/img/fsd/image2018-2-5 14-45-10.png
deleted file mode 100644
index c1f882a..0000000
Binary files a/griffin-doc/img/fsd/image2018-2-5 14-45-10.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-2-5 14-46-26.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-2-5 14-46-26.png b/griffin-doc/img/fsd/image2018-2-5 14-46-26.png
deleted file mode 100644
index 2077e2f..0000000
Binary files a/griffin-doc/img/fsd/image2018-2-5 14-46-26.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-2-5 14-50-10.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-2-5 14-50-10.png b/griffin-doc/img/fsd/image2018-2-5 14-50-10.png
deleted file mode 100644
index 70bba7e..0000000
Binary files a/griffin-doc/img/fsd/image2018-2-5 14-50-10.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-2-6 10-10-15.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-2-6 10-10-15.png b/griffin-doc/img/fsd/image2018-2-6 10-10-15.png
deleted file mode 100644
index 12189fc..0000000
Binary files a/griffin-doc/img/fsd/image2018-2-6 10-10-15.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-2-6 10-48-10.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-2-6 10-48-10.png b/griffin-doc/img/fsd/image2018-2-6 10-48-10.png
deleted file mode 100644
index a698e27..0000000
Binary files a/griffin-doc/img/fsd/image2018-2-6 10-48-10.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-2-6 10-50-10.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-2-6 10-50-10.png b/griffin-doc/img/fsd/image2018-2-6 10-50-10.png
deleted file mode 100644
index 36a06e1..0000000
Binary files a/griffin-doc/img/fsd/image2018-2-6 10-50-10.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-2-6 10-51-16.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-2-6 10-51-16.png b/griffin-doc/img/fsd/image2018-2-6 10-51-16.png
deleted file mode 100644
index aa796b6..0000000
Binary files a/griffin-doc/img/fsd/image2018-2-6 10-51-16.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-2-6 10-54-15.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-2-6 10-54-15.png b/griffin-doc/img/fsd/image2018-2-6 10-54-15.png
deleted file mode 100644
index 0407309..0000000
Binary files a/griffin-doc/img/fsd/image2018-2-6 10-54-15.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-2-6 10-57-20.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-2-6 10-57-20.png b/griffin-doc/img/fsd/image2018-2-6 10-57-20.png
deleted file mode 100644
index eafa6fa..0000000
Binary files a/griffin-doc/img/fsd/image2018-2-6 10-57-20.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-2-6 10-58-24.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-2-6 10-58-24.png b/griffin-doc/img/fsd/image2018-2-6 10-58-24.png
deleted file mode 100644
index 1f79d9b..0000000
Binary files a/griffin-doc/img/fsd/image2018-2-6 10-58-24.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-2-6 11-1-10.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-2-6 11-1-10.png b/griffin-doc/img/fsd/image2018-2-6 11-1-10.png
deleted file mode 100644
index 7d3b75c..0000000
Binary files a/griffin-doc/img/fsd/image2018-2-6 11-1-10.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/fsd/image2018-2-6 11-3-19.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/fsd/image2018-2-6 11-3-19.png b/griffin-doc/img/fsd/image2018-2-6 11-3-19.png
deleted file mode 100644
index dd094b8..0000000
Binary files a/griffin-doc/img/fsd/image2018-2-6 11-3-19.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/tdd/arch_design.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/tdd/arch_design.png b/griffin-doc/img/tdd/arch_design.png
deleted file mode 100644
index 6170830..0000000
Binary files a/griffin-doc/img/tdd/arch_design.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/tdd/class_diagram.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/tdd/class_diagram.png b/griffin-doc/img/tdd/class_diagram.png
deleted file mode 100644
index 6a6352e..0000000
Binary files a/griffin-doc/img/tdd/class_diagram.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/tdd/model_design.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/tdd/model_design.png b/griffin-doc/img/tdd/model_design.png
deleted file mode 100644
index 2d18486..0000000
Binary files a/griffin-doc/img/tdd/model_design.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/tdd/mvc.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/tdd/mvc.png b/griffin-doc/img/tdd/mvc.png
deleted file mode 100644
index 381da82..0000000
Binary files a/griffin-doc/img/tdd/mvc.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/img/techstack.png
----------------------------------------------------------------------
diff --git a/griffin-doc/img/techstack.png b/griffin-doc/img/techstack.png
deleted file mode 100644
index ebc5540..0000000
Binary files a/griffin-doc/img/techstack.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/intro.md
----------------------------------------------------------------------
diff --git a/griffin-doc/intro.md b/griffin-doc/intro.md
index 4558e10..25e6789 100644
--- a/griffin-doc/intro.md
+++ b/griffin-doc/intro.md
@@ -62,18 +62,10 @@ For near real time analysis, we consume data from messaging system, then our dat
 
 We have RESTful web services to accomplish all the functionalities of Apache Griffin, such as exploring data-sets, create data quality measures, publish metrics, retrieve metrics, add subscription, etc. So, the developers can develop their own user interface based on these web serivces.
 
-## Main business process
-
-![Business_Process_image](img/Business_Process.png)
-
 ## Main architecture diagram
 
 ![Business_Process_image](img/arch.png)
 
-## Main tech stack diagram
-
-![Business_Process_image](img/techstack.png)
-
 ## Rationale
 The challenge we face at big data ecosystem is that our data volume is becoming bigger and bigger, systems process become more complex, while we do not have a unified data quality solution to ensure the trusted data sets which provide confidences on data quality to our data consumers.  The key challenges on data quality includes:
 

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/proposal.md
----------------------------------------------------------------------
diff --git a/griffin-doc/proposal.md b/griffin-doc/proposal.md
deleted file mode 100644
index 16d9628..0000000
--- a/griffin-doc/proposal.md
+++ /dev/null
@@ -1,217 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-## Abstract
-Apache Griffin is a Data Quality Service platform built on Apache Hadoop and Apache Spark. It provides a framework process for defining data quality measure, executing data quality measurement, automating data profiling and validation, as well as a unified data quality visualization across multiple data systems.  It tries to address the data quality challenges in big data and streaming context.
-
-## Proposal
-Apache Griffin is a open source Data Quality solution for distributed data systems at any scale in both streaming or batch data context. When people use open source products (e.g. Apache Hadoop, Apache Spark, Apache Kafka, Apache Storm), they always need a data quality service to build his/her confidence on data quality processed by those platforms. Apache Griffin creates a unified process to define and construct data quality measurement pipeline across multiple data systems to provide:
-
- - Automatic quality validation of the data
- - Data profiling and anomaly detection
- - Data quality lineage from upstream to downstream data systems.
- - Data quality health monitoring visualization
- - Shared infrastructure resource management
-
-## Overview of Apache Griffin  
-Apache Griffin has been deployed in production at eBay serving major data systems, it takes a platform approach to provide generic features to solve common data quality validation pain points. Firstly, user can register the data-set which user wants to do data quality check. The data-set can be batch data in RDBMS (e.g.Teradata), Apache Hadoop system or near real-time streaming data from Apache Kafka, Apache Storm and other real time data platforms. Secondly, user can create data quality measure to define the data quality rule and metadata. Thirdly, the measure or rule will be executed automatically(by the measure engine) to get the sample data quality validation results in a few seconds for streaming data.  Finally, user can analyze the data quality results through built-in visualization tool to take actions.
-
-Apache Griffin includes:
-
-**Data Quality Measure Engine**: Apache Griffin is model driven solution, user can choose various data quality dimension to execute his/her data quality validation based on selected target data-set or source data-set ( as the golden reference data). It has corresponding library supporting it in back-end for the following measurement:
-
- - Accuracy - Does data reflect the real-world objects or a verifiable source
- - Completeness - Is all necessary data present
- - Validity -  Are all data values within the data domains specified by the business
- - Timeliness - Is the data available at the time needed
- - Anomaly detection -  Pre-built algorithm functions for the identification of items, events or observations which do not conform to an expected pattern or other items in a dataset
- - Data Profiling - Apply statistical analysis and assessment of data values within a dataset for consistency, uniqueness and logic.
-
-**Data Collection Layer**:
-
-We support two kinds of data sources, batch data and real time data.
-
-For batch mode, we can collect data source from  our Hadoop platform by various data connectors.
-
-For real time mode, we can connect with messaging system like Kafka to near real time analysis.
-
-**Data Process and Storage Layer**:
-
-For batch analysis, our data quality measure will compute data quality metrics in our spark cluster based on data source in hadoop.
-
-For near real time analysis, we consume data from messaging system, then our data quality measure will compute our real time data quality metrics in our spark cluster. for data storage, we use time series database in our back end to fulfill front end request.
-
-**Apache Griffin Service**:
-
-We have RESTful web services to accomplish all the functionalities of Apache Griffin, such as register data-set, create data quality measure, publish metrics, retrieve metrics, add subscription, etc. So, the developers can develop their own user interface based on these web serivces.
-
-## Background
-At eBay, when people play with big data in Apache Hadoop (or other streaming data), data quality often becomes one big challenge. Different teams have built customized data quality tools to detect and analyze data quality issues within their own domain. We are thinking to take a platform approach to provide shared Infrastructure and generic features to solve common data quality pain points. This would enable us to build trusted data assets.
-
-Currently it’s very difficult and costly to do data quality validation when we have big data flow across multi-platforms at eBay (e.g. Oracle, Apache Hadoop, Couchbase, Apache Cassandra, Apache Kafka, MongoDB). Take eBay real time personalization platform as a sample, everyday we have to validate data quality status for ~600M records ( imaging we have 150M active users for our website).  Data quality often becomes one big challenge both in its streaming and batch pipelines.
-
-So we conclude 3 data quality problems at eBay:
-
-1. Lack of end2end unified view of data quality measurement from multiple data sources to target applications, it usually takes a long time to identify and fix poor data quality.
-2. How to get data quality measured in streaming mode, we need to have a process and tool to visualize data quality insights through registering dataset which you want to check data quality, creating data quality measurement,  executing the data quality validation job and getting metrics insights for action taking.
-3. No Shared platform and API Service, have to apply and manage own hardware and software infrastructure.
-
-## Rationale
-The challenge we face at eBay is that our data volume is becoming bigger and bigger, systems process become more complex, while we do not have a unified data quality solution to ensure the trusted data sets which provide confidences on data quality to our data consumers.  The key challenges on data quality includes:
-
-1. Existing commercial data quality solution cannot address data quality lineage among systems, cannot scale out to support fast growing data at eBay
-2. Existing eBay's domain specific tools take a long time to identify and fix poor data quality when data flowed through multiple systems
-3. Business logic becomes complex, requires data quality system much flexible.
-4. Some data quality issues do have business impact on user experiences, revenue, efficiency & compliance.
-5. Communication overhead of data quality metrics, typically in a big organization, which involve different teams.
-
-The idea of  Apache Griffin is to provide Data Quality validation as a Service, to allow data engineers and data consumers to have:
-
- - Near real-time understanding of the data quality health of your data pipelines with end-to-end monitoring, all in one place.
- - Profiling, detecting and correlating issues and providing recommendations that drive rapid and focused troubleshooting
- - A centralized data quality measure management system including rule, metadata, scheduler etc.  
- - Native code generation to run everywhere, including Hadoop, Kafka, Spark, etc.
- - One set of tools to build data quality pipelines across all eBay data platforms.
-
-## Current Status
-###Meritocracy
-Apache Griffin has been deployed in production at eBay and provided the centralized data quality service for several eBay systems ( for example, real time personalization platform, eBay real time ID linking platform, Hadoop datasets, Site speed analytics platform).   Our aim is to build a diverse developer and user community following the Apache meritocracy model. We will encourage contributions and participation of all types of work, and ensure that contributors are appropriately recognized.
-
-###Community
-Currently the project is being developed at eBay. It's only for eBay internal community. Apache Griffin seeks to develop the developer and user communities during incubation. We believe it will grow substantially by becoming an Apache project.  
-
-###Core Developers
-Apache Griffin is currently being designed and developed by engineers from eBay Inc. – William Guo, Alex Lv, Shawn Sha, Vincent Zhao.  All of these core developers have deep expertise in Apache Hadoop and the Hadoop Ecosystem in general.   
-
-###Alignment
-The ASF is a natural host for Apache Griffin given that it is already the home of Hadoop, Beam, HBase, Hive, Storm, Kafka, Spark and other emerging big data products. Those are requiring data quality solution by nature to ensure the data quality which they processed. When people use open source data technology, the big question to them is that how we can ensure the data quality in it. Apache Griffin leverages lot of Apache open-source products. Apache Griffin was designed to enable real time insights into data quality validation by shared Infrastructure and generic features to solve common data quality pain points.
-
-##Known Risks  
-###Orphaned Products
-The core developers of Apache Griffin team work full time on this project. There is no risk of Apache Griffin getting orphaned since at least one large company (eBay) is extensively using it in their production Hadoop and Spark clusters for multiple data systems.  For example, currently there are 4 data systems at eBay (real time personalization platform, eBay real time ID linking platform, Hadoop, Site speed analytics platform) are leveraging Apache Griffin, with more than  ~600M records for data quality status validation every day, 35 data sets being monitored, 50+ data quality measures have been created.
-
-As Apache Griffin is designed to connect many types of data sources,  we are very confident that they will use Apache Griffin as a service for ensuring the data quality in open source data ecosystems. We plan to extend and diversify this community further through Apache.
-
-###Inexperience with Open Source
-Apache Griffin's core engineers are all active users and followers of open source projects. They are already committers and contributors to the Apache Griffin Github project. All have been involved with the source code that has been released under an open source license, and several of them also have experience developing code in an open source environment. Though the core set of Developers do not have Apache Open Source experience, there are plans to onboard individuals with Apache open source experience on to the project.
-
-###Homogenous Developers
-The core developers are from eBay.  Apache Incubation process encourages an open and diverse meritocratic community. Apache Griffin intends to make every possible effort to build a diverse, vibrant and involved community. We are committed to recruiting additional committers from other companies  based on their contribution to the project.
-
-###Reliance on Salaried Developers
-eBay invested in Apache Griffin as a company-wide data quality service platform and some of its key engineers are working full time on the project. they are all paid by eBay. We look forward to other Apache developers and researchers to contribute to the project.
-
-###Relationships with Other Apache Products
-Apache Griffin has a strong relationship and dependency with Apache Hadoop, Apache HBase, Apache Spark, Apache Kafka and Apache Storm, Apache Hive. In addition, since there is a growing need for data quality solution for open source platform (e.g. Hadoop, Kafka, Spark etc), being part of Apache’s Incubation community, could help with a closer collaboration among these four projects and as well as others.
-
-##Documentation
-Information about Apache Griffin can be found at https://github.com/apache/incubator-griffin.  
-
-##Initial Source
-Apache Griffin has been under development since early 2016 by a team of engineers at eBay Inc. It is currently hosted on Github.com under an Apache license 2.0 at https://github.com/apache/incubator-griffin.
-
-Once in incubation we will be moving the code base to Apache git repository.  
-
-##External Dependencies
-Apache Griffin has the following external dependencies.
-
-**Basic**
-
-- JDK 1.7+
-- Scala
-- Apache Maven
-- JUnit
-- Log4j
-- Slf4j
-- Apache Commons
-
-**Hadoop**
-
-- Apache Hadoop
-- Apache HBase
-- Apache Hive
-
-**DB**
-
-- MongoDB
-- InfluxData
-
-**Apache Spark**
-
-- Spark Core Library
-
-**REST Service**
-
-- Jersey
-- Spring MVC
-
-**Web frontend**
-
-- AngularJS
-- jQuery
-- Bootstrap
-- RequireJS
-- Font Awesome
-
-##Cryptography
-Currently there's no cryptography in Apache Griffin.
-
-##Required Resources
-###Mailing List###
-We currently use eBay mail box to communicate, but we'd like to move that to ASF maintained mailing lists.
-
-Current mailing list: dev@griffin.incubator.apache.org
-
-Proposed ASF maintained lists:
-private@griffin.incubator.apache.org
-
-dev@griffin.incubator.apache.org
-
-commits@griffin.incubator.apache.org
-
-###Subversion Directory
-Git is the preferred source control system.
-
-###Issue Tracking
-JIRA
-
-###Other Resources
-The existing code already has unit tests so we will make use of existing Apache continuous testing infrastructure. The resulting load should not be very large.  
-
-##Initial Committers
-- William Guo <yueguo at ebay dot com>
-- Alex Lv <lzhixing at ebay dot com>
-- Vincent Zhao <wenzhao at ebay dot com>
-- Shawn Sha <yosha at ebay dot com>
-- Amber Vaidya <amvaidya at ebay dot com>
-- Liang Shao <lshao at ebay dot com>
-
-##Affiliations
-The initial committers are employees of eBay Inc.  
-
-##Sponsors
-
-
-##Champion
-Henry Saputra <hsaputra at apache dot org> - Apache IPMC member  
-
-##Nominated Mentors
-
-##Sponsoring Entity
-We are requesting the Incubator to sponsor this project.

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/tdd.md
----------------------------------------------------------------------
diff --git a/griffin-doc/tdd.md b/griffin-doc/tdd.md
deleted file mode 100644
index d2227b9..0000000
--- a/griffin-doc/tdd.md
+++ /dev/null
@@ -1,83 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-# Technical Design Document
-
-
-## System Architecture
-There are 3 main parts of the system: Web UI, Backend Services, and Measure engine on Hadoop. Please refer to the below high level architecture diagram
-
-![Technical Architecture Design](img/tdd/arch_design.png)
-
-## Web UI
-- AngularJS 1.5.7 - https://angularjs.org/
-- eCharts 3.2.2 - http://echarts.baidu.com/
-- Bootstrap 3.3.6 - http://getbootstrap.com
-
-## Backend Service Layer
-There are several key componets hosted on the web server, such as RESTful web service, Job scheduler, Core Service. We provides RESTful APIs to support all kinds of clients(web browser, mobile app, applications on PC, etc.). The Job scheduler is responsible for triggering the execution of the measures and persist the metrics values. The Metadata engine is to provide most of the management features such as measure management, data asset management, notification management, user settings, etc.
-
-### RESTful Service
-#### Concepts
-We follow the principles in https://codeplanet.io/principles-good-restful-api-design/ to build up our RESTful web services.
-
-**Root URL**: https://example.org/api/v1/*
-
-**Verbs**:
-- GET (SELECT): Retrieve a specific Resource from the Server, or a listing of Resources.
-- POST (CREATE): Create a new Resource on the Server.
-- PUT (UPDATE): Update a Resource on the Server, providing the entire Resource.
-- PATCH (UPDATE): Update a Resource on the Server, providing only changed attributes.
-- DELETE (DELETE): Remove a Resource from the Server.
-
-#### Technical framework
-Jersey: https://jersey.java.net/
-
-And the resources should be authorized. Refer to https://jersey.java.net/documentation/latest/security.html
-
-### Job Scheduler
-May leverage QUARTZ: http://www.quartz-scheduler.org/
-
-<TBD>
-
-### Core Service
-Here are the key components in Core Service:
-- data asset management
-- measure management
-- metrics subscription
-- notification component
-- user settings
-
-For each component, we follow the MVC-based architecture.
-
-![MVC](img/tdd/mvc.png)
-
-Here're the typical classes/interfaces for each component
-
-![class_diagram](img/tdd/class_diagram.png)
-
-## Data Collection&Processing Layer
-![model_design](img/tdd/model_design.png)
-
-For data ingestion, griffin can consume real time data from streaming and also support batch data like sql or structured files.
-
-For data processing, griffin provides several measure libraries for various data quality dimensions like accuracy, validity, etc.
-
-After appending business rules into those measures, griffin will deploy related jobs in spark cluster.
-
-For more details of the design, please refer to https://github.com/eBay/DQSolution/blob/master/griffin-doc/measures.md

http://git-wip-us.apache.org/repos/asf/incubator-griffin/blob/f0792641/griffin-doc/ui/test-case.md
----------------------------------------------------------------------
diff --git a/griffin-doc/ui/test-case.md b/griffin-doc/ui/test-case.md
deleted file mode 100644
index 40ed3d7..0000000
--- a/griffin-doc/ui/test-case.md
+++ /dev/null
@@ -1,62 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-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 '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      |             |
-