Skip to content

Commit

Permalink
Merge branch 'GPII-4345'
Browse files Browse the repository at this point in the history
* GPII-4345:
  GPII-4345: Updated build information and publishing instructions.
  GPII-4345: Updated dependencies
  GPII-4345: updated dependencies
  GPII-4345: Update uio-plus dependency.
  GPII-4345: Sourcing UIO+ from NPM
  GPII-4345: Updated author in package.json
  GPII-4345: Updated centralized copyright
  GPII-4345: Removed UIO+ tests and only testing UIO+ for Morphic code.
  GPII-4345: Linting
  GPII-4345: Update Readme for UIO+ for Morphic
  GPII-4345: Update for changed package name
  GPII-4345: Update privacy policy
  GPII-4345: Pull in UIO+ form NPM.
  GPII-4345: Use version_name in zip filename if supplied
  GPII-4345: Split ws connector to morphic extension only.
  GPII-4345: Fix browser tests to work with split extensions.
  GPII-4345: Add privacy policy specific to UIO+ for Morphic
  GPII-4345: Add build configuration for generating multiple extensions
  • Loading branch information
amb26 committed Jun 4, 2020
2 parents d1b188f + 4ac95c7 commit a57dacb
Show file tree
Hide file tree
Showing 83 changed files with 254 additions and 8,547 deletions.
6 changes: 3 additions & 3 deletions AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

## Copyright Holders

This is the list of UIO+ copyright holders. It does not list all individual contributors because some have assigned
copyright to an institution, only made minor changes, or their contributions no longer appear in the codebase.
This is the list of UIO+ for Morphic copyright holders. It does not list all individual contributors because some have
assigned copyright to an institution, only made minor changes, or their contributions no longer appear in the codebase.
Please see the version control system's revision history for details on contributions.

Copyright 2016-2019
Copyright 2016-2020

* OCAD University
* Raising the Floor - International
Expand Down
133 changes: 48 additions & 85 deletions Gruntfile.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright The UIO+ copyright holders
* Copyright The UIO+ for Morphic copyright holders
* See the AUTHORS.md file at the top-level directory of this distribution and at
* https://github.com/GPII/gpii-chrome-extension/blob/master/AUTHORS.md
*
Expand All @@ -14,10 +14,13 @@

"use strict";

var merge = require("deepmerge");

