Hanalei, Hawaii Monday, February 08, 2010

ASP.NET MVC Storefront Part 23: WebForms and Dynamic Data

A few months back I got to talking to J Sawyer who is a Developer Evangelist in the Texas area about the work I've been doing with the MVC Storefront. Before I worked at Microsoft, J was my "main man" with the Commerce Starter Kit - the very first Open Source project I ever worked on.

A few months back I got to talking to J Sawyer who is a Developer Evangelist in the Texas area about the work I've been doing with the MVC Storefront. Before I worked at Microsoft, J was my "main man" with the Commerce Starter Kit - the very first Open Source project I ever worked on.

During the course of the conversation J asked me if I had any plans to do any "WebForm-y" stuff; and I said "no" since this was supposed to be an ASP.NET MVC project. But then I started thinking...

ASP.NET 3.0 doesn't have any Starter Kits out there (that I know of) and it's time we had one :). If I've done my job right - J should be able to take the back-end goodness (Services, Data Access, Unit Tests, etc) and put them behind an ASP.NET WebForms site. And he did!

And thus CSK 3.0 is born.

But wait! There's more!
Part of J's job at Microsoft will be to support this new project - something that I think is really, really groovy. More time, more love, more awesomeness :).

In addition to the work he's done to get the site rolled to WebForms - J's also created a DynamicData admin site! I've been wanting to do just that for a long time - and I think this is a perfect synthesis of how MVC, DynamicData, and ASP.NET WebForms can all play happily in the same sandbox.

I sat down with J and talked about this and some other things - so have a look-see!

Watch it here. (15 minutes, 16 Mb)

The CSK 3.0 Project is here

J's blog is here


kahanu - October 24, 2008 - Rob, I think you mean 16 Megs. ;^)



I really like what I've seen so far and also the WebForms version. In today's climate with PCI compliance issues, are you going to think about applying Payment Application Best Practices (PABP)?



The payment card industry is coming down hard on developers and web hosts to make sure their e-commerce applications comply. It's a pain, but necessary.



What are your thoughts about this?



Thanks.
AllanN - October 24, 2008 - here starter kitty, kitty... :)
josh - October 26, 2008 - gah! I'm falling behind in this series again. It's like time doesn't stand still when I'm busy or something! Can't wait to see this one, Rob. Soon as I find a spare 20 minutes. (adding 5 extra to account for my apparent lack of time continuity ;)

Brian Vallelunga - October 24, 2008 - Back from Hawaii and enjoying the video. BTW, that's probably 16 megs, not 16 gigs...
Andrew Tobin - October 27, 2008 - Hey Rob,



Just looking through your code there, and I noticed you call something like this.GetFriendlyName(); from your view to get a nicer name for the logged in user.



Any reason for doing that rather than doing a Html.RenderAction( c => c.ShowLoginControl(Page.User.Identity.Name)); in your Site.Master, and in that action in the controller maybe doing something like this:



public ActionResult ShowLoginControl(string username)

{

ViewData["NickName"] = GetFriendlyName(username);

return View("_summary");

}



It would achieve much the same and push the data rather than pull it from the view, wouldn't it?
alan_247 - October 26, 2008 - At least this will be a true open source project,

and Phoenix comes to mind. ;-)
Mark Heath - October 24, 2008 - 16 gigs?! I'm hoping that's a typo or I'm going to use up my whole monthly download allowance in one hit...
Lamin Barrow - October 24, 2008 - Cool.. i have been waiting on Episode 23 for a while. As always thanks for all of our time and effort. :)
Zack Owens - October 25, 2008 - Wow.... Chris Cyvas is gonna be pissed :)
robconery - October 25, 2008 - Oops - fixed :)
Chris Kolenko - October 28, 2008 - I can't scroll on your blogs any more how annoying.. what happened to usability rob!!!
Chris - October 27, 2008 - Any chances of adding a bulk import feature/manager? It would be great to be able to add tons of products, but not only that, you could change the whole contents of the store. Add new categories , descriptions, images, products, if the products are is featured (true/false) attached to cross sale items. Change the contents all in one xml or csv file. The thought is staggering.
kahanu - October 24, 2008 - Rob, I think you mean 16 Megs. ;^)

I really like what I've seen so far and also the WebForms version. In today's climate with PCI compliance issues, are you going to think about applying Payment Application Best Practices (PABP)?

The payment card industry is coming down hard on developers and web hosts to make sure their e-commerce applications comply. It's a pain, but necessary.

What are your thoughts about this?

Thanks.
AllanN - October 24, 2008 - here starter kitty, kitty... :)
Brian Vallelunga - October 24, 2008 - Back from Hawaii and enjoying the video. BTW, that's probably 16 megs, not 16 gigs...
Mark Heath - October 25, 2008 - 16 gigs?! I'm hoping that's a typo or I'm going to use up my whole monthly download allowance in one hit...
robconery - October 25, 2008 - Oops - fixed :)
Lamin Barrow - October 25, 2008 - Cool.. i have been waiting on Episode 23 for a while. As always thanks for all of our time and effort. :)
Zack Owens - October 25, 2008 - Wow.... Chris Cyvas is gonna be pissed :)
alan_247 - October 26, 2008 - At least this will be a true open source project,
and Phoenix comes to mind… ;-)
josh - October 27, 2008 - gah! I'm falling behind in this series again. It's like time doesn't stand still when I'm busy or something! Can't wait to see this one, Rob. Soon as I find a spare 20 minutes. (adding 5 extra to account for my apparent lack of time continuity ;)
Chris - October 27, 2008 - Any chances of adding a bulk import feature/manager? It would be great to be able to add tons of products, but not only that, you could change the whole contents of the store. Add new categories , descriptions, images, products, if the products are is featured (true/false) attached to cross sale items. Change the contents all in one xml or csv file. The thought is staggering.
Andrew Tobin - October 28, 2008 - Hey Rob,

Just looking through your code there, and I noticed you call something like this.GetFriendlyName(); from your view to get a nicer name for the logged in user.

Any reason for doing that rather than doing a Html.RenderAction<PersonalizationController>( c => c.ShowLoginControl(Page.User.Identity.Name)); in your Site.Master, and in that action in the controller maybe doing something like this:

public ActionResult ShowLoginControl(string username)
{
ViewData["NickName"] = GetFriendlyName(username);
return View("_summary");
}

It would achieve much the same and push the data rather than pull it from the view, wouldn't it?
Chris Kolenko - October 28, 2008 - I can't scroll on your blogs any more how annoying.. what happened to usability rob!!!
Gecko