The state of GeoExt along with an outlook on its future
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Jansen, Marc
Mayer, Christian
GeoExt is a JavaScript library combining the OpenLayers mapping library and the JavaScript framework ExtJS. It became an OSGeo community project in 2019. The talk will give a brief history of the project, and a summary of its dependencies and versions. Several new features recently developed for the latest GeoExt release will be presented. The talk will include an overview of two additional Open Source JavaScript libraries which bring even more power and functionality to GeoExt: BasiGX and GeoStyler. BasiGX is a higher-level JavaScript library that builds on top of GeoExt and focusses on advanced GIS user interfaces and mapping tools for the web. GeoStyler – in itself an OSGeo community project – is a JavaScript library for cartographic styling of geodata, and can be combined with a GeoExt solution to apply several formats to layers, e.g. SLD (Styled Layer Descriptor) files. The talk will include examples of real-world projects using GeoExt, along with recommendations on what types of projects are most suitable to be developed using GeoExt and its associated technologies. We'll discuss how and when newer OpenLayers and ExtJS versions will be supported, and how to combine GeoExt with other JavaScript packages. Finally a roadmap for the future of GeoExt will be outlined along with how developers and users can get involved. GeoExt is a JavaScript library combining the OpenLayers mapping library and the JavaScript framework ExtJS. It became an OSGeo community project in 2019. The talk will give a brief history of the project, and a summary of its dependencies and versions. Several new features recently developed for the latest GeoExt release will be presented. The talk will include an overview of two additional Open Source JavaScript libraries which bring even more power and functionality to GeoExt: BasiGX and GeoStyler. BasiGX is a higher-level JavaScript library that builds on top of GeoExt and focusses on advanced GIS user interfaces and mapping tools for the web. GeoStyler – in itself an OSGeo community project – is a JavaScript library for cartographic styling of geodata, and can be combined with a GeoExt solution to apply several formats to layers, e.g. SLD (Styled Layer Descriptor) files. The talk will include examples of real-world projects using GeoExt, along with recommendations on what types of projects are most suitable to be developed using GeoExt and its associated technologies. We'll discuss how and when newer OpenLayers and ExtJS versions will be supported, and how to combine GeoExt with other JavaScript packages. Finally a roadmap for the future of GeoExt will be outlined along with how developers and users can get involved. Authors and Affiliations – Marc Jansen, terrestris Seth Girvin, Compass Informatics Christian Mayer, meggsimum Track – Software Topic – Software status / state of the art Level – 1 - Principiants. No required specific knowledge is needed. Language of the Presentation – English
 Hello everyone, we are back. I'm adding Christian and Mark to the stage. We are now going to hear the next presentation which is the state of GeoExt along with an outlook on its future by Mark Jensen and Christian Meyer. Mark is a developer for Open Layers and GeoExt, a conceptual architect for React, Geo, Geostyler and more. He is a speaker and a conductor of workshops, he is also a GeoTarter member and a general manager of terrestries and Mundialis. Christian is an engineer for Geoinformatics and Surveying. He is an open source Geospatial enthusiast, founder and CEO of Maximum. He is also a GeoTarter member and working on GeoExt, WEG, Geostyler and Open Layers. So thank you guys for joining. I'm going to start the video in a while and we are going to come back for questions after the video. Enjoy. Hello and everyone, welcome to our presentation, the state of GeoExt along with an outlook on its future. So let us briefly introduce ourselves. My name is Chris, I'm the CEO and founder of Maximum in Germany and here with me by a remote connection is Mark from terrestries. Hi, Mark. Hi, Chris. Thanks for introducing me. So I'm also from Germany, the general manager of the two companies terrestries and Mundialis. And I think, Chris, you want to maybe say something about Seth. Yeah, and also, Seth Gerwin helped us to prepare this slide. He is Geospatial developer with Compass Informatics in Ireland. We are all working together on the GeoExt project, we are core developers and members of the projects during the community of the GeoExt project. And we share the love for Geo and open source software in general. And fun fact, we only met in person, all three of us for one time. And therefore we are working together very successfully, let's say for the last couple of years. And if you might have noticed, our abbreviated names are all 10 characters long, also fun fact for the nerds under us. Yes, back to the talk, the topic. This talk will introduce you to the GeoExt project, and we'll have a little focus on the recent changes of the last two years since the last phosphor G has taken place. We will try to give an outlook what will come in the project, and it's merely intended for people without too much previous know how of the GeoExt project. So if you are an expert, you might listen, but you might have that news than the other guys. So maybe, oh, so, yeah, sorry, we have to synchronize a bit with the scrolling of the slides, but don't worry. But we do not cancel the recording now. And yeah, so what you might have know is, what is GeoExt? GeoExt is an open source project which enables the building desktop like GIS application through the web. And it combines the GIS functionality of open layers with the user interface savvy of the EXT JavaScript library provided by Censher. So the two base libraries, open layers, the first one is a high performance feature pack library for all your mapping needs. And it's often called the Swiss Army knife for JavaScript mapping. It's an OSG project under VSD license, and it supports many data types, layer types, custom controls and interaction. All you need to build your fancy slipping, slipping maps. EXTJS is a JavaScript framework, one of the most comprehensive frameworks for building data intensive cross-platform web and mobile application. And one of the biggest advantages is that it includes a UI bundle which has 115 or 120 UI components to build feature-rich web applications, for example, grid charts, layouts and all that stuff. So GeoExt itself has some kind of dual licensing. We have this GPL version which is hosted on GitHub. And then if you buy a commercial license of EXTJS, you can use GeoExt under the VSD license so that GeoExt won't inject your commercial project. So for if you have any questions about that, we have an FAQ page and also Sancho as the host or the maintainer of the EXT library has also an FAQ page which have really interesting information about that. And this is how GeoExt could look like in general. So what you see on the right side, we have an open layers map which slightly integrates into a basic layout. And on the left side we have an EXTJS grid which combines the features you see on the map. Also listing the attributes of the listed features and you can do some pagination and filtering and all that stuff. And as I said, it combines the savvy of the EXTJS and the mapping needs of open layers. And here for completeness, there were several other reports on previous fall for G conferences, which are here as a kind of a link list where you can look up later on if you see that slide after the conference. So there was some project news, what happened in the last two years. So we are now an OSGEO community project. So since fall of 2019 under the lead of CESC Irving, we were granted as an OSGEO community project, which was a huge step to getting this acceptance and this batch. EXTJS news, all that say some sort of. So CENCHA was acquired by IDERA in 2017, which isn't really a hot news anymore, but somehow brought some some unsharness what happens to the project and we can say okay. In the meantime, there was a release of a new major version of EXTJS. It's version seven, the current last commercial version is seven four, the same then the community edition and the last release GPL version is version seven. There are some sites where you can pick up the latest versions, which is not always that easy. And there are no concrete plans for version eight, which was released in the roadmap update of CENCHA, but we are sure that things are happening under the hood in the meantime. Open layers news, there is always happening a continuous development on a really, really high quality level so open layers is getting better and better due to its community members. So the current version is 661. And there's also a talk on this phosphor D conference, Open layers feature friends by Andreas Hockeva and Tim Schaub. The current version is version four dot oh dot oh, which was a major step. And then at the last phosphor G in 2019, we were stuck at version two dot three. So version four. So the biggest change is the integration of open layers in version six, which lasted very long and was the reason to get in semantic versioning for GXT as well so there are no breaking changes of GXT between three and four. So it's such a huge step from open layers four to open layer six. Yeah, we, we agreed to name it version four. And therefore we had to get rid of the of the three in the project name. So it's now we renamed the repository from Dx t three to do x t and just a little hint it's no good idea to put a version name in your project name. So we're going to do that now. So there are any changes regarding to do open layers, be sure to to get a hit on the release notes which are linked here. So the new features there is a there is some kind of feature selection model has been introduced in version four which allows to automatically synchronize a grid row selection with a selection on the map and vice versa. Printing stuff with with map fish was improved so we can now print labels with offset, and we can now restrict the vector features for printing to the map extend. Also, what was introduced in the last years was a huge support for WFS, and this was continuously improved. So we now support remote remote sorting, and we have a few implementation specifics and better when they're independent for WFS support. Also, we had a focus on OTC filtering we now support spatial filters, and we made the existing non spatial filters more robust. For example, we have now very stable combination methods for the filters. And what you always don't see and cannot present very well is the work we did under the hood so we had a lot of bug fixes and hardening. We introduced more conflict options. We moved the continuous integration from Travis to get some actions, and we improve the test coverage. So mark. Yes, thank you Chris for giving us a rush through what GXT is and how it's created and what other base libraries. So, the next part we want to look at in this presentation is the ecosystem around GXT, because it's important to not only have a look at GXT to build your applications but probably there's something that you can pick from these talks around the ecosystem of GXT. Okay, so in case you want to work with GXT, you use MPM to install it. That's the recommendation of the developer team. This has changed so GXT is quite an old project now I don't remember when the first version was out but it's a bit older now and we tried to, of course, use the modern ways or adopt to the modern ways of installing or resolving dependencies. This is not actually new. So we also were able to do this in 2019 when CESC gave the last presentation on GXT. But I still see some customers using GXT in a non optimal way. So if you are one of those, please try to use it like this MPM install GXT at GXT slash GXT. So if you want to have a look at GXT, how do you do that? Well, the easiest thing to do is to have a look at the homepage, of course, but if in case you already have access to the OSGO live, which is basically a project where many OSGO projects are bundled together in one self running system. There's also GXT on it. It has a project overview where you can learn basically the same things that we taught you here or teach you here. But there's also a nice quick quick start something of a tutorial. And when you do that, you'll create basically a demo application which looks like this. And then you can also see the thing that Chris mentioned with less vendor specifics in bought in baked into GXT because this one is fed by a map server backend. And previously due to historic reasons, many of the things inside of GXT were based on, well, obviously the standard but sometimes it had a flavor of the geo server vendor specifics that sometimes run into your project. So this one is based on map server and it shows quite a lot. I think in two hours or something you can complete this tutorial. It's on the OSGO live. So something else that belongs to the ecosystem are other libraries around GXT itself. So there's one one library that's called basics. It's a bit more higher level library than GXT. It has a focus on user interface components. So for example, nice forms to add WMS is and digitizing tools and stuff like that. It's on GitHub and you can have a look at the API docs or the code. Okay, so now there's another library that we will be Chris and me or says when we create projects on with GXT we sometimes we oftentimes we use Geo Styler when it comes to styling geo data and that's a question that we get asked often a task that we have to solve often. So Geo Styler is here an example of one great JavaScript library which doesn't have any ex tjs library dependencies, but it can be integrated greatly. Even in GXT or GXT based libraries. So once you decide to go with GXT you're not bound to it, but with modern JavaScript user interface libraries like Geo Styler and many others. It's easy to combine them and profit from all of those aspects. There's a couple of links here make sure to watch the talk by young. I think it's later today, but better check your schedule, because I don't have it in my mind. This is how it can look like this is a window coming from ex tjs and inside that window there are. Yeah, as you can see points being styled with different scales and several filters and so on and so forth. This is Geo Styler inside of this Geo XT component. Okay, so even more abstract is this compass informatics map view project, which is on GitHub. There's a nice link down here and you can have a look at the sources also. This can be used as a starting point or a blueprint for new applications that combine all these two XT basics and Geo Styler. There's also nice digitizing tools and cool layer three plugins, for example, but it can also be used in itself as a sort of a library so you can extend that further. We will see examples later in this talk how this can then be used to configure it furthermore. So this is how this thing looks so this is the CPSI demo system so it's a bit of generic so some of these tools here are coming from open layers some are from basics some are from Geo XT so this brings it all together. So it's a good resource if you want to learn how to put all the information together into one running application. So that was it for the ecosystem around you XT and how is these are these libraries being used in production applications we have picked a couple of production systems that we have helped to create and that are now in different stages of development. So this is a project that Compass has created. It's the public lighting system. It's there to, you know, manage over 300,000 public lights in Ireland, and the number one priority for this system was that it has a great and very reliable and stable and robust database and a nice mapping and yeah, this all stability was the top one thing. And this one uses Geo XT version four and each CJS version six so the newest versions of those libraries basically. This is how it looks like you see there are some street lights here that are being managed grid Google Maps integration and so on and so forth doesn't look so different from the CPSI map you project that we had a look on earlier. So the same thing is basically used. And well, for this other topic here where it's coming, or it's used to manage local and regional roads. And this is a long time user of GXT the first version uses the very first version of GXT and it has been updated continuously by Cess and others. Yeah, now uses also the newest version. This is how this one looks. You can see it's very well it's it's a bit table. Well, let's say forum based it's an internal application used not so much user century. So what this last application makes heavy use of is the WFS store that got some great additions and new features. So we have two way binding basically. So when you filter the grid, the layer gets filtered as well. You can page we have all seen a part of it. We have already seen it makes heavy use of this and nice feature also the export of these grids to shape file or Excel. So the next production application is the BFS geo patrol BFS is the German abbreviation for federal office for radiation protection. And well, the BFS uses it to publish its open data. It's a nice application where also a lot of different applications on sorry libraries are being included in combined so the charting, for example, is done with the three JS and so on and so forth. So you see this one looks a little bit different. But the trained I can see it's made with GXT. The last production example I want to show is the Malavad disaster management portal created mainly by Jacob mix, one of the, one of the colleagues of Chris from maximum and he gave a nice presentation in German at the German chapter conference foskies. There's also links to the sources and the running instance here. And if you open these links. This is how it looks like you see this is a nice cartographic touch to it, but also there's some other combination or some other components from GXT that you might recognize like the buttons and so on and so forth. So that's it to for these for these production settings. We come now to the last part of the presentation, which is the outlook. How will GXT continue to work in the future. So what do we plan. So we plan or we have non concrete plans of upgrading to each teacher version seven the GPL variant of that library. And we also want to well follow the path of open layer so when open layers gets new releases we want to follow them and try to be as recent as possible. So the base libraries when they change we want to, you know, like follow. We want to use probably an own packaging tool so that we don't know, we do no longer depend on the central command tool, which is great but it does it's not as cool as the newer dependency or, or other building mechanisms in the JavaScript world. Of course there's going to be a lot of bug fixing and maintenance. So for all these things to happen. We would very warmly welcome any funding. And so I think I added the beer Chris at the wine and the whiskey is of course from the Irish guy. So, in case you want to fund anything of that just contact us there's links in this presentation, we would be happy to do it but we cannot do it, you know, like on our own. So, the takeaway message so gxt of this community project of the osgeo community is alive and well, you can use it to create awesome application and if you want to have desktop like gis applications. You can, it's a it's a good, good choice probably so you can try it easily on osgeo live for example. Once you have done that we invite you to get more involved in the code and in the project, you can, you know, like subscribe to the mailing list, please fork our repo test it file box fix our currently broken examples some of them are broken right now, but either Chris and me will fix it or you will probably do it. With that said, please help us make the next version of gxt. Yeah, become the gxt version you want to have. And thank you for your. Yeah, thanks for everything. Dear listener of this virtual talk, and we hope you have any questions, Chris and me or at least one of us will be in the session now and are happy to take your answers. Please contact us at me set up Christian. Thank you very much. Thank you. All right, we are back. Thank you for for the presentation. We have. Sorry about that. So we, we have basically one question on the chat. And I'm going to put it here. So what what is the strategy of the project with the broad adoption of modern JavaScript frameworks like react and you learn and others. So first or shall I start feel free. I'll, I'll interrupt you as always. Yeah. Thank you for this question and for the proposing it. So, it's a bit expected when you create a talk about something that's based on of x.js that someone asks about react to angular of ujs or whatever. There's a couple of ideas that came to our mind by we were discussing this in the background, even while we saw that this this question was being asked. So this is a x.js has some, let's call them integrations with, I think it's angular j s and react. That is something that we will keep an eye on and to see where this leads. So this makes it easier to interact or integrate with applications written with those awesome JavaScript libraries. But we are not too confident right now, but it might change that this is the answer to all, you know, like future directions. A second point that I wanted to add is that so we saw in the presentation that it's, it's doable to combine this to combine your geo x t applications or ones that are built on basics or whatever with more modern applications or libraries. That's totally doable and might also be a good idea. So to focus more. And the third and last point from my side and then Chris can, you know, like contradict everything that I said and say switch to everything new, as soon as it comes is the last point is, we get a surprising amount of both Chris and his company and me and my company surprising amount of requests with regard to gxt. So gxt is used in environments which don't change that often. And that's right now we can still make good applications with it that do the job and do it well. And once you get the hook of it, it's also quite nice to work with the xdjs, even though it has some downsides. I'm not a fanboy or anything, but I'm choosing to switch, you know, like work right now and try to work will work for a time being Chris, please. Yes. Yeah, so so having those as wrapper components which integrate the the xd component library to to react or angular is not a real good idea for my just for my point of view. So if you want if we want to use react or angular, you just some of the modern hip guys in the JavaScript world, just use them and use them with their ecosystem. And if you have the needs for a let's say specialized technical desktop live application, maybe xdjs is your tool of choice, and then use it with its own component library. But if you're into into into react or view or any other thing, just just use those and do not try to to mix it, because you want to stick on the cool guy and have the light the ui library of the other thing which do not match in their patterns and stuff like that. So I'd say to choose one and use it for good for good reasons. That's the strategy I would follow and knowing that the JavaScript world is quite fast. It might have been that that's that's a view or angular is gone in a couple of years and the next guy comes around you have to do this integration work again because you have to stick on this and then combine with that. This is even the struggle we have with upgrading open layers and the xdjs version to get to xd on track that they are in sync with the base libraries and if I think of having react and all those other things within I couldn't sleep well I think Yeah, both me and Chris not always use gxt for all our things we use what fits best. Yeah, so we have different different tools in our in our stack and our portfolio so if you want to do something more modern. We have solutions for react and our view jazz for example, and then we choose those. Thank you for the answer we have one more question from the chat. How would you compare dox to other desktop like the applications out there. That's a good question. I say that to all the questions of course you already understood that. So, so which other desktop like GIS applications do you think of so I think being desktop like isn't the trend right now, like for some most, more disruptive, of course, is to look a little less like a desktop application that you use to know. So from the top of my head which other desktop like GIS applications come to your mind Chris. I asked myself if I read the question on the other screen idea. So, so that's not sure about it as you said, it's, I think it's easier to have a desktop like so even though you have some mobile first stuff, having this perfectly fit on the desktop is the more easier way than having it the other way around so. So I'm not sure how to answer this question to be honest. I would say you can create a very good desktop like GIS application if you want to, but one thing that most people will. We also didn't mention it too far. So you're not bound to that layout. So there's various options that you have to make your GXT app look a little less like a desktop in case you want that. I think sometimes we in this tech bubble, we forget that a lot of people have a lot of are used to a lot of desktop programs and not all GIS applications are written for the, you know, like JavaScript and I don't know web natives around there but also for some other target group for people that, you know, like work a lot with your standard this desktop tooling and for them, it might make sense to create an application that looks familiar to the things that they know that they know of. So if you put users first, it's probably also sometimes a good idea to have this. I wouldn't even say unpolished or old or outdated look but you know it's it can be made, you know, like desktop like and also nice and appealing. So I hope this answers the question if not please ask another one. Thank you. There's another one but we don't have enough time we are one minute before. So maybe this can be answered on the chat. Yeah, we will answer something on the chat. Thank you very much again for your presentation. You're welcome. Thank you for hosting us. Yeah, thank you for your work. And nice to have us here.
 Hello everyone, we are back.  I'm adding Christian and Mark to the stage.  We are now going to hear the next presentation which is the state of GeoExt along with an outlook on its future by Mark Jensen and Christian Meyer.  Mark is a developer for Open Layers and GeoExt, a conceptual architect for React, Geo, Geostyler and more.  He is a speaker and a conductor of workshops, he is also a GeoTarter member and a general manager of terrestries and Mundialis.  Christian is an engineer for Geoinformatics and Surveying.  He is an open source Geospatial enthusiast, founder and CEO of Maximum.  He is also a GeoTarter member and working on GeoExt, WEG, Geostyler and Open Layers.  So thank you guys for joining.  I'm going to start the video in a while and we are going to come back for questions after the video.  Enjoy.  Hello and everyone, welcome to our presentation, the state of GeoExt along with an outlook on its future.  So let us briefly introduce ourselves. My name is Chris, I'm the CEO and founder of Maximum in Germany and here with me by a remote connection is Mark from terrestries. Hi, Mark.  Hi, Chris. Thanks for introducing me. So I'm also from Germany, the general manager of the two companies terrestries and Mundialis.  And I think, Chris, you want to maybe say something about Seth.  Yeah, and also, Seth Gerwin helped us to prepare this slide. He is Geospatial developer with Compass Informatics in Ireland.  We are all working together on the GeoExt project, we are core developers and members of the projects during the community of the GeoExt project.  And we share the love for Geo and open source software in general.  And fun fact, we only met in person, all three of us for one time. And therefore we are working together very successfully, let's say for the last couple of years.  And if you might have noticed, our abbreviated names are all 10 characters long, also fun fact for the nerds under us.  Yes, back to the talk, the topic. This talk will introduce you to the GeoExt project, and we'll have a little focus on the recent changes of the last two years since the last phosphor G has taken place.  We will try to give an outlook what will come in the project, and it's merely intended for people without too much previous know how of the GeoExt project.  So if you are an expert, you might listen, but you might have that news than the other guys.  So maybe, oh, so, yeah, sorry, we have to synchronize a bit with the scrolling of the slides, but don't worry.  But we do not cancel the recording now. And yeah, so what you might have know is, what is GeoExt?  GeoExt is an open source project which enables the building desktop like GIS application through the web.  And it combines the GIS functionality of open layers with the user interface savvy of the EXT JavaScript library provided by Censher.  So the two base libraries, open layers, the first one is a high performance feature pack library for all your mapping needs.  And it's often called the Swiss Army knife for JavaScript mapping. It's an OSG project under VSD license, and it supports many data types, layer types, custom controls and interaction.  All you need to build your fancy slipping, slipping maps.  EXTJS is a JavaScript framework, one of the most comprehensive frameworks for building data intensive cross-platform web and mobile application.  And one of the biggest advantages is that it includes a UI bundle which has 115 or 120 UI components to build feature-rich web applications, for example, grid charts, layouts and all that stuff.  So GeoExt itself has some kind of dual licensing.  We have this GPL version which is hosted on GitHub.  And then if you buy a commercial license of EXTJS, you can use GeoExt under the VSD license so that GeoExt won't inject your commercial project.  So for if you have any questions about that, we have an FAQ page and also Sancho as the host or the maintainer of the EXT library has also an FAQ page which have really interesting information about that.  And this is how GeoExt could look like in general. So what you see on the right side, we have an open layers map which slightly integrates into a basic layout.  And on the left side we have an EXTJS grid which combines the features you see on the map.  Also listing the attributes of the listed features and you can do some pagination and filtering and all that stuff.  And as I said, it combines the savvy of the EXTJS and the mapping needs of open layers.  And here for completeness, there were several other reports on previous fall for G conferences, which are here as a kind of a link list where you can look up later on if you see that slide after the conference.  So there was some project news, what happened in the last two years. So we are now an OSGEO community project. So since fall of 2019 under the lead of CESC Irving, we were granted as an OSGEO community project, which was a huge step to getting this acceptance and this batch.  EXTJS news, all that say some sort of. So CENCHA was acquired by IDERA in 2017, which isn't really a hot news anymore, but somehow brought some some unsharness what happens to the project and we can say okay.  In the meantime, there was a release of a new major version of EXTJS. It's version seven, the current last commercial version is seven four, the same then the community edition and the last release GPL version is version seven.  There are some sites where you can pick up the latest versions, which is not always that easy. And there are no concrete plans for version eight, which was released in the roadmap update of CENCHA, but we are sure that things are happening under the hood in the meantime.  Open layers news, there is always happening a continuous development on a really, really high quality level so open layers is getting better and better due to its community members.  So the current version is 661. And there's also a talk on this phosphor D conference, Open layers feature friends by Andreas Hockeva and Tim Schaub.  The current version is version four dot oh dot oh, which was a major step. And then at the last phosphor G in 2019, we were stuck at version two dot three.  So version four. So the biggest change is the integration of open layers in version six, which lasted very long and was the reason to get in semantic versioning for GXT as well so there are no breaking changes of GXT between three and four.  So it's such a huge step from open layers four to open layer six. Yeah, we, we agreed to name it version four. And therefore we had to get rid of the of the three in the project name.  So it's now we renamed the repository from Dx t three to do x t and just a little hint it's no good idea to put a version name in your project name.  So we're going to do that now. So there are any changes regarding to do open layers, be sure to to get a hit on the release notes which are linked here.  So the new features there is a there is some kind of feature selection model has been introduced in version four which allows to automatically synchronize a grid row selection with a selection on the map and vice versa.  Printing stuff with with map fish was improved so we can now print labels with offset, and we can now restrict the vector features for printing to the map extend.  Also, what was introduced in the last years was a huge support for WFS, and this was continuously improved. So we now support remote remote sorting, and we have a few implementation specifics and better when they're independent for WFS support.  Also, we had a focus on OTC filtering we now support spatial filters, and we made the existing non spatial filters more robust. For example, we have now very stable combination methods for the filters.  And what you always don't see and cannot present very well is the work we did under the hood so we had a lot of bug fixes and hardening. We introduced more conflict options.  We moved the continuous integration from Travis to get some actions, and we improve the test coverage.  So mark.  Yes, thank you Chris for giving us a rush through what GXT is and how it's created and what other base libraries.  So, the next part we want to look at in this presentation is the ecosystem around GXT, because it's important to not only have a look at GXT to build your applications but probably there's something that you can pick from these talks around the ecosystem of GXT.  Okay, so in case you want to work with GXT, you use MPM to install it. That's the recommendation of the developer team.  This has changed so GXT is quite an old project now I don't remember when the first version was out but it's a bit older now and we tried to, of course, use the modern ways or adopt to the modern ways of installing or resolving dependencies.  This is not actually new. So we also were able to do this in 2019 when CESC gave the last presentation on GXT.  But I still see some customers using GXT in a non optimal way. So if you are one of those, please try to use it like this MPM install GXT at GXT slash GXT.  So if you want to have a look at GXT, how do you do that? Well, the easiest thing to do is to have a look at the homepage, of course, but if in case you already have access to the OSGO live, which is basically a project where many OSGO projects are bundled together in one self running system.  There's also GXT on it. It has a project overview where you can learn basically the same things that we taught you here or teach you here.  But there's also a nice quick quick start something of a tutorial. And when you do that, you'll create basically a demo application which looks like this.  And then you can also see the thing that Chris mentioned with less vendor specifics in bought in baked into GXT because this one is fed by a map server backend.  And previously due to historic reasons, many of the things inside of GXT were based on, well, obviously the standard but sometimes it had a flavor of the geo server vendor specifics that sometimes run into your project.  So this one is based on map server and it shows quite a lot. I think in two hours or something you can complete this tutorial.  It's on the OSGO live. So something else that belongs to the ecosystem are other libraries around GXT itself. So there's one one library that's called basics.  It's a bit more higher level library than GXT. It has a focus on user interface components. So for example, nice forms to add WMS is and digitizing tools and stuff like that.  It's on GitHub and you can have a look at the API docs or the code.  Okay, so now there's another library that we will be Chris and me or says when we create projects on with GXT we sometimes we oftentimes we use Geo Styler when it comes to styling geo data and that's a question that we get asked often a task that we have to solve often.  So Geo Styler is here an example of one great JavaScript library which doesn't have any ex tjs library dependencies, but it can be integrated greatly.  Even in GXT or GXT based libraries. So once you decide to go with GXT you're not bound to it, but with modern JavaScript user interface libraries like Geo Styler and many others.  It's easy to combine them and profit from all of those aspects. There's a couple of links here make sure to watch the talk by young. I think it's later today, but better check your schedule, because I don't have it in my mind.  This is how it can look like this is a window coming from ex tjs and inside that window there are. Yeah, as you can see points being styled with different scales and several filters and so on and so forth. This is Geo Styler inside of this Geo XT component.  Okay, so even more abstract is this compass informatics map view project, which is on GitHub. There's a nice link down here and you can have a look at the sources also.  This can be used as a starting point or a blueprint for new applications that combine all these two XT basics and Geo Styler.  There's also nice digitizing tools and cool layer three plugins, for example, but it can also be used in itself as a sort of a library so you can extend that further. We will see examples later in this talk how this can then be used to configure it furthermore.  So this is how this thing looks so this is the CPSI demo system so it's a bit of generic so some of these tools here are coming from open layers some are from basics some are from Geo XT so this brings it all together.  So it's a good resource if you want to learn how to put all the information together into one running application.  So that was it for the ecosystem around you XT and how is these are these libraries being used in production applications we have picked a couple of production systems that we have helped to create and that are now in different stages of development.  So this is a project that Compass has created. It's the public lighting system. It's there to, you know, manage over 300,000 public lights in Ireland, and the number one priority for this system was that it has a great and very reliable and stable and robust database and a nice mapping and  yeah, this all stability was the top one thing. And this one uses Geo XT version four and each CJS version six so the newest versions of those libraries basically.  This is how it looks like you see there are some street lights here that are being managed grid Google Maps integration and so on and so forth doesn't look so different from the CPSI map you project that we had a look on earlier.  So the same thing is basically used. And well, for this other topic here where it's coming, or it's used to manage local and regional roads.  And this is a long time user of GXT the first version uses the very first version of GXT and it has been updated continuously by Cess and others.  Yeah, now uses also the newest version. This is how this one looks. You can see it's very well it's it's a bit table. Well, let's say forum based it's an internal application used not so much user century.  So what this last application makes heavy use of is the WFS store that got some great additions and new features. So we have two way binding basically. So when you filter the grid, the layer gets filtered as well.  You can page we have all seen a part of it. We have already seen it makes heavy use of this and nice feature also the export of these grids to shape file or Excel.  So the next production application is the BFS geo patrol BFS is the German abbreviation for federal office for radiation protection.  And well, the BFS uses it to publish its open data.  It's a nice application where also a lot of different applications on sorry libraries are being included in combined so the charting, for example, is done with the three JS and so on and so forth. So you see this one looks a little bit different.  But the trained I can see it's made with GXT.  The last production example I want to show is the Malavad disaster management portal created mainly by Jacob mix, one of the, one of the colleagues of Chris from maximum and he gave a nice presentation in German at the German chapter conference foskies.  There's also links to the sources and the running instance here. And if you open these links. This is how it looks like you see this is a nice cartographic touch to it, but also there's some other combination or some other components from GXT that you might recognize like the buttons and so on and so forth.  So that's it to for these for these production settings. We come now to the last part of the presentation, which is the outlook. How will GXT continue to work in the future.  So what do we plan. So we plan or we have non concrete plans of upgrading to each teacher version seven the GPL variant of that library.  And we also want to well follow the path of open layer so when open layers gets new releases we want to follow them and try to be as recent as possible.  So the base libraries when they change we want to, you know, like follow.  We want to use probably an own packaging tool so that we don't know, we do no longer depend on the central command tool, which is great but it does it's not as cool as the newer dependency or, or other building mechanisms in the JavaScript world.  Of course there's going to be a lot of bug fixing and maintenance. So for all these things to happen.  We would very warmly welcome any funding. And so I think I added the beer Chris at the wine and the whiskey is of course from the Irish guy.  So, in case you want to fund anything of that just contact us there's links in this presentation, we would be happy to do it but we cannot do it, you know, like on our own.  So, the takeaway message so gxt of this community project of the osgeo community is alive and well, you can use it to create awesome application and if you want to have desktop like gis applications.  You can, it's a it's a good, good choice probably so you can try it easily on osgeo live for example.  Once you have done that we invite you to get more involved in the code and in the project, you can, you know, like subscribe to the mailing list, please fork our repo test it file box fix our currently broken examples some of them are broken right now, but either Chris and me will fix it or you will probably do it.  With that said, please help us make the next version of gxt. Yeah, become the gxt version you want to have. And thank you for your.  Yeah, thanks for everything.  Dear listener of this virtual talk, and we hope you have any questions, Chris and me or at least one of us will be in the session now and are happy to take your answers.  Please contact us at me set up Christian.  Thank you very much.  Thank you.  All right, we are back.  Thank you for for the presentation.  We have.  Sorry about that.  So we, we have basically one question on the chat.  And I'm going to put it here.  So what what is the strategy of the project with the broad adoption of modern JavaScript frameworks like react and you learn and others.  So first or shall I start feel free.  I'll, I'll interrupt you as always.  Yeah.  Thank you for this question and for the proposing it.  So, it's a bit expected when you create a talk about something that's based on of x.js that someone asks about react to angular of ujs or whatever.  There's a couple of ideas that came to our mind by we were discussing this in the background, even while we saw that this this question was being asked.  So this is a x.js has some, let's call them integrations with, I think it's angular j s and react.  That is something that we will keep an eye on and to see where this leads. So this makes it easier to interact or integrate with applications written with those awesome JavaScript libraries.  But we are not too confident right now, but it might change that this is the answer to all, you know, like future directions.  A second point that I wanted to add is that so we saw in the presentation that it's, it's doable to combine this to combine your geo x t applications or ones that are built on basics or whatever with more modern applications or libraries.  That's totally doable and might also be a good idea. So to focus more. And the third and last point from my side and then Chris can, you know, like contradict everything that I said and say switch to everything new, as soon as it comes is the last point is,  we get a surprising amount of both Chris and his company and me and my company surprising amount of requests with regard to gxt. So gxt is used in environments which don't change that often.  And that's right now we can still make good applications with it that do the job and do it well. And once you get the hook of it, it's also quite nice to work with the xdjs, even though it has some downsides.  I'm not a fanboy or anything, but I'm choosing to switch, you know, like work right now and try to work will work for a time being Chris, please.  Yes. Yeah, so so having those as wrapper components which integrate the the xd component library to to react or angular is not a real good idea for my just for my point of view.  So if you want if we want to use react or angular, you just some of the modern hip guys in the JavaScript world, just use them and use them with their ecosystem. And if you have the needs for a let's say specialized technical desktop live application,  maybe xdjs is your tool of choice, and then use it with its own component library. But if you're into into into react or view or any other thing, just just use those and do not try to to mix it, because you want to stick on the cool guy and have the light the ui library of the  other thing which do not match in their patterns and stuff like that. So I'd say to choose one and use it for good for good reasons. That's the strategy I would follow and knowing that the JavaScript world is quite fast.  It might have been that that's that's a view or angular is gone in a couple of years and the next guy comes around you have to do this integration work again because you have to stick on this and then combine with that.  This is even the struggle we have with upgrading open layers and the xdjs version to get to xd on track that they are in sync with the base libraries and if I think of having react and all those other things within I couldn't sleep well I think  Yeah, both me and Chris not always use gxt for all our things we use what fits best.  Yeah, so we have different different tools in our in our stack and our portfolio so if you want to do something more modern.  We have solutions for react and our view jazz for example, and then we choose those.  Thank you for the answer we have one more question from the chat. How would you compare dox to other desktop like the applications out there.  That's a good question. I say that to all the questions of course you already understood that. So, so which other desktop like GIS applications do you think of so I think being desktop like isn't the trend right now, like for some  most, more disruptive, of course, is to look a little less like a desktop application that you use to know.  So from the top of my head which other desktop like GIS applications come to your mind Chris.  I asked myself if I read the question on the other screen idea. So, so that's not sure about it as you said, it's, I think it's easier to have a desktop like so even though you have some mobile first stuff, having this perfectly fit on the desktop is the more  easier way than having it the other way around so.  So I'm not sure how to answer this question to be honest.  I would say you can create a very good desktop like GIS application if you want to, but one thing that most people will.  We also didn't mention it too far. So you're not bound to that layout. So there's various options that you have to make your GXT app look a little less like a desktop in case you want that.  I think sometimes we in this tech bubble, we forget that a lot of people have a lot of are used to a lot of desktop programs and not all GIS applications are written for the, you know, like JavaScript and  I don't know web natives around there but also for some other target group for people that, you know, like work a lot with your standard this desktop tooling and for them, it might make sense to create an application that looks familiar to the things that they know that they know of.  So if you put users first, it's probably also sometimes a good idea to have this. I wouldn't even say unpolished or old or outdated look but you know it's it can be made, you know, like desktop like and also nice and appealing.  So I hope this answers the question if not please ask another one.  Thank you. There's another one but we don't have enough time we are one minute before. So maybe this can be answered on the chat.  Yeah, we will answer something on the chat.  Thank you very much again for your presentation.  You're welcome. Thank you for hosting us.  Yeah, thank you for your work. And nice to have us here.
FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_0_419.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_420_2339.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_2340_2567.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_2568_3515.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_3516_4559.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_4560_8651.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_8652_9467.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_9468_9947.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_9948_10019.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_10020_10439.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_10440_11843.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_11844_12419.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_12420_14123.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_14124_15215.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_15216_16199.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_16200_18107.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_18108_18155.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_18156_18215.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_18216_20015.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_20016_20111.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_20112_20759.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_20760_22127.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_22128_22559.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_22560_24155.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_24156_24275.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_24276_24383.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_24384_25571.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_25572_26339.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_26340_27983.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_27984_28223.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_28224_28523.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_28524_28907.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_28908_31367.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_31368_31883.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_31884_32891.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_32892_32975.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_32976_33623.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_33624_44375.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_44376_45023.png FOSS4G_2021_-_The_state_of_GeoExt_along_with_an_ou_NetD2yNRz4c_45024_45363.png