Extensions Made Easy: v1.12: Deep linking entities

I’ve been somewhat quiet on my blog lately (but have good excuses, as always), but tonight I’ll try to make it up with a little blogging spree…  Part one: what’s new in EME 1.12

Hooray, EME 1.12 is finally released…  It’s been a while since I worked on EME because I’ve been so busy.  Actually, EME 1.12 was released 2 weeks ago, but didn’t have the time at that point to show the goodies included!  A miniature “what’s included”…

Goody nr1: LS 11 (beta) support.

EME has been tested with VS LS 11 and works: commands, shell & theme exporting, the hole bunch.  I updated the manifest so you can actually install EME to target VS LS 11 beta!  Hooray!

Goody nr2: deep linking on entities.

For those of you that missed it, EME already allows deep linking on screens since a much earlier version.  I posted this in a sample (http://code.msdn.microsoft.com/silverlight/NavigationDemo-having-some-f2629c9c), but never gave it much attention.  

Deep linking is a technique in Silverlight where a user can interact with your application through the URL.  Basically, by passing parameters (the screen name) in the URL, the LightSwitch application opens up and navigates to the correct screen when fully loaded, for example:

LightSwitch doesn’t support deep linking out-of-the box, but if you install & activate Extensions Made Easy, it does!  That’s right, the only setup you need to do is to download Extensions Made Easy, and activate it.

Possible navigation commands:

* screens:  http://localhost:30325/default.htm?NavigateTo=StudentsListDetail

* entities: http://localhost:30325/default.htm?NavigateToEntity=Students&Id=1

* entities in the non-default datasource (or: you renamed the “ApplicationData”: http://localhost:30325/default.htm?NavigateToEntity=Students&Id=1&DataSourceName=ApplicationData

The funny thing about this “deep linking to entities” gimmick,  is that I was porting it to EME from a client specific project, at the very same time Chad77 was asking for this feature in the LightSwitch MSDN forums.  Funny, because that almost never happens.  Heck, that never happens!  Anyways, Chad77 was happy with the result, and I got a free beta tester! Double tap!

Goody nr3: Fuzzy searching

The third gimmick in EME is another functionality that I needed in a client specific LightSwitch project, and happily ported to EME for your convenience: fuzzy searching.  This one though, deserves a separate blog post, just because of it’s coolness… 🙂

 

 

Advertisements

6 thoughts on “Extensions Made Easy: v1.12: Deep linking entities

  1. Pingback: Windows Azure and Cloud Computing Posts for 5/7/2012+ - Windows Azure Blog

  2. Hi Jan

    Thanks to your great addition to EME, I am going to implement an email based notification-editing system in my application. My problem is that:

    My Screen Deep Linking works fine: http://localhost:60533/default.htm?IsLaunchedByVS=True&AuthenticationType=None&NavigateTo=ItemsListDetail

    But my Entity unfortunately doesn’t: http://localhost:60639/default.htm?IsLaunchedByVS=True&AuthenticationType=None&NavigateToEntity=Items&ItemId=2&DataSourceName=ProductionControlData

    I have also tried (unsuccessfully) the following:

    NavigateToEntity=Items&Id=2
    NavigateToEntity=Item&ItemId=2
    NavigateToEntity=Item&Id=2

    Also tried all the previous combinations removing the IsLaunchedByVS=True&AuthenticationType=None& part, with no luck.

    What am I doing wrong?

    EME version:1.12.1, VS 2010, Win7 64bit

    Thanks

    George

    • Hey George!
      Whoops, because of all the “links”, WP marked your comment as spam. Glad I coincidentally found it though!
      I’ll have a look this weekend on why it’s not working. Alternatively, if you’re in a hurry, you could help me debug why it doesn’t work in your application… 🙂
      If you would be interested, just

      Keep rocking LS!

      Jan

      • It works!

        With your instructions and the help of my colleague Kostas Christodoulou, the problem source revieled.
        In the URL instead of &DataSourceName=AAAAAA I had to use &DataSource=AAAAAA

        So the correct url is something like: &Id=99999&DataSource=AAAAAA

        Thanks

      • Georges,
        awesome that you figured it out! Being slitghtly dyslectic, and lacking time to thouroughly document my projects, I read right over that typo myself :-S
        Say hello to Kostas for me 🙂
        Keep rocking LS!!!
        Jan

  3. Pingback: Beth Massi - Sharing the goodness

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s