In This Edition:
Helix RADE 6.2 Preliminary Release 4: Changes all over the place
10 September 2011 —The good progress continues with the fourth Preliminary Release of RADE available today.
For those of you who have already climbed aboard the Europa Pioneer plan, your cards will be charged another $20* today. For those out there among “the rest of you,” remember that if you’re thinking of joining the Pioneer program now, your initial payment is now $80, but all subsequent payments will be $20. After all, you are getting “$80 worth of improvements” right from the start.
This month’s release continues to enhance RADE’s AppleScript capabilities, adding more key pieces of the puzzle.
Since more people join up every month, we need to repeat a few things, so, once again, as previously noted, we’ve made the process of updating easier. To get the latest version of RADE, open the About Helix RADE window — it’s in the Helix RADE menu in the RADE you already have — and click on the download link. The installer disk image will be downloaded to your computer. If this is your first experience with Europa — or you like to manage your updates manually — just drag the new Helix RADE onto the Applications folder and let go.
But if you are updating from an earlier version of Europa, double click the new Install Update icon on the disk image. Your Europa RADE will be seamlessly updated to the new version.
The return of “miscommunication”
There are some things we are sure we’ve said, but they have apparently not been communicated nearly as well as we’d hoped. Before we plunge into our discussion of RADE PR4, herewith, an attempt to clarify two of the misconceptions we encounter more often than any others.
First, you cannot get a demo of Helix RADE 6.2 on our demo page. The current product is Helix 6.1.9 and that is what you will find there when searching for a demo. Helix RADE 6.2 is available exclusively for Helix users who join the Europa Pioneer Plan. The first round of that plan ran from June 10, 2011 through July 9, 2011. Pioneer Plan members get every Europa RADE update we produce during that time.
We offer the Plan in two forms: one annual payment of $200, or 12 monthly payments of $20. Unfortunately, one enterprising soul found a loophole in this and signed up for the monthly plan for just one month in order to “see what this is all about.” They then asked us to cancel their subscription. Of course, we honored their request and removed them from the list, but please understand that one of the purposes of the Pioneer Plan was to help us budget our engineering time for the next year. Cancellations mean we need to find other ways to supplement that budget. Fortunately, the vast majority understood this from the beginning.
Second, this is not a one-way street. There is still limitless back-and-forth compatibility between Helix 6.0, 6.1 and 6.2 products. This means that if you happen to be a Europa Pioneer or are considering becoming one, you aren’t committing yourself to a path with no retreat. Not yet, anyway. You can work in your collections with Europa up to the point where you hit a roadblock, bounce back to Classic RADE to finish the work, then open the collection with Helix Server or Engine and work with your data. They are all completely compatible with each other.
Think of it in the same light as when we first introduced the OS X Client. At first, you probably spent the majority of your time using the Classic Client just so you could get work done, switching to the OS X Client to see what your forms looked like and testing to see if it even worked. As we released update after update, you found you could do more and more in OS X Helix, until one day you realized it had been days or weeks since you had to make that trip to Classic.
That same migration path is the plan for OS X RADE.
So what’s new in Preliminary Release 4?
First, what’s not new, and the news about it. Last month, we ended by telling you that we’d report on the status of the Intel-native, Lion-ready Helix Utility project. Our hope, which always springs eternal, was that it would turn out to be doable in a very short period, perhaps as short as a week. We committed to doing exploratory surgery in order to get a clearer picture.
And here’s what we saw: it is going to take more than a week. Substantially more. That news was disappointing, but we also determined that what makes it take so long is relatively low-level, tedious work, rather than being the kind of in-depth project that requires total immersion until completion. What that means is that any downtime between things that move us closer to the end of the AppleScript project will be devoted to the Utility and it will get done over the next few months.
That said, good progress is being made on the new Helix Utility: first and foremost, in case we haven't mentioned it before, the new Helix Utility is our very first Cocoa-based application. Weíre using it to test the waters in this brave new world Apple has commanded us to occupy.
Our new Helix Utility is already opening collections, reading them into memory, and sorting all of the internal objects. Next up is to actually check the collection for data consistency, but our estimate is that we’re more than half way done now.
Now let’s talk about what’s new with Preliminary Release 4. Coincidental with the release number, there are four general areas where progress has been made:
AppleScript dictionary improves
Great progress has been, and continues to be made in making Helix fully AppleScriptable. In fact, we have a fairly solid grasp now on what you can expect and when. More about which below.
As progress is made on the AppleScript front, we are finding that there are many new ways we can use it to extend the power of Helix. Take, for example, a simple new function of AppleScript that identifies the active username you are using with to your collection. Sounds like a little thing, right? But it opens all sorts of doors, and it is what makes that new Install Update script mentioned above work.
The script — which is written entirely in AppleScript and is unlocked so you can open it in a script editor and see how it works — shuts down your old copy of Helix (prompting you to save your open collection, if necessary), replaces the old Helix version with the update, launches the new version, and reopens your collection, bringing you back to exactly where you left off, just as you would expect from any good OS X application.
Another simply but powerful addition is the ability to count records for both relations and fields. Have you ever looked at your work and noticed that over time, you created various fields for purposes that have long since receded in importance? Now you think you want to clean up your collection and maybe delete them, but you aren’t sure how much data is actually stored in there. In Classic Helix you had to build an abacus to find the records where that field is defined and then count the results, either with another abacus or on a list. Helix with AppleScript can report to you how many records exist in the relation, and how many of those records have data in each field, and it can do it really fast and without building any structure.
To demonstrate this capability, we’ve created a simple script that puts it to use. Get it from our new Free Scripts page. Place it in your scripts menu or open it with your script editor. Open a collection and run the script. It uses simple dialog boxes to report the record count of each relation along with the specific count of defined records for each field in the relation. This script is also unlocked, so you can study it to see how it works.
Another small but powerful addition is that AppleScript can now return the selection for any object. With that information, the possibilities expand in many directions. It’s now possible to write much more generalized scripts that act on the selected icons. If you’re tired of writing template "Entry" of relation "Customers" and then having to edit the script when you want to work on a different template, you can rejoice in this simple addition.
Wrapping up some loose ends, the view setup scripting is now complete, as forecasted last month, with the ability to perform a Posting Setup assigning or removing post icons in each of the four trigger zones (i.e., on edit, post all, print and export). Scripting enhancements and new features were made for the collection, user and template icons, and many little bugs — particularly in the way rectangles were handled — have been fixed. Some terminology conflicts were resolved, resulting in new language that applies not only to Helix with AppleScript, but to Helix itself.
Where can we learn to use all this great stuff?
One Tuesday morning in the middle of August, the phone rang here with an odd question. “How come there’s no news about the new Helix in the newsletter?”
“What an odd question!” we thought. “To what newsletter was he referring?” Before we could pose this question, he continued: “I’ve been getting the newsletter for a really long time and I haven’t seen a word about the new Helix in it.” It was then that we realized that the “newsletter” to which the caller referred is actually what is commonly known as The Helix List.
The Helix List is a free and open public forum dedicated to all things Helix; the content is whatever people want to talk about, including Helix RADE for OS X. The List is not ours; it belongs to an independent Helix user who runs it for the love of Helix. The fact that there hasn’t been much discussion of RADE on The Helix List is something we simply do not have the resources to analyze at this time. ;^)
But it just so happens that we have been publishing a newsletter lately called Learning AppleScript with Helix, and in it, all we talk about is the new Helix. We use that newsletter to teach how AppleScript works at the same time as we explore the new scripting capabilities of Helix. If you are hesitant to join the Europa Pioneer Plan because you are afraid you won’t be able to use the AppleScript capabilities, the newsletter (actually a self-paced tutorial) can help you over that hill.
Unfortunately for subscribers, it also just so happens that the latest issue of the newsletter has been severely delayed. The changes in RADE are happening so fast, that our little crew is overwhelmed with responsibilities. So you newsletter subscribers who are wondering if you somehow missed an issue: be patient. We’ll have something for you soon.
The graphical user interface improves
While getting the “standard” Helix interface operational is not the primary thrust of our work at the moment, where it is possible to bring parts of it to life without diverting too much attention from the task at hand, our judgement tends to err on the side of making it happen.
In the Collection and Relation editor windows, indicators are now shown for Unused and Locked icons.
There are also some bug fixes in the Inspector. Deleting the icon currently shown in the Inspector no longer crashes. Deleting an entry when editing a Static Popup no longer deletes two entries. The Validation dialog "Why?" message now wraps in the field, so you can see the whole message. There are also a bunch of “under the hood” fixes that make the graphic interface much more stable in general.
What the exterminator exterminated
There were some nasty vermin loose in RADE this month. These creatures did not dwell in the AppleScript realm. As such, they only reared their ugly little heads when a user was poking around the graphical user interface with their mouse.
For instance, Helix RADE would crash if you opened a Form Query while working in Design Mode. No more. Another crash occurred when closing the Collection Info window and certain window closing triggers would also cause a crash. Deleting a relation no longer leaves Helix teetering on the edge of a cliff, ready to crash at the next activity.
And as always seems to be the case when we are working on RADE, we continue to stumble across fixes for bugs that affect Helix 6.1.9 users. In that realm, these bugs are now fixed:
Of course, with that many fixes that are affecting Helix 6.1.9 users, it is safe to assume there will be a “6.1.10” release in the near future. (We’re working on one more bug that only affects Client/Server users who work with documents, and when that is ready, we’ll start a new round of beta testing.)
A few genuinely new things appear
Ever get tired of having to create a list just to delete everything in a relation? Helix can now delete all of the records from a relation with a single command. Placed in the Icon menu next to the Delete Icon command, its command key equivalent is CMD-Option-Delete. It’s available from AppleScript too.
Disable Structure Check: A new preference has been added to work around a problem that rears its head when attempting to open certain collections hangs in PowerPC RADE. If you are having trouble opening (or saving) collections on a PowerPC Mac, you can now use the HxCheckStructureOnSave preference to disable the checker. An updated version of our preference editor applet that includes this setting is available for download from our Setting Preferences technote. This bypasses the integrated checker, allowing the collection to open and save. If you disable the integrated structure checker, please be sure to check your collections for structural issues with Update Collection, just as you always did in the past.
By the way, the updated version of the Preference Editor applet is also unlocked. It doesnít show any Helix scripting, but you might find the code useful in developing your own scripts.
As noted in the bug fixes, we spent a bit of time working on Lion compatibility, and the Show Toolbar/Hide Toolbar command (in the Edit menu) and the “Popup with Word Wrap off” fix bring us to a place where we believe we are completely ready for Lion.
Lastly, while this isn’t really a new “thing” in Helix, it is a new bridge to cross. We are now ready to let you use RADE 6.2 in a production environment, if you dare: you can now use Helix RADE 6.2 to make changes to your Helix production applications. We are confident that your data will not be compromised. Still, it is vital to work with backups because structural damage is still a real possibility. Fortunately, the integrated structure checker will tell you right away if there is a problem with something you’ve done with Europa RADE, and it gives you an opportunity to “Revert” to the last undamaged state. Of course, you should make frequent backups of any collection you use with Europa RADE, but we can now say with confidence: if the collection passes the Europa integrated structure checker, it’s solid. (The extra-nervous among you should also test your collections with the 6.x utilities — both Helix Utility and Update Collection — to reassure yourselves that all is well.)
What comes next?
Earlier, we dropped one of those “more about which below” phrases on you. Well… here you are. When we were discussing the AppleScript progress we mentioned that we would tell you more about what you can expect and when. On October 10th we expect to deliver a Helix RADE 6.2 with AppleScript support for these icons: the sequence, form query, power query and post.
If you’re keeping score at home, you know that will leave just one icon undone: the abacus. The abacus is both the heart and soul of Helix and “The Final Frontier” for AppleScript in Helix. Itís internal structure is the most difficult to grasp of all of the Helix icons, and we wanted to get as much experience as possible in creating a scripting language before even trying to make the abacus scriptable. The experience we are gaining should enable us to “do it right” the first time, but even so, we plan on working methodically, and expect it to take a couple of months to complete. Once we do, we will have achieved a measure of independence from Classic, gained a powerful new capability and will be at last ready to complete the graphical user interface in Helix RADE Design Mode.
And if you’ve been doing the math, that means that the entire AppleScript project will have consumed less than eight months when all is said and done. Considering that we projected it to take a year or so, we are, understandably, quite pleased with where we find ourselves just four months into the Europa Pioneer Plan.
But while looking forward, we saw far enough to realize that the income we’ve gotten from the Europa Pioneers is starting to run low. We’re not in a crisis yet, but unless a few more brave people to join the group, we’ll be back on our knees with our hands stretched out, begging for support again. We donít want to do it, so all you fence-sitters out there, how about doing yourself a favor and joining the Europa Pioneers? Or maybe upgrading your Helix Server to 6.1? Youíre going to need to do it eventually, so why not now? It will really help.