Sunday, March 3, 2013

Adding a View Module to the Hot Towel Template

Once you get the Hot Towel Template from John Papa inserted into your solution, where do you go next? This post gives you the steps to create a Durandal view module which consists of the view in html form, a view model in javascript, and the nav bar link to the module. It is not hard at all. Here are the steps:

1. Choose a name for your module. Let's say "orders" for this example.

2. Duplicate one of the existing views in App/views and rename it "orders.html"

3. Duplicate one of the existing viewmodels in App/viewmodels and rename it "orders.js"

4. Go into orders.js and change the title of the view to "Orders View"
var vm = {
    activate: activate,
    title: 'Orders View'
};
5. Also in orders.js, change the activation message:
logger.log('Orders View Activated', null, 'orders', true);
Notice that message is changed as is the source argument. 

6. Go into App/viewmodels/shell.js and add a link to the new module to the nav bar:
function boot() {
    router.mapNav('home');
    router.mapNav('details');
    router.mapNav('orders');
    log('Hot Towel Loaded!', null, true);
    return router.activate('home');
}
7. Run your application. You'll see the new view module appear in the app. 



Friday, February 8, 2013

Authoring a Book on Windows Azure SQL Database

I am co-authoring an O'Reilly/MS Press book about cloud computing with prolific writer/speaker/coder Lenni Lobel. The book is about the super scalable, yet super easy-to-use cloud database system from Microsoft called Windows Azure SQL Database (WASD).

Look forward to thorough how-to information on:
  • Getting up and running with WASD
  • Differences between WASD and the normal SQL Server system
  • How to manage your system from the online management portal as well as familiar tools like SQL Server Management Studio and Visual Studio's SQL Server Data Tools
  • Programming against WASD using such tools as the Entity Framework ORM layer
  • Data security and backup
  • Tips on how to migrate your multi-tier applications into Azure
  • Advanced topics like sharding using Federation, integrating with Hadoop for big data processing, and hybrid public/private systems.
Look for it to be available later this year!

Sunday, December 9, 2012

Article about Azure SQL Database and Continuous Delivery

Great article by Andrew Thompson on using DACPACs to manage creation and update of Windows Azure SQL Database in a continuous integration environment.

http://andrewmatthewthompson.blogspot.com/2011/11/data-tier-applications-dac-framework.html?showComment=1355104032161#c4775793310298682358

UP UP AND AWAY!

I've been spending a lot of time the last few years on cloud development and have been getting more and more questions about how it all works, why we to do it, and how to go beyond the basics. In this blog I'm going to focus on creating cloud applications (Cumulo) using agile methods (Nimblus). Most of these blog posts will be technical how-to's, but some will be descriptive of general architecture and often the posts will be process related.

It's not enough just to talk about putting a web page on a cloud server. We need to think about things like:
  • Creating a cloud environment that includes both production instances and test instances
  • Managing security certificates in a team environment so that multiple people can help debug problems in prod
  • Setting up continuous integration builds with automated testing for the web apps
  • Symbol servers for stepping through your apps in production
In short we're going to engineer big applications in the cloud.

For technology, we'll focus on Azure because of the breadth and depth of Microsoft's cloud technology. The pace of innovation at Microsoft has been staggering lately. They're bringing their technology into the cloud environments, making it easier to deploy apps on production servers, and also embracing key open standard and open source technologies like HTML5, Node, and JQuery. It's a great time to be a developer and I hope the posts in this blog add to our development community.