Monday, August 27, 2012

What's cooking in the EDT kitchen? - August 27

Last week we continued on the path towards a fully-extensible EDT. In particular, we worked on:
  • Making validation of EGL source code extensible.
  • Making it possible to add new types and annotations.
  • Modifying the SQL, IBM i, and services code to use the extensibility features.
This is the same list of features that I wrote in my previous post.

Matt

Tuesday, August 21, 2012

What's cooking in the EDT kitchen? - August 21

This week's "what's cooking?" post looks a lot like the one from last week.  We kept our focus on Extensibility, as you can see below.

Extensibility
  • Making validation of EGL source code extensible.
  • Making it possible to add new types and annotations.
  • Modifying the SQL, IBM i, and services code to use the extensibility features.
The schedule for this release calls for us to finish Milestone 1 at the end of the week.  We've decided not to make a special Milestone 1 build, because there's nothing interesting to give you.  The extensibility work is being done outside of the main development branch, and we won't finish it for quite some time.

Matt

Tuesday, August 14, 2012

Developing Mobile Applications with EGL

As you may have read in the What's New content for EDT version .8.1, EGL now supports the development of mobile applications using the Dojo Mobile Widget set.

Images from the EGL Dojo Mobile Samples

If you are interested in developing mobile applications, the following links contain some recommended reading:

* Supported Dojo Mobile Widgets
* Configuring an EDT workspace for mobile development
* Supported Browsers and Rendering Engines
* Mobile Samples

Also, at this time, it is not recommended that an application use both the Dojo Mobile widget set and the Dojo Desktop widget set, as it may cause runtime and performance issues.

We look forward to seeing the types of mobile applications being developed with these new widgets.  Any questions or comments related to the mobile widgets, or EDT in general, should be posted in the EDT forum.  If you find a bug in any of the widgets, you can open a defect in Bugzilla using the  Widgets component.

-Brian

What's cooking in the EDT kitchen? - August 14

Last week we continued down the path I described in my previous post.  We're in the early days of developing EDT 0.8.2.  The two main themes of the release are Extensibility and Language (we'll get to the Language part later).

Here are last week's main accomplishments:

Extensibility
  • Making validation of EGL source code extensible.
  • Making it possible to add new types and annotations.
  • Modifying the SQL, IBM i, and services code to use the extensibility features.
Other
  • Added a new sample project, the EGL Dojo Mobile Sample. It's available in the Samples section of the EDT web site.
  • Evaluating the entries to the EGL programming contest in China.
Matt

Tuesday, August 7, 2012

What's cooking in the EDT kitchen? - August 7

I'm happy to say that EDT 0.8.1 was released a few days after my last post.

The schedule and content for EDT 0.8.2 have been posted on the EDT wiki. The two main themes for the release are Extensibility and Language. The Extensibility effort's aim is to make a pluggable framework for compilers and generators, which our code will then use. The goal for the Language theme is to implement the core elements of EGL that we haven't implemented yet.

During the last two weeks we changed version control systems, from CVS to Git. This has slowed us down a little, but we're getting used to Git. (By the way, if you're interested in contributing to EDT, read our Developer's Guide to Getting Started on EDT.)

Here are the other things we've been doing:

Extensibility
  • Making validation of EGL source code extensible.
  • Making it possible to add new types.
Other Matt

IBM i Updates in EDT 0.8.1

For those of you using EDT to develop applications that access IBM i programs, EDT 0.8.1 has a few changes you'll want to know about:

 

Annotation name changes

Based on feedback from you, our users, we have changed the names of the annotations used to control data conversion. Annotations that were previously prefixed with AS400 in the eglx.jtopen.annotations package now specify a prefix of Struct. As an example, the AS400Text annotation is now StructText. When you open existing EGL source code in EDT 0.8.1, you will see validation errors and you will need to change the annotation names.

 

New datatypes

EDT 0.8.1 adds Time and limited String to the types that can be used with IBMi programs.

The use of limited strings provides some advantages in coding for IBMi programs. EDT 0.8.0 required that all string fields used in accessing IBM i programs specify AS400Text{length=xx}. If you use a limited string, you no longer need to use a StructText annotation.

For example:

  firstName string{@StructText{length=10}};

can now also be written:

  firstName string(10);

Specifying an IBMiConnection on the proxy function

In EDT 0.8.0 you used connectionResourceBindingURI on the IBMiProgram annotation to define a default connection on the proxy function. In version 0.8.1 we have normalized connection definitions, and you can now use an @Resource annotation on the proxy function to specify the default connection.

EDT 0.8.0
  function testProc2(IPARM int inout, 
                      RETDATA int inout)returns(int){
     @ExternalName {value = "TESTPROC"},
     @IBMiProgram {
         isServiceProgram=true,
         programName="TSTSRVMME",
         libraryName = "/QSYS.LIB/TSTSRVPGM.LIB",
         connectionResourceBindingURI =         
                  "binding:file:thirdparty_programs#conn1"
     }
  }
EDT 0.8.1
  function testProc2(IPARM int inout, 
                      RETDATA int inout)returns(int){
     @ExternalName {value = "TESTPROC"},
     @Resource{uri = 
                "binding:file:thirdparty_programs#conn1"},
     @IBMiProgram {
         isServiceProgram=true,
         programName="TSTSRVMME",
         libraryName = "/QSYS.LIB/TSTSRVPGM.LIB"
     }
  }


Thank you for using EDT,
Joe

Thursday, August 2, 2012

Browser rendering engines

In release 0.8.1 we made a change to the visual editor's rendering engine preferences (to see what I'm talking about navigate to Window > Preferences > EGL > Rich UI > Appearance, section at the bottom). There's no longer a 'default' option, as that was leading to confusion as it differs from system to system. The new preferences are more explicit about which engine to use, and we only display options that are supported on your operating system and architecture. Linux users will also see a 'User configured' option which will use the default engine as configured per the SWT FAQ, since many such systems aren't set up to "work out of the box".

For more information on what's supported, see the "Rendering Engines" section at http://wiki.eclipse.org/EDT:Supported_Platforms.

Is this more complicated than it should be? YES. But we're limited by what SWT supports and the manual configurations, if any, SWT requires.

Also worth noting is a new button in the visual editor's toolbar:


Clicking on this question mark will display the user agent of the rendering engine being used by the visual editor - especially useful when using the 'User Configured' option. It would also be useful to include the user agent information when opening bug reports related to Rich UI runtime errors.

-Justin

Wednesday, August 1, 2012

Version 0.8.1 is ready

We finished testing and are pleased with the new version, which shows the two main benefits of EGL: ease of coding and ease of thought.

For the first time, you can use the Rich UI feature to develop mobile applications. The new version also offers a consistent way to access enterprise logic from your mobile applications and from other web applications.

Now... what do you say?

No, I'm not asking you to say "thank you"; I'm asking, "What do you think?"


-- Ben