<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">Hi All</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">Please find below my draft blog post for the Gerona hackfest. Sorry it has taken so long for me to write - it is rather long and there is a lot going on at the moment so I've struggled to find the spare time to work on it. Please let me know if you would like to add/remove/amend anything. I'd like to post it tomorrow morning.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">---</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">Time flies when you are having fun! It seems like only yesterday that I was <a href="http://blog.qgis.org/2015/11/15/a-word-of-thanks-to-the-hosts-of-the-14th-qgis-hackfest-in-gran-canaria/" style="color:rgb(0,170,220)">writing about</a> the 14th Hackfest in Gran Canaria. At the end of May 2016, we held the 15th QGIS hackfest! QGIS has been on an incredible journey since the project was started by Gary Sherman 14 years ago, and the fact that the hackfest was held in tandem with the 2nd QGIS International User conference is a testament to the growth and strength of the project.</p><h2 style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif">2nd International QGIS Conference</h2><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">Isn't it amazing - we just held the <strong>second </strong>international QGIS User's Conference! We really need to give credit to the amazing team who ran a totally seamless operation to organise the event: Gemma Pons, Toni Hernández, Josep Sitjar, Alexandre Busquets, Ferran Orduña, Rosa Olivella, Laura Olivas, & Lluís Vicens</p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px;text-align:center"><a href="https://qgisblog.files.wordpress.com/2016/06/screen-shot-2016-06-20-at-00-21-31.png" style="color:rgb(0,170,220)"><img src="https://qgisblog.files.wordpress.com/2016/06/screen-shot-2016-06-20-at-00-21-31.png?w=680" alt="Girona Organising Team" width="768" height="465" class="" style="max-width: 100%; height: auto; border: 0px; display: block; margin-left: auto; margin-right: auto;"></a></p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">We would like to give a special thank you to the University of Gerona's Director of GIS Service (SIGTE) - Gemma Boix who helped to organised the event as well as ensuring the institutional support for the event. In case I have missed mentioning someone by name, our thanks to all the other volunteers and the sponsors of the conference. <a href="http://osgeo.org" style="color:rgb(0,170,220)">OSGeo</a> also supported the hack fest for which we are extremely grateful. Not only did the conference team host the conference event, they also covered a large part of the costs of the hackfest that followed the conference - for which we can't thank them enough!</p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">The conference team also extends their thanks to the attendees and presenters, instructors and developers who also actively participated on the event!  For those interested in viewing the various talks at the conference, here are some handy links:</p><ul style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><li><a href="http://www.sigte.udg.edu/jornadassiglibre/en/international-qgis-user-and-developer-conference/conferencia-qgis/" style="color:rgb(0,170,220)">Sides from all talks</a></li><li><a href="https://vimeo.com/sigteudg/albums" style="color:rgb(0,170,220)">Videos for conference presentations</a></li></ul><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><br></p><h2 style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif">State of QGIS</h2><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">The QGIS.org project is in a very healthy state right now. For <a title="QGISGironaHackfestTalk" href="https://qgisblog.files.wordpress.com/2016/06/qgisgironahackfesttalk.pdf" style="color:rgb(0,170,220)">my talk</a> at the user conference (<a href="http://diobma.udg.edu/handle/10256.1/4292" style="color:rgb(0,170,220)">video here</a>) I got some fresh download stats from our servers and the numbers are quite astounding: QGIS 2.8 LTR (release Feb 2015) has been downloaded over 679, 000 times for the Windows Standalone installer (which includes all bug fix releases). Even after controlling for overestimates (from bot downloads, multiple downloads per user, "try and don't use") and underestimates (single downloads being distributed to many users) it is clear that we have an extremely large and constantly growing user base. My apologies for not mentioning Gary Sherman (our project founder) by name at the start of my talk - that was totally unintentional! </p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">Something else that is clear from the make up of the talks, workshop topics and attendees at the user conference and hackfest:<strong> QGIS is increasingly moving from single user environments to large multi-user deployments.</strong> This 'edge of network effect' is a common phenomenon in FOSS and is largely how Linux came to be such a lynchpin in the dev-ops world. Sys admins and (in the case of QGIS) GIS power users, test out the software on their own devices, see the potential for it in their workplace and start integrating it into their workflows in the office until eventually it has become a mission critical piece of software for an organisation.</p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">One thing my slides probably do not make clear is that there is a huge amount of investment being made into QGIS and plugins for QGIS to fulfil a wide variety of needs. <strong>These investments are largely external to the project</strong> (i.e. not factored into the financial figures I mentioned in the talk) and happen in direct client-to-developer relationships completely bypassing (from a financial sense) the upstream  <a href="http://QGIS.ORG">QGIS.ORG</a> project. This is a really good model since we do not need to deal with contract delivery, competing interests etc.</p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">If we do a simple calculation based on direct QGIS.org revenue for 2015/2016 (around EUR 69, 000) to downloads, the average revenue per download of QGIS 2.8.x was around EUR 0.10. All of the money we receive into the project goes into improving the QGIS, maintaining infrastructure and funding travel and accommodation for hackfests. I mention these numbers both because they are interesting and because it is good to emphasise how incredibly grateful we are to each and every one of our sponsors and donors that support the project. We really do run on a shoe-string budget and we have audacious goals and a vision to put spatial decision making tools into the hands of everyone on the planet who wants to use them. Your sponsorship and donations are a key enabler to making this vision a reality!</p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">Ok you probably are more interested in the part below than the part above right? What actually happened at the hackfest? Lets dig in and find out!</p><h2 style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif">Cool stuff from the QGIS Hackfest</h2><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">I am only going to focus on the hackfest here because the videos from the talks at the QGIS User Conference have been posted online (see above), so you can take in all the QGIS goodness you like from those. There was a lot going on at the hackfest, so these are only the nuggets I managed to cherry-pick from the talks.</p><h3 style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif">Give processing some love</h3><h3 style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif"><img class="" src="https://qgisblog.files.wordpress.com/2016/06/screen-shot-2016-06-12-at-22-13-15.png?w=680" alt="Screen Shot 2016-06-12 at 22.13.15" width="1562" height="988" style="max-width: 100%; height: auto; display: block; margin-left: auto; margin-right: auto;"></h3><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">During the hackfest and user conference, Victor Olaya (lead developer for the QGIS processing framework) really did a great job of promoting the idea of writing processing plugins rather than 'normal' plugins. His argument is that most plugins that are intended to provide single purpose analytical capabilities (we are looking at you geeks about to write the 300th buffer plugin!) would  be better off implemented as processing plugins:</p><ul style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><li>the plugin author would not need to spend valuable time writing user interfaces, input validators and so on.</li><li>users of the plugins could chain the tool into complex workflows easily, rather than only being able to use it on a once off basis.</li><li>we would grow the amount of options available in the processing toolbox while at the same time reducing the sometimes overwhelming amount of choice in the QGIS Plugin Manager.</li></ul><h3 style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif">ILWIS processing tools coming soon</h3><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">Also on the topic of plugins, Bas Restsios from the <a href="http://www.ilwis.org" style="color:rgb(0,170,220)">ILWIS Project</a> gave a demo of the ILWIS software in order for QGIS developers to be more aware of its capabilities. Although currently Windows only, the ILWIS developers are in the process of porting the software to be based on the Qt5 framework, which means us Linux and OSX users will get to enjoy using it too soon. ILWIS is Open Source and does its rendering using OpenGL. Because of their smart rendering system, everything draws lightning fast. ILWIS packs in many remote sensing tools and raster analysis tools and should be on anyone's radar if they are interested in FOSSGIS. The best part (from my point of view) is that Bas and his team members are also busy creating a set of processing plugins for QGIS that call out to ILWIS's command line tools. This means you can expect a huge leap forward in the number of raster based analysis functions you can do with QGIS in the near future.</p><h3 style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif">GeoPackage, JPEG2000, WFS improvements</h3><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">It was really great to have Even Rouault (maintainer of GDAL/OGR) present at the hackfest. Even recently received core committer rights to the QGIS code repository and has been making great contributions by adding support for the <a href="http://www.geopackage.org" style="color:rgb(0,170,220)">OGC Geopackage</a> format (death to shapefiles!). The shapefile format is long in the tooth and doesn't serve the GIS community well as a <em>de facto</em> standard for GIS data interchange. It also doesn't make a good format for intermediate  representation of data processing outputs (e.g. when using multi algorithm processing models). Even has also been working on <a href="https://github.com/qgis/QGIS-Enhancement-Proposals/issues/53" style="color:rgb(0,170,220)">improvements to WFS</a> support in QGIS which many will appreciate.</p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">Not directly related to QGIS, but Even also mentioned he has been giving the <a href="http://www.gdal.org/frmt_jp2openjpeg.html" style="color:rgb(0,170,220)">GDAL driver</a> for <a href="http://www.opengeospatial.org/standards/gmljp2" style="color:rgb(0,170,220)">JPEG2000</a> some love - gaining good performance increases. This gives me some hope that there will be a viable open format alternative to ECW and MrSid in the future - something which QGIS will benefit from greatly. One of the interesting things that GDAL supports is embedded vectors - you can write the raster with gdal_translate and then during creation pass a shapefile or GML stream to the gdal_translate. I look forward to the day (not currently on the roadmap) where we can ship JP2 images with embedded vector masks and use them seamlessly in QGIS.</p><h3 style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif">Planning for 3.0 release</h3><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">We did some planning for the 3.0 release of QGIS and in particular fine tuned the plans for how we will manage the transition from QGIS 2.x to 3.x. In February 2016 I <a href="http://blog.qgis.org/2016/02/10/qgis-3-0-plans/" style="color:rgb(0,170,220)">posted an outline</a> of the general approach we planned to follow. Some developers felt that we would be better off having the core of the 3.0 transition work happening on the master branch of QGIS so that it has more attention and testing focussed on it. I guess there are two main interest groups to consider here, so I will break down the outcome between take-home points for developers and general users:</p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><b>For developers:</b></p><ul style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><li>2.16 gets released off master.</li><li>After 2.16 we create a 2x branch and the 2x branch will be in caretaker mode.</li><li>Support for Qt4 and Py2 will be discontinued in master and we do packaging only against Qt5 and Py3.</li><li>Packages may not be immediately available on master as we need to get the packaging systems update.</li><li>After 2.16 is released API breaking changes are allowed in master (but code must build and packaging not broken, plugins will be broken).</li><li>All API breaking changes should be annotated by means of a Doxygen page patch to indicate what changes were made.</li><li>We target the API change window to end in Feb 2017 so that we can have a 3.0 release in March 2017.</li><li>We may do a 2.18 release off the 2x branch  if there have been substantial changes in the 2x branch. If there are no substantial changes in the 2x branch, we will not do a 2.18 release.</li><li>In January 2017 we will have a review to establish if all the API breaking changes are complete. If someone has specific implementation plans that are in progress and they need more time, we will (under agreement from the dev community) extend the API breaking window and push out the release date.</li><li>Following the release of 3.0 we will implement API freeze again and polish up the codebase for an LTR release based on 3.2</li><li>2.14 LTR support will be extended until 3.2 is ready</li><li><strong>Note:</strong> for QGIS 3.x, a minimum of Qt 5.5 is recommended</li><li><strong>Note:</strong> for QGIS 3.x a minimum of Python 3.4 is recommended</li><li><strong>Note:</strong> We are looking for a volunteer to set up a  windows build system using vagrant on win 7 so that we can test and build automaticallyl</li></ul><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><b>Public messaging</b></p><ul style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><li>2.18 release is not guaranteed</li><li>We are planning a 3.0 release in March 2017</li><li><strong>This release date may be postponed</strong> - we will do a review in January to establish whether we are on track for the release date</li><li>The 3.0 release will break your plugins - we will publish a migration guide and tools to help you migrate your plugin to the new platform</li><li>If you have any queries about the process please feel free to contact us</li></ul><h3 style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif">Style repository</h3><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">Akbar Gumbira, our Google Summer of Code (GSOC) student joined us at the hackfest. For his GSOC project, Akbar is working on a <a href="https://github.com/qgis/QGIS-Enhancement-Proposals/issues/58" style="color:rgb(0,170,220)">unified way to share styles</a>, symbols, ramps and markers in QGIS. The idea will be very similar to the QGIS plugin repository, where users can host their favourite cartographic elements for everyone else to enjoy. There was quite a lot of technical discussion about the exact mechanisms to use for hosting shared symbology with the key elements of the debate about whether to use git as a hosting system, simple zip files or some other mechanism. If you wish to chat to Akbar about his work, <a href="https://gitter.im/akbargumbira/qgis_symbology_sharing" style="color:rgb(0,170,220)">visit this chat room</a> or comment on the <a href="https://github.com/qgis/QGIS-Enhancement-Proposals/issues/58" style="color:rgb(0,170,220)">QEP</a>.</p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><strong>OSX Packaging and Building</strong></p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">QGIS is an attractive proposition for OSX users since the big commercial vendors typically don't support OSX. Since QGIS is built on cross platform technologies, this does not pose a huge limitation for us, but there are few OSX developers in the QGIS developer team and the platform requirements and constraints are pretty complex. Larry Shaffer has been doing awesome work to cut through the various issues and simplify the installation process - both for end users and for developers. It's finally pretty easy to get a development environment up and running on a Mac now. Using brew (a package manager for OSX) you can install all the needed dependencies and get  QGIS compiling in Qt Creator with full debugging support. The next challenge is going to be supporting this under Qt5 for QGIS 3.0 and Larry has been doing a bunch of great work to make that happen.</p><h3 style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif">Lizmap!</h3><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">There are several web client frontends for QGIS out there. <a href="http://www.3liz.com/en/lizmap.html" style="color:rgb(0,170,220)">Lizmap</a> is probably the most feature rich of them. Michaël Douchin (@kimaidou on twitter) showed off the latest version of Lizmap. If you are doing any web mapping, you really should check it out!</p><h3 style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif">QField</h3><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">Marco Bernasocchi showed off the work they have been doing on <a href="http://www.opengis.ch/android-gis/qfield/" style="color:rgb(0,170,220)">QField</a> - an Android app for your mobile device. The workflow for using QField is simple: Create a QGIS project on your desktop, copy it over to your device's SD Card or internal storage, then open the same project on your device. Since it uses the same QGIS 2.14 backend as you are probably running on your desktop, all the cartographic elements from your desktop are supported - including the new 2.5D rendering. The main use case for QField is field data collection and new in QField is the ability to capture point data and edit / update feature attributes. This opens many possibilities. During the hackfest I did some testing using a PostGIS layer in a project with the data coming from a remote QGIS server - and it works (assuming you have internet connectivity). I also did some testing using BTSync to create a synchronised file system between my mobile device and my desktop. Edits to layers on the desktop and the mobile device can easily be pushed back and forth, making it very very easy to push out maps and new data to workers in the field. Marco also shared some roadmap plans for QField including broader support for form elements (especially value maps) and support for digitising lines and polygons. I am eagerly looking forward to seeing how QField develops!</p><h2 style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif">Underwater autonomous vehicles & QGIS</h2><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><img class="" src="https://qgisblog.files.wordpress.com/2016/06/natalia.jpg?w=680" alt="Natalia" width="1024" height="579" style="max-width: 100%; height: auto; display: block; margin-left: auto; margin-right: auto;"></p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">(With apologies for using the colloquial term 'drone' which I know Natália does not like). One of the really cool things we did at the hackfest was take a little side trip to visit the <a href="http://cirs.udg.edu" style="color:rgb(0,170,220)">Computer Vision and Robotics Institute</a>. Natália Hurtós (who works for the institute) kindly gave a bunch of us QGIS geeks a tour. The work they are doing building [relatively] cheap underwater autonomous vehicles is really awesome and inspiring - all the more so because Natalia is planning to build the mission planning tool in using the QGIS libraries!</p><h3 style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif">Testing</h3><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">There were lots of interesting things going on for those interested in testing. Alessandro Pasotti showed off some really cool stuff he has been working on for running python tests directly in QGIS instead of using a mock QGIS iface object. There are huge benefits to doing this since your tests run in  a 'real' QGIS environment. He also showed off how they are testing QGIS plugins in <a href="http://docker.com" style="color:rgb(0,170,220)">Docker</a> using the above mentioned technique.</p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">If you do need / want to use an mock iface object, Matthias Kuhn has been promoting the use of the new qgis.testing python module improvements which includes an iface object which is comprehensive in terms of API stubs.</p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><strong>from qgis.testing import start_app, unittest </strong></p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">He has also created a unittest subclass that you can use which includes nice goodies like letting you do asserts that geometries match.</p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">Matthias Kuhn, Nyall Dawson and others have really been leading the charge to build a more comprehensive test suite in QGIS and there were lots of other interesting tips and tricks been shown like how to make your travis tests run against multiple versions of QGIS - which can be very handy for plugin authors.</p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">Victor Olaya also showed off the <a href="https://github.com/boundlessgeo/qgis-tester-plugin" style="color:rgb(0,170,220)">tester plugin</a> - for automated GUI testing based on recorded interaction sequences.</p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><strong>Nice things for developers</strong></p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">Martin Dobias showed off some of the tools they have been developing including:</p><ul style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><li>The <a href="http://plugins.qgis.org/plugins/report/" style="color:rgb(0,170,220)">report plugin</a> (see <a href="https://github.com/lutraconsulting/qgis-report-plugin" style="color:rgb(0,170,220)">http://plugins.qgis.org/plugins/report/</a>) that lets you trap python exceptions and send a bug report directly to a github issue tracker.</li><li>Martin also showed of the <a href="http://plugins.qgis.org/plugins/firstaid/" style="color:rgb(0,170,220)">First Aid plugin</a> which lets you capture tracebacks in a more elegant way and also debug your plugin, stepping through the code and execute python instructions in the current run context. The First AID plugin makes a great alternative to using remote debugging from an IDE which is time consuming to set up and technical for less experienced developers to do.</li></ul><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><strong>Training plugin</strong></p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">Victor Olaya showed of a plugin (the Lessons plugin) they are working on to facilitate interactive training in QGIS. It uses a simple dock interface to guide the user through a series of activities. Interestingly you can ask it to play recorded macros (saved as python code) of the active being explained so that you can see how it is done if you can't figure it out yourself. Their authoring system also allows you to record these  macros.</p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"></p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><strong>Docker</strong></p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">Docker is increasingly becoming a useful building block for those wishing to deploy QGIS in server side contexts. Patrick Valescc and Stéphane Brunner did some really awesome work refactoring the QGIS Server docker image - you can get a preview here  <a href="https://github.com/pvalsecc/QGIS/tree/docker" style="color:rgb(0,170,220)">https://github.com/pvalsecc/QGIS/tree/docker</a> (read the <a href="https://github.com/pvalsecc/QGIS/tree/docker/docker" style="color:rgb(0,170,220)">README</a> for usage notes). We would like to eventually merge this into the upstream QGIS repo so that we have a versioned docker build set up for each QGIS release.</p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"></p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><strong>Crayfish</strong></p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">Martin Dobias showed off the <a href="http://plugins.qgis.org/plugins/crayfish/" style="color:rgb(0,170,220)">Crayfish plugin</a>. Crayfish includes some really awesome multi temporal visualisation tools - really useful if you have time slice data in NetCDF or similar formats and you want to view layers sequentially as animations. It also has cool symbology additions to show flow / directionality arrows over your raster.</p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"></p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><br></p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><b>Lightning talks</b></p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">Here is also a quick-fire list of features that were shown off -that are coming down the QGIS conveyor belt - mostly for QGIS 2.16 but also new plugins and other efforts:</p><ul style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><li><strong>Style dock</strong> in QGIS 2.16 with undo / redo - Nathan Woodrow</li><li><strong>Dynamic hillside rendering</strong> - Nathan Woodrow<br></li><li>Awesome new <strong>gradient editor</strong> - Nyall Dawson<br></li><li><strong>D3 & Plotly</strong> charting with chart interaction showing on the layer - Matteo Ghetta and Michael Douchin<br></li><li><strong>Forms improvements</strong>: the 'drag and drop' editor will support multiple columns - Matthias Kuhn<br></li><li>Table view will be able to filter which columns to show (to let you <strong>hide unwanted columns</strong>) - Matthias Kuhn<br></li><li><strong>Action widget columns in the attribute table</strong>: you can place one or more action widgets (and icons) into the attribute table making it very easy to fire off an action (e.g. python script) for a particular record - Matthias Kuhn<br></li><li>Support for <strong>changing column order</strong> display in attribute table - Matthias Kuhn</li><li>In composer you can get have<strong> JSON of all layer relations</strong> that you can use in your html widget - Nyall Dawson<br></li><li><strong>Aggregation in expressions</strong>. We will explain this more in the visual changeling for the next release, but you will be able to compute attribute aggregates (e.g. sum of areas) in your reports - Nyall Dawson<br></li><li><strong>Default values for fields</strong> - Matthias Kuhn showed upcoming work to add support for field defaults in when adding a new record to a vector layer.</li><li><strong>Transaction groups / cascaded editing mode</strong> when you are editing a feature so that related tables get put into edit mode (project property needs to be enabled) - again we will explain this more in the upcoming 2.16 changelog - Matthias Kuhn</li><li><strong>SectorPlot plugin:</strong> a plugin to let you make 'pizza plots' of your data - Raymond Nijssen and Richard Duivenvoorde<br></li><li>Denis Rouzaud showed off work he has been doing to create a <strong>standard settings dialog</strong> that you can use in your plugins. It has support for different input types and layer chooser etc. They provide a settings dialog base class that you can derive from in your plugin which will take care of reading and writing your settings to Settings. </li><li><strong>User profiles plugin</strong> - lets you create customised user interface for different user categories - Alex Bruy <br></li><li><strong>Georeferenced PDFs and outputs from composer</strong> (sorry not yet GeoPDF) but you can use composer to create a  PDF - and then add that into QGIS just like any other raster layer. Nyall Dawson</li><li>Nyall Dawson chatted about his work on <strong>QGIS Task manager</strong> - a tool to let you easily create concurrent background tasks and show the progress of each task in a simple UI. I believe he is looking for funding to help him get this finished, so if you are interested please contact him.</li><li><strong>Bivariate legends plugin</strong> (not published yet).  Thomas Gratier showed off work he is doing to support the creation of bivariate legends.<br></li></ul><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"></p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><strong>Albireo QGIS Fork</strong></p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><img class="" src="https://qgisblog.files.wordpress.com/2016/06/albireo.jpg?w=680" alt="albireo" width="1024" height="579" style="max-width: 100%; height: auto; display: block; margin-left: auto; margin-right: auto;"></p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">Sandro Mani showed off an awesome new QGIS front end they have been working on at Sourcepole. Their implementation creates a brand dew ribbon based UI paradigm for QGIS (don't scoff, it's actually pretty cool!). They have pared down the number of features and grouped functionality into discrete areas, both the menus and ribbon icons changing based on the context of what you are doing. You can see the source code here: <a href="https://github.com/sourcepole/kadas-albireo" style="color:rgb(0,170,220)">https://github.com/sourcepole/kadas-albireo</a>.  Here are some bullet notes I made while watching his presentation:</p><ul style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><li>3D Globe updates</li><li>Redlining - you can sketch onto the map without saving those geometries in a specific layer.</li><li>Measuring & profile tools</li><li>3d feature extrusion onto the globe (and they have been doing a lot of work to get the QGIS Globe implementation ready for production use)</li><li>Shift-drag for zoom - just like you can do in OpenLayers and Leaflet (Nyall then went and added this to QGIS for 2.16 - yay!)<br></li><li>Switch coordinate reference systems used for cursor position display easily from the status bar<br></li></ul><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">There were many other cool features - some of all may make their way into the mainstream QGIS desktop. If you are looking to support users who need a simplified QGIS user interface, Albireo QGIS spin off is something to watch.</p><h2 style="color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif">Conclusion</h2><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px">Girona was an absolutely awesome venue for the QGIS Conference and Hackfest. I hope the participants of the conference gained good benefit from the experience. The hackfest had around 50 participants and beyond the above notes, there was such a lot going on including work on the documentation system, discussions on the proposed community voter system (more on that in a follow up blog post) and many other things. I really encourage you to attend these events if you want to keep track of the leading edge of QGIS developers.</p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><br></p><p style="margin:0px 0px 24px;color:rgb(61,89,109);font-family:Merriweather,Georgia,'Times New Roman',Times,serif;font-size:15px"><br></p></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div style="text-align:center">------------------------------------------------------------------------------------------</div><div style="text-align:center"><img src="http://kartoza.com/wp-content/uploads/2014/06/KartozaWebBanner.png" width="200" height="40"></div><div style="text-align:center">Tim Sutton</div><div style="text-align:center"><span style="text-align:start">Visit </span><a href="http://kartoza.com/" style="text-align:start" target="_blank">http://kartoza.com</a><span style="text-align:start"> to find out about open source:</span><br style="text-align:start"><span style="text-align:start"> * Desktop GIS programming services</span><br style="text-align:start"><span style="text-align:start"> * Geospatial web development</span></div><div style="text-align:center"><span style="text-align:start">* GIS Training</span></div><div style="text-align:center"><span style="text-align:start">* Consulting Services</span></div><div style="text-align:center"><div style="text-align:center">Skype: timlinux Irc: timlinux on #qgis at <a href="http://freenode.net/" target="_blank">freenode.net</a></div><div style="text-align:start"><div style="text-align:center">Tim is a member of the QGIS Project Steering Committee</div><div style="text-align:center">-------------------------------------------------------------------------------------------</div><div style="text-align:center">Kartoza is a merger between Linfiniti and Afrispatial</div></div></div></div></div>
</div>