{"id":55,"date":"2007-10-03T17:11:15","date_gmt":"2007-10-04T01:11:15","guid":{"rendered":"http:\/\/www.antunkarlovac.com\/blog\/?p=55"},"modified":"2007-10-03T17:11:15","modified_gmt":"2007-10-04T01:11:15","slug":"openlaszlo-405-released","status":"publish","type":"post","link":"https:\/\/www.antunkarlovac.com\/blog\/2007\/10\/03\/openlaszlo-405-released\/","title":{"rendered":"OpenLaszlo 4.0.5 Released!"},"content":{"rendered":"<p>Last week saw the release of OpenLaszlo 4.0.5. That point release number may not sound terribly exciting, but this is actually a pretty significant new version.<\/p>\n<p>Firstly, 4.0.5 is the first multi-runtime version of OpenLaszlo which is recommended for Flash-based deployment. That means that if you&#8217;ve been working on a 3.x release, you can stop now and upgrade.<\/p>\n<p>DHTML compilation works of course, as it did before, but you may still run into issues. So if you&#8217;re developing an application that you plan to roll out in the next couple of months, the OpenLaszlo development team recommends you plan deploy to Flash.<\/p>\n<p>The other exciting feature of OpenLaszlo 4.0.5 is explicit replicators. Until now, replication in OpenLaszlo has been implicit, meaning that to replicate a view you give it a datapath that matches more than one node:<\/p>\n<p><code>&lt;view name=\"row\" datapath=\"ds:\/root\/nodes\/\"&gt;<br \/>\n&lt;text datapath=\"@value\" \/&gt;<br \/>\n&lt;\/view&gt;<\/code><\/p>\n<p>Implicit replication makes for terse demos, but it can be awkward in a couple of circumstances. Accessing the replication manager &#8211; the class that manages the replicated clones &#8211; is done via the token assigned to the original view (row). This has historically been very confusing for developers new to OpenLaszlo. Secondly, it&#8217;s tricky (and hacky) to force replication to happen if there is no data present at init time. This is typically true for data loaded over HTTP.<\/p>\n<p>Both of these problems are addressed using explicit replication. The above example would instead be written as follows:<\/p>\n<p><code>&lt;replicator name=\"row\"  dataset=\"ds\" xpath=\"root\/nodes\"&gt;<br \/>\n&lt;view&gt;<br \/>\n&lt;text text=\"$path{'@value'}\" \/&gt;<br \/>\n&lt;\/view&gt;<br \/>\n&lt;\/replicator&gt;<\/code><\/p>\n<p>OK, so there&#8217;s a couple more lines of code, but firstly you have a direct reference to the replicator (row), and you get exactly what you expect (the replicator). And the replicator is guaranteed to be there &#8211; regardless of how many nodes there are in the ds dataset.<\/p>\n<p>It&#8217;s worth mentioning that one one of the main reasons replicators were added was to support <a href=\"http:\/\/www.laszlosystems.com\/products\/webtop\/overview\" target=\"_blank\">Webtop 1.2<\/a> (which also came out last week).<\/p>\n<p>Finally, there&#8217;s one more change that makes me very happy: OpenLaszlo 4.0.5 recommends using the old LZX Reference, and links to it. OpenLaszlo 4.0 introduced a new format for the document that LZX developers interact with the most. This new format had some serious problems: the index and categorization of classes was difficult to follow. Inherited properties were not displayed on reference pages. Many live examples were missing. Before I troll on too long, I should disclose that I am biased towards the old format, since I designed it. The new format is still in the package, but it&#8217;s listed as beta.<\/p>\n<p>So if you&#8217;re working on OpenLaszlo 3.4, it&#8217;s time to switch to 4.0.5. <a href=\"http:\/\/www.openlaszlo.org\/download\/\" target=\"_blank\">Download here<\/a>.<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Last week saw the release of OpenLaszlo 4.0.5. That point release number may not sound terribly exciting, but this is actually a pretty significant new version. Firstly, 4.0.5 is the first multi-runtime version of OpenLaszlo which is recommended for Flash-based deployment. That means that if you&#8217;ve been working on a 3.x release, you can stop &hellip; <a href=\"https:\/\/www.antunkarlovac.com\/blog\/2007\/10\/03\/openlaszlo-405-released\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">OpenLaszlo 4.0.5 Released!<\/span><\/a><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/posts\/55"}],"collection":[{"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/comments?post=55"}],"version-history":[{"count":0,"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/posts\/55\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/media?parent=55"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/categories?post=55"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.antunkarlovac.com\/blog\/wp-json\/wp\/v2\/tags?post=55"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}