June 2006 - Posts
TechEd 2006 was a SharePoint frenzy this year, drat my luck in not being able to fit it into the schedule. The good news is that many of the resources will be available even if you couldn't make it, and there are sites like Virtual TechEd and Bil Simser's June blog archive to help you live the experience without a plane ticket.
There was also the release of a new SharePoint book with the not-so-succint (or descriptive) title:
7 Development Projects for Microsoft Office SharePoint Server 2007 and Windows SharePoint Services 3.0. Printed copies were free at TechEd and it's also available as a free download.
Anyone at all interested in SharePoint will want to peruse Chapter 2, which outlines and explains features in the new version including Web Content Management, BI features, document management, and enterprise content management.
Future or current SharePoint developers should at least flip through the book to build a picture of how MOSS 2007 fits together and what the concepts are -- changes to the security model, site definitions, site features, Content Types, how Workflow is integrated, Excel Services -- there are a hundred small topics, you owe it to yourself to get a handle on the big picture.
The "7 Development Projects" alluded to in the title are actually case studies found in the introduction. Screen shots there show some pretty cool integration and BI scenarios.
Polita Paulus has been hard at work updating her excellent work on the DataGrid and GridView controls for the new LINQ project.
"Blinq is a tool for generating ASP.NET websites for displaying, creating, and manipulating data based on database schema. Just point Blinq at a SQL database and it will create a website with pages that display sorted and paged data, allow you to update or delete records, create new records, and follow relationships between tables in your database. You don't need to write SQL queries to use Blinq; LINQ will generate optimized queries for you that request just the data you want to show. Blinq uses the May LINQ Community Tech Preview to access data. The code Blinq creates is simple and easy to customize to fit your needs. Everything in the website Blinq creates is meant as a starting point for a website that meets your needs perfectly, so have fun customizing the pages, experimenting with the code, and making it yours!"
Check out Blinq!
And speaking of GenericDB, the site will be back up soon, the community has been hard at work creating all sorts of extensions, and all will be available as open-source freeware real soon like. A massive thanks goes out to everyone who's been involved in this project for the past, holy crap, nine (9) years.
WDP Snippets and UG Presentation
WDP Snippets.zip contains sample web.config replacement sections designed for the Personal Website Starter Kit. This version simply assumes SQLExpress and SQL Server 2005 Developer Edition are running side-by-side.
2006-06-15-TDNUG-WDP-Eli.pps contains the PowerPoint slide show from the June 16 Toronto .Net User Group Meeting.
Web Deployment Projects
WDP Provides a set of easy-to-configure property pages for controlling MSBuild. This makes it easy to create different target builds for development, test, and production target environments, or different language targets, or to inject pre- and post-build actions for logging, distribution, obfuscation, or anything else you can build in managed code.
Web Deployment Projects - Microsoft Home Page
Using Web Deployment Projects with Visual Studio 2005
Scott Guthrie's Blog on Web Deployment Projects
Managing ASP.NET Precompiled Output for Deployment Using the aspnet_merge.exe Command
This is the new build engine, and it's your friend. It makes possible all the features which the WDP merely provides an interface for.
MSBuild Team Blog
Editing .csproj to Declare Dependencies
Adding a Task to a Build - Auto-incrementing build numbers
Web Application Projects and Other Ways to Hold Onto the Past
WAP allows you to create Visual Studio 2003-style web projects in Visual Studio 2005.
Web Application Projects
MSBee - MsBuild Everett Environment
The MSBuild Everett Environment (MSBee) allows you to build ASP.Net v1.1 from Visual Studio 2005.
Setting Up SQL Server for the Starter Kits
The Starter Kits require SQL Express, but there are ways around that if you have the time and inclination.
Notes on configuring a SQL2005 instance to behave as SQLExpress with User Instancing
Installing the Personal Web Site Starter Kit with SQL 2005 Developer Edition
Creating a Membership Provider (user/role/personalization) Database on SQL Server
Use this to generate a setup script which you can run either locally or on a server to which you don't have command-line access (thanks Bil Simser).
aspnet_regsql -sqlexportonly InstallASPNETDB.SQL -A all
I'll be at the Toronto .Net User Group on Thursday to talk about Web Deployment Projects and MSBuild. It should be a fun one, but perhaps in protest against Microsoft Canada's oppressive requirement to use in-house catering, you'll want to grab a sandwich at Tim's on your way in. There's actually a great set of fast food places next to the MS Canada building (south of Derry Road). But back to the topic, I'll be showing you how to automate your builds to generate different web.configs from development through testing and production, so you can be hooked into different data sources, or even use different resource files along the way. It may be the best kept secret in v2, come check it out.
Then the Toronto SharePoint Users Group meets next week, and I'll be there to do a walkthrough of the new features in Microsoft Office SharePoint Server 2007 (MOSS). As always, these events are catered through the generous support of Polar Bear and ei. Here's the rundown:
Join us as we take a hands-on tour of MOSS 2007 Beta 2. See firsthand what's different, what's new, how it all fits together with the Office smart clients (Word, Excel, etc.), and how to get your hands on a copy. There are some big changes coming next year, this meeting will give you a head start on effectively preparing for them. As a bonus, we'll have the TechEd 2006 DVD available for attendees, which includes a MOSS 2007 VPC and some great resources! . [Get the Beta]
It's the end of an era, and I expect the start of another. Somewhere around Saturday, Scoble confirmed he's joining John Furrier at a startup company called PodTech, effective July. Congratulations!
Looking back, Scoble changed the face of Microsoft. Before he got started, MSFT was a dark corporate monolith run by the wealthiest human in the world, one who's every public move is a carefully controlled public relations exercise. Casting light into the shadows of the Redmond halls, Scoble gave transparency to the monolith, and in bite-sized pieces made Microsoft accessible to his readers.
He turned the spotlight on himself too, and walked his talk even when the matters on his mind concerned his family and personal perspective. It's a good philosophy -- we're less likely to do something stupid when we know someone's watching. This is why religions have gods. So the community became Scoble's watcher, and as people joined the community and did the same, we all grew a little.
I met him a couple times at conferences and once at Microsoft during an ASPInsiders event where we were previewing what was later released as ASP.Net v2. He interviewed me and a few other members about our reactions and what we liked the best - this was for something he was preparing for the development team. It made me wonder how much was filmed for internal consumption and whether the man ever slept.
At this time I was just past the end of a relationship and going through some seriously emotional days. While it was great to be in the company of the good friends who make up the ASPInsiders, I wasn't what you would call focused. I can't imagine a moment of that footage being useful, but the experience taught me a lot about what makes Scoble successful. They're not new principles, but they're great to see in action: Scoble is almost entirely devoid of ego and genuinely interested in people. These qualities help one be fearless and engaging, and this allows creativity to happen. When you create this environment, you get good things from people, and this is how Scoble was able to break down the walls of Microsoft.
I'm looking forward to whatever comes next from both Microsoft and PodTech. Microsoft has a blogging culture now that will carry on, though Scoble as human aggregator added something special. My friend Rob Caron pulls off similarly relentless coverage at a more granular level for VSTS/TFS, and it's definite value. Who will pick up Scoble's torch? Can't wait to see what happens next.
There's a question about the future floating around a private ASPInsiders list, I thought I'd post my response publicly and invite everyone to share their own thoughts. It's not often I can write about SharePoint, ASP.Net, and Lazy Programming all at once.
I was wondering what the next big paradigm shift is going to be as far as programming. It seems about every 6-9yrs or so MS redefines the programming paradigm.
We saw this from 3.11 to Win95/COM/ASP.
From 95-00/01 we saw the CLR/.NET.
From the CLR/.NET to ?????
My bet would be SharePoint (MOSS) melting from what it is now into a ubiquitous application platform.
With the current version of .Net, the code didn’t disappear, it became configuration of standard controls. But really, “configuration of controls” is the same as saying “provide parameters to controls” – and my argument has always been that coding is configuration too. As we get better at making appropriate objects to work with (e.g. .Net, Rails), we can encapsulate these objects and forget to some degree how they work. All learning follows this pattern – learn the mechanics, internalize the mechanics, and then forget the mechanics and simply express. Our industry behaves the same as it matures.
From a development point of view, where could we use better encapsulation? I’d like to see better visualization of entire applications and systems. I’d like to see better visualization tools for the real-time monitoring of applications(IIS particularly, but for clusters and load-balancing and a hundred other places too.
After that I’d expect more visual tools for process flow, though I personally prefer what we have now to something that would mix dragging and typing – task switching – even more. This is why I hate UML functionality in Visio. So for code design, visualization at a granular level sucks, but for entire apps and systems, and especially the modeling and monitoring of those systems, I want more visualization.
But back to MOSS. It’s central to just about everything MSFT is doing. Throughout 2006 year I expect IS shops will understand the potential of MOSS 2007, and it will become a standard application hub for corporate development.
Where does ASP.Net fit? I expect ASP.Net will expand its role as the presentation layer for MOSS data and services, which now includes web content management, search, records management, document management, and legacy integration. ASP.Net will get even better at providing presentation services for other platform services too – e.g. database, communication, authorization, search, media, directory.
But mostly, ASP.Net is what we’ll keep using for business logic, aka the custom bits where cookie cutters just don’t meet requirements. We’ll also use it to build the logic that connects proprietary systems and those without a critical mass to justify commercial adapters. We’ll use it to build hooks into proprietary apps so they can participate in Windows Workflow Foundation logic, and yes you’ll be able to plug in and use that code for SharePoint workflow too.
So it’s not so much an evolution of the platform or another CLR, it’s the continued encapsulation of the bits we work with, so we can work with those bits at ever higher altitudes. The next layer of encapsulation just happens to look a lot like MOSS 2007.
Finally, why are we trending in this direction? It's more efficient. It's Lazy Programming at its best.
Soma's post on Net v3.0 [Google for .Net 3.0]
ADO.Net 3.0 Entity Framework
Google Results for microsoft orcas
What's your answer?