Welcome to MSDN Blogs Sign in | Join | Help

 

So one of the best little items I have seen recently is the release of the MS Web Platform Installer. This is a nice tool(Free Download) that makes setting up an ASP.NET (or other technologies) development environment fairly painless. You simply launch the installer, tell it what kind of web development you want to do and it will download and install all the tools needed for you.

For example if I choose that I want it to install the requirements for asp.net development, it will download and install the following:

  • Internet Information Services (IIS) 5.1 on Windows XP SP3
  • IIS 6.0 on Windows Server 2003 SP2
  • IIS 7.0 on Windows Vista SP1 and Windows Server 2008
  • SQL Server 2008 Express
  • .NET Framework 3.5 SP1
  • Visual Web Developer 2008 Express SP1

There is also the Web Application Installer or Web AI. This is a free download that will allow for installation of additional web development tools and includes support for items such as php, .Net Nuke, Graffiti, WordPress, Drupal and others. The overall goal is to get you up and running as quickly as possible without the need to worry about setup and installation of required components.

You can get both the Web Platform and Web Application installers here:
http://www.microsoft.com/web/channel/products/downloads.aspx

One of the additional benefits is that the installer will check to make sure it is getting the newest version of each component, so you don't have to worry so much about figuring out what updates you need to download when the install runs.

Try it out, and let us know your thoughts!

So after much experimenting and also talking to co-workers… I have gotten a nice little list of some of the more useful desktop keyboard shortcuts for Windows 7. I will post the list here just in case you might find it helpful. If you have found or know of other useful keyboard shortcuts in Windows 7 please feel free to let me know and I will add them. These ones mainly deal with manipulating windows on the desktop in Windows 7:

Keyboard Shortcut Description
Window Key + Right Arrow Dock window to the right hand side of the screen and maximize vertically. Basically maximize a window so it takes up the right hand side of the screen.

Once window is docked to the right, hitting this combo again(in a multiple monitor setup) will move it to the next monitor to the right(if there is one to the right).

If Window is docked to the left side of the screen this shortcut will un-dock it and put it back to the original position.

*You can get the same effect by clicking the top title area of a window and dragging it to the right hand edge of your screen.*
Window Key + Left Arrow Same as above (Window + Right Arrow) but will dock to the left hand side of the screen or move the window to the next monitor to the left if one exists in a multiple monitor setup.

*You can get the same effect by clicking the top title area of a window and dragging it to the left hand edge of your screen.*
Window Key + Up Arrow Will Maximize the currently selected Window(Full Screen).

*You can get the same effect by clicking the top title area of a window and dragging it to the top(upper) edge of your screen or by double clicking the top title area of a non-maximized window.*
Window Key + Down Arrow Will restore a maximized window back to it’s default size.

Will minimize a window that is not maximize.

To minimize a maximized (Full Screen) window, simply hit this shortcut twice.

*You can get the same effect by double clicking the top title area of a maximized window.*
Window Key + Shift + Up Arrow On a non-maximized window will do a vertical maximize. Basically this will stretch the bottom and top of the window to hit the bottom and top of the screen while not changing the width of the window.

*This same effect can be done with the mouse by putting the mouse cursor on the top edge of a window so that the resize arrows appear, and then double clicking.*
Window Key + E While not a new shortcut, I mention it here as the functionality has changed a bit. In the current build of Win 7 Beta, this opens a window to the Libraries (Music, Videos, Documents, Pictures…) instead of going straight to the default My Computer window that Vista and XP used.

That is about all I can remember off the top of my head, if I think of or find any more I will update this post, also if you have found any new ones, please let me know via comments, and I will add them to this list as well. I will also do another post this week, that covers some of the changes to the way other bits within Windows 7 desktop function. Hopefully this is helpful for you.

Great news! The SharePoint team has updated their blog with the latest update info as of the August Cumulative update. In addition they have started listing the correct patches needed as well as the order of patches, to get up to date from RTM (Fresh install) SharePoint all the way to the current updates.

You can find the article here: http://blogs.msdn.com/sharepoint/archive/2008/09/29/announcing-august-cumulative-update-for-office-sharepoint-server-2007-and-windows-sharepoint-services-3-0.aspx

