09 Oct 2009 @ 8:47 PM 

Yay! I finally got my Google Summer of Code T-shirt!

GSoC 2009 T-shirtWith my T-shirt, I also got my GSoC 2009 certificate, which marks the end of any involvement with GSoC for me (see original post). That is, until next year. When I reflect back to what I learned and achieved during GSoC, I’m more then happy with it. I’m planning to do another (awesome) Wikimedia Foundation project next year, if I manage to get accepted again. This (awesome) project will be more focused on changes to MW’s core, and so provide me with an (awesome) opportunity to learn more about the inner working of MW, which I’m currently still unfamiliar with. I’m not going to make my exact plans public yet, cause it’s possible the things I want to improve will already be taken care off, and I don’t want everyone to go rip-off my idea :) I’ve already put my name on the (awesome) participants list for MW, and was FIRST (awesome!) since I created the (awesome) page.

Posted By: Jeroen De Dauw
Last Edit: 10 Oct 2009 @ 08:44 PM

EmailPermalinkComments (0)
Tags
 10 Sep 2009 @ 12:52 PM 

Me and two fellow Google Summer of Code students, one from the Netherlands, and one from Belgium, have decided to hold a meeting in Brussels. This will be a great opportunity to discuss each others work, and future plans.

There are over 10 other Dutch speaking GSoC students we haven’t heard of, they are of course also welcome. I’d also like to invite people who are interested in GSoC. This includes people who are simply curious and want to know what it is, but also those who are considering to participate as either student or mentor in a future GSoC. Note that non Ducth people are also welcome! Feel free to send me an email, or one on the GSoC student list, if you are interested, or simply comment on this blog post.

The meeting will take place September 29th, at 19:30, in Hacker Space Brussels (HSB). HSB is located at PRINSES ELISABETHLAAN 46, 1030 Schaarbeek, Brussels.

Posted By: Jeroen De Dauw
Last Edit: 10 Sep 2009 @ 12:54 PM

EmailPermalinkComments (0)
Tags
Tags: , , ,
Categories: Events
 16 Aug 2009 @ 10:41 PM 

Today I finally announced the new releases of my extensions on a few wiki mailing lists. I also gave the Semantic Maps documentation another overhaul, and created a manual on how to extend maps.

This manual targets developers who want to add support for a mapping service to one of the features Maps and Semantic Maps support: parser functions, query printers and form inputs. I still have to create the manual for the later two features though. Currently, the subjects of adding a new mapping service, adding parser function support and creating new geocoder classes are covered.

I hope to get the Semantic Maps part done by tomorrow, as a nice conclusion to my GSoC project.

Posted By: Jeroen De Dauw
Last Edit: 16 Aug 2009 @ 10:41 PM

EmailPermalinkComments (0)
Tags
 15 Aug 2009 @ 5:47 PM 

Yesterday evening, I released the 0.3 versions of both Maps and Semantic Maps. The documentation has been given a big overhaul, and now contains up to date info about the latest release in a more easy to comprehend format.

This are my blog posts about the changes in this new version:

A list of all changes can be found on the version history pages of Maps and Semantic Maps.

This is the last version I’m creating as part of my Google Summer of Code project, since it ends next Monday. It’s great that so much work has been done, and the extension turned out so well. But at the same time I’m a little sad GSoC is about to end. I had a wonderful time writing Maps and Semantic Maps, and learned a lot of new things, including how open source organizations work, some application architectures and of-course some PHP things I didn’t know yet. Anyway, I’m planning to apply for GSoC 2010 as soon as that’s possible, although I’m not sure for what project and which open source organization.

I’m planning to still get some work done for 0.4, which has currently only custom layer functionality for OpenLayers scheduled. This is a very important to-do though, since it’s in high demand.

Posted By: Jeroen De Dauw
Last Edit: 15 Aug 2009 @ 05:47 PM

EmailPermalinkComments (0)
Tags
 13 Aug 2009 @ 9:45 PM 

Maps and Semantic Maps are almost ready for release now, with all but some small issues resolved. As a follow up to my 2 previous posts about both the structural changes and new feature in maps, this one will address the things changed or added since then.

Configurable map controls

Controls on both Yahoo! Maps and Google Maps map can now be configured by the user with the controls parameter. Yahoo! Maps maps already have this option for a limited set of controls since version 0.2, but the amount of available controls has now been expanded to what the Yahoo! Maps API offers. For Google Maps the change is significantly larger, since a lot of new controls can now be added. These included an overview map, a scale line, a drop down menu for map types, an automated reverse geocoding location determiner and more. All new types and their names will be added to the documentation after the release of 0.3.

Separate meta data for each point

I already described this new feature in one of my previous posts. It has now been completed, and has been extended with an icon parameter, which can be used to display a custom marker. The custom marker functionality is now also available in Semantic Maps, and is meant to be used in Semantic Compound queries, to for example display hamburgers as icons for shops of type ‘fastfood’, and t-shirts for shops of type ‘clothing’.

