12-20-2007, 04:15 PM
(This post was last modified: 12-20-2007, 04:26 PM by Dean Roddey.)
So, we are now working towards a 2.4 release. As we've mentioned in a few other threads, we are going to be taking a somewhat different approach on 2.4. Instead of just working on all the changes for the whole release and then starting beta testing, we are going to do the major changes one at a time and release a set of betas along the way, and then probably one last chunk of smaller things at the end.
We feel that this will have a number of benefits:
We never can say exactly that we will do this or that in any given release, since circumstances almost always push us around. But, certainly there are a few key things that are going to get into 2.4 and will be done early. Those being:
Those are the big ticket items we fell have to get into 2.4. Of course, with this new scheme of doing things, if at some point along the line we felt it necessary, we could just do a 2.4, and push the other stuff along to 2.5, since at any one point we may have a nice, stable release that has something that needs to be formally released. But, most likely we'll get all these done before we do a formal release.
We feel that this will have a number of benefits:
- Faster Access. People are always waiting on this, that or the other feature. The bigger the feature the more people are probably waiting for it. So this gets those features out ASAP.
- Better Testing. People are getting one new major feature at a time, so it gets beat on right away. If there are issues, it's all still fresh in our heads and it's more likely we'll get the fix done more quickly and more correctly, and it's far more likely that any problems are in the last or last few new features that came out.
- More Stable Releases. Not that our releases aren't generally quite stable. But this just ensures that the biggest, most complex changes for each release get way, way longer testing time than would normally be the case in the standard way of doing releases. The bigger the feature, the earlier it's done and the longer it's in the field getting proven before the formal release.
We never can say exactly that we will do this or that in any given release, since circumstances almost always push us around. But, certainly there are a few key things that are going to get into 2.4 and will be done early. Those being:
- Driver initialization changes. Drivers need to survive a failure to initialize and keep trying, else they can fail to load when certain system features are not ready by the time CQC's service comes up, which does sometimes happen. This is a major issue for us now, and it will get addressed first. Actually, I've already got it working.
- Driver 'reconfiguration'. The ability to reconfigure a driver instead of just having to remove and re-load it is somethign that's much needed. It makes for fewer mistakes and more convenience, since the install wizard can just offer you the previous values as the defaults and you can change what you need to change.
- First cut at a 'Logic Server'. This is too big to describe in a sentence, but it's been discussed elsewhere. This will offer a huge benefit in terms of creating new fields by doing operations on the values of existing fields. The existing variables driver will be extended to support this.
- Protected drivers. We have some situations where drivers cannot be done because the folks who license the interface won't allow that interface to be seen by anyone who hasn't signed an NDA with them. Since CML is a virtual machine language, all the drivers are shipped as source and compiled on the fly when loaded, so it's not possible to hide the contents of CML drivers. We will provide a means for driver writers to encrypt the driver package when they export a driver (which is why CML was never stored as just text, because it needs to be able to support this.)
- On Error action event. The addition of an OnError event in all actions, which will be invoked if an error occurs during the action. This will allow you to deal with things like drivers not being ready and whatnot, and not get our standard error popup. So this will be a huge deal for creating professional user interfaces in particular.
- Elk/Omni driver updates. It's been a while since these drivers have really been revisited, so we'll be taking another whack at them, to get new features into place.
- Media repository updates. We need to support some things like a few types of on the fly categories (such as "All from artist X" and that kind of thing, and fix some things wrt to how artist/title names are dealt with for sorting and first character access.
Those are the big ticket items we fell have to get into 2.4. Of course, with this new scheme of doing things, if at some point along the line we felt it necessary, we could just do a 2.4, and push the other stuff along to 2.5, since at any one point we may have a nice, stable release that has something that needs to be formally released. But, most likely we'll get all these done before we do a formal release.
Dean Roddey
Explorans limites defectum
Explorans limites defectum