This should help for anyone who is looking to get up to date. Looks like I don't have to update my post now :) Enjoy! And thanks to the product team for putting this out. This should help ease a lot of confusion.

I will be posting an update on patching SharePoint in a few days. This will account for updates that have come out after the infrastructure updates.

SharePoint Logo WSS Logo

 

One of the most common topics in regards to MOSS/WSS lately has been around the question: "What patches do I need in order to be up to date with MOSS/WSS?". The following will allow you to be up to date as of the Infrastructure update with the fewest number of patches/hotfixes that need to be applied. Included are a couple bits on the next updates as well. I will start with RTM and move to current patching levels. When applying updates to WSS and MOSS one of the important things to look at is going to be downtime. One common way to help streamline the update/patching process is to apply all needed updates at once. Todd Carter did an excellent post on this recently that can be found HERE. This will allow you to minimize your patching time. Basically when patching, apply the latest updates for WSS and MOSS at once so that you do not need to run the PSConfig utility multiple times. Once you are familiar with the process you can use the below list of patches to make sure that you are up to date. Here is a summary of the process:

  1. Download any needed updates.
  2. Apply patches in order starting with the Central Administration server, do not run the PSConfig wizard (This will be done last)
    1. WSS Patches
    2. MOSS Patches
  3. Apply patches to the remaining servers in the farm. Again do not run the PSConfig portion of the update.
  4. Return to the central admin server once all servers are patched, run PSConfig on the Central Admin server.
  5. Once PSConfig completes, run it on the remaining servers one at a time.

This is just a summary, Todd's article covers this in much more depth including detaching Content Databases to speed up the process as well as some other configuration details to streamline the process. I highly recommend reading his article before patching.

The below section covers the patches that are needed and the order they should be applied. This will get you up to date from a fresh RTM install all the way to the Infrastructure Updates (IU).

From an RTM MOSS installation use the following patching to get current(Make sure you read the articles and get the appropriate patches for 32 or 64 bit):

  1. WSS sp1 (Available HERE)
  2. Moss SP1 (Available HERE)
  3. WSS latest language(local) patch (953484) (Available HERE) *Use the "View and Request Hotfix Downloads" link at the top of the page.*
  4. WSS IU – Contains latest global but no language specific patches (which is why you are doing step3) (Available HERE)
  5. Moss IU – Contains latest global and language specific patches (Available HERE)
  6. AAM hotfix (Coming soon via KB 956248) This will be released soon and should also be available in the next rollup package.
    1. To get this hotfix now, follow the directions (HERE) to call customer service and request it.

 

The AAM hotfix is mentioned in the notes on the infrastructure updates. The KB for this is forthcoming and I will post when it is released as well. You can call customer service to request it using the link above. Always read the known issues portions of the KB articles when downloading a particular patch or hotfix. The above list is from RTM to current. If you already have SP1 installed, you can start at step 3. If you already have the patch from step 3 applied, you can go to step 4.

Much of the confusion and conversation around patching seems to stem from the fact that there are different types/levels of patching when it comes to MOSS. Let's break it down a bit. We have two products, WSS and MOSS. Since you can have WSS without MOSS, it makes sense that you need patches for both. So at any one time when looking at patching you need to make sure that you are up to date on both products if you are running MOSS. If you are in a WSS only deployment, you then need only worry about WSS patches. Most of the patches when released will contain the previously released patches as well. So for example in the MOSS infrastructure update, all the patches between SP1 and the Infrastructure update are included in the package. This allows for minimizing your patch time by allowing you to only need to apply the latest patches most of the time.

The next level of confusion often revolves around the fact that we have two different patch types for each product. These are Global patches and Local patches. Global patches apply to all installations. Local patches are specific to a language. So for example, for some patches you may need to have the Global update, as well as a local patch for your particular language install (Russian, Chinese, etc...) this is due to the fact that some patches have localized data that only applies to installs that use that particular language. This includes English as well. There are local patches that are specific to English language installs of SharePoint. Note that step 3 above says that you need to install a patch that is local because it is not included in the IU update.

