Developers do not need to change how they use their own settings in their product at all in order to work with Cloud4all/GPII. Below are the basic instructions for a developer who wants to make their product work with Cloud4all/GPII. Developers can either do all of the steps themselves or they can get assistance from our GPII-onboarding team, which would make the integration process easier, especially with regard to entry of the data in the different Cloud4all/GPII registries and databases.
Abbreviated Instructions to Developers
For each solution/application to be made compatible with Cloud4all/GPII, the following steps must be carried out. The steps below are divided into those the developer/vendor would do and the ones that can be done for the developer/vendor by the GPII-onboarding team based on the basic information provided by the developer/vendor:
- Collect all the settings of the product that deal with the user interface (accessibility and any other non-accessibility related user interface settings) – including:
- USER NAME (if any) of the setting. This is the name seen by the user in a menu or dialog box.
- PROGRAMMATIC NAME of the setting. This is the name that software sees for the setting when looking in the setting or preferences file for your program.
- VALUE RANGE. The allowable values for the setting in the settings/preference file.
- DEPENDENCIES (if any) that one setting may have on another or on anything else that would change the allowable values for that setting, e.g. when XXX setting is set to false then YYY setting must be
- DEFINITION of the term. The exact meaning of the term and the value space values. For example, for the term speechRate for a product the definition may be:
- “DEFINITION: The current rate at which the screenreader will read the text aloud to the user. The setting value represents the rate in words-per-minute when read in English. For other languages we use the conversion table found at http://example.com”
- Optionally, the default value for that setting
- Document exactly where the settings are stored, and in what format they are stored.
- Attaching an example file is very helpful.
- If the storage format is non-standard, attaching any code needed to read or interpret the file is also required. This way Cloud4all/GPII can read and understand the settings, and Cloud4all/GPII code set them to match each different user of your software.
- Optionally, make it possible for Cloud4all/GPII to change the settings after launch and notify the product the new settings
- This will ensure that the user can change the settings of your product through Cloud4all/GPII to better match their needs or preferences.
- If it is impossible to change the product settings “on-the-fly”, then note this and Cloud4all/GPII will only change the settings before the product is launched.
- A compromise for some products is for the product to freeze the screen, do an invisible soft reboot in the background to incorporate the new settings, and then unfreeze the screen when done.
- Tell us what the use/licensing policy is for your software
- Only those who are authorized to use your software will be able to use it. GPII does not enable people to use your software if it is otherwise restricted.
The following are steps that the GPII-onboarding team can assist with, or do for you.
- Enter the programmatic name for each setting into ( or match it to an existing term in) the Preference Terms Dictionary (PTD) noting whether it is
- a new term
- an alias of an existing term
- a language-alias of an existing term (same term in another language)
- a transform-alias of an existing term (same term but with a different value space that can be transformed to an existing term)
- Create the Transforms for any settings you have that are transformable to other existing common preferences terms
- Enter all information you provided on your product/service into the Unified Listing where it can be viewed internationally, and where it is automatically fed to all of the other federated databases on accessible technologies internationally.
Check that the entry we already have for you product in the Unified Listing is correct, and You are Done. – Add a “Cloud4all/GPII compatible” logo to your product and materials.
Making the process easier for developers
Here are some of the processes that the GPII Tiger Team is working on to both support developers and improve the materials available to assist developers in making their products/services Cloud4all/GPII compatible. Most of it is being done by collaborating projects supporting the Cloud4all/GPII team.
- Better ways to help developers modify the way a product handles settings
- If the way that preferences are defined/saved matches existing Cloud4all/GPII capabilities this is not a problem.
- For products that currently can’t handle settings that are changed from an external agent without restarting, work with developers to see if it is possible add the capability to have dynamic settings refresh to allow on-the-fly use of externally changed settings
- Better support for external devices to read / write settings.
- If an existing Cloud4all/GPII settings handler – e.g. INI, JSON, and Windows Registry can be used, then this is not a problem.
- If a new generic settings handler can be written that would handle the new product then the GPII team would undertake this
- If the preferences are stored in a proprietary or product-specific way then it will be necessary to write solution specific code and create any transcoding/un-packing tool needed if preferences are binary and other compressed format. The team is working on identifying any ways or tools that can facilitate this process.
- Automatic compilation tools that can create the following from the information in the complete Unified Listing record.
- A solution description file in testData/solutions/solutionsDescription
- Lifecycle declaration and Setting transforms in appropriate platform file in testData/solutions
- Register the solution by adding it to:
- Ways to make it easier for developers to perform testing and to
- Create a user profile file to exercise settings when user logs in.
- Create tests and update the test file following our guide for writing acceptance tests.
- Easier ways to Document