Archives / 2005 / August
  • My Sessions for PDC

    Seems like a lot of people are posting the sessions they're attending at PDC this year so why not join the lemmings. Here's my picks that I think I'll stick with. Going to be a busy week but looks like nerd heaven. Mostly slanted towards SharePoint (well, duh!) but some Architecture sessions thrown in and I'm sorry, but no geek can miss Anders Hejlsberg talking about future directions in languages. After all, he is the father of Delphi and C#.

    Schedule for Bil Simser

    Tuesday, September 13
    11:45 AM - 12:30 PM  
    Tips & Tricks: System.NET
    1:00 PM - 2:15 PM  
    VSTS: Behind the Scenes of Visual Studio 2005 Team Foundation Server
    2:45 PM - 4:00 PM  
    Groove: Building Enterprise Workgroup Applications
    4:15 PM - 5:30 PM  
    Assembling, Repurposing and Manipulating Document Content Using the New Office File Format

    Wednesday, September 14
    11:00 AM - 12:15 PM  
    Windows SharePoint Services: Using ASP.NET 2.0 Technology to Extend Pages, Sites, and Server Farms 
    12:30 PM - 1:15 PM  
    Case Study: Revolutionizing Microsoft Axapta—Harnessing Web Services, Workflow and SharePoint
    1:45 PM - 3:00 PM  
    Windows SharePoint Services 'v3': Creating and Defining Custom Templates, Sites, Features, and Solutions
    3:15 PM - 4:30 PM  
    Windows SharePoint Services: Advancements in Document, Content, and Data Storage
    5:00 PM - 6:15 PM  
    Windows SharePoint Services: Developing Collaboration and Tracking Applications

    Thursday, September 15
    10:00 AM - 11:15 AM  
    Building Portals and Dashboards for Business Intelligence and Reporting Applications
    11:30 AM - 12:45 PM  
    Windows SharePoint Services: Developing Custom Workflows
    1:00 PM - 1:45 PM  
    Tips & Tricks: Productivity Tips for the Visual C# 2005 IDE
    2:15 PM - 3:30 PM  
    C#: Future Directions in Language Innovation from Anders Hejlsberg
    3:45 PM - 5:00 PM  
    ''InfoPath 12'': Developing Forms for the Smart Client and the Browser
    5:15 PM - 6:30 PM  
    Surfacing Your Application's Line-of-Business Data and Actions within Enterprise Portals

    Friday, September 16
    8:30 AM - 10:00 AM
    What’s Next for Microsoft’s Web Platform
    8:30 AM - 9:45 AM  
    Architecture Symposium: Connected Business, Connected Systems
    10:30 AM - 12:00 PM  
    Advances in Agile Development
    12:00 PM - 12:45 PM  
    Tips & Tricks: Developing and Testing with Virtual PC
    1:00 PM - 2:15 PM  
    Windows Presentation Foundation ("Avalon"): Going Under the Hood to Understand the Architecture

  • Check out SPToolBar

    Caught a posting by Michael Greth on a new (at least I think it's new) release of SPToolBar, a tool put together by James Milne. James is the gent responsible for his only SPSkin tool that lets you build your CSS files for SharePoint Portal Server and Windows SharePoint Services sites. SPToolBar is a nice Web Part that provides some features that you can add to your otherwise bland pages like creating a printer friendly version of the page, sending the page as an email message, adding to your Favorites, and other goodness. You can download it directly here. Also check out James' other projects on his home page as they look pretty interesting!

  • Congrats to BONK!

    The Channel 9 guys have made their decision and the decision is good. Bonk has won the Blog'n my way to PDC contest with his excellent entry with his plans to use Avalon (Windows Presentation Foundation for all you zealots). Very cool stuff and check out the impressive video on his site. I'm looking forward to seeing what he does with WPF and .NET so he's on my blogroll now. I'm just hoping I can find some time in the next couple of weeks to do some cool stuff to show off at PDC at the Show Off event. Time to break out my DX toolkit and dust off my aging graphics skills again. Congrats again Bonk for a well deserved win (and Happy Birthday!).

  • Modifying the Horizontal Navigation Bar in WSS

    Ever wonder what you can do with the horizontal navigation bar in a WSS site? Yeah, keeps me up at night too. There are two ways to modify it:

    1. Modify it using a custom site definition via the ONET.XML file
    2. Crack open the site in FrontPage 2003 and modify it that way

    Both are valid and I'll leave the modification to ONET.XML for another day. Here's a visual walkthrough of how you can change it with FrontPage and about 5 minutes of your precious time.

    First here's our glorious site before we're about to go Dr. Frankenstein on it. Just a plain, ordinary, everyday, simple team site that we're all familiar with.

    Now let's launch FrontPage 2003 and get dirty. Click on the Edit with Microsoft Office FrontPage button in your IE toolbar. After you open the site in FrontPage there's a section of code that contains the navigation bar. It's just a FrontPage web bot. You can see it highlighted in the split-screen view below. Note that the links and names are not kept in the source code of the page.

    So now we want to modify the navigation. Hover over the navigation bar in the Design view and you'll see the icon change to a small hand. Double-click it to launch the Navigation Bar Properties dialog. Here's where we can screw with what gets displayed to the users, the order of the links, the style, and even the ability to add new links.

    Select a link (Home in this example) and click on the Modify Link button. This takes us to the Modify Link Dialog where we can change both the title of the link and the url it takes us to.

    Okay, so go nuts. Feel free to make whatever changes are appropriate for your needs. Add a link, change one, reorder them, whatever. Here's the "After" effect after we messed around with the navigation bar. I changed "Home" to "My Home", removed the "Documents and Lists" and "Create" links, renamed "Site Settings" to "Administration" and added a new link called "Google" that took me to, well, you know where. Oh yeah, and the beauty of this is that it doesn't unghost your page as the information is stored in the site and not the page. Cool huh?

    In a future release I would really like to see this web bot hooked up to the security of the site so you can choose an invidual link and attach it to a security group that's in your SharePoint site. Actually since it's a web bot, you might be able to create a custom one that does this. Never created one before but maybe I'll take a look at what that's like and go down that road (or if someone out there has the time feel free and let me know what you come up with).


  • All good things (hopefully) come to an end...

    Well the PDC Blogging Contest is over now and we're all waiting with baited breath on who the lucky ones will be. Like Charlie Bucket, I didn't get the hundreds of referrals as others did as I haven't been in the blog'o'sphere for very long (only a couple of years) and still need to win the hearts of millions. In any case I will still be at PDC (plane tickets are done and hotel is in the bag) and I still promise to blog several times a day on SharePoint V3 with pics (assuming I'm sober and able to operate the digital camera and the computer, no easy feat) and whatever other goodies I can uncover and reveal to you, true believer.

    This week is a little nuts so if I'm absent (or my posts seem like mindless incoherent rants, even more so than normal) just bear with me. I'm down to the (hopefully) final hours of my living hell that I've been in (a project that keeps adding new requirements and budget to itself everytime you look at it) and it's driving me bonkers. Of course "hours" on a project like this probably means a few weeks/months so I'm looking to escaping for a week at PDC that much more. Yes, I'll be going on a technology bender that week probably buying everyone iPods if they'll be my friend and coding Web Parts for food.

    Here's a backlog of some stuff on my TOBLOG list and project work I have in the hopper that you can watch for:

    • SharePoint V3 and Office 12 Blogging (stuff that I can reveal and whatever is blown out at PDC)
    • SharePoint Template Project updates (have a few templates in the wings now so I'll be getting in touch with you guys shortly with the installer)
    • Have to update my woefully outdated SharePoint wrappers soon as there are a few people that need it for some remote admin tools they want to build (the current Wrappers don't provide hooks into the admin services, not that there are very many to use)
    • A few blog postings with little config and coding tips that have accumlated the last few weeks

    Also three special things underway on my side of the world:

    1. A cool new SharePoint project that I've been picking at for the last while which should help custom Web Part developers (if you're into the self-multilating way of building Web Parts from scratch like I am).
    2. Another uber-cool project that's starting up with some other MVPs and Microsquishy guys (think podcasting even if it is so 2005)
    3. Some book projects are underway that I'm contributing to at various levels, all SharePoint related (of course)

    Yeah, lots of cats that I'm juggling right now (not to mention my new laptop that just kicks and my new Mac mini that kicks the laptop even more, it's pure electricity-draining-techno-heaven at my house right now).

  • Updates to the SharePoint Template Project

    Thanks for the great response from everyone on my SharePoint Template Project. I think it's going to be a great resource and I've already got a few people with things in the pipe already that are coming down for submission. I've made three adjustments to the project since starting it up based on some comments and email from a few people (thanks Maurice!).

    First, the installer will use the Microsoft Installer XML (WiX) which is a project that builds installation packages from XML source code. I thought it only fitting to use another SourceForge project that Microsoft endorses to deliver the templates. Second is the change of license. I originally selected the GNU Public License (GPL) as the majority of projects are released under this but some people mentioned concerns about derivative work so I switched the project to use the Common Public License which is easier to understand, more flexible and better protects the submitters and their content. Third is not really a change but something I had totally forgotten about which was supporting languages other than English. I'm always stuck in English land with things but was reminded about the other 90% of the planet and the frustration of not having templates availalble in their native language available. So that'll be included in the new web site that's being setup for the project and part of the installer. Once a template is submitted they'll be the opportunity if someone can translate it for their native language and we'll just update the release of that template to include it. Hopefully we'll have a nice collection of templates in all major languages available for everyone as a result.

    Again thanks to everyone who responded positively on the project and looking forward to working with you all on creating this much needed community resource!

  • Introducing The SharePoint Template Project

    Hi guys,

    With all the buzz about the recent templates released by Microsoft there seems to be a big "sigh" from the community. Not having custom solutions has been one of the larger gaps in SharePoint but demonstrates that you can accomplish a lot with just a little configuration and some creative thought. On numerous occasions I find myself in the newsgroups seeing people asking if they can build a Help Desk with SharePoint, or an Expense Tracking System, or a Call Board. The answer is of course yes. Always has been and always will. The problem however is that you don't get a lot of business solutions delivered without some work. Enter the SharePoint Template Project.

    I created a new project site on SourceForge (yes, I'm not a big fan of GotDotNet and we haven't created my utopia of SharePointForge just yet) to accomodate this. The project provides an outlet for the SharePoint community to contribute and share list and site templates for the products under the Microsoft SharePoint technology banner (SharePoint Portal Server and Windows SharePoint Services).

    These templates come in the form of binary .stp files or plain text xml schema files (along with any additional files like images, etc.). Users create the templates
    either using SharePoint itself (saving them in .stp format) or with whatever xml/text editor they prefer. The templates are uploaded to a SharePoint server and used as a boilerplate by SharePoint during site creation.

    Templates in this project will be created by the community and packaged in a common installer format (MSI) so that end-users need only download the MSI
    and run it on their SharePoint server. A template MSI will be provided for contributors to the project which includes the template installer, full or custom selections for installation (users will be able to choose what templates they want to install), graphical preview for each template (if the developer includes them) and option to create sample sites based on the templates chosen.

    Currently there are a few handfuls of templates out there that are available (the 30 Microsoft recently released, a dozen or so from a FrontPage Customization site, and a smattering of some here and there from some individuals). This project intends to provide a central outlet for both creating and sharing new templates and puts it together in a nice package so you're not stuck spending hours installing the latest batch.

    I'll provide the MSI package that will install these, all you need to do is join the project and contribute the content (I'll put together some templates as I can find time as well). The templates can be anything (a blog, a project management site, a time sheet tool, whatever) so if you have something you can share let me know via email or join the project (you'll need to sign up to SourceForge or send me your SF name so I can add you). As SourceForge only allows open source projects, all templates in this project are released under the GNU General Public License (GPL) so be sure you understand that before you submit anything.

    Here's to building a centralized community for sharing templates for all sorts of solutions using your favorite tool and mine, SharePoint! You can find the SourceForge Project Site here. Thanks!

  • Fixing InfoPath Forms in Application Templates

    With the recent release of the 30 or so (have to be careful as the number seems to change everytime you look at it) WSS site templates that Microsoft has provided us, some people are scratching their heads wondering why these OOTB solutions are not so out-of-the-box. Read on to find out why and how to correct these problems.

    For the most part, the sites work fine. Install the template, create a site and you're off to the races. For some however there are parts of the sites that will challenge you for a credentials and others that ask for locations of Web Services. This is part and parcel in the way that InfoPath forms are stored and work with Windows SharePoint Services.

    With InfoPath forms stored in a WSS site you can (with Service Pack 1 installed) consume the Web Services that WSS offers and use this to populate drop down lists, lookup tables, etc. in your InfoPath form. This is great for something like a request form where you want the lookups to be dynamic and controlled. It does however present a problem when you try to move the forms to another server like how the templates were offered up recently for download.

    We'll walk through fixing the Travel Request site as it's one of those ones that needs some extra care before you can start using it. You can use the principles here for any of the other templates.

    The original forms for the site were created on a specific server by the folks at Quilogy so when you click on the Submit a New Travel Request from the home page you'll see this:

    Why is the InfoPath form trying to connect to this Web Service? Simple. There are lists embedded in the form that are being loaded from it and need information from the site. Of course you don't have credentials for their site plus you'll want your forms to be reading from your own site. So here's how to fix this.

    First click Cancel on the dialog above and quit InfoPath. Now return back to the site and select Travel Request Form from the side navigation bar. This is the form library that holds the form you fill out when you launch it. Select Modify settings and columns for this form library under the Actions pane. Now click on Edit Template under the General Settings. This will launch InfoPath so we can change our form to point to our own site.

    Choose Tools then Data Connections from the main menu. You'll see the connections that this InfoPath form has back to the SharePoint site.

    So we see Departments, Employees, currencies, and Main submit. The first three are lookups and Main submit is for sending the form back to SharePoint (the Submit to SharePoint button on the form). Select Departments and click Modify. This brings up the dialog to change the settings for this connection:

    The first page is the URL to your SharePoint site. This is the main thing to fix because we want to point it to our own site. Enter the URL to the site here and click Next.

    You'll notice that it took a second for the next step to come up. This is because the Wizard actually goes to your site and pulls back the lists and libraries that are available. If you have added one, it will appear here. Now select Departments and click Next.

    Now you need to select the fields that will be available in the form. This is usually just the name but you may need to play around depending on the form you have. Also from the Data Connection screen above it tells you some details about the connection (like if it loads each time the form loads or not). Use this information to help you decide how you want things configured. For now, click Department_Name and click Next.

    The name will normally be filled in for you and you can choose to have it retrieve the information automatically. Click Finish and we're done with this Data Connection.

    When you've added one, you might want to check it. Click on File | Preview | Default (or Ctrl+Shift+B, yes, just like Visual Studio). This will launch the form and connect to the SharePoint site to fill in any initial values. If there are any errors you'll see them or if the form challenges you then there's something that's loading from outside of your site. Continue to fix the fields until you have a form you can preview. The dropdowns should now work as expected and retrieve their values from your SharePoint site.

    The last piece to modify is the submit part. This is the Main submit Data Connection and is currently hooked up to… so we want to change this. This one requires you to change the URL to the fully qualified path to the form library itself. So selected "" and replace that with your own URL (keeping the "Travel Agent Request Form" intact) and click Next then Finish.

    Now click Save and close InfoPath. Return to your site and launch the form (by clicking on Fill out this form in the form library or from the main page). The form should launch correctly and you can fill it out and click on "Submit to SharePoint" where it will save the new form back to the site and you can view it there.

    That's it. Takes about 5 or 10 minutes to clean up the template but now you're ready to use it in your own environment. Hope that helps!

  • John Bristowe crosses over to the dark side

    Just found out my buddy John Bristowe (of Quadrus here in Calgary) has now joined the Microsoft Canada team as the Western Canada Developer Evangelist! Nice job John and well deserved. John had been the Regional Director for Microsoft out here in Cowtown (non-Microsoft employee, MVP type thing) and he's also the ASP.NET MVP. Now that he's a blue badge, he won't be able to continue with his MVP status but that's cool since he's there for us development types to call on (along with Dan Sellers). You can visit John's blog here (which will probably be moving to, which strangely enough doesn't have a post on this yet (I found out via Mark Relph's blog on the subject). Again, congrats John!

  • Blogging my way to PDC reminder

    I’m Blog’n my way to the PDC!

    If you haven’t heard, Channel9 has started a contest where you can win a ticket to the PDC, including an airline ticket and hotel!  This is one amazing contest, and all you have to do to enter is have a blog, and post why you should win the prize.  So here’s my official entry:

    Click here to make Bil shutup about PDC once and for all.

    Here's some information to help you get to know me better:

    Why me?

    Why do I want to go to the PDC? Because I love to blog! And I'm prolific! Here's some of my more popular blog posts links according to Google :

  • Fear and Loathing
  • Adjusting the DisplaySize of your Fields
  • Syncronization of Office Document Properties with WSS Document ...
  • A Poor Man's Google for SharePoint
  • The Collective vs. the Individual

      Did I type up all this ugly HTML for this Blog post myself?

      Heck no!  I’m lazy!  But that’s exactly why I need to go to PDC!  The PDC is all about the future, and in the future, we’ll all be using cool technology to do things like typing tedious, boring contest entries.  I’m getting a head start on the salad days, so I figured out how to use ASMX web service that Brendan wrote! To prove it, you can see that I'm on this list of other, lazy coders who would rather sit back and use a distributed Web Service to do their work!  

      Yeah, I'm persistent. Just click on the little bloghead above if you want me to shut up.

    • Application Templates Online

      Hi guys. With the recent release of the 20 30 60 Windows SharePoint Services site templates from Microsoft I decided to install them on my public SharePoint site for anyone to check out. You can find a summary Web Part Page here that lists all the templates with their descriptions and links to each site itself. These are only using the Custom templates as the Basic ones are the OOTB look and feel for SharePoint and not very interesting to look at.

      A few caveats about the sites I setup. This is setup so you can test drive the look of the templates to see what they offer. I have created a guest account that anyone can use (please don't abuse it) to contribute to any of the sites. When you hit one of the sites please use the following infomation:

      User name:\spguest
      Password: SharePoint1

      Also the InfoPath forms are tied back to the SharePoint Web Services from the original site they were created from so opening them usually produces a challenge dialog from that site. I'm not going to go in and fix that, but it's about a 5 minute job in InfoPath if you decide to install the templates in your own environment.

      So feel free to explore, learn, and share your thoughts on the new templates. Enjoy!

    • Join me in a Birds of a SharePoint Feather session at PDC

      Stuart Celarier posted a blog (thanks Amanda!) about the Birds of a Feather sessions at PDC and was looking for submissions, ideas, and volunteers. I decided I would step up and offer to host a session, assuming there's interest from you, the community (oh yeah, you need to be there to participate to get the full effect, as if you hadn't clued in yet). As I spent the last 6 months building a 100,000 line custom business app on top of SharePoint I thought it would be appropriate to take a deep dive into doing something like this and the challenges and agonies of completely building a custom business solution on SharePoint. Here's the submission:

      Submitter Name: Bil Simser
      Company: MVP
      Session Title: Custom Business Solutions in SharePoint
      Session Level: 400
      Session Abstract: This session will dive deep down into the heart of SharePoint development and building custom solutions on top of, around, and inside of the SharePoint Object Model.


      It'll be pretty techie (techy?) with lots of whiteboard diagrams of layers and tiers and abstractions oh my. Anyways, if you think this might be interesting feel free to vote for it if/when it appears on the site here. Also as this is informal (we'll have a whiteboard but no PowerPoint or laptop) we'll just wander around and see where it takes us. I'm planning to demonstrate and discuss some of the more typical challenges of working with SharePoint development, designing business solutions from a Domain perspective and keeping your Domain Model clean, NUnit testing with SharePoint, development environment woes while keeping your codebase cleanly separated from the SharePoint OM, and other good stuff (still just thinking it through in my head how it would go). If anything it'll be a fun hour or so or at least give you a reason for you to hit the bars early.

    • 20, no wait 30 (but really 60), OOTB Solutions for SharePoint

      Microsoft downloads has a nice present today. 30 WSS site templates that you can use, customize, etc. Very, very slick. I was asked to review some of these awhile ago and made some recommendations but didn't realize they were going to be part of a package like this. Here's the rundown of what's available:

      • Competitive Intelligence
      • Absence Request and Vacation Schedule Management
      • Project Team Management
      • Board of Directors
      • HelpDesk Dashboard
      • IT Developer
      • Employee Training
      • Marketing Communications Campaign Site
      • Employee Scheduling
      • Legal Document Review
      • Classroom Management
      • Meeting Management
      • Change Management
      • Loan Initiation Management
      • Professional Services Contractual Setup
      • HR InfoPath Forms
      • RFP Management
      • Event Planning
      • Expense Report Portal
      • Room And Equipment

      Very cool stuff and lots to play with. Check out the templates here and start building! Thanks to Renaud and Daniel on reporting this and thanks to me for regurgitating it.

      Update: Each one listed above comes as a Basic Template and a Custom one.

      Update #2: The custom templates look great. Basic templates are stock SharePoint look and feel. Custom ones have been jazzed up with FrontPage but are still SharePoint behind the scenes. Below is the Basic version of the RFP Template:

      And this is the same content using the Custom template:

      Update #3: Seem Microsoft is clever and we bloggers were talking about things before it was complete. The final toll - 30 templates each with a Basic and Custom version so that's 60 altoger. The additional 10 that were added after my first post about the 20 are:

      • Case Work Management
      • Employee Activities Site
      • New Product Development
      • Performance Review
      • Professional Svcs Contracts
      • Professional Svcs Site
      • Public Official Activity
      • Pulic Relations Work Site
      • Recruiting Resource Center
      • Travel Request

      Update #3: As much as I like Microsoft for publishing these, there's been a few reports of problems. Heather said she had problems with adding a Web Part Page to a site and I just found out that some of the InfoPath forms are messed up. When you try to open a filled in for it complains that the xsn file isn't there. It is and you can design the form without a problem. Another issue is that a lot of this stuff seems to be hooked up to external sources (the InfoPath form I looked at needed credentials for a web service it was calling). So there's a bunch of work to be done to make these clean and usable but good attempt at Version 1.0

      Thanks to some other Bloggers, TechNet has a great page for this now here with all 30 template packages, a small blurb, a thumbnail, and a link to the download page for the package. Enjoy.

    • What you create isn't what you see

      Man, what a day. First off somewhere along the line I deleted my IE7 post accidently and now there's a pretty sufficient fire blazing at Toronto airport from an Air France plane that skidded off the runway. Yeah, a blog posting doesn't seem that significant after an event like that. Anyways, I don't think my IE7 post got cached because of the short time it was online but oh well, nothing too important. Note to self: blog offline first, then post. Yeah, I do things the old-fashioned way right online. I should know better.

      Anyways, todays fun ways to torment your SharePoint experience is about what you create using custom definition files and what you get on the other end isn't always the same. Actually it's better.

      Let's say you want to create a custom list so you make your copy of CUSTLIST (as we all do) and go and add some fields like so:

      <Field Name="ProjectStatus" DisplayName="Project Status" ReadOnly="TRUE" Type="Text"/>
      <Field Name="DraftDate" DisplayName="Draft Date" Type="DateTime" Format="DateOnly" ReadOnly="TRUE"/>

      Great. Now you deploy it and go into your Create page to find your new list all ready to be generated. Off you go and you have your new list with it's custom fields intact. Brilliant. But did you know that SharePoint is going to add a whack of new and cool fields that you can then use in displays? Here's the new stuff that gets added to your original definition after creation:

      <Field ColName="tp_ID" ReadOnly="TRUE" Type="Counter" Name="ID" PrimaryKey="TRUE" DisplayName="ID" FromBaseType="TRUE"/>
      <Field Type="Text" Name="Title" DisplayName="Title" Required="TRUE" FromBaseType="TRUE" Hidden="TRUE" ColName="nvarchar1"/>
      <Field ColName="tp_Modified" ReadOnly="TRUE" Type="DateTime" Name="Modified" DisplayName="Modified" StorageTZ="TRUE" FromBaseType="TRUE"/>
      <Field ColName="tp_Created" ReadOnly="TRUE" Type="DateTime" Name="Created" DisplayName="Created" StorageTZ="TRUE" FromBaseType="TRUE"/>
      <Field ColName="tp_Author" ReadOnly="TRUE" Type="User" List="UserInfo" Name="Author" DisplayName="Created By" FromBaseType="TRUE"/>
      <Field ColName="tp_Editor" ReadOnly="TRUE" Type="User" List="UserInfo" Name="Editor" DisplayName="Modified By" FromBaseType="TRUE"/>
      <Field ColName="tp_Version" Hidden="TRUE" ReadOnly="TRUE" Type="Integer" SetAs="owshiddenversion" Name="owshiddenversion" DisplayName="owshiddenversion" FromBaseType="TRUE"/>
      <Field ColName="tp_HasAttachment" Type="Attachments" Name="Attachments" DisplayName="Attachments" FromBaseType="TRUE"/>
      <Field ColName="tp_ModerationStatus" ReadOnly="TRUE" Type="ModStat" Name="_ModerationStatus" DisplayName="Approval Status" Hidden="TRUE" CanToggleHidden="TRUE" Required="FALSE" FromBaseType="TRUE">
      <Field ReadOnly="TRUE" Type="Note" Name="_ModerationComments" DisplayName="Approver Comments" Hidden="TRUE" CanToggleHidden="TRUE" Sortable="FALSE" FromBaseType="TRUE" ColName="ntext1"/>
      <Field ReadOnly="TRUE" Type="Computed" Name="Edit" Sortable="FALSE" Filterable="FALSE" DisplayName="Edit" AuthoringInfo="(link to edit item)" FromBaseType="TRUE">
      <Field ReadOnly="TRUE" Type="Computed" Name="LinkTitleNoMenu" DisplayName="Title" Dir="" DisplayNameSrcField="Title" AuthoringInfo="(linked to item)" FromBaseType="TRUE">
      <FieldRef Name="Title"/>
      <Field ReadOnly="TRUE" Type="Computed" Name="LinkTitle" DisplayName="Title" DisplayNameSrcField="Title" ClassInfo="Menu" AuthoringInfo="(linked to item with edit menu)" FromBaseType="TRUE">
            <FieldRef Name="Title"/>
            <FieldRef Name="ID"/>
            <FieldRef Name="LinkTitleNoMenu"/>
      <Field ReadOnly="TRUE" Type="Computed" Name="SelectTitle" Hidden="TRUE" CanToggleHidden="TRUE" DisplayName="Select" Dir="" AuthoringInfo="(web part connection)" HeaderImage="blank.gif" Sortable="FALSE" FromBaseType="TRUE">
      <FieldRef Name="ID"/>
      <Field Name="InstanceID" DisplayName="InstanceID" ColName="tp_InstanceID" ReadOnly="TRUE" Hidden="TRUE" Type="Integer" Min="0" Max="99991231" Filterable="TRUE" Sortable="TRUE" FromBaseType="TRUE"/>
      <Field ColName="tp_ItemOrder" Name="Order" DisplayName="Order" Type="Number" Hidden="TRUE" FromBaseType="TRUE"/>
      <Field ColName="tp_GUID" ReadOnly="TRUE" Hidden="TRUE" Type="Guid" Name="GUID" DisplayName="GUID" FromBaseType="TRUE"/>

      Nice. Lots of great new columsn here that you can do things with in views, grouping, filtering, etc. The best part is that you can define this before these fields are created. Go ahead and put the ID field in for sorting a view or add the Order field to a view so you can see how SharePoint is sorting your list. Most of them are pretty self-explanatory like Created and Modified are DateTime fields when the item is created and updated. Author and Editor tell you who it was by. Edit is a cool one because it displays an Edit icon that links to your EditForm that's attached to the list. LinkTitle is the typical SharePoint menu you see that will allow you to check files out, edit in the appropriate client tool (Word, Excel, Powerpoint, etc.)

      Anyways, something simple but keep it in mind when you're designing solutions as you can leverage these items. Have fun with it and as always use it for good, not evil.

    • I see dead pages

      Who isn't afraid of ghosts? I am. Really. Disembodied spirits that aimlessly roam the Earth looking for souls to inhabit, haunt, or consume just isn't for me. However this post has nothing to do with ghosts but rather ghosting which strangely enough is not the art of hunting ghosts but rather touching SharePoint site pages using FrontPage.

      There's been a fair amount of discussion on ghosting and unghosting pages in SharePoint. What it means, why should I do it, does it affect performance, etc. I'll leave those fabulous resources below alone on this but wanted to pass along a tip that I personally use to avoid ghosting completely.

      1. Create a web part page with just a single zone and put it into a scrap document library
      2. Place any web parts on that page and crack that page open in FP to do whatever you want with it (say convert it into a DVWP)
      3. Export the customized Web Part from the browser when you’re done all your modifications
      4. Import the DWP file back onto a normal site

      Optionally you can delete the web part page you unghosted or the entire document library if you please. I keep mine around and use it as a sandbox so I’m not munging with my production sites in real-time with anything that end users would see. Works pretty well and never gets me into the place of having to re-ghost (using something like GhostHunter) my pages in a production site.

      Here are a few great resources to get the big picture on ghosting:

      And while we're talking about ghosts anyways, here's some great haunted house sites which have nothing to do with SharePoint: