tag:blogger.com,1999:blog-73958160387398573782024-03-13T20:52:25.396+01:00GeoExtGeoExt, the library on the top of ExtJS and OpenLayersCédric Moullethttp://www.blogger.com/profile/06947117799577904122noreply@blogger.comBlogger41125tag:blogger.com,1999:blog-7395816038739857378.post-20934013932504552632015-06-20T12:39:00.000+02:002015-06-20T12:39:41.210+02:00GeoExt 3 Codesprint - Day 2 and 3<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-wKYGTSVl-A4/VYQjSe7R0II/AAAAAAAAABA/atxjbEwml1k/s1600/geoext3-sprinters.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="http://3.bp.blogspot.com/-wKYGTSVl-A4/VYQjSe7R0II/AAAAAAAAABA/atxjbEwml1k/s320/geoext3-sprinters.JPG" width="320" /></a></div>
<br />
Day 2 and 3 of the GeoExt 3 Codesprint brought a lot of useful outcome. After the sprinters had to do a lot of discussion work on <a href="http://geoext.blogspot.de/2015/06/geoext-is-getting-3.html" target="_blank">day 1</a> the following two sprint days could be used to implement a lot of stuff. Here is a list of tasks which were already tackled:<br />
<br />
Investigations on an approach to use an ExtJS "Universal App" (optimized for desktop and mobile) with GeoExt components seemed very promising.<br />
<br />
First research work for vector support in the PrintProvider class has been done.<br />
<br />
A lot of work has been invested on the data models especially in combination with the LayerTree.<br />
<br />
A Popup class to <a href="http://rawgit.com/geoext/geoext3/master/examples/popup/gx-popup.html" target="_blank">show georeferenced popups</a> on the map has been implemented.<br />
<br />
A LayerList class for mobile devices has been written.<br />
<br />
The FeatureRenderer class has been done, including examples and tests.<br />
<br />
A <a href="https://geoext.github.io/geoext3/" target="_blank">website</a> has been setup for the project.<br />
<br />
A lot of examples have been created. Some of them are published on the project website. Some more are following the next days.<br />
<br />
The license had to be switched to GPLv3 because Sencha removed the FLOSS exception, which allowed us to license GeoExt under BSD before.<br />
<br />
<br />
So all in all a really great result of the sprint! Thanks to all sprinters, who worked on this.<br />
<br />
<br />
But the sprinters did not just work. On Thursday evening was a great social event at Braushaus Bönnsch where the sprinters could enjoy the local food and beer.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-b3QRYEvtE-g/VYU-egzXjnI/AAAAAAAAABQ/EZtkbnrpWyg/s1600/geoext3-social-event.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-b3QRYEvtE-g/VYU-egzXjnI/AAAAAAAAABQ/EZtkbnrpWyg/s320/geoext3-social-event.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
To sum it up:<br />
The GeoExt 3 Codesprint was a big and important step for the project! A solid foundation for the future of GeoExt has been created. Stay tuned!<br />
<br />
Last but not least a big thank you to all our <a href="https://github.com/geoext/geoext3/wiki/GeoExt-3-Codesprint#sponsors" target="_blank">sponsors</a>. Without their input this sprint would not have been possible. And thanks to <a href="http://www.terrestris.de/" target="_blank">terrestris</a>, for beeing such a great host (especially chef Till) .<br />
geofootballerhttp://www.blogger.com/profile/09705249174284512632noreply@blogger.com0tag:blogger.com,1999:blog-7395816038739857378.post-84040687241303278432015-06-18T15:12:00.002+02:002015-06-18T15:12:21.536+02:00GeoExt is getting the 3<h4>
GeoExt 3 Codesprint </h4>
Yesterday a group of GeoExt developers came together in Bonn (Germany) to set the foundation for the new GeoExt 3 which will be built upon ExtJS 6 and OpenLayers 3. In Bonn itself 9 sprinters attended on-site and one sprinter worked remotely from Greece.<br />
<br />
The Codesprint has been sponsored by several companies and agencies (either by providing developer manpower or by money donations):<br />
<br />
<ul>
<li><a href="http://www.bistum-eichstaett.de/" target="_blank">Bistum Eichstätt</a> </li>
<li><a href="http://boundlessgeo.com/" target="_blank">Boundless</a></li>
<li><a href="http://www.compass.ie/" target="_blank">Compass Informatics Ltd</a> </li>
<li><a href="http://www.isb-ag.de/" target="_blank">ISB AG</a> </li>
<li><a href="http://www.lgl-bw.de/lgl-internet/opencms/de/index.html" target="_blank">Landesamt für Geoinformation und Landentwicklung Baden Württemberg </a></li>
<li><a href="http://landplan.ch/" target="_blank">Landplan AG</a> </li>
<li><a href="http://www.meggsimum.de/" target="_blank">meggsimum</a> </li>
<li><a href="http://www.terrestris.de/" target="_blank">terrestris GmbH & Co. KG</a></li>
</ul>
<div>
<b><i>Thank you for supporting GeoExt!</i></b></div>
<br />
<h4>
Day 1 - Getting Started</h4>
<div>
<div>
After a decent warmup we had some strategic conversations before hitting the keys. First of all we defined the objectives of the sprint in order to get a kind of prioritized roadmap. After that Kai and Marc presented their work on ExtJS 6 and OpenLayers 3 which tackeled a lot of the architectural project setup (e. g. the package structure and a test suite) and even some class impementations (e.g. a MapPanel and a basic LayerTree), which were demonstrated as working examples. The sprinters agreed to use this pre-work as a good starting point for the implementation stage and therefore we merged the code of Marc and Kais work into the project master.</div>
<div>
After that a lot of strategic discussions were done, which were very productive and necessary to get a common understanding of what we want to achieve.</div>
<div>
<br /></div>
<div>
Later the day we started hacking and tackled the following tasks:</div>
<div>
<br /></div>
<div>
The MapPanel class has been reworked to an ExtJS Component and is no more a ExtJS Panel in order to avoid overnesting, which is a first step for mobile support.</div>
<div>
<br />The implementation of a FeatureRenderer started and will be continued the next days.</div>
<div>
<br />First tests for mobile support have been done.</div>
<div>
<br />A script for generating example skeletons has been implemented.</div>
<div>
<br />Work on the print package started and will be continued the next days.</div>
<div>
<br />The GeoExt package (to use in Sencha Cmd architectures) is now available on remote resource.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
So a lot has been done but still many more to do. Stay tuned! </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-T37cX10go-E/VYLCKCIi7lI/AAAAAAAAAAo/P5mPHkieprc/s1600/IMG-20150618-WA0004.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-T37cX10go-E/VYLCKCIi7lI/AAAAAAAAAAo/P5mPHkieprc/s320/IMG-20150618-WA0004.jpg" width="320" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Special thanks to the "GeoExt chef Till", who supported us with an excellent soup for lunch!</div>
</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-DgXZXDlKg9A/VYLCddAQRTI/AAAAAAAAAAw/oqUPm0BSR04/s1600/IMG-20150618-WA0003-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-DgXZXDlKg9A/VYLCddAQRTI/AAAAAAAAAAw/oqUPm0BSR04/s320/IMG-20150618-WA0003-1.jpg" width="320" /></a></div>
<div>
<br /></div>
geofootballerhttp://www.blogger.com/profile/09705249174284512632noreply@blogger.com0tag:blogger.com,1999:blog-7395816038739857378.post-67754590592854144092014-03-20T10:27:00.002+01:002014-03-20T10:27:48.054+01:00Bugfix release GeoExt v2.0.1 is availableWe are pleased to announce <a href="https://github.com/geoext/geoext2/releases/tag/v2.0.1">GeoExt 2.0.1</a>, which is the first bugfix release of the <a href="http://geoext.github.io/geoext2/">GeoExt 2</a>-series.<br />
<br />
This release only fixes minor issues with 2.0.0. This is what is included:<br />
<br />
<ul>
<li>Fix GeoExt.Version <a href="https://github.com/geoext/geoext2/pull/201">#201</a></li>
<li>Use theme-switcher in examples <a href="https://github.com/geoext/geoext2/pull/202">#202</a></li>
<li>Made GeoExt.LayerModel extendable <a href="https://github.com/geoext/geoext2/pull/203">#203</a></li>
<li>Refactor sliders <a href="https://github.com/geoext/geoext2/pull/204">#204</a> & <a href="https://github.com/geoext/geoext2/pull/205">#205</a></li>
<li>Testsuite enhancements <a href="https://github.com/geoext/geoext2/pull/211">#211</a> & <a href="https://github.com/geoext/geoext2/pull/214">#214</a></li>
<li>various minor bugfixes</li>
</ul>
<br />
All users of GeoExt 2 are encouraged to update to this version. Updating should be no problem and should not break your applications built on top of GeoExt 2.<br />
<br />
Thanks to everyone who was involved in building this version.Marc Jansenhttp://www.blogger.com/profile/01477703648321741367noreply@blogger.com0tag:blogger.com,1999:blog-7395816038739857378.post-67709891885290824342013-10-25T18:10:00.001+02:002013-10-25T18:10:35.706+02:00Finally: GeoExt 2.0.0 releasedTwo weeks after the <a href="http://geoext.blogspot.com/2013/10/announcement-geoext-2.0.0-rc.1-released.html">first release candidate</a>, we are happy and proud to announce the release of GeoExt 2.0.0!<br />
<br />
Download it at <a class="moz-txt-link-freetext" href="https://github.com/geoext/geoext2/releases/tag/v2.0.0">https://github.com/geoext/geoext2/releases/tag/v2.0.0</a><br />
<br />
GeoExt 2.0.0 is the first official GeoExt version that is built
atop of <a href="http://openlayers.org/">OpenLayers 2.13.1</a> and <a href="http://www.sencha.com/products/extjs">ExtJS 4.2.1</a>.<br />
<br />Read more about this release <a href="http://geoext.github.io/geoext2/">over at github</a>, <a href="https://github.com/geoext/geoext2/releases/tag/v2.0.0">download GeoExt 2.0.0</a>, and use it in your
OpenLayers 2.13.1 and Ext JS 4.2.1 powered webpage. Do so by telling the
autoloading-mechanism of Ext about GeoExt: <br />
<br /><span style="font-family: Courier New, Courier, monospace; font-size: x-small;">
Ext.Loader.setConfig({ <br />
enabled: true, <br />
paths: { <br />
<b>GeoExt: "path/to/geoext2/src", </b><br />
Ext: "path/to/extjs/src" <br />
} <br />
}); </span><br />
<br />
We are looking forward to your feedback on this release.<br />
<br />
<br />Marc Jansenhttp://www.blogger.com/profile/01477703648321741367noreply@blogger.com0Omiš, Kroatien43.443355900000007 16.69291750000002143.397234400000009 16.612236500000023 43.489477400000006 16.77359850000002tag:blogger.com,1999:blog-7395816038739857378.post-8311108484618831842013-10-15T15:34:00.002+02:002013-10-16T13:49:07.690+02:00Announcement: GeoExt 2.0.0-rc.1 releasedThe GeoExt community is proud to announce the first release candidate of GeoExt 2.0.0.<br />
<br />
Download it at <a href="https://github.com/geoext/geoext2/releases/tag/2.0.0-rc.1">https://github.com/geoext/geoext2/releases/tag/2.0.0-rc.1</a><br />
<br />
GeoExt 2.0.0-rc.1 is the first official GeoExt version that is built atop of <a href="http://openlayers.org/">OpenLayers 2.13.1</a> and <a href="http://www.sencha.com/products/extjs">ExtJS 4.2.1</a>. It has been in the making for quite a while, but most of the code comes from a code sprint in Bonn, Germany, that <a href="https://github.com/geoext/geoext2/wiki/GeoExt-2-Code-Sprint">happened last year</a>.<br />
<br />
The newest major version of GeoExt wants to provide mostly the same API you know and love from the <a href="http://geoext.org/">1.x-series</a>. It comes with support for the autoloading-mechanism of ExtJS, support for the single-file build tool of Sencha and with an exhaustive documentation that is built using the same tools as ExtJS. There are two versions of the API-docs: one has only the <a href="http://geoext.github.io/geoext2/docs/">GeoExt-classes</a>, while the other <a href="http://geoext.github.io/geoext2/docs-w-ext/">also has the basic Ext-classes</a>, from which properties and methods might be inherited.<br />
<br />
This release wouldn't have been possible without <a href="https://github.com/geoext/geoext2/wiki/GeoExt-2-Code-Sprint#sponsors">the sponsors</a> of the above mentioned sprint. Also we want to thank the companies behind the contributors of GeoExt for supporting GeoExt development in numerous ways.<br />
<br />
We invite you to test the release candidate! To do so, download GeoExt 2.0.0-rc.1 from (see above) and use it in your OpenLayers 2.13.1 and Ext JS 4.2.1 powered webpage by telling the autoloading-mechanism of Ext about GeoExt:<br />
<br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><b> Ext.Loader.setConfig({</b></span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><b> enabled: true,</b></span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><b> paths: {</b></span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><b> <span style="color: #38761d;">GeoExt: "path/to/geoext2/src",</span></b></span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><b> Ext: "path/to/extjs/src"</b></span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><b> }</b></span><br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><b> });</b></span><br />
<br />
Have a look at the examples and additional information listed at the GeoExt 2 website over at github: <a href="http://geoext.github.io/geoext2/">http://geoext.github.io/geoext2/</a><br />
<br />
We are looking forward to your feedback on this release.<br />
<br />
[Edited 2013-10-16: Removed typos]<br />
<br />Marc Jansenhttp://www.blogger.com/profile/01477703648321741367noreply@blogger.com0Bonn, Deutschland50.742249030274792 7.139001866812122950.740993030274794 7.1364803668121226 50.74350503027479 7.1415233668121232tag:blogger.com,1999:blog-7395816038739857378.post-26589872215543378192012-10-18T05:43:00.002+02:002012-10-18T07:29:29.936+02:00OpenLayers 3: Invest in the web mapping future !OpenLayers Community has initiated a <a href="http://openlayers.org/blog/2012/10/17/openlayers-3-call-for-funding/" target="_blank">call for funding</a> in order to develop a brand new release based on the latest technogies: <a href="http://openlayers.org/blog/2012/09/28/ol3-vienna-code-sprint-report/" target="_blank">OpenLayers 3</a>. If this becomes a reality, than GeoExt will also benefit of these new possibilities and would allow to develop awesome applications.<br />
Please get in touch at <a href="mailto:ol3-funding@googlegroups.com">ol3-funding@googlegroups.com</a> if you’re interesting in being involved.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-igM9NnConr8/UH-Sl2AguMI/AAAAAAAAXc8/X1BLZY_uYEQ/s1600/OpenLayers3_Funding_Flyer_EN.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="http://1.bp.blogspot.com/-igM9NnConr8/UH-Sl2AguMI/AAAAAAAAXc8/X1BLZY_uYEQ/s400/OpenLayers3_Funding_Flyer_EN.png" width="300" /></a></div>
<br />Cédric Moullethttp://www.blogger.com/profile/06947117799577904122noreply@blogger.com0tag:blogger.com,1999:blog-7395816038739857378.post-37095052467060163822012-05-12T22:39:00.001+02:002012-05-13T11:46:15.417+02:00GeoExt 2 - more technical detailsThis blog post provides more details on GeoExt 2 and Ext JS 4, focusing on technical aspects<br />
<br />
So GeoExt 2 is a port of GeoExt 1 to Ext JS 4. The GeoExt 2 code sprint was really about porting the existing code base to Ext JS 4, redesigning, and rewriting code, only when simple adaptations were not possible.<br />
<br />
GeoExt 2 works with Ext JS 4 only. Ext JS 3 and lower aren't supported, and won't be, obviously.<br />
<br />
Note also that GeoExt 2 doesn't work with Sencha Touch. Sencha Touch and Ext JS 4 have similarities but their APIs are too different to write code that works with both libs. We actually did attempt to make map panel work with both Ext JS 4 and Sencha Touch, but failed.
<br />
<h3>The class system</h3>
The class system of Ext JS 4 is quite different from that of Ext JS 3. Ext JS 3 had no specific mechanism for defining classes, and had <code>Ext.extend</code> to
define child classes. With Ext JS 4 classes are defined using <code>Ext.define</code>. Defining a parent class is done as follows:
<br />
<pre><code>
Ext.define('P', {
// prototype object
});
</code></pre>
<br />
Defining a child class is done as follows:
<pre><code>
Ext.define('C', {
extend: 'P',
// prototype object
});
</code></pre>
<br />
In the above examples the <code>P</code> and <code>C</code> constructors are added to the <code>window</code> namespace. To create a class without adding a reference to it in the global namespace <code>Ext.Class</code> can be used. <code>Ext.define</code> actually uses <code>Ext.Class</code> internally, and most of the time you should not need to use <code>Ext.Class</code>.<br />
<br />
So porting GeoExt to Ext JS 4 has required using <code>Ext.define</code> for every class definition – the easy part of the porting work really.<br />
<br />
Another major change in Ext JS 4 is the way classes should be instantiated. Although using the <code>new</code> keyword still works (thank god!) using <code>Ext.create</code> is recommended. For example:
<pre><code>
var c = Ext.create('C');
</code></pre>
<br />
Using <code>Ext.create</code> Ext JS will actually load the script containing the class if the class is not defined yet. This is called "synchronous loading" in the Ext JS 4 jargon, which means "load the class at the time it is actually needed".<br />
<br />
The autoloader also supports "asynchronous loading". When relying on asynchronous loading, scripts are loaded earlier, in fact as soon as <code>Ext.require</code> is called or when classes with specific requirements (defined with "requires" in the class) are defined. Synchronous loading works with XHR while asynchronous loading works by dynamically adding <code>script</code> tags to the page.
<h3>The data components</h3>
The data types/components in Ext JS 4 work differently from Ext JS 3. Ext JS 4 has introduced the notion of “model”. A model, which is a class, defines a data schema. For example:
<br />
<pre><code>
Ext.define('my.Model', {
extend: 'Ext.data.Model',
fields: [{
name: 'text', type: 'string'
}, {
name: 'code', type: 'int'
}]
});
</code></pre>
<br />
This defines a data model with two fields/columns: "text" and "code". The defined model class can then be used in a store. For example:
<pre><code>
var store = Ext.create('Ext.data.Store', {
model: 'my.Model'
});
</code></pre>
<br />
GeoExt 2 defines its own data models. To name a few: <code>LayerModel</code>, <code>WmsCapabilitiesLayerModel</code>, <code>WmsDescribeLayerModel</code> to name a few.<br />
<br />
GeoExt 2 also defines preconfigured stores. For example GeoExt 2 includes <code>WmsDescribeLayerStore</code> which is preconfigured with <code>WmsDescribeLayerModel</code>.<br />
<br />
As GeoExt 1, the goal of GeoExt 2's data components is to ease working with geo data and metadata in Ext JS applications. But we had to rethink and redesign things in GeoExt 2, to adapt to Ext JS 4's new architecture and concepts.<br />
<br />
<h3>The tree components</h3>
(paragraph contributed by Andreas Hocevar)
Trees have seen a complete overhaul in Ext JS 4. Instead of loaders, every node in a tree now has a store for its child nodes. While the Ext JS 4 tree is more flexible than the Ext JS 3 one when it comes to columns (the tree is a grid), there are less extension points for customizations on the node level. And GeoExt 1 did a lot of customizations on the node level. But despite these difficulties, we were able to come up with a nice API for configuring trees. Let's have a look at a tree configuration for including a WMS <code>GetLegendGraphic</code> image for each layer in GeoExt 1:
<pre><code>
// custom layer node UI class
var LayerNodeUI = Ext.extend(
GeoExt.tree.LayerNodeUI,
new GeoExt.tree.TreeNodeUIEventMixin()
);
var tree = new Ext.tree.TreePanel({
// apply the tree node component plugin to layer nodes
plugins: [{
ptype: "gx_treenodecomponent"
}],
loader: {
applyLoader: false,
uiProviders: {
custom_ui: LayerNodeUI
}
},
root: {
nodeType: "gx_layercontainer",
loader: {
baseAttrs: {
uiProvider: "custom_ui"
},
createNode: function(attr) {
// add a WMS legend to each node created
attr.component = {
xtype: "gx_wmslegend",
layerRecord: mapPanel.layers.getByLayer(attr.layer),
showTitle: false,
// custom class for css positioning
// see tree-legend.html
cls: "legend"
};
return GeoExt.tree.LayerLoader.prototype.createNode.call
(this, attr);
}
}
},
rootVisible: false,
lines: false
});
</code></pre>
<br />
Obviously the configuration of a custom <code>TreeNodeUI</code> to get additional events on the tree, which are needed by the <code>gx_treenodecomponent</code> plugin is a bit cumbersome. With GeoExt 2, the same tree can be achieved with a much nicer configuration:
<pre><code>
var store = Ext.create('Ext.data.TreeStore', {
model: 'GeoExt.data.LayerTreeModel',
root: {
plugins: [{
ptype: "gx_layercontainer",
loader: {
createNode: function(attr) {
// add a WMS legend to each node created
attr.component = {
xtype: "gx_wmslegend",
layerRecord: mapPanel.layers.getByLayer(
attr.layer),
showTitle: false,
// custom class for css positioning
// see tree-legend.html
cls: "legend"
};
return GeoExt.tree.LayerLoader.prototype.createNode.call
(this, attr);
}
}
}]
}
});
var tree = new GeoExt.tree.Panel({
store: store,
rootVisible: false,
lines: false
});
</code></pre>
<br />
The node (here: the root node) can be configured with plugins. Note that this is not an Ext JS 4 extension point, but one that we created in GeoExt 2. As long as your tree is a <code>GeoExt.tree.TreePanel</code> instead of an <code>Ext.tree.TreePanel</code>, and its store is configured with a <code>GeoExt.tree.LayerTreeModel</code> instead of the default model, there are no special configuration options needed to make the already built-in component rendering available.<br />
<br />
Instead of having this built into our default tree view (the one the <code>GeoExt.tree.TreePanel</code> is configured with), we could also move it into a plugin before the final release.
This decision depends on how much code the other plugins (like the <code>ActionPlugin</code> and <code>RadioButtonPlugin</code>) require, and our architecture allows us to create an extension point here any time.<br />
<br />Eric Lemoinehttp://www.blogger.com/profile/02068689953182846646noreply@blogger.com6tag:blogger.com,1999:blog-7395816038739857378.post-48809344223449780482012-05-11T22:07:00.002+02:002012-05-12T22:59:28.754+02:00GeoExt2 Sprint ResultsToday was the final day of the sprint, and we are proud to announce that GeoExt2 is ready for an early alpha release. Most of the key features that our sponsors were interested in could be ported from GeoExt1. Examples matching previous examples are available for most of the ported components, so it should be easy for application developers to port their applications to Ext4/GeoExt2.<br />
<br />
To continue our tradition of giving credit to the developers who put an incredible amount of energy into making GeoExt2 a reality, here is the list of today's achievements:<br />
<br />
<ul>
<li>Alexandre finished a <a href="http://geoext.github.com/geoext2/examples/app/simple/simple.html">MVC demo application</a> that shows the power of Ext4 and GeoExt2, and fixed many tests and examples.</li>
<li>Andreas and Julien were able to finish big portions of the tree functionality, just in time before the end of the sprint, and just before going crazy over the complexity of the internals of Ext4. In addition to the synchronization between map and tree, all the loaders (except for the LayerParamsLoader) and the TreeNodeComponent plugin were implemented. Because the Ext4 architecture of trees is too much different from Ext3, a new (and nicer) API for building tree configurations was introduced.</li>
<li>Bart and Matt and Frédéric wrapped up their work on data components - even the not so famous ones like the SymbolizerColumn or the GeocoderCombo. A nice improvement, which also received contributions from other sprinters, is the common OwsStore base class for OGC data sources. Bart also brought basic i18n to GeoExt2.</li>
<li>Christian, Marc and Johannes made all print components work with Ext4. They also made huge improvements to many of the examples.</li>
<li>Éric gave the new MapPanel a big overhaul, so it is more lightweight and feature complete than the initial port. Together with François, he finished the AttributeReader and all components from the form namespace. They also took care of dependency management and made improvements to the build story.</li>
<li>Stéphane did a great job reviewing many of the pull requests that had piled up during the week, and helped to keep the pile of open tickets small. He also contributed to the MVC demo application mentioned above.</li>
</ul>
<h3>
Next Steps</h3>
<div>
Over the weekend, we will be trying to brush up the API documentation and create an official alpha release. At this point, some components still need unit tests, and there may be some loose ends that are best encountered by using GeoExt2 in real life applications.</div>
<div>
<br /></div>
<div>
This means: we invite everyone to test the upcoming alpha release, or get the latest code from <a href="http://github.com/geoext/geoext2/">github</a>. Bug reports, and - more than ever - code contributions and bugfix pull requests on github are welcome. Getting out a final 2.0 release soon is a goal that can only be reached with help from the community. For talented developers, a reward for repeated quality code contributions is the nomination for GeoExt2 core committer status.</div>
<div>
<br /></div>
<div>
Thanks again to all our sponsors, and to terrestris for the organization of the sprint and the perfect venue. And of course to all my fellow sprinters for all the good and hard work.</div>
<div>
<br /></div>
<div>
Happy coding, and may the odds be ever in your favor!</div>
<br />Andreashttp://www.blogger.com/profile/00287733590602942636noreply@blogger.com0tag:blogger.com,1999:blog-7395816038739857378.post-10389801982653601982012-05-10T18:01:00.001+02:002012-05-10T18:16:44.986+02:00GeoExt2 Code Sprint - Day 4The fourth day of the GeoExt 2 codesprint has been as intensive as the other days, things are really coming together, but tomorrow is gonna be a crucial day. But sometimes we wish Ed Spencer from Sencha would be here to explain a few things to us.<br />
<br />
Andreas Hocevar from OpenGeo and Julien Samuel-Lacroix from MapGears kept working on their unicorn, the tree components. They can now turn layers on and off through checkboxes, and are currently figuring out more advanced UIs like radio buttons (which they just did as I am writing this blog post). On the data side, they are digging into implementing the remaining loaders - currently they only have the plain LayerLoader.<br />
<br />
Alexandre Dube from MapGears worked on an Ext-oriented application using their MVC architecture. Stéphane Brunner from CampToCamp made a build for it. You can see the current built version using a FeatureStore at: <a href="http://dev8.mapgears.com/geoext/git/2.0-12051017/examples/app/simple/simple.html">http://dev8.mapgears.com/geoext/git/2.0-12051017/examples/app/simple/simple.html</a><br />
<br />
Stéphane also combined his efforts with Frederic Junod from CampToCamp to finish off the FeatureStore. Frederic also ported the grid.SymbolizerColumn (now in master with test and example) and worked with Alexandre on the app example.<br />
<br />
Matt Priour of OpenGeo debugged data model inheritance issues and crafted an OwsStore to act as a base class for all of the OWS data stores.<br />
<br />
François van der Biest and Eric Lemoine from CampToCamp completed the work on the Attribute model, reader and store and on the Form.toFilter and Form.recordToField functions. Two pull requests are ready for review. Next step for them is the SearchAction.<br />
<br />
Marc Jansen, Christian Mayer and Johannes Weskamm from Terrestris worked very hard on the print components. Marc also did several reviews.<br />
<br />
I myself worked on porting more of the data components (WfsCapabilities, WmsDescribeLayer, CswRecords, Wmc and ScaleStore) and started porting the ProtocolProxy but the differences are very big here between Ext 3 and Ext 4, so this needs more work.<br />
<br />
Some links to the German music that inspired some of us today (new versus old), and a big thank you again to Terrestris for hosting us in their fantastic office:<br />
<br />
<a href="http://www.universal-music.de/deichkind/videos/detail/video:270107/bueck-dich-hoch">http://www.universal-music.de/deichkind/videos/detail/video:270107/bueck-dich-hoch</a><br />
<a href="http://www.youtube.com/watch?v=KhihBMG4oMs">http://www.youtube.com/watch?v=KhihBMG4oMs</a><br />
<br />
Tonight we will have a social activity at KleinsPeterBerg (a restaurant alongside the river Rhine): <a href="http://www.kleinpetersberg.de/">http://www.kleinpetersberg.de/</a><br />
<br />
Bart van den EijdenCédric Moullethttp://www.blogger.com/profile/06947117799577904122noreply@blogger.com1tag:blogger.com,1999:blog-7395816038739857378.post-49852395488114309632012-05-09T19:51:00.001+02:002012-05-10T14:52:34.518+02:00Another big day today at the GeoExt 2 Code SprintAfter a three days of around twelve hours of work, things are really coming together. Today started more quiet as people worked in pairs to complete core functionalities. A lot of effort was put to port the main GeoExt features to ExtJS 4. Here are the main aspects of the work our tireless sprinters accomplish today:<br />
<br />
* <b> Documentation</b> (<a href="http://geoext.github.com/geoext2/docs/index.html">http://geoext.github.com/geoext2/docs/index.html</a>) was worked on by Andreas Schmitz and Markus Schneider, who joined us today, from Occam Labs. All functions are now automatically generated from the code without error. The new documentation framework (JSDuck) is really easy to use for developers and produce really nice docs à la ExtJS. <br />
<br />
* <b>Print</b> forms work started today with efforts from Marc, Christian and Johannes. Not only did the Terristris team provide all the sprinters with good food and a great network connection, they also built essential data components for the printing capabilities of GeoExt. <br />
<br />
* <b>Tests</b> (<a href="http://geoext.github.com/geoext2/tests/">http://geoext.github.com/geoext2/tests/</a>) are now nearly completed as they all pass in Chrome and Firefox. Thanks to Alexandre who also worked really hard to make everything work in IE8+. This helped to not only get all functionalities out by the end of the week, but also to have a very robust library. <br />
<br />
* <b>FeatureStore</b>, one of the most important data components of GeoExt, was completed by Frédéric and Stéphane. The examples are still in a Pull Request at the time of writing this, but be sure it's amazing. From now on we'll be able to not only consult our features but also get to interact with them with all the ExtJS potential.<br />
<br />
* <b>Forms</b> have been addressed by Eric and François. AttributeModel, AttributeReader, AttributeStore + form components (for editing and search) are all in the pipeline. Combined with the FeatureStore feature, this will provide us interesting applications to consult and edit feature data.<br />
<br />
* <b>WMSCapabilities</b> (<a href="http://geoext.github.com/geoext2/examples/wmscapabilities/wmscapabilities.html">http://geoext.github.com/geoext2/examples/wmscapabilities/wmscapabilities.html</a>)
support was added by Bart and Matt. This key feature needed the model,
reader and store to be addressed. They got it working and combined with
the LayerStore effort of the previous days, the example is now working
just like before.<br />
<br />
* <b>Layer Tree</b> architecture design was addressed by Andreas and Julien. This work could have its own blog post. Let us just say that everything is different in ExtJS 4. They finally found a really clean way to configure the Layer Tree using the latest functionalities of ExtJS 4. After a day of design and test, let's hope they we will be able to show us something working tomorrow.<br />
<br />
Feel free to download the code on GitHub (<a href="http://github.com/geoext/geoext2">http://github.com/geoext/geoext2</a>).<br />
<br />
The live documentation is here (<a href="http://geoext.github.com/geoext2/docs/index.html">http://geoext.github.com/geoext2/docs/index.html</a>)<br />
<br />
And after 3 days, here are the examples and tests:<br />
<br />
* <a href="http://geoext.github.com/geoext2/tests/" target="_blank"><b>Tests</b></a><br />
* <a href="http://geoext.github.com/geoext2/examples/action/mappanel_with_actions.html" target="_blank"><b>action</b></a><br />
* <a href="http://geoext.github.com/geoext2/examples/layeropacityslider/layeropacityslider.html" target="_blank"><b>layeropacityslider</b></a><br />
* <a href="http://geoext.github.com/geoext2/examples/legendpanel/legendpanel.html" target="_blank"><b>legendpanel</b></a><br />
* <a href="http://geoext.github.com/geoext2/examples/mappanel/mappanel.html" target="_blank"><b>mappanel</b></a><br />
* <a href="http://geoext.github.com/geoext2/examples/permalink/permalink.html" target="_blank"><b>permalink</b></a><br />
* <a href="http://geoext.github.com/geoext2/examples/popup/popup.html" target="_blank"><b>popup</b></a><br />
* <a href="http://geoext.github.com/geoext2/examples/wmscapabilities/wmscapabilities.html" target="_blank"><b>wmscapabilities</b></a><br />
* <a href="http://geoext.github.com/geoext2/examples/zoomslider/zoomslider.html" target="_blank"><b>zoomslider</b></a><br />
<br />
Thanks Julien-Samuel for this great summary !Cédric Moullethttp://www.blogger.com/profile/06947117799577904122noreply@blogger.com0tag:blogger.com,1999:blog-7395816038739857378.post-68856032482153951262012-05-08T19:02:00.003+02:002012-05-08T19:05:29.537+02:00GeoExt 2 Day 2Day 1 was about getting organized, getting up to speed with Ext JS 4, and starting some work based on what the Terrestris guys did in a previous code sprint. We also started designing the <code>data</code> components, with an initial focus on the <code>Layer Store</code>.<br />
<br />
Today we've been essentially consolidating things, focusing on what we started yesterday. To avoid too much dispersion we've essentially worked in pairs.<br />
<br />
Here's a brief list of today's achievements: <br />
<ul>
<li>We have added tests and docs for the <code>Map Panel</code>, <code>Action</code>, <code>Popup</code>. These components are now in good shape.</li>
<li>We have agreed on policies regarding setters and getters. The basic rule is to use getters and setters where it makes sense only, as opposed to defining every property in the <code>config</code> object.</li>
<li>We have ported a number of components from GeoExt 1, including the <code>Zoom Slider</code>, the <code>Slider Tip</code>.</li>
<li>We have been developing <code>data</code> components for handling features and layers. This work will serve as the base for feature grids and layer trees.</li>
<li>The test suite is now available <a href="http://dev.geoext.org/geoext2/tests">online</a>. We still have failing tests, they should be taken care of in the coming days.</li>
<li>We have attempted to create a Sencha Touch 2 app based on the new <code>Map Panel</code>. Our goal was to determine if the Map Panel could work seamlessly with both Sencha Touch 2 and Ext JS 4.<br />It turns out that the Sencha Touch API is very different (or at least too different) from the Ext JS 4 API. Having a Map Panel that works with both libraries is out of reach for the time being.</li>
<li>We have investigated creating builds using the Sencha build tool. The good news is that it works with GeoExt. But there are still things to sort out in order to include OpenLayers code in the builds.</li>
</ul>
The GeoExt 2 code base is available on <a href="http://github.com/geoext/geoext2">GitHub</a>. And here's what the new API docs look like:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-YIJQYNoeDFY/T6lQWVSvw7I/AAAAAAAAAHw/rMt8nXsmg6g/s1600/geoext2-doc.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="252" src="http://1.bp.blogspot.com/-YIJQYNoeDFY/T6lQWVSvw7I/AAAAAAAAAHw/rMt8nXsmg6g/s320/geoext2-doc.png" width="320" /></a></div>
<br />
<ul></ul>Eric Lemoinehttp://www.blogger.com/profile/02068689953182846646noreply@blogger.com1tag:blogger.com,1999:blog-7395816038739857378.post-34936942221193419092012-05-07T21:11:00.000+02:002012-05-07T21:11:21.473+02:00Hello GeoExt 2 - GeoExt meets Ext JS 4<h2>
GeoExt 2 Code Sprint</h2>
This week is an important week in the history of GeoExt: Developers from Austria, Canada, France, Germany, The Netherlands, Switzerland and the United States have gathered in Bonn (Germany) for a <a href="https://github.com/geoext/geoext2/wiki/GeoExt-2-Code-Sprint">code sprint</a> to work on GeoExt Version 2, which will be based <a href="http://sencha.com/">Sencha</a>'s <a href="http://www.sencha.com/products/extjs/">Ext JS 4</a> framework.<br />
<br />
The sprint is a joint effort of <a href="http://terrestris.de/">terrestris</a>, <a href="http://mapgears.com/">Mapgears</a>, <a href="http://camptocamp.com/">Camptocamp</a> and <a href="http://opengeo.org/">OpenGeo</a>, and is accompanied by developers from <a href="http://www.occamlabs.de/">Occam Labs</a> and <a href="http://www.m-click.de/">m-click</a>.<br />
<br />
Other than with many code sprints where only the sprint venue and food are covered by sponsors, the following sponsors generously provided enough funds to cover travel, accommodation and a significant share of the development costs:<br />
<br />
<br />
<ul>
<li>University of Bern, Centre for Development and Environment</li>
<li>Swisstopo</li>
<li>David Bitner, Metropolitan Airports Commission</li>
<li>The U.S. Army Corps of Engineers</li>
<li>Jacob Westfall</li>
<li>SYNCADD</li>
<li>Mettenmeier GmbH Utility Solutions</li>
<li>FOSSGIS e.V.</li>
<li>Felix Reichert und Partner</li>
<li>landplan Büro für Landschaftsgestaltung</li>
</ul>
<br />
<h2>
Day 1 - Getting Started</h2>
<div>
14 developers participated today, one of them remotely via IRC. The goal was to get up to speed with Ext JS 4, and to port some of the existing examples to the new GeoExt 2 code and GeoExt 4.</div>
<div>
<br /></div>
<br />
<iframe frameborder="no" src="http://geoext.github.com/geoext2/examples/mappanel/mappanel.html" style="height: 300px; width: 450px;"></iframe><br />
<i>Hello World in GeoExt 2</i><br />
<br />
The above live example shows a basic MapPanel - one of the achievements of efforts. In particular, the following tasks were worked on by the developers:<br />
<br />
<ul>
<li>Alexandre Dubé, Mapgears: work on the testing framework; updated unit tests; various small fixes.</li>
<li>Andreas Hocevar, OpenGeo: set up live examples and API docs; investigated how the tree components can be ported.</li>
<li>Andreas Schmitz, Occam Labs: used JSDuck to parse the API doc comments, and achieved a <a href="http://geoext.github.com/geoext2/docs/index.html">nice result</a>.</li>
<li>Bart van den Eijnden, OpenGeo: ported the <a href="http://geoext.github.com/geoext2/examples/legendpanel/legendpanel.html">LegendPanel</a>.</li>
<li>Christian Mayer, terrestris: ported the <a href="http://geoext.github.com/geoext2/examples/popup/popup.html">Popup</a>.</li>
<li>Éric Lemoine, Camptocamp: worked with Marc on the MapPanel; paired with Alexandre on the test framework.</li>
<li>François Van Der Biest, Camptocamp: shared an <a href="http://qualitystreetmap.org/~fvanderbiest/slidy2/ext4-en.html">Ext 4 tutorial</a>; work on the examples; Ext autoloading in examples</li>
<li>Frédéric Junod, Camptocamp: Ext autloading for GeoExt 2; started on the FeatureGrid and an improved FeatureStore architecture.</li>
<li>Johannes Weskamm: ported the <a href="http://geoext.github.com/geoext2/examples/action/mappanel_with_actions.html">Action</a> component.</li>
<li>Julien-Samuel Lacroix, Mapgears: set up the sprint wiki and a wrote a git tutorial; work on the improving the LayerStore architecture.</li>
<li>Marc Jansen, terrestris: shared an initial set of GeoExt 2 components from a previous code sprint; provided advice on Ext 4 to newbies.</li>
<li>Matt Priour: LayerStore architecture improvements; provided guidance on Ext 4.</li>
<li>Stéphane Brunner, Camptocamp: example improvements, work on the PrintPanel.</li>
<li>Volker Grabsch: our contributor from Berlin, helped with autoloading.</li>
</ul>
Andreashttp://www.blogger.com/profile/00287733590602942636noreply@blogger.com1tag:blogger.com,1999:blog-7395816038739857378.post-21827496715716951412011-12-22T21:06:00.004+01:002011-12-23T10:33:02.266+01:00Announcing GeoExt 1.1<div>The GeoExt Development Team is proud to announce the release of GeoExt 1.1.</div><div><br /></div><div>With GeoExt 1.1, more than 80 issues were addressed, from tickets reported on <a href="https://github.com/geoext/geoext/issues?milestone=1&state=closed">GitHub</a> and <a href="http://trac.geoext.org/query?milestone=1.1&resolution=fixed&order=component">trac</a>. </div><div><br /></div><div>Some of the highlights include:</div><div><ul><li>Simple i18n framework to facilitate localization of applications</li><li>TreeNodeActions plugin for rendering tree nodes with actions</li><li>More layer types supported by <span>GeoExt.data.PrintProvider</span></li><li>New data and grid components for visualizing and editing styles</li><li>More flexible popup positioning</li><li>Easier deployment with OpenLayers cross-library dependency management</li></ul></div><div><br /></div><div>More information about the improvements in GeoExt 1.1 are available in the <a href="http://trac.geoext.org/wiki/Release/1.1/Notes">Release Notes</a>. To upgrade from a previous release, read the section on API changes.</div><div><br /></div><div>The release can be downloaded on <a href="https://github.com/downloads/geoext/geoext/GeoExt-1.1.zip">GitHub</a>.</div><div><br /></div><div>Thanks you for using GeoExt!</div>Andreashttp://www.blogger.com/profile/00287733590602942636noreply@blogger.com0tag:blogger.com,1999:blog-7395816038739857378.post-49855135831473604312011-12-14T23:08:00.002+01:002011-12-14T23:16:19.409+01:00GeoExt 1.1-rc1 releasedIt's been a long time since the last release, but we're finally back with the first release candidate of GeoExt 1.1. And if you haven't heard already, the source code repository has <a href="http://github.com/geoext/geoext">moved to GitHub</a>, which gives the project new momentum.<div><br /></div><div><div>Many bugs are fixed in the 1.1 release candidate, and some cool new features were added, including</div><div><ul><li>Simple i18n framework to facilitate localization of applications</li><li>TreeNodeActions plugin for rendering tree nodes with actions</li><li>More layer types supported by GeoExt.data.PrintProvider</li><li>New data and grid components for visualizing and editing styles</li><li>More flexible popup positioning</li></ul></div><div>For more information, refer to the <a href="http://trac.geoext.org/wiki/Release/1.1/Notes">release notes</a>. To upgrade from a previous release, read the section on API changes.</div><div><br /></div><div>We invite you to test GeoExt 1.1-rc1. To do so, <a href="http://github.com/downloads/geoext/geoext/GeoExt-1.1-rc1.zip">download</a> the distribution archive. Stylesheet and script tags in your application should point to resources/css/geoext-all.css and script/GeoExt.js. You will also need OpenLayers (version 2.11 or higher recommended) and Ext JS 3 (version 3.4.0 or higher recommended).</div><div><br /></div><div>Bug reports can be filed in Trac, under the 1.1 RC1 version. Regressions should be filed under the 1.1 milestone. Also, feel free to fork us on GitHub and send pull requests.</div></div>Andreashttp://www.blogger.com/profile/00287733590602942636noreply@blogger.com0tag:blogger.com,1999:blog-7395816038739857378.post-18267453288574448782011-05-25T08:40:00.002+02:002011-05-25T08:49:39.655+02:00Mobile DevelopmentsAs indicated on the mailing list, after the efforts done on the OpenLayers side in order to support mobile devices (<a href="http://www.slideshare.net/cedricmoullet/openlayers-mobile-code-sprint-2011">see here</a>), works are now done in order to allow Sencha Touch to work together with OpenLayers.<br />You can for example <a href="http://dev.geoext.org/sandbox/gxm/geoext/gxm/examples/mappanel.html">test a "mobile" MapPanel</a> currently stored in a GeoExt sandbox.<br />We can observe a convergence of Sencha Touch and ExtJS 4, so we can consider these works as the initial steps towards GeoExt 2 and hopefully we will end up by having one GeoExt library supporting mobile and standard browsers. We'll see ;-)Cédric Moullethttp://www.blogger.com/profile/06947117799577904122noreply@blogger.com2tag:blogger.com,1999:blog-7395816038739857378.post-65198992870132446282011-02-23T22:12:00.008+01:002011-02-27T08:59:15.120+01:00OpenLayers Mobile Code Sprint SummaryBetween 21.2 and 25.2 February 2011, 16 OpenLayers and GeoExt developers/power users have participated to the <a href="http://wiki.osgeo.org/wiki/Lausanne_Code_Sprint_2011">Mobile Code Sprint held in Lausanne/Switzerland</a>. The general goal of the week was to create the basic components allowing the creation of mobile web mapping applications.<br />Have a look at the <a href="http://goo.gl/njtvz">following summary</a> to see what has been achieved:<br /><br /><object id="__sse7035571" height="355" width="425"> <param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=2011openlayersmobilecodesprintsummary-110223150024-phpapp01&stripped_title=openlayers-mobile-code-sprint-2011&userName=cedricmoullet"> <param name="allowFullScreen" value="true"> <param name="allowScriptAccess" value="always"> <embed name="__sse7035571" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=2011openlayersmobilecodesprintsummary-110223150024-phpapp01&stripped_title=openlayers-mobile-code-sprint-2011&userName=cedricmoullet" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="355" width="425"></embed> </object><br /><br />Tim Schaub also wrote summaries of <a href="http://openlayers.org/blog/2011/02/21/mobile-sprint-day-one/">day 1 </a>, <a href="http://openlayers.org/blog/2011/02/22/mobile-sprint-day-two/">day 2,</a> <a href="http://openlayers.org/blog/2011/02/24/mobile-sprint-day-four/">day 4</a> and <a href="http://openlayers.org/blog/2011/02/25/mobile-sprint-day-five/">day 5</a> and Christopher Schmidt explains some issues he encountered, and, of course, some solutions (<a href="http://crschmidt.net/blog/archives/443/mobile-browser-touch-events-nice-if-you-can-get-them/">blog 1</a>, <a href="http://crschmidt.net/blog/archives/449/wp7ie-fail-mouseover-event-on-tap/">blog 2</a>, <a href="http://crschmidt.net/blog/archives/451/tap-to-pan-map-navigation-on-browsers-without-touch/">blog 3</a>, <a href="http://crschmidt.net/blog/archives/453/symbian-different-enough-to-suck/">blog 4</a> and <a href="http://crschmidt.net/blog/archives/455/who-needs-more-than-one-finger-android/">blog 5</a>).<br /><br />I'm personally more than impressed by the results and I'm grateful to all the developers for their awesome engagement !<br /><br />The Code Sprinters:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-WSPwwhxrFac/TWXo8iVEbFI/AAAAAAAAHrQ/rZkJIniLhbQ/s1600/IMG_20110222_174813.jpg"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/-WSPwwhxrFac/TWXo8iVEbFI/AAAAAAAAHrQ/rZkJIniLhbQ/s400/IMG_20110222_174813.jpg" alt="" id="BLOGGER_PHOTO_ID_5577119840273198162" border="0" /></a>Cédric Moullethttp://www.blogger.com/profile/06947117799577904122noreply@blogger.com1tag:blogger.com,1999:blog-7395816038739857378.post-46201176271932362492011-01-18T14:46:00.001+01:002011-01-18T15:00:00.969+01:00Mobile JavaScript Code Sprint, Lausanne, Switzerland, Feb 21 to Feb 25 2011We are glad to announce a one week code sprint focusing on Mobile JavaScript that will take place in <a href="http://map.geo.admin.ch/?crosshair=bowl&zoom=6&X=152455&Y=533175">Lausanne - EPFL - Switzerland</a> on Monday-Friday February 21-25, 2011.<br /><br />The code sprint focus will be the Mobile JavaScript development. The main goal is to work on OpenLayers and extend its capabilities to support mobile devices. The second goal is to evaluate Mobile JavaScript libraries, like Sencha Touch or JQuery Mobile and begin creating bridges to these libraries, similar to the way that GeoExt connects OpenLayers and ExtJS.<br /><br />The content of the code sprint will be openly discussed on the OpenLayers community mailing lists, and we are sure that the work started in February in Europe will continue at the Montreal code sprint in March.<br /><br />The following developers have already confirmed their attendance: Christopher Schmidt, Tim Schaub, Eric Lemoine, Andreas Hocevar, Frédéric Junod, Bart van den Eijnden, Bruno Binet and Pierre Giraud. It would be a pleasure to welcome other developers or users willing to support this effort in the Mobile development, so don't hesitate to contact the organizers for further information.<br /><br />The code sprint is sponsored by the following administrations, universities and companies: Canton of Zürich, Canton of Neuchâtel, City of Uster, City of Vevey, Geoportail Luxembourg, EPFL, Swisstopo, OpenGeo, Nokia and Camptocamp.<br /><br />The code sprint is organized by Camptocamp and Swisstopo.<br /><br />We look forward to a great code sprint and don't forget that Switzerland is a very nice place to ski! A ski event will probably be organized before or after the code sprint. And finally, we also thank all the sponsors for their support !<br /><br />For the organizers: Claude Philipona and Cédric MoulletCédric Moullethttp://www.blogger.com/profile/06947117799577904122noreply@blogger.com0tag:blogger.com,1999:blog-7395816038739857378.post-26260613483898745372010-10-11T22:23:00.001+02:002010-10-11T22:26:30.988+02:00GeoExt 1.0 releasedThe GeoExt Development Team is proud to announce the release of GeoExt 1.0.<br /><br />This release closes 64 outstanding tickets, including 30 new features or enhancements and 25 bug fixes. Some of the highlights include:<br /><ul><li>New KaMap encoder for GeoExt.data.PrintProvider</li><li>New GeoExt.tree.WMSCapabilitiesLoader to build a tree representing a WMS GetCapabilities response</li><li>New GeoExt.plugins.TreeNodeComponent to render tree nodes with an additional Ext.Component (e.g. a GeoExt.LayerLegend)</li></ul>The release notes for GeoExt 1.0 are available at <a href="http://trac.geoext.org/wiki/Release/1.0/Notes">http://trac.geoext.org/wiki/Release/1.0/Notes</a>. To upgrade from a previous release, read the section on API changes.<br /><br />The release can be downloaded at <a href="http://trac.geoext.org/attachment/wiki/Download/GeoExt-1.0.zip?format=raw">http://trac.geoext.org/attachment/wiki/Download/GeoExt-1.0.zip?format=raw</a>.<br /><br />To use GeoExt 1.0, download the above archive, or use the live API at http://api.geoext.org/1.0/. Stylesheet and script tags in your application should point to resources/css/geoext-all.css and script/GeoExt.js. You will also need OpenLayers (version 2.10 or higher recommended) and Ext JS (version 3.2 or higher recommended).<br /><br />Bug reports can be filed in Trac, under the 1.0 version. Regressions should be filed under the 1.0 milestone.<br /><br />Thanks, and we look forward to your feedback.Andreashttp://www.blogger.com/profile/00287733590602942636noreply@blogger.com0tag:blogger.com,1999:blog-7395816038739857378.post-65605881404419511552010-05-12T18:07:00.002+02:002010-05-12T18:14:05.536+02:00GeoExt release 0.7The GeoExt Development Team is proud to announce GeoExt 0.7!<br /><br />This release includes new data components, plugins, state components,<br />and widgets. Some of the highlights of this release includes:<br /><br />* <a href="http://dev.geoext.org/trunk/geoext/examples/print-page.html">print components for PDF </a>printing with the MapFish print module,<br />which is also now packaged as a GeoServer extension<br />* a plugin for creating forms from WFS DescribeFeatureType responses<br />* a <a href="http://dev.geoext.org/trunk/geoext/examples/permalink.html">permalink provider</a> to create permalink from stateful components<br />(MapPanel is now stateful)<br />* a <a href="http://dev.geoext.org/trunk/geoext/examples/vector-legend.html">vector legend</a> component to have legends for vector layers in the LegendPanel<br />* support of the SCALE GetLegendGraphic parameter in WMSLegend<br /><br />The release notes for GeoExt 0.7 are available in<br /><a href="http://trac.geoext.org/wiki/Release/0.7/Notes">http://trac.geoext.org/wiki/Release/0.7/Notes</a>.<br /><br />The release can be downloaded at<br /><a href="http://trac.geoext.org/attachment/wiki/Download/GeoExt-release-0.7.zip">http://trac.geoext.org/attachment/wiki/Download/GeoExt-release-0.7.zip</a>.<br /><br />To use this release download the above archive and change your script<br />tag so your application loads the GeoExt.js file of the archive. You<br />will also need OpenLayers 2.9.1 (or trunk).<br /><br />Bug reports can be filed in Trac, under the 0.7 version.<br /><br />Don't miss the <a href="http://trac.geoext.org/wiki/Community">user extensions</a> that can be used with this release: Feature Editing, Simple Print Form, Print Preview, Area and Length measures or GeoNames search. <br /><br />Thanks Eric for this great release !Cédric Moullethttp://www.blogger.com/profile/06947117799577904122noreply@blogger.com0tag:blogger.com,1999:blog-7395816038739857378.post-14048953889815630482010-03-19T14:55:00.002+01:002010-03-19T14:58:37.936+01:00Atlas of water and health with GeoExtThe Institute for Hygiene and Public Health has created a <a href="http://www.waterandhealth.eu/">very nice and informative application</a> with GeoExt for the diffusion of water and health data.Cédric Moullethttp://www.blogger.com/profile/06947117799577904122noreply@blogger.com0tag:blogger.com,1999:blog-7395816038739857378.post-24030931229460558912010-03-16T19:26:00.005+01:002010-03-16T20:10:04.526+01:00GeoExt Custom Build ToolWe've just added a <a href="http://geoext.org/builder/v0.6.html">custom build tool</a> to the GeoExt website. With this, you can quickly create customized builds of the GeoExt library tailored specifically to your application.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://geoext.org/builder/v0.6.html"><img title="GeoExt Build Tool" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 176px;" src="http://2.bp.blogspot.com/_ALgsYbeTyxY/S5_QTXUbc8I/AAAAAAAAACE/A5Q0-yLAKV4/s400/builder.png" alt="" id="BLOGGER_PHOTO_ID_5449303105237382082" border="0" /></a><br /><br />The build form lets you specify the components used by your application and automatically adds dependencies required by those components. The tool works with the latest release (v0.6 at this writing), and as we put out new releases, we'll add custom download pages for those.<br /><br />As an example of its use, I'll demonstrate how to create a build for the <a href="http://dev.geoext.org/trunk/geoext/examples/popup.html">popup example</a>. <br /><ol><br /><li>Navigating to the popup example, I can click the link to view the <a href="http://dev.geoext.org/trunk/geoext/examples/popup.js">application source</a>.<br /></li><br /><li>I scan that source for <code>GeoExt</code> constructors and components whose configurations include <code>xtype</code> properties that start with <code>"gx_"</code>.<br /></li><br /><li>I find that the example uses <code>GeoExt.Popup</code> and a component with <code>xtype: "gx_mappanel"</code>.<br /></li><br /><li>On the <a href="http://geoext.org/builder/v0.6.html">build page</a>, I select <code>GeoExt.Popup</code> and <code>GeoExt.MapPanel</code> from the listed components.<br /></li><br /><li>At the bottom of the page, I click the download button and get a prompt to save my customized version of GeoExt.js (only 13KB compared to >300KB for the full library uncompressed).</li><br /></ol><br />Thanks to <a href="http://opengeo.org/">OpenGeo</a> for supporting development and hosting this tool.Tim Schaubhttp://www.blogger.com/profile/12243618766226981189noreply@blogger.com2tag:blogger.com,1999:blog-7395816038739857378.post-52191217408643008772010-01-25T11:27:00.001+01:002010-01-25T11:28:39.335+01:00GeoExt for HaitiIn order to facilitate the recovery of Haiti, a <a href="http://haiti.sahanafoundation.org/prod/gis/map_viewing_client">viewer has been developped based on GeoExt</a>.Cédric Moullethttp://www.blogger.com/profile/06947117799577904122noreply@blogger.com1tag:blogger.com,1999:blog-7395816038739857378.post-30681990452503887552010-01-24T23:14:00.001+01:002010-01-24T23:15:46.137+01:00The Mystic River Electronic Environmental Atlas with GeoExt<a href="http://maps.mapc.org/myrwa/">Nice application</a>. One small hint: use <a href="http://projects.opengeo.org/jstools/wiki/jsbuild">jsbuild </a>to build your javascript library in production environments ;-)Cédric Moullethttp://www.blogger.com/profile/06947117799577904122noreply@blogger.com2tag:blogger.com,1999:blog-7395816038739857378.post-48354229427169107402010-01-15T14:10:00.007+01:002010-01-15T14:37:22.253+01:00GeoExt User Extensions... also named GeoExt UX. The idea behind the GeoExt UX is to propose ready to use high level components.<br />Here are some UX:<br /><br /><span style="font-weight:bold;">GeoNames Search</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LDKAMHrPsbE/S1BreN5sOkI/AAAAAAAAHb4/P7aEQNP1X_w/s1600-h/GeoExtUX_GeoNamesSearch.png"><img style="cursor:pointer; cursor:hand;width: 400px; height: 268px;" src="http://3.bp.blogspot.com/_LDKAMHrPsbE/S1BreN5sOkI/AAAAAAAAHb4/P7aEQNP1X_w/s400/GeoExtUX_GeoNamesSearch.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5426955717853329986" /></a><br /><br /><a href="http://dev.geoext.org/ux/GeoNamesSearchCombo/examples/GeoNamesSearchComboExample.html">Test it !</a><br /><br /><span style="font-weight:bold;">Routing</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LDKAMHrPsbE/S1BsFGB37tI/AAAAAAAAHcA/vFlXjDgVqZk/s1600-h/GeoExtUX_Routing.png"><img style="cursor:pointer; cursor:hand;width: 400px; height: 201px;" src="http://2.bp.blogspot.com/_LDKAMHrPsbE/S1BsFGB37tI/AAAAAAAAHcA/vFlXjDgVqZk/s400/GeoExtUX_Routing.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5426956385755066066" /></a><br /><br /><a href="http://dev.geoext.org/sandbox/cmoullet/ux/RoutingPanel/examples/RoutingPanelExample.html?routingReadPermalink=true&routingRecenterMap=true&routingStartLocationString=46.817120572433,6.9311799242258&routingEndLocationString=46.5193924550827,6.56673431396484&routingEndLocationValue=EPFL&routingStartLocationEmptyText=Position:%2046.81712,6.93118">Test it !</a><br /><br /><span style="font-weight:bold;">Street View</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LDKAMHrPsbE/S1Bs1aPmKqI/AAAAAAAAHcI/b8A7ac0Z2WM/s1600-h/GeoExtUX_StreetView.png"><img style="cursor:pointer; cursor:hand;width: 400px; height: 204px;" src="http://2.bp.blogspot.com/_LDKAMHrPsbE/S1Bs1aPmKqI/AAAAAAAAHcI/b8A7ac0Z2WM/s400/GeoExtUX_StreetView.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5426957215815051938" /></a><br /><br /><a href="http://dev.geoext.org/sandbox/cmoullet/ux/StreetViewPanel/examples/StreetViewPanelExample.html?yaw=327.85&pitch=0&panoZoom=0&clickMode=true&videoTimeInterval=2500&showTool=true&showLinks=true&easting=255889.67274894&northing=6250506.6110079&zoom=16&panoEasting=256377.58150099&panoNorthing=6249902.6627379">Test it !</a><br /><br />There is also a <a href="http://dev.geoext.org/sandbox/cmoullet/ux/GoogleEarthPanel/examples/GoogleEarthPanelExample.html?gelookAtLatitude=48.854309138332894&gelookAtLongitude=2.3000554373861415&gerange=636.6557016121535&getilt=70.17173668101702&geheading=-47.32840108654227&gealtitude=0&gealtitudeMode=1&geshowBordersLayer=false&geshowTerrainLayer=false&geshowRoadsLayer=false&geshowBuildingsLayer=true&geshowBuildingsLowResolutionLayer=false&geshow2DNavigationTool=true&genavigationMode2D=false&genavigationMode3D=false&geclickMode=true&geeasting=255786.9604922&genorthing=6250451.6718938&gezoom=15">Google Earth UX</a> (<a href="http://dev.geoext.org/sandbox/cmoullet/ux/GoogleEarthPanel/examples/GoogleEarthPanelWmsExample.html">with WMS</a>), a <a href="http://dev.geoext.org/sandbox/cmoullet/ux/DisplayProjectionSelectorCombo/examples/DisplayProjectionSelectorComboExample.html">display projection selector</a>, a <a href="http://dev.geoext.org/sandbox/cmoullet/ux/ScaleSelectorCombo/examples/ScaleSelectorComboExample.html">scale selector</a>, some <a href="http://dev.geoext.org/sandbox/cmoullet/ux/Toolbar/examples/ToolbarExample.html">toolbar components</a> or <a href="http://dev.geoext.org/sandbox/cmoullet/ux/ShortcutCombo/examples/ShortcutComboExample.html">spatial shortcuts</a>. <br /><br />The <a href="http://dev.geoext.org/sandbox/redlining/ux/FeatureEditing/examples/RedLiningPanelExample.html">redlining</a> tool is under development, like the <a href="http://dev.geoext.org/sandbox/ahocevar/playground/ux/Printing/examples/SimplePrint.html">Printing</a> (with MapFish print server), the <a href="http://dev.geoext.org/sandbox/cmoullet/ux/Printer/examples/PrinterExample.html">client Printer</a> or <a href="http://dev.geoext.org/sandbox/cmoullet/ux/LayerManager/examples/LayerManagerExample.html">the layer manager</a>. <br /><br />All information related to the UX can be found here: <a href="http://trac.geoext.org/wiki/Community">http://trac.geoext.org/wiki/Community</a>.<br /><br />If you have proposals for other UX or modification of existing UX, don't hesitate to provide any ideas.Cédric Moullethttp://www.blogger.com/profile/06947117799577904122noreply@blogger.com2tag:blogger.com,1999:blog-7395816038739857378.post-8464603725485817072009-12-15T14:54:00.001+01:002009-12-15T14:56:31.118+01:00Web TripPlanner with GeoExtA very nice Web TripPlanner has been developped with GeoExt: <a href="http://ride.trimet.org/">http://ride.trimet.org/</a>Cédric Moullethttp://www.blogger.com/profile/06947117799577904122noreply@blogger.com0