aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Lott (cl778h) <clott@research.att.com>2018-02-05 08:49:03 -0500
committerChristopher Lott (cl778h) <clott@research.att.com>2018-02-05 08:52:35 -0500
commit64d6e0567a1105155ebd43bf412342f51dc4ea43 (patch)
tree80df055bf7bae635c00d0858ef20a550a3de8bd3
parentc9dbe4f1b27c47d23102b8e0da880ccb5de9efa4 (diff)
RST docs for DMaaP BC Web Application
Long-overdue push of docs that were lingering in ATT codecloud. Issue-ID: PORTAL-150 Change-Id: I86e57f6f9841f36e6a5544e8c05897c52cb190de Signed-off-by: Christopher Lott (cl778h) <clott@research.att.com>
-rw-r--r--docs/.gitignore2
-rw-r--r--docs/deployment-guide.rst195
-rw-r--r--docs/developer-guide.rst228
-rw-r--r--docs/ecomp_dcae_logo_170x130.pngbin0 -> 21818 bytes
-rw-r--r--docs/ecomp_dcae_logo_360x218.pngbin0 -> 46197 bytes
-rw-r--r--docs/ecomp_dcae_logo_680x520.pngbin0 -> 151314 bytes
-rw-r--r--docs/index.rst18
-rw-r--r--docs/overview.rst20
-rw-r--r--docs/release-notes.rst15
-rw-r--r--docs/upgrade-sdk-notes.txt156
10 files changed, 634 insertions, 0 deletions
diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 0000000..651cf82
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1,2 @@
+/conf.py
+/out
diff --git a/docs/deployment-guide.rst b/docs/deployment-guide.rst
new file mode 100644
index 0000000..f84513d
--- /dev/null
+++ b/docs/deployment-guide.rst
@@ -0,0 +1,195 @@
+================
+Deployment Guide
+================
+
+This is the Data Movement as a Platform (DMaaP) Bus Controller web application for ONAP.
+
+This is a preliminary draft. The web app was deployed in ONAP release 1.0
+with the ONAP Portal. That deployment strategy is no longer in effect.
+
+The application was designed to be on-boarded to the ONAP Portal for user
+management and other features, so this deployment guide assumes the web
+application will be on-boarded.
+
+This application is delivered as a single WAR file with all CSS, HTML,
+JavaScript, compiled Java classes and Jar files together in a single
+deployable bundle. No front-end/back-end separation is implemented.
+
+Prerequisites
+-------------
+
+Java: Java version 1.8 with a recent update must be installed. Java includes a
+file with known root certificates, which may require changes to recognize
+self-signed server certificates.
+
+App server: Version 8 of the Apache Tomcat server must be installed.
+
+Database: These instructions assume Mariadb version 10.1.13-MariaDB or later.
+
+The DBC web application is built by maven and packaged as a war file. This
+deployment guide does not cover the build process, which is assumed to be
+covered by Continuous Integration / Continuous Deployment efforts.
+
+Property Files
+--------------
+
+The DBC web app requires appropriate configuration for each deployment environment.
+Configurations are represented as key-values pairs stored in property files.
+
+Portal Properties for ecompFW Library
+-------------------------------------
+
+This file within the web application contains properties used by the EPSDK-FW library:
+
+ WEB-INF/classes/portal.properties
+
+The application requires the location of the hosting Portal's REST endpoint in
+this config key:
+
+* ecomp_rest_url
+
+The application requires the unique UEB key that's assigned during the on-boarding
+process in the following config key:
+
+* ueb_app_key
+
+Quantum Library System Properties
+---------------------------------
+
+This file within the web application database properties used by the EPSDK-core library:
+
+* WEB-INF/conf/system.properties
+
+The application requires suitable database coordinates in the following config keys.
+
+* db.connectionURL
+* db.userName
+* db.password
+
+As part of deployment, the following config key must be updated with a unique UUID.
+For example, a new value can be generated at https://www.uuidgenerator.net/version1
+
+* instance_uuid
+
+Data Bus Control App Properties
+-------------------------------
+
+This file within the web application properties used by the web application;
+an example file is in source code management:
+
+* WEB-INF/dbcapp/dbcapp.properties
+
+The application requires a comma-separated list of DCAE DMaaP Bus Controller
+URLs in the following config key:
+
+* dmaap.rest.url.list
+
+Prepare the Database
+--------------------
+
+This uses MariaDB.
+
+Login to the database with super user privileges and type the following commands
+to create a database, create a user and grant privileges to the user to
+access all tables in the new database:
+
+::
+
+ % mysql -u root -p
+ create database dbca;
+ create user 'dbca_user'@'%' identified by 'dbca_pass';
+ grant all on dbca.* to dbcuser@'%';
+
+As part of deployment the database must be loaded with menu items and a super user entry.
+The following files are part of the application source tree:
+
+* dmaap-bc-app-common/db-scripts/dbca-ddl-mysql-1707-common.sql
+* dmaap-bc-app-os/db-scripts/dbca-dml-mysql-1707-os.sql
+
+Create tables and populate the tables by running the scripts in the order shown below.
+On one node of the MariaDB Cluster, in the Mysql command-line client, execute the following
+commands:
+
+::
+
+ source dbca-ddl-mysql-1707-common.sql
+ source dbca-dml-mysql-1707-os.sql
+
+
+Application Installation
+------------------------
+
+Copy the war file to the Tomcat server's "webapps" area.
+
+Launch the Tomcat server. It should deploy the application. After starting, verify there are no
+relevant errors in file /opt/app/tomcat/logs/application.log
+
+::
+
+ service tomcat start
+ service tomcat status
+ tail -f /opt/app/tomcat/logs/catalina.out
+
+Login to Application
+--------------------
+
+After the database is first created the application has exactly one user, and that user has
+administrator privileges. Look in the file dbca-dml-mysql-1707-os.sql for the sole row added to
+the FN_USER table. Use the username and password from that row to login at this URL in the
+running application. Use the application deployment (context) name chosen above to form the
+proper url, it will be something like this:
+
+* http://servername.domain.com/dmaap-bc-app/login_external.htm
+
+
+On-Board to ONAP Portal
+-----------------------
+
+The application must be on-boarded to an appropriate instance of the ONAP Portal. Detailed
+instructions are available at this wiki page:
+
+* https://wiki.onap.org/display/DW/Application+Onboarding
+
+This section summarizes the steps that must be done.
+
+Define Users and Roles
+^^^^^^^^^^^^^^^^^^^^^^
+
+Login directly to the application as discussed above and create roles.
+
+Determine URLs
+^^^^^^^^^^^^^^
+
+Determine the URLs where the application is available:
+
+The first URL to enter is the main application landing page.
+
+The second URL to enter is the REST endpoint, also known as the "aux" API where
+the SDK-core library listens for requests to manage roles and users.
+
+Configure Portal
+^^^^^^^^^^^^^^^^
+
+An ONAP Portal administrator must use the Portal on-boarding screen to create/register
+this application.
+
+This screen accepts the URLs from the previous step.
+
+This screen accepts an application thumbnail image. A PNG image file at resolution
+170x130 is available in the docs folder "open_dcae_logo_170x130.png".
+
+The onboarding process will cause new UEB key information to be generated
+and emailed to the on-boarding user. This information must be entered in the
+portal.properties file as discussed above.
+
+Add Application Users from Portal
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+After successful on-boarding, the Portal should be able to manage users in the remote
+application. Use the User Management feature to provision new users on the application.
+
+Test Access from Portal
+^^^^^^^^^^^^^^^^^^^^^^^
+
+The Portal will display a tile on the applications home screen. Click the tile.
+This should open a tab in the user's browser with the DBC web application.
diff --git a/docs/developer-guide.rst b/docs/developer-guide.rst
new file mode 100644
index 0000000..1d2b8ec
--- /dev/null
+++ b/docs/developer-guide.rst
@@ -0,0 +1,228 @@
+===============
+Developer Guide
+===============
+
+This is the Data Movement as a Platform (DMaaP) Bus Controller web application for ONAP.
+
+Project Structure
+-----------------
+
+The following maven projects comprise the web application:
+
+* dbca-common: project with Java code resources for both internal and external use
+* dbca-overlay: project with CSS, HTML, Javascript and other web resources for both internal and external use
+* dbca-os: master web app with Java code and web resources specific to the open-source
+ version of the application.
+
+Building the App
+----------------
+
+Run maven in the top-level folder:
+
+::
+
+ mvn package
+
+
+Developing the App
+------------------
+
+The easiest way I know of developing and debugging this Java web app is to launch the application using Eclipse.
+This requires some setup:
+
+- Create a local database with the expected table structure and content (see deployment guide)
+- Prepare property files with the coordinates and credentials of the local database (see deployment guide), the critical file is src/main/webapp/WEB-INF/conf/system.properties
+- Use the JEE version of Eclipse with the "Web Tools Platform" (WTP) plugin installed.
+- Install a recent copy of Apache Tomcat; e.g., 8.5 or later
+- Create a Tomcat server in the WTP "Servers" view
+- In Eclipse, right click on the master web project "dmapp-bc-app-os", pick "Run As" then "Run on Server". This should apply the overlay files and gather everything into a bundle, then push it to the Tomcat server.
+- The app should start and Eclipse will open a browser using the webapp context. However, the app very much wants users to login via ONAP Portal, which might not be configured. To work locally use this URL:
+
+::
+
+ http://localhost:8080/dmaap-bc-app-os/login_external.htm
+
+Upgrading the App
+-----------------
+
+This section presents detail of upgrading the DMaaP BC web application for a new release of the ONAP Portal SDK.
+
+Basics
+^^^^^^
+
+Generate a list of differences with this command:
+
+::
+
+ diff -q -r ../quantum/sdk-app/src src
+
+Expected differences - verify but don't overwrite local changes:
+
+::
+
+ dcae_dmaapbc_webapp/db-scripts/EcompSdkDDLMySql.sql
+ dcae_dmaapbc_webapp/db-scripts/EcompSdkDMLMySql.sql
+ dcae_dmaapbc_webapp/src/main/java/com/att/fusionapp/conf/ExternalAppConfig.java
+ dcae_dmaapbc_webapp/src/main/java/com/att/fusionapp/conf/HibernateMappingLocations.java
+ dcae_dmaapbc_webapp/src/main/java/com/att/fusionapp/controller/WelcomeController.java
+ dcae_dmaapbc_webapp/src/main/resources/logback.xml
+ dcae_dmaapbc_webapp/src/main/resources/portal.properties
+ dcae_dmaapbc_webapp/src/main/webapp/index.jsp
+ dcae_dmaapbc_webapp/src/main/webapp/WEB-INF/conf/system.properties
+ dcae_dmaapbc_webapp/src/main/webapp/WEB-INF/jsp/login.jsp
+ dcae_dmaapbc_webapp/src/main/webapp/WEB-INF/web.xml
+
+Directories in webapp only:
+
+::
+
+ src/main/webapp/WEB-INF/dbcapp
+
+Directories in SDK, omitted from webapp:
+
+::
+
+ ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/raptor
+ ../quantum/sdk-app/src/main/webapp/app/fusion/notebook-integration
+ ../quantum/sdk-app/src/main/webapp/static/fusion/raptor
+ ../quantum/sdk-app/src/test/java/com/att/workflow
+
+
+Details about the 1702 upgrade
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Ignore all Java changes - no relevant commits were made to epsdk-app for this release:
+
+::
+
+ Only in ../quantum/sdk-app/src/main/java: com
+ Only in src/main/java: org
+
+Ignore all only-in-DBC-app:
+
+::
+
+ Only in src/main/webapp/WEB-INF: dbcapp
+ Only in src/main/webapp/app: dbcapp
+ Only in src/test: resources
+
+Ignore all only-in-SDK-app:
+
+::
+
+ Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/conf: quartz.properties
+ Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/conf: raptor.properties
+ Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/conf: raptor_app_fusion.properties
+ Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/conf: raptor_db_fusion.properties
+ Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/conf: raptor_pdf.properties
+ Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp: broadcast.jsp
+ Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp: broadcast_list.jsp
+ Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp: collaborateList.jsp
+ Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp: data_out.jsp
+ Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp: es_suggest_demo.jsp
+ Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp: webrtc
+ Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion: raptor
+ Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/jsp: leafletMap.jsp
+ Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/jsp: net_map.jsp
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusion: notebook-integration
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/angular_js: appDS2.js
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusion/external/samples/html: busy_hour_traffic.html
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusion/external/samples/html: traffic_distribution.html
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers: admin-closed-cloop.js
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers: admin-whitelist.js
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models: reportdashboard-page
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusionapp/scripts: DS2-view-models
+ Only in ../quantum/sdk-app/src/main/webapp/static/fusion: raptor
+ Only in ../quantum/sdk-app/src/main/webapp/static/fusion: sample
+ Only in ../quantum/sdk-app/src/main/webapp/static/fusion/images: ecomp-login.jpg
+ Only in ../quantum/sdk-app/src/test/java/com/att: workflow
+
+Ignored these at some risk of breakage:
+
+::
+
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusion/external: leaflet-0.7.3
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusion/external: lodash
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusion/external: showdown
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusion/external/angular-ui: ui-sortable
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/angular_js: angular-cookies-1.4.js
+
+Ignore these because I don't want DS2 yet:
+
+::
+
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusion/external: ds2
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusion/scripts: DS2-controllers
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusion/scripts: DS2-directives
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusion/scripts: DS2-services
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusion/scripts: DS2-view-models
+
+Ignore these because I like my changes:
+
+::
+
+ Files ../quantum/sdk-app/src/main/resources/logback.xml and src/main/resources/logback.xml differ
+ Files ../quantum/sdk-app/src/main/resources/portal.properties and src/main/resources/portal.properties differ
+ Files ../quantum/sdk-app/src/main/webapp/WEB-INF/conf/system.properties and src/main/webapp/WEB-INF/conf/system.properties differ
+ Files ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/defs/definitions.xml and src/main/webapp/WEB-INF/fusion/defs/definitions.xml differ
+ Files ../quantum/sdk-app/src/main/webapp/WEB-INF/jsp/login.jsp and src/main/webapp/WEB-INF/jsp/login.jsp differ
+ Files ../quantum/sdk-app/src/main/webapp/WEB-INF/web.xml and src/main/webapp/WEB-INF/web.xml differ
+ Files ../quantum/sdk-app/src/main/webapp/index.jsp and src/main/webapp/index.jsp differ
+
+Copy these:
+
+::
+
+ Only in ../quantum/sdk-app/src/main/webapp/app/fusion/styles: global.css
+ Files ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp/ebz/ebz_footer.jsp and src/main/webapp/WEB-INF/fusion/jsp/ebz/ebz_footer.jsp differ
+ Files ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp/ebz_template.jsp and src/main/webapp/WEB-INF/fusion/jsp/ebz_template.jsp differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/elementmap/scripts/element_map.js and src/main/webapp/app/fusion/elementmap/scripts/element_map.js differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/ebz_header/footer.css and src/main/webapp/app/fusion/external/ebz/ebz_header/footer.css differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/ebz_header/header.css and src/main/webapp/app/fusion/external/ebz/ebz_header/header.css differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/ebz_header/portal_ebz_header.css and src/main/webapp/app/fusion/external/ebz/ebz_header/portal_ebz_header.css differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/fn-ebz.css and src/main/webapp/app/fusion/external/ebz/fn-ebz.css differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers/adminController.js and src/main/webapp/app/fusion/scripts/controllers/adminController.js differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers/post-search-controller.js and src/main/webapp/app/fusion/scripts/controllers/post-search-controller.js differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers/role-controller.js and src/main/webapp/app/fusion/scripts/controllers/role-controller.js differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers/rolepopupmodelController.js and src/main/webapp/app/fusion/scripts/controllers/rolepopupmodelController.js differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/directives/header.js and src/main/webapp/app/fusion/scripts/directives/header.js differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/directives/leftMenu.js and src/main/webapp/app/fusion/scripts/directives/leftMenu.js differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/services/userInfoService.js and src/main/webapp/app/fusion/scripts/services/userInfoService.js differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/admin-page/admin.html and src/main/webapp/app/fusion/scripts/view-models/admin-page/admin.html differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/footer.html and src/main/webapp/app/fusion/scripts/view-models/footer.html differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/header.html and src/main/webapp/app/fusion/scripts/view-models/header.html differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/admin_closed_loop.html and src/main/webapp/app/fusion/scripts/view-models/profile-page/admin_closed_loop.html differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/admin_menu_edit.html and src/main/webapp/app/fusion/scripts/view-models/profile-page/admin_menu_edit.html differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/popup_modal_role.html and src/main/webapp/app/fusion/scripts/view-models/profile-page/popup_modal_role.html differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/role.html and src/main/webapp/app/fusion/scripts/view-models/profile-page/role.html differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/role_list.html and src/main/webapp/app/fusion/scripts/view-models/profile-page/role_list.html differ
+ Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/self_profile.html and src/main/webapp/app/fusion/scripts/view-models/profile-page/self_profile.html differ
+
+Using these commands:
+
+::
+
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/styles/global.css src/main/webapp/app/fusion/styles
+ cp ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp/ebz/ebz_footer.jsp src/main/webapp/WEB-INF/fusion/jsp/ebz/ebz_footer.jsp
+ cp ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp/ebz_template.jsp src/main/webapp/WEB-INF/fusion/jsp/ebz_template.jsp
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/elementmap/scripts/element_map.js src/main/webapp/app/fusion/elementmap/scripts/element_map.js
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/ebz_header/footer.css src/main/webapp/app/fusion/external/ebz/ebz_header/footer.css
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/ebz_header/header.css src/main/webapp/app/fusion/external/ebz/ebz_header/header.css
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/ebz_header/portal_ebz_header.css src/main/webapp/app/fusion/external/ebz/ebz_header/portal_ebz_header.css
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/fn-ebz.css src/main/webapp/app/fusion/external/ebz/fn-ebz.css
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers/adminController.js src/main/webapp/app/fusion/scripts/controllers/adminController.js
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers/post-search-controller.js src/main/webapp/app/fusion/scripts/controllers/post-search-controller.js
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers/role-controller.js src/main/webapp/app/fusion/scripts/controllers/role-controller.js
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers/rolepopupmodelController.js src/main/webapp/app/fusion/scripts/controllers/rolepopupmodelController.js
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/directives/header.js src/main/webapp/app/fusion/scripts/directives/header.js
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/directives/leftMenu.js src/main/webapp/app/fusion/scripts/directives/leftMenu.js
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/services/userInfoService.js src/main/webapp/app/fusion/scripts/services/userInfoService.js
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/admin-page/admin.html src/main/webapp/app/fusion/scripts/view-models/admin-page/admin.html
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/footer.html src/main/webapp/app/fusion/scripts/view-models/footer.html
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/header.html src/main/webapp/app/fusion/scripts/view-models/header.html
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/admin_closed_loop.html src/main/webapp/app/fusion/scripts/view-models/profile-page/admin_closed_loop.html
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/admin_menu_edit.html src/main/webapp/app/fusion/scripts/view-models/profile-page/admin_menu_edit.html
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/popup_modal_role.html src/main/webapp/app/fusion/scripts/view-models/profile-page/popup_modal_role.html
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/role.html src/main/webapp/app/fusion/scripts/view-models/profile-page/role.html
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/role_list.html src/main/webapp/app/fusion/scripts/view-models/profile-page/role_list.html
+ cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/self_profile.html src/main/webapp/app/fusion/scripts/view-models/profile-page/self_profile.html
diff --git a/docs/ecomp_dcae_logo_170x130.png b/docs/ecomp_dcae_logo_170x130.png
new file mode 100644
index 0000000..2b19553
--- /dev/null
+++ b/docs/ecomp_dcae_logo_170x130.png
Binary files differ
diff --git a/docs/ecomp_dcae_logo_360x218.png b/docs/ecomp_dcae_logo_360x218.png
new file mode 100644
index 0000000..cf3a677
--- /dev/null
+++ b/docs/ecomp_dcae_logo_360x218.png
Binary files differ
diff --git a/docs/ecomp_dcae_logo_680x520.png b/docs/ecomp_dcae_logo_680x520.png
new file mode 100644
index 0000000..2d3db21
--- /dev/null
+++ b/docs/ecomp_dcae_logo_680x520.png
Binary files differ
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644
index 0000000..051c177
--- /dev/null
+++ b/docs/index.rst
@@ -0,0 +1,18 @@
+.. DMaaP BC documentation master
+
+==========================================
+DMaaP Bus Controller Web App Documentation
+==========================================
+
+This is the Data Movement as a Platform (DMaaP) Bus Controller web application for ONAP.
+
+.. toctree::
+ :maxdepth: 2
+ :caption: Contents:
+
+ overview.rst
+ developer-guide.rst
+ deployment-guide.rst
+ release-notes.rst
+
+* :ref:`search`
diff --git a/docs/overview.rst b/docs/overview.rst
new file mode 100644
index 0000000..3bbcaf6
--- /dev/null
+++ b/docs/overview.rst
@@ -0,0 +1,20 @@
+========
+Overview
+========
+
+This is the Data Movement as a Platform (DMaaP) Bus Controller web application for ONAP.
+
+The DMaaP Bus Controller web application provides a front-end GUI to a subset of
+the OpenDCAE DMaaP Bus Controller API. The GUI offers a user-friendly way for DMaaP
+administrators to add, modify and remove Data Router feeds (transfers of large
+file-based data sets) and Message Router topics (low-latency transfers of small
+messages). Users can view all feeds and topics; add and remove feed publishers;
+add and remove feed subscribers; and add and remove topic clients.
+
+The Data Bus Controller web application is essentially a proxy that passes thru
+all requests to the DMaaP bus controller's REST API and displays the results.
+All data is stored in the DMaaP bus controller back-end; the application stores no
+data on feeds or topics. The application only stores user-entered access profiles.
+
+This application is based on the ONAP Portal SDK. Use Apache Maven to build and package
+this webapp for deployment. See the deployment guide for more details.
diff --git a/docs/release-notes.rst b/docs/release-notes.rst
new file mode 100644
index 0000000..42af994
--- /dev/null
+++ b/docs/release-notes.rst
@@ -0,0 +1,15 @@
+=============
+Release Notes
+=============
+
+This is the Data Movement as a Platform (DMaaP) Bus Controller web application for ONAP.
+
+Version 1.1.0, July 2017
+------------------------
+
+* Improvements added as part of the rebasing process
+
+Version 1.0.0, February 2017
+----------------------------
+
+* Initial release
diff --git a/docs/upgrade-sdk-notes.txt b/docs/upgrade-sdk-notes.txt
new file mode 100644
index 0000000..805719a
--- /dev/null
+++ b/docs/upgrade-sdk-notes.txt
@@ -0,0 +1,156 @@
+
+Notes on upgrading webapp to latest ECOMP SDK-App distribution.
+
+Generate a list of differences with this command:
+
+ diff -q -r ../quantum/sdk-app/src src
+
+Expected differences - verify but don't overwrite local changes:
+
+ dcae_dmaapbc_webapp/db-scripts/EcompSdkDDLMySql.sql
+ dcae_dmaapbc_webapp/db-scripts/EcompSdkDMLMySql.sql
+ dcae_dmaapbc_webapp/src/main/java/com/att/fusionapp/conf/ExternalAppConfig.java
+ dcae_dmaapbc_webapp/src/main/java/com/att/fusionapp/conf/HibernateMappingLocations.java
+ dcae_dmaapbc_webapp/src/main/java/com/att/fusionapp/controller/WelcomeController.java
+ dcae_dmaapbc_webapp/src/main/resources/logback.xml
+ dcae_dmaapbc_webapp/src/main/resources/portal.properties
+ dcae_dmaapbc_webapp/src/main/webapp/index.jsp
+ dcae_dmaapbc_webapp/src/main/webapp/WEB-INF/conf/system.properties
+ dcae_dmaapbc_webapp/src/main/webapp/WEB-INF/jsp/login.jsp
+ dcae_dmaapbc_webapp/src/main/webapp/WEB-INF/web.xml
+
+Directories in webapp only:
+
+ src/main/webapp/WEB-INF/dbcapp
+
+Directories in SDK, omitted from webapp:
+
+ ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/raptor
+ ../quantum/sdk-app/src/main/webapp/app/fusion/notebook-integration
+ ../quantum/sdk-app/src/main/webapp/static/fusion/raptor
+ ../quantum/sdk-app/src/test/java/com/att/workflow
+
+===========
+
+Details about the 1702 upgrade, which has DS2 styles
+
+** Ignore all Java changes - no relevant commits were made to sdk-app for this release.
+
+Only in ../quantum/sdk-app/src/main/java: com
+Only in src/main/java: org
+
+** Ignore all only-in-DBC-app
+
+Only in src/main/webapp/WEB-INF: dbcapp
+Only in src/main/webapp/app: dbcapp
+Only in src/test: resources
+
+** Ignore all only-in-SDK-app
+
+Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/conf: quartz.properties
+Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/conf: raptor.properties
+Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/conf: raptor_app_fusion.properties
+Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/conf: raptor_db_fusion.properties
+Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/conf: raptor_pdf.properties
+Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp: broadcast.jsp
+Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp: broadcast_list.jsp
+Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp: collaborateList.jsp
+Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp: data_out.jsp
+Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp: es_suggest_demo.jsp
+Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp: webrtc
+Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion: raptor
+Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/jsp: leafletMap.jsp
+Only in ../quantum/sdk-app/src/main/webapp/WEB-INF/jsp: net_map.jsp
+Only in ../quantum/sdk-app/src/main/webapp/app/fusion: notebook-integration
+Only in ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/angular_js: appDS2.js
+Only in ../quantum/sdk-app/src/main/webapp/app/fusion/external/samples/html: busy_hour_traffic.html
+Only in ../quantum/sdk-app/src/main/webapp/app/fusion/external/samples/html: traffic_distribution.html
+Only in ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers: admin-closed-cloop.js
+Only in ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers: admin-whitelist.js
+Only in ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models: reportdashboard-page
+Only in ../quantum/sdk-app/src/main/webapp/app/fusionapp/scripts: DS2-view-models
+Only in ../quantum/sdk-app/src/main/webapp/static/fusion: raptor
+Only in ../quantum/sdk-app/src/main/webapp/static/fusion: sample
+Only in ../quantum/sdk-app/src/main/webapp/static/fusion/images: ecomp-login.jpg
+Only in ../quantum/sdk-app/src/test/java/com/att: workflow
+
+** Ignored these at some risk of breakage
+
+Only in ../quantum/sdk-app/src/main/webapp/app/fusion/external: leaflet-0.7.3
+Only in ../quantum/sdk-app/src/main/webapp/app/fusion/external: lodash
+Only in ../quantum/sdk-app/src/main/webapp/app/fusion/external: showdown
+Only in ../quantum/sdk-app/src/main/webapp/app/fusion/external/angular-ui: ui-sortable
+Only in ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/angular_js: angular-cookies-1.4.js
+
+** Ignore these because I don't want DS2 yet
+
+Only in ../quantum/sdk-app/src/main/webapp/app/fusion/external: ds2
+Only in ../quantum/sdk-app/src/main/webapp/app/fusion/scripts: DS2-controllers
+Only in ../quantum/sdk-app/src/main/webapp/app/fusion/scripts: DS2-directives
+Only in ../quantum/sdk-app/src/main/webapp/app/fusion/scripts: DS2-services
+Only in ../quantum/sdk-app/src/main/webapp/app/fusion/scripts: DS2-view-models
+
+** Ignore these because I like my changes
+
+Files ../quantum/sdk-app/src/main/resources/logback.xml and src/main/resources/logback.xml differ
+Files ../quantum/sdk-app/src/main/resources/portal.properties and src/main/resources/portal.properties differ
+Files ../quantum/sdk-app/src/main/webapp/WEB-INF/conf/system.properties and src/main/webapp/WEB-INF/conf/system.properties differ
+Files ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/defs/definitions.xml and src/main/webapp/WEB-INF/fusion/defs/definitions.xml differ
+Files ../quantum/sdk-app/src/main/webapp/WEB-INF/jsp/login.jsp and src/main/webapp/WEB-INF/jsp/login.jsp differ
+Files ../quantum/sdk-app/src/main/webapp/WEB-INF/web.xml and src/main/webapp/WEB-INF/web.xml differ
+Files ../quantum/sdk-app/src/main/webapp/index.jsp and src/main/webapp/index.jsp differ
+
+** Copy these
+
+Only in ../quantum/sdk-app/src/main/webapp/app/fusion/styles: global.css
+Files ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp/ebz/ebz_footer.jsp and src/main/webapp/WEB-INF/fusion/jsp/ebz/ebz_footer.jsp differ
+Files ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp/ebz_template.jsp and src/main/webapp/WEB-INF/fusion/jsp/ebz_template.jsp differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/elementmap/scripts/element_map.js and src/main/webapp/app/fusion/elementmap/scripts/element_map.js differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/ebz_header/footer.css and src/main/webapp/app/fusion/external/ebz/ebz_header/footer.css differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/ebz_header/header.css and src/main/webapp/app/fusion/external/ebz/ebz_header/header.css differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/ebz_header/portal_ebz_header.css and src/main/webapp/app/fusion/external/ebz/ebz_header/portal_ebz_header.css differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/fn-ebz.css and src/main/webapp/app/fusion/external/ebz/fn-ebz.css differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers/adminController.js and src/main/webapp/app/fusion/scripts/controllers/adminController.js differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers/post-search-controller.js and src/main/webapp/app/fusion/scripts/controllers/post-search-controller.js differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers/role-controller.js and src/main/webapp/app/fusion/scripts/controllers/role-controller.js differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers/rolepopupmodelController.js and src/main/webapp/app/fusion/scripts/controllers/rolepopupmodelController.js differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/directives/header.js and src/main/webapp/app/fusion/scripts/directives/header.js differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/directives/leftMenu.js and src/main/webapp/app/fusion/scripts/directives/leftMenu.js differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/services/userInfoService.js and src/main/webapp/app/fusion/scripts/services/userInfoService.js differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/admin-page/admin.html and src/main/webapp/app/fusion/scripts/view-models/admin-page/admin.html differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/footer.html and src/main/webapp/app/fusion/scripts/view-models/footer.html differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/header.html and src/main/webapp/app/fusion/scripts/view-models/header.html differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/admin_closed_loop.html and src/main/webapp/app/fusion/scripts/view-models/profile-page/admin_closed_loop.html differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/admin_menu_edit.html and src/main/webapp/app/fusion/scripts/view-models/profile-page/admin_menu_edit.html differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/popup_modal_role.html and src/main/webapp/app/fusion/scripts/view-models/profile-page/popup_modal_role.html differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/role.html and src/main/webapp/app/fusion/scripts/view-models/profile-page/role.html differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/role_list.html and src/main/webapp/app/fusion/scripts/view-models/profile-page/role_list.html differ
+Files ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/self_profile.html and src/main/webapp/app/fusion/scripts/view-models/profile-page/self_profile.html differ
+
+with these commands:
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/styles/global.css src/main/webapp/app/fusion/styles
+cp ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp/ebz/ebz_footer.jsp src/main/webapp/WEB-INF/fusion/jsp/ebz/ebz_footer.jsp
+cp ../quantum/sdk-app/src/main/webapp/WEB-INF/fusion/jsp/ebz_template.jsp src/main/webapp/WEB-INF/fusion/jsp/ebz_template.jsp
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/elementmap/scripts/element_map.js src/main/webapp/app/fusion/elementmap/scripts/element_map.js
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/ebz_header/footer.css src/main/webapp/app/fusion/external/ebz/ebz_header/footer.css
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/ebz_header/header.css src/main/webapp/app/fusion/external/ebz/ebz_header/header.css
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/ebz_header/portal_ebz_header.css src/main/webapp/app/fusion/external/ebz/ebz_header/portal_ebz_header.css
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/external/ebz/fn-ebz.css src/main/webapp/app/fusion/external/ebz/fn-ebz.css
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers/adminController.js src/main/webapp/app/fusion/scripts/controllers/adminController.js
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers/post-search-controller.js src/main/webapp/app/fusion/scripts/controllers/post-search-controller.js
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers/role-controller.js src/main/webapp/app/fusion/scripts/controllers/role-controller.js
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/controllers/rolepopupmodelController.js src/main/webapp/app/fusion/scripts/controllers/rolepopupmodelController.js
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/directives/header.js src/main/webapp/app/fusion/scripts/directives/header.js
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/directives/leftMenu.js src/main/webapp/app/fusion/scripts/directives/leftMenu.js
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/services/userInfoService.js src/main/webapp/app/fusion/scripts/services/userInfoService.js
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/admin-page/admin.html src/main/webapp/app/fusion/scripts/view-models/admin-page/admin.html
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/footer.html src/main/webapp/app/fusion/scripts/view-models/footer.html
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/header.html src/main/webapp/app/fusion/scripts/view-models/header.html
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/admin_closed_loop.html src/main/webapp/app/fusion/scripts/view-models/profile-page/admin_closed_loop.html
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/admin_menu_edit.html src/main/webapp/app/fusion/scripts/view-models/profile-page/admin_menu_edit.html
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/popup_modal_role.html src/main/webapp/app/fusion/scripts/view-models/profile-page/popup_modal_role.html
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/role.html src/main/webapp/app/fusion/scripts/view-models/profile-page/role.html
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/role_list.html src/main/webapp/app/fusion/scripts/view-models/profile-page/role_list.html
+cp ../quantum/sdk-app/src/main/webapp/app/fusion/scripts/view-models/profile-page/self_profile.html src/main/webapp/app/fusion/scripts/view-models/profile-page/self_profile.html
+
+===========