31 May 2010 @ 7:40 PM 

Maps and Semantic Maps 0.6 are now available for download. Maps 0.6 requires Validator 0.3, which is included in the release distribution, and can also be found on SVN. Semantic Maps 0.6 requires Maps 0.6, Validator 0.3 and Semantic MediaWiki 1.5.1 or above. See the download page for full dependency and compatibility tables.

This is a big update, including a lot of new features, bug fixes, security patches, and most of all, internal improvements, making both extensions more modular and extendible (these changes are not covered here, see the relevant change logs for more info). It is also the first release of Semantic Maps that requires you to run the SMW update script, as it requires a new table layout to store coordinates (more info on this).

Let’s have a look at the various new features.

  • Maps now supports real coordinate parsing and formatting, which allows you to input coordinates in any of the supported notations at any point in the extension, and can also request any output to be in the notation of your choice. This means you can now choose what format Semantic MediaWiki shows coordinates in, such as in ask queries. The supported notations are DMS, decimal degrees, decimal minutes and floats. All those can be either directional or non directional. A new parser function has been added that allows you to convert between any of these formats: #coordinates.
  • New geographical functions: #geodistance and #finddestination. You can use the #geodistance parser function to calculate the geographical distance between two points, from and to any of the supported formats. The #finddestination parser function can be used to find a destination given a starting point, an initial bearing and a distance.
  • Related to the new geographical functions is a rewritten distance query in Semantic Maps. It now takes into account performance and is scalable, which the old query was not, by using the new storage structure for coordinates. The notation for distance queries has also changed. Instead of using the like operator and a global distance parameter ( like #ask:[[Property: :~coordinates]]|distance=42 ) you now only have to specify your distance locally in the coordinate criteria itself like #ask:[[Property: :coordinates (42 km)]]. Like you can see you can now also specify a unit, which can be any of the supported ones.
  • Support for various width and height notations. Previously Maps only accepted width and height values is px, forcing you to use maps of fixed sizes. Since most people want to have their complete page width visible even on small screens, this resulted in a lot of people using rather small maps, and so wasting screen space. 0.6 allows you to specify the size in px, ex, em, and most importantly, in %. The syntax is what you’d expect: width=”420px”, width=”420em”, width=”42%”. width=”420″ will default to using px, so is backward compatible. When using the % values, maps will even adapt their size when the screen width or the height of the container they are in is changed after the page has loaded :)
  • Not a new feature, but rather one that’s removed: OSM support. The OSM service has been completely removed from Maps and Semantic Maps as it was rather broken and not easy to upgrade to the internal structure of Maps 0.6. I’m planning to add it back later on, rewritten from ground up, in 0.6.1 or 0.6.2 or so. Note that you can still view OSM maps on your wiki using the OpenLayers service, which has build in OSM layers, and also allows you to define your own layers since 0.5.5.
  • And many more :P

The most notable bugfixes are:

  • Fixed conflict with prototype library that caused compatibility problems with the Halo extension.
  • Added automatic icon image sizing for Google Maps and Yahoo! Maps markers.
  • Various security fixes, mostly preventing XSS attacks.

If no serious bugs are found in this release, a minor update can be expected in a month or so.

View announcement on the mapping wiki.

Downloads

  • Maps 0.6 [ zip, 7z ]
  • Maps and Semantic Maps 0.6 [ zip, 7z ]
 30 Apr 2010 @ 12:12 AM 

I’ve been working on Maps and Semantic Maps 0.6, the next big, awesome, release of both MediaWiki extensions, for over a month now. I also released an early alpha on the 3th of April. All planned new features have been implemented, and known bugs from 0.5.x have been fixed. So you might wonder why 0.6 is still not out.Semantic Maps

In response to the possibility of someone doing work on Maps and Semantic Maps during the upcoming Google Summer of Code, I took a critical look at the current structure, holding into account all the things I learned over the last two month while working on Storyboard. I came to the conclusion that a bunch of things ought to be handled in a cleaner fashion, and started to refactor this code. The most difficult part here is changing how the display_map and display_point(s) parser functions handle their mapping service parameter and validate the provided location(s). I’ve been wanting to change this since 0.4, but didn’t since it’s rather tricky to do. I decided to finally get this done now, and have done most of the work. To complete these changes, I’ll have to make some rather complex modifications to Validator, which can take a while to complete. That’s the last thing that needs to be done before the 0.6 release though :)

I estimate this should be done in approximately 2 weeks, maybe sooner. After that I’m planning to release at least one RC, to ensure stability and complete awesomeness, cause really a lot has been changed. I figure about three quarters of the codebase has been changed in one way or another!

After this release a lot of cool new features can be added, which I might do before the GSoC coding period starts. There are also a few people who wanted to do a mapping project for GSoC at the WMF, but did not get accepted, which are planning to do some effort here after all, which is totally awesome :)

 03 Apr 2010 @ 1:53 PM 

During the past two weeks I’ve been putting some effort in making some big changes to the source of Maps and Semantic Maps, and adding some awesome new features. Although not every to-do for the 0.6 release has been completed, I’ve made an early alpha version available which allows you to try out some of the exiting new functionality. So let’s have a look at the most notable changes since 0.5.5.

