07 Mar 2010 @ 3:49 AM 

I created a new MediaWiki extension titled “UK geocoding for Maps“, which I released yesterday.

The goal of this extension is to provide a way to display UK postcodes on Google Maps maps, by extending the Maps extension. Since obtaining geocoded postcodes for UK Postcodes via Google services is only possible using the Google AJAX search API, the standard geocoding infrastructure of Maps could not be used, and this extension should be seen as a sort of hack. Initial development for this extension was funded by Neill Mitchell for Prescient Software Ltd.

Version 0.1 is an experimental release, in which multiple issues are expected. I’m hoping to polish the whole extension a little more once I have some free time. Bug reports are welcome though.

You can get version 0.1 from SVN at

http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/UKGeocodingForMaps/
Posted By: Jeroen De Dauw
Last Edit: 07 Mar 2010 @ 03:50 AM

EmailPermalinkComments (0)
Tags
 02 Mar 2010 @ 1:11 AM 

Yesterday I released Maps and Semantic Maps 0.5.4. This is a minor update which mainly brings additional stability and security to the 0.5.x branch. It contains several bug fixes, a few code improvements and some security fixes. Check out the Maps change log and Semantic Maps change log.

Semantic MapsThe only new functionality is that you can now define OpenLayers layers in your LocalSettings file, as well as layer groups. This is done by modifying the $egMapsOLAvailableLayers, $egMapsOLLayerGroups and $egMapsOLLayerDependencies arrays, which are defined in Maps_Settings.php.

Another noteworthy point is that Semantic Maps now contains all the geographical coordinate format handling that was part of Semantic MediaWiki earlier on. The code has been removed from SMW itself, and the SMW 1.5 release will be the first one without it. A nice side effect of this is that people still using Semantic Google Maps (one of the extensions Maps and Semantic Maps are based on, which is now obsolete (and really should not be used any more!)) will be forced to switch over to Maps and SM if they want to get the latest SMW.

Both extensions now use Validator 0.2.2, which is a minor update to 0.2.1, which was used in 0.5.3.

Downloads

[zip, 7z, svn tag]
 01 Feb 2010 @ 8:41 PM 

Today I released Maps and Semantic Maps 0.5.3. Both releases mainly include bug-fixes, some of which quite important:

  • Fixed JavaScript bug causing all OSM maps to fail. Pretty important yeah :)
  • Fixed issue causing a fatal error when executing a query on Special:Ask with the “map” format.
  • Fixed issue causing PHP warnings with the type and types parameters in the Yahoo! Maps form input.
  • Fixed OpenLayers form input projection bug, causing the the coordinates to be wrongly interpreted. The amazing thing about this bug is that it has been present since somewhere between 0.3 and 0.3.3, without anyone reporting it. It was caused by an error in coordinate conversion between regular and spherical Mercator projections.
  • Fixed marker display for the OpenLayers form inputs.

I also discovered an oversight in the hook system of Maps, which is kind of a dormant bug, that could have caused errors for certain implementations of extensions to Maps. The oversight was that a mapping service does not necessary support a sub feature, like the parser function display_point, of a feature, like the parser functions. A check is now in place, together with a defaulting mechanism that also allows you to set the default per sub feature. I’m planning on changing this to a more recursive algorithm in the future though.

A last change is the adding of initial Google Maps v3 support. It’s only implemented for the display_map parser function, and has a rather limited set of customisation parameters at the moment, not to forget a whole load of issues. My conclusion from trying to implement this is that the GMaps 3 API is definitely not in it’s final state yet, since it’s lacking vital methods needed for basic functionality. The support for GMaps v3 is therefore sort of an alpha release, and won’t be put on the documentation page until it’s more stable and complete.

Downloads

As you can see, I changed the location of the releases from my forums to 2 brand new Google Code projects [ Maps, Semantic Maps ]. :)

 25 Jan 2010 @ 8:48 PM 

Over the last week I’ve done some effort to update the Maps usage examples on my wiki to match the current version of Maps. Since I hadn’t made any real change to them since 0.3, most examples where seriously outdated, and in some cases even caused people to use deprecated syntax. Now all Maps examples have been updated, the example pages have been restructured, and new navigation bars have been added.

You can check out the examples on the following pages:

A screenshot of the Maps documentation page:

Maps demo page

I’m also busy with updating the Semantic Maps examples, but that’s still a work in progress.

http://wiki.bn2vs.com/Maps
Posted By: Jeroen De Dauw
Last Edit: 25 Jan 2010 @ 08:48 PM

