Customized versus Uncustomized Site Pages in SharePoint 2007

I taught our SharePoint developer class last week, and a couple people who were relatively new to SharePoint had a hard time understanding the difference between Customized and Uncustomized Site Pages. I explained the process a couple times and add the explanation here for others who may share the same confusion.

Let’s say I’m creating a new Visual Studio project for a SharePoint Feature. This Feature includes a page template and will provision an instance of the page template into the virtual file system of the current site when the Feature is activated.

Provisioning an instance of the page means that SharePoint will update the content database to indicate that there is a new page in the site. The database will also contain the path to the the page template in the SharePoint system folders and a placeholder for a customized version of the page. Originally that placeholder will be empty, indicating that the page is in an uncustomized state. If a user requests the page, SharePoint will see that it is uncustomized and will go to the system folders, load the page template, compile the page template into a DLL, and use the compiled image to render the page. If there is an instance of the same page template in another site, and that instance is also uncustomized, requests to this second page will use the complied image when rendered.

Later, a user may come along and edit one of the instances of the page template with SharePoint Designer (they may change fonts or styles, add text, add web parts, etc). When they save their work, SharePoint Designer will put the updated markup for the page instance into the placeholder in the database mentioned earlier. That is, the page for the site the user was editing is now in a customized state. When a user requests this page, SharePoint will load the markup from database and dynamically parse it using the no-compile mode feature that was introduced with ASP.NET 2.0.  Customized pages do not get complied.

Finally, let’s say that the site page in question supports web parts. While we refer to the act of adding, removing, or editing web parts as a customization of the page, it is not a customization in the context being discussed. Information about web parts is stored separate to the page in the content database, so the act of adding a web part to a page using the browser interface does not put the page into a customized state.

For more information, check out Inside Microsoft Windows SharePoint Services 3.0 and Understanding and Creating Customized and Uncustomized Files in Windows SharePoint Services 3.0 on MSDN.

Technorati Tags:
Posted by windsor | with no comments
Filed under: ,

ObjectSharp Presents ‘Silverlight on the Silver Screen’ – July 9

Last year ObjectSharp took Toronto by storm with the blockbuster hit Visual Studio 2008 at the Movies. That was so 2008.

This July, the much anticipated SQL comes to a theatre near you (assuming you live near John and Richmond in Toronto). Silverlight on the Silver Screen will make you laugh, make you cry, and make you see the beauty that is XAML data binding. See Sith Lord Barry Gervin use the Force to move Silverlight apps out of the browser. See Dave ‘Binary Dump’ Lloyd take debugging to the next level with VSTS and TFS. See Princess Bruce Organa-Johnson in his breakout role, multi-touching his way to your heart.

OK, a little more seriously – please join us on July 9 for an event that showcases what’s new in Silverlight as well as some of exciting technologies coming up in Visual Studio 2010, .NET 4.0, Expression Blend 3, and Windows 7. It will be fun and informative and there may even be a prize or two being given away.

http://www.objectsharp.com/about/events/Pages/silverlight-on-the-silver-screen.aspx

Technorati Tags: ,

Posted by windsor | with no comments

Dev Teach/SQL Teach Education Stimulus Package

DevTeach Vancouver is only a few months away, and there’s another great new promotion for you to consider. As if the user group and early bird discounts were not enough, there is one more way you can save. If your user group or organization registers two people for the conference, you’ll get a third registration for free.

This promotion can be combined with the other discounts and will run until June 8th.

For more details, visit the DevTeach website:  www.devteach.com

Posted by windsor | with no comments
Filed under: ,

Toronto SharePoint Camp - January 24

It is that time of year again - the Toronto SharePoint Camp taking place next Saturday at Manulife Financial (200 Bloor Street - between Yonge and Jarvis) .  This free event is organized by the people from the Toronto SharePoint User Group and will be of interest to developers, administrators, and end-users alike. 

 I'll be doing two developer talks:
- SharePoint 2007: A Developers Primer, and
- Building SharePoint Web Parts from A to Z

The other topics for the 2009 Camp include:
- Integrating SQL Server with MOSS,
- Social Computing with SharePoint and Silverlight,
- Advanced InfoPath Development with SharePoint, and
- MOSS Search: Why it’s not enough to just turn it on

