Thanks! I will try that out later today. Regarding the "default.jss" files, is capitalization significant? I have noticed that sometimes it is all uppercase and other times it is all lower case. The same is true for extensions like jss, jsb, and so on. Is this a remnant of the earlier DOS days of 8.3 filenames where capitalization is ignored? Does it matter in this Merge statement or in a Use or Include statement? Don Marang ----- Original Message ----- From: "Jamal Mazrui" <empower@xxxxxxxxx> To: <jawsscripts@xxxxxxxxxxxxx> Sent: Monday, March 09, 2009 3:06 PM Subject: [jawsscripts] Re: Another public beta of JAWS Script Exchange 2.0 > 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 > __________ 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