SharePoint 2010 Sneak Peek !!!
Today Microsoft released some great videos highlighting the potential of the next release of SharePoint. There is some excellent material here include a full walk through showing live products in action.
Overview
- Tom Rizzo, speaker
- Robust cross browser support
- AJAX calls for faster page loads
- SharePoint Designer 2010 – Streamline interface, robust BDC features. No more Lightning Tool BDC Metaman?
- SharePoint Workspace 2010 – Take lists and documents offline with a better than ever Groove client
- BCS is the new BDC
- Rich integration with Office 2010 – Sample BCS populated memo to regional sales representative.
IT Pro
- Richard Riley, speaker
- Professional productivity, Scalable platform, Flexible deployment
- Release timeline
- Central Admin cleaned interface. Similar to Control Panel in XP from Windows 2000.
- Robust Logging. New dedicated database, runs BPA (Best Practice Analyzer) to give suggestions, granular detail never seen before. “Slowest Pages” insight.
- Visual Upgrade. Allows site owners and users to preview before decided to switch browser interfaces.
Developer
- Developer productivity, Platform services, Flexible deployment
- Developer dashboard. Site feature provides browser output with detail rendering stack.
- Visual Studio 2010 – MUCH improved developer experience. Detailed build options and project types.
- Visual web part designer.
- LINQ for SharePoint API
- Client Object Model (OM) available in Silverlight and JavaScript.
- Write quality solutions in less time.
Drag and drop .XML files to Excel 2007
Working with SharePoint daily I see a great deal of XML data. System configuration, user data, feature definition, list schema, usage, etc. SharePoint is a product that lives and breathes in XML format for nearly everything.
I personally find Excel 2007 very handy here.
If you didn’t know it is possible to drag a plain XML file onto a blank workbook and follow the Excel 2007 defaults to view in a grid layout (sample below). From there it’s …
- Easier to read
- Simple to filter and sort
- Possible to create PivotTables or Charts to identify patterns
Try it out! Please leave a comment of any XML tricks you find helpful. Anybody work a lot with XML in SQL 2005 or InfoPath forms?
Import XML data (Excel – Import XML as Table)
.
Performance Point – Unable to Install on Domain Controller – FIXED
Today I had tried to load PPS on my handy SharePoint VM and it promptly fell on it’s face. Whoops! The workaround is very easy and came to me by looking at the Performance Point Monitoring Server install MSI (PSCSrv.msi) using the incredibly helpful Orca MSI editor tool.
- Browse to the PPS install media folder
- Locate the file named "PSCSrv.msi”
- Open a CMD prompt window to the path in #2
- Type “PSCSrv.msi SKIPREQCHECK=1” to launch the install and bypass the check
- You’ll still see the error message but can click “Next” to skip and complete a full normal install
- Enjoy!
Microsoft Office PerformancePoint Server 2007 — Monitoring Server — Failed Windows Vista or Windows XP SP2 or Windows Server 2003 SP1 (non domain-controller) or Windows Longhorn (non domain-controller)
URL Source= for Thank You on Submit
Many times I’ve been asked to adjust the NewForm.aspx (add record) experience for users to display a custom message after submit. A “Thank You” page for a survey is a great example. Other times in request forms people want to show a confirmation or instructions page.
Thankfully the SharePoint product team made this easy for us developers.
Action Steps
- Visit the list or library you’d like to tweak
- Click on New item to get to /NewForm.aspx
- Take a close look at the URL and notice the word “Source=”
- We’ll come back to this in a minute
- To create a “ThankYou.aspx” page I like to duplicate the “DispForm.aspx” by going into SharePoint Designer
- Right click Copy on DispForm.aspx
- Right click and Paste
- Edit the file to remove the main web part
- Rename the file to “ThankYou.aspx”
- Edit the part after the equals sign (=) from #3 and replace with a URL you’d like to take people to after submit
Often the destination page for #5 above doesn’t yet exist. So you’ll want to open SharePoint Designer 2007 and create a new ASPX page to hold a “Thank You” message. For this I always place the ASPX file in the same /Forms/ folder as the list I’m working on.
Why? By placing a custom ASPX in the same /Forms/ folder it will be including in any List template (.STP) creation and is easier for future admin and dev staff to locate for troubleshooting.
Save C# Time with .OpenWeb()
One of my most common coding task is a simple command line EXE that takes a few parameters in, opens the object model, and applies some sort of changes. Yes, I know about PowerShell, but am very comfortable with Visual Studio and Intellisense today.
Action Steps
- Start a new “Console Application” project type
- Add an assembly reference for “Microsoft.SharePoint.dll” (12.0.4518.1016)
- Type “SPSite s” and right click to add the “using” statement. Very nice shortcut, thank you Joel G!
- Create a new SPSite object and use the full URL to the web for the constructor
- Use the SPSite.OpenWeb() method to grab that one web object without the hassle of looping through children
- This trick works no matter how far the SPWeb is nested down in the site collection
Event Error 5553 – failure trying to synch site”??” for ContentDB “??” WebApp “??”. Exception message was Cannot insert duplicate key row in object ‘dbo.UserMemberships’ with unique index
I ran into this problem this week after doing several site collection moves. The resolution is simple, effective, and only take a few minutes.
ststam -o preparetomove –contentdb [SQLServer:DatabaseName] –site http://sharepoint stsadm -o deletecontentdb –url http://sharepoint –databasename [database] –databaseserver [SQLSever] stsadm -o addcontentdb –url http://sharepoint –databasename [database] –databaseserver [SQLSever]
SharePoint 2010 Beta coming in July?
It looks like we’ll have a new release this Summer to learn. http://www.networkworld.com/news/2009/051509-microsoft-sharepoint.html
- Rizzo stressed during his presentation at TechEd that users will have to start thinking 64-bit when they think of the next version of SharePoint.
- The 2010 edition will require a 64-bit version of SQL Server 2005 or 2008. In addition, the server will run on the 64-bit version of Windows Server 2008.
- Rizzo also announced that SharePoint Server 2010 will not support Internet Explorer 6.
Coding EventLog Excellence
Summary
It’s a best practice to have all custom code write to the event log. Every code execution should produce one and only one log entry. Exceptions (code speak for err) should be written here. For troubleshooting and support you can’t ask for a better tool. The framework exists, EventCombMT helps aggregate, and it allows you to run dozens … or hundreds … of apps while keeping a sharp eye on quality control.
Namespaces
Example
static void Main(string[] args)
{
try {
//Main code procedure
Console.WriteLine("Hello World!");
writeEventlog(1, null); //Write to Eventlog – GOOD
}
catch (System.Exception e)
{
writeEventlog(2, e); //Write to Eventlog – BAD
}
}
static void writeEventlog(int success, System.Exception e)
{
//Current EXE name
String exe = System.Reflection.Assembly.GetExecutingAssembly().FullName.Split(‘,’)[0];
String header = "";
String exception = "";
EventLogEntryType type = EventLogEntryType.Information;
//Determine type
switch (success)
{
case 1:
header = "nOperation successfully completed";
break;
case 2:
header = "nOperation FAILED";
if (e != null) strException = e.Message + e.InnerException + e.StackTrace;
type = EventLogEntryType.Error;
break;
case 3:
header = "nOperation WARNED";
if (e != null) exception = e.Message + e.InnerException + e.StackTrace;
type = EventLogEntryType.Warning;
break;
}
//Write to log
EventLog myLog = new EventLog("Application", ".", exe);
myLog.WriteEntry(exe + "n" + exception, type);
}The given key was not present in the dictionary.
If you see this error message in WSS chances are you have an active reference to custom field type but have not installed the field type. The “/_layouts/mngfield.aspx” page will throw this error in the above scenario. Two possible resolutions:
- Visit Central Administration and deploy (or re-deploy) the WSP for the custom field type. For me this is usually http://www.codeplex.com/CustomFieldControls and the Parent Child Field types.
- Remove the Site Column (SPField) objects with object model code. Requires developer skills.
MIX Keynote 09
Bill Buxton enthusiastically talks about the increasing importance of “experience” design. Tough times like this are breeding grounds for beautiful new ideas.