It should be a great turnout so please visit the website and regsiter ASAP to secure your spot.

Posted by windsor | with no comments

Easy(er) ASP.NET Workflow Forms with the WSS 3.0 Workflow Tools

[via Wouter Van Vugt]

WSS3 Workflow Tools helps developers create better WSS 3.0 workflows by providing a development framework and by integrating into the Visual Studio development environment. The primary focus for this first release is on making it easier to create ASP.NET workflow forms.

The first release consists of:

  • Base classes for all workflow form types
  • UserControl framework, quite similar to what InfoPath is providing in MOSS
  • Visual designers for InputForm, InputFormSection, InputFormControl and ButtonSection
  • Visual Studio templates for VS2005 / VS2008, for all forms and controls
  • Easy to use installer

Check it out at http://www.codeplex.com/wss3workflow.

Technorati Tags: [], [], []

Posted by windsor | with no comments
Filed under: ,

ObjectSharp Announces The "BIG" Netbook Giveaway

Take at least seven days of public training with ObjectSharp between now and December 31, 2009 and they will give you sweet Acer Aspire One NetBook computer. I've been using the Acer Aspire One for about a month now and I love it - I'm sure you will too.

The "BIG" Netbook Giveaway

Posted by windsor | with no comments

Staying Sane in Today’s Software Development World with Billy Hollis

I'm a big fan of Billy Hollis. He just seems to really get what's going on in the .NET development world and the issues that today's developers are facing. I just finished listening to a Deep Fried Bytes podcast where Billy spoke with hosts Keith Elder and Chris Woodruff about the flood of new technology coming from Microsoft and how developers are dealing with it. It's definitely worth a listen.

http://shrinkster.com/13ev

Posted by windsor | with no comments
Filed under: ,

TechEd EMEA Resources and Demos - Integrating ASP.NET AJAX with SharePoint 2007

I'm about two hours away from delivering my SharePoint/AJAX at TechEd EMEA and I realized my Resources slide is a little thin. Here are some additional links to resources along with a link to the session demos. I'm sure I've missed some so please feel free to suggest others via comments.

Slides
http://www.slideshare.net/rob.windsor/integrating-aspnet-ajax-with-sharepoint-presentation

Session Demos
http://shrinkster.com/12wg

ASP.NET AJAX Developer Center
http://www.asp.net/ajax/

mssharepointdeveloper.com
http://www.mssharepointdeveloper.com

MSDN RampUp - SharePoint Developers
http://msdn.microsoft.com/en-us/rampup/dd221355.aspx

SharePoint Team Blog
http://blogs.msdn.com/sharepoint

AJAX Toolkit for SharePoint
http://www.codeplex.com/sharepointajax

Inside Windows SharePoint Services 3.0
http://shrinkster.com/y2w

Technorati Tags: [, ]

Posted by windsor | with no comments
Filed under: , ,

TechEd Developer EMEA 2008

I found out a few days ago that I've been selected to speak at TechEd EMEA in Barcelona. I'm really excited as this is not only my first time speaking outside of North America, it's my first trip to continental Europe. My session is on using ASP.NET AJAX with SharePoint 2007.

Integrating ASP.NET AJAX with SharePoint.
SharePoint provides a great infrastructure for quickly building intranet and Internet applications. ASP.NET AJAX provides a foundation for creating highly productive Web interfaces. Combined they are two great tastes that taste great together! In this session we will cover the basics of working with ASP.NET AJAX inside of SharePoint 2007. We will take a look at how to prepare a Web Application for ASP.NET AJAX and how to use various ASP.NET AJAX tools such as the JavaScript libraries, JSON-enabled Web services and UpdatePanels to build add rich interactivity to your SharePoint sites.

If you're attending the conference and find the session interesting the please feel free to go to the session list and rate it. I don't know for sure but I think that your rating and the number of people who give a rating have an effect on the scheduling of the session. I'm positive that the number of ratings you receive helps determine if your session will repeat.

I'm not going to be able to attend the PDC this year (this event and the PDC were too close together) so I'm glad there's a PDC track at TechEd. From all reports PDC is going to rock so at least I'll be able to get a taste of the content.

I'll be Twittering (http://twitter.com/robwindsor) and hopefully blogging from the conference. If you're there feel free to look me up or better yet drop by my session.