So when doing any patching to MOSS/WSS you need to keep the following items in mind:

  • WSS patches (32 or 64 bit)
    • Local patches (Language Specific)
    • Global patches
  • MOSS patches (32 or 64 bit)
    • Local Patches (Language Specific)
    • Global patches

 

SharePoint patching resources:

Updates Resource Center for SharePoint Products and Technologies

Understanding and deploying hotfixes, public updates, and service packs (WSS)

Deploying software updates for Windows SharePoint Services 3.0

Understanding and deploying hotfixes, public updates, and service packs (MOSS)

Deploying software updates for SharePoint Server 2007

 

Hopefully this helps sort through some of the confusion when it is time to patch your SharePoint environment. I will post more information as it becomes available especially in regards to the upcoming AAM hotfix KB.

 

Special Thanks to:

Gabe Bratton

Tony McIntyre

Todd Carter

So now that I have been playing around for a while with WPF I have finally started to wrap my head around the shift in the Design/Development flow. I have actually found the easiest way to describe how WPF works, is to view it as a very similar paradigm for desktop apps, as ASP.Net is for web apps. With ASP.Net we have a page that controls the UI, which is the .aspx page which gets rendered as HTML for the end user. For all the logic that reacts to the users interaction on the page, we have the .aspx.cs (or aspx.vb if you are using Visual Basic) which holds all the code, also known as the code behind page. WPF gives us a very similar experience for our Desktop apps. We have the XAML file which describes the UI in a very declarative way very similar to working with HTML or XML, and then we have the code behind page the XAML.cs that holds the actual logic. Very similar to asp.net this allows me to very clearly and efficiently separate my presentation from my logic. As long as I use a common naming convention in my UI, I can change the look and feel all I want without having to affect the back end logic.

Where WPF further draws comparison to ASP.Net is in the ability to apply themes and styles to my application UI. I can define styles inline or in separate files in a manner similar to how I do it for web applications. Though in WPF I am not using CSS or .skin files, the overall system is very similar. Where WPF really shows it's power however is in the ability to describe the UI not only using controls, but also by using the built in Drawing functionality and classes. In the past to truly customize your UI in desktop applications you ended up doing a lot of GDI work and for the most part re-writing the render behavior for your controls. WPF gives us the ability to use declarative markup to describe the appearance and behavior of our controls. Once you get familiar with the Drawing APIs and Objects in WPF, you will find it much easier to work with than GDI ever was. And if you still don't want to do even that much work, you have tools like Expression Blend that will allow you to draw your UI and apply animations etc... in a very designer familiar environment, and it will output all the XAML for you. While these tools do save time, I highly recommend doing some work directly in XAML to get the hang of it. This will definitely help when you are looking for a very specific affect or outcome and having a hard time trying to get some of the tools to do it for you.

 Having spent some time working strictly in XAML lately to force myself to get used to it and avoid using any of the tools that will generate it for me has really helped a lot. For those of you who are interested I will start posting some simple step by step tutorials soon focusing on using XAML to create basic UI elements and effects. Till next time...

So now that I am back from Texas (well technically I am now in Nashville Tennessee doing some SharePoint work with one of our clients.) I am immersing myself WPF and Silverlight. I am currently in the middle of Adam Nathans book: "WPF Unleashed" It is a great read so far. Gives me a lot to play with on the road. My current traveling setup is a Lenovo T61p (Intel Core 2 Duo T7500 @ 2.20GHz, 4GB RAM, Windows Ultimate 64bit.), I am running the Expression Suite 2, as well as Visual Studio Team System 2008. So plenty of toys to play with. I am working on getting up to speed on Expression Design 2 so that I can create my own graphics for my UI's and games. I am definitely enjoying the expression suite so far. I have always loved slick user interfaces and figure if I am going to learn WPF and Silverlight I might as well get good with all the tools. Eventually outside of working on making some games, I am going to start working on some Silverlight SharePoint controls; I want to bring the Sexy to SharePoint! Especially now that I have gone through Andrew Connells course on WCM in MOSS, and have gone through his book on the same subject (Andrew's Book) I am really interested in seeing how I can leverage Silverlight to enhance the publishing controls in MOSS.

