After almost 20 years of close to no development, change and progress DataEase is shaking off the cobweb and is accelerating forward.
Over these 20 years it has almost become a shared truth that nothing can or will change in DataEase. it is "As designed".
Nothing could be further from the truth. The only thing that couldn't and wouldn't change were the people in charge of it.
For the first time in many years the product develop faster than the customers/users is able to keep up with. And as you some of you have given us feedback on, not even we are able to keep up with the speed of change.
But rest assured, this is intentional. After 20 years in the doldrums there is a lot of stuff that need to be updated and a lot of contemporary functionality that needs to be added.
When we took over DataEase development we knew the status of the product and we accepted that it would take time and effort to get it up to an acceptable standard. We are not there yet, but we are getting closer in leaps and bounds.
It is of course confusing to read about all this new stuff without seeing it as part of a bigger picture, but this bigger picture will slowly reveal itself.
If this had been a start-up rather than a rejuvenation of a product that has been on the market for close to 35 years there would be no version for you to "play with" now.
The only reason there is a 8.x on the market is to support existing users and as most of you would be aware of, we haven't done much in way of marketing.
This is because we want to come full circle on our development before we start blowing our own horn.
So if you are confused by ExecDQL(), MemoClass(), SetClass(), RemoteLookup(), RemotePRISM, DG3, Deployment Server, DE Pump, DE Reporter etc, you are not alone.
They are all real product in different state of readiness but there is one big difference between a working product and a retail product.
A Retail product need a customer base, a support structure, documentation a market channel etc.
At the moment we develop a lot of functionality but only a small part of it interfere or affect the existing user base and that is the functions that is implemented in DE8 Classic, so in fact you only see the top of the iceberg.
At the moment we have just implemented MoveObject() in DE8 and most users of even DE8 is not yet aware. It is a paradigm shift in DFW functionaltiy. Suddenly you can move objects around the form (Screen), Center or position it in the form as well as resize it.
At the same time we are implementing RemoteLookup() which will allow you to lookup data in other DataEase 8 databases in any location as long as you can reach it via HTTP. You will also be able to use it to read/write data in other databases like Oracle/Sybase/SQLServer etc as long as they support HTTP access.
Another feature which is being implemented as we speak is variable number of parameters on Functions. You might have come across it before in Concat() but now we are doing this for functions like ExecDQL () etc.
These functions use parameters to transfer information. ExecDQL has a maximum of 6 parameters. Up to now that means that you need to include them all even though you don't use them.
ExecDQL("message /'Hello World/' window .","","","","","") would be the minimum format before but now you will be able to simply write: ExecDQL("message/'Hello World/' window.") if you don't need the data-entry parameters or the export file name.
For the trained yes you would see that we in the example above use /', and this is another feature that has been implemented (without much ado) over the last weeks.
It is a problem in DataEase that " is part of the parsing structure and "forbidden" together with several other characters.
Pre 8.x you would be quite ingenious to get " as part of a derivation, but with 8.0 we introduced CHR() which will allow you to include any ASCII value as part of a string function.
Imagine writing a slightly more advanced DQL and you realise that you would quickly loose control, so we finally implemented escape keys in String functions.
/' = " /CR = New line /TB = Tab.
I won't spend more time on specific functions here as you will find them all in the blog. The purpose of this article is simply to explain that we realise that none of these functions and all the other more than 50 new functions in DE8.2 and all the new functionality lie RT editor, WebField etc will not be used or even useful for the majority of users before we showcase and promote them properly and we will.
But this is a restart of DataEase so we look at it as a "new" product. When we are happy with the functionality we will release it with the bells and whistles it deserve and we will promote it as a "total" package of functionality.
It has been to much "cry wolf" in DataEase over the years, so now we need to finish the job before we ask people to seriously consider using DataEase in harms way.
However, if you dedicate some time to our blog and study the examples etc, you will get a head start and there will be a lot to catch up on even for the most agile and "up to date" DataEase programmer.