Technorati Tags: [, , ]

Posted by windsor | 2 comment(s)

Tech Days or DevTeach - Which Should I Choose?

A colleague of mine was considering attending a conference this fall and, knowing that I'm pretty connected with the community, asked if he should go to TechDays or DevTeach. I thought other people may be wondering the same thing so I decided to put together a comparison chart to assist in making an informed decision.

  Tech Days Canada DevTeach
Web Site http://www.microsoft.com/canada/techdays http://www.devteach.com
Where and When Toronto (Oct 29 and 30)
Montreal (Nov 6 and 7)
Ottawa (Nov 27)
For other locations and dates see the Tech Days site
Montreal (Dec 1 to 5)
Length One or two days of breakout session depending on location Three days of breakout sessions plus pre and post conference sessions
Sessions Two Day: 40 sessions in five tracks (16 Developer and 24 IT Pro)
One Day: 30 sessions in five tracks (12 Developer and 18 IT Pro)
136 sessions in eight tracks (119 Developer and 17 IT Pro)
Note: Some of the sessions will be delivered in French
Speakers Microsoft Canada Developer and IT Pro Advisors
Local Community Members

You'll see speakers like those you would see at your local user group or code camp
Microsoft Redmond Product Team Members
Canadian and International Speakers

You'll see speakers like those you would see at the largest conferences (e.g. TechEd) mixed with speakers from the Canadian Developer/IT Pro community
Cost Two Day Early Bird: $299.99  Two Day Full: $499.99
One Day Early Bird: $129.99  One Day Full: $249.99
Early Bird: $949.00  Full: $1,249.00
You can get $50.00 off the prices noted above through your local user group or selected Microsoft Partners
Atmosphere Community oriented
Easy access to speakers/community experts
Community oriented
Easy access to speakers/community experts

So, I guess the choice comes down to what you're looking for. While DevTeach is more expensive, it offers more that three times the number of sessions and covers a much wider range of topics. Both are more than worth the cost to attend - just make sure you check out the session lineups before deciding where to spend your conference dollars to ensure you get the experience you are looking for.

Technorati Tags: [], []

Posted by windsor | 4 comment(s)

REST, JSON and RSS with WCF 3.5 - QCon San Francisco

The people at InfoQ just posted a recording of a session I did on WCF at QCon San Francisco last November. Here's the session information along with some links to related materials.

REST, JSON and RSS with Windows Communication Foundation 3.5
WCF is not just for SOAP based services and can be used with popular protocols like RSS, REST and JSON. Rob Windsor covers URI templates, the importance of HTTP GET in the programmable web, how to expose service operations via HTTP GET, how to control the format of data exposed by service operations, and finally how to use the WebOperationContext to access the specifics of HTTP.

Recorded Session:  http://www.infoq.com/presentations/rest-json-wcf-windsor

View Slides Online:  http://www.slideshare.net/rob.windsor/rest-json-and-rss-with-wcf-35-presentation/

Download Slides and Demos:  http://shrinkster.com/13er

Related WCF Screencasts:  http://www.objectsharp.com/devlounge/videos/default.aspx

Technorati Tags: []

Posted by windsor | with no comments
Filed under: , ,

DevTeach Toronto Session Materials

Thanks to all of you who came out to DevTeach and cudos to the organizers for running a great event. I hope to see you in Montreal in December.

You can download the slides and demos I used in my sessions by clicking the links below.

Introduction to Windows Communication Foundation
Windows Communication Foundation (WCF) is Microsoft’s next generation API for developing distributed applications and connected systems. It combines and extends the four distributed programming technologies (ASMX web services, remoting, message queuing, and COM+) used in previous versions of the framework. This session will provide a solid overview to WCF. It will describe the essential programming concepts that are core to the technology and will demonstrate how build, configure and consume simple services.
http://shrinkster.com/13es

Strategies for Moving Your Microsoft Visual Basic 6 Investments to .NET
Co-presented with Beth Massi
Visual Basic (VB) 6 was used by millions of developers world-wide to build applications ranging from thousands to millions of lines of code representing significant organizational investments. The path from VB 6 to .NET has not always been clear, there is no one size fits all approach. We’ll cut to the chase, exploring the pros and cons of each option using real world examples. You will leave this session with the framework and tools to develop the right strategy for your organization to leverage your existing investments while taking advantage of the power and productivity the .NET Framework provides today and .NET Framework 3.0 will provide going forward.
http://shrinkster.com/13et