I have also been spending a lot of time over on Silverlight.net and WindowsClient.net and there are a ton of good videos and tutorials, starter kits, etc... on there. I have downloaded about 6 gigs of videos and slapped them onto my Zune so that I can watch them on the plane. Really good stuff. Something I hadn't really paid much attention to but seems really great is the Silverlight streaming service. This allows you to have your Silverlight applications hosted remotely so that you can use them within your web apps or even just in plane web sites. Very nice, right now it is a free service that gives you 10GBs of storage and I believe 5TB of aggregated bandwidth per account, per month. CRAZY! I just signed up myself and hope to start using it soon. If you want to find out more check the following links:

Everything is going good so far. There is a lot of great content out there on Silverlight and WPF. I can't wait to start building something exciting. Talk to you later...

I just realized that the SharePoint extensions for VS2008 have shipped. The official name is Windows SharePoint Services 3.0 Tools: Visual Studio 2008 Extensions, Version 1.2 Not sure how I missed this! You can find them HERE. The user guide is the same as the 1.1 toolset and can be found HERE. The package includes everything from the last toolset including project types for both C# and VB.NET. This package is still for the 32 bit version of VS 2008. I will keep my fingers crossed for a native 64 bit version in the future. Currently you can still develop on 32 bit and test/deploy on 64 bit environments as needed. There are plenty of places on line to find out more on the ins and outs of developing for MOSS 64 bit with the 32 bit toolset. Some of the features for this release are:

Visual Studio 2008 Project Templates

  • Web Part
  • Team Site Definition
  • Blank Site Definition
  • List Definition
  • Empty SharePoint Project


Visual Studio 2008 Item Templates (items that can be added into an existing project)

  • Web Part
  • Custom Field
  • List Definition (with optional Event Receiver)
  • Content Type (with optional Event Receiver
  • Module
  • List Instance
  • List Event Handler
  • Template


SharePoint Solution Generator

  • This stand-alone program generates a Site Definition project from an existing SharePoint site. The program enables developers to use the browser and Microsoft Office SharePoint Designer to customize the content of their sites before creating code by using Visual Studio.

So go grab it, get your feet wet and let me know what you think...

This week I will be attending some training with Andrew Connell digging into the WCM (Web Content Management) aspects of MOSS. Though I spend the majority of my time troubleshooting and supporting MOSS with our clients, I have yet to really get to go deep on the WCM portions of the product. This will be a nice chance to take a step back from the daily fire fighting and enjoy some time getting to dig into one of the pieces that I haven't really gotten to play with yet. I am looking forward to an excellent week in Texas and will post about my expereince over this next week as well.

 For more info on the WCM offerings that Andrew Delivers with Ted Pattison group:

Office SharePoint Server 2007 Web Content Management Developer Training

SharePoint Education for Users, Administrators and Developers

 Anyway, Off to a week of fun in Texas...

So in a break from my normal SharePoint related posts, I have decided to do something fun as a change of pace. In a previous life I was a Flash Developer trained by Macromedia (before Adobe took over) and spent years working with Flash. At one point I helped to train some of the Design staff at AOL when they first began working with flash to redesign the AOL experience. But since coming to Microsoft in 2005, I have had no contact with any type of design work outside of SharePoint, and especially nothing that would allow me to flex my creativity and design muscles the way that Flash used to. So it is with great excitement that I have been watching our newer UI technologies (WPF, Silverlight) develop over the last year or so.

So now I am ready to give myself a challenge and to have some fun. I am going to dive into WPF and SilverLight and see how I can put the skills I used to use with flash together with my .Net development knowledge and my love of games. What better way to learn a new technology then to write a game with it. I know that I have a ways to go before I am at the point where I should start looking at creating a game, so first I am going to learn the core/basics of WPF for rich UI design, and once I have a solid grounding I will start working on a simple game. I don't know how long it will take or how much of my flash history will be of use, but I will be posting my experiences here. If you have had any similar experiences or are currently going through the same process, feel free to share here, as well as sharing any resources you find useful in your WPF/SilverLight ramp up.

I look forward to hearing from you.

Expression suite 2 has been released. For more information you can always use http://www.microsoft.com/expression. This release brings new versions of all the expression products (Blend, Design, Web, Media, Encoder).

A couple of notes of interest:

Blend 2 supports Silverlight 1.0 applications natively now! Expression Web 2 supports PHP! Just a couple of things that stuck out to me :) Below are the links to the MSDN documentation, Tutorials and Feature descriptions for each product!

