UIO+ for Morphic builds on UIO+ by providing a connection to Morphic. On a Morphic enabled machine, user preferences can be supplied from a keyed in preference set. UIO+ allows you to customize websites to match your own personal needs and preferences.
Note: The ability to apply an adaptation will vary from page to page
UI Options Plus for Morphic is the result of a joint effort of the Inclusive Design Research Centre at OCAD University and the Trace R&D Center at University of Maryland under funding for the FLOE Project from the William and Flora Hewlett Foundation and the National Institute on Disability, Independent Living, and Rehabilitation Research (NIDILRR), Administration for Community Living under grant #90RE5027.
UIO+ for Morphic issues are tracked in a JIRA Issue tracker. Please file issues there.
Install grunt-cli globally:
npm install -g grunt-cli
Install required dependencies:
npm install
This will generate a dist
directory at the root of the project. The dist
directory contains the built version of
UIO+ for Morphic. This can be run as an unpacked extensions or zipped to be published on the Chrome Web Store.
grunt build
#or
npm run build
The --version_name
flag can be set to specify a version name to include in the manifest file. This is useful when
publishing a beta release.
grunt build --version_name="0.1.0 beta 14"
Run all the tests and generate reports which can be viewed in the browser from the "reports" directory:
npm test
Requirements:
Follow these steps if you want to use the unpacked version of the extension:
- Visit chrome://extensions in your Chrome browser. Alternatively, open Chrome's menu by clicking the icon to the far right of the Omnibox; the menu's icon is three horizontal bars. Select Extensions under the Tools menu to open Chrome's extension settings.
- Ensure that the Developer mode checkbox in the top right-hand corner is checked.
- Click Load unpacked extension to open a file-selection dialog.
- Navigate to the directory in which your local copy of the extension lives, and select the
dist
or directory.
NOTE: Published versions can be installed from the Chrome Web Store.
- Prepare Code.
- Ensure that all of the code, that should be published, has been merged into the master branch.
- Ensure that the code in master is working as expected.
- Run tests:
npm test
- Lint:
grunt lint
ornpm run lint
- Manual test build.
- Create a build:
grunt build
ornpm run build
- Load unpacked extension into Chrome.
- In Chrome go to chrome://extensions
- Ensure that "Developer mode" is enabled.
- Click "Load unpacked".
- From the File Dialog, navigate to the "gpii-chrome-extension" repo and select the
dist
directory.
- Test all of the preferences and ensure that they apply to web page content correctly.
- Refresh any Browser Tabs/Windows that were open prior to installing the extension.
- The preferences should be tested individually and in combinations to ensure that interactions between the preferences are working properly. For example (Text-to-Speech and Syllabification, Text-to-Speech and Reading Mode).
- Multiple web pages should be tested. However, not all preferences will work with all sites.
- Load Morphic and ensure that logging in users (e.g. uioPlusCommon) applies the preferences to UIO+.
- Create a build:
- Run tests:
- Increase the "version" number in the manifest file, and push changes to master.
- Create the release package.
- Create a release build:
grunt build
- If making a beta, use the
--version_name
flag with the beta release number to set the version name in the manifest file. (e.g.grunt build --version_name="0.1.0 beta 14"
). The version name will be displayed instead of the version number in the Chrome Web Store.
- If making a beta, use the
- Create of a zip archive of the contents of the
dist
directory. This will be uploaded to the Chrome Web Store.
- Create a release build:
- Publish to the Chrome Web Store.
- Go to the Developer Dashboard on the Chrome Web Store and login.
- On the Developer Dashboard, click “Edit”; located on the right hand side of the UI Options Plus (UIO+) for morphic listing.
- On the UI Options Plus (UIO+) edit page, click “upload updated package” and upload the zip created in step 2.2 above.
- Update the “Detailed description” field as necessary. Similar information is contained in this README.
- Update the screenshots if necessary. They will need to be the exact size requested.
- Set the “Visibility Options” to “Unlisted”. This means that UIO+ for Morphic will be available for install from the Chrome Web Store, but won't be searchable. It will only be accessible by the direct link.
- Click "Preview Changes".
- Verify that everything appears correct. Pay particular attention to anything that was changed, e.g., version number/name, descriptions, screenshots, etc.
- When everything appears correct, publish the changes.
- The actual publishing to the Chrome Web Store will take some time, and may need to go through a review process.
- Tag the master branch with the release (e.g. v0.1.0-beta.10).
- Create a GitHub release for the tag.
- Go to the gpii-chrome-extension GitHub page.
- Click on "releases".
- Click "Draft a new release".
- For "Tag Version" and "Release Title", enter the tag name created in step 3.9 (e.g., v0.1.0-beta.10).
- For the description, add a summary of changes and any other relevant information. View prior releases, for example.
- Attach the build zip file created in step 2.2. Before uploading, make sure the file is named "build_{tag}.zip" (e.g., build_v0.1.0-beta.10.zip).
- If this is a beta release, check "This is a pre-release".
- After all the information has been entered correctly, click "Publish release".
- Verify Published UIO+ for Morphic.
- Ensure that the contents of the UIO+ for Morphic page on the Chrome Web Store appear correct. Double check things like version number/name, descriptions, screenshots and etc.
- Install the version from the Chrome Web Store, and run through the manual testing again. (See: step 1.2.3 above)
- If everything is working, announce release where required (e.g., fluid-work list, GPII list, project teams, etc.). If there are any issues, fix them and repeat the process.