Antworten auf Ihre Fragen • Datenbank-Pflege • 4D Coaching • OpenDDDD • Termine • 4D Expert V11/V12-Service • Konzepte • Alternativen • Meine Apps
GebrauchtesMac + iPhone: zu verkaufen
Geo-Themen + ProjekteGoogleMap-Integration • GeoDDDD • Database Publishing • Database Photography
11. Okt 2009
Das Upgrade Training am Mittwoch, den 18.11.09 ist ein Muss für alle, die neue Funktionen so schnell und effizient wie möglich nutzen und in Umsatz verwandeln wollen. Direkt am Tag nach der Entwicklerkonferenz können Sie hier nochmals praktisches Wissen tanken.
V12, da dachte ich tanzt der Bär während der 4D Summit 2009 in Atlanta. Doch weit gefehlt. Wenig ist von dort rübergeschwappt. Twittern ist nett, aber zu wenig, zu dünn, zu kurz, zu Spielkram, zu modisch. Eine gute Zusammenfassung im Blog oder in der Nug ist durch Twittern nicht zu ersetzen. Die Tagesordnung, iCal abbonnieren, gibt ebenfalls nicht viel her.
Einen Moment bitte
Einerseits würde ich mich gerne überraschen lassen, so wie
Die gesammelten InfosBetreff V12 hat Brendan Coveney sich drängen lassen diesen kurzen Abriß ins Netz zu stellen.
Tim Nevels hat sich viel Mühe gemacht und eine ausführlichere Beschreibung in der NUG veröffentlich. →
Mit den Ergänzungen aus der NUG
In den vergangen Entwickler-Konferenzen wurde von den neuen Sprachen, die die 4D-Versionen nach der V11 unterstützen würden, erzählt. Habe ich jetzt nirgendwo was zu gelesen. Bin ich böse drum? Nicht wirklich. Unter Wakanda gibt es mehr.
Am liebsten würde ich die Formulare gestalten wie bisher und sie dann mit den SVG-Befehlen aus 4D ansprechen können. Wäre Klasse oder? Habe ich nix von gehört. Wenn die
2010 – das Quartal habe ich überhört, vergessen. Ich weigere mich auch vor dem September zu sagen wie der Sommer wird ;-)
Infos von Tim Nevels vom 12.10.2009 in der NUG
Ville merci Tim. Ich danke Dir herzlich.
I went to the 4D Summit in Atlanta, Georgia this year. I know that many developers were unable to attend this year and would like to hear more about what we learned this year. I did not take extensive notes this year, but I did jot down some key points on my iPhone throughout the summit. I'm sure 4D, Inc. will be posting more information about v12 and the 4D Summit on their website very soon. But in the mean time, I'll get the discussion started now with these comments.
Synchronization and Replication
In v12 the database engine will provide support for syncing and replication. This feature is still under development so details about implementation are not finalized. Basically you will have two new SQL commands called REPLICATE and SYNCRONIZE that you can use inside the Begin/End SQL commands. You log into a remote database and then use these commands to pull data from a remote database and put it into the local database tables, or into arrays. The 4D database engine handles all the housekeeping for you. All that is needed is to specify a primary key for a table and turn on the replication property for the table. They are trying to create a system that can easily be implemented to do auto replication, yet also provide a way to allow developers to have some fine grained control. Looks good so far -- but the devil is in the details. We'll stay tuned for more info.
Combine a Listbox with a Hierarchical List and you get a Hiearchical Listbox. It's a new way of configuring a listbox so that it contains those little triangles (or boxes with a plus inside for Windows) so you can collapse or expand rows in the list box. It's hard to describe, but when you see it you say -- oh yeah, that would be useful in some situations.
This is a big one and effects several areas. It's a feature that 4D has had and used internally for some time, and now it is being exposed to 4D developers. We all know that to compile a database, you need to declare all variables. If you need to show some info on a form, you need to use a process or inter-process variable on a form. So you need to declare that variable in the compiler definition method. So consider this. Now you create a new variable object on a form. Set the object name to "TheObject", set the object type to "Alpha", and set the object variable name to "". Yes, set the variable name to nothing. Not "tempString_t", but blank.
4D v12 will have commands that will allow you to set the value of an object by its object name. You do not need a variable name. 4D v12 will dynamically create a variable at runtime with the correct type. You can get and set the value of that variable by just using the object name. Humm... this would be very useful.
And how about throw in a command to duplicate an object on a form at runtime and set the new object's name and other properties. So you can create one text variable on a form and at runtime, and duplicate that object many times and move it around on the form as you desire. Even works with static text objects. Say goodbye to the days of creating a form with 300 objects all moved off to the side, and you have to move all the objects around and hide the ones you don't need in the "On Load" form event. Now you just duplicate the object you need, change their object names, and assign them values -- all with just the object name. No variable names required. Yes, the wheels are turning in my mind to about how I can use this feature.
Also related to this feature is listboxes that are created with a SQL SELECT statement INTO a listbox. In v11 the columns or arrays that are automatically created are not "real" arrays that developers can access. They are in fact dynamic array variables. Now you can access these listbox arrays and manipulate them.
External Database Files
It is now possible with the language to create a new .4DD and .4DB file and access it while maintaining access to the default data file. I'll describe it with an example. You create a menu item in your database called "Archive Data..." It display a dialog box to allow the user to specify what tables they want to archive records from. They click OK and in your code you do the following:
Enhanced Method Editor
It looks the same, but under the hood it's all new. The method editor can now pretty format more than just the current 4D language. In v12 it also deal with SQL. So the code inside the Begin/End SQL is now displayed with colors for table names, column names, keywords etc. And it also supports type ahead of SQL that is very intelligent. So using the tab key is now very useful inside Begin/End SQL commands.
We get a new command called "PHP Execute" that will execute a PHP function or script. The cool part is that it allows you to pass in parameters and get back parameters very easily. The PHP engine is imbedded inside 4D so it is always available -- nothing to download and install. And anybody can use it -- 4D Server, 4D Webserver, 4D Remote. So now you can go search the web for a php script that does something you need. Put a copy of that script text file into a folder near the 4D structure file and you are basically done. This does not open up some doors -- it blows the doors off the hinges and exposes a whole new world.
SQL Dump & SQL Execute Script
We get a new command that will create a SQL dump text file. I think this is a SQL standard for allowing you to create a specially formatted text file that contains data exported from a database. So now you can ask that IT manager "give me a SQL dump of all the tables in your database, I want to load that data into 4D." Does not matter if he is using MS SQL Server or MySQL. And the text files he give you, you can use to load a 4D database with just the "SQL Execute Script" command. And you can do the same for him and dump data out of 4D. I think there is more you can do with this new feature, I just don't know what that would be at the moment.
Dazu MySQL Dump
Rich Text Fields
Yes, we have waited decades -- 25 years -- for this feature. You can now specify a text field or a text variable as "rich text" and you can have bold, italic, different fonts, sizes, and colors in a text field. Think super-mini word processor capabilities. The cool thing is that all the formatting info is embedded into the text field by using html SPAN tags. Of course there is new commands and support in the language to manipulate the styled text. EVERYONE will use this new feature somewhere.
At the wrap-up session someone asked Laurent about have static rich text objects on forms. Currently v12 does not support static rich text objects, but Laurent said "it should not be too hard to do, and it is a good idea". So... maybe. :-)
Think detail subforms. Now we can include a subform on a form, but the subform must be a multi-line "output" form. With v12 you can include a "detail" form on a form as a subform. Example: You create a nice little text field formatter bar with a popup for font, a popup for font size, a button or bold, italics, underline, etc. You use this to allow the user to format one of those new v12 rich text fields. Now you can include the formatter bar on other forms -- as a detail subform -- and use it to control a rich text field on the main form.
There is also support to allow you to access detail forms from a component and use them in the host database. This is what "form widgets" is all about. You can now "publish" forms from a component and use them on host database forms. YEAH!! Oh, and 4D will also provide 30-40 pre-made form widgets for us to use. This is getting closer to the object library that we have all been dreaming about.
Getters And Setters For All
You know how there is a command called BUTTON TEXT to set the text in a button, but there is no way to "get" the text of a button with the language. Well no more, now there is a "Get Button Text" command. 4D has committed to always provide a "getter" command for any "setter" command in the language. v12 will fill in the holes. Thank you, thank you, thank you 4D!!
That's the areas that got me excited about 4D v12. This is not all the new stuff coming -- just what caught my interest.
… I forgot to mention those 2 important changes. 4D v12 will be 64 bit for 4D Server Windows. No Mac support for 64 bit yet -- 4D is still a Carbon app on Mac OS X. They are in the process of moving to Cocoa and then Mac OS X users will have a 64 bit version -- expected with v13.
And they have overhauled the printing sub-system in 4D. Again, new under the hood but same 4D language API -- with a new addition. There is now a "Print Object" command. You specify the form and the name of the object on the form, and the position on the page to print that object. Very powerful and give developers a lot more control of building a printout.
Oh yes, you can now print listboxes on a form, and there are print variable frame type objects.
Weitere Infos aus der NUG
I expected the new language in V12,
but that was promised on V13, coming by ways of the merge with Wakanda.
Yes Julio, that is how I heard it too. Wakanda is a totally new project that can go in any direction 4D wants. But Laurent is in charge of Wakanda, and his intention is to merge work from Wakanda into 4D -- and vice versa.
I also heard that the method editor is all new under the hood. You see some small changes on the surface, but the big change is in the method editor "engine" and it's new language capabilities.
I wonder if there are other text editors out there that support pretty formatting of SQL code, and are tightly integrated to the data dictionary to allow type-ahead and auto-complete of SQL language objects. The new 4D v12 method editor can.
Das sind die Highlights der 4D Entwicklerkonferenz 2009 in Ismaning:
And for me, the lasting impression is 4D Inc's long-term strategic direction to:
Embrace and Incorporate Industry-Standard Languages Into 4D
In v11, 4D officially embraced the SQL standard as an alternate data-access language within 4D.
(Note: I think it would be really cool if they named Version 12 "4D SQL Server v12". Someone in a keynote referred to 4D Server as "4D SQL Server" and I really, really, REALLY liked that name.)
What This Means to Us
The name aside, I am glad that they finally settled on the official OO language for 4D.
Walt Nelson - Guam
Weil die Allegorie …
Von der V8 zur V12
V12 gefällt mir gut. Das ist wie V8, leise, schnell und gut. Die ungeraden Zylinderzahlen waren bisher nur billiger, außer dem 5E schaffte es keiner zum Wunschkandidaten, der V5 hat sich nicht durchgesetzt.
** sollte es keine V13 geben – Marketing und Aberglaube liegen nicht weit auseinander, dann statt V14 die V15 einsetzen – oder TNV+2 ↵
Typos habe ich ausgebessert.