User friendly error reporting

Until now, no thought was given to what happened when the user provided an address that could not be geocoded. This actually pretty serious shortcoming has now been fixed. When an user provides one address, and it can’t be geocoded, an error message explaining that it couldn’t be geocoded is displayed instead of a map. The same thing will happen when the user provides multiple addresses that can’t be geocoded. When only a few of multiple addresses can’t be geocoded, the map will be displayed with the available coordinates, together with an error message saying some of the results could not be displayed and a list of these addresses. Similarly, for Semantic Maps, when a query returns no results, nothing will be displayed, instead of an empty map.

New OpenLayers layers

A whole list of OpenLayers base layers have been added. These include the satellite, street and hybrid views for Yahoo! Maps and Bing Maps, but also finally the OpenStreetMap layers. The problems I had with the different map projections between OSM and the other services has finally been resolved.

Posted By: Jeroen De Dauw
Last Edit: 13 Aug 2009 @ 09:45 PM

EmailPermalinkComments (0)
Tags
 07 Aug 2009 @ 3:17 AM 

Like promised in my previous post about Maps and Semantic Maps 0.3, I’ll give you an overview of the most important new features in this new release.

Multi location parser functions

Two completely new parser functions have been added that allow the displaying of multiple points on a map. To avoid confusion, this is a feature in Maps, and has nothing to do with the semantic coordinate aggregation of Semantic Maps, which obviously already has multi coordinate capabilities. The new parser functions are display_points and display_addresses, acting as multi coordinate variants of display_point and display_address, respectively. This feature adds endless new usage options for Maps, from marking the locations you’ve been on holiday to, to a list of restaurants in a city. It will also be extremely useful to use together with the upcoming custom base layers and overlays feature for OpenLayers. An example of such usage is displaying markers with some pop-up contents on an anatomy chart. Note that a form input will likely be added to Semantic Maps to simplify such a task, by making the need to manually find and enter all coordinates obsolete.

Separate title and label for each point

This feature could actually be viewed as part of the multi location parser functions, but I like to keep them separate. Since 0.2, Maps allows you to optionally display a title and label together with the marker representing the provided coordinates or address. Logically, this should be extended to encompass multiple locations when you can put more then one on a single map. This feature has not been implemented yet, cause of some uncertainty about the correct wiki syntax. The current idea is to use something like #display_points:points=55.7557860, 37.6176330~title~label; 1,1~title; 12,34. Such a syntax’s would not allow any ‘;’ or ‘~’ to be displayed into the pop-up.

Configurable map types

In Maps 0.2, an improvement causing the ‘physical’ map type, for Google Maps, to be displayed in the map type control when this map type was set as default was made. This caused me to wonder why the whole control was not made configurable, so that users could specify the map types they want, and the order in which they want them. This is exactly what I’ve done in Maps 0.3, for both Google Maps and Yahoo! Maps. The user can now set the map types present in the map type control with the types parameter. When not set, types will be set to the (new) setting holding the default types for the relevant service. The parameter type does still precisely the same, with the addition that the provided value will be added to types when it’s not present in it yet.

While adding this new feature, I also had a close look at the available map types in the latest (sub)version of the Google Maps v2 API. It turned out to be really easy to add support for moon, Mars and sky maps (all 2D). The underneath screenshot shows a map with all the available map types for Google Maps in Maps 0.3. It also demonstrates the new multi location functionality.

Maps displaying a Google Maps map with multiple markers and a varity of map types

The two interesting parameters in the wiki code that is responsible for this map are:

  • addresses=Moscow, Russia; New York; London – This is the replacement of address in display_address.
  • types=normal,satellite,hybrid,physical,earth,moon,mars,mars-elevation,mars-infrared,sky – The new types parameter that allows users to choose the available map types.

This change now makes both Google Maps and Yahoo! Maps usage more similar to the one of OpenLayers, with the difference that with OpenLayers, types is called layers, and type is called baselayer (althoguh the baselayer is not activated cause of some problems with it).

More to come

Several more new features will be added, and I still have some refactoring to-do’s on my list to tackle before the 0.3 release. I’ll post about those issues as soon as I have more news about them. The new release is coming closer and closer – I estimate it’ll be there in less then a week :)

Here you have my latest committed changes for both Maps and Semantic Maps.

Posted By: Jeroen De Dauw
Last Edit: 07 Aug 2009 @ 03:41 AM

EmailPermalinkComments (1)
Tags
 05 Aug 2009 @ 4:05 PM 

Just like version 0.2 of both Maps and Semantic Maps, version 0.3 will feature a variety of large structural changes, aimed at increasing the performance of the extensions, making it possible to add new features, but most of all, make it more modular, to allow people to easily extend them. Here you have a list of the mayor changes that have been completed so far, with some explanation of the advantages they bring.

  • Base class that bundles common functionality between MapsBaseMap, SMMapPrinter and SMFormInput, and gets inherited by those classes. This class has been named MapsMapFeature. This is a great step towards the complete centralization of all common code, but sadly enough was not implementable the whole way: MapsMapFeature cannot be inherited by SMMapPrinter, since this class already inherits the SMW QP. Yaron suggested to use a ‘has-a’ implementation, witch means creating an instance of one of the classes you want to inherit as a class field, instead of the ‘is-a’ which is the regular inheritance. Although this is doable in theory, it will bring with it some other problems, so will have to wait till another version.
  • Separation between the common and specific parameters, and their default values. Each mapping service now holds an array containing the extra parameters they add (so the allowed ones), and another array containing their default values. Note that both arrays are merged with the common arrays at runtime, and will override similarity named items. This allows to change the default value of a common property, or change the aliases.
  • Yes, indeed, that’s right, aliases! Property names now have aliases. This means you can add several alternative ways to name the same parameter, for instance, you can make so that ‘auto zoom’ and ‘auto-zoom’ will do excellently the same as the main parameter ‘autozoom’. This is particularly handy for parameters such as ‘centre’ (British spelling) and ‘center’ (American spelling).
  • Hook like system for mapping services. This is without a doubt the most important change since 0.1. All hard-coded references to mapping services in the core code have been removed. A service is now added by one multi dimensional array in Maps.php (note that this can also be done in the initialization file of another extension!), which holds the name of the parser functions class and it’s location, the aliases for the service name (feature added in 0.2), and their allowed specific parameters and their aliases. This architecture will allow other people to create their own mapping extension using the Maps (and Semantic Maps) ‘API’, which enables them to focus on the mapping service specific code rather then extension related code, or common mapping code. There are numerous more advantages, like the fact that their ‘extension’ will follow some general norms, which will make it easier for uses to use (and install!) and for developers to work on, and the fact that their code will also benefit from improvements made to the core code of Maps and Semantic Maps. Once 0.3 is release, I’m going to create a new section in both the Maps and Semantic Maps documentation, which will hold a list of why people should consider choosing that approach, as opposed to creating their own little mapping extension, a list of the advantages, and documentation on how to effectively do it.

The above improvements have been made in Maps, but still have to be implemented in Semantic Maps, which is now on the top of my to-do list. I’m also busy with the adding of new functionality, and got some great results so far, but I’ll post about those when more of the work for 0.3 is done.

Posted By: Jeroen De Dauw
Last Edit: 05 Aug 2009 @ 04:46 PM

EmailPermalinkComments (5)
Tags
 01 Aug 2009 @ 5:33 PM 

I’ve been trying to get the hang of how SVN works, and to be able to commit to the repository on mediawiki.org for a few weeks now, and finally succeeded – YAY!

The tools I’m now using are the PuTTY applications (this nice U3 app package), TortoiseSVN and Zend Studio. Subversion allows you to do a whole variety of nice things, and I probably won’t be able to grasp how I could ever have worked without it a few months from now.

I had a lot of problems with getting all settings right, mainly cause of some tutorials that just omitted some important step, or where unclear about some stuff. Since I had never worked with SVN, PuTTY or YotroiseSVN before, I did not notice that. This tutorial helped me out though.

Posted By: Jeroen De Dauw
Last Edit: 01 Aug 2009 @ 05:33 PM

EmailPermalinkComments (0)
Tags
 29 Jul 2009 @ 11:21 PM 

I just released Maps and Semantic Maps 0.2. Both the extensions documentation has been updated. I don’t have time to describe any of the improvements made since version 0.1, but the change logs are linked below.

Posted By: Jeroen De Dauw
Last Edit: 29 Jul 2009 @ 11:21 PM

EmailPermalinkComments (0)
Tags
 27 Jul 2009 @ 12:08 AM 

Today I finished refactoring the parser function handling classes (in Maps) for each service and also fixed the php/js logic issue. After that I took care of a variety of to-do’s, including the centre parameter, support for all OpenLayers controls, the display of title’s and labels for markers and the adding of the Google Maps ‘physical’ map type to the map type selector control when it’s set. Here you have a nice screenshot demonstrating the last 2 features:

Maps displaying a Google Maps map with physical map type and a marker with popup

{{
#display_address:
service=googlemaps
|address=Moscow, Russia
|width=800
|Height=500
|type=physical
|title=Moscow (Russia)
|label=Moscow is the capital and the largest city of Russia. It is also the largest metropolitan area in Europe.
}}

There are only 2 to-do’s remaining before I can release version 0.2 of both extensions: multi-geocoder support and OSM base layers for OpenLayers maps. Both are proving to be quite a challenge though. I was planning to create a central system for the geocoders, both the ones used in parser functions, and in form inputs, but this is proving to be extremely difficult to achieve. I therefore will probably just go for separate systems (unless I find an easy way to do the original plans).

Posted By: Jeroen De Dauw
Last Edit: 27 Jul 2009 @ 11:45 AM

EmailPermalinkComments (1)
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.