Home » Blog

rounded header

Archive for May, 2009

M/DB support in SimpleDB Management Tools and LightSpeed

Amazon’s SimpleDB cloud database is cool, but it’s not the ideal platform for development and testing — it can be a pain having to go all the way to Amazon for each test, it’s not very convenient to set up isolated instances for each developer, and the “eventual consistency” behaviour of SimpleDB makes verifying updates unreliable.

Fortunately, MGateway Developments have a free, “plug-compatible” alternative called M/DB, which not only allows you to have local test versions of SimpleDB but can also be used in production to break through some of SimpleDB’s limitations. It’s provided as a handy virtual appliance, which makes it a snap to set up locally.

We’ve now updated LightSpeed and SimpleDB Management Tools to support M/DB. In SimpleDB Management Tools, you now can supply a URL to a M/DB instance. You can then work with that instance in Server Explorer and the Query window just as you now do with the Amazon service. You can set up connections to multiple M/DB instances and have them alongside your connection to Amazon itself.

SimpleDB Management Tools M/DB support

In LightSpeed, we’ve added elements to the connection string to allow you to override the default Amazon URL and point to a M/DB instance instead. Simply add the following element to your connection string:

Url=http://xxx.xxx.xxx.xxx/mdb/request.mgwsi

and you’ll be good to go.

If you want to try out LightSpeed against M/DB, grab the latest nightly from here or from the store.

To get the updated version of SimpleDB Management Tools, go here for the free edition or to the store for the unlimited edition.

UPDATE: In the M/DB “virtual appliance” (build 21) there were some compatibility issues noted in an earlier version of this post. These issues are now fixed but you will need to download and install M/DB build 26 or above to make it work seamlessly with LightSpeed and SimpleDB Management Tools.

The New Zealand Hi-Tech Awards

tag icon Tagged as News, WPF Elements

NZ Hi-Tech Awards Logo

It’s a bit late but now that we have some photos from the evening it seemed like a good time to make a post about the New Zealand Hi-Tech Awards. Two weeks ago Jeremy and I went to Christchurch to attend the Hi-Tech awards – we hadn’t entered Mindscape in the awards this year but I was put forward for the Young Achiever award.

I was fortunate enough to be a winner of the Young Achiever category along with Andrew Graham. Endace sponsored this award and so the award was given by Neil Hopkins of Endace (on the left):

John-Daniel Trask receving the Hi-Tech Young Achiever Award

Praise needs to go to the organisers and sponsors of the awards – celebration of business success and highlighting the importance of creating innovative technology companies in New Zealand is important. A memorable quote of the evening was that we need to be creating global businesses – something that I believe Mindscape truly is – over 95% of our customers are not in New Zealand. Thanks of course also goes to the rest of the Mindscape team and all those involved in the other ventures that we are part of.

Overall it was a great evening – we met some very interesting people, connected up with some we hadn’t seen in a while and stayed up way too late (in typical geek fashion, back at the hotel room afterwards Jeremy and I played some Unreal Tournament 2004 to which it became apparent I am not very good at playing when tired and full of wine!). Good Times!

Read more about the New Zealand Hi-Tech Awards here.

Navigating around models in the LightSpeed designer

tag icon Tagged as LightSpeed

In any visual designer, it can be hard to find things when the model gets big and complicated, and the LightSpeed designer is no exception. In this post I want to mention one little-known feature and one new feature that may help you find your way around big models.

Zooming out

If you need a quick overview of the model, you can hold down the Ctrl key and spin the mouse wheel to zoom in or out. Zooming out is a quick way to get a thumbnail view of the model, and you can then easily zoom back in to the area you want to work with.

Filtering and finding

In recent nightly builds we’ve added a Filter box to the LightSpeed Model Explorer (that tree view window you never look at). If you type into the Filter box then LightSpeed will show you only entities whose names contain the filter text (plus, optionally, any entities associated with them). Also, LightSpeed will scroll the display to these entities. So if you type the name of an entity then LightSpeed will centre on that entity — effectively giving you a Find function.

LightSpeed designer filter box

Nightly builds are available for the free Express edition from our Downloads section, and for retail editions from the store. If you’re currently running 2.2 RTM or an old nightly build, please uninstall before installing the new nightly (if you’re running a recent nightly you shouldn’t need to do this). If you’ve turned off the LightSpeed Model Explorer window, you can get it back by choosing View > Other Windows > LightSpeed Model.

New features in the LightSpeed designer

tag icon Tagged as LightSpeed

We’ve been adding a few features into the LightSpeed designer recently. Here’s a quick rollup of what’s new.

Reorganising inheritance hierarchies

One of the problems with mapping between the object and relational worlds is handling inheritance. In the LightSpeed designer, if you do database-first design but want to use inheritance in your domain model, you’ll run into this problem when you drag tables onto the model (or update the model) and find properties appearing in the “wrong” place.

  • In single table inheritance, properties that are meaningful only on a derived class appear on the base class because the columns are on the common table, so LightSpeed has no way of knowing where else to put them.
  • In concrete table inheritance, properties that appear in multiple tables appear in multiple leaf classes, when you may want to consolidate them in the base class.

We’ve now added a couple of commands to the designer to help with these situations by automatically moving properties down into a derived class or up into a base class. This saves you having to delete and recreate the properties, and reduces the chance of making a mistake if the property has additional attributes such as Column Name or validations. To use these commands, just right-click the property you want to move and choose Move to Derived Class or Move to Base Class from the menu.

Through associations

You can now model through associations (LightSpeed’s implementation of many-to-many associations) in the designer. Just drag a Through Association arrow between the two end types.

If your through entity has no properties of its own, and you don’t need to override its default behaviour or attributes, you can then hide the through entity by right-clicking the through association arrow and choosing Convert to Auto Through Entity.

Value object database synchronisation

In the past, if you’ve had an entity with value object properties, that entity has been excluded from database synchronisation operations (Update From Source and Update Database). This limitation is now removed. You won’t get full Update From Source functionality because it’s not possible to safely modify the properties of the value object type (because that could affect other tables, putting them out of sync), but for model-first development this should be very handy.

CRUD stored procedure support

You can use the CrudProcedureAttribute to tell LightSpeed to use stored procedures instead of table access for select, update, insert and delete operations. This is now also supported in the designer. Select the entity and change its Access Method to StoredProcedures. New entries appear in the Properties box for the names of the Select Procedure, Select By Id Procedure, etc.

In addition, entities whose Access Method is anything other than Table are now excluded from synchronisation, so you will no longer need to exclude these entities manually each time you update.

We’ve also fixed a couple of bugs and minor limitations.

If you’re using the designer and any of these features sound useful to you, grab the latest nightly build (free Express Edition here, retail editions from the store) and check it out!

Data Products Visual Controls Community Store
LightSpeed ORM
NHibernate Designer
SimpleDB Tools
SharePoint Tools
WPF Elements
WPF Diagrams
Silverlight Elements
Forums
Blog
Register
Login
Subscribe to newsletter
Buy Now
My Account
Volume Discounts
Purchase Orders
Contact Us