[jawsscripts] Re: Another public beta of JAWS Script Exchange 2.0

  • From: Jamal Mazrui <empower@xxxxxxxxx>
  • To: jawsscripts@xxxxxxxxxxxxx
  • Date: Mon, 9 Mar 2009 14:06:32 -0500 (EST)

Hi Donald,
In your merge statements, try default.jss rather than default (include
the extension).  That seems to work under XP.  I notice you are using
Vista and can't test that right now.

Jamal
On Mon, 9 Mar 2009, Donald Marang
wrote:

> Date: Mon, 9 Mar 2009 01:20:58 -0400
> From: Donald Marang <donald.marang@xxxxxxxxx>
> Reply-To: jawsscripts@xxxxxxxxxxxxx
> To: jawsscripts@xxxxxxxxxxxxx
> Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange 2.0
>
> Hey Jamal and fellow listers,
>
> I must be doing something wrong using jsx.  I seem to be able to create the
> zip and self installing executable files from my JAWS 10 directory where I
> developed my scripts.  I upload them to a personal webpage area on my ISP
> at:
> http://mysite.verizon.net/marangs/VerizonCallAssistant.html
> I then clean out all temporary files in my system, reboot, and close JAWS 10
> and load JAWS 9.  I then go to my webpage and download the self installing
> executable version package to a completely different directory and run the
> installer into the JAWS 9 directory.  I select the desired options and press
> the Install button.  It complains right after announcing that it is
> compiling, with the following incomplete error message:
> C:\Users\Don\AppData\Local\Temp\is-6315G.tmp\VZCallAssist... graphic 798
> graphic 603
> OK Cancel
> 0.95) Self Installing Version
>
> It will then ask me for confirmation for two files where I have a question
> mark in the ";?Merge..." directive at the top of the script files that I
> wish to have merged with default.jss.  It then has another error message
> before completing:
> Location is not available
> C:\Users\Don\AppData\Local\Temp\is-6315G.tmp refers to a location that is
> unavailable. It
> could be on a hard drive on this computer, or on a network. Check to make
> sure that the disk
> is properly inserted, or that you are connected to the Internet or your
> network, and then try
> again. If it still cannot be located, the information might have been moved
> to a different
> location.
> OK
>
>
> Watch out.  I have not fully debugged all of the new code in this package
> yet!
>
> Can anyone shed light on what I am doing wrong?  I am using JAWS 9 and 10 on
> a laptop running Vista Home Premium.  Thanks for your help.
> Don Marang
>
>
> ----- Original Message -----
> From: "Jamal Mazrui" <empower@xxxxxxxxx>
> To: <jawsscripts@xxxxxxxxxxxxx>
> Sent: Tuesday, February 24, 2009 2:07 PM
> Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange 2.0
>
>
> > Thanks for your interest in JSX.  Below is an excerpt from the current
> > documentation.  The merging capability is an advanced option that is a
> > bit hard to explain, unfortunately.  I'll gladly answer questions
> > though, and if I discover that something desirable is not possible, I'll
> > try to enhance the feature.  I'd be glad to work with the author of the
> > Twitter scripts if he wants to build a JSX-based installer for them.
> >
> > Jamal
> >
> > JSX 1.4 introduced a second, usually better way of merging.  In this
> > example, the file HomerIE.jss contains enhancements to the Internet
> > Explorer scripts supplied with JAWS.  Place the following line at the
> > top of the file:
> >
> > ;Merge "BrowseUI"
> >
> > This tells JSX to merge HomerIE.jss into the script set associated with
> > the base name BrowsUI (the file name is BrowseUI.dll).  JSX looks up the
> > association in ConfigNames.ini.  With JAWS 8 and above, the main file of
> > the script set is "Internet Explorer.jss."  With lower JAWS versions, it
> > is "Internet Explorer 5-6.jss."
> >
> > JSX creates a container file with a set of Use statements that load
> > script components in a particular order, thereby governing the
> > inheritance chain of scripts and functions.  The file also contains a
> > dummy function at the bottom, which is needed so that the JAWS script
> > compiler considers the file to be a valid script file, thus creating a
> > valid .jsb version after compilation.  The factory-supplied version of
> > the .jsb is copied from the All Users script folder to a file in the
> > user script folder with a modified name.  A suffix of _fs (standing for
> > Freedom Scientific) is added to the base name, e.g., Internet
> > Explorer.jsb would become Internet Explorer_fs.jsb, or default.jsb would
> > become default_fs.jsb.
> >
> > The order of Use statements in the generated container file is
> > determined by the following algorithm.  If there is an existing
> > container file, its component order is the starting sequence; otherwise
> > it is an empty string.  If there is a vertical bar (|) delimited list of
> > components after the Merge word on the top line, its sequence is
> > appended to the starting sequence after removing any duplicate items
> > from the starting sequence.  If the resulting sequence does not contain
> > the _fs component, it is prepended to the sequence (so it serves as base
> > functionality at the top level of the inheritance chain).  If the
> > current script component is not contained in the sequence, it is
> > appended.
> >
> > In our example, a container file called Internet Explorer.jss would be
> > created and compiled with the following content:
> >
> > ; This is a container file, structured with conventions to support
> > merging by the JAWS Script Exchange program.
> > ; Rather than code of its own, the file contains a sequence of Use
> > statements, followed by a dummy function to satisfy the JAWS script
> > compiler.
> >
> > Use "Internet Explorer_fs.Jsb"
> > Use "HomerIE.jsb"
> >
> > Void Function _Filler()
> > SayString("This is to complete a container .jss so that it compiles to a
> > valid .jsb")
> > EndFunction
> >
> >
> > Suppose we wanted to add AnotherIE.jsb to the sequence.  We could do so
> > with the following syntax on the top line:
> >
> > ;Merge AnotherIE.jsb "BrowseUI"
> >
> > Now the container file would begin with the following statements:
> >
> > Use "Internet Explorer_fs.Jsb"
> > Use "AnotherIE.jsb"
> > Use "HomerIE.jsb"
> >
> > The merge algorithm is intended to accomplish several objectives:
> >
> > * Previous JSX syntax for merging remains compatible.
> >
> > *  If no container file already exists, the component sequence will be
> > the _FS file followed by the current file.
> >
> > *  If a container file already exists and no post sequence is specified,
> > the existing sequence will be preserved.
> >
> > *  If a post sequence is specified, it can override the existing
> > sequence.
> >
> > JSX would also merge related .jkm and .jcf files, which are in .ini
> > format, as follows.  It iterates through all sections of the new file,
> > and all keys within each section, writing the key/value pair to the
> > existing file.  Thus, if a key already exists, its value is replaced.
> > If it does not already exist, it is created.
> >
> > The merge target may be a delimited list of files rather than a single
> > file, e.g.,
> >
> > ;Merge "BrowseUI|IEFrame"
> >
> > If a question mark follows the semicolon, JSX asks for confirmation
> > about whether to perform the merge, prompting with a warning on the
> > remainder of the line, e.g.,
> >
> > ;?Merge "Microsoft Outlook.jss|Microsoft Outlook XP-2003.jss" For Homer
> > benefits that require configuring Outlook for plain text email,
> >
> > On Tue, 24
> > Feb 2009, Donald Marang wrote:
> >
> >> Date: Tue, 24 Feb 2009 11:08:57 -0500
> >> From: Donald Marang <donald.marang@xxxxxxxxx>
> >> Reply-To: jawsscripts@xxxxxxxxxxxxx
> >> To: jawsscripts@xxxxxxxxxxxxx
> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange
> >> 2.0
> >>
> >> Hey Jamal,
> >>
> >> Sorry for the ignorance in the use of your exchange software as a
> >> developer
> >> and the automation of the "merge" process!  I plan to use it soon for my
> >> Verizon project and others.  I downloaded the version several months ago,
> >> but have not yet taken the time  to learn your program or use it.  I
> >> guess I
> >> will need to visit your site again and check out your new beta version.
> >> Is
> >> there any documentation for these conventions you talk about for the Use
> >> statement and container script files available anywhere?  I hope I have
> >> followed them to this point.  I think my next release will have two
> >> application script files and two container script files.  One of the user
> >> default container script file has a key map file I would like to
> >> automatically merge with the default key map file.  Of course, both
> >> container script files have a Use statements that need to be merged.  Is
> >> this possible?  If it is, I am surprised that the merge features of your
> >> exchange program were not used for an interesting new set of scripts,
> >> "Jawter".  This looks like a fantastic container script file to monitor
> >> Twitter activity and respond without ever running any application.  His
> >> scripts do it all from any application!  I am now considering getting a
> >> Twitter account just to check it out.  It can be found at:
> >> http://randylaptop.com/
> >>
> >> I discovered it on an MP3 podcast on the BlindCoolTech RSS feed at:
> >> http://feeds.feedburner.com/blindcooltech
> >>
> >> Thanks.
> >>
> >> Don Marang
> >>
> >>
> >> ----- Original Message -----
> >> From: "Jamal Mazrui" <empower@xxxxxxxxx>
> >> To: <jawsscripts@xxxxxxxxxxxxx>
> >> Sent: Monday, February 23, 2009 1:53 PM
> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange
> >> 2.0
> >>
> >>
> >> > Thanks for more detail.  I'll reflect on this to possibly make it more
> >> > flexible.  Since there is not a defined API for merging files, however,
> >> > I think the best solution involves following conventions.  If the
> >> > scripter knows that JSX expects a certain organization for a
> >> > container.jss
> >> > file, then he or she can make sure to place Use statements
> >> > above the dummy function, and to put additional code in a .jsb that is
> >> > referenced by a Use statement.  I do want to try to ensure that
> >> > complete
> >> > functionality is possible with these conventions, however, so if you
> >> > think of a situation that cannot be accommodated successfully by this
> >> > organization, let me know.
> >> >
> >> > Jamal
> >> > On Mon, 23 Feb 2009, Bryan Garaventa wrote:
> >> >
> >> >> Date: Mon, 23 Feb 2009 10:32:43 -0800
> >> >> From: Bryan Garaventa <bgaraventa11@xxxxxxxxxxxxxx>
> >> >> Reply-To: jawsscripts@xxxxxxxxxxxxx
> >> >> To: jawsscripts@xxxxxxxxxxxxx
> >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange
> >> >> 2.0
> >> >>
> >> >> My only concern is that there appears to be a loop hole for data loss,
> >> >> this
> >> >> area being for anything below the dummy function. For instance, if the
> >> >> user
> >> >> were to add their own Use statement, but instead of adding this at the
> >> >> top
> >> >> of the page, they added it to the bottom instead. Also, if the user
> >> >> were
> >> >> to
> >> >> add their own function or script to this default.jss file at a later
> >> >> date,
> >> >> it too would be broken if this code is not included in the merge.
> >> >> If there was a way to keep all of the current dummy jss content and
> >> >> add
> >> >> the
> >> >> new Use statement without the risk of any data loss, the whole process
> >> >> would
> >> >> be continually seamless. Sorry if I wasn't too clear earlier.
> >> >>
> >> >> ----- Original Message -----
> >> >> From: "Jamal Mazrui" <empower@xxxxxxxxx>
> >> >> To: <jawsscripts@xxxxxxxxxxxxx>
> >> >> Sent: Monday, February 23, 2009 9:48 AM
> >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange
> >> >> 2.0
> >> >>
> >> >>
> >> >> > Are you talking about a container type of .jss file?  By this, I
> >> >> > mean
> >> >> > one with no significant code of its own -- basically, a list of Use
> >> >> > statements followed by a dummy function.  If JSX finds a dummy
> >> >> > function
> >> >> > with the conventional name, it does recognize references to the .jsb
> >> >> > that is about to be merged, and does not duplicate such a reference.
> >> >> >
> >> >> > I want to better understand what you are hoping to achieve.  Is the
> >> >> > a
> >> >> > problem with organizing a .jss so that it follows the JSX
> >> >> > conventions
> >> >> > for
> >> >> > a container.jss file?
> >> >> >
> >> >> > Jamal
> >> >> > On Mon, 23 Feb 2009, Bryan Garaventa wrote:
> >> >> >
> >> >> >> Date: Mon, 23 Feb 2009 09:38:06 -0800
> >> >> >> From: Bryan Garaventa <bgaraventa11@xxxxxxxxxxxxxx>
> >> >> >> Reply-To: jawsscripts@xxxxxxxxxxxxx
> >> >> >> To: jawsscripts@xxxxxxxxxxxxx
> >> >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script
> >> >> >> Exchange
> >> >> >> 2.0
> >> >> >>
> >> >> >> No problem,
> >> >> >>
> >> >> >> Is it possible to use a Find String command to see if the currently
> >> >> >> merged
> >> >> >> Use statement is already present in the default.jss file?
> >> >> >>
> >> >> >> If Void Function _Filler() was not detected at this time, then the
> >> >> >> new
> >> >> >> default.jss file could be generated as it currently is.
> >> >> >>
> >> >> >> If the Void Function _Filler() is found though, but the new Use
> >> >> >> statement
> >> >> >> is
> >> >> >> not, then the new Use statement could be prepended to the top of
> >> >> >> the
> >> >> >> complete default.jss file and compiled.
> >> >> >>
> >> >> >> If it were done in such a way, you would never have to be concerned
> >> >> >> about
> >> >> >> any data loss, even if the user wrote their own functions and added
> >> >> >> these
> >> >> >> to
> >> >> >> the new default.jss file. It would just keep on working regardless,
> >> >> >> no
> >> >> >> matter how many times the same installer, or different installers
> >> >> >> for
> >> >> >> different scripts were used.
> >> >> >>
> >> >> >> Do you think this might be possible?
> >> >> >>
> >> >> >>
> >> >> >> ----- Original Message -----
> >> >> >> From: "Jamal Mazrui" <empower@xxxxxxxxx>
> >> >> >> To: <jawsscripts@xxxxxxxxxxxxx>
> >> >> >> Sent: Monday, February 23, 2009 7:23 AM
> >> >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script
> >> >> >> Exchange
> >> >> >> 2.0
> >> >> >>
> >> >> >>
> >> >> >> > Thanks for your feedback, Bryan, as I want to finalize this
> >> >> >> > version
> >> >> >> > of
> >> >> >> > JSX.  It should treat default.jss as you intend if it contains a
> >> >> >> > dummy
> >> >> >> > function with a particular naming convention for this purpose,
> >> >> >> > which
> >> >> >> > I
> >> >> >> > recall adoptingg from Doug Lee.  If JSX finds the following line
> >> >> >> > in
> >> >> >> > a
> >> >> >> > .jss
> >> >> >> > merge target:
> >> >> >> >
> >> >> >> > Void Function _Filler()
> >> >> >> >
> >> >> >> > it assumes the .jss is a container file with Use statements above
> >> >> >> > that
> >> >> >> > dummy function, and nothing significant afterward.  If that does
> >> >> >> > not
> >> >> >> > work,
> >> >> >> > let me know.
> >> >> >> >
> >> >> >> > Jamal
> >> >> >> > On Sat, 21 Feb 2009, Bryan Garaventa wrote:
> >> >> >> >
> >> >> >> >> Date: Sat, 21 Feb 2009 21:35:14 -0800
> >> >> >> >> From: Bryan Garaventa <bgaraventa11@xxxxxxxxxxxxxx>
> >> >> >> >> Reply-To: jawsscripts@xxxxxxxxxxxxx
> >> >> >> >> To: jawsscripts@xxxxxxxxxxxxx
> >> >> >> >> Subject: [jawsscripts] Re: Another public beta of JAWS Script
> >> >> >> >> Exchange
> >> >> >> >> 2.0
> >> >> >> >>
> >> >> >> >> Hi Jamal, I was finally able to try out the new version, and
> >> >> >> >> it's
> >> >> >> >> working
> >> >> >> >> much better than it used to. Excellent!
> >> >> >> >>
> >> >> >> >> Only one thing though, is there any way to make the string
> >> >> >> >> parser
> >> >> >> >> detect
> >> >> >> >> pre-existing use statements within the default.jss file as well?
> >> >> >> >> For
> >> >> >> >> instance, I use a lot of internal use statements for projects I
> >> >> >> >> develop
> >> >> >> >> at
> >> >> >> >> different times, and I always use the use statement to reference
> >> >> >> >> these
> >> >> >> >> script sets during development. Plus some of my scripts depend
> >> >> >> >> on
> >> >> >> >> the
> >> >> >> >> addition of the use statement, such as the online chat page
> >> >> >> >> scripts
> >> >> >> >> at
> >> >> >> >> http://gutterstar.net/dynamic_live_chat.php
> >> >> >> >> So the static use of specific use statements within the
> >> >> >> >> installer
> >> >> >> >> can't
> >> >> >> >> always be relied upon to keep these custom use statements as
> >> >> >> >> well.
> >> >> >> >>
> >> >> >> >> I'm unfamiliar with the programming language used for this
> >> >> >> >> purpose
> >> >> >> >> within
> >> >> >> >> the installer, but would it be possible to parse the string
> >> >> >> >> content
> >> >> >> >> line
> >> >> >> >> by
> >> >> >> >> line for default.jss, and save or copy all of the statements
> >> >> >> >> beginning
> >> >> >> >> with
> >> >> >> >> Use for inclusion within the new Default.jss output file? Please
> >> >> >> >> forgive
> >> >> >> >> my
> >> >> >> >> ignorance if this is more complicated than I understand. This
> >> >> >> >> really
> >> >> >> >> is a
> >> >> >> >> great product, and you've done a great job.
> >> >> >> >>
> >> >> >> >>  Best wishes,
> >> >> >> >>
> >> >> >> >> Bryan
> >> >> >> >>
> >> >> >> >> ----- Original Message -----
> >> >> >> >> From: "Jamal Mazrui" <empower@xxxxxxxxx>
> >> >> >> >> To: <jawsscripts@xxxxxxxxxxxxx>
> >> >> >> >> Sent: Monday, February 16, 2009 8:23 AM
> >> >> >> >> Subject: [jawsscripts] Another public beta of JAWS Script
> >> >> >> >> Exchange
> >> >> >> >> 2.0
> >> >> >> >>
> >> >> >> >>
> >> >> >> >> > http://EmpowermentZone.com/jsxsetup.exe
> >> >> >> >> >
> >> >> >> >> > This version enhances merge support, and bundles optional
> >> >> >> >> > script
> >> >> >> >> > sets.
> >> >> >> >> > The JSX installer engine now recognizes an existing
> >> >> >> >> > container.jss
> >> >> >> >> > file
> >> >> >> >> > that it previously created, a script file containing a set of
> >> >> >> >> > Use
> >> >> >> >> > statements followed by a dummy function to satisfy the JAWS
> >> >> >> >> > script
> >> >> >> >> > compiler.  A merge operation incorporates the components
> >> >> >> >> > referenced
> >> >> >> >> > in
> >> >> >> >> > such a file.
> >> >> >> >> >
> >> >> >> >> > At the end of the installation process for the complete JSX
> >> >> >> >> > application
> >> >> >> >> > (using the above URL), three script sets are offerred.  These
> >> >> >> >> > options
> >> >> >> >> > are
> >> >> >> >> > unchecked by default.  You can check one ore more of them to
> >> >> >> >> > install
> >> >> >> >> > their
> >> >> >> >> > zip archives with JSX.. i.e.,
> >> >> >> >> >
> >> >> >> >> > BX, the Jaws toolbox by Doug Lee (BSD license)
> >> >> >> >> >
> >> >> >> >> > HomerKit, the Homer script library and editor interface by
> >> >> >> >> > Jamal
> >> >> >> >> > Mazrui
> >> >> >> >> > (LGPL license)
> >> >> >> >> >
> >> >> >> >> > Visual Studio scripts by contributors from the blind
> >> >> >> >> > programming
> >> >> >> >> > community
> >> >> >> >> > (public domain)
> >> >> >> >> >
> >> >> >> >> > Jamal
> >> >> >> >> >
> >> >> >> >> > __________
> >> >> >> >> > Visit and contribute to The JAWS Script Repository
> >> >> >> >> > http://jawsscripts.com
> >> >> >> >> >
> >> >> >> >> > View the list's information and change your settings at
> >> >> >> >> > http://www.freelists.org/list/jawsscripts
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >> > _______________________________________
> >> >> >> >> > No viruses found in this incoming message
> >> >> >> >> > Scanned by iolo AntiVirus 1.5.6.3
> >> >> >> >> > http://www.iolo.com
> >> >> >> >> >
> >> >> >> >>
> >> >> >> >> __________
> >> >> >> >> Visit and contribute to The JAWS Script Repository
> >> >> >> >> http://jawsscripts.com
> >> >> >> >>
> >> >> >> >> View the list's information and change your settings at
> >> >> >> >> http://www.freelists.org/list/jawsscripts
> >> >> >> >>
> >> >> >> > __________
> >> >> >> > Visit and contribute to The JAWS Script Repository
> >> >> >> > http://jawsscripts.com
> >> >> >> >
> >> >> >> > View the list's information and change your settings at
> >> >> >> > http://www.freelists.org/list/jawsscripts
> >> >> >> >
> >> >> >>
> >> >> >> __________
> >> >> >> Visit and contribute to The JAWS Script Repository
> >> >> >> http://jawsscripts.com
> >> >> >>
> >> >> >> View the list's information and change your settings at
> >> >> >> http://www.freelists.org/list/jawsscripts
> >> >> >>
> >> >> > __________
> >> >> > Visit and contribute to The JAWS Script Repository
> >> >> > http://jawsscripts.com
> >> >> >
> >> >> > View the list's information and change your settings at
> >> >> > http://www.freelists.org/list/jawsscripts
> >> >> >
> >> >>
> >> >> __________
> >> >> Visit and contribute to The JAWS Script Repository
> >> >> http://jawsscripts.com
> >> >>
> >> >> View the list's information and change your settings at
> >> >> http://www.freelists.org/list/jawsscripts
> >> >>
> >> > __________
> >> > Visit and contribute to The JAWS Script Repository
> >> > http://jawsscripts.com
> >> >
> >> > View the list's information and change your settings at
> >> > http://www.freelists.org/list/jawsscripts
> >> >
> >>
> >> __________
> >> Visit and contribute to The JAWS Script Repository http://jawsscripts.com
> >>
> >> View the list's information and change your settings at
> >> http://www.freelists.org/list/jawsscripts
> >>
> > __________
> > Visit and contribute to The JAWS Script Repository http://jawsscripts.com
> >
> > View the list's information and change your settings at
> > http://www.freelists.org/list/jawsscripts
> >
>
> __________ 
> Visit and contribute to The JAWS Script Repository http://jawsscripts.com
>
> View the list's information and change your settings at
> http://www.freelists.org/list/jawsscripts
>
__________ 
Visit and contribute to The JAWS Script Repository http://jawsscripts.com

View the list's information and change your settings at 
http://www.freelists.org/list/jawsscripts

Other related posts: