MapGuide Maestro 2.0: now with more Maestro!
Posted by Jason Birch in MapGuide, Open Source on March 10, 2010
Kenneth Skovhede recently announced the official release of MapGuide Maestro 2.0, the culmination of over a year of feature development and usability enhancements to the open source MapGuide authoring tool. Here are my picks for the top 10 features of MapGuide Maestro 2.0:
1. Theming, with ColorBrewer Suport
Being able to theme maps based on data distribution is a basic mapping function, and this release of Maestro delivers. Adding support for ColorBrewer means that you can be confident that your colour scheme is visually distinct and cartographically appropriate for the message that you are conveying. The Maestro UI automatically constrains the colour choices based on the underlying data categories:

2. Expression Editor
MapGuide and the underlying FDO data providers support a powerful expression language, and previously you were on your own to write valid expressions. Thanks to Jackie Ng, MapGuide Maestro was able to use the same expression editor that FDO Toolbox is using, giving expression-completion, valid value extraction, and more:

Check out Jackie’s posts on the FDO Expression Editor and the follow-up where he talks about the addition of value auto-completion.
3. Resource Validation
The Maestro resource validator walks from application to map to layers to data, warning if it detects any common errors such as broken references or potential performance issues like unmatched projections. This is an invaluable tool for troubleshooting problems in your maps:


4. Improved XML Editor
While Maestro’s GUI is great for most purposes, there are times when you need to access the full power of MapGuide XML configuration syntax, like when you’re editing complex XML-based stylization elements. Maestro makes it easy for you to edit any resource as XML simply by right-clicking on it and choosing “Edit as xml”. Maestro 2.0 comes with many improvements to the XML editor, including validation against the schema, cursor position (important when tracking down errors), and the ability to attach arbitrary files to the current resource, which is critical when making bitmap-based symbols:

5. Profiling
Profiling allows you to easily find the performance bottlenecks on a given map, or quickly determine whether changes to theming or other items are having an impact on performance:


6. Package Management
MapGuide packages are a zipped export of the DBXML repository including XML resources, associated binary files, and a manifest. Typically these are managed on the server, but Maestro allows you to create, edit, and load these files via the GUI. This can be really handy when you’re migrating changes between servers. One of my favourite tricks is to export both test and prod as packages, unzip them, and compare using Beyond Compare (not free, but worth every penny).


7. Custom Resource Templates
Any time you are creating a new data source, layer definition, map definition, etc, you are basically just creating a new XML document. If you find that you are always performing certain steps as part of creating these resources, you can create your own custom resource types with customized versions of these XML documents. For instance, I like to start layer creation using the version 1.3 of the LayerDefinition schema, with a default scale range of 1:1->1:500,000, and none of the feature types being displayed. All I had to do was create a new LayerDefinition with these settings, save it to the MapGuideMaestro\Templates directory with a name like “Nanaimo Layer.xml”, and it shows up when I want to create a new resource:

8. Duplicate Resource
This might not seem like a big deal, but when creating dozens of similar layers it can be a huge timesaver. Simply right-click on any resource and choose “Duplicate” and a copy of that resource is created and ready for you to customize:

9. Colour-Coded Resource Tree
When editing many resources at once, things can get a bit confusing. Crispin Hoult from 1Spatial contributed a feature that colour-codes currently open resources in green, and resources that have unsaved changes in pink. The currently active resource comes up in a darker shade. This feature makes it much easier to keep track of what’s going on in your work area, and is surprisingly useful:

10. General Usability
OK, maybe this doesn’t count as a feature, but a LOT of thought has been put into how various user interactions work, and countless small refinements have been made. A few examples:
- inserting a new layer into a map definition when you have a group selected inserts the layer into that group, and places the layer into the overall draw order right after the bottom-most layer in that group
- you can now right-click on any resource and copy its ID (like Library://Nanaimo/Data/MyFile.FeatureSource) to the clipboard, which can be incredibly useful when writing code to access resources
- you can multi-select many layers for insertion into a MapDefinition at once
- maestro keeps track of references when you rename or move resources, prompting you for whether you want dependent resources updated
All of the little enhancements in this release added together have saved me hours of work (I’ve been using the pre-release versions for a few months).
All-in-all this is a very impressive release, with countless new features and enhancements to existing functionality. Give it a spin, and I’m sure you’ll turn up your own favourites!
Thanks Kenneth, and great work.
-J
1 2 3 4 5 6 7 8 9 10 11 12
Posted by Jason Birch in Google, Rant on October 21, 2009
Ever have something you can’t get out of your head? How about two things?
The first thing stuck in my head is the idea that Google is moving wholesale into the content business. They aren’t creating their own content, but they aggregate external content into a “walled garden” and encourage users to host content on Google properties, both actions ensuring that value remains solely exploitable by Google. For product and service folks this won’t matter much, but for people reliant on web content for their income the contraction of the web into mega-portals is definitely a business threat to be aware of. I personally worry that this business tactic may affect the vitality of the web in the long run. Case-in-point, with the recent launch of the real estate layer in Google Maps, realtors are incented to funnel their listings through Google Base rather than posting them openly on the web as GeoRSS or KML. This echoes the aggregation that is occurring in Google’s “Place Pages“, and is a worrisome trend.
The other thing stuck in my head is that stupid Sesame Street pinball counting song… actually I kinda dig it, which is probably why it’s staying stuck.
What I really want to do is to stop thinking about these things. I figured that maybe if I combine the two it will help me exorcise both demons, so:
1 2 3 4 5 6 7 8 9 10 11 12 !!!!
-J
Nanaimo meet OpenID. OpenID meet Nanaimo.
Posted by Jason Birch in Nanaimo, Open Source on October 6, 2009
How’s that for protocol?
If you’re anything like me, you probably use the password reset function on websites more often than the login function. This is a huge problem, both for security and for user experience.
The City of Nanaimo recognized that as useful as the city’s web applications are, requiring citizens to remember yet another password is not reasonable. Early this year the city did an initial analysis of OpenID, and Jeff Jacob–one of my colleagues–took on the task of developing the infrastructure to support OpenID and one of the first applications to take advantage of it. You can read the everyman’s description of Nanaimo’s OpenID initiative along with links to the OpenID-enabled services.
While the majority of users probably have an OpenID account already, it would not be responsible to require citizens to sign up for an external login service. A mix of forms-based and OpenID login capabilities may have been easier, but it just made more sense for Jeff to implement a city-specific OpenID provider using the DotNetOpenID open source library. This allows Nanaimo’s application login class to be more streamlined while presenting a consistent user experience, but more importantly it allows the city to act as a provider for third party / COTS web applications as these start supporting OpenID. Eventually Nanaimo citizens will be able to log into all city services using a single ID of their choice.
It is gratifying to see that during the City’s implementation phase many other organisations, such as the US Federal Government, have been embracing OpenID. Allowing citizens to access services using their own credentials is a key part of Nanaimo’s longstanding policy of providing easy access to the information residents and businesses need to live and do business here.
If you work for a local government and are interested in sharing information and/or code, please get in touch with Nanaimo’s IT department!
-J
P.S. As always, I am writing from a personal perspective. Opinions here are my own, and are not necessarily shared by my employer.
Google Place Pages Indexable? Not really…
Posted by Jason Birch in Google on September 24, 2009
Mashable hints that Google’s new Place Pages are potentially indexable. And indeed, they are. If you click on the Link button on any of the places pages, you can see that Google has given each of them a pseudo-URL:
While these URLs are certainly interesting, on closer inspection you can see that they aren’t exactly following Google’s established best practices for publishing dynamic web content. They can be reached by any number of URLs, and Google does not use the Canonical meta tag:
http://maps.google.com/places/ca/nanaimo/wallace-st/455/-city-of-nanaimo-city-hall
http://maps.google.com/places/455/wallace-st/nanaimo/-nanaimo-city-hall
http://maps.google.com/places/nanaimo/-nanaimo-city-hall
Not only does this mess up indexing, but it means that there is no common URL for things like Google SideWiki to latch onto for aggregating the comments made on these pages. For instance, you can see a comment at this URL:
http://maps.google.com/places/ca/nanaimo/-city-hall (or here if you don’t have SideWiki)
But not at this one:
http://maps.google.com/places/ca/nanaimo/wallace-st/-city-of-nanaimo-city-hall
It appears that rather than treating each place or business to its own unique hierarchical identifier on the web, Google is instead just parsing the URL for search terms, turning slashes into commas and dashes into spaces (mostly – special case for business names).
This is unfortunate, because if this hierarchical system was in fact in place, then this series of URLs would be very cool and spatially related:
http://maps.google.com/places/ca/bc/nanaimo/wallace-st/-city-of-nanaimo-city-hall
http://maps.google.com/places/ca/bc/nanaimo/wallace-st
http://maps.google.com/places/ca/bc/nanaimo
http://maps.google.com/places/ca/bc
http://maps.google.com/places/ca
(most of these but the last give you what you’d expect, so I was initially fooled into thinking this was more intelligent than it looked for a while).
While there is lots of potential for Google Place Pages to be cool, as it stands it’s just a slight advancement on using mod_rewrite to turn your URL into parameters. As @ajturner said, they’re using the web, but not part of the web.
-J
Vancouver’s Open Data
Posted by Jason Birch in Advocacy, Open Data on September 15, 2009
Congratulations to the City of Vancouver on the launch of their Open Data Catalogue.
They have launched with what looks like a couple dozen datasets (including orthophotography and other GIS data), with a custom license agreement.
This is a great start, and I understand that the folks at Vancouver are working on pushing out more data sets as rapidly as possible. Make sure to take their survey if there is something in particular you are interested in.
-J

Recent Comments