Expression Blend 2
Expression Design 2
Expression Encoder 2
Expression Media 2 for Macintosh
Expression Media 2 for Windows
Expression Web 2

I will be back with more in the near future!

*Had to Republish this as I had some issues this week and accidently deleted it* 

So last time we went over the basics of what a Content Type is. In the most basic context, a Content Type is a grouping of Meta Data. This time around we are going to look at the basics of creating a Content Type, associating a document template with it as well as associating a workflow with it. We will then also look at enabling content types within your libraries.

Creating a content type is actually pretty simple. In this article we are focusing on operations that can be done from within the browser. Later articles will cover the creation of content types within Visual Studio.

The simplest way to create a content type is to do via the site settings page. For this you need to be the site admin. Depending on weather you have WSSv3 (Windows SharePoint Services Version 3) or MOSS (Microsoft Office SharePoint Server) installed your menus will be slightly different. To start, from your site click the site actions menu. From site actions you will have either an option that says Site Settings(On a Site Collection or Top Level Site) or an option that says modify all site settings (On a subsite). Choose Modify All Site Settings. If your menu says simply Site Settings, hover over that and choose Modify All Site Settings from the fly out menu.

Figure 1. Site Actions Menu
Site Actions

Once you choose site settings you have many options on the Site Settings page. You want to look under the “Galleries” section and find “Site Content Types”.

Figure 2. Site Settings
Site Settings Page

Once in the Site Content Types section you can browse the existing content types for the site very easily. Note that most of the common SharePoint document types (Page, Form, MasterPage, Picture, etc...) are listed as content types. SharePoint takes advantage of its own features. By making most objects into content types, a common set of Meta Data can be associated with the different object types, as well as document templates and workflows. This allows for great flexibility. It also gives you a good understanding of how content types can be used within SharePoint.

Figure 3. Content Type Gallery
Content Type Gallery

Before we create our own Content Type we should probably have an idea of what we want to create. For this example I am going to create a content type to represent a Server Build Document. This will be used when someone wants to submit a new server build request. This works well as a Content Type because I can specify common Meta Data that needs to be included with all server build requests. I can then come up with a word document as the template to be used for server builds and associate it with this content type. I can then use this word doc to allow for users to detail the specifics of their server build. I can even create a workflow that will kick off an email to the IT manager when someone submits a new server build.

Now that I know what kind of Content Type I want to create we can start. The option we want is at the top of the Page. Hit the “Create” button. This will give you a page with a few basic options for your content type. The first of which is name. Name your content type something logical so that it is easy for users to understand what it is for when they see it in SharePoint. You can also provide a description to make sure there are no questions as to the nature of your content type. The next piece allows you to choose the Parent Content type for your Content Type. This allows you to choose from existing content types so that if there is one that already closely matches what you want, you can use it as a starting point. First you choose the group that the parent type you want is in. Then you choose the parent Content Type. For this example I am going to use the Documents Content type as my Server Build Documents is going to be a document. This will make it so that I start out with all the default options (metadata, etc…) that the Document Content Type would have. I can then add my own information to make it fit my needs. The last piece is to choose what group in the Content Types Gallery you want your Content Type to appear in. I have chosen to create a new group called Server Builds. Here is what I have so far:

Figure 4. Content Type Basic Settings

After you finish entering your data simply hit OK. When you create a new Content Type the next thing you get is a page that has even more option for your Content Type. So now that we have created it, we can configure its settings. There are many options here but for now we will stick to some of the basics. Note that on the new screen you have info about your content type as well as options concerning Workflow settings, Document Information Panel Settings, etc..

Figure 5. Content Type Configuration

