From 773a7faa6f289f810682229b2329247da4ee7f34 Mon Sep 17 00:00:00 2001 From: Steve Nyemba Date: Thu, 7 Aug 2025 18:08:42 -0500 Subject: [PATCH] web site --- config.json | 55 - qcms-manifest.json | 95 + www/html/_assets/data/products.csv | 10 + ....$uml-plugins-components.drawio.bkp-mGR3TI | 62 + www/html/_assets/images/banner.jpg | Bin 0 -> 51716 bytes www/html/_assets/images/database.png | Bin 0 -> 10797 bytes www/html/_assets/images/logo.png | Bin 0 -> 31464 bytes .../_assets/images/plugins-components.png | Bin 0 -> 36245 bytes .../_assets/images/plugins-components.svg | 4 + www/html/_assets/images/transport-help.png | Bin 0 -> 39574 bytes www/html/_assets/images/uml-activity-2.png | Bin 0 -> 76744 bytes www/html/_assets/images/uml-activity.drawio | 73 + www/html/_assets/images/uml-activity.png | Bin 0 -> 39178 bytes .../images/uml-plugins-components.drawio | 62 + www/html/_assets/themes/default/borders.css | 38 + www/html/_assets/themes/default/footer.css | 19 + www/html/_assets/themes/default/header.css | 3 + www/html/_assets/themes/default/layout.css | 22 + www/html/_assets/themes/default/menu.css | 78 + www/html/_assets/themes/default/pane.css | 2 + www/html/_assets/themes/hiplab/borders.css | 38 + www/html/_assets/themes/hiplab/footer.css | 19 + www/html/_assets/themes/hiplab/header.css | 3 + www/html/_assets/themes/hiplab/layout.css | 37 + www/html/_assets/themes/hiplab/menu.css | 110 + www/html/_assets/themes/hiplab/pane.css | 0 www/html/_assets/themes/magazine/borders.css | 38 + www/html/_assets/themes/magazine/footer.css | 22 + www/html/_assets/themes/magazine/header.css | 13 + www/html/_assets/themes/magazine/layout.css | 55 + www/html/_assets/themes/magazine/menu.css | 110 + www/html/_assets/themes/magazine/pane.css | 14 + www/html/_assets/themes/oss/borders.css | 38 + www/html/_assets/themes/oss/footer.css | 21 + www/html/_assets/themes/oss/header.css | 7 + www/html/_assets/themes/oss/layout.css | 50 + www/html/_assets/themes/oss/menu.css | 82 + www/html/_assets/themes/oss/pane.css | 1 + www/html/_assets/themes/oss/responsive.css | 3 + www/html/_assets/themes/resume/borders.css | 38 + www/html/_assets/themes/resume/footer.css | 19 + www/html/_assets/themes/resume/header.css | 3 + www/html/_assets/themes/resume/layout.css | 22 + www/html/_assets/themes/resume/menu.css | 79 + www/html/_assets/themes/resume/pane.css | 0 .../.xdp-.$uml-activity.drawio.bkp-B1N2v3 | 67 + www/html/_images/banner.jpg | Bin 0 -> 51716 bytes www/html/_images/database.png | Bin 0 -> 10797 bytes www/html/_images/uml-activity.drawio | 73 + www/html/_images/uml-activity.png | Bin 0 -> 39178 bytes www/html/_index.html | 134 + www/html/_notes/documentation.html | 14 + www/html/_notes/features.html | 47 + www/html/_notes/install.html | 39 + www/html/_notes/intro.html | 53 + www/html/_notes/plugins-intro.html | 1 + www/html/_notes/product.html | 1 + www/html/_notes/registry.html | 76 + www/html/_notes/run-etl.html | 23 + www/html/_notes/source-code.html | 90 + www/html/_notes/supported.html | 49 + www/html/_plugins/info.py | 49 + www/html/about/design-and-credit.md | 13 + www/html/about/feedback.html | 1 + www/html/about/license.html | 37 + www/html/contact.html | 8 + www/html/docs/html/bigquery.html | 7672 ++++++++++++++++ www/html/docs/html/etl.html | 7679 ++++++++++++++++ www/html/docs/html/mongodb.html | 7651 ++++++++++++++++ www/html/docs/html/mssqlserver.html | 7668 ++++++++++++++++ www/html/docs/html/mysql.html | 7691 +++++++++++++++++ www/html/docs/html/postgresql.html | 7691 +++++++++++++++++ www/html/docs/html/s3.html | 7654 ++++++++++++++++ www/html/docs/html/sqlite.html | 7669 ++++++++++++++++ www/html/docs/notebooks.html | 199 + www/html/docs/plugins.html | 166 + www/html/docs/quick_start.html | 114 + www/html/docs/source-code.html | 0 www/html/docs/transport.html | 186 + www/html/index.html | 194 + www/html/setup/configurator.html | 83 + www/html/wizard/wizard.html | 199 + 82 files changed, 64581 insertions(+), 55 deletions(-) delete mode 100644 config.json create mode 100644 qcms-manifest.json create mode 100644 www/html/_assets/data/products.csv create mode 100644 www/html/_assets/images/.xdp-.$uml-plugins-components.drawio.bkp-mGR3TI create mode 100644 www/html/_assets/images/banner.jpg create mode 100644 www/html/_assets/images/database.png create mode 100644 www/html/_assets/images/logo.png create mode 100644 www/html/_assets/images/plugins-components.png create mode 100644 www/html/_assets/images/plugins-components.svg create mode 100644 www/html/_assets/images/transport-help.png create mode 100644 www/html/_assets/images/uml-activity-2.png create mode 100644 www/html/_assets/images/uml-activity.drawio create mode 100644 www/html/_assets/images/uml-activity.png create mode 100644 www/html/_assets/images/uml-plugins-components.drawio create mode 100644 www/html/_assets/themes/default/borders.css create mode 100644 www/html/_assets/themes/default/footer.css create mode 100644 www/html/_assets/themes/default/header.css create mode 100644 www/html/_assets/themes/default/layout.css create mode 100644 www/html/_assets/themes/default/menu.css create mode 100644 www/html/_assets/themes/default/pane.css create mode 100644 www/html/_assets/themes/hiplab/borders.css create mode 100644 www/html/_assets/themes/hiplab/footer.css create mode 100644 www/html/_assets/themes/hiplab/header.css create mode 100644 www/html/_assets/themes/hiplab/layout.css create mode 100644 www/html/_assets/themes/hiplab/menu.css create mode 100644 www/html/_assets/themes/hiplab/pane.css create mode 100644 www/html/_assets/themes/magazine/borders.css create mode 100644 www/html/_assets/themes/magazine/footer.css create mode 100644 www/html/_assets/themes/magazine/header.css create mode 100644 www/html/_assets/themes/magazine/layout.css create mode 100644 www/html/_assets/themes/magazine/menu.css create mode 100644 www/html/_assets/themes/magazine/pane.css create mode 100644 www/html/_assets/themes/oss/borders.css create mode 100644 www/html/_assets/themes/oss/footer.css create mode 100644 www/html/_assets/themes/oss/header.css create mode 100644 www/html/_assets/themes/oss/layout.css create mode 100644 www/html/_assets/themes/oss/menu.css create mode 100644 www/html/_assets/themes/oss/pane.css create mode 100644 www/html/_assets/themes/oss/responsive.css create mode 100644 www/html/_assets/themes/resume/borders.css create mode 100644 www/html/_assets/themes/resume/footer.css create mode 100644 www/html/_assets/themes/resume/header.css create mode 100644 www/html/_assets/themes/resume/layout.css create mode 100644 www/html/_assets/themes/resume/menu.css create mode 100644 www/html/_assets/themes/resume/pane.css create mode 100644 www/html/_images/.xdp-.$uml-activity.drawio.bkp-B1N2v3 create mode 100644 www/html/_images/banner.jpg create mode 100644 www/html/_images/database.png create mode 100644 www/html/_images/uml-activity.drawio create mode 100644 www/html/_images/uml-activity.png create mode 100644 www/html/_index.html create mode 100644 www/html/_notes/documentation.html create mode 100644 www/html/_notes/features.html create mode 100644 www/html/_notes/install.html create mode 100644 www/html/_notes/intro.html create mode 100644 www/html/_notes/plugins-intro.html create mode 100644 www/html/_notes/product.html create mode 100644 www/html/_notes/registry.html create mode 100644 www/html/_notes/run-etl.html create mode 100644 www/html/_notes/source-code.html create mode 100644 www/html/_notes/supported.html create mode 100644 www/html/_plugins/info.py create mode 100644 www/html/about/design-and-credit.md create mode 100644 www/html/about/feedback.html create mode 100644 www/html/about/license.html create mode 100644 www/html/contact.html create mode 100644 www/html/docs/html/bigquery.html create mode 100644 www/html/docs/html/etl.html create mode 100644 www/html/docs/html/mongodb.html create mode 100644 www/html/docs/html/mssqlserver.html create mode 100644 www/html/docs/html/mysql.html create mode 100644 www/html/docs/html/postgresql.html create mode 100644 www/html/docs/html/s3.html create mode 100644 www/html/docs/html/sqlite.html create mode 100644 www/html/docs/notebooks.html create mode 100644 www/html/docs/plugins.html create mode 100644 www/html/docs/quick_start.html create mode 100644 www/html/docs/source-code.html create mode 100644 www/html/docs/transport.html create mode 100644 www/html/index.html create mode 100644 www/html/setup/configurator.html create mode 100644 www/html/wizard/wizard.html diff --git a/config.json b/config.json deleted file mode 100644 index 8e8ffad..0000000 --- a/config.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "system":{ - "id":"data-transport", - "logo":"www/data-transport/_images/database.png","context":"", "theme":"oss.css", - "app":{ - - "debug":true,"port":8000}, - "version":0.6,"mode":"portal", - "source":{ - "id":"cloud", - "auth":"nextcloud-auth.json" - } - - - }, - - "layout":{ - - "header":{"title":"data-transport","logo":true,"subtitle":"Simple Data Access Layer - Pandas Support"}, - "icons":[], - "root":"www/data-transport", - "index":"index.html", - "on":{ - "load":{ - "left-pane":["www/data-transport/more.md"] - } - }, - "order":{ - "menu":["resources","about"] - }, - "overwrite":{ - "license":{ - "title":"MIT License", - "text":"license", - "type":"dialog", - "uri":"www/data-transport/resources/license.md" - }, - "source-code":{ - "text":"Source Code", - "type":"redirect", - "url":"https://hiplab.mc.vanderbilt.edu/git/hiplab/data-transport" - }, - "the-story":{ - "title":"History", - "text":"History","type":"dialog","uri":"www/data-transport/about/the-story.md" - }, - "about-etl":{ - "title":"data-transport - ETL", - "text":"Run ETL", "type":"dialog", - "uri":"www/data-transport/tutorials/about-etl.md" - } - }, - "footer":[{"text":"Health Information Privacy Laboratory"},{"text":"Powered By - QCMS"}] - } -} diff --git a/qcms-manifest.json b/qcms-manifest.json new file mode 100644 index 0000000..805ba45 --- /dev/null +++ b/qcms-manifest.json @@ -0,0 +1,95 @@ +{ + "system": { + "logo": "www/html/_assets/images/logo.png", + "context": "", + "theme": "oss", + "app": { + "debug": true, + "port": 8000 + }, + "version": 0.1, + "source": { + "id": "_cloud", + "auth": "nextcloud-auth.json", + "key": "/home/steve/dev/data/qcms/dev-qcms.key" + }, + "data": { + "logger": { + "provider": "console" + } + } + }, + "plugins": { + "info": [ + "_data", + "about", + "product","registry" + ] + }, + "layout": { + "header": { + "title": "data-transport", + "logo": true, + "subtitle": "Simple/Seamless Read, Write & Streaming - Powered by Pandas" + }, + "icons": [], + "root": "www/html", + "index": "index.html", + "on": { + "load": { + + } + }, + "order": { + "menu": [ + "docs", + "wizard", + "setup", + "about" + ] + }, + "overwrite": { + "design and credit": { + "title": "Design & Credit", + "text": "Design/Credit", + "type": "dialog", + "uri": "www/html/about/design-and-credit.md" + }, + "tutorials": { + "text": "notebooks", + "type": "redirect", + "url": "https://github.com/lnyemba/data-transport/src/branch/v2.0/notebooks" + }, + "wizard": { + "title": "auth-file Generator", + "text": "auth-file Generator", + "type": "dialog", + "uri": "www/html/wizard/wizard.html" + }, + "transport": { + "text": "ETL - CLI", + "type": "redirect" + }, + "source code": { + "title": "Source Code", + "text": "Source Code", + "type": "redirect", + "url": "https://hiplab.mc.vanderbilt.edu/git/hiplab/data-transport" + }, + "feedback": { + "title": "Feedback", + "text": "Feedback", + "type": "redirect", + "url": "https://dev.the-phi.com/cloud/apps/forms/s/CXqXgBaSk7qkgammbqALWfPM" + } + }, + "footer": [ + { + "text": "Health Information Privacy Laboratory" + }, + { + "text": "Powered By - QCMS" + } + ] + } +} diff --git a/www/html/_assets/data/products.csv b/www/html/_assets/data/products.csv new file mode 100644 index 0000000..a2b6b58 --- /dev/null +++ b/www/html/_assets/data/products.csv @@ -0,0 +1,10 @@ + ,community edition,enterprise edition +NoSQL
mongodb; couchdb ...
,yes,yes +RDBMS/SQL
PostgreSQL; SQL Server; MySQL ...
,yes,yes +Cloud
s3; redshift; bigquery; databricks ...
,yes,yes +Warehouse
Iceberg; Drill ...
,yes,yes +Other
http; MQTT; Files ...
,yes,yes +Plugins
native python
,yes,yes +Command Line (CLI)
ETL & setting up registry
,yes,yes +Logging/Monitoring,no,yes +Streaming,no,yes diff --git a/www/html/_assets/images/.xdp-.$uml-plugins-components.drawio.bkp-mGR3TI b/www/html/_assets/images/.xdp-.$uml-plugins-components.drawio.bkp-mGR3TI new file mode 100644 index 0000000..5abe817 --- /dev/null +++ b/www/html/_assets/images/.xdp-.$uml-plugins-components.drawio.bkp-mGR3TI @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/www/html/_assets/images/banner.jpg b/www/html/_assets/images/banner.jpg new file mode 100644 index 0000000000000000000000000000000000000000..47cffbb3885d0a26efca5325f7223d04f2601efc GIT binary patch literal 51716 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 C;h^dO literal 0 HcmV?d00001 diff --git a/www/html/_assets/images/database.png b/www/html/_assets/images/database.png new file mode 100644 index 0000000000000000000000000000000000000000..e42b8e966895b387995bd3f8e92052c458429c33 GIT binary patch literal 10797 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 literal 0 HcmV?d00001 diff --git a/www/html/_assets/images/logo.png b/www/html/_assets/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1b49e787ca25abcb59535e44e43f5eaf0c263744 GIT binary patch literal 31464 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 I);Q#U0fhM0od5s; literal 0 HcmV?d00001 diff --git a/www/html/_assets/images/plugins-components.png b/www/html/_assets/images/plugins-components.png new file mode 100644 index 0000000000000000000000000000000000000000..f11dc79fba83ff151c5a6216bbe2e322166d72ba GIT binary patch literal 36245 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 H8xQ{n@HGsR literal 0 HcmV?d00001 diff --git a/www/html/_assets/images/plugins-components.svg b/www/html/_assets/images/plugins-components.svg new file mode 100644 index 0000000..b4c43eb --- /dev/null +++ b/www/html/_assets/images/plugins-components.svg @@ -0,0 +1,4 @@ + + + +
«plugin»
Plug02
«plugin»...
«plugin»
Plug01
«plugin»...

