Simplicty and flexibility!

The Story behind....

All the fuss at the moment is about DataEase 8 and that is as it should be as we gear up towards the release. But I can't help thinking that a lot of what is going to make DataEase 8 a great product, and the DataEase 8 product range the most productive DataEase range since DFD is down to it's younger brother - DataEase Generation 3.

We have kept silent about DG3 because we wanted to finish it in peace but it is now time to start showing and talking a little more about the truly new member of the DataEase family.

The future of application development is neither Windows nor DOS - it is web. If Dos was the letter, then Windows was the phone and Web is the mobile phone. As we get set in our ways we have a tendency to think that things was better before, but in reality they weren't it is just we that have a problem in keeping up. I love DFD and I have grown to adore DataEase 8 but nothing beats what I feel for DG3. DG3 can do what DFD did - just better, and what DataEase 8 do - just better, and it do what a proper Web tools should do - just better! Imagine having the flexibility and usability of DFD and the "glamour" of DataEase 8, then imagine that when you have created a form/report/page/procedure/view/menu/navigator... you can access it from any computer or device on this planet that is connected to the internet. Imagine that when you complete a transaction in your POS system or when you insert an order in your webshop, that information is available to anyone you want to share it with anywhere at that instant. When you add that to the normal flexibility of DataEase when it comes to evolutionary development, change of mind, "will have to do for now", then you realise that you can finally make absolutely anything in DataEase. The picture at the top of the page is the Catalogue in DataEase 8 as it looks today. The useless Catalogue Help that was introduced with 7.x is now suddenly become very useful. The only difference between 7.x and 8.x is that in 7.x it read some static html files from disk, now it connects to our main website via a different template that is specially made for this. The information and transaction logic is shared with the main website but the presentation is specially adapted for DataEase 8. In theory we could have done the same thing in 7.x, but back then we didn't have the engine that could make such a service come alive. We don now! 1. This is the DQL editor in DG3 as it looks in the development version. 2. This is the new implementation of the suggestive DQL wizzard that was so popular in DFD. 3. You quickly realise that the pick boxes from DFW DQL is quite good to have too, so we decided to include them too. Even stronger together...;-) DQL was never the same after DFD. In DG3 it is more than the same. DFD and DFW shared the same limitation when it came to DQL - you had to run it separately and the result had to be either presented directly in a report or you had to store it in a table and present it later. In DG3 you can use a DQL as a procedure to update and manipulate data, as a trigger to manipulate data on even, as your own function language to simply define a job to compute and then return the result, as a view to populate a report or a page. In short, almost anything you like! The example here is the Main Article section of our Webpage. We originally built it on a table that defined the layout of the page, but after a while we lost control. It was very inflexible and we had to move articles manually down the view to get them in right position, we also had to calculate correctly the height of articles, images etc for it all to add up. So what we did today was simply to replace that Table view with a computed one created in DQL and that is what you see above in the editor and below you can see the simple and messy DQL code. define temp "telle" number . define temp "counter" number . define temp "Width" number . define temp "height" number . define temp "StyleHeight" text . define temp "HeadingFontSize" number . define temp "IngressFontSize" number . define temp "ImageWidth" number . for DG3_Article with Frontpage = Yes ; Counter:=counter + 1 . if Counter = 1 then Telle := 1 . else If Counter <= 3 then Telle :=2 . else if Counter <= 7 then Telle := 4 . end . end . end . if Counter=7 then Counter := 0 . end . width := 749/telle-1 . ImageWidth := width . height := 600-(50*telle) . StyleHeight := concat("height:",height,"px" ). HeadingFontSize := 22-telle*2 . IngressFontSize := 14-telle . list records PublishDate in reverse ; FPImage3 ; Heading ; ImageWidth ; Ingress ; ArticleID ; Width; StyleHeight; HeadingFontSize; IngressFontSize; FPImage2 . Sorry, this might be a little long winded, but I just wanted to show you the beauty of a messy DQL. This DQL simply replace the Table view, and suddenly all the stuff that I had to calculate manually before is not automatic and my front page is guaranteed current and "beautiful". This is of course a simple and idiotic layout option, I could have merged the layout with a layout table that instructed me on the layout but that might be tomorrow or the day after. For now I am happy. This DQL now populate the layout I have defined for this view section on the front page: This is simply the innerHTML for a DG3 view where the normal HTML encapsulate the DG3 LiveText tags. When DG3 execute the page generation all the live text is replaced by the representative data from the DQL view.. simple as that. I think we leave it at that as we don't want to steal the limelight that DataEase 8 so rightly deserve, but rest assured that this is not the end of the new DataEase, it is not even the beginning of the end, but it is most definitely the end of the new beginning! All the best! Ahh... sorry. Below you can see the result of the DQL+and the DG3 code view, you might have seen it before...

Published: 15/01/13 - 23:07:11 (Ulrik Jacob Hoegh-Krohn)

Last changed: 20/01/13 - 22:57:27 (Ulrik Jacob Hoegh - Krohn)

Related Articles

DataEase is NOT on Hold, it is not even resting....

There has been a &nbsp;lot of aggravation and mistrust directed towards DataEase from its user base over the last years and to be honest it is deserved.&nbsp;After 20 years of promises that was almost &nbsp;never delivered it will take hard work to get pe...

Pure 8 - or DataEase Por.. as we call it around here.

As you might have guessed. DataEase 8 is not an "upgrade", it is a completely new version of DataEase for Windows. It was time this product shook off it's parent issues and stood firmly on its own too feet. For way too long has migration/conversion/compa...

LegEasy 6 Windows - Spoilt for choice?

Our way or no way! That is how it used to be around here. We took our time in updating and changing the product, and when it was published, that was more or less it. If you liked it - fine, if you didn't - What are you going to do about it? Our primary g...

Impressionism, expressionism or conservatism?

We have obviously spend a lot of time disecting both DFD and DFW over the last years when we worked on DG3 and DataEase 8. Our "balanced" view is that DFD is not as good as people like to believe (especially not in 2012 ;-) and that DFW is not as bad as...

DataEase 8 PRE I - Preview

The development up to and including PRE II focused on functionality and more than 40 new functions and a lot of new functionality has been added. We are still adding some more functions, but we are getting close to being satisfied with what DataEase 8 Dev...

DataEase is NOT on Hold, it is not even resting....

There has been a &nbsp;lot of aggravation and mistrust directed towards DataEase from its user base over the last years and to be honest it is deserved.&nbsp;After 20 years of promises that was almost &nbsp;never delivered it will take hard work to get pe...

Pure 8 - or DataEase Por.. as we call it around here.

As you might have guessed. DataEase 8 is not an "upgrade", it is a completely new version of DataEase for Windows. It was time this product shook off it's parent issues and stood firmly on its own too feet. For way too long has migration/conversion/compa...

The Story behind....