Difference between revisions of "Solution Compatibility Roadmap"
(Created page with "== What makes a compatible solution? == In order to be compatible with the GPII Auto Personalisation from Preferences a solution must: * be know...") |
|||
(35 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
== What makes a compatible solution? == | == What makes a compatible solution? == | ||
− | In order to be compatible with the [[GPII_Core_Infrastructure|GPII Auto Personalisation from Preferences]] a solution must: | + | In order to be compatible with the [[GPII_Core_Infrastructure|GPII Auto Personalisation from Preferences]] (APfP) a solution must: |
− | * be known to the GPII as a solution for specific user preferences | + | *be known to the GPII as a solution for specific user preferences |
− | * have known settings and how they map to preferences described as common terms | + | *have known settings and how they map to preferences described as common terms |
− | * have a known way to be launched and closed | + | *have a known way to be launched and closed |
This is achieved by providing a few configurations files to the GPII that declare these details. The GPII is then able match user preferences (possibly including context) and launch the solution with optimal settings for the user when they identify themselves. | This is achieved by providing a few configurations files to the GPII that declare these details. The GPII is then able match user preferences (possibly including context) and launch the solution with optimal settings for the user when they identify themselves. | ||
+ | |||
+ | == Roadmap == | ||
{| class="wikitable" | {| class="wikitable" | ||
− | | | + | |- |
− | ! | + | ! Solution (link to DSpace) |
+ | ! Jira | ||
! Status | ! Status | ||
! Lead | ! Lead | ||
Line 20: | Line 23: | ||
! Notes | ! Notes | ||
|- | |- | ||
− | | [[OATTS (Open Access Tool Tray System)]] | + | | [[OATTS_(Open_Access_Tool_Tray_System)|OATTS (Open Access Tool Tray System)]] |
+ | | [http://issues.gpii.net/browse/TT-9 TT-9] | ||
| 2015-3-1 | | 2015-3-1 | ||
− | | Alfredo | + | | Alfredo |
− | | ✓ | + | | style="text-align: center" | ✓<br/> |
+ | | | ||
| | | | ||
− | |||
− | |||
| | | | ||
+ | | Web application + Chrome plugin<br/> | ||
|- | |- | ||
− | | [[CCCC (Controlable Crowd Caption Correction) Tool]] | + | | [[CCCC_(Controlable_Crowd_Caption_Correction)_Tool|CCCC (Controlable Crowd Caption Correction) Tool]] |
+ | | [http://issues.gpii.net/browse/TT-8 TT-8] | ||
| 2015-3-1 | | 2015-3-1 | ||
− | | | + | | Alfredo |
+ | | style="text-align: center" | ✓<br/> | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | Web application<br/> | ||
+ | |- | ||
+ | | [[JAWS|JAWS]] ([http://www.freedomscientific.com/Products/Blindness/JAWS Freedom Scientific]) | ||
+ | | [http://issues.gpii.net/browse/TT-5 TT-5] | ||
| | | | ||
+ | 2015-6-26 | ||
+ | |||
+ | Waiting for instructions to handle complex settings | ||
+ | |||
+ | Pull request done | ||
+ | |||
+ | | Wayne | ||
| | | | ||
− | | | + | | <span style="text-align: center">✓</span> |
− | |||
| | | | ||
+ | | <span style="text-align: center"> ✓</span> | ||
+ | | Screen reader | ||
|- | |- | ||
− | | [[ | + | | [[ReadWriteGold|Read&Write Gold]] ([http://www.texthelp.com/UK/Our-products/Readwrite TextHelp]) |
− | | | + | | [http://issues.gpii.net/browse/TT-7 TT-7] |
− | | | + | | Waiting for OAuth |
+ | | Slim | ||
+ | | | ||
+ | | | ||
| | | | ||
| | | | ||
− | | | + | | In C4A, add more settings |
− | |||
− | |||
|- | |- | ||
− | | [[GAHRT (GPII Annotated Hand Raising Tool)]] | + | | [[GAHRT_(GPII_Annotated_Hand_Raising_Tool)|GAHRT (GPII Annotated Hand Raising Tool)]] |
+ | | [http://issues.gpii.net/browse/TT-10 TT-10] | ||
| | | | ||
− | | | + | | Alfredo |
+ | | style="text-align: center" | ✓<br/> | ||
| | | | ||
| | | | ||
− | |||
− | |||
| | | | ||
+ | | Web application<br/> | ||
|- | |- | ||
− | | [[ | + | | MAGic ([http://www.freedomscientific.com/Products/LowVision/MAGic Freedom Scientific]) |
+ | | [http://issues.gpii.net/browse/TT-11 TT-11] | ||
| | | | ||
− | | | + | 2015-6-26 |
+ | |||
+ | Pull request done | ||
+ | |||
+ | | Wayne / Jianyi | ||
| | | | ||
+ | | <span style="text-align: center">✓</span> | ||
| | | | ||
− | | | + | | <span style="text-align: center">✓</span> |
− | | | + | | Screen enlarger that works with JAWS. Need DSpace entry |
− | |||
|- | |- | ||
− | | | + | | WindowEyes ([http://www.gwmicro.com/Window-Eyes/ GW Micro]) |
+ | | TT-12 | ||
| | | | ||
− | | | + | 2015-6-26 |
+ | |||
+ | Pull request done | ||
+ | |||
+ | | Wayne | ||
| | | | ||
+ | | <span style="text-align: center">✓ </span> | ||
| | | | ||
− | | | + | | <span style="text-align: center">✓</span> |
− | + | | Screen reader (currently bundled with MS Office)(owned now by AI Squared) | |
− | | Screen | ||
|- | |- | ||
− | | | + | | ZoomText ([http://www.aisquared.com/zoomtext Ai Squared]) |
+ | | TT-13 | ||
| | | | ||
− | | | + | 2015-10-20 |
+ | |||
+ | Working on ZoomText API | ||
+ | |||
+ | | Wayne | ||
| | | | ||
+ | | <span style="text-align: center">✓</span> | ||
| | | | ||
− | | | + | | <span style="text-align: center">✓</span> |
− | | | + | | |
− | + | Screen reader/enlarger from AI Squared | |
+ | |||
+ | Working on using ZoomText API instead of directly editing the settings. | ||
+ | |||
|- | |- | ||
− | | | + | | Audio eye |
+ | | [https://www.audioeye.com https://www.audioeye.com] | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | Screen reader modifications and tools for websites. CSUN | ||
+ | |- | ||
+ | | WordQ, SpeakQ, ... ([http://www.goqsoftware.com/wordQspeakQ.php goQ Software]) | ||
+ | | [http://www.goqsoftware.com/ goQ Software] | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | Reading and writing tools | ||
+ | |- | ||
+ | | Kurzweil 3000 | ||
+ | | TT-15 | ||
+ | | | ||
+ | 2015-10-20 | ||
+ | |||
+ | Pull request done | ||
+ | |||
+ | | Wayne | ||
+ | | <br/> | ||
+ | | <span style="text-align: center">✓</span> | ||
+ | | <br/> | ||
+ | | <span style="text-align: center"> ✓</span><br/> | ||
+ | | | ||
+ | Text reader | ||
+ | |||
+ | User is required to create a Kurzweil account to use the software. Login with username and password is required when launching Kurzweil 3000. | ||
+ | |||
+ | |- | ||
+ | | ... | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
| | | | ||
− | |||
| | | | ||
| | | | ||
− | |||
− | |||
− | |||
|} | |} | ||
Line 96: | Line 177: | ||
It is vital to manage the large number of possible settings, especially as some have different names for the identical concept and others with the same name are actually different concepts. In addition the range of values allowed may or may not vary between common terms. The Preference Term Database (PTD) is the GPII's tool where all solutions settings are registered to provide a manageable database of terms. All settings for solutions are added to the PTD | It is vital to manage the large number of possible settings, especially as some have different names for the identical concept and others with the same name are actually different concepts. In addition the range of values allowed may or may not vary between common terms. The Preference Term Database (PTD) is the GPII's tool where all solutions settings are registered to provide a manageable database of terms. All settings for solutions are added to the PTD | ||
+ | |||
+ | == Solution declaration == | ||
+ | |||
+ | A solution's operation is described to the GPII using JSON declarative 'code' entered into a file which holds all the solutions for a specific platform (eg Windows, Android). This describes how to launch / kill the solution and specific settings and the transforms that map to them from common preference terms. | ||
== Steps for making a solution GPII compatible == | == Steps for making a solution GPII compatible == | ||
− | For each solution to be be made compatible the following steps will be performed (work is being lead by the [[ | + | For each solution to be be made compatible the following steps will be performed (work is being lead by the [[Imp_Tiger_Team|Tiger Team]]) |
+ | |||
+ | === Workflow === | ||
+ | |||
+ | #'''Select a solution''' from above Roadmap - Let the Tiger Team know you are working on it | ||
+ | #'''Create a tracking Jira''' to discuss issues etc. Use the [http://issues.gpii.net/browse/TT Tiger Team project] and AutoPersonalisationCompat component. See this explanation of [http://lists.gpii.net/pipermail/architecture/2014-June/002365.html Jira workflow] | ||
+ | #'''Fork and pull''' the [https://github.com/GPII/universal GPII/universal] repo | ||
+ | #'''Create a feature branch''' to work on. Use Jira number in the branch name | ||
+ | #'''Work''' through the details below | ||
+ | #'''Discuss and track''' on the [[Imp_Tiger_Team#Communications|Jira, list or IRC]] as required. Use "@User" to notify someone | ||
+ | #'''Track status''' in the above roadmap | ||
+ | #'''Make a pull request''' and update Jira status to ''Pull Request'' | ||
+ | #'''Wait for review by the Architecture team''' and work through any fixes | ||
+ | #'''Close Jira and update Roadmap''' | ||
+ | |||
+ | === Work detail === | ||
#'''Identify key contact person(s)''' and contact them. | #'''Identify key contact person(s)''' and contact them. | ||
##Permissions - ownership - mgmt etc | ##Permissions - ownership - mgmt etc | ||
− | ##Technical | + | ##Technical - launch, settings access, meaning of settings |
− | #''' | + | ##Let them know about the GPII, DSpace, universal listing etc. |
− | ## | + | #'''Register and align the preferences/settings''' in the [https://terms.raisingthefloor.org/ Preference Terms Definitions Registry (PTD)] |
− | ## | + | ##Developer might do but MUCH MUCH easier for us to do we have familiarity with the PTD contents |
− | #'''Create a | + | ##Developer should participate because they know what their terms mean |
− | + | ##See details below | |
− | #''' | + | #'''Modify the way a product handles settings''' (optional) |
− | ## | + | ##Define/Save preferences to better match the GPII |
− | # | + | ##Prefer dynamic settings refresh - to allow live use of externally changed settings |
− | #''' | + | #'''Decide how to read / write settings''' |
− | + | ##Use an existing settings handler - eg ini, JSON. | |
− | # | + | ##Create new generic settings handler or write solution specific code |
− | # | + | ##Create a transcoding/un-packing tool for binary and other compressed formats. |
− | # | + | #'''Create a solution entry''' |
− | # '''Create a test user file''' | + | ##'''Add Solution description file''' in [https://github.com/GPII/universal/tree/master/testData/solutions/solutionsDescription testData/solutions/solutionsDescription] |
− | ## | + | ##'''lifecycle declaration and Setting transforms''' in appropriate platform file in [https://github.com/GPII/universal/tree/master/testData/solutions testData/solutions] |
+ | #'''Register solution''' but adding to [https://github.com/GPII/universal/blob/master/testData/deviceReporter/installedSolutions.json testData/deviceReporter/installedSolutions.json] file | ||
+ | #'''Perform Testing''' | ||
+ | ##'''Create a test user profile file''' to exercise settings when user logs in. [https://github.com/GPII/universal/tree/master/testData/preferences testData/preferences/<solution>N] | ||
+ | ##'''Create Tests''' FIXME - [https://github.com/GPII/universal/tree/master/tests tests] | ||
#'''Document''' | #'''Document''' | ||
##Solution specific notes - in DSpace | ##Solution specific notes - in DSpace | ||
##Generic documentation for others | ##Generic documentation for others | ||
+ | === Processing preference terms in the PTD === | ||
+ | |||
+ | The [https://terms.raisingthefloor.org PTD] tool is used to keep a list of common preference terms and their alias as used in solutions. Here's how to process each of a solutions settings to ensure they are captured in the PTD. | ||
+ | |||
+ | #Get a lists of the settings and their parameters valuespace (possible values) | ||
+ | #find their counterpart in the Preference Terms Dictionary (eg use the filter) | ||
+ | #IF found (with SAME definitions and SAME valuespace) | ||
+ | ##Register them as an alias -- and note the common preference term | ||
+ | #IF NOT found (AND it is a term that might be used by other solutions) | ||
+ | ##Create a common preference term | ||
+ | ##Register the term as an alias | ||
+ | #IF NOT found and very low or no possible use to other apps as one of their settings (with same definition and value space | ||
+ | ##Then just enter as a new term using their format | ||
− | == <span style="color: rgb(0, 0, 255) | + | == <span style="color: rgb(0, 0, 255)">Helpful Links</span> == |
− | # [[GPII_Core_Infrastructure]] - | + | #[https://github.com/GPII/universal GPII/universal] on GitHub |
− | # [[Building_A_Simple_Solution]] Example | + | #[http://issues.gpii.net/browse/TT TigerTeam project in Jira] |
− | # [https://github.com/sgithens/universal/blob/authoring-solutions-tutorial/documentation/AuthoringSolutionsTutorial.md Authoring Solutions Tutorial] | + | #[[GPII_Core_Infrastructure|GPII Core Infrastructure]] - How the GPII Auto Personalisation form Preferences works when a user logs in |
− | # [[Architecture_-_Available_transformation_functions]] - Tutorial on Value transformation | + | #[[Building_A_Simple_Solution|Building A Simple Solution]] Example simple solution |
− | # [http://wiki.fluidproject.org/display/docs/Model+Transformation http://wiki.fluidproject.org/display/docs/Model+Transformation] - Fluid Infusion Framework (Transformation) | + | #[https://github.com/sgithens/universal/blob/authoring-solutions-tutorial/documentation/AuthoringSolutionsTutorial.md Authoring Solutions Tutorial] detailed instructions for a solution entry |
+ | #[[Architecture_-_Available_transformation_functions|Architecture - Available transformation functions]] - Tutorial on Value transformation | ||
+ | #[http://wiki.fluidproject.org/display/docs/Model+Transformation http://wiki.fluidproject.org/display/docs/Model+Transformation] - Fluid Infusion Framework (Transformation) | ||
+ | #[https://www.atlassian.com/git/ https://www.atlassian.com/git/] - Advanced git tutorial | ||
+ | [[Category:Vendors and Implementers]] |
Latest revision as of 17:28, 27 October 2015
Contents
What makes a compatible solution?
In order to be compatible with the GPII Auto Personalisation from Preferences (APfP) a solution must:
- be known to the GPII as a solution for specific user preferences
- have known settings and how they map to preferences described as common terms
- have a known way to be launched and closed
This is achieved by providing a few configurations files to the GPII that declare these details. The GPII is then able match user preferences (possibly including context) and launch the solution with optimal settings for the user when they identify themselves.
Roadmap
Solution (link to DSpace) | Jira | Status | Lead | PTD Updated | Solution file | Registered | Test User | Notes |
---|---|---|---|---|---|---|---|---|
OATTS (Open Access Tool Tray System) | TT-9 | 2015-3-1 | Alfredo | ✓ |
Web application + Chrome plugin | |||
CCCC (Controlable Crowd Caption Correction) Tool | TT-8 | 2015-3-1 | Alfredo | ✓ |
Web application | |||
JAWS (Freedom Scientific) | TT-5 |
2015-6-26 Waiting for instructions to handle complex settings Pull request done |
Wayne | ✓ | ✓ | Screen reader | ||
Read&Write Gold (TextHelp) | TT-7 | Waiting for OAuth | Slim | In C4A, add more settings | ||||
GAHRT (GPII Annotated Hand Raising Tool) | TT-10 | Alfredo | ✓ |
Web application | ||||
MAGic (Freedom Scientific) | TT-11 |
2015-6-26 Pull request done |
Wayne / Jianyi | ✓ | ✓ | Screen enlarger that works with JAWS. Need DSpace entry | ||
WindowEyes (GW Micro) | TT-12 |
2015-6-26 Pull request done |
Wayne | ✓ | ✓ | Screen reader (currently bundled with MS Office)(owned now by AI Squared) | ||
ZoomText (Ai Squared) | TT-13 |
2015-10-20 Working on ZoomText API |
Wayne | ✓ | ✓ |
Screen reader/enlarger from AI Squared Working on using ZoomText API instead of directly editing the settings. | ||
Audio eye | https://www.audioeye.com | Screen reader modifications and tools for websites. CSUN | ||||||
WordQ, SpeakQ, ... (goQ Software) | goQ Software | Reading and writing tools | ||||||
Kurzweil 3000 | TT-15 |
2015-10-20 Pull request done |
Wayne | |
✓ | |
✓ |
Text reader User is required to create a Kurzweil account to use the software. Login with username and password is required when launching Kurzweil 3000. |
... |
Common preference terms
It is vital to manage the large number of possible settings, especially as some have different names for the identical concept and others with the same name are actually different concepts. In addition the range of values allowed may or may not vary between common terms. The Preference Term Database (PTD) is the GPII's tool where all solutions settings are registered to provide a manageable database of terms. All settings for solutions are added to the PTD
Solution declaration
A solution's operation is described to the GPII using JSON declarative 'code' entered into a file which holds all the solutions for a specific platform (eg Windows, Android). This describes how to launch / kill the solution and specific settings and the transforms that map to them from common preference terms.
Steps for making a solution GPII compatible
For each solution to be be made compatible the following steps will be performed (work is being lead by the Tiger Team)
Workflow
- Select a solution from above Roadmap - Let the Tiger Team know you are working on it
- Create a tracking Jira to discuss issues etc. Use the Tiger Team project and AutoPersonalisationCompat component. See this explanation of Jira workflow
- Fork and pull the GPII/universal repo
- Create a feature branch to work on. Use Jira number in the branch name
- Work through the details below
- Discuss and track on the Jira, list or IRC as required. Use "@User" to notify someone
- Track status in the above roadmap
- Make a pull request and update Jira status to Pull Request
- Wait for review by the Architecture team and work through any fixes
- Close Jira and update Roadmap
Work detail
- Identify key contact person(s) and contact them.
- Permissions - ownership - mgmt etc
- Technical - launch, settings access, meaning of settings
- Let them know about the GPII, DSpace, universal listing etc.
- Register and align the preferences/settings in the Preference Terms Definitions Registry (PTD)
- Developer might do but MUCH MUCH easier for us to do we have familiarity with the PTD contents
- Developer should participate because they know what their terms mean
- See details below
- Modify the way a product handles settings (optional)
- Define/Save preferences to better match the GPII
- Prefer dynamic settings refresh - to allow live use of externally changed settings
- Decide how to read / write settings
- Use an existing settings handler - eg ini, JSON.
- Create new generic settings handler or write solution specific code
- Create a transcoding/un-packing tool for binary and other compressed formats.
- Create a solution entry
- Add Solution description file in testData/solutions/solutionsDescription
- lifecycle declaration and Setting transforms in appropriate platform file in testData/solutions
- Register solution but adding to testData/deviceReporter/installedSolutions.json file
- Perform Testing
- Create a test user profile file to exercise settings when user logs in. testData/preferences/<solution>N
- Create Tests FIXME - tests
- Document
- Solution specific notes - in DSpace
- Generic documentation for others
Processing preference terms in the PTD
The PTD tool is used to keep a list of common preference terms and their alias as used in solutions. Here's how to process each of a solutions settings to ensure they are captured in the PTD.
- Get a lists of the settings and their parameters valuespace (possible values)
- find their counterpart in the Preference Terms Dictionary (eg use the filter)
- IF found (with SAME definitions and SAME valuespace)
- Register them as an alias -- and note the common preference term
- IF NOT found (AND it is a term that might be used by other solutions)
- Create a common preference term
- Register the term as an alias
- IF NOT found and very low or no possible use to other apps as one of their settings (with same definition and value space
- Then just enter as a new term using their format
Helpful Links
- GPII/universal on GitHub
- TigerTeam project in Jira
- GPII Core Infrastructure - How the GPII Auto Personalisation form Preferences works when a user logs in
- Building A Simple Solution Example simple solution
- Authoring Solutions Tutorial detailed instructions for a solution entry
- Architecture - Available transformation functions - Tutorial on Value transformation
- http://wiki.fluidproject.org/display/docs/Model+Transformation - Fluid Infusion Framework (Transformation)
- https://www.atlassian.com/git/ - Advanced git tutorial