Data-Transport


+ read: pandas.DataFrame
+ write: pandas.DataFrame

+ stream: pandas.DataFrame

Data-Transport...
functions registered and setup in a pipeline
functions registered and setup in a p...
Data Transport component pass data to other components
Data Transport component pass data to ot...
\ No newline at end of file diff --git a/www/html/_assets/images/transport-help.png b/www/html/_assets/images/transport-help.png new file mode 100644 index 0000000000000000000000000000000000000000..9ec6992b7da6b20b375a48976d33df5b4b581b3d GIT binary patch literal 39574 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 b(F44{6c3JM3j!`2@FOd!BvB;x-sgV+dvr1Y literal 0 HcmV?d00001 diff --git a/www/html/_assets/images/uml-activity.drawio b/www/html/_assets/images/uml-activity.drawio new file mode 100644 index 0000000..4b2e382 --- /dev/null +++ b/www/html/_assets/images/uml-activity.drawio @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/www/html/_assets/images/uml-activity.png b/www/html/_assets/images/uml-activity.png new file mode 100644 index 0000000000000000000000000000000000000000..45fec09d7e29b8b427807cc1610a3475167c7a9c GIT binary patch literal 39178 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 YDkkg-az>tl5b&q0pmD22-u&7B0ii7z-T(jq literal 0 HcmV?d00001 diff --git a/www/html/_assets/images/uml-plugins-components.drawio b/www/html/_assets/images/uml-plugins-components.drawio new file mode 100644 index 0000000..5abe817 --- /dev/null +++ b/www/html/_assets/images/uml-plugins-components.drawio @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/www/html/_assets/themes/default/borders.css b/www/html/_assets/themes/default/borders.css new file mode 100644 index 0000000..6f9a192 --- /dev/null +++ b/www/html/_assets/themes/default/borders.css @@ -0,0 +1,38 @@ +.border { + border:1px solid #CAD5E0 ; +} +.border-round { + padding:6px; + border-radius:8px; +} +.border-round-top-left{ + border-top-left-radius: 8px; + padding:6px; +} +.border-round-top-right{ + border-top-right-radius: 8px; + padding:6px; +} +.border-round-bottom-right{ + border-bottom-right-radius: 8px; + padding:6px; +} +.border-round-bottom-left{ + border-bottom-left-radius: 8px; + padding:6px; +} + + +.border-right{ + border-right:1px solid #CAD5E0; + +} + +.border-left{ + border-left:1px solid #CAD5E0; +} + + +.border-bottom { border-bottom:1px solid #CAD5E0} +.border-top { border-top:1px solid #CAD5E0} + diff --git a/www/html/_assets/themes/default/footer.css b/www/html/_assets/themes/default/footer.css new file mode 100644 index 0000000..8086c04 --- /dev/null +++ b/www/html/_assets/themes/default/footer.css @@ -0,0 +1,19 @@ +/** +* This file styles the footer of the page +*/ + +.footer { + text-align:center; + display:grid; + grid-template-columns: repeat(3,1fr); + gap:4px; + padding:8px; + font-size:12px; + color:black; + align-items: center; + align-content: center; + text-transform: capitalize; + /* background-color: rgba(255,255,255,0.8); */ + + grid-column: 1 /span 2; +} diff --git a/www/html/_assets/themes/default/header.css b/www/html/_assets/themes/default/header.css new file mode 100644 index 0000000..a64ce8b --- /dev/null +++ b/www/html/_assets/themes/default/header.css @@ -0,0 +1,3 @@ +.main .header { display:grid; grid-template-columns:64px auto; gap:4px} +.main .header .title {font-size:28px; font-weight:bold} +.main .header img {width:55px; height:55px;} diff --git a/www/html/_assets/themes/default/layout.css b/www/html/_assets/themes/default/layout.css new file mode 100644 index 0000000..0e48ca3 --- /dev/null +++ b/www/html/_assets/themes/default/layout.css @@ -0,0 +1,22 @@ + + +.main { + height:98vh; display:grid; grid-template-columns:70% auto; gap:4px; + grid-template-rows:70px 40px auto 32px; + padding-left:2%; padding-right:2%; + line-height: 1.5; font-size:16px; font-family: sans-serif; font-weight:lighter; +} +.main .content{ + align-self:center; +} +.main .pane {border-left:1px solid #CAD5E0; height:100%; padding:8px;} +.bold {font-weight:bold} +.small-text {font-size:12px; font-weight:lighter; color :#000000;} +.active {cursor:pointer; padding:2px; margin:2px; border-bottom:2px solid transparent} +.active:hover {border-bottom-color: #4682b4;} + +/** +* +*/ +.large-text {font-weight:bold; font-size:28px;} + \ No newline at end of file diff --git a/www/html/_assets/themes/default/menu.css b/www/html/_assets/themes/default/menu.css new file mode 100644 index 0000000..7a14d15 --- /dev/null +++ b/www/html/_assets/themes/default/menu.css @@ -0,0 +1,78 @@ +.menu { + padding:8px; + border:1px solid #CAD5E0 ; + + display:grid; + grid-column: 1 / span 2; + grid-template-columns: 92px repeat(7,auto); + gap:4px; + text-transform: capitalize; + align-items: center; + +} +.menu .icon {padding:4px;} +.menu .icon img {width:30px; height:30px;} +.menu .item { + font-weight:bold; + cursor:pointer; + padding:4px; + text-align: left; + + + + + +} + +.menu .sub-menu { + + display:none; + position:absolute; + + margin-top:2px; + min-width:10%; + z-index:90; + padding:8px; + font-weight:lighter; + text-align:left; + align-items:left; + background-color: rgba(255,255,255,0.8); + +} + +.menu .item:hover .sub-menu{ + + display:block; + height:auto; +} +/** +* TAB SPECIFICATIONS WITH RADIO BUTTONS AND LABELS +*/ +.tab-content table { width:99%; border-radius: 8px; padding:8px; border:1px solid #d3d3d3;} +.tab-content table tr:nth-child(even) {background-color: #f3f3f3;} +/* .tab-content {width:80%;} */ + +.tabs {display:grid; grid-template-columns: repeat(auto-fit,209px); gap:0px; align-content:center; + /* background-color: #f3f3f3; */ + padding-top:4px; + padding-left:4px; + padding-right:4px; +} +.tabs input[type=radio] {display:none; } +.tabs input[type=radio] + label { font-weight:lighter; + border:1px solid transparent; + border-bottom-color: #CAD5E0; + background-color: #f3f3f3; + padding:8px; + padding-right:10px; padding-left:10px; + + cursor:pointer +} +.tabs input[type=radio]:checked +label { + background-color: #ffffff; + border-top-right-radius: 8px; + border-top-left-radius: 8px; + font-weight:bold; + border-color: #CAD5E0; + border-bottom-color: #FFFFFF; +} diff --git a/www/html/_assets/themes/default/pane.css b/www/html/_assets/themes/default/pane.css new file mode 100644 index 0000000..e321d4a --- /dev/null +++ b/www/html/_assets/themes/default/pane.css @@ -0,0 +1,2 @@ +.main .pane { height:auto;} +.main .pane iframe{ width:100%; border:0px; height:80%;} diff --git a/www/html/_assets/themes/hiplab/borders.css b/www/html/_assets/themes/hiplab/borders.css new file mode 100644 index 0000000..6f9a192 --- /dev/null +++ b/www/html/_assets/themes/hiplab/borders.css @@ -0,0 +1,38 @@ +.border { + border:1px solid #CAD5E0 ; +} +.border-round { + padding:6px; + border-radius:8px; +} +.border-round-top-left{ + border-top-left-radius: 8px; + padding:6px; +} +.border-round-top-right{ + border-top-right-radius: 8px; + padding:6px; +} +.border-round-bottom-right{ + border-bottom-right-radius: 8px; + padding:6px; +} +.border-round-bottom-left{ + border-bottom-left-radius: 8px; + padding:6px; +} + + +.border-right{ + border-right:1px solid #CAD5E0; + +} + +.border-left{ + border-left:1px solid #CAD5E0; +} + + +.border-bottom { border-bottom:1px solid #CAD5E0} +.border-top { border-top:1px solid #CAD5E0} + diff --git a/www/html/_assets/themes/hiplab/footer.css b/www/html/_assets/themes/hiplab/footer.css new file mode 100644 index 0000000..8086c04 --- /dev/null +++ b/www/html/_assets/themes/hiplab/footer.css @@ -0,0 +1,19 @@ +/** +* This file styles the footer of the page +*/ + +.footer { + text-align:center; + display:grid; + grid-template-columns: repeat(3,1fr); + gap:4px; + padding:8px; + font-size:12px; + color:black; + align-items: center; + align-content: center; + text-transform: capitalize; + /* background-color: rgba(255,255,255,0.8); */ + + grid-column: 1 /span 2; +} diff --git a/www/html/_assets/themes/hiplab/header.css b/www/html/_assets/themes/hiplab/header.css new file mode 100644 index 0000000..a64ce8b --- /dev/null +++ b/www/html/_assets/themes/hiplab/header.css @@ -0,0 +1,3 @@ +.main .header { display:grid; grid-template-columns:64px auto; gap:4px} +.main .header .title {font-size:28px; font-weight:bold} +.main .header img {width:55px; height:55px;} diff --git a/www/html/_assets/themes/hiplab/layout.css b/www/html/_assets/themes/hiplab/layout.css new file mode 100644 index 0000000..4c0bf03 --- /dev/null +++ b/www/html/_assets/themes/hiplab/layout.css @@ -0,0 +1,37 @@ +/** +* This is the default window and we will have to hide the pane (side) +*/ + +.main {height:98vh; display:grid; grid-template-columns:75% auto; gap:4px; + grid-template-rows:70px 40px auto 32px; + padding-left:2%; padding-right:2%; + } + .main .header { display:grid; grid-template-columns:64px auto; gap:4px; align-items: center;} + .main .header .title {font-size:28px; font-weight:bold} + .main .header img {width:80px; height:80px;} + .main .index{ + align-self:center; + padding:8px; + } + .main .menu {border:1px solid transparent; background-color:#f3f3f3;} + .main .pane {border-left:1px solid #CAD5E0; height:100%; padding:8px; line-height:1.5; font-size: 14px;} + .main .pane div:first-child {margin-top:4px; background-color:#f3f3f3; border-radius: 8px; padding:8px; min-height:150px} + + .search-box {display:block; grid-template-columns: none;} + + + + +.main .content{ + align-self:center; +} +.bold {font-weight:bold} +.small-text {font-size:12px; font-weight:lighter; color :#000000;} +.active {cursor:pointer; padding:2px; margin:2px; border-bottom:2px solid transparent} +.active:hover {border-bottom-color: #4682b4;} + +/** +* +*/ +.large-text {font-weight:bold; font-size:28px;} + \ No newline at end of file diff --git a/www/html/_assets/themes/hiplab/menu.css b/www/html/_assets/themes/hiplab/menu.css new file mode 100644 index 0000000..bb368d0 --- /dev/null +++ b/www/html/_assets/themes/hiplab/menu.css @@ -0,0 +1,110 @@ +.menu { + padding:8px; + border:1px solid #CAD5E0 ; + + display:grid; + grid-column: 1 / span 2; + grid-template-columns: 92px repeat(7,auto); + gap:4px; + text-transform: capitalize; + align-items: center; + +} +.menu .icon {padding:4px;} +.menu .icon img {width:30px; height:30px;} +.menu .item { + font-weight:bold; + cursor:pointer; + padding:4px; + text-align: left; + + + + + +} + +.menu .sub-menu { + + display:none; + position:absolute; + + margin-top:2px; + min-width:10%; + z-index:90; + padding:8px; + font-weight:lighter; + text-align:left; + align-items:left; + background-color: rgba(255,255,255,0.8); + +} + +.menu .item:hover .sub-menu{ + + display:block; + height:auto; +} + +/** +* TAB SPECIFICATIONS WITH RADIO BUTTONS AND LABELS +*/ +.tab-content table { width:99%; border-radius: 8px; padding:8px; border:1px solid #d3d3d3;} +.tab-content table tr:nth-child(even) {background-color: #f3f3f3;} +/* .tab-content {width:80%;} */ + +.tabs {display:grid; grid-template-columns: repeat(auto-fit,209px); gap:0px; align-content:center; + /* background-color: #f3f3f3; */ + padding-top:4px; + padding-left:4px; + padding-right:4px; +} +.tabs input[type=radio] {display:none; } +.tabs input[type=radio] + label { font-weight:lighter; + border:1px solid transparent; + border-bottom-color: #CAD5E0; + background-color: #f3f3f3; + padding:8px; + padding-right:10px; padding-left:10px; + + cursor:pointer +} +.tabs input[type=radio]:checked +label { + background-color: #ffffff; + border-top-right-radius: 8px; + border-top-left-radius: 8px; + font-weight:bold; + border-color: #CAD5E0; + border-bottom-color: #FFFFFF; +} +/** +* TAB SPECIFICATIONS WITH RADIO BUTTONS AND LABELS +*/ +.tab-content table { width:99%; border-radius: 8px; padding:8px; border:1px solid #d3d3d3;} +.tab-content table tr:nth-child(even) {background-color: #f3f3f3;} +/* .tab-content {width:80%;} */ + +.tabs {display:grid; grid-template-columns: repeat(auto-fit,209px); gap:0px; align-content:center; + /* background-color: #f3f3f3; */ + padding-top:4px; + padding-left:4px; + padding-right:4px; +} +.tabs input[type=radio] {display:none; } +.tabs input[type=radio] + label { font-weight:lighter; + border:1px solid transparent; + border-bottom-color: #CAD5E0; + background-color: #f3f3f3; + padding:8px; + padding-right:10px; padding-left:10px; + + cursor:pointer +} +.tabs input[type=radio]:checked +label { + background-color: #ffffff; + border-top-right-radius: 8px; + border-top-left-radius: 8px; + font-weight:bold; + border-color: #CAD5E0; + border-bottom-color: #FFFFFF; +} diff --git a/www/html/_assets/themes/hiplab/pane.css b/www/html/_assets/themes/hiplab/pane.css new file mode 100644 index 0000000..e69de29 diff --git a/www/html/_assets/themes/magazine/borders.css b/www/html/_assets/themes/magazine/borders.css new file mode 100644 index 0000000..e6c7e66 --- /dev/null +++ b/www/html/_assets/themes/magazine/borders.css @@ -0,0 +1,38 @@ +.border { + border:1px solid #CAD5E0 ; +} +.border-round { + padding:6px; + border-radius:8px; +} +.border-round-top-left{ + border-top-left-radius: 8px; + padding:6px; +} +.border-round-top-right{ + border-top-right-radius: 8px; + padding:6px; +} +.border-round-bottom-right{ + border-bottom-right-radius: 8px; + padding:6px; +} +.border-round-bottom-left{ + border-bottom-left-radius: 8px; + padding:6px; +} + + +.border-right{ + border-right:3px dotted #CAD5E0; + +} + +.border-left{ + border-left:3px dotted gray; +} + + +.border-bottom { border-bottom:1px dotted gray;} +.border-top { border-top:3px dotted gray;} + diff --git a/www/html/_assets/themes/magazine/footer.css b/www/html/_assets/themes/magazine/footer.css new file mode 100644 index 0000000..84ce356 --- /dev/null +++ b/www/html/_assets/themes/magazine/footer.css @@ -0,0 +1,22 @@ +/** +* This file styles the footer of the page +*/ + + + +/* .main .footer { grid-column: 1 / span 2; font-size:13px; font-weight: lighter; padding:8px;} */ +.footer { + text-align:center; + display:grid; + grid-template-columns: repeat(3,1fr); + gap:4px; + padding:8px; + font-size:12px; + color:black; + align-items: center; + align-content: center; + text-transform: capitalize; + /* background-color: rgba(255,255,255,0.8); */ + + grid-column: 1 /span 2; +} diff --git a/www/html/_assets/themes/magazine/header.css b/www/html/_assets/themes/magazine/header.css new file mode 100644 index 0000000..991b9af --- /dev/null +++ b/www/html/_assets/themes/magazine/header.css @@ -0,0 +1,13 @@ +.main .header { + + grid-row:1; + grid-column: 1 / span 2; + display:grid; + grid-template-columns: 50px auto; gap:4px; + line-height: 1; + + +} +.main .header .title {font-size:28px; text-transform: capitalize; font-weight:bold} +.main .header .subtitle {font-size:14px} +.main .header img { width:44px; height:44px;} diff --git a/www/html/_assets/themes/magazine/layout.css b/www/html/_assets/themes/magazine/layout.css new file mode 100644 index 0000000..ad5c277 --- /dev/null +++ b/www/html/_assets/themes/magazine/layout.css @@ -0,0 +1,55 @@ +.main { + margin:10px; + padding:4px; + display:grid; + grid-template-columns: 50% 50% ; gap:4px; + grid-template-rows: 48px 64px auto 32px; + font-family: sans-serif; + font-weight: lighter; + font-size:18px; + line-height: 1.5; + justify-items: normal; + ; + height:96vh; +} +.main .content { + grid-row:3; + grid-column: 1 ; + text-wrap: wrap; + height:100%; + display:grid; + align-content: start; + + + +} + +.main .content #index { + text-align: left; + text-wrap: wrap; +} + +p { + margin-top:22px; +} +table { + width:99%; + border: 1px solid #CAD5E0; +} +table td {padding:4px; margin:4px;} +table thead { + + font-weight:bold; + background-color:#f3f3f3; +} + +.bold {font-weight:bold} +.small-text {font-size:12px; font-weight:lighter; color :#000000;} +.active {cursor:pointer; padding:2px; margin:2px; border-bottom:2px solid transparent} +.active:hover {border-bottom-color: #4682b4;} + +/** +* +*/ +.large-text {font-weight:bold; font-size:28px;} + \ No newline at end of file diff --git a/www/html/_assets/themes/magazine/menu.css b/www/html/_assets/themes/magazine/menu.css new file mode 100644 index 0000000..21cfd84 --- /dev/null +++ b/www/html/_assets/themes/magazine/menu.css @@ -0,0 +1,110 @@ +.menu { + padding:8px; + border-bottom:3px dotted gray ; + + display:grid; + grid-column: 1 / span 2; + grid-template-columns: 92px repeat(7,auto); + gap:4px; + text-transform: capitalize; + align-items: center; + +} +.menu .icon {padding:4px;} +.menu .icon img {width:30px; height:30px;} +.menu .item { + font-weight:bold; + cursor:pointer; + padding:4px; + text-align: left; + + + + + +} + +.menu .sub-menu { + + display:none; + position:absolute; + + margin-top:2px; + min-width:10%; + z-index:90; + padding:8px; + font-weight:lighter; + text-align:left; + align-items:left; + background-color: rgba(255,255,255,0.8); + +} + +.menu .item:hover .sub-menu{ + + display:block; + height:auto; +} + +/** +* TAB SPECIFICATIONS WITH RADIO BUTTONS AND LABELS +*/ +.tab-content table { width:99%; border-radius: 8px; padding:8px; border:1px solid #d3d3d3;} +.tab-content table tr:nth-child(even) {background-color: #f3f3f3;} +/* .tab-content {width:80%;} */ + +.tabs {display:grid; grid-template-columns: repeat(auto-fit,209px); gap:0px; align-content:center; + /* background-color: #f3f3f3; */ + padding-top:4px; + padding-left:4px; + padding-right:4px; +} +.tabs input[type=radio] {display:none; } +.tabs input[type=radio] + label { font-weight:lighter; + border:1px solid transparent; + border-bottom-color: #CAD5E0; + background-color: #f3f3f3; + padding:8px; + padding-right:10px; padding-left:10px; + + cursor:pointer +} +.tabs input[type=radio]:checked +label { + background-color: #ffffff; + border-top-right-radius: 8px; + border-top-left-radius: 8px; + font-weight:bold; + border-color: #CAD5E0; + border-bottom-color: #FFFFFF; +} +/** +* TAB SPECIFICATIONS WITH RADIO BUTTONS AND LABELS +*/ +.tab-content table { width:99%; border-radius: 8px; padding:8px; border:1px solid #d3d3d3;} +.tab-content table tr:nth-child(even) {background-color: #f3f3f3;} +/* .tab-content {width:80%;} */ + +.tabs {display:grid; grid-template-columns: repeat(auto-fit,209px); gap:0px; align-content:center; + /* background-color: #f3f3f3; */ + padding-top:4px; + padding-left:4px; + padding-right:4px; +} +.tabs input[type=radio] {display:none; } +.tabs input[type=radio] + label { font-weight:lighter; + border:1px solid transparent; + border-bottom-color: #CAD5E0; + background-color: #f3f3f3; + padding:8px; + padding-right:10px; padding-left:10px; + + cursor:pointer +} +.tabs input[type=radio]:checked +label { + background-color: #ffffff; + border-top-right-radius: 8px; + border-top-left-radius: 8px; + font-weight:bold; + border-color: #CAD5E0; + border-bottom-color: #FFFFFF; +} diff --git a/www/html/_assets/themes/magazine/pane.css b/www/html/_assets/themes/magazine/pane.css new file mode 100644 index 0000000..4fb956f --- /dev/null +++ b/www/html/_assets/themes/magazine/pane.css @@ -0,0 +1,14 @@ +.main .pane { + border-left:3px dotted gray; + grid-column: 2; + font-family: sans-serif; + padding-left: 10px; + + +} +.pane iframe { + border:1px solid transparent; + width:99%; + height:100%; + +} \ No newline at end of file diff --git a/www/html/_assets/themes/oss/borders.css b/www/html/_assets/themes/oss/borders.css new file mode 100644 index 0000000..6f9a192 --- /dev/null +++ b/www/html/_assets/themes/oss/borders.css @@ -0,0 +1,38 @@ +.border { + border:1px solid #CAD5E0 ; +} +.border-round { + padding:6px; + border-radius:8px; +} +.border-round-top-left{ + border-top-left-radius: 8px; + padding:6px; +} +.border-round-top-right{ + border-top-right-radius: 8px; + padding:6px; +} +.border-round-bottom-right{ + border-bottom-right-radius: 8px; + padding:6px; +} +.border-round-bottom-left{ + border-bottom-left-radius: 8px; + padding:6px; +} + + +.border-right{ + border-right:1px solid #CAD5E0; + +} + +.border-left{ + border-left:1px solid #CAD5E0; +} + + +.border-bottom { border-bottom:1px solid #CAD5E0} +.border-top { border-top:1px solid #CAD5E0} + diff --git a/www/html/_assets/themes/oss/footer.css b/www/html/_assets/themes/oss/footer.css new file mode 100644 index 0000000..e1acfb5 --- /dev/null +++ b/www/html/_assets/themes/oss/footer.css @@ -0,0 +1,21 @@ +/** +* This file styles the footer of the page +*/ + +.footer { + grid-row:5; + margin-top:10px; + text-align:center; + display:grid; + grid-template-columns: repeat(3,1fr); + gap:4px; + padding:8px; + font-size:12px; + color:black; + align-items: center; + align-content: center; + text-transform: capitalize; + /* background-color: rgba(255,255,255,0.8); + + +} diff --git a/www/html/_assets/themes/oss/header.css b/www/html/_assets/themes/oss/header.css new file mode 100644 index 0000000..c7ee323 --- /dev/null +++ b/www/html/_assets/themes/oss/header.css @@ -0,0 +1,7 @@ +.main .header {display:grid; grid-template-columns:64px auto; gap:4px; width:100%; align-items:center;} +.main .header .icon {width:64px; height:64px;} +.main .header .icon img {width:64px; height:64px;} + +.main .header .title { font-size:32px; text-transform: uppercase; font-weight:bold} +.main .header .subtitle {font-style:italic;font-size:14px; color:gray; text-transform: capitalize;} + diff --git a/www/html/_assets/themes/oss/layout.css b/www/html/_assets/themes/oss/layout.css new file mode 100644 index 0000000..08c816e --- /dev/null +++ b/www/html/_assets/themes/oss/layout.css @@ -0,0 +1,50 @@ +/** +* This file implements theme Open Source Software, the expectation is just a pager that presents a tool/software +*/ +body, ul, p, select { + font-size: 16px; + font-weight:lighter; + font-family:sans-serif; + line-height:1.5; + +} +.main { + display:grid; + grid-template-columns: 100%;; + margin:1%; + margin-left:10%; + margin-right:10%; + gap:4px; + + width:80%; +} +.main .content{ + + grid-row:4; + align-self:center; + height:100%; + width:100%; +} + +.main .content .banner { + background-repeat: no-repeat; + background-size: cover; + background-position: center; + height:200px; + align-items: center; + align-content: center; + display: grid; + +} + +/* .main .pane {border-left:1px solid #CAD5E0; height:100%; padding:8px;} */ +.bold {font-weight:bold} +.small-text {font-size:12px; font-weight:lighter; color :#000000;} +.active {cursor:pointer; padding:2px; margin:2px; border-bottom:2px solid transparent} +.active:hover {border-bottom-color: #4682b4;} + +/** +* +*/ +.large-text {font-weight:bold; font-size:28px;} + \ No newline at end of file diff --git a/www/html/_assets/themes/oss/menu.css b/www/html/_assets/themes/oss/menu.css new file mode 100644 index 0000000..a34f727 --- /dev/null +++ b/www/html/_assets/themes/oss/menu.css @@ -0,0 +1,82 @@ + +.menu .icon {padding:4px; align-items:center; display:grid;} +.menu .icon img {width:30px; height:30px;} + +.main .menu .sub-menu { + + display:none; + position:absolute; + + margin-top:2px; + min-width:10%; + z-index:90; + padding:8px; + font-weight:lighter; + text-align:left; + align-items:left; + background-color: rgba(255,255,255,0.8); + +} +.main .menu .item { + font-weight:bold; + cursor:pointer; + padding:4px; + text-align: left; +} + +.main .menu .item:hover .sub-menu{ + + display:block; + height:auto; +} + +.main .menu { + padding:8px; + grid-row:2; + width:100%; + display:none; + + /* grid-row:2; grid-column:1 ; */ + grid-template-columns: 92px repeat(7,auto); + gap:4px; + text-transform: capitalize; + border:0; height:48px; padding:0px; + display:grid; grid-template:64px repeat(6,1fr); gap:4px; + /* background-color: #f3f3f3; */ + align-items: center; +} +.main .menu .icon .button { + border:1px solid #CAD5E0; border-radius:8px; padding:2px; + ; +} +/** +* TAB SPECIFICATIONS WITH RADIO BUTTONS AND LABELS +*/ +.tab-content table { width:99%; border-radius: 8px; padding:8px; border:1px solid #d3d3d3;} +.tab-content table tr:nth-child(even) {background-color: #f3f3f3;} +/* .tab-content {width:80%;} */ + +.tabs {display:grid; grid-template-columns: repeat(auto-fit,209px); gap:0px; align-content:center; + /* background-color: #f3f3f3; */ + padding-top:4px; + padding-left:4px; + padding-right:4px; +} +.tabs input[type=radio] {display:none; } +.tabs input[type=radio] + label { font-weight:lighter; + border:1px solid transparent; + border-bottom-color: #CAD5E0; + background-color: #f3f3f3; + padding:8px; + padding-right:10px; padding-left:10px; + + cursor:pointer +} +.tabs input[type=radio]:checked +label { + background-color: #ffffff; + border-top-right-radius: 8px; + border-top-left-radius: 8px; + font-weight:bold; + border-color: #CAD5E0; + border-bottom-color: #FFFFFF; +} diff --git a/www/html/_assets/themes/oss/pane.css b/www/html/_assets/themes/oss/pane.css new file mode 100644 index 0000000..3be2b06 --- /dev/null +++ b/www/html/_assets/themes/oss/pane.css @@ -0,0 +1 @@ +.main .pane {display:block} \ No newline at end of file diff --git a/www/html/_assets/themes/oss/responsive.css b/www/html/_assets/themes/oss/responsive.css new file mode 100644 index 0000000..cc43868 --- /dev/null +++ b/www/html/_assets/themes/oss/responsive.css @@ -0,0 +1,3 @@ +@media (max-width: 480px) { + +} \ No newline at end of file diff --git a/www/html/_assets/themes/resume/borders.css b/www/html/_assets/themes/resume/borders.css new file mode 100644 index 0000000..6f9a192 --- /dev/null +++ b/www/html/_assets/themes/resume/borders.css @@ -0,0 +1,38 @@ +.border { + border:1px solid #CAD5E0 ; +} +.border-round { + padding:6px; + border-radius:8px; +} +.border-round-top-left{ + border-top-left-radius: 8px; + padding:6px; +} +.border-round-top-right{ + border-top-right-radius: 8px; + padding:6px; +} +.border-round-bottom-right{ + border-bottom-right-radius: 8px; + padding:6px; +} +.border-round-bottom-left{ + border-bottom-left-radius: 8px; + padding:6px; +} + + +.border-right{ + border-right:1px solid #CAD5E0; + +} + +.border-left{ + border-left:1px solid #CAD5E0; +} + + +.border-bottom { border-bottom:1px solid #CAD5E0} +.border-top { border-top:1px solid #CAD5E0} + diff --git a/www/html/_assets/themes/resume/footer.css b/www/html/_assets/themes/resume/footer.css new file mode 100644 index 0000000..8086c04 --- /dev/null +++ b/www/html/_assets/themes/resume/footer.css @@ -0,0 +1,19 @@ +/** +* This file styles the footer of the page +*/ + +.footer { + text-align:center; + display:grid; + grid-template-columns: repeat(3,1fr); + gap:4px; + padding:8px; + font-size:12px; + color:black; + align-items: center; + align-content: center; + text-transform: capitalize; + /* background-color: rgba(255,255,255,0.8); */ + + grid-column: 1 /span 2; +} diff --git a/www/html/_assets/themes/resume/header.css b/www/html/_assets/themes/resume/header.css new file mode 100644 index 0000000..a64ce8b --- /dev/null +++ b/www/html/_assets/themes/resume/header.css @@ -0,0 +1,3 @@ +.main .header { display:grid; grid-template-columns:64px auto; gap:4px} +.main .header .title {font-size:28px; font-weight:bold} +.main .header img {width:55px; height:55px;} diff --git a/www/html/_assets/themes/resume/layout.css b/www/html/_assets/themes/resume/layout.css new file mode 100644 index 0000000..0e48ca3 --- /dev/null +++ b/www/html/_assets/themes/resume/layout.css @@ -0,0 +1,22 @@ + + +.main { + height:98vh; display:grid; grid-template-columns:70% auto; gap:4px; + grid-template-rows:70px 40px auto 32px; + padding-left:2%; padding-right:2%; + line-height: 1.5; font-size:16px; font-family: sans-serif; font-weight:lighter; +} +.main .content{ + align-self:center; +} +.main .pane {border-left:1px solid #CAD5E0; height:100%; padding:8px;} +.bold {font-weight:bold} +.small-text {font-size:12px; font-weight:lighter; color :#000000;} +.active {cursor:pointer; padding:2px; margin:2px; border-bottom:2px solid transparent} +.active:hover {border-bottom-color: #4682b4;} + +/** +* +*/ +.large-text {font-weight:bold; font-size:28px;} + \ No newline at end of file diff --git a/www/html/_assets/themes/resume/menu.css b/www/html/_assets/themes/resume/menu.css new file mode 100644 index 0000000..3080a4e --- /dev/null +++ b/www/html/_assets/themes/resume/menu.css @@ -0,0 +1,79 @@ +.menu { + padding:8px; + border:1px solid #CAD5E0 ; + + display:grid; + grid-column: 1 / span 2; + grid-template-columns: 92px repeat(7,auto); + gap:4px; + text-transform: capitalize; + align-items: center; + +} +.menu .icon {padding:4px;} +.menu .icon img {width:30px; height:30px;} +.menu .item { + font-weight:bold; + cursor:pointer; + padding:4px; + text-align: left; + + + + + +} + +.menu .sub-menu { + + display:none; + position:absolute; + + margin-top:2px; + min-width:10%; + z-index:90; + padding:8px; + font-weight:lighter; + text-align:left; + align-items:left; + background-color: rgba(255,255,255,0.8); + +} + +.menu .item:hover .sub-menu{ + + display:block; + height:auto; +} + +/** +* TAB SPECIFICATIONS WITH RADIO BUTTONS AND LABELS +*/ +.tab-content table { width:99%; border-radius: 8px; padding:8px; border:1px solid #d3d3d3;} +.tab-content table tr:nth-child(even) {background-color: #f3f3f3;} +/* .tab-content {width:80%;} */ + +.tabs {display:grid; grid-template-columns: repeat(auto-fit,209px); gap:0px; align-content:center; + /* background-color: #f3f3f3; */ + padding-top:4px; + padding-left:4px; + padding-right:4px; +} +.tabs input[type=radio] {display:none; } +.tabs input[type=radio] + label { font-weight:lighter; + border:1px solid transparent; + border-bottom-color: #CAD5E0; + background-color: #f3f3f3; + padding:8px; + padding-right:10px; padding-left:10px; + + cursor:pointer +} +.tabs input[type=radio]:checked +label { + background-color: #ffffff; + border-top-right-radius: 8px; + border-top-left-radius: 8px; + font-weight:bold; + border-color: #CAD5E0; + border-bottom-color: #FFFFFF; +} diff --git a/www/html/_assets/themes/resume/pane.css b/www/html/_assets/themes/resume/pane.css new file mode 100644 index 0000000..e69de29 diff --git a/www/html/_images/.xdp-.$uml-activity.drawio.bkp-B1N2v3 b/www/html/_images/.xdp-.$uml-activity.drawio.bkp-B1N2v3 new file mode 100644 index 0000000..5b00ef4 --- /dev/null +++ b/www/html/_images/.xdp-.$uml-activity.drawio.bkp-B1N2v3 @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/www/html/_images/banner.jpg b/www/html/_images/banner.jpg new file mode 100644 index 0000000000000000000000000000000000000000..47cffbb3885d0a26efca5325f7223d04f2601efc GIT binary patch literal 51716 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 C;h^dO literal 0 HcmV?d00001 diff --git a/www/html/_images/database.png b/www/html/_images/database.png new file mode 100644 index 0000000000000000000000000000000000000000..e42b8e966895b387995bd3f8e92052c458429c33 GIT binary patch literal 10797 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 literal 0 HcmV?d00001 diff --git a/www/html/_images/uml-activity.drawio b/www/html/_images/uml-activity.drawio new file mode 100644 index 0000000..4b2e382 --- /dev/null +++ b/www/html/_images/uml-activity.drawio @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/www/html/_images/uml-activity.png b/www/html/_images/uml-activity.png new file mode 100644 index 0000000000000000000000000000000000000000..45fec09d7e29b8b427807cc1610a3475167c7a9c GIT binary patch literal 39178 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 YDkkg-az>tl5b&q0pmD22-u&7B0ii7z-T(jq literal 0 HcmV?d00001 diff --git a/www/html/_index.html b/www/html/_index.html new file mode 100644 index 0000000..39f3426 --- /dev/null +++ b/www/html/_index.html @@ -0,0 +1,134 @@ + + +
+ +
+
+
+
+

+

+
Thank you,
+
+

+
\ No newline at end of file diff --git a/www/html/_notes/documentation.html b/www/html/_notes/documentation.html new file mode 100644 index 0000000..ca30a3f --- /dev/null +++ b/www/html/_notes/documentation.html @@ -0,0 +1,14 @@ +
+ +

Documentation

+

+

The documentation is available within the codebase in a folder called notebooks. You will learn to
+
    + Read/write to supported databases +
    Develop plugins for pre/post processing +
    Use the command line interface (CLI) +
+ Feel free to reachout to for questions, feature requests +
steve.l.nyemba@vumc.org or steve@the-phi.com +

+
\ No newline at end of file diff --git a/www/html/_notes/features.html b/www/html/_notes/features.html new file mode 100644 index 0000000..09bedfe --- /dev/null +++ b/www/html/_notes/features.html @@ -0,0 +1,47 @@ + +
+

Features

+

+

    + Built with pandas & designed for & by AI/ML engineers +
    Support for plugins used in pre/post processing +
    Read from one source & write to many (different databases) +
    Includes lightweight ETL command line interface (CLI) + +
+

+

Supported Technologies

+
+
\ No newline at end of file diff --git a/www/html/_notes/install.html b/www/html/_notes/install.html new file mode 100644 index 0000000..3b68f48 --- /dev/null +++ b/www/html/_notes/install.html @@ -0,0 +1,39 @@ + +
+
Installation
+

+ The assumption here is the you are using virtual environment virtualenv along with pip. + There are various components that can be installed with data-transport. By default SQL support is always available +

    + by default sql libraries handle Sqlite3+, Microsoft SQLServer, MySQL, Mariadb, PostgreSQL, duckdb +
    nosql : installs libraries to handle mongodb, cloudant & couchdb +
    cloud : libraries to handle bigquery, databricks, S3, nextcloud +
    warehouse : installs libraries to handle apache iceberg, spark, apache drill +
    other : installs libraries to handle http/https, RabbitMQ, Files +
+

+ You can specify any combination of nosql, cloud, warehouse, other or all, by default sql support is provided. +

+

+ pip install data-transport[nosql,cloud,warehouse,other]@git+https://dev.the-phi.com/git/data-transport/ce +
+

+ A command line interface (CLI) is installed and can be tested by running the following to see what +

+

+ $ transport --help
+
+
+ + +
+

+ + +
+ +
\ No newline at end of file diff --git a/www/html/_notes/intro.html b/www/html/_notes/intro.html new file mode 100644 index 0000000..462af66 --- /dev/null +++ b/www/html/_notes/intro.html @@ -0,0 +1,53 @@ + + + +
+
Quick Start
+ By default basic installation has +
    +
  • Add a label entry to registry :
  • +
  • • CLI, learn how
  • +
  • • Graphical User Interface, learn how
  • +
  • Import in python code
  • +
+ + +
+ + diff --git a/www/html/_notes/plugins-intro.html b/www/html/_notes/plugins-intro.html new file mode 100644 index 0000000..90ff0ae --- /dev/null +++ b/www/html/_notes/plugins-intro.html @@ -0,0 +1 @@ + These are basic python functions with a single argument (data:pd.DataFrame). The functions can be used as a pipeline to be called in the context of pre/post processing. \ No newline at end of file diff --git a/www/html/_notes/product.html b/www/html/_notes/product.html new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/www/html/_notes/product.html @@ -0,0 +1 @@ + diff --git a/www/html/_notes/registry.html b/www/html/_notes/registry.html new file mode 100644 index 0000000..16b7cce --- /dev/null +++ b/www/html/_notes/registry.html @@ -0,0 +1,76 @@ + +
+
What is the registry
+

data-transport uses a registry to store database authentication information and referenced by a human readable label. +

    +
  • The code uses the labels instead of username,passwords ...
  • +
  • This makes sharing notebooks (Jupyter, Zeppelin, ...) without dissipating sensitive information
  • +
+

+
Initialize Registry
+

+ The registry can be initialized through the command line (CLI) or in code. +
A folder will be created in your home folder $HOME/.data-transport/transport-registry.json +

+

+

+
+ Command line (CLI) +

+ +

+ # creates folders and files needed +
$ transport registry reset < your email > +
+ +

+ Create a file http-auth.json and it should contain the following +

+ {
"provider":"http", + + "url":"https://raw.githubusercontent.com/codeforamerica/ohana-api/master/data/sample-csv/addresses.csv" + +
} +
+

+ + Add the created file http-auth.json to the registry under the label address-db +
+ $ transport registry --add address-db http-auth.json +
+ +

+

+
+ +
+ In code +

+

+import transport +import io +import json +# +# transport.registry.exists() +_email = 'steve@the-phi.com' +transport.registry.init(_email) + +# +# Adding the entry to the registry now that is initialized +_authStr = {"provider":"http", +"url":"https://raw.githubusercontent.com/codeforamerica/ohana-api/master/data/sample-csv/addresses.csv" +} +file = io.StringIO(json.dumps(_authStr)) +transport.registry.set('address-db',file) +
+

+
+ + +
+

+
\ No newline at end of file diff --git a/www/html/_notes/run-etl.html b/www/html/_notes/run-etl.html new file mode 100644 index 0000000..2de09c3 --- /dev/null +++ b/www/html/_notes/run-etl.html @@ -0,0 +1,23 @@ + +
+

Run ETL (transport)

+

+ Simple ETL from the commandline (CLI), you can generate a sample ETL configuration, +

+ $ transport generate ./my-etl-config.json +
+
    + The configuration file will specify source and targets for the data. +
    source, https and targets are both CSV file and SQLite 3+ database +
+ + Perform the ETL Job given the configuration specifications +
+ $ transport apply ./my-etl-config.json +
+ +

+ +
+ + \ No newline at end of file diff --git a/www/html/_notes/source-code.html b/www/html/_notes/source-code.html new file mode 100644 index 0000000..ea95299 --- /dev/null +++ b/www/html/_notes/source-code.html @@ -0,0 +1,90 @@ + + + +
+ +
+
Collaborative development
+

+ 0. In this scenario we assume the registry has been initialized and that an entry has been added (CLI). +

+ # transport registry add --help +
$ transport registry add address-db http-auth.json +
+ + +

+The python code would look like the following : +
+import transport +
+#
+#   We are assuming here that the label books-db is an entry in the registry
+
+dbreader    = transport.get.reader(label='address-db')    # No database credentials
+_df         = dbreader.read(sql="SELECT * FROM books where postal_code like '946%' ")
+print (_df.head())
+
+ +
+

+1. Alternatively it is possible to directly use the authentication file dubbed "auth-file". + +

+ import transport +
+        #
+        #   We are assuming here that the label books-db is an entry in the registry
+
+        dbreader    = transport.get.reader(auth_file='/home/me/http-auth.json')    # No database credentials
+        _df         = dbreader.read(sql="SELECT * FROM books where postal_code like '946%' ")
+        print (_df.head())
+        
+ +
+

+
+
+
+
Non-collaborative development
+

+ In this scenario, we are using connectivity parameters in the code. We do NOT recommend this if the code will be used/shared. + +

+
+ import transport +
+    #
+    #   In this scenario we are loading an SQLite3+ database
+    url= "https://raw.githubusercontent.com/codeforamerica/ohana-api/master/data/sample-csv/addresses.csv"
+    _args = {"provider":"http","database"}
+    dbreader    = transport.get.reader(**_args)    # No database credentials
+    _df         = dbreader.read(sql="SELECT * FROM books where postal_code like '946%' ")
+    print (_df.head())
+    
+ +
+ +

+

Learn more
+ It is possible to initialize the registry; run ETL from your code as well as from the command line (CLI). We compiled this in notebooks available in our code repository +

+
+ +
\ No newline at end of file diff --git a/www/html/_notes/supported.html b/www/html/_notes/supported.html new file mode 100644 index 0000000..450ad57 --- /dev/null +++ b/www/html/_notes/supported.html @@ -0,0 +1,49 @@ + + +
+

+

+

Supported Databases

+
+
+
+
+
+ +
+

+
+ + diff --git a/www/html/_plugins/info.py b/www/html/_plugins/info.py new file mode 100644 index 0000000..dfa52e7 --- /dev/null +++ b/www/html/_plugins/info.py @@ -0,0 +1,49 @@ +import transport +import info +from multiprocessing import Process +import pandas as pd +from io import StringIO +import requests +import cms +import os + +@cms.Plugin(mimetype='application/json') +def about (**_args): + return {'license':info.__license__,'author':transport.__app_name__, 'version':transport.__version__, 'supported':transport.supported().to_html(index=False,col_space=0,justify='left').replace("\n","").replace('border="1"','')} +# +# loading notebooks from github +@cms.Plugin(mimetype='application/json') +def _data (**_args) : + _csv = f"""provider,label,doc,url,notebook +etl,ETL,"Built-in ETL CLI program",https://healthcareio.the-phi.com/data-transport,etl.ipynb +mongodb,MongoDB,"mongodb is a NoSQL database developed by mongodb",https://mongodb.com,mongodb.ipynb +mysql,MySQL,"mysql is a relational database developed and maintained by Oracle",https://www.mysql.com,mysql.ipynb +postgresql,PostgreSQL,"postgresql is an object - relational database developed and maintained by PostgreSQL Global Development Group",https://www.postgresql.com,postgresql.ipynb +mssqlserver,MS SQL Server,"SQL Server a relational database server developed by Microsoft",https://www.microsoft.com,mssqlserver.ipynb +sqlite,sqlite,"sqlite is portable relational database",https://www.sqlite.com,sqlite.ipynb +s3,AWS S3,"AWS Simple Storage Service",https://www.aws.amazon.com/s3,s3.ipynb +""" + _df = pd.read_csv(StringIO(_csv)) + return _df.drop_duplicates().to_dict(orient='records') +# MEM_PRODUCT_FILE = StringIO(f"""_,community,enterprise +# NoSQL,1,1 +# RDBMS/SQL,1,1 +# Cloud databases,1,1 +# Other (MQTT; Files; https),1,1 +# Warehouse,1,1 +# """) +@cms.Plugin(mimetype="text/html") +def product(**_args): + _config = _args['config'] + path = os.sep.join([_config['layout']['location'],_config['layout']['root'],'_assets','data','products.csv']) + _df = pd.read_csv(path) + + return _df.to_html(index=0).replace(">",">").replace("<","<").replace("no",'').replace("yes",'') + +@cms.Plugin(mimetype="application/json") +def registry (**_args): + if not transport.registry.isloaded() : + transport.registry.load() + _repo = transport.registry.DATA + _data = [{'label':key,'provider':_repo[key]['provider'],'plugins':([] if 'plugins' not in _repo[key] else _repo[key]['plugins'])} for key in _repo if 'provider' in _repo[key]] + return _data \ No newline at end of file diff --git a/www/html/about/design-and-credit.md b/www/html/about/design-and-credit.md new file mode 100644 index 0000000..ee58d49 --- /dev/null +++ b/www/html/about/design-and-credit.md @@ -0,0 +1,13 @@ +### What is data-transport + +The **data-transport** and is intended to read, write to any supported databases transparently. The framework lowers the barrier to adoption by using **Python Pandas**, **SQLAlchemy** as foundational components to its architecture. The architecture allows + +1. seamless reads and writes regardless of the database vendor (SQL, NoSQL, Cloud ...) +2. separates reads from writes to avoid accidental tampering with data +3. works with pandas for reads and writes +4. support for plugin (functions) to apply against the data as pre/post processing +5. supports a lightweight Extract Transform tool (ETL) as a command line interface (CLI) + +### Credits + +**Data-transport** was designed and developed at the [Health Information Privacy Laboratory](https://hiplab.mc.vanderbilt.edu) at Vanderbilt University Medical Center with the input of all co-workers, interns post-doctoral fellows diff --git a/www/html/about/feedback.html b/www/html/about/feedback.html new file mode 100644 index 0000000..e3c2d28 --- /dev/null +++ b/www/html/about/feedback.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/www/html/about/license.html b/www/html/about/license.html new file mode 100644 index 0000000..5bf2030 --- /dev/null +++ b/www/html/about/license.html @@ -0,0 +1,37 @@ + + + + \ No newline at end of file diff --git a/www/html/contact.html b/www/html/contact.html new file mode 100644 index 0000000..bd0fb2e --- /dev/null +++ b/www/html/contact.html @@ -0,0 +1,8 @@ +
Thank you,
+
For considering {{layout.header.title}}, +Please feel free to direct bugs/inquiries to :
+
    +
  • steve.l.nyemba@vumc.org
  • +
  • or info@the-phi.com
  • +
  • clone the source code here
  • +
\ No newline at end of file diff --git a/www/html/docs/html/bigquery.html b/www/html/docs/html/bigquery.html new file mode 100644 index 0000000..96eaeb0 --- /dev/null +++ b/www/html/docs/html/bigquery.html @@ -0,0 +1,7672 @@ + + + + + +bigquery + + + + + + + + + + + + +
+ + diff --git a/www/html/docs/html/etl.html b/www/html/docs/html/etl.html new file mode 100644 index 0000000..3b810ec --- /dev/null +++ b/www/html/docs/html/etl.html @@ -0,0 +1,7679 @@ + + + + + +etl + + + + + + + + + + + + +
+ + +
+ + diff --git a/www/html/docs/html/mongodb.html b/www/html/docs/html/mongodb.html new file mode 100644 index 0000000..89ac6c2 --- /dev/null +++ b/www/html/docs/html/mongodb.html @@ -0,0 +1,7651 @@ + + + + + +mongodb + + + + + + + + + + + + +
+ + + +
+ + diff --git a/www/html/docs/html/mssqlserver.html b/www/html/docs/html/mssqlserver.html new file mode 100644 index 0000000..bfcea1f --- /dev/null +++ b/www/html/docs/html/mssqlserver.html @@ -0,0 +1,7668 @@ + + + + + +mssqlserver + + + + + + + + + + + + +
+ + + +
+ + diff --git a/www/html/docs/html/mysql.html b/www/html/docs/html/mysql.html new file mode 100644 index 0000000..f4394e5 --- /dev/null +++ b/www/html/docs/html/mysql.html @@ -0,0 +1,7691 @@ + + + + + +mysql + + + + + + + + + + + + +
+ + + +
+ + diff --git a/www/html/docs/html/postgresql.html b/www/html/docs/html/postgresql.html new file mode 100644 index 0000000..654d733 --- /dev/null +++ b/www/html/docs/html/postgresql.html @@ -0,0 +1,7691 @@ + + + + + +postgresql + + + + + + + + + + + + +
+ + + +
+ + diff --git a/www/html/docs/html/s3.html b/www/html/docs/html/s3.html new file mode 100644 index 0000000..dd57795 --- /dev/null +++ b/www/html/docs/html/s3.html @@ -0,0 +1,7654 @@ + + + + + +s3 + + + + + + + + + + + + +
+ + + +
+ + diff --git a/www/html/docs/html/sqlite.html b/www/html/docs/html/sqlite.html new file mode 100644 index 0000000..89dfac9 --- /dev/null +++ b/www/html/docs/html/sqlite.html @@ -0,0 +1,7669 @@ + + + + + +sqlite + + + + + + + + + + + + +
+ + + +
+ + diff --git a/www/html/docs/notebooks.html b/www/html/docs/notebooks.html new file mode 100644 index 0000000..49f869b --- /dev/null +++ b/www/html/docs/notebooks.html @@ -0,0 +1,199 @@ + + +
+ +
+ + +

+
+ Found +
+
+ + +
+
+
    + Preview notebooks with database providers/vendors +
    The notebooks show how to use data-transport as a library +
    +
    +
+
+
 
+

+

Generated: auth-file

+
    + An auth-file is a file used to store database parameters. +
    Copy the code above to the auth-file and fill with appropriate values +
    Attributes with zero i.e 0 are optional +
+
+ +
    + Note: +
    The database providers/vendors above is exhaustive +
    Generate files for database provider/vendors click here +
+

+

+
+
+
+
+
+
Jupyter Notebook preview
+ +
+ + +
+

+
+
\ No newline at end of file diff --git a/www/html/docs/plugins.html b/www/html/docs/plugins.html new file mode 100644 index 0000000..f239221 --- /dev/null +++ b/www/html/docs/plugins.html @@ -0,0 +1,166 @@ + + +
+
+
+

Plugins: Usage & Development

+

+

+
+

+

+

Plugins: Registry

+ + The plugins registry is a registry of plugins intended to be used in pre/post processing. This feature comes in handy : +
    +
    During ETL: Cleanup data, adding columns enforcing data-typing, removing/encrypting PHI ...
    +
    In a collaborative environment (Jupyter-x; Zeppelin; AWS Service Workbench)
    +
+ + +

+

+

Plugins: Architecture & Design

+ Plugins are designed around plugin architecture using Iterator design-pattern. In that respect and function as a pipeline i.e executed sequentially in the order in which they are expressed in the parameter. Effectively the output of one function will be the input to the next. +

+

+ +
Data Transport UML Plugin Component View
+
+ +

+

+
+
+

Quick Start

+
+ + + + + + + + + +
+ +
+

+ +

+ + +
+
    +
    The code here shows a function that will be registered as "autoincrement".
    +
    The data, will always be a pandas.DataFrame
    +
    For the sake of this example the file will be my-plugin.py
    +
+ +
+
+ import transport +
import numpy as np
+
+
_index = 0 +
@transport.Plugin(name='autoincrement')
+
def _incr (_data):
+
    +
    global _index
    +
    _data['_id'] = _index + np.arange(_data.shape[0])
    +
    _index = _data.shape[0]
    +
    return _data
    +
+
+
+

+
+ +
+

+

+ +
+ data-transport comes with a built-in command line interface (CLI). It allows plugins to be registered and reused. +
    +
    Registered functions are stored in $HOME/.data-transport/plugins/code
    +
    Any updates to my-plugin.py will require re-registering the file
    +
    Additional plugin registry functions (list, test) are available
    + +
+
+
+
+ $ transport plugin-add demo ./my-plugin.py +
+

+ The following command allows data-transport to determine what is knows about the function i.e real name and name to be used in code. +

+ $ transport plugin-test demo.autoincrement +
+

+
+
+

+
+ +
+

+ Once registered, the plugins are ready for use within code or configuration file (auth-file). +

import transport +
from transport import providers
+ + _args = { +
"provider":providers.HTTP,
+
"url":"https://raw.githubusercontent.com/codeforamerica/ohana-api/master/data/sample-csv/addresses.csv",
+
"plugins":["demo@autoincrement"]
+ } + +
reader = transport.get.reader(**_args)
+
_data = reader.read()
+
print (_data.head())
+ +
+

+
+
+
+
\ No newline at end of file diff --git a/www/html/docs/quick_start.html b/www/html/docs/quick_start.html new file mode 100644 index 0000000..75e29f7 --- /dev/null +++ b/www/html/docs/quick_start.html @@ -0,0 +1,114 @@ + + +
+
+ +
+ +
+
0. Installation
+
    + Install using pip or from code and test installation from https://dev.the-phi.com/git/qcms/cms +
+
+
+
1. Initialize registry
+
    + Keep database authentication parameters out of sight, in a collaborative environment +
+
+ +
+
2. Import into Code
+
    + How to use {{layout.header.title}} in python source code (notebooks, or files) +
+
+ +
+
3. Source code
+
    + {{layout.header.title}} is available uner MIT license and available on github. Contribute, share at will ;-) +
+
+
+ +
+
+ +
+
\ No newline at end of file diff --git a/www/html/docs/source-code.html b/www/html/docs/source-code.html new file mode 100644 index 0000000..e69de29 diff --git a/www/html/docs/transport.html b/www/html/docs/transport.html new file mode 100644 index 0000000..a205659 --- /dev/null +++ b/www/html/docs/transport.html @@ -0,0 +1,186 @@ + + +
+
+

+

ETL: Introduction

+ Extract Load & Transform (ETL) consists in copying data from one database to one or many others. This can be done in two different ways: +
    +
    Command Line Interface (CLI), driven by JSON configuration
    +
    Or within custom python code
    +
+ The ETL process will take advantage of registries for plugins and labeled database connectivity to perform pre/post processing tasks. + +

+
+

+

ETL: Command Line Interface

+

+ The configuration file needed to run the ETL is a JSON formatted file where each entry contains: +

    +
    source with the content of an auth-file
    +
    target with list of elements of an auth-file
    +
+ +
+ The CLI (transport), is capable of generating a demo ETL : +
    +
    with source: reads CSV data from github
    +
    and target: writes the data to CSV & SQLite3 database
    +
+
+ $ transport generate ./demo-etl.json +
+
+

+

+
+
+
+
+ Data-transport UML Extract-Load-Transform (ETL) Workflow +
+
+
+ +
+
+
+ + + + + + + + + + +
+
+

+ +

+
+

+ The command-line interface should be instructed to run the ETL by calling the apply function. +

+

+

+ $ transport apply ./demo-etl.json +
+

+

+ Additional parameters can be invoked by providing the --help switch +

+ +

+

+ $ transport apply --help +
+

+ +
+
+
+ The following examples shows simple configuration files that do NOT require any database to be installed. Feel free to change and edit at your own discression. +
+

+

Example # 1: Basic ETL

+
+ + + + +
+ +
+
+
+

+ data-transport comes with a CLI integrated that will +

    +
    generate an EL configuration file
    +
    + $ transport generate ./demo-etl.json +
    + +
+
NOTE:The configuration file supports labels and/or plugins, these would have to be done manually
+

+
+
+

Copy the content and save it to a file "demo-etl.json"

+
+ +
[{
+"source": {
+    "provider": "http", 
+    "url": "https://github.com/codeforamerica/ohana-api/blob/master/data/sample-csv/addresses.csv"
+}, 
+"target": [
+    {"provider": "files", "path": "addresses.csv", "delimiter": ","}, 
+    {"provider": "sqlite3", "database": "sample.db3", "table": "addresses"}
+]}]
+ +
+
+ +
+
+ +

+
+ +

+

Example # 2: ETL With Plugins

+

Copy the content and save it to a file "demo-etl.json"

+
+ +
[{
+              "source": {
+                  "provider": "http", 
+                  "plugins":["demo@autoincrement"],
+                  "url": "https://github.com/codeforamerica/ohana-api/blob/master/data/sample-csv/addresses.csv"
+              }, 
+              "target": [
+                  {"provider": "files", "path": "addresses.csv", "delimiter": ","}, 
+                  {"provider": "sqlite3", "database": "sample.db3", "table": "addresses"}
+              ]}]
+ +
+ +

+ +
+
+

+ +
+
\ No newline at end of file diff --git a/www/html/index.html b/www/html/index.html new file mode 100644 index 0000000..d2acc3e --- /dev/null +++ b/www/html/index.html @@ -0,0 +1,194 @@ + + +
+

+ +

+
+
+
+
Read, Write & Stream Data
+
Anywhere
+
+ version + +
+
+ + +
+
+
+
Open-Source
+

+

Built with python, easy install and available under MIT license on github
+

+
+
+
Multiple Databases
+

+

Seamless & consistent access to SQL, NoSQL, Cloud & Warehouse databases
+

+
+
+
Secure Collaboration
+

+

+ Uses a registry to prevent sensitive data connectivity to be in a notebook (Zeppelin, Jypterlab ...) +
+

+
+
+
Pipelines
+

+

+ Apply user-defined functions across database technologies for consistent results +
+

+
+
+
+
+
+
+
+
+
+
+
+
+ info@the-phi.com
+
Contact US
+
+
+
+
+ +
+
+ + + + +

+ + +
\ No newline at end of file diff --git a/www/html/setup/configurator.html b/www/html/setup/configurator.html new file mode 100644 index 0000000..d6ddca5 --- /dev/null +++ b/www/html/setup/configurator.html @@ -0,0 +1,83 @@ + + +
+
+ + + + + +
+ +
+
+
+

Source: Database Technology

+
Select a database technology as a source
+ +
+
+
+
+
\ No newline at end of file diff --git a/www/html/wizard/wizard.html b/www/html/wizard/wizard.html new file mode 100644 index 0000000..c30e39d --- /dev/null +++ b/www/html/wizard/wizard.html @@ -0,0 +1,199 @@ + + + +
+
+
Wizard: auth file generator
+

+

This wizard generates an auth-file. It is a template file to be used to setup a data-transport database connectivity to help with best practice when it comes to sensitive information in code. +
    + search for the database provider / vendors +
    click on the vendor and copy the generated code to a file + +
+
+

+

+

+
+ +
+
+ +
+
+
+
+ 0 found +
+
+ + +
+

+

+

+ +
+
+
 
+
Note : +
Copy the code above to the auth-file and fill with appropriate values +
Attributes with zero i.e 0 are optional +
+
+

+

+

+

+ +
+
+
Prerequisites
+
    +
  • Familiarity with JSON format
  • +
  • Understand your current database security access policy +
    Insure your policy (permissions) match your use case +
    +
  • +
+
Thing to know
+
    +
  • Values assigned to attributes +
    value of one i.e 1 suggests a value must be provided +
    value of zero i.e 0 suggests the attribute is optional and can be removed +
  • +
  • + Supported databases (or database providers) to use in search +
    +
  • +
+
+
+ + + +