[nvda-addons] Getting started on tip of the day addon.

  • From: derek riemer <driemer.riemer@xxxxxxxxx>
  • To: nvda-addons@xxxxxxxxxxxxx
  • Date: Thu, 18 Feb 2016 13:34:28 -0700

Any comments on this file format? I will write a program to manage the files for you so you don’t have to write xml.


 tip file format.


   Purpose of this text.

The purpose of this text is to serve as an official reference to the file format used by the tip of the day addon for the NVDA screen reader. This file format should be robust and allow for multiple tip attributes to be presented. This file format should be easily extendable, so that previous versions of this file format are compatable with previous addon versions. The file format is outlined in detail below.


   Brief description of file format:

The tip file format is an XML file. The file should have the extention .tip to be recognized by the program. The file format has sevral properties, and the file with the tip data can either be written by eia program designed for making tips, or by hand by a human. The program will read tip files with both windows and unix line endings.


   root node, tip node and app specific vs. General tips.

 * Each tip file should be wrapped in a |<xml> </xml>| node. This acts
   as a wrapper.
 * Within xml nodes there should be a tips node for each grouping of
   tips. A grouping of tips should only be defined for a global set of
   tips, or a app specific tips set. The tips node is detailed below.


     tips nodes:


       example:

The tips node looks like the following.

|<xml> <tips type="global"> blablabla </tips> <tips type="app" app="winword" > blablabla </tips> </xml> |


       attributes:

The tips node has the following attributes.

 * type: one of global or app. I might add globalPlugin later to this.
 * app: The executable name of the app (without the .exe). This must be
   the same name that the NVDA app module goes off of.
 * ts: an optional timestamp that can be used for merging multiple tips
   objects with the same info. Should be the number of ms since utc epoc.


   Individual tips.

An individual tip should look like this.

|<tip name="short title" level="beginner"> In order to write tips, you simply put the text of the tip inside the tip node. </tip> <tip name="using the command line" level="advanced"> To use the command line in windows, you need to use the review cursor to read each individual line because using the arrow keys will read the command prompt again. </tip> <tip name="Loading the NVDA menu" level="beginner intermediate advanced"> blablablablablablablablablablablablablablabla this text displays for all levels. vv</tip> |


     Attributes:

 * name: Short title to display on the tips dialog as a title.
 * level: one or more of [beginner, Intermediate , advanced] seperated
   by spaces inside the quotes of the attribute: The level of computer
   knowledge the user needs to display the tip. Tips will display at
   the levels specified. If the tip is only specified for beginners and
   the user has intermediate set, then the user won’t ever see the tip.
   This is to help define tips for new computer users, along with tips
   that an advanced computer user who is new to NVDA should see.
 * author: Not sure if this will be used yet. Optional: the person who
   should receive attribution for the tip.


--
------------------------------------------------------------------------


   Derek Riemer

 * Department of computer science, third year undergraduate student.
 * Proud user of the NVDA screen reader.
 * Open source enthusiast.
 * Member of Bridge Cu
 * Avid skiier.

Websites:
Honors portfolio <http://derekriemer.com>
Awesome little hand built weather app! <http://django.derekriemer.com/weather/>

email me at derek.riemer@xxxxxxxxxxxx <mailto:derek.riemer@xxxxxxxxxxxx>
Phone: (303) 906-2194

Other related posts: