TampaSLUG Meeting is March 3rd, 2010(Tonight) with Greg Leonardo

our next meeting is tonight at 7pm at the MS offices (check out the TampaSLUG site for more info). Greg is bringing a us a talk which should coincide nicely with the talk I gave last month (even if you missed last month Greg's talk is still for those of you who want to learn).  If you have a desire to learn Silverlight, but don't know where to begin, or simply just want to get some background in it. This is the group and night for you! .

Greg is really knowledgaeble about Silverlight so this night aims to be a really good evening.

We will have pizza and soda, so plan on coming! BUT, there is one thing you must do! Register here --> http://tampaslug310.eventbrite.com/

Also as usual there will be a social afterwards which is a good place to ask the Silverlight gurus those tough questions..

Wed, Feb 10, 2010: Basics of Building Silverlight Applications (For Business Devs)

Tomorrow, is our next meeting at 7pm at the MS offices (check out the TampaSLUG site for more info). I want to stress that this is a very basic 101 type of talk. If you have a desire to learn Silverlight, but don't know where to begin, or simply just want to get some background in it. This is the group and night for you! The night will be focused on a couple topics, but it's mostly about building forms with Silverlight and binding data to those forms to make your life easier (SIlverlight is actually easier in many respects from what you are used to if you are a web developer).

BTW, I hear its the speaker's first presentation on Silverlight so at the very least it will be fun to see him sweat.

We will have pizza and soda, so plan on coming! BUT, there is one thing you must do! Register here --> http://tampaslug0210.eventbrite.com/

Tampa Silverlight UG (1/14/2010 ): Introduction to the Silverlight Workflow

I want to blog a quick reminder to my readers the first (official) meeting of the Tampa SLUG (Silverlight User Group) is Thursday, Jan 14th, 2010 at the Microsoft offices in Tampa. We’re starting the group off with a series of topics that will be good for beginners. Here’s the info on the first topic:

Introduction to the Silverlight Workflow: One of the promises of separating business logic from the display is that designers and developers can more easily work with each other to create an application. Learn about strategies to actually deliver on this promise and make your data and logic more designer friendly.

This topic will be done by Bill Reiss (Silverlight MVP). We are priviledged to have Bill --the first ever Silverlight MVP-- as a part of our group. Bill could present every month, but he won’t. He will be around to help out (as well as correct me and others who will be presenting). If you plan on coming please RSVP at http://silvertb.eventbrite.com/ so we can know how many folks are coming.

You can read up more about our group here at http://www.tampaslug.net.

TRUIX Update for Nov. 3rd! Jim ZImmerman is sick!

We are not cancelling though. Greg Leonardo has graciously offered to step in and give us a talk he calls “Impromptu Sketchflow.” Should be fun. Everything else is the same (7:00pm for the speaker/Pizza at 6:30pm.. MS Offices)

A very important TRUIX meeting with Jim Zimmerman on Nov. 3rd

Next Tuesday, November 3rd, we have Jim Zimmerman coming in. Jim is talking about a subject that in my opinion is important to both developers and designers. Jim will be showing us how to do something that both areas of app development need to know how to do. He’s teaching us how to take a Photoshop file, slice it up into usable web graphics and then build html and CSS to create a web layout from the original file which is perfect for an ASP.NET Masterpage.

You might wonder why I think this is so important. The reason is simple. In today’s world of app development, a designer who just produces graphics and little else will someday go the way of the designer. As well as a developer with no design skills is equally on its way out. We need to know something about each other’s expertise, and be able to function in the tools of the “other half.”

Anyway, Pizza will hopefully arrive around 6:30-6:45pm. We will start the session at 7:00pm.

The Next TRUIX meeting is October 8th

The next TRUIX meeting is October 8th. We are still finalizing some of the details for the night, but we will definitely be continuing tutorial on building a UI (using our www.TampaUx.net site). We also plan on bringing you some material for the Silverlight 3/Expression 3 launch.

Things will get started at about 7:00pm (with doors opening up at 6:30pm).

Sorry it’s taken us so long to get a next meeting (we’ve had a lot of scheduling conflicts to work through of our core team).

PS. the meeting after this one will be on November 3rd and we’ll have Jim Zimmerman talking to us about a topic that is definitely in the Dev-Signer realm! Stay tuned!

On the Road to iTextFileResult: Getting the Results from System.Web.MVC.WebFormViewEngine

I’m in the process of building a new ActionResult for ASP.NET MVC. This new ActionResult will allow you to transform data into a PDF, RTF, or HTML (it uses iTextSharp behind the scenes, and yes, I have a working prototype right now that isn’t all that useful yet.. and you have to know way too much in order to use it as of this time).

Essentially what I want to do is use any view engine that the programmer chooses and convert the resulting html, xml, or regular string data into a file that gets pushed to the browser. All this works for all of the alternative engines, but the default engines doesn’t work… so, without further adieu

Challenge #1: WebFormViewEngine ignores the TextStream you give it

Actually this might be the only challenge here. I tried numerous solutions.. none of which worked. I finally cracked open the MVC source code and determined that I needed to inherit form their class and do some overriding… In my API I created BufferedViewPage, and BufferedViewPage<T> so I could intercept the RenderView code. Here’s a copy of my current (in progress) version of BufferedViewPage:

   1: public class BufferedViewPage : ViewPage, IBufferWebFormView
   2: {
   3:     public TextWriter Writer { get; set; }
   4:  
   5:     public override void RenderView(ViewContext viewContext)
   6:     {
   7:         ViewContext = viewContext;
   8:         InitHelpers();
   9:         // Tracing requires Page IDs to be unique.
  10:         ID = Guid.NewGuid().ToString();
  11:         var wfv = viewContext.View as WebFormView;
  12:         var page = (wfv!=null?wfv.ViewPath:""); // View should always be WebFormView
  13:  
  14:         if (viewContext.ViewData["____writer"] != null)
  15:         {
  16:             Writer = viewContext.ViewData["____writer"] as TextWriter;
  17:         }
  18:         ProcessRequest(new HttpContext(new simpleWR(page, viewContext.HttpContext, viewContext.HttpContext.Response.Output)));
  19:         if (Writer != null)
  20:             this.Render(new HtmlTextWriter(Writer));
  21:  
  22:     }
  23: }

You will see that I’m injecting a new writer into the ViewData (I’ll eventuually come up with a better mechanism, but it works for now). My code for the most part copies what the standard WebFormViewPage does except that you’ll see that if the page is a WebFormView it runs Render after running ProcessRequest. I’m not sure if this is problematic or not, but it works! Before I release the actual library I will probably clean this up quite a bit (this is mainly an exercise in helping anyone who wants to use the WebFormViewEngine, but somehow capture the result and do something else with it..

BTW, the part of the code here you don’t see is that before I render I make sure buffering is on and then I clear the response text after generating this (which clearing the response was about the only thing I could do.. that generated data in HttpContext.Current.Response.Output is lost to you… at least I couldn’t find a way to get at it…)

JavaScript for the masses

As you may be aware Scott Hanselman’s 2009 Ultimate Developer and Power Users Tool List for Windows came out yesterday. If you are like me you end up pooling through the list especially the new stuff to see if there is something cool that somehow you missed.

I found an item on the list that answers something I think I have been looking for (but not for me), but before I go on I need to give you some background (as usual).

Kevin D. Wolf (aka ByteMaster) and I have been talking over the last several months on all things Ajax. We’re both pretty deep on the topic of Ajax (Actually Kevin is deep on a number of topics), and we’re both pretty opinionated about a few things (I know you are shocked that I would say that about myself).

One of the things I’ve sort of been looking for is something that makes it easy for someone to write Ajax. The new Blend Skecthflow stuff is a HUGE game changer, but if what I want to write is Ajax then after using Sketchflow I’m back to the drawing board.

Interractions in Ajax.. found!

So yesterday, I was browsing the Hanselman list and I found a side reference to a tool to watch called “IxEdit.” All I can say is WOW! [Personal Note: Diane Leeper download this now! I think you could have some fin with this…] Their video tells it all, but I will tell you what I think is cool about it.

You create a page and add references to jquery, jquery ui, and their ixEdit script as well as a few CSS. Once you do this the page launches with a movable dialog. This new dialog let’s you create Ajax/Web 2.0 (more the latter) interactions with your page all by simply playing in their GUI. Really, really cool! Now they don’t do everything, and in fact from what I saw of the tool you can’t set up to make calls back to the server (but I could see something like that being set up, and am starting to think about it). Once you are satisfied you can “save and reload” which reloads the page and applies your designed interaction (so now you can see how it worked).. something not look right simply edit the interaction to tweak it’s setting.

When you are done it will help you deploy the script, so now you have designed JS code with out actually writing a line of code! Really, really cool, IMO!

[I spent a couple of hours looking for pictures to fancy this up a little.. I run a UI/UX users group for crying out loud.. I need to get better at that, so sorry my post is bland.. I’ll try to follow up with something more graphically pleasing]

TampaUX.NET Next Meeting: 7/29 (tomorrow!) 7:00 at MS Tampa Offices!

Reinventing TUX - Our Website... and Our Identity

Big things in the wind. Besides a new location, we are making a slight URL change to www.TampaUX.net.

With a new web address, we decided that a new design was in order, so our next session will be all about reinventing our web site and setting it up for future development by YOU!

Speakers:

  • Roy Lawson (Roy couldn’t make it.. it’s my fault.. we’ll get him another month)
  • Shawn Cady
  • Jay Kimble
  • Nikita Polyakov
  • Kevin Wolf

NEW Location:
Microsoft Corporation 5426 Bay Center Suite 700 Tampa, FL 33609 Map

[A little busy today, so yes, I stole Nikita’s post]

jQuery-UI visual studio intellisense (vsdoc) file

If you’ve ever tried to use jQuery UI with Visual Studio, you’ve run into a JavaScript parse error and you lose JavaScript intellisense in Visual Studio. I wasn’t exactly sure of the issue until I read someone’s advice (who was just trying to get the datepicker working) to simply include a dummy jquery-datepicker-vsdoc.js file. So I did this for the jquery-ui.js file and lo and behold, no JavaScript parsing errors, and I had intellisense for everything EXCEPT jQuery UI.

Anyway, I dug around and couldn’t find one… so I created the beginnings of one. What you get is very core level (and not an actual working file). Simply add it to your project along side your jquery-ui.js file and VS will automagically realize that when it gives you intellisense for JavaScript and you are using (or have referenced) the jquery-ui file.

As I said it’s not complete. The areas that I know for sure is that it doesn’t give you any of the theming support.. actually the jquery.ui object is pretty much not there at all… I did get the effects and all the base controls intellisense working (datepicker, tabs, dialogs, etc.). It’s not perfect, but it will be a good start for someone else…

How to Use it
So to use this simply add it alongside your jquery-ui.js file in visual studio and visual studio should pick up my file and use it to give you intellisense. If you are using an external JS file you’ll need to use “/// <reference… /> to reference the JS file.

If I get around to it I will publish an update in the future.

 

File Attachment: jquery-ui-vsdoc.js