Whenever you are trying to organise a large pool of digital content it’s not long before somebody uses the term metadata.
So what is metadata? If you look at a formal definition you will read something bordering on the existential like "data describing data".
I find the best way to start a conversation about metadata is to look at a familiar example like digital photography.
Lots of people have digital cameras and take loads of photos. These photos are typically stored as JPEG files that contain the actual photo and some information about the photo like: The date and time the photo was taken, where the photo was taken, the dimensions of the photo and the focal length used to take the photo.
This additional information is called metadata and in this case is captured automatically by the camera when a photos is taken.
Once you import your photos to a computer for use with photo management software like Windows Live Photo Gallery it can make use of the metadata captured against each photo in order to provide you with different views into your photo collection. For example you might want to see "photos taken on a specific day" or "photos taken in a specific location".
Managing a large collection becomes a lot easier when you are able to sort, filter and group your photos in this way but what if you wanted to see all the photos in your collection that has a boat in it?
Since your camera can’t determine (at least not yet) whether a photo contains a boat, you need to manually point out which photos do contain a boat. Capturing metadata manually is often refered to as "tagging".
The biggest benefit from the effort of capturing this information is that it allows you to get more specific views into your collection for example "photos of boats taken during my vacation to South Africa in March".
Here are some free videos providing a developer introduction to working with SharePoint 2010. They cover the following topics:
- Getting Started: Building Web Parts
- What developers need to know
- Building blocks for Web Part Development
- Accessing Data with Server-Side APIs
- Accessing Data with Client-Side APIs
- Accessing External Data with BCS
- Developing Business Processes
- Creating Silverlight User Interfaces Solutions
- Sandbox Solutions for Web Parts
- Creating Dialogs and Ribbon Controls
I’ve been troubleshooting some inter-farm record declaration problems recently and ran into an annoying generic exception.
"The Records Center is not properly configured for this request"
My configuration has two SharePoint 2007 farms. Farm A hosting "collaboration" sites (e.g. team sites, my sites) and Farm B hosting a site collection based on the Record Center site template. Each farm has it’s own set of service accounts and I am using Kerberos authentication.
When attempting to declare records from Farm A I was getting the exception and the matching event log entry in the Application log of the web front end server in Farm A:
The following seem to be the most common causes of this generic exception:
The URL to the OfficialFile web service is incorrectly entered in Central Administration > Application Management > External Service Connections > Record center on Farm A.
The Record Center site is created as a sub-site as opposed to a top-level site.
The service account for Farm A is not a member of the Record Center Web Service Submitters group in the Record Center site collection on Farm B.
And finally a bug with documents that have date fields and non-US date regional settings for which a hotfix was made available 26 August 2008.
As part of a solution that I’m putting together at the moment I had a requirement that went something like this:
We want an export button on the search results page that allows us to save all the search results to the desktop
Designing "bulk actions" like export that affect a large set of SharePoint items as a single operation is a challenge. Using a custom SharePoint timer job allows us to keep these potentially very costly operations outside of the user context.
The design follows this basic flow:
- User selects a number of items (from search results) to process
- Selected items are "tagged" for attention from the timer job
- User is notified that the operation is "scheduled"
- Timer job runs and identifies "tagged" items
- Items are processed
- Report is generated
- User is notified of completion
I recently configured a set of virtual machines for use as my SharePoint demo environment. I used Microsoft Virtual PC 2007 and the differencing disk technique to keep disk space down and maximise re-use.
I created a base Windows Server 2003 virtual hard disk and then proceeded to create two differencing disks from it: one for my domain controller (dc.demo.local) and one for my SharePoint server (sharepoint.demo.local).
After successfully adding the SharePoint server to the domain I got the following error message when attempting to log in using a domain administrator account:
"The name or security ID (SID) of the domain specified is inconsistent with the trust information for that domain"
So it turns out that the SID for both machines are the same since the differencing disks are created off the same base disk.
Luckily it was easy to fix… I Downloaded NewSID from TechNet and ran through the wizard on my SharePoint server. This changed the SID for the machine to a nice shiny random one and rebooted.
Logging in with domain accounts is no longer a problem.