Integrating ASP.NET AJAX with SharePoint
SharePoint provides a great infrastructure for quickly building intranet and Internet applications. ASP.NET AJAX provides a foundation for creating highly productive Web interfaces. Combined they are two great tastes that taste great together! In this session we will cover the basics of working with ASP.NET AJAX inside of SharePoint 2007. We will take a look at how to prepare a Web Application for ASP.NET AJAX, and how to use various ASP.NET AJAX tools such as the JavaScript libraries, JSON-enabled Web services, and UpdatePanels to build add rich interactivity to your SharePoint sites.
http://shrinkster.com/13eu

Technorati Tags: [, , , , ]

Posted by windsor | with no comments

Webcast Series for ASP.NET Developers Who Want to Learn SharePoint

[via Paul Andrew]

[Microsoft is] doing lots of things around introductory SharePoint development for .NET developers over the next few months. Here is the schedule for a series of MSDN web casts on 10 introductory SharePoint development topics for .NET developers. If you are a .NET developer then chances are these are the most interesting ten introductory things you can do on SharePoint Products and Technologies.

http://blogs.msdn.com/pandrew/archive/2008/05/12/sharepoint-developer-msdn-web-cast-series.aspx

Technorati Tags: []

Posted by windsor | with no comments

DevTeach Toronto Recap

Another DevTeach has come and gone and, as always, it was a great week. I just finished reading the comments for the conference as a whole and they were unanimously positive. Here's just one example:

What can I say. You'll definitely see me next year. I hope its still in Toronto. This was one of the BEST training conferences I've been on in quite some time. The "take-away's" from all the sessions were astounding. My mind is still spinning. Anyway, great job, nice prizes, great orgranization, absolutely no negative thoughts or comments.

Another great quote was from one of the speakers, Oren Eini:

Now that it is officially over, I can look back and say that DevTeach is still my favorite conference. Leaving aside the great speaker and talk line up (thanks James, and thanks Scott for doing it on the last two DevTeach confs), what I really like about DevTeach is the interaction with the attendees and the amount of face to face time that you get with everyone. I haven't been able to crack what it is that makes DevTeach special in this way, but I have been to other big conferences, and they were good, but they weren't the same. In short, in you have can make a conference, you really want to make it DevTeach.

The day before the conference was a busy one for me. It started and ended with DevTeach traditions, the Canadian .NET User Group Leader Summit and the Party with Palermo. This year one thing was different, sandwiched in between the summit and the party was a TVBUG meeting with two of the conference speakers: Beth Massi and Scott Hanselman. I have to say it was more than a little hectic attending the summit, making sure Beth and Scott got into town OK and had someone helping them get to the meeting, and then getting everyone from the meeting to the party. In the end it went off without a hitch thanks to help from fellow ObjectSharpees Barry Gervin, Tony Cavaliere and Ted Hoffman.

