-
Notifications
You must be signed in to change notification settings - Fork 124
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DHS e2e example changes #1585
DHS e2e example changes #1585
Conversation
examples/DHS-e2e/README.md
Outdated
|
||
|
||
___You can verify via REST port 8004 for ingested/harmonized docs___ | ||
# Running Data Hub Service end-end # |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# Running Data Hub Service end-end # | |
# Running Data Hub Service end-to-end # |
examples/DHS-e2e/README.md
Outdated
___You can verify via REST port 8004 for ingested/harmonized docs___ | ||
# Running Data Hub Service end-end # | ||
|
||
There are 2 projects one for each DHS and DSF. DHS is the project to run DHF flows in the stack spun up by DHS. Whereas DSF is the project that consumes curated data in the FINAL database. Commands to be executed in sequence are as under: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are 2 projects one for each DHS and DSF. DHS is the project to run DHF flows in the stack spun up by DHS. Whereas DSF is the project that consumes curated data in the FINAL database. Commands to be executed in sequence are as under: | |
There are two projects — one for running DHF flows in Data Hub Service (DHS), and one for consuming data from the final database with Data Services (DSF). |
examples/DHS-e2e/README.md
Outdated
|
||
There are 2 projects one for each DHS and DSF. DHS is the project to run DHF flows in the stack spun up by DHS. Whereas DSF is the project that consumes curated data in the FINAL database. Commands to be executed in sequence are as under: | ||
|
||
## Pre-req ## |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
## Pre-req ## | |
## Prerequisites ## |
examples/DHS-e2e/README.md
Outdated
There are 2 projects one for each DHS and DSF. DHS is the project to run DHF flows in the stack spun up by DHS. Whereas DSF is the project that consumes curated data in the FINAL database. Commands to be executed in sequence are as under: | ||
|
||
## Pre-req ## | ||
Gradle 4.x+ installed globally. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Gradle 4.x+ installed globally. | |
Gradle 4.x+ is installed globally. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think that you should use a global gradle install step. gradlew is much safer to use and less invasive. I actually have never installed gradle on my laptop.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK. I added it because I was running into issues with gradle version, since DHF expect 3.4+ and DSF expected 3.8+ I think. So I installed a 4.x+ and just used that and thought it will be easier. I can include the wrapper within these projects so folks trying this out there dont have to install gradle.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DHF requires a minimum of 3.4, but we support 4.x. Packaging one would be even easier, I agree, and help insulate the DHS from 'DHF-esque' deployment specifics.
examples/DHS-e2e/README.md
Outdated
* `export PATH=$PATH:<unzipped dir>/gradle4.2.1/bin` | ||
* source ~/.bash_profile | ||
|
||
There is a gradle task “importAllCustomers” to ingest source documents. So you can either run that task or use your locally installed mlcp.sh as described later. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a gradle task “importAllCustomers” to ingest source documents. So you can either run that task or use your locally installed mlcp.sh as described later. | |
Install MarkLogic Content Pump (mlcp). Note: This example uses mlcp. If you prefer not to use mlcp, you can use the gradle task “importAllCustomers” to ingest source documents. |
examples/DHS-e2e/README.md
Outdated
|
||
## Pre-req ## | ||
Gradle 4.x+ installed globally. | ||
* wget https://services.gradle.org/distributions/gradle-4.2.1-bin.zip |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does 'wget' mean something or is it a typo?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wget is a common utility to get things from the web, alternate to curl
examples/DHS-e2e/README.md
Outdated
## Pre-req ## | ||
Gradle 4.x+ installed globally. | ||
* wget https://services.gradle.org/distributions/gradle-4.2.1-bin.zip | ||
* unzip to a dir of choice |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* unzip to a dir of choice | |
* Unzip to a directory of your choice |
examples/DHS-e2e/README.md
Outdated
Gradle 4.x+ installed globally. | ||
* wget https://services.gradle.org/distributions/gradle-4.2.1-bin.zip | ||
* unzip to a dir of choice | ||
* update env var PATH in bash_profile |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* update env var PATH in bash_profile | |
* Update the PATH environment variable in bash_profile |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I appreciate that you documented everything so well, but this is specific to bash, and .bash_profile is specific so some operating systems. not important of course.
examples/DHS-e2e/README.md
Outdated
* unzip to a dir of choice | ||
* update env var PATH in bash_profile | ||
* `export PATH=$PATH:<unzipped dir>/gradle4.2.1/bin` | ||
* source ~/.bash_profile |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this a command they have to run or something else?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes its a command to run so the changes in .bash_profile can take effect.
examples/DHS-e2e/README.md
Outdated
* source ~/.bash_profile | ||
|
||
|
||
After creating stack in AWS make sure you have created users with appropriate roles. Update DHS/gradle.properties and DSF/gradle.properties to use them. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After creating stack in AWS make sure you have created users with appropriate roles. Update DHS/gradle.properties and DSF/gradle.properties to use them. | |
After creating your stack in AWS, make sure you have created users with appropriate roles. Update DHS/gradle.properties and DSF/gradle.properties to use them. |
examples/DHS-e2e/README.md
Outdated
|
||
After creating stack in AWS make sure you have created users with appropriate roles. Update DHS/gradle.properties and DSF/gradle.properties to use them. | ||
|
||
* For DHS project |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* For DHS project | |
* For the DHS project |
examples/DHS-e2e/README.md
Outdated
* For DHS project | ||
* User with flowDeveloper role can create, load into modules DB and run flows | ||
* User with flowOperator role can only run flows | ||
* For DSF project |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* For DSF project | |
* For the DSF project |
examples/DHS-e2e/README.md
Outdated
After creating stack in AWS make sure you have created users with appropriate roles. Update DHS/gradle.properties and DSF/gradle.properties to use them. | ||
|
||
* For DHS project | ||
* User with flowDeveloper role can create, load into modules DB and run flows |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* User with flowDeveloper role can create, load into modules DB and run flows | |
* Users with the flowDeveloper role can load flows into the modules database and run them |
examples/DHS-e2e/README.md
Outdated
|
||
* For DHS project | ||
* User with flowDeveloper role can create, load into modules DB and run flows | ||
* User with flowOperator role can only run flows |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* User with flowOperator role can only run flows | |
* Users with the flowOperator role can only run flows |
examples/DHS-e2e/README.md
Outdated
* User with flowDeveloper role can create, load into modules DB and run flows | ||
* User with flowOperator role can only run flows | ||
* For DSF project | ||
* User with endpointDeveloper role can load into modules DB and call the DSF API |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* User with endpointDeveloper role can load into modules DB and call the DSF API | |
* Users with endpointDeveloper role can load documents into the modules database and call the DSF API |
examples/DHS-e2e/README.md
Outdated
* User with flowOperator role can only run flows | ||
* For DSF project | ||
* User with endpointDeveloper role can load into modules DB and call the DSF API | ||
* User with endpointUser role can only call the DSF API |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* User with endpointUser role can only call the DSF API | |
* Users with the endpointUser role can only call the DSF API |
examples/DHS-e2e/README.md
Outdated
|
||
|
||
## Assumptions and things to note ## | ||
* This project assumes that DHS environment is already provisioned. All the app servers, databases are provisioned and required roles created as described in pre-req above |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* This project assumes that DHS environment is already provisioned. All the app servers, databases are provisioned and required roles created as described in pre-req above | |
* This project assumes that DHS environment is already provisioned. All the app servers and databases should be provisioned and required roles created as described in prerequisites above |
examples/DHS-e2e/README.md
Outdated
## Assumptions and things to note ## | ||
* This project assumes that DHS environment is already provisioned. All the app servers, databases are provisioned and required roles created as described in pre-req above | ||
* This example was executed from bastion host | ||
* DHS enables you to configure the endpoints to be private or public. If they are public, you can run this project from your laptop. If the endpoints are private, then these hosts are only accessible from the VPC that is peered to the MarkLogic VPC (This can be accessed from your local by ssh tunneling). In either case please update mlHost in DHS/gradle.properties and DSF/gradle.properties to use Flows endpoint. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is ssh tunneling in addition to using a bastion host?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not an addition but an alternate to bastion host, so you can run things from your laptop.
examples/DHS-e2e/DHS/build.gradle
Outdated
task importAllCustomers(type: com.marklogic.gradle.task.MlcpTask) { | ||
doFirst { | ||
classpath = configurations.mlcp | ||
input_file_path = "/Users/sbalasub/git/marklogic-data-hub/examples/DHS-e2e/DHS/input/json/customers/" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How will you accommodate this use of your home directory?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have asked folks to edit the input file path in the README.
import com.fasterxml.jackson.databind.JsonNode; | ||
|
||
|
||
public class testCustomer { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In Java always capitalize class names
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will do.
examples/DHS-e2e/README.md
Outdated
There are 2 projects one for each DHS and DSF. DHS is the project to run DHF flows in the stack spun up by DHS. Whereas DSF is the project that consumes curated data in the FINAL database. Commands to be executed in sequence are as under: | ||
|
||
## Pre-req ## | ||
Gradle 4.x+ installed globally. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think that you should use a global gradle install step. gradlew is much safer to use and less invasive. I actually have never installed gradle on my laptop.
examples/DHS-e2e/README.md
Outdated
|
||
## Pre-req ## | ||
Gradle 4.x+ installed globally. | ||
* wget https://services.gradle.org/distributions/gradle-4.2.1-bin.zip |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wget is a common utility to get things from the web, alternate to curl
examples/DHS-e2e/README.md
Outdated
Gradle 4.x+ installed globally. | ||
* wget https://services.gradle.org/distributions/gradle-4.2.1-bin.zip | ||
* unzip to a dir of choice | ||
* update env var PATH in bash_profile |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I appreciate that you documented everything so well, but this is specific to bash, and .bash_profile is specific so some operating systems. not important of course.
examples/DHS-e2e/README.md
Outdated
* DHS enables you to configure the endpoints to be private or public. If they are public, you can run this project from your laptop. If the endpoints are private, then these hosts are only accessible from the VPC that is peered to the MarkLogic VPC (This can be accessed from your local by ssh tunneling). In either case please update mlHost in DHS/gradle.properties and DSF/gradle.properties to use Flows endpoint. | ||
|
||
|
||
# Steps to run end to end # |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# Steps to run end to end # | |
# Steps # |
examples/DHS-e2e/README.md
Outdated
## Getting your flows in DHS ## | ||
1. cd `<path to DHS>` | ||
2. Install data-hub core MODULES | ||
1. gradle hubInstallModules |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1. gradle hubInstallModules | |
1. Run gradle hubInstallModules |
examples/DHS-e2e/README.md
Outdated
1. cd `<path to DHS>` | ||
2. Install data-hub core MODULES | ||
1. gradle hubInstallModules | ||
2. data-hub-MODULES should have 133 documents. You can verify this in your browser: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2. data-hub-MODULES should have 133 documents. You can verify this in your browser: | |
2. Verify that data-hub-MODULES has 133 documents from your browser: |
examples/DHS-e2e/README.md
Outdated
2. data-hub-MODULES should have 133 documents. You can verify this in your browser: | ||
___http://CURATION_ENDPOINT:8004/v1/search?database=data-hub-MODULES___ | ||
3. Load your modules for input/harmoninzation flows | ||
1. gradle mlLoadModules |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1. gradle mlLoadModules | |
1. Run gradle mlLoadModules |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Its a command so didnt want to include it in a sentence. The sub bullet is the thing to run to get the thing described in main bullet done.
examples/DHS-e2e/README.md
Outdated
___http://CURATION_ENDPOINT:8004/v1/search?database=data-hub-MODULES___ | ||
3. Load your modules for input/harmoninzation flows | ||
1. gradle mlLoadModules | ||
2. data-hub-MODULES should now have 145 documents. You can verify this in your browser: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2. data-hub-MODULES should now have 145 documents. You can verify this in your browser: | |
2. Verify that data-hub-MODULES has 145 documents from your browser: |
examples/DHS-e2e/README.md
Outdated
1. gradle mlLoadModules | ||
2. data-hub-MODULES should now have 145 documents. You can verify this in your browser: | ||
___http://CURATION_ENDPOINT:8004/v1/search?database=data-hub-MODULES___ | ||
4. Run input flow |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
4. Run input flow | |
4. Run the input flow |
examples/DHS-e2e/README.md
Outdated
___Alternately you can run___ | ||
|
||
2. gradle importAllCustomers | ||
1. Ensure to update path to input documents in DHS/build.gradle where the task is defined |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1. Ensure to update path to input documents in DHS/build.gradle where the task is defined | |
- Make sure to update the path to the input documents in DHS/build.gradle, where the task is defined |
examples/DHS-e2e/README.md
Outdated
|
||
2. gradle importAllCustomers | ||
1. Ensure to update path to input documents in DHS/build.gradle where the task is defined | ||
3. Post ingestion, there should be 11 documents in data-hub-STAGING: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
3. Post ingestion, there should be 11 documents in data-hub-STAGING: | |
3. Post ingestion, verify there are 11 documents in data-hub-STAGING: |
examples/DHS-e2e/README.md
Outdated
1. Ensure to update path to input documents in DHS/build.gradle where the task is defined | ||
3. Post ingestion, there should be 11 documents in data-hub-STAGING: | ||
___http://CURATION_ENDPOINT:8004/v1/search?database=data-hub-STAGING___ | ||
5. Run harmonization flow |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
5. Run harmonization flow | |
5. Run the harmonization flow |
examples/DHS-e2e/README.md
Outdated
3. Post ingestion, there should be 11 documents in data-hub-STAGING: | ||
___http://CURATION_ENDPOINT:8004/v1/search?database=data-hub-STAGING___ | ||
5. Run harmonization flow | ||
1. gradle hubRunFlow -PentityName=Customer -PflowName=customerHarmonize |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1. gradle hubRunFlow -PentityName=Customer -PflowName=customerHarmonize | |
1. Run gradle hubRunFlow -PentityName=Customer -PflowName=customerHarmonize |
examples/DHS-e2e/README.md
Outdated
___http://CURATION_ENDPOINT:8004/v1/search?database=data-hub-STAGING___ | ||
5. Run harmonization flow | ||
1. gradle hubRunFlow -PentityName=Customer -PflowName=customerHarmonize | ||
2. Post harmonization, there should be 11 documents in data-hub-FINAL: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2. Post harmonization, there should be 11 documents in data-hub-FINAL: | |
2. Verify there are 11 documents in data-hub-FINAL: |
examples/DHS-e2e/README.md
Outdated
2. Post harmonization, there should be 11 documents in data-hub-FINAL: | ||
___http://CURATION_ENDPOINT:8004/v1/search?database=data-hub-FINAL___ | ||
|
||
## Consuming curated data from FINAL database ## |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
## Consuming curated data from FINAL database ## | |
## Consuming curated data from the final database ## |
examples/DHS-e2e/README.md
Outdated
___http://CURATION_ENDPOINT:8004/v1/search?database=data-hub-FINAL___ | ||
|
||
## Consuming curated data from FINAL database ## | ||
1. cd `<path to DSF>` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1. cd `<path to DSF>` | |
1. Navigate to the DSF directory (cd `<path to DSF>`) |
examples/DHS-e2e/README.md
Outdated
## Consuming curated data from FINAL database ## | ||
1. cd `<path to DSF>` | ||
2. Load your APIs into data-hub-MODULES database |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2. Load your APIs into data-hub-MODULES database | |
2. Load your APIs into the data-hub-MODULES database |
examples/DHS-e2e/README.md
Outdated
## Consuming curated data from FINAL database ## | ||
1. cd `<path to DSF>` | ||
2. Load your APIs into data-hub-MODULES database | ||
1. gradle mlLoadModules |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1. gradle mlLoadModules | |
1. Run gradle mlLoadModules |
examples/DHS-e2e/README.md
Outdated
1. cd `<path to DSF>` | ||
2. Load your APIs into data-hub-MODULES database | ||
1. gradle mlLoadModules | ||
1. If you are using same project to run against another AWS stack, delete `module-timestamps.properties` under `build/ml-javaclient-util` dir |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should they do this after or before running gradle mlLoadModules?
examples/DHS-e2e/README.md
Outdated
2. Load your APIs into data-hub-MODULES database | ||
1. gradle mlLoadModules | ||
1. If you are using same project to run against another AWS stack, delete `module-timestamps.properties` under `build/ml-javaclient-util` dir | ||
2. data-hub-MODULES should now have 152 documents. You can verify this in your browser: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2. data-hub-MODULES should now have 152 documents. You can verify this in your browser: | |
2. Verify that data-hub-MODULES should has 152 documents from your browser: |
examples/DHS-e2e/README.md
Outdated
2. data-hub-MODULES should now have 152 documents. You can verify this in your browser: | ||
___http://CURATION_ENDPOINT:8004/v1/search?database=data-hub-MODULES___ | ||
3. Call the API. The API runs a query on FINAL database to return all the Customers who have "Sales" in their title | ||
1. gradle runMain |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a way to indent without adding a bullet point or number in front of 'gradle runMain'? Also, for all these commands, can we format them so they appear differently than normal text?
examples/DHS-e2e/README.md
Outdated
4. Run input flow | ||
1. mlcp.sh import -mode "local" -host "`Ingest/Flows endpoint`" -port "8006" -username "xx" -password "yy" -input_file_path "`path to DHS/input/json/customers/`" -input_file_type "documents" -output_collections "Customer,DHS" -output_permissions "rest-reader,read,rest-writer,update" -output_uri_replace "`path to DHS/input/json`,''" -document_type "json" -transform_module "/data-hub/4/transforms/mlcp-flow-transform.sjs" -transform_namespace "http://marklogic.com/data-hub/mlcp-flow-transform" -transform_param "entity-name=Customer,flow-name=customerInput" -restrict_hosts true | ||
|
||
___Alternately you can run___ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
___Alternately you can run___ | |
___Alternatively you can run___ |
examples/DHS-e2e/README.md
Outdated
|
||
___Alternately you can run___ | ||
|
||
2. gradle importAllCustomers |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This shouldn't be #2 if it's not a sequential step...you can try adding a bullet underneath 1. instead
a29b8c5
to
593ee3d
Compare
203898d
to
4fab171
Compare
@bsrikan Are we good on this? |
@aebadirad All ready to merge. |
This PR contains changes to the DHS e2e example. Renaming flows so they make sense.
Formatting and adding more info in the README to look up inserted docs etc.