EmailPermalinkComments (0)
Tags
 19 Jan 2010 @ 11:35 PM 

It’s been quite a while since the last release, but 0.5.2 is finally here! It’s not a big release, but features quite some fixes and improvements in the area of marker and pop-up layout.

You can now specify the icon to be used for all markers for both display_point(s) in Maps and result formats in Semantic Maps. A template= and showtitle= parameter have been added to the result formats as well, allowing you to remove the title from a pop-up, and further specifying what should be shown, in which format, by using templates.

On this map you can see that several markers use different icons. This is now easier then in previous versions due to a bug fix.

Maps 0.5.2 displaying a Google Earth map with multiple=

This map is created by Semantic Maps by querieng some demo data on my wiki. The title of the location is hidden by setting showtitle=no, and the template parameter is used to have a nice little text with the queried data in it as pop-up, contents.

Semantic Maps 0.5.2 showing queried data on a Google Maps map.

Downloads

 13 Jan 2010 @ 12:57 AM 

I did a thorough overhaul of my wiki. I cleaned out the mess, put in some nice demo data, installed the latest version of Semantic Bundle, upgraded to MediaWiki 1.16alpha, put in a new logo and switched to the new (and awesome) vector skin. I also finally created decent templates and semantic data structures for my events and Semantic Maps demo’s.

Wiki of Jeroen De Dauw

Posted By: Jeroen De Dauw
Last Edit: 13 Jan 2010 @ 12:58 AM

EmailPermalinkComments (0)
Tags
 17 Dec 2009 @ 7:42 PM 

Earlier today, versions 0.5 of Maps and Semantic Maps where released. Some mayor new features where added, and a whole bunch of things have been refactored. I also did some effort to improve the documentation by adding some screencasts and revising the developer docs. Version 0.4.2 proved to be pretty stable, since only 2 bugs have been found and fixed.

Let’s have a look at the new, awesome, functionality:

  • Strict parameter validation which allows you to get specific errors or warnings when entering invalid values or parameters. This functionality is obtained by relying on the Validator extension, which saw it’s first release today. This makes Maps dependent on Validator. Every distribution of Maps does include Validator, and Maps will automatically load Validator when it’s not loaded yet, so no extra installation work is required (unless you get the code from SVN).
  • Static map support makes you able to display maps as plain images instead of via a JavaScript (or other non-html language, for example flash) mapping API. This is very important since it makes viewing the maps possible for people who are browsing the web with a browser that does not support JavaScript (or this other language), or simply have it disabled for some reason.
  • Added a query printer that handles the osm result format.
  • Added support for GUI parameter selection of Yaron’s new version of SMW’s Special:Ask page to the query printers.
  • Added smart ‘autopanzoom’ like control for Google Maps and Yahoo! Maps.
  • Added internationalization to the OSM service, and an extra parameter to define per-map languages.

The list of all things that have been refactored is rather long, so I’ll only cover the most interesting things here:

  • Complete rewrite of the parameter handling. To make Maps work with Validator, this was required. The result is that Maps does not have a whole mess of specific validation and defaulting functions any more, since that’s now handled by Validator.
  • Moved the geographical coordinate data type handling from Semantic MediaWiki to Semantic Maps. This will make the SMW codebase smaller by moving the geographical coordinate data type out, which is logical, since if you use coordinates, you very likely also want maps.
  • Added code to unload any services from the service hook that are not present in the list of allowed services. This ensures they don’t get initialized, and makes any check to see if the service is one of the allowed ones further on unneeded.

As for documentation, I created 2 screencasts, both covering a different aspect of Maps. This way people can learn how to work with Maps in a more interactive way then just reading the documentation.

The developer documentation on how you can extend Maps using it’s hooks has been completely rewritten. This was needed since the previous version was created for Maps 0.3.3, since which a lot has been changed to the hook systems of Maps.

For a complete list of changes, see the Maps change log, and Semantic Maps change log.

Downloads:

 15 Dec 2009 @ 11:56 PM 

I’ve created a new Maps screencast that covers the use of the display_point parser function of Maps as it works in version 0.5. I’m assuming you have seen the display_map screencast before you watch this one, although the basic syntax is covered again quickly.

Screencast by Jeroen De Dauw demonstrating the use of the display_point parser function.

I’ve also made the projects for both screencast publicly available. If you have wink, the application I used to create the screencasts, installed, you can simply modify the projects, add your own stuff, and render your own version. I’m hoping some fans of Maps use this possibility to improve the screencasts and help their fellow Maps users.