Once you hit have added the columns you want and you accept your changes. You end up back on the page that shows the Content Type settings. Notice that now the columns list shows the columns that you added in the last step. If you want, you can click on the names of any of the columns that you just added and change their settings so that they are hidden, or required. The default is that they are optional. Since I want these fields filled in whenever someone creates a new server build document, I have gone in and made mine all required.

Figure 7. Content Type Configuration Revisited.
Content Type Configuration Revisited

Now for the next piece. I have the required fields that I want already added. So now I want to associate a document template with this Content Type. For this example I am going to assume that we have a word doc that we normally use for server build info. Associating this document with the Content Type is easy. When associating the document template you usually want to have any common items pre-written in the document. That way when the person creates a new Server Build Document  (In my case), they already have the sections of the word doc in place that they need to fill out. You can always just do a blank document but I tend to put in at least a bit of a form for them to fill out if one does not already exist. For the server build doc I have sections that explain what info they need to provide. I have named my document Server Build Request. Again logical naming is the rule of the day. Now since I have a document template already, I can associate it with my Content Type by choosing the “Advanced Settings” link on the Content Type information page.

Figure 8. Content Type Advanced Settings 

Once on the Advanced Settings page. You have an option to either upload the file from the file system or you can provide a URL to the document. This works well especially if you have a library that has your document templates in it. Choose the method that makes sense for you, then you can also choose whether the content type is read only (nobody can make changes to it) and if you want your updates to be pushed down to any content types that inherit from this one. Accept you changes and TA-DA! You have now associated the document template with your Content Type.

Simple! Now that I have associated a Document template with this Content Type, whenever someone wants to make a new server build document, it will open in Word (You can use any document type you want, I just used word for this example).

So at this point I have created a content type and associated a Document Template. Only two more pieces left, associating a workflow with it, and enabling the content type in my document library.

For the workflow we will simply return to the settings page for our Content Type. Notice that under the link for advanced settings is a link for workflow settings! Once you click the link you have multiple options. You can choose one of the out of the box workflows or create your own. For this example I will simply choose one of the out of the box workflows. The Approval workflow will suit my needs for now. I simply want to kick off an email to a manager when a new Server Build is created. I choose the Approval Workflow, and then choose when I want the workflow to be kicked off, I want it whenever a new item is created or it can also be kicked off manually.

I hit ok and then I can make some more adjustments, in this case I want the email to go to a specific person. I then hit ok and now I have a workflow associated with my Content Type.

Figure 9. Workflow Settings

Figure 10. Workflow Settings Continued
Workflow Settings Continued

Once I hit OK and now I am ready to rock. I have created my Content Type, associated a workflow and a document template to it, not I just need to enable it in my document library. This is actually a very simple task. Since this Content Type was created for on my site it is already in the Content Types gallery for the site. I just need to go into any of the document libraries on my site I want to associate it with and enable Content Type management I that library.

For this go back to the site and open the document library you want to associate the Content Type with. You can click on the document library in the left hand navigation area (quick nav) or go into Site Settings and click the “Manage Content and Structure” Link then choose the Document Library you want. Once you are on the page for your Document Library, hit the “Settings” dropdown and choose “Document Library Settings.”

Figure 11. Document Library Settings

Once on the Library Settings Page choose the “Advanced Settings” link in the General Settings section. On the Advanced Settings page look at the very first option. Content Types, hit the radio button for Yes, Allow management of Content Types. Then hit OK.

Figure 12. Advanced Settings

Figure 13. Manage Content Types
Manage Content Types

Now when we return to our Library Settings page you should notice you have a new section on Content Types.  Hit the link for “Add from existing Content Types”. Choose your content type off the list and add it. Once you are back to the library settings page go back up to your site and open the document library again. Now click the “New” Dropdown menu and notice you now have an option to create an instance of your Content Type.

Figure 14. New Content Type
New Content Type

That’s it. You have now created a Content Type, Associated a Document Template with it, associated a Workflow with it, and then enabled it on your document library. This should get you started. Other things to consider, you can use content types in other lists than just libraries. If I want a list of specific fields, instead of creating a list and doing the fields/columns separately, I can use a content type that is just a grouping of fields, I do not need a document template or workflow. I just adjust the list view so that it shows the columns that are in my Content Type. You then associate your content type with the list the same as we did with the library and you are good to go!