Maps shwoing an OpenLayers map with Google Maps layer of New York

New features

  • Support for various width and height notations. Previously Maps only accepted width and height values is px, forcing you to use maps of fixed sizes. Since most people want to have their complete page width visible even on small screens, this resulted in a lot of people using rather small maps, and so wasting screen space. 0.6 allows you to specify the size in px, ex, em, and most importantly, in %. The syntax is what you’d expect: width=”420px”, width=”420em”, width=”42%”. width=”420″ will default to using px, so is backward compatible. When using the % values, maps will even adapt their size when the screen width or the height of the container they are in is changed after the page has loaded :) See my wiki for some cool examples. Although this is really basic functionality in a way, it’s awesome to finally have it available.
  • Added full support for DMS, DD, DM and float coordinate notations, both their directional and non-directional variants. This means you can now enter coordinates in these notations in the display_point(s) and display_map parser functions, as well as make Semantic Maps recognize them as geographical coordinates. Smart geocoding support has also been added to #geocode, meaning you can now pass along coordinates as well as addresses, so you don’t have to double check if your passing along an address to prevent losing the value.
  • Coordinate formatting support. Along with the smart geocoding support, #geocode now also accepts 2 parameters to specify the output notation. Since you can pass along coordinates, this means you can change the notation of a set of coordinates using #geocode. A new parser function, #coordinates, has been added specifically for this purpose, so for pure formatting, you should use this one rather then #geocode. Both parser functions work with a hybrid parameter system that supports several ‘default’ parameter (ones that consist of only a value, and no name) and named parameters. You can work with names or without for the default ones, and the default ones in #geocode are the same as the old parameter order, so backward compatibility is retained.
  • Rewrote map html and js output. This is now done in a cleaner, safer and more consistent way, for all mapping services in both Maps and Semantic Maps. This is not a new feature, but such a big refactoring it’s worth noting.

Semantic Maps showing a Google Earth maps on the SMW community wiki at referata

More to come…

  • Native support for geographical proximity queries in Semantic Maps. This will require quite some work to do in a clean and efficient way, so will probably one of the last features finished for 0.6.
  • OpenLayers 2.9 support. Since Maps 0.1, it has been supporting OpenLayers 2.8, and 2.9 is just about to be released, so It’ll be nice to see the progress made there.

On top of these changes to the extensions, I’m drastically redoing the documentation and examples. I’ll post more about that later on though :)

 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 ]. :)

 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
 19 Nov 2009 @ 5:02 PM 

Yesterday I made my first screencast ever. [ Check it out! ] It explains how you can display a map using the Maps extension for MediaWiki, how you can customize it, and how to interact with it. I’ve linked it from the Maps extension documentation page. Depending on the feedback I’ll get, I might make similar ones explaining how to create maps with markers, how to aggregate coordinates onto a map with Semantic MediaWiki, and how to use the Semantic Forms hooks of Semantic Maps.

A slide in the screencast

Note: the application I used to create this screencast with does not have build in spellings correction, so expect at least one mistake in every 20 words or so :)

Posted By: Jeroen De Dauw
Last Edit: 19 Nov 2009 @ 05:02 PM

EmailPermalinkComments (0)
Tags
 16 Nov 2009 @ 3:28 AM 

Yesterday I released version 0.4.2 of both Maps and Semantic Maps. Apart from the version number, this release includes some interesting changes.

As resided in my previous post, Maps now supports Google Maps overlays. Another change in it’s usage is that Maps now holds into account the coordinate and address naming of the main parameter. Although both these and the default (nameless) parameter are basically the same, and all indicate the locations that should be indicated (or shown) on the map, they get handled differently with respect to the new (since 0.4) smart geocoding feature. Here you have an overview of the different behaviours:

  • Default (nameless) parameter: Maps will check every item in the list, and determine whether it’s a coordinate or not. In case it’s a coordinate, it’ll be parsed as a coordinate, and in case it’s not, Maps will attempt to geocode it. When this geocoding fails, you will get an error saying the item could not be geocoded.
  • Coordinates parameter. As you probably expect, this parameter expects and only accepts coordinates. It works pretty much the same way as it did before 0.4 in display_point. When an item is not recognized as a coordinate, you’ll get an error saying it’s not a valid coordinate and has been omitted.
  • Address(es) parameter. Similar to the coordinates parameter, this one expects and only accepts addresses. It works pretty much the same way as it did before 0.4 in display_address(es). Maps will attempt to geocode every item, and show an error listing all items that could not be geocoded. Important to note here is that Maps does not checks for coordinates, and will attempt to geocode any provided ones, valid notation or not, resulting in an error message.

Version 0.4.2 includes a lot of important bug fixes, and is more a release aimed at stability, then at adding new features. Depending on the amount of issues to be discovered in the coming weeks, a version 0.4.3 might be released before 0.5.

Downloads:

Posted By: Jeroen De Dauw
Last Edit: 16 Nov 2009 @ 06:16 PM

EmailPermalinkComments (3)
Tags

 Last 50 Posts
 Back
Change Theme...
  • Users » 4814
  • Posts/Pages » 200
  • Comments » 161
Change Theme...
  • VoidVoid « Default
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LightLight

About me



    No Child Pages.