I''m preparing some demos of using silverlight+ironruby with gestalt. It''s really impressive but i''d like to show an example using the bing map control but can''t work out how to make external controls available. Here''s what I thought I should do: * Created a Microsoft.Maps.slvx containing the Microsoft.Maps.MapControl.dll and Microsoft.Maps.MapControl.Common.dll * Cracked open the dlr.xap file and added <ExtensionPart Source="Microsoft.Maps.slvx" /> to the manifest and packaged it up again The browser had cached dlr.xap which confused me for a while but I can now see the Microsoft.Maps.slvx is getting downloaded (i''m using my own little webserver tool - http://bitbucket.org/markryall/webshare/) but none of the classes seem to be available. Can anyone see what''s missing? I''d also like to demo using silverlight 4 - does anyone know if changes are required to the gestalt dlr.js, dlr.xap etc. to use the new features (camera control etc.)? Mark.
In case anyone is curious - I got this to work by putting the Microsoft.Maps.MapControl.dll and Microsoft.Maps.MapControl.Common.dll assemblies directly into the DLR.xap file. This doesn''t seem ideal - the slvx approach ensures that silverlight applications can avoid downloading command dependencies such as IronRuby, IronPython etc. once for every application. It''s functional enough to show how easily silverlight applications can be created without needing an ide or a compiler. Mark. On Mon, Jan 25, 2010 at 7:17 PM, Mark Ryall <mark.ryall at gmail.com> wrote:> I''m preparing some demos of using silverlight+ironruby with gestalt. > > It''s really impressive but i''d like to show an example using the bing > map control but can''t work out how to make external controls > available. > > Here''s what I thought I should do: > > * Created a Microsoft.Maps.slvx containing the > Microsoft.Maps.MapControl.dll and Microsoft.Maps.MapControl.Common.dll > * Cracked open the dlr.xap file and added <ExtensionPart > Source="Microsoft.Maps.slvx" /> to the manifest and packaged it up > again > > The browser had cached dlr.xap which confused me for a while but I can > now see the Microsoft.Maps.slvx is getting downloaded (i''m using my > own little webserver tool - http://bitbucket.org/markryall/webshare/) > but none of the classes seem to be available. > > Can anyone see what''s missing? > > I''d also like to demo using silverlight 4 - does anyone know if > changes are required to the gestalt dlr.js, dlr.xap etc. to use the > new features (camera control etc.)? > > Mark. >
Mark, Putting the dlls in the XAP is one way to do it. You could also put them into a ZIP file, and in your app download the zip file and use Silverlight''s Application.GetResourceStream API to extract the DLLs from the file, and call Assembly.Load on them. However, this is a bit annoying, so we support doing this: <script type="application/zip" src="foo.zip"></script> <script type="text/ruby">require ''foo.zip/foo.dll''</script> This lets you put files in a zip, and then access them like they were part of the "filesystem". However, I just tried this and I found a bug, so I''ll check in a fix and let you know when it''s fixed. ~Jimmy> -----Original Message----- > From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core- > bounces at rubyforge.org] On Behalf Of Mark Ryall > Sent: Monday, January 25, 2010 7:12 PM > To: ironruby-core at rubyforge.org > Subject: Re: [Ironruby-core] using custom controls with gestalt > > In case anyone is curious - I got this to work by putting the > Microsoft.Maps.MapControl.dll and Microsoft.Maps.MapControl.Common.dll > assemblies directly into the DLR.xap file. > > This doesn''t seem ideal - the slvx approach ensures that silverlight > applications can avoid downloading command dependencies such as IronRuby, > IronPython etc. once for every application. > > It''s functional enough to show how easily silverlight applications can be > created without needing an ide or a compiler. > > Mark. > > On Mon, Jan 25, 2010 at 7:17 PM, Mark Ryall <mark.ryall at gmail.com> wrote: > > I''m preparing some demos of using silverlight+ironruby with gestalt. > > > > It''s really impressive but i''d like to show an example using the bing > > map control but can''t work out how to make external controls > > available. > > > > Here''s what I thought I should do: > > > > * Created a Microsoft.Maps.slvx containing the > > Microsoft.Maps.MapControl.dll and Microsoft.Maps.MapControl.Common.dll > > * Cracked open the dlr.xap file and added <ExtensionPart > > Source="Microsoft.Maps.slvx" /> to the manifest and packaged it up > > again > > > > The browser had cached dlr.xap which confused me for a while but I can > > now see the Microsoft.Maps.slvx is getting downloaded (i''m using my > > own little webserver tool - http://bitbucket.org/markryall/webshare/) > > but none of the classes seem to be available. > > > > Can anyone see what''s missing? > > > > I''d also like to demo using silverlight 4 - does anyone know if > > changes are required to the gestalt dlr.js, dlr.xap etc. to use the > > new features (camera control etc.)? > > > > Mark. > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core
Thanks. That''s excellent - I can easily load gems that way too I guess (adding foo.zip to the load path). I got the impression from the "sl back to just text" document that loading zips wasn''t implemented yet - should''ve just given it a try. Gestalt does seem really awesome - providing textmate bundles is a nice touch. On Tue, Jan 26, 2010 at 4:32 PM, Jimmy Schementi <Jimmy.Schementi at microsoft.com> wrote:> Mark, > > Putting the dlls in the XAP is one way to do it. You could also put them into a ZIP file, and in your app download the zip file and use Silverlight''s Application.GetResourceStream API to extract the DLLs from the file, and call Assembly.Load on them. However, this is a bit annoying, so we support doing this: > > <script type="application/zip" src="foo.zip"></script> > <script type="text/ruby">require ''foo.zip/foo.dll''</script> > > This lets you put files in a zip, and then access them like they were part of the "filesystem". However, I just tried this and I found a bug, so I''ll check in a fix and let you know when it''s fixed. > > ~Jimmy > >> -----Original Message----- >> From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core- >> bounces at rubyforge.org] On Behalf Of Mark Ryall >> Sent: Monday, January 25, 2010 7:12 PM >> To: ironruby-core at rubyforge.org >> Subject: Re: [Ironruby-core] using custom controls with gestalt >> >> In case anyone is curious - I got this to work by putting the >> Microsoft.Maps.MapControl.dll and Microsoft.Maps.MapControl.Common.dll >> assemblies directly into the DLR.xap file. >> >> This doesn''t seem ideal - the slvx approach ensures that silverlight >> applications can avoid downloading command dependencies such as IronRuby, >> IronPython etc. once for every application. >> >> It''s functional enough to show how easily silverlight applications can be >> created without needing an ide or a compiler. >> >> Mark. >> >> On Mon, Jan 25, 2010 at 7:17 PM, Mark Ryall <mark.ryall at gmail.com> wrote: >> > I''m preparing some demos of using silverlight+ironruby with gestalt. >> > >> > It''s really impressive but i''d like to show an example using the bing >> > map control but can''t work out how to make external controls >> > available. >> > >> > Here''s what I thought I should do: >> > >> > * Created a Microsoft.Maps.slvx containing the >> > Microsoft.Maps.MapControl.dll and Microsoft.Maps.MapControl.Common.dll >> > * Cracked open the dlr.xap file and added <ExtensionPart >> > Source="Microsoft.Maps.slvx" /> to the manifest and packaged it up >> > again >> > >> > The browser had cached dlr.xap which confused me for a while but I can >> > now see the Microsoft.Maps.slvx is getting downloaded (i''m using my >> > own little webserver tool - http://bitbucket.org/markryall/webshare/) >> > but none of the classes seem to be available. >> > >> > Can anyone see what''s missing? >> > >> > I''d also like to demo using silverlight 4 - does anyone know if >> > changes are required to the gestalt dlr.js, dlr.xap etc. to use the >> > new features (camera control etc.)? >> > >> > Mark. >> > >> _______________________________________________ >> Ironruby-core mailing list >> Ironruby-core at rubyforge.org >> http://rubyforge.org/mailman/listinfo/ironruby-core > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core >
Jimmy, Did you ever get this fixed? I tried application/zip as well as application/x-zip-compressed, but in every case I get a "No such file to load" error. Here''s the source: <html> <head> <script src="http://visitmix.com/dlr/dlr.js" type="text/javascript"></script> </head> <body> <div id="message"></div> <script type="application/x-zip-compressed" src="myarchive.zip"></script> <script type="text/ruby"> # somelib.rb => document.message.innerHTML = "Hello World!" require ''myarchive.zip/somelib'' </script> <script type="text/ruby"> # file.txt just has a text string. content = File.open("myarchive.zip/file.txt"){ |f| f.read } window.alert(content) </script> </body> </html> Ryan Riley Email: ryan.riley at panesofglass.org LinkedIn: http://www.linkedin.com/in/ryanriley Twitter: @panesofglass Blog: http://wizardsofsmart.net/ Website: http://panesofglass.org/ On Mon, Jan 25, 2010 at 10:32 PM, Jimmy Schementi < Jimmy.Schementi at microsoft.com> wrote:> Mark, > > Putting the dlls in the XAP is one way to do it. You could also put them > into a ZIP file, and in your app download the zip file and use Silverlight''s > Application.GetResourceStream API to extract the DLLs from the file, and > call Assembly.Load on them. However, this is a bit annoying, so we support > doing this: > > <script type="application/zip" src="foo.zip"></script> > <script type="text/ruby">require ''foo.zip/foo.dll''</script> > > This lets you put files in a zip, and then access them like they were part > of the "filesystem". However, I just tried this and I found a bug, so I''ll > check in a fix and let you know when it''s fixed. > > ~Jimmy > > > -----Original Message----- > > From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core- > > bounces at rubyforge.org] On Behalf Of Mark Ryall > > Sent: Monday, January 25, 2010 7:12 PM > > To: ironruby-core at rubyforge.org > > Subject: Re: [Ironruby-core] using custom controls with gestalt > > > > In case anyone is curious - I got this to work by putting the > > Microsoft.Maps.MapControl.dll and Microsoft.Maps.MapControl.Common.dll > > assemblies directly into the DLR.xap file. > > > > This doesn''t seem ideal - the slvx approach ensures that silverlight > > applications can avoid downloading command dependencies such as IronRuby, > > IronPython etc. once for every application. > > > > It''s functional enough to show how easily silverlight applications can be > > created without needing an ide or a compiler. > > > > Mark. > > > > On Mon, Jan 25, 2010 at 7:17 PM, Mark Ryall <mark.ryall at gmail.com> > wrote: > > > I''m preparing some demos of using silverlight+ironruby with gestalt. > > > > > > It''s really impressive but i''d like to show an example using the bing > > > map control but can''t work out how to make external controls > > > available. > > > > > > Here''s what I thought I should do: > > > > > > * Created a Microsoft.Maps.slvx containing the > > > Microsoft.Maps.MapControl.dll and Microsoft.Maps.MapControl.Common.dll > > > * Cracked open the dlr.xap file and added <ExtensionPart > > > Source="Microsoft.Maps.slvx" /> to the manifest and packaged it up > > > again > > > > > > The browser had cached dlr.xap which confused me for a while but I can > > > now see the Microsoft.Maps.slvx is getting downloaded (i''m using my > > > own little webserver tool - http://bitbucket.org/markryall/webshare/) > > > but none of the classes seem to be available. > > > > > > Can anyone see what''s missing? > > > > > > I''d also like to demo using silverlight 4 - does anyone know if > > > changes are required to the gestalt dlr.js, dlr.xap etc. to use the > > > new features (camera control etc.)? > > > > > > Mark. > > > > > _______________________________________________ > > Ironruby-core mailing list > > Ironruby-core at rubyforge.org > > http://rubyforge.org/mailman/listinfo/ironruby-core > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20100731/2afaab8f/attachment.html>