Posted By: Jeroen De Dauw
Last Edit: 16 Dec 2009 @ 12:12 AM

EmailPermalinkComments (0)
Tags
 12 Dec 2009 @ 9:42 PM 

It has been over a week since I posted about any MediaWiki stuff, which can very well be a record since I started my blog. The reason for this is cause I’ve been busy with a lot of projects. You’ll hear about them all later on, but now I just want to provide an overview of the work I’ve been doing on my new MediaWiki extension: Validator.

Validator is an extension that makes parameter validation functionality available to other extensions. This enables other extensions to validate parameters, set them to their defaults, and generate error messages, while only defining the parameters and their criteria. The goal of this extension is to facilitate the handling of parameters in other extension, and generalize the error output. By itself, it does not add any functionality to the user end.

The main functionality is:

  • Parameter validation: Parameters that are provided in an array where the keys represent their name, and the values their value, can easily be validated against a set of criteria. During this validation, errors and their types will be stored, and invalid parameters will be separated from valid ones. The only thing an other extension needs to do is define the criteria to validate against. A set of criteria types (which include check to see if something is a number, is within a range, or in an array) is provided by Validator, and can be used without any extra coding. When a criteria type that is not supported is required, you can hook into the Validator criteria types and add your own validation functions.
  • Default value handling: Parameters that are invalid, or simply not provided, can be set to their default values. These default values need to be specified by the extension the parameters belong to.
  • Error handling: Since the errors and their types are stored during validation, you can create error messages by retrieving this data and parsing it. Validator also provides a manager class that can provide you with a list of internationalized and specific errors. Via a validation level setting Validator provides, you can determine how the errors should be reflected on your wiki page. This can go from completely ignoring any errors to showing a complete list of all errors underneath the regular output, or even hiding the regular output and only showing the errors.

Validator has not yet been released, but will be soon. Although not all documentation is ready yet, most of the information needed to use it can already be found in the implementation section of the documentation. Both the development versions of Maps and Semantic Maps are currently using Validator for their parameter handling. The next release of those extensions, 0.5, will therefore feature strict parameter validation, and be dependent on Validator.

Oh, and I got the 60000th MediaWiki commit with the changes I made to Maps to work with the last alpha of Validator – wooot! :)

Posted By: Jeroen De Dauw
Last Edit: 12 Dec 2009 @ 09:19 PM

EmailPermalinkComments (1)
Tags
 03 Dec 2009 @ 7:44 PM 

This has been a big item on the to-do list for new Maps features for a few months now, but I finally managed to make some time for it, and just checked in the last code into the MediaWiki SVN repo :)

Let’s start at the beginning: what is static map support? Supporting static maps means that you are able to display maps as plain images instead of via a JavaScript (or other non-html language, for example flash) mapping API. This is very important since it makes viewing the maps possible for people who are browsing the web with a browser that does not support JavaScript (or this other language), or simply have it disabled for some reason. This actually made this feature a requirement for getting Maps onto Wikipedia and other Wikimedia Foundation wiki’s. Another reason to use such a feature is that it can significantly reduce the load on the servers from which the map tiles are fetched, since the plain images can be cached.

So how does it work? Maps now accepts a new parameter called ’static’ that accepts the values ‘yes’ and ‘no’. When set to no (or not provided, assuming the default is unchanged, so on ‘no’), you’ll get the same map as you always did, with no changes whatsoever. When the values is ‘yes’, you’ll get a plain .png image fetched from a WF server. If you have JavaScript enabled, and click on the image, it’ll be replaced with the dynamic map.

Maps 0.5 will support this for the display_map parser function when using the OSM service. It’s possible I’ll also add support for display_point(s). Note that my work is just a link in a big chain here. Most effort to make this functionality possible is done by the guys doing the mapping server side work. Also, a lot of my code Maps is using for displaying static maps is heavily based on code from the SlippyMap extension by Ævar Arnfjörð Bjarmason and others.

Since there are no demo’s available anywhere yet, here you have some screenshots:

A static map:

Maps displaying a static map of Brussels, Belgium

The dynamic map you get after clicking the static map:

Maps displaying a dynamic map of Brussels, Belgium

And yes, the zoom level is off, this is a bug that still needs to be fixed :)

Posted By: Jeroen De Dauw
Last Edit: 03 Dec 2009 @ 08:31 PM

EmailPermalinkComments (0)
Tags
Change Theme...
  • Users » 103
  • Posts/Pages » 133
  • Comments » 85
Change Theme...
  • VoidVoid « Default
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LightLight

About me



    No Child Pages.