-
-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #79 from joewiz/prepare-v2
Prepare v2.0.0
- Loading branch information
Showing
3,033 changed files
with
523,580 additions
and
11,174 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,3 @@ | ||
# .gitignore | ||
*.xar | ||
target/ | ||
dashboard.iml | ||
expath-pkg.xml | ||
node_modules | ||
build | ||
.idea |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
# eXist-db Admin Dashboard | ||
|
||
Admin Dashboard is a replacement of the older [Dashboard](https://github.com/eXist-db/dashboard) and will replace it from eXist-db 5.0.0 onwards. | ||
|
||
## Building for development | ||
|
||
|
||
The application is build with Apache Ant by executing | ||
|
||
```ant xar``` | ||
|
||
This creates an unoptimized package for development purposes. | ||
|
||
## Building for production | ||
|
||
To create a minified package execute: | ||
|
||
```ant production-xar``` | ||
|
||
### A note on client-side dependencies | ||
|
||
Admin Dashboard is made of [Web Components](https://webcomponents.org) using [bower](https://bower.io/) for handling | ||
client-side dependency management. bower builds upon the nodejs stack and therefore require a nodejs installation to work. | ||
|
||
Usually when using dependency tools the dependent modules are loaded dynamically from remote repositories. This has certainly | ||
advantages but also introduce the danger of undetected deep version changes and other problems when sources become unavailable for | ||
some reason. A discussion on this topic can be found [here](https://addyosmani.com/blog/checking-in-front-end-dependencies/). Furthermore | ||
it requires the installation of npm and bower. | ||
|
||
As nodejs (npm) is not available or common to everyone the dependencies are therefore kept in the repo which eases building the app. | ||
|
||
|
||
## What it does | ||
|
||
Admin Dashboard provides a common UI for adminitration tools in a responsive sidebar layout. The layout uses the | ||
Material Design Guidelines to provide a common UI across a wide range of devices. | ||
|
||
Currently it contains: | ||
* Launcher (not strictly an admin tool but here for convenience) | ||
* PackageManager | ||
* UserManager | ||
* Settings | ||
|
||
More modules can be plugged later on. | ||
|
||
## Features | ||
|
||
* made of modular Web Components | ||
* making use of latest HTML5 standard features like Custom Elements, Shadow DOM and HTML Templates | ||
* responsive sidebar layout following Material Design | ||
* the modules (like Packagemanager and Usermanager...) can be bookmarked for direct access | ||
* allows to install, upload, update and remove packages (PackageManager component) | ||
* manage users and groups (UserManager component) | ||
* Settings panel showing eXist-db version and public repo URL. This will likely be extended for configuration. | ||
|
||
|
||
## Architecture | ||
|
||
Admin Dashboard composes a set of Web Components into a common UI. As Web Component support is not on the same level in | ||
all browsers [Polymer](https://polymer-project.org) is used to polyfill the gaps. E.g. while Chrome already fully | ||
implements the current state of Web Components natively Firefox does not have a shadowDOM implementation at the time | ||
of this writing. Polymer bridges this gap as good as possible and provides cross-browser compatibility for all modern browsers. | ||
|
||
|
||
For more information see https://webcomponents.org | ||
|
||
To truly understand the impact of Web Components just a few points should be mentioned: | ||
Web Components provide truly encapsulated custom HTML elements that behave as any other HTML element but may attach | ||
styling, logic and shadowDOM to the element. As part of HTML5 they'll become native browser functionality once fully | ||
estabilshed. | ||
|
||
### Use of components in Admin Dashboard | ||
|
||
Admin Dashboard is made of a lot of Web Components that can be found in 'bower_components' directory. | ||
|
||
Most of those are publicly available components available from webcomponents.org but there is also a set of | ||
components specifically developed for eXist-db. These are organised in logical groups that are hosted in their own | ||
repositories. | ||
|
||
Usually you don't have to deal with these details as this is done via bower (see bower.json) but this information is just | ||
provided for developers that want to enhance Admin Dashboard. | ||
|
||
Here's a list repositories involved: | ||
|
||
* [PackageManager](https://github.com/eXist-db/packagemanager) | ||
* [UserManager](https://github.com/eXist-db/usermanager) | ||
* [Launcher](https://github.com/eXist-db/launcher) | ||
* [Repo Elements](https://github.com/eXist-db/repo-elements) | ||
* [Package Service](https://github.com/eXist-db/existdb-packageservice). This is no component but required by PackageManager and Launcher | ||
|
||
### Hybrid Components | ||
|
||
PackageManager, UserManager and Launcher are not just Web Components but fully functional as a standalone xar application | ||
in eXist-db. As such each of them can be checked out and build separatly. This allows to have eXist-db installations that have no | ||
Admin Dashboard at all but just e.g. a Launcher. On production system however you might want no launcher at all and only a PackageManager. | ||
|
||
These scenarios are made possible by these hybrid components. | ||
|
||
## Compatibility | ||
|
||
The application has been tested on: | ||
|
||
* Chrome 65.0.3325.181 / OSX 10.13.3 | ||
* Firefox 59.0.2 / OSX 10.13.3 | ||
* Safari 11.0.3 / OSX 10.13.3 | ||
|
||
Admin Dashboard is built with [Polymer 2](https://polymer-project.org). See their compatibility table [here](https://www.polymer-project.org/2.0/docs/browsers). | ||
|
||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
xquery version "3.1"; | ||
|
||
declare namespace output = "http://www.w3.org/2010/xslt-xquery-serialization"; | ||
declare option output:method "html5"; | ||
declare option output:media-type "text/html"; | ||
|
||
(:let $log := util:log("info","admin.xql"):) | ||
|
||
let $route := request:get-parameter("route","#/launcher") | ||
(:let $log := util:log("info","route " || $route):) | ||
|
||
return | ||
<html> | ||
<head> | ||
<meta charset="utf-8"/> | ||
<meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes"/> | ||
<title>existdb-dashboard</title> | ||
<link rel="stylesheet" href="resources/styles.css"/> | ||
<script src="bower_components/webcomponentsjs/webcomponents-loader.js"></script> | ||
<link rel="import" href="dependencies.html"/> | ||
</head> | ||
<body> | ||
<existdb-dashboard path="{$route}"> </existdb-dashboard> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
{ | ||
"name": "existdb-dashboard", | ||
"description": "a eXistdb launchpad ", | ||
"main": "existdb-dashboard.html", | ||
"dependencies": { | ||
"polymer": "Polymer/polymer#^2.0.0", | ||
"app-layout": "PolymerElements/app-layout#^2.0.0", | ||
"paper-styles": "PolymerElements/paper-styles#^2.0.0", | ||
"paper-button": "PolymerElements/paper-button#^2.0.0", | ||
"paper-icon-button": "PolymerElements/paper-icon-button#^2.0.0", | ||
"iron-icons": "PolymerElements/iron-icons#^2.0.0", | ||
"iron-ajax": "PolymerElements/iron-ajax#^2.0.0", | ||
"iron-icon": "PolymerElements/iron-icon#^2.0.0", | ||
"iron-iconset-svg": "PolymerElements/iron-iconset-svg#^2.0.0", | ||
"iron-flex-layout": "PolymerElements/iron-flex-layout#^2.0.0", | ||
"paper-item": "PolymerElements/paper-item#^2.0.0", | ||
"app-route": "PolymerElements/app-route#^2.0.0", | ||
"paper-ripple": "PolymerElements/paper-ripple#^2.0.0", | ||
"existdb-launcher": "https://github.com/eXist-db/launcher.git#^1.2.1", | ||
"existdb-usermanager": "https://github.com/eXist-db/usermanager.git#^0.16.4", | ||
"existdb-backup": "https://github.com/eXist-db/existdb-backup.git#^1.1.0", | ||
"repo-elements": "https://github.com/eXist-db/repo-elements/archive/master.zip", | ||
"iron-lazy-pages": "^2.1.1", | ||
"paper-card": "PolymerElements/paper-card#^2.0.0", | ||
"paper-tabs": "PolymerElements/paper-tabs#^2.0.0", | ||
"existdb-packagemanager": "https://github.com/eXist-db/packagemanager/archive/v4.6.0.zip", | ||
"vaadin-usage-statistics": "vaadin/vaadin-usage-statistics#optout" | ||
}, | ||
"devDependencies": { | ||
"iron-demo-helpers": "PolymerElements/iron-demo-helpers#^2.0.0", | ||
"web-component-tester": "Polymer/web-component-tester#^6.0.0", | ||
"webcomponentsjs": "webcomponents/webcomponentsjs#^1.0.0" | ||
}, | ||
"resolutions": { | ||
"polymer": "^2.0.0" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
{ | ||
"name": "existdb-dashboard", | ||
"description": "", | ||
"main": "index.html", | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/eXist-db/existdb-packagemanager.git" | ||
}, | ||
"dependencies": { | ||
}, | ||
"devDependencies": { | ||
}, | ||
"ignore": [ | ||
".idea", | ||
"build", | ||
"bower_components", | ||
"node_modules", | ||
"test", | ||
"build.xml", | ||
"expath-pkg.xml", | ||
"repo.xml", | ||
"package.json", | ||
"gulpfile.js" | ||
], | ||
"private": true | ||
} |
40 changes: 40 additions & 0 deletions
40
bower_components/accessibility-developer-tools/.bower.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
{ | ||
"name": "accessibility-developer-tools", | ||
"version": "2.12.0", | ||
"homepage": "https://github.com/GoogleChrome/accessibility-developer-tools", | ||
"authors": [ | ||
"Google" | ||
], | ||
"description": "This is a library of accessibility-related testing and utility code.", | ||
"main": "dist/js/axs_testing.js", | ||
"moduleType": [ | ||
"amd", | ||
"globals" | ||
], | ||
"keywords": [ | ||
"accessibility", | ||
"testing", | ||
"WCAG", | ||
"module" | ||
], | ||
"license": "Apache-2.0", | ||
"ignore": [ | ||
"**/.*", | ||
"lib", | ||
"scripts", | ||
"src", | ||
"test", | ||
"tools", | ||
"Gruntfile.js", | ||
"package.json" | ||
], | ||
"_release": "2.12.0", | ||
"_resolution": { | ||
"type": "version", | ||
"tag": "v2.12.0", | ||
"commit": "3616c094e090174f70b53ca4cea25529522abffb" | ||
}, | ||
"_source": "https://github.com/GoogleChrome/accessibility-developer-tools.git", | ||
"_target": "^2.10.0", | ||
"_originalSource": "accessibility-developer-tools" | ||
} |
Oops, something went wrong.