module.exports = function (grunt) {

grunt.initConfig({
pkg: grunt.file.readJSON("package.json"),
buildVersion: "<%= pkg.version %>",
lintAll: {
sources: {
md: [ "./*.md"],
Expand All @@ -26,107 +29,67 @@ module.exports = function (grunt) {
other: ["./.*"]
}
},
stylus: {
build: {
options: {
compress: true,
relativeDest: "../../build/css"
},
files: [{
expand: true,
src: ["src/stylus/*.styl"],
ext: ".css"
}]
clean: {
all: {
src: ["dist/"]
}
},
copy: {
source: {
cwd: "src",
expand: true,
src: [
"css/**/*",
"html/**/*",
"images/**/*",
"js/**/*",
"messages/**/*",
"templates/**/*",
"manifest.json"
],
dest: "build/"
writeManifest: {
options: {
space: 4
},
lib: {
//TODO: Currently there is a bug in Chrome that prevents source maps from working for extensions.
// see: https://bugs.chromium.org/p/chromium/issues/detail?id=212374
// After the above issue is fixed, include source maps and/or additional build types to improve
// debugging.
files: [{
expand: true,
flatten: true,
src: "node_modules/infusion/dist/infusion-uio.min.js",
dest: "build/js/lib/infusion/"
}, {
expand: true,
flatten: true,
src: "node_modules/infusion/src/lib/hypher/patterns/*.js",
dest: "build/js/lib/syllablePatterns/"
}]
},
templates: {
cwd: "node_modules/infusion/src/",
expand: true,
flatten: true,
src: [
"components/tableOfContents/html/TableOfContents.html",
"framework/preferences/html/PrefsEditorTemplate-*.html"
],
dest: "build/templates/"
},
messages: {
expand: true,
flatten: true,
src: "node_modules/infusion/src/framework/preferences/messages/*.json",
dest: "build/messages/"
},
fonts: {
cwd: "node_modules/infusion/src/",
all: {
src: ["dist/manifest.json", "src/manifest.json"],
dest: "dist/manifest.json"
}
},
copy: {
"uio+": {
cwd: "node_modules/uio-plus/dist",
expand: true,
flatten: true,
src: [
"framework/preferences/fonts/*.woff",
"components/orator/fonts/*.woff",
"lib/opensans/fonts/*.woff"
],
dest: "build/fonts/"
dest: "dist/",
src: ["**/*"]
},
styles: {
cwd: "node_modules/infusion/",
source: {
cwd: "src",
expand: true,
flatten: true,
src: [
"src/lib/normalize/css/normalize.css",
"src/framework/core/css/fluid.css",
"src/components/orator/css/Orator.css",
"src/components/tableOfContents/css/TableOfContents.css",
"dist/assets/src/framework/preferences/css/PrefsEditor.css",
"dist/assets/src/framework/preferences/css/SeparatedPanelPrefsEditorFrame.css"
"js/**/*"
],
dest: "build/css/"
}
},
clean: {
all: {
src: ["build/"]
dest: "dist/"
}
}
});

grunt.loadNpmTasks("grunt-contrib-clean");
grunt.loadNpmTasks("grunt-contrib-copy");
grunt.loadNpmTasks("grunt-contrib-stylus");
grunt.loadNpmTasks("gpii-grunt-lint-all");

grunt.registerTask("lint", "Perform all standard lint checks.", ["lint-all"]);
grunt.registerTask("build", "Build the extension so you can start using it unpacked", ["clean", "stylus", "copy"]);

// Can specify a replacer or space option to be used by the JSON.stringify call
// see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
grunt.registerMultiTask("writeManifest", "Outputs a manifest file by merging the source documents into the destination.", function () {
var options = this.options();
var version_name = grunt.option("version_name");

var overwriteMerge = function (destinationArray, sourceArray) {
return sourceArray;
};

var inputs = this.filesSrc.map(function (fileSrc) {
return grunt.file.readJSON(fileSrc);
});

var output = merge.all(inputs, { arrayMerge: overwriteMerge });

if (version_name) {
output = merge(output, {version_name: version_name});
}

grunt.file.write(this.data.dest, JSON.stringify(output, options.replacer, options.space));
});

grunt.registerTask("build", "Build the extensions", ["clean", "copy", "writeManifest"]);
grunt.registerTask("default", ["build"]);
};
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ separate directory, they may contain explicit declarations of copyright
in both the LICENSE file in the directory in which they reside and in the
code itself. No external contributions are allowed under licenses which are
fundamentally incompatible with the BSD or Apache licenses that
ui-options-chrome is distributed under.
uio-plus-for-morphic is distributed under.

All rights reserved.

Expand Down
37 changes: 20 additions & 17 deletions PRIVACY_POLICY.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,28 @@
# Privacy Policy

User Interface Options Plus (UIO+) allows you to customize websites to match your own personal needs and preferences.
Settings for the adaptations can be set via the UIO+ adjuster panel or, if on a [Morphic](https://morphic.world) enable
machine, from a keyed in preference set. Due to the nature of applying user preferences, UIO+
requires permission to interact with the web content in the browser's windows, tabs, and iframes.
User Interface Options Plus (UIO+) for Morphic allows you to customize websites to match your own personal needs and
preferences. Settings for the adaptations can be set via the UIO+ adjuster panel or, if on a
[Morphic](https://morphic.world) enable machine, from a keyed in preference set. Due to the nature of applying user
preferences, UIO+ for Morphic requires permission to interact with the web content in the browser's windows, tabs, and
iframes.

## Information UIO+ collects
## Information UIO+ for Morphic collects

UIO+ makes use of user preferences, collected via direct user input to its adjuster panel and from Morphic, when run on
a Morphic enabled machine. To apply certain adaptations, e.g. syllabifiaction, text-to-speech, the content of active
websites may be parsed.
UIO+ for Morphic makes use of user preferences, collected via direct user input to its adjuster panel and from Morphic,
when run on a Morphic enabled machine. To apply certain adaptations, e.g. syllabifiaction and text-to-speech, the
content of active websites may be parsed.

## How UIO+ uses the information
## How UIO+ for Morphic uses the information

UIO+ is directed by the user preferences to augment/adapt websites to the user's needs and preferences. Typically this
involves modifying the page styling, but may also require parsing website content (e.g syllabification, text-to-speech).
UIO+ for Morphic is directed by the user preferences to augment/adapt websites to the user's needs and preferences.
Typically this involves modifying the page styling, but may also require parsing website content (e.g syllabification,
text-to-speech).

## What information does UIO+ share
## What information does UIO+ for Morphic share

UIO+ does not explicitly share any information. All of the user preferences collected are stored locally within the
extension, for persistence across sessions. Content parsed from websites is only stored temporarily, for the time needed
to apply/remove the adaptation. However, because the extension may need to communicate with injected scripts, modify
HTML markup, and/or apply styles within a website, it is possible that the website being adapted may be able to infer
the user preferences being applied.
UIO+ for Morphic only explicitly shares information with Morphic. All of the user preferences collected are stored
locally within the extension, for persistence across sessions. User preferences may also be shared to and from Morphic,
if on a Morphic enabled machine. Content parsed from websites is only stored temporarily, for the time needed to apply/
remove the adaptation. However, because the extension may need to communicate with injected scripts, modify HTML markup,
and/or apply styles within a website, it is possible that the website being adapted may be able to infer the user
preferences being applied.
Loading

0 comments on commit a57dacb

Please sign in to comment.