June 2008 - Posts
Last month Andrew Gelina (Syrinx's CEO) and myself had a nice conversation with Gayle Rodcay of Windows IT Pro magazine. She asked a lot of great questions about the top features/functionality we have seen requested in the SharePoint space. Her write-up of the interview went online and is available for everyone at:
Let me know what you think!
I just wanted to pass along a recent article I wrote for Redmond Channel Partner magazine for the May issue. They wanted the article written to help the community with the common problem many users of SharePoint are faced with: What do I do with it? How can it help my company?
The full article can be found here:
I got back home to Boston after having a great week at Tech-Ed. It really was a good show. I met a lot of new people as well as catch up with some friends in the industry. There really was a lot of great content and dialogue around SharePoint to help all of us in our quest to keep learning more and more to help our clients get the best possible results. Thanks again to Tom Robbins, Chris Bowen, and Bob Familiar from Microsoft for taking us to dinner, introducing us to some great people, and really going the extra mile.
I learned about a couple tools used by the presenters to make our lives easier and wanted to pass those along to everyone:
Expresso: A regular expression builder was very interesting and will come in handy when the federated search components are added to MOSS very soon.
Fiddler: A http traffic sniffer to help you look at the breakdown of items loading on your pages. Thank you to Andrew Connell for showing this off. It was eye-opening to say the least watching him run this tool on a SharePoint page.
Speaking of Andrew Connell, I just wanted to point out what a great session he did on the last day about building your SharePoint applications with performance in mind. Not only was the content excellent, but as usual, his presentation style was engaging and interesting.
I hope to see everyone again next year,
Day two was better than the first day in terms of session content and interest, at least from my perspective. I took pictures, but decided it was better to get the post up than get the pictures ready.
XMOL / XAML
John Holliday gave an in-depth coding example about how you can build your own XOML/XAML editor that sits between Visual Studio and SharePoint Designer, allowing you load, modify, and build custom Workflows. Although I'm not sure I'd ever use such a tool, the exercise in seeing it built and operate shed even more light on WF.
Federated Search in MOSS 2007
Michal Gideoni from Microsoft presented a session on the new abilities of SharePoint for Search 2008 and therefore the new patch being release within a month that will add these features to existing MOSS implementations.
She demonstrated some very powerful and easy methods to build federated search web parts that basically connect to anything! Ok, maybe not anything, but just about anything that you can call via code to search and return data. Her solution was to convert almost any foreign search component's return data into an RSS format so the local federated web parts can use this for display purposes. This included Google, SQL Server, Mapping tools, etc. With some clever regular expression manipulation she was able to allow for custom search queries to look for specific items that certain searches are more qualified to return.
Finally, Michal mentioned that some new protocols for Documentum and FileNet have been released for MOSS to search and index the content. She also informed us that the new federated search web parts are no longer sealed, thus allowing us to inherit from them and begin extending their functionality. I sure hope Microsoft follows suit on this new direction with their other web parts as well!
Making SharePoint Development Better
Stacy Draper hosted a really great Birds of a Feather session for SharePoint developers. Essentially it was an open forum for those of us working in this genre to ask questions, express ideas, discuss current issues, offer solutions to problems, and generally hear about how other people are doing. It was very informative and good to hear that a lot of people experience the same issues in these environments. We met some talented developers genuinely there to learn, collaborate, and share knowledge. Thanks again Stacy!
Content Types for Document Management
Another session by John Holliday. I seem gravitate towards the types of sessions he covers. This session was a deep-dive coding example about creating Content Types in code and how you can use reflection to make this process much easier. His session is probably the "deepest" I've seen someone get into when it comes to Content Types via the object model.
One thing he mentioned that I hadn't thought of before is the ability to send documents with any/all Content Types into a more generic rules engine if you choose to validate documents/items entering your applications. Right now, you can attach Information Management Policies or Workflows to Content Types, or you can write custom code that can look at Content Types on various events (adding, updating, etc) to validate, but each of these methods is fairly specific to a certain type of document, Content Typde or validation rule. I liked the idea of building these validators that could apply to all Content Types, but your code is essentially a rules engine that looks at all the metadata for each Content Type, along with other conditions, to determine certain allowable actions during certain events. You could get clever with this approach and build a nice front-end for your rules data.
That's it for day 2!
Everyone knows how painful it is to try reaching a MOSS page after an IIS reset or a server reboot; what happens is ASP.NET performing page and resource compilation and caching. You can help your users save frustration by simply touching every MOSS web application once after a cold restart. Of course you would prefer to automate such a task instead of firing up a browser every time your server restarts. Isn't it easier to click on an icon on your desktop and warm-up all those 20 SharePoint servers at once?
To create a warm up script we can use Microsoft's own XMLHTTP object from XML DOM suit and Windows Scripting. The simplest VB script to touch a web page would look like:
' Check if a site url specified
if wscript.Arguments.Count <> 1 Then
wscript.Echo "Please specify a url!"
Set xmlHttp = CreateObject("Msxml2.ServerXMLHTTP.3.0")
If Err.Number <> 0 Then Set xmlHttp = CreateObject("Microsoft.XMLHTTP")
If Err.Number <> 0 Then wscript.Quit
wscript.Echo "Touching " & CStr(wscript.Arguments(0))
xmlHttp.Open "GET", CStr(wscript.Arguments(0)), False
And you can call this script from a batch file using wscript.exe or cscript.exe tools which run the script in the Windows script Host:
wscript c:\warmup.vbs "http://moss.com/site"
So just add such a command for all your moss sites to a batch file and run after each cold restart.
I just wanted to do a quick write-up from day one at Tech-Ed 2008 Developer in Orlando Florida. The opening Keynote address by Bill Gates was very good. He touched upon his upcoming departure about Microsoft, but not without also leaving us with a nice picture of where he feels the technology of Microsoft is heading. The big pieces were the demonstrations about presentation with the upcoming release of SilverLight 2 Beta 2, development and middle-tier efforts with Visual Studio 2008; including some of the interesting architecture, diagram, and pattern enforcement tools. He ended with discussing and demonstrating the back-end with SQL Server 2008's ability to do spatial queries and the addition of more platform services.
Visual Studio 2008 Development for SharePoint
I also attended some interesting sessions around SharePoint technologies. There will be a 1.2 release of Visual Studio extensions for Windows SharePoint Services very soon that will support Visual Studio 2008. There will be no added functionality to the extensions, but this is still a useful milestone for moving forward with some of the new development tools. Thank you to Paul Andrew for giving us a walk-through.
SQL Server Reporting Services and SharePoint
There was a very interesting session by Prash Shirolkar on the some of the great integration features between SSRS (SQL Server Reporting Services) and MOSS. He demonstrated some great examples of SSRS reporting on information in the WSS Content Databases, building and publishing reports from SSRS to SharePoint libraries, and some of the new Web Parts available to view very comprehensive reports within SharePoint. He also gave a quick overview on an SSRS report, running in a Web Part, that was able write data back to a local SharePoint list. Interesting stuff!
Custom Routers in SharePoint Records Center
John Holliday gave a nice overview in a smaller, informal venue about building custom routers in Records Center. Building these routers is actually fairly straightforward, and there seems to be some value to this in the ability to have more granular control via code over the filtering, authenticating, and management of documents that enter your repository. Andrew Connell was sitting on the session and a very thought-provoking conversation sparked up about backing up / managing / viewing snapshots of content managed publishing sites in SharePoint. It seems like we've all been getting requests for this type of management and control over SharePoint lately.
Overall it's been a great time and has been a lot of fun talking to like-minded people working on SharePoint in the industry! More to come...