[Related: D'Arcy Lussier on the UG Leader Summit and the Party with Palermo, Beth Massi on the TVBUG Meeting]

The conference days were pretty standard, lots of great conversations while prepping for sessions or catching up on email. The conference nights were also pretty standard, lots of great conversations over dinner and drinks followed by drinks and drinks. Of course this lead to the very standard conference morning...

My sessions went very well. I did have some issues getting the demos for my SharePoint/Ajax talk to work properly. That session was the last of the day so I figured if I got to the conference hotel at 9:00 am I could have them taken care of by lunch time. I hit some road blocks (it wouldn't be SharePoint without road blocks) and finishing with only 10 minutes to spare. Dave Laribee caught me on video part way through this process.  

[Related: More CodeBetter Qik-casts from DevTeach]

The most fun of the three sessions was the "Strategies for Moving Your VB 6.0 Investments to .NET" talk I did with Beth Massi. I've done a few tag-team sessions lately and I really enjoy them. I find playing off the other presenter helps make things more interactive and it opens more opportunities for my style of humor.

[Related: Beth Massi on our "Strategies for Moving Your VB 6.0 Investments to .NET" talk]

The highlight of the week (other than receiving a piece of birthday cake at the speaker's dinner) was a surprise we pulled on Sasha Krsmanovic. Sasha was the user group liaison for MSDN Canada and is now the Canadian regional MVP lead and he's done a ton for developer community in the country for several years. We decided we wanted to show our thanks publicly so we asked him to come to DevTeach at lunch on Thursday for an MVP Q/A Panel. Of course there was no panel, instead we showed a video tribute done by several people from the community (expertly edited together with a lead-in and credits by Barry Gervin) and gave Sasha a plaque and Superman trophy.

I have the video tribute as well as video of the presentation and Sasha's speech. I'm going to edit those together and post the result somewhere. I'll blog it when I do.

Technorati Tags: []

Posted by windsor | with no comments
Filed under: ,

TechEd Developer 2008

The spring conference season keeps on chugging along. The MVP Summit and DevTeach just finished and TechEd is just around the corner.

It will be interesting to see what effect splitting the conference into a developer week and an IT Pro week will have. I've been spending a lot of time with SharePoint lately and that's a topic that has firm roots on both sides. I'm sure there are many other disciplines (SQL Server and VSTS come to mind) that are in the same boat.

This year I'll be taking it easier on the "networking" than I have in the past. I'm moderating a Birds-of-a-Feather (BoF) session and co-presenting an early-morning TLC talk and want to do so with a clear head. I'll also still be in the process of upgrading ObjectSharp's ASP.NET course from 2.0 to 3.5 which will be delivered for the first time the week following the conference.

I went through the session builder earlier and there are a ton of things I want to see. I had two or three (sometimes even more) sessions per time slot that I wanted to see. This morning I deleted all those and later this weekend I'm going to go through and pick the sessions that I absolutely don't want to miss (my sessions for example) and put those in Outlook. Everything else will be done spur of the moment at the conference.

For those of you who are attending the conference for the first time, you might want to check out my Guide to Attending TechEd or PDC.

I'll be Twittering (http://twitter.com/rob_windsor) and hopefully blogging from the conference. If you're there feel free to look me up or better yet drop by one of my sessions.

WIN07-TLC Strategies for Moving Microsoft Visual Basic 6 Applications to Microsoft .NET
Wednesday, June 4 8:30 AM - 9:45 AM
Blue Theatre 1

BOF806 Strategies for Moving Your Microsoft Visual Basic 6 Investments to .NET
Thursday, June 5 1:00 PM - 2:15 PM
S330 E

Technorati Tags: [, , ]

Posted by windsor | with no comments
Filed under: , , ,

Calling WCF Services from .NET 1.1

A couple people have asked me recently how they can call WCF Services from .NET 1.1. There's an article on MSDN which describes the process.

ASMX Client with a WCF Service
http://msdn.microsoft.com/en-us/library/ms751433.aspx

I just want to call out one thing that's easy to miss. You want to add the XmlSerializerFormat attribute to the contract of the service that is going to be consumed by the older, non-WCF clients. This is due to a difference in the serialization mechanisms used in WCF and ASMX Web Services.

WcfServiceAsmxClient

If you forget the attribute, you will end up with extra parameters to the operations in your client proxy.

WcfServiceAsmxClient2

Technorati Tags: []

Posted by windsor | with no comments
Filed under: ,

Talking About Many Things on Devcasting

As I mentioned a while back, I had a long conversation with Derek Hatchard that was recorded for Devcasting. The second part of that discussion - where we discuss WPF, Silverlight, technology overload, and DevTeach - has now been posted.

http://devcasting.com/index.php/2008/05/16/devcasting-11-rob-windsor-on-many-things/

Happy listening.

Technorati Tags: []

Posted by windsor | with no comments
Filed under: ,

ObjectSharp Training - Summer Seat Sale

No, I haven't decided to give up software development for the glitz and glamor of the Jet Set life. I'm just the poster child for our summer training promotion. If you're looking for .NET, SharePoint, VSTS, or BizTalk training in Toronto you should check it out.

This summer, ObjectSharp invites you to take advantage of reduced pricing on its premiere .NET training courses. Save up to $500/person on our real-world training destinations. All flights include complimentary breakfast, and are piloted by industry Top Guns - including six Microsoft MVPs and one Microsoft Regional Director. Book your trip today!

http://www.objectsharp.com/training/summer-seat-sale.aspx

Technorati Tags: []

Posted by windsor | with no comments

The Entity Framework vs. The Data Access Layer

My compadre Barry Gervin is starting a blog series discussing the Entity Framework vs. the Data Access Layer. You can find the first post here:

http://www.objectsharp.com/cs/blogs/barry/archive/2008/04/27/the-entity-framework-vs-the-data-access-layer-part-0-introduction.aspx

Technorati Tags: [], []

Posted by windsor | with no comments

DevTeach is coming to Toronto in just a few more weeks!

 

I copied this blog post from Julie Lerman's blog. Julie copied it from Guy Barrette's blog. I'm sure someone will copy it from me and add their own little flair.

If you live in Toronto and don't attend DevTeach, Guy Barrette is going to make you code in Clipper for the remainder of your career (BTW - that's Clipper development with no Multi Edit and no Norton Guides. Ah, there, now you're shaking).  Seriously, DevTeach has a great lineup of speakers from Toronto and across the globe. Where else can you hear, see, touch, feel, talk to, describe your problems (IT/Dev related or not) and have a beer with these guys/gals?

 

And that's only half of them!!!

Need more reasons?

Keynote by Scott Hanselman
Scott is one of the most prolific, renowned and respected bloggers (
http://www.hanselman.com) and podcasters (http://www.hanselminutes.com) in the .NET world. Scott is a hands-on thinker, a renowned speaker and writer. He has written a few books, most recently with Bill Evjen and Devin Rader on Professional ASP.NET. In July 2007, he joined Microsoft as a Senior Program Manager in the Developer Division. In his new role he'll continue to explore and explain a broad portfolio of technologies, both inside and outside Microsoft. He aims to spread the good word about developing software, most often on the Microsoft stack. Before this he was the Chief Architect at Corillian Corporation, now a part of Checkfree, for 6+ years and before that he was a Principal Consultant at STEP Technology for nearly 7 years.
http://www.devteach.com/keynote.aspx

Silverlight 2.0 Workshop
For the first time an independent conference is having a workshop on Building Business Applications with Silverlight 2.0.  Join Rod Paddock and Jim Duffy as they give you a head start down the road to developing business-oriented Rich Internet Applications (RIA) with Microsoft Silverlight 2.0. Microsoft Silverlight 2.0 is a cross-browser, cross-platform, and cross-device plug-in positioned to revolutionize the way next generation Rich Internet Applications are developed. Microsoft’s commitment to providing an extensive platform for developers and designers to collaborate on creating the next generation of RIAs is very clear and its name is Silverlight 2.0. In this intensive, full-day workshop, Rod and Jim will share their insight and experience building business applications with Silverlight 2.0 including a review of some of the Internet’s more visible Silverlight web applications. This workshop is happening on Friday May 16 at the Hilton Toronto.
http://www.devteach.com/PostConference.aspx#PreSP

Bonus session: .NET Rocks hosts a panel May 14th at 18:00
This year the bonus session (Wednesday May 14 at 18:00) will be a panel of speakers debating the Future of .NET. Where is .NET going? How will new development influence .NET and be influenced by .NET? Join Carl Franklin and Richard Campbell from .NET Rocks as they moderate a discussion on the future directions of .NET. The panellists include individuals who have strong visions of the future of software development and the role that .NET can play in that future. Attend this session and bring your questions to get some insight into the potential future of .NET! This bonus session is free for everyone. Panelists are: Ted Neward,Oren Eini ,Scott Bellware
http://www.devteach.com/BonusSession.aspx

Party with Palermo, DevTeach Toronto Edition
Jeffrey Palermo (MVP) is hosting Monday May 12th in Toronto is acclaimed "Party with Palermo". This is the official social event  kicking off DevTeach Toronto. The event is not just for the attendees of Toronto it’s  a free event for everyone. It’s a unique chance for the attendees, speakers and locals  to meet and talk with a free beer.   The event will be held at the Menage club  location and you need to RSVP to attend. Get all the details at this link:
http://www.partywithpalermo.com/

DevTeach Toronto is going to be a lot of fun and a great chance to learn from the best minds in the industry.  Register now - you don't want to miss out.

Technorati Tags: []

Posted by windsor | 2 comment(s)
Filed under: ,
More Posts Next page »