Version 4.0 (Access ELF 2002) is a direct port of the earlier Version 3.0 (for Access 2000). A number of changes were made to permit the code to operate, given new keyword requirements of Microsoft Access 2002.
In addition, all bug fixes and enhancement to the basic ELF environment which were introduced in the v2.1 release of
VB ELF have been incorporated into this release of Access ELF. These primarily include changes to the Phrase replacement facility and the Scripting component. They are documented here, in VB ELF Compatibility Enhancements
Several other important changes have been incorporated into this release.:
One problem in earlier versions concerned redistributing databases and their associated ELF interfaces. While simple interfaces could be distributed merely by copying the .ELF directory from one computer to another, sometimes the situation was more complicated. Some information was stored centrally (in the ELF32.MDA library file), and this made it difficult to replicate highly customized interfaces without manual import/export. This information included Verbs entered via the Verb Mapper, Scripts, Form Response styles (Favorites).
Moreover, other kinds of information, such as the Phrase definitions and elfAnalyses tables, were stored within the client database itself. This meant that to faithfully reproduce a working interface, you might need to transmit the database as well. This was particularly inconvenient for larger databases, where developers and clients kept separate copies, resyncing on an as-needed basis.
Finally, some Access ELF users objected to the practice of storing information within the client database, on general design principles.
We've addressed all of these issues by aggregating all information related to an ELF interface within the corresponding .ELF subdirectory. As of version 4.0, everything goes into the same folder. Information that was formerly stored in either the client or ELF library has been relocated into a special Custom.mdb file, found in the .ELF grammar directory. So to migrate a database interface from one machine to another, you now need to copy only the interface directory from the "Search In" directory of the source machine to that of the target machine. This assumes that the same database is already available on each machine; and of course, that Access ELF is installed on both machines.
To simplify this process of migrating, trading and publishing interfaces, we've provided Import/Export buttons among the other administrative functions on the Advanced tab of Settings.
Please note that Access ELF does not need to be licensed on the target machine. As of Version 4.0, license information is retained within the ELF interface itself. This means that developers can distribute interfaces that they create (using licensed software) to anyone, regardless of whether the recipient possesses an Access ELF license. The Access ELF program can also be freely distributed. Only license keys cannot be redistributed. License keys permit you to create (and distribute) ELF interfaces. See the Redistribution topic for more.
There are several subtle effects of this consolidation into a single Custom.mdb file. One effect is that there is no longer an issue of specifying which Phrase substitutions apply to which View of a given database. This had been addressed in "workaround" fashion in VB ELF 2.1 (and in the Compatability Enhancements to Access ELF) by allowing developers to specify View which should not apply given substitutions. (This was done by including ! within the Phrase's SortKey field.) However, since each View has ts own .ELF subdirectory, each View now has its own Phrase substitution table, so there is no longer any need to disambiguate the application of Phrase rules.
The downside to this is that there may be some additional work involved in replicating Phrase Substitution lists between Views. We've made this task easier by including two ways to transfer Phrase lists from the old (pre-Version 4.0) elfPhrases tables (contained in the client MDB) and the new Custom.mdb files. One way is to open the Phrase Editor and click the Import button. If the View has already been created, (so the Custom.mdb file exists), then the definitions are transferred. If the View does not yet exist, the definitions are loaded into a temporary table which is transferred as soon as the View is created.
An even easier method of transferring the information is to simply set the AutoImport Preference checkbox to On. This will transfer the information automatically during any Analysis.
It's important to understand that these revisions quite drastically change the requirements for preserving information between analyses. Quite simply, if you erase the .ELF directory, you're erasing all the stored information. This information used to be safely and invisibly held within the ELF32.MDA library file, or within your own database. The information within the .ELF directory was principally information that could be recreated by automated processes. This is no longer true. Information such as scripts and phrase definitions (in other words, developer customizations) are now part of the .ELF package. To preserve this data, you should periodically back up the Custom.mdb file.
In addition to these major changes, there are of course a large number of cosmetic and ease-of-use improvements.
The Save button, which appears on the Custom Analysis form, now stores information related to use of the Master Query option. In previous releases, interfaces relying on a Master Query to define relationships required that this selection was made manually during each analysis. Now all choices that can be made prior to the Analysis are recorded by clicking Save -- including relationship source, excluded tables, and excluded fields.
The capabilities of the data-aware triggers feature of Phrases has been extended. Previous versions of Access ELF documentation reported that, although the marker for resubstituting the data was written as {1}, there was actually no ability to recognize multiple instances of data in a trigger. As of version 4.0, this feature is limited to at most two data-aware triggers per definition. This means that {1} and {2} are the only markers that can be used.
With this release, we're concentrating on making more advanced examples available. The Examples topic has been completely revamped to show you, step-by-step, how to make the most of our software. In addition, we're providing special tools, such as a Multi-Database Regression Test Application. This allows you to automatically run through any number of databases, checking each one to make sure it gives the expected results.
We've improved the Help system too. If you're viewing this as a compiled .CHM file, you'll appreciate the difference between this and the difficult-to-navigate Help system of the past.
Now for some really technical stuff.
Users of previous versions may wonder why the install process has changed, yet again. Prior to Access 2000, the
Install placed our ELF32.MDA library into the Access directory, where it was accessed directly (both in its capacity as an add-in and as a library). With Access 2000 this changed slightly. The Install still copied the ELF32.MDA file into the Access
directory, same as before -- but then Access Add-in manager made another copy (the live, or "working copy") in a separate Addins directory, located in the Documents and Settings folder.
Unfortunately, with Access 2002, Microsoft apparently never considered that some libraries would function in a dual role, both as add-ins (referenced via the Add-ins submenu) and as libraries (with the appropriate Registry entries to enable direct function calls). Or if they did, they didn't test this thoroughly. Because if an add-in registers itself as a library, even
if it gives its proper location in the Add-ins directory, Access 2002 will first try to use any library with the same name found in the Microsoft Access directory.
This means that if we install to the Access directory and let the Add-in Manager copy our library to the AddIns directory,
we may later find ourselves in the awkward situation of running two copies of the library simultaneously (yielding many
mysterious errors caused by uninitialized variables, etc.) This explains why the ELF32.MDA library file is now installed
by default into the parent directory of Microsoft Access 2002, where it's effectively invisible to Access!
Finally, here are the old "What's New"s: What Was New in Previous Versions
Last Updated: March, 2002