Part Three will cover Creating a custom Document Information Panel for your content type to assist in filling in the Meta Data when using Office as well as taking a look at Content Type Inheritance. Till then, have fun.

 

Well I am back on the road for one more week. I am in Indiana (South Bend) this week on a proactive MOSS engagement. This is pretty much the last trip I have on my current team. I will be moving to another team at MS this month. Similar position, I will still be supporting MOSS, but I will be dedicated to working with a smaller group of clients. I will be moving to Sacramento and focused on working with the California State Government and supporting their efforts around MOSS/WSS. So currently I am a PFE (Premier Field Engineer) my next position is DSE (Dedicated Support Engineer). Same type of work in the same family, just a lot less (read hopefully none) travel.

I spent last week in up at our Redmond and Bellevue offices working on some of our internal tools. And got to learn and use XPath for the first time. I have never been huge on using XML other than in it's raw form, so using XPath we a nice change. I think it may be useful for working with WPF/XAML at some point. Giving me a way to query my UI within my apps. I will have to come up with some useful reasons for it, but it seems like it would have plenty of potential.

Well I had better get back to work so I can get back home to California next week...

Been a bit busy this last week so I will be putting up part 2 of my content types series. I will focus on Creating Content types via the Browser, And associating workflows and document templates with them. I will save the piece on Creating Document Information Panels for another post as they are done via InfoPath and I am a bit rusty since I haven't touched it in about 6 months. :)

One of the most overlooked and underutilized pieces of WSSv3/MOSS2007 are Content Types. There are many uses, functionalities and services that depend on the proper use and implementation of content types within SharePoint. Over the next few weeks I will be exploring content types and the power they give you to really start getting everything you can out of SharePoint. But first a bit of an intro as to what exactly content types represent within the context of MOSS/WSS.

 In SPS2003/WSSv2 we were given the ability to assign Metadata to documents and lists. This metadata allowed us to track information outside of what the standard document properties would allow. Fields of information that would be stored in the database outside of the document and could also be displayed in the columns within the list or library where the document resided. This gave us a great way of adding information that further described the document for tracking or even for search clarification and differentiation. Different people and companies came up with different uses for metadata, but some items still limited its usability. Metadata could be associated with a library or list so that the information had to be filled in during creation or upload of documents to the list or library. This meant that the metadata was tied to that list and was not exactly portable or reusable without recreating the fields for each library where you wanted to track the data.

For WSSv3/MOSS the concept was taken to a new level and much thought was put into the actual use, portability, reuse and management of metadata. Content Types. Content Types are in all reality simply a grouping of fields. They do not actually need to be tied to a specific document. You can make lists that simply hold instances of a content type. For example if I want a list of addresses, I do not necessarily need to have actual documents where the information is stored. Why not just create a series of fields (Site Columns, More on that later...) to hold the desired data; Address, City, State, Zip, etc... In SPS2003 I could simply create a list and create the columns I wanted for that list. But that isn’t exactly reusable within other lists or libraries in my site. With content types I can create the fields that I want and save them as a content type which can be reused throughout my site and even other sites within SharePoint.

This is all thanks to the magic of site columns. All lists and libraries within MOSS/WSSv3 share a common group of columns. These columns actually are a collection that belongs to the site itself and so are available to all lists and libraries throughout the site. Content types take advantage of this by allowing you to create a grouping of these site columns (Fields) and save it as a content type. You can then create instances of this content type as fits your needs for different lists and libraries. This is the simplest definition of a content type. A reusable grouping of metadata fields (site columns). I can then enable my lists to use the content type, which has a few notable effects. One of the most obvious to the end users is that when they hit the “New” dropdown menu while working on the list, they get more than just the option to create a new word doc or folder; they will now have the option to create a new instance of my content type. So in my address list, they would have the option of adding a new address to the list. The more content types I enable in the list, the more options they users get on the “New” menu for that list.

Again, this is the simplest definition and usage for a content type. Next time I will dig a bit more into some of the other options you have in terms of being able to tie in document templates, Workflows and the Document Information Panel  into your content types.

Until next time…

 

More Posts Next page »
 
Page view tracker