29 December 2008

Insignia Bluetooth Headset - One Year Later

It's been nearly a year since I acquired my Bluetooth headset.  In that time, the headphones have served me well.  Unfortunately, on a recent trip, the headphone finally succumbed to the abuse they've endured; the plastic that connects the two ear phones snapped -- likely twisted a bit too far in my laptop case.  However, over the course of the year, I learned a few things I thought others would find useful:

  1. The connection to my laptop required two profiles: one for the headset functionality (mono) and one for the headphones (stereo).   This was very much true in Windows XP, but a little different in Vista.
  2. I had to disable the headset services in Vista to get the stereo headphone functionality to operate consistently.  On my Dell, this was done by opening the BlueTooth service in the Control Panel (or from the System Tray).  I selected the Insignia device and picked Properties.  In the Properties dialog, there's a services tab that showed what BlueTooth services were available from the device.  On my computer, the services listed were: audio sink, headset and remote control.  The audio sink is the service required for stereo headphone operation and the remote control is required for controlling Windows Media Player through the controls on the headphones.  Headset functionality provides mono sound and microphone services (for things like Skype or gaming).  By enabling and disabling the services I needed, I could get the functionality I wanted consistently.  A few people have e-mailed or comments about trouble they had hearing sound or getting the microphone to work.  From my experience, having the right services selected was key to getting everything working.  
  3. Based on the service in the Bluetooth profile you've selected, up to two audio devices would be displayed in the sound setup in Vista - either stereo headphones or a mono headset.  The headset device was also tied to a recording device - the microphone.  I would select one or the other device as the "default device" to enable use of a specific function.
  4. I would have to occasionally connect my headphones to my computer, select the service in the Bluetooth configuration and then select the right device in the sound properties to get everything work.  In addition, I would sometimes have to cycle the power on the headphones in the event that the right connection didn't get established immediately.  I found that if I had all services enabled on the headphones, the mono headset service took priority over the stereo mode.  Although I could listen to music, it was not the best experience.

In all, I am and was very happy with the headphones.  In fact, I recently returned to Best Buy to get a replacement set.  However, I was a bit distracted by a pair of Samsung Bluetooth headphones (don't remember the model), which looked a little nicer and with a similar battery runtimes.  I tried them out for a few days and although they seemed to "get" automatic switching between profiles (the device figured out that I wanted to listen to music vs. using Skype), had better ear cups and were generally a bit nicer, they were $10 more expensive and required you to charge the headphones using a dedicated AC adapter, which I though was kind of silly.  In addition, I didn't have the best experience using them with my mobile phone (oddly also a Samsung), so I returned them.

At this point, I'm not sure sure if I'll simply get a replacement set of Insignia headphones or find another brand.  That said, I would still recommend the Insignia set if you're looking for a decent quality, wireless headphone.

03 December 2008

Gilbane Boston 2008 and SharePoint

As I finish up my presentations at the Gilbane Boston conference, I am still struck by the number of questions surrounding SharePoint.  During my "SharePoint in the Enterprise" talk, a number of attendees asked about whether SharePoint could be a stand along ECM solution.  Others were concerned about integration with 3rd party products -- specifically how SharePoint could co-exist with other technologies. Still others were interested in how to test applications built on top of SharePoint.

These are all excellent questions.  During my presentation, I covered a good many of them.  However, if you're still struggling to understand where SharePoint would fit or what functionality it provides in the box, I'd recommend picking up a copy of the SharePoint Report 2009 from CMS Watch.  The 242 page report covers virtually every aspect of SharePoint and gives pointed advice on everything from development on the platform, what's in and out of the box and, in this latest release, reviews of more than 20 add-on products that supplement SharePoint's functionality.

I'll admit I'm a bit biased -- I was the lead analyst on the report.  However, for the price, there's little chance you could hire a consultant to provide the same insight.  If, however, you're also hoping to get input from a consultant, Consejo has recently developed an offering which includes a copy of the report, in addition to a specific assessment of how SharePoint might fit in your environment. 

To learn more about our new SharePoint Assessment offering, please e-mail sales@consejoinc.com.

24 November 2008

SharePoint Report 2009 Released

Consejo and CMS Watch have just completed an update to the SharePoint Report called the SharePoint Report 2009.  If you're in considering SharePoint for your organization, buying the report will save you both time and money.  For far less than it would cost to hire a consultant to deliver the same information, you are given pointed advice about what SharePoint does and does not do, as well as best practice information.  The latest report also includes reviews of more than 20 add-on products as well.

I would encourage you to download the sample content to see for yourself.  Also, if you have feedback, we'd love to hear it.  You can e-mail editor@cmswatch.com

06 November 2008

SharePoint at the JBoye Conference in Denmark

As the JBoye 2008 conference in Aarhus, Denmark wraps up the final day, I can't help but be amazed at the popularity of SharePoint in both in the U.S. and abroad.  With a great deal of Consejo's work located in the U.S., it's easy to get caught up locally and forget the more global community.

During the conference, there was one consistent theme from the largely European-based audience: most European customers are struggling with the same or similar challenges as their U.S.-based counterparts.  Here are a few of the challenges I heard during my presentations:

  • With very large installations (e.g. tens of thousands of employees), there are some significant challenges in SharePoint deployment.  The example I heard from an Austrailian (living in the Netherlands) was they had so many employees, they had to deploy multiple SharePoint farms just to enable My Sites for everyone.  As a result, surfacing alerts to users tended to be problematic, since alerts don't travel between SharePoint farms if you're not careful about your Shared Services configuration.
  • Variations work generally well for presenting multiple language versions of a primary language site.  For example, presenting a Spanish version of an English site.  However, if you have two Spanish sites -- one for Mexico and one for Spain as an example -- SharePoint does not allow you to leverage the Spanish site to help "seed" the Mexican site.  Both the Spanish and Mexican sites can only be sourced from the English site.  This situation leads to one of two options -- spend more in translation OR copy and paste content from the ES-ES site to the ES-MX site manually.
  • On the topic of languages, SharePoint will allow you to store content in any language in any site.  This is fantastic for sharing language specific content.  Unfortunately, the interface (administrative menus and functions) can only be displayed in one language.  This means that if your affiliate in France sets up a SharePoint site with the French language pack, everyone visiting that site will see the French administrative options and functions.  There's no capability for displaying English menus to the British or Spanish menus to the Spaniards.  While most companies I spoke with generally use English as their official company language (creating an English standard for all interfaces), that approach is limiting where English isn't pervasive -- like in Russia or France -- and where the native language isn't commonly spoken beyond the locale.
  • SharePoint search facilities continues to be the target of both deserved and undeserved criticism.  Many attendees lamented about the lack of wild-card search support, the inability to submit boolean queries and the inability to "tune" results.  While results tuning is a weakness compared with other enterprise engines, wild-card and boolean support is the result of interface limitations and not limitations of the engine.  In fact, most add-on search vendors simply take advantage of build-in engine capabilities that the Microsoft-supplied search interface fails to surface.

Despite the various complaints, SharePoint is generally very popular.  Companies like Alfa Laval, ExxonMobil and British Telecom had representatives all sharing their experiences with SharePoint.  The attendee from Alfa Laval presented her experiences in developing a public web site using SharePoint  -- across 60 countries an 25 languages.  Despite the challenges she faced during the implementation, she was very positive about both the product and their implementer.

In the end, there was one common thread throughout the conference: users need better information and guidance on the best practices for SharePoint implementation.  This includes not only technology help, but general governance assistance.  In fact, one presenter suggested that the viral growth challenges of SharePoint were largely due to a lack of discipline in many large organizations.   As I and my co-authors point our in the SharePoint Report 2008, published by CMS Watch, there are number of factors to both successful and failed implementations.  However, good governance practices represent a key success factor for any organization.

If you would like to learn more about SharePoint or are looking for guidance on best practices, there are two upcoming conferences that I would recommend:

  1. IIR's Enterprise-3 Conference in Las Vegas, 10 to 12 November
  2. Gilbane Boston 2008 in Boston, 2 to 4 December

I'll be presenting SharePoint 1/2 day workshops at both conferences in addition to a regular session at the Gilbane conference.  I look forward to seeing you there!

09 October 2008

IT and Business Alignment Forum

UPDATE: Changed Discount Code

International Institute of Research (IIR) recently created a new, combined conference that brings together the best of business and IT strategy (Enterprise Architectures Conference, Business Process Management Conference and Enterprise Web, Portals & Collaborative Technologies Conference).  The new IT and Business Alignment Forum will be held 10 to 13 November at the Red Rock Hotel in Las Vegas.

As a multi-year speaker at the Enterprise Web, Portals and Collaborative Technologies conference, I have had the opportunity to interact with many off the attendees and see, first hand, the value that content has provided.   From social networking in the enterprise, to best practices in portal development, to how to create a real adoption plan for web 2.0 technologies in the enterprise -- the conference has both depth and breadth.  With the addition of content and speakers from the other conferences, the Alignment Forum promises to really bridge the gap between the disciplines and enable better and more productive discussions around creating real solutions in the enterprise.

This year I'll be leading a pre-conference seminar on making SharePoint Work in the Enterprise.  I'll be covering topics like:

  • SharePoint overview
  • SharePoint's strengths and weaknesses
  • How to integrate SharePoint with other enterprise systems
  • Performance and Scalability
  • Overall governance (specific to SharePoint)

If you're interested in attending, you can find more information on the conference web site.  You can also get a discounted registration for the conference by using the following promotion code: SPKRITBIZSS

I look forward to seeing you there!

07 October 2008

Rookie mistakes to avoid during the SharePoint implementation process

Despite what may seem like a virtual explosion of SharePoint in the enterprise, it has been around since 2001. However, because of the various architectural changes in the recent version, SharePoint's popularity has taken off. The challenge now is to ensure that it is implemented properly in your environment.

Read the full article here...

22 September 2008

ECM Training from CMS Watch

CMS Watch recently released a new training program.  Their Fundamentals of Enterprise Content Management Technology aims to help educate organizations on ECM technologies.  The course has a broad focus from what "you're getting into" when implementing ECM technologies to how gather requirements (and a lot in between).  Even if you are working with  or plan to work with a consulting agency, it will greatly benefit your organization to be educated. 


From experience, educated clients are in a better position to make decisions about implementations than clients that have limited experience and/or education.  If you're considering implementing ECM technologies, I would highly recommend attending the course. 

29 August 2008

.NET Framework Service Pack Breaks SharePoint v2.0

Filed under the "be careful when updating servers" category, Microsoft announced on Wednesday that an update to the latest .NET Framework (v3.5) will cause problems with WSS v2.0 (and SharePoint 2003 by proxy). 

Anyone who has been working on SharePoint since the 2003 timeframe will probably remember that this is not the first time that framework updates have broken the previous version of SharePoint.  Most notably, when updating a SharePoint 2003 server to .NET 2.0, the index server mysteriously stopped indexing content.

This latest issue just reinforces the old adage that you need to thoroughly test updates in a non-production environment, even if Microsoft says they're O.K.

27 July 2008

SharePoint and Coffee ... Perfect Together

It's not clear what implication the following recommendation from Amazon may have, but I suspect that Rob Bogue et. al. will be thrilled with the additional promotion. 


In fact, the recommendation is a split -- promotion of products based on what I just ordered (K-Cups for my new coffee maker) and products that fit my purchasing habits over the last few months.  However, the presentation of the two recommendations together made for a remarkable checkout process.

24 July 2008

Take control of SharePoint Security

One challenge for companies implementing SharePoint is to figure out security. Keeping the model straight over time, as the SharePoint implementation matures, is even more of a challenge. SharePoint's ease of installation and high-level configuration can sometimes mask its underlying complexity, especially when dealing with more advanced scenarios like security.

Click here for the rest of the article on SearchWinIt.COM

16 July 2008

Integrating existing applications with SharePoint Server 2007

It's likely that you are using Microsoft Office SharePoint Server 2007 in your organization. If not, there's probably a strong contingent within your organization lobbying to implement the technology.

Once you have SharePoint server, though, there's the inevitable challenge of integrating existing applications into the portal framework. So, this begs the question -- if you want to use SharePoint as your enterprise portal platform, how do you integrate applications that aren't "SharePoint-aware?"


Read the rest of the my new article on SearchWinIT.COM

03 July 2008

SharePoint and Oracle Internet Directory (LDAP)

[UPDATE 6 SEPT 2010] The code has been posted on a new article about connecting SharePoint to Oracle LDAP

I have a client who recently wanted to leverage their Oracle Internet Directory server to authenticate users in SharePoint.  Since OID is LDAP compliant, I figured I could just use the generic LDAP provider with SharePoint.  Turns out, that provider is only supplied with MOSS and my client was using WSS.  So, off to Visual Studio to create a custom membership provider I went. 

I've seen a number of posts regarding the creation of custom membership providers for non-Microsoft directory sources like SunOne and OID.  However, I never saw any code samples (most folks didn't seem to be able to get it to work).  While other posts on custom membership providers tended to rehash the same material on SQL Membership.  As it turns out, it's pretty straight forward, as long as you have all of the right connection information (and understand the schema of the directory).  I would be happy to post the code if anyone is interested.  Short of that, here are some of the discoveries I've made:

  1. You can use the standard System.DirectoryServices.Protocols.LdapConnection class to connect to OID.  Here's the generic code I used:

    LdapDirectoryIdentifier _identifier = new LdapDirectoryIdentifier(ldapServerName, portNumber);
    connection = new System.DirectoryServices.Protocols.LdapConnection(_identifier);

  2. You need to override the Initialize member of the base membership class to supply the various connection settings you'll need.  There's a NameValue collection that's passed to this member built from the properties on the provider information you have to supply in Web.Config.  In my case, I limited my settings to LDAP server address (name or IP address), the LDAP port (originally my client suggested they used a non-standard port), Application Name (a property you must override when developing a custom membership provider) and LDAP domain (e.g. dc=com,  dc=customer).   The MOSS supplied provider is a bit more flexible, but I didn't particularly need all of that flexibility (read "complexity").
  3. I had to add the same provider information to Central Administration as I did for my SharePoint site.  I didn't change the authentication method on Central Admin, but without adding the provider, I could not get the people picker (in my SharePoint site) to resolve the user IDs from OID.  Once I added the provider all worked well.  In fact, in some cases, it seems that Central Admin "knows" about the user before the SharePoint application.
  4. You have to overload the following members in the base membership provider in order for it to work with SharePoint
    1. ValidateUser (the member that actually ensures the user is who they say they are)
    2. GetUser (both versions)
    3. GetUserNameByEMail
    4. FindUsersByName
    5. GetAllUsers

      An article published on MSDN defines the minimum interfaces: http://msdn.microsoft.com/en-us/library/bb975135.aspx#MOSSFBAPart2_DevelopingCustom
  5. You don't necessarily have to authenticate with the directory to exercise most of the members above, with the exception of ValidateUser.  In my case, my client's OID implementation enabled anonymous access.
  6. The act of "binding" to the LDAP directory validated the user.  That said, this only worked for users in the directory.  If I passed a user that did exist, but provided the wrong password, the validation failed as expected.  If, however, I passed a non-existent user to the directory (regardless of the combination of user ID and password), the Bind() method did not return any errors and my "authentication" worked.    I'm not sure if I've missed something or if this is unique to LDAP, but it was a strange behavior.  During my development I used a tool called LDAP Admin (http://ldapadmin.sourceforge.net/).  The tool was invaluable for validating connection information and user data.  It also, however, suffered the same fate as my code -if I tried to authenticate a user that didn't exist, the connection would be successful.  Weird.
  7. My client also wanted to use a single sign-on service provided by OID.  The service is quite flexible, supporting three different methods for supplying credentials to target applications - GET, POST and BASIC..  Unfortunately, since we configured the site with a custom membership provider, the only options were either GET or POST.  We chose post.  Unfortunately, the standard login page doesn't seem to want to allow a post from another page (although I didn't spend a long time to work it out).  I ended up constructing a basic page that took in form properties and then used the Membership class to authenticate the user and redirect them back to the SharePoint site.

Ultimately, the new provider works well and the SharePoint site is integrated with the SSO server.  User's who have access to my client's Oracle Portal can seamlessly access their SharePoint site as well  -- all without having to authenticate a second time.  And, because both web sites use the same LDAP, there's not need to synchronize user IDs and passwords.

Again, if you're interested in the code, just drop me a line; if I get enough requests, I'll post the code directly.

[UPDATE 6 SEPT 2010] The code has been posted on a new article about connecting SharePoint to Oracle LDAP

28 June 2008

REVIEW: Carbonite Online Backup

One of the challenges of constantly traveling is ensuring that all of my data is continuously backed up.  Having lost data as a result of either a hardware or software failure, I know I need a backup, but I could never find a good solution. Enter Carbonite.

I happened upon Carbonite about four months ago.  Essentially, they offer an online backup of your machine (Windows only).  For $49/year, they will allow you to backup an unlimited amount of data.  When you sign-up for the service, they require a small agent download and install.  The agent constantly monitors various folders/files on your machine to determine whether they've changed; if they have, it starts copying the file to your online backup.  By default, Carbonite will backup all of your personal files -- on XP, this means anything in your Documents and Settings directory.  In Vista, this would include anything in your Users directory.  If you want to add other directories/files, just right click on the file or directory and pick Carbonite from the context menu and then "Back this up."  With virtually the same operation, you can also exclude certain files.


In addition, Carbonite surfaces in your "My Computer" as another drive.  Double clicking on the icon will show you what's been backed up.  It's presented as an Explorer-like interface, making finding a file pretty easy.


In my own experience, I ended up backing up about 32 Gb of data.  The complete backup took a number of days to complete.  However, Carbonite indicates a particular file's backup status by placing a small "button" on each file -- if the button is yellow, the file is in need of backing up.  If the button is green, the current version of that file is backed up.  You can also look at the Carbonite agent status in your system tray -- green indicates all files are backed up and yellow indicates that certain files require backup.

While backup is one thing, the restoration is entirely a different matter.  I also recently had the opportunity to test the service.  Not being completely trusting, I backed my files to a USB drive prior to wiping out my machine.  I then reloaded by then XP laptop with Vista, reloaded the Carbonite agent and told the agent to start a restore. 

Within a day I had most of my important files back.  That said, it's been about a week since I started the restoration and Carbonite still reports that I have quite a few files left to restore.  In truth, I'm not precisely sure what is missing, but I suspect it's my extensive (legal) music collection, since all of my documents have been restored.  Looking at the restore status in Carbonite has largely confirmed my theory.

My Observations:

  • While backups certainly can happen over a longer period of time, waiting a week (or more) to get all of your files restored is unreasonable.  Granted, I've not been connected to a high-speed connection the entire time.  However, I have had 1 Mb or better connectivity for the better part of four days during week.  I'm not sure if the slowness is simply a function of available bandwidth or how Carbonite prioritizes its use of your bandwidth; throttling bandwidth usage for normal backups is expected, but I would think it would want to consume as much bandwidth as possible for the restoration.
  • I've recently started using the service on a server.  I'm not backing up a ton of data, but the fact that the files are "instantly" offsite is somewhat comforting.  Because there isn't a lot of data AND the server will have a dedicated connection with loads of bandwidth, my guess is that any restore should be pretty snappy.
  • I have tried contacting support regarding my restore speed.  It's been two days and so far I've not heard back.  Their web site did state that they were dealing with "higher-than-normal" volume.  Not sure what that means for them, but I'm growing a bit impatient.

My Verdict:

  • For basic backups of your files, I've been pretty happy with the service.  For $49/year, you can't beat the price, especially since you're allowed unlimited space.
  • Now knowing restores take so long, you may consider just using Carbonite for selected files.  If you have  high-speed connection, the restore should be O.K.  My bread and butter files were restored pretty quick (desktop and documents).

If this service sounds interesting to you, check out Carbonite's web site.  (NOTE: the link is a "refer a friend link")

26 June 2008

Issues with Virtual PC 2007 and Vista

I recently upgraded my primary laptop to Vista Ultimate.  Reluctantly I gave up the security of Windows XP and the comforts of a long-lived laptop build -- not that XP was my dream OS, but I had gotten used to its quirks and I knew what to expect.  That said, it was getting long in the tooth and Vista did have a certain allure.

After the upgrade (actually a reformat and a clean install), I installed Virtual PC 2007 SP1.  When I tried to start my primary development machine, I got the following error:  "The virtual machine [VPC NAME] can't be started because it is being used by another program, or marked as read-only...."  Once my mild stoke abated, I did what every good developer does... I Googled the error and found the following articles describing other experiences with the same (or similar issue):

The trouble was that all of these articles focused on security changes in Vista: either the current user (me) doesn't have access to the files or 2) for whatever reason, VPC needed to run with elevated permissions (as an Administrator).  As it turns out, I did have to adjust permissions on the files.  There were some remnants of permissions left over from my XP machine.  Unfortunately, resetting the permissions didn't fix the problem. 

In looking through various settings, I noticed a curious attribute setting - the "read only" flag appeared to be set.  Unfortuately, unchecking the read-only flag on the folder where my virtual machine was stored seemed to have no effect.  Every time I clicked O.K., closed the properties page and reopened to check the setting, I was presented with exactly the same situation -- the read only flag appeared to be set.  This lead to another Google search and another wild goose chase, that allowed me to learn the read only attribute mysteriously getting set is something that a good many other folks are struggling with when using Vista.  And, in fact, I learned that the read only attribute is only settable at the file level, not at the folder level.  You can click on the check box next to read only flag all day long and nothing will happen to the folder -- it will, however, set the flag on the underlying files.   That said, the read only flag on the individual files was unchecked in my case.

To cut the chase, I had to drop to a command prompt and use the ATTRIB command (DOS old school).  I ran the following:

ATTRIB -R G:\*.* /S 

In this case, G: is the USB drive where my virtual machine is stored.  Once I ran this command, my virtual machine started right up.  Best part... it only took five hours, lots of Google searches and a VERY frustrating, non-productive call to Microsoft support (grist for another post).

From this experience I learned a few things:

  1. MSDN incidents cannot be used 24 hours a day, 7 days a week as the web site suggests (http://msdn.microsoft.com/en-us/subscriptions/bb266240.aspx).  In fact, even though development is my business and not being able to write code, for me, is by definition "being down,"  Microsoft wanted to charge me $500 to open a "critical business" incident (apparently my MSDN incident can't be used for "production" problems...curious).  If I didn't want to go that route, I had to wait until tomorrow to speak with Virtual PC support.  Why?  Apparently after being transferred to various groups no less than five times, having the CSR tell me "my machine is updating and I can't generate a case number for you" and then being hung up on, the last CSR said I missed Virtual PC support by 7 minutes -- she couldn't transfer because I'd be rerouted back to the level one CSRs.  So much for support.
  2. Google is awesome for finding answers to problems -- assuming you know what to search for.  Having done this a few times, I evening got anecdotal solutions that lead to a fix.
  3. Vista is generally a good operating system -- admittedly my experience beyond this problem -- has been positive.  However, these "minor" security changes seemed to have caused great consternation.

Hopefully this post will prevent others from suffering my fate.

18 May 2008

IIR Enterprise-3 Conference

This week I get the opportunity to attend and speak at the Enterprise-3 conference, hosted by International Institute of Research and BI Research.  I'll be chairing a series of pre-conference seminars on SharePoint with Microsoft MVP Bob Mixon.  In addition, I'm presenting a session on "Sorting out the Productivity Suite Mess," which looks at the major competitors of Microsoft Office as alternatives to the market leading productivity suite.

If you're interested in broader collaboration and content management topics, check out CMS Watch Founder and fellow analyst Tony Byrne's talk "Enterprise 2.0 Technology: A Critical Evaluation."  Tony always has terrific insight into the collaboration, portal and content management space.  In addition, there will be a host of other industry leading speakers there to lend their insight into the space.

For those of you attending the conference, I look forward to meeting you there!  If you won't have the opportunity to attend, please send me an e-mail or give me a ring; I'd be happy to share what I learned as an attendee as well as sharing my presentations.

28 March 2008

SharePoint Report 2008 Released on CMS Watch

After months of work, the new SharePoint Report 2008 has been released.  I collaborated with  CMS Watch to develop a full 190 page research report that exposes what SharePoint does well, its limitations and what businesses of all sizes need to do to be successful when implementing the tool.

I encourage you to review the sample content and review the TOC.

If you have feedback on the report, I'd love to hear it. 

19 March 2008

Customized My Sites Exposed

We recently undertook a project to develop a global intranet for a relatively large organization.  As part of the requirements of that implementation, the client wanted to create a highly customized My Site experience.  As anyone who has delved deep into My Site customization knows, it's not straightforward, easy and may create maintenance issues long term. 

Ultimately, after working through the challenges with the client, we collectively agreed to back off the more grandiose My Site customization plans in lieu of a more simple approach.  The reasons for this change centered around the following:

  • Each My Site is a site collection and dealing with several thousand My Sites when need to change elements of the implementation was not something the client wanted to deal with long term
  • The original plan the client had for the My Site, while useful, ultimately removed a good deal of useful functionality provided by Microsoft
  • There was some concern about "upgradeablility"

So while the we didn't create the highly customized My Site, we still implemented some limited customization that delivered a custom theme, master page and some unique navigation (to tie in the rest of the portal).  We used a technique called "feature stapling" to make that happen and ensure "compatibility" with what Microsoft would like to see in SharePoint implementations.

If you're interested in a really good set of explanations of both the My Site architecture, see a blog entry from Mark Arend.  If you are looking for the best practice approach to modifying the My Sites, see the SharePoint Product Team's blog entry.

16 March 2008

Portals: Build it and they may come, but they won't know what to do when they arrive...

Many of our customers ask how they can spur adoption of new portal technology.  In cases where the IT department is leading the charge, we see a lot of "build it and they will come" approaches.  In much the same way Kevin Costner's character in Field of Dreams built a baseball field on his farm to encourage ghosts of baseball players to visit and play the game, IT groups hope that by simply exposing portal functionality to their end users, those same users will figure out what to do with it.  The trouble is that most employees are too caught up in their daily tasks to focus on the use of yet another tool, let alone see the opportunities for making their lives easier.

Portals technologies and other "productivity" tools come and go.  There have been lots of them over the years.  The prime example would be word processing software.  Does anyone remember the resistance to computer-based word processing over a typewriter?  Does anyone remember the fights that erupted in the executive offices when word processing centers (that existed in many large companies) were replaced by a far fewer number of individual secretaries armed with tools like the DOS-based Displaywrite word processor (an IBM created word processing packages from the early to mid-80's), WordPerfect or any of the other word processing packages of that era?  Or how about when the concept of an executive doing their own typing was introduced!  <GASP!>

The difference between a word processor and a portal is the number of functions.  More than likely, anyone familiar with a typewriter can guess how a word processing package functions.  And, with minimal fiddling, could probably figure out how to type out and print a document. 

By contrast, portal technologies encompass a number of functions -- some of them not so obvious.  The fact is and remains that IT or any organization pushing the adoption of a portal product, must help their user community.  This help comes in many forms, but here are some best practices for not only helping introduce the portal, but driving usage:

  1. Pick a few Functions that have broad appeal
    Find those one, two or three functions that virtually everyone in the organization needs or wants.  The old term for this is the "killer app."  Effectively it's any feature of the portal that employees will immediately see value in using and something that you can make instantly accessible.  For example. surfacing a phone directory or portions of frequently used applications -- like electronic pay stubs.  The function needs to be something that users "need" to use as opposed to something that they could use (given the imagination to integrate it into their work).  One customer we recently spoke with implemented an employee lookup feature for a single department and it's now the most utilized feature -- by everyone from the mailroom to accounting to the receptionist.   As a result, this one feature is driving usage of the more traditional functions within their portal.
  2. Train, Train and Train -- but do it quickly
    Most organizations miss this basic concept.  They also tend to focus on "all day" or other time consuming "big bang" sessions.  Remember that the portal is supposed to improve productivity, not create a huge hole in productivity.  By taking valuable resources away from their jobs for a day or more to try and consume loads of information, you not only create a down day, but the trainees will inevitably forget everything but the phone directory by the time they leave the session.  Instead deliver training in very small information blocks that take an hour or less.  Again, if we assume that the portal starts with a few key functions, developing training for these functions to fit within an hour or less session is not all that challenging.  If the functions are too complicated to show folks how to use them in that time, rethink the function.  Further, don't stop there.  Embed ongoing "training" into the portal, such that users can get to 30 second to 1 minute "mini-training" sessions on contextual content.  For example, if your portal has the ability to manage documents, embed links to help material literally next to buttons or links for that document management function.  A firm called Portalogiks has a product called "Virtual Training Academy" that contains 60 "modules" that fit this very description.  Their flash/shockwave-based materials are 30 seconds to 4 minute videos that present focused content around one specific function of SharePoint (e.g. how to upload a document).
  3. Communicate Frequently
    One key to adoption is frequent and useful communication with the user base.  Users tend to forget or simply don't know that the portal may house useful functions  or, in the case of SharePoint, new approaches to accomplish the same task (see our blog entry on using SharePoint Search within Office's Research function).  Again, keep the communications focused around one topic that can easily be consumed in short order by your user community.
  4. Flagrantly Encourage Participation
    One of my former managers, Sue Hanley, used to promote the idea of "bribery" for portal users.  Effectively, the portal won't survive without an active content contributor community and a broad consumer base.  Since the challenge is really a "chicken or the egg" problem, you should consider developing programs that encourage both the consumer and contributor communities.  In spirit of bribery, creating contests with prizes or a simple "gold" star program will help motivate both groups.  What works for your organization will probably be different from other firms, so do a little research and experimentation to figure what sells -- we've seen everything from lunch in the executive dining room to additional vacation days to iPod/Zune giveaways.
  5. Make Incremental Improvements
    For a whole host of reasons, the big bang (rolling out all features at one time) approach simply doesn't work.  By contrast, introducing a new portal with a small set of core, broadly used functions tends to get the ball rolling.  However, without continued improvement, usage will fall quickly (or simply stagnate).  Instead, ensure that the portal continues to expand and grow.  This means not only in terms of functionality, but also approach.  There's a really good chance you won't get it right first time around.  Make sure that you become comfortable with changing how and what you're doing within the portal to keep up with feedback you're getting from your user community.  We typically recommend to clients that they make changes at least once a quarter, but no more than once a month.  This keeps any improvement scoped for a successful rollout and at a comfortable "consumption" interval, such that your users are not overwhelmed by changes.
  6. Measure and Measure Again
    Don't guess at the portal's success, make sure you establish success criteria and gather both quantitative and qualitative data.  Use this data to continually evaluate if you're hitting your goals.  As the portal matures these measures will change, but do not become complacent.

While this list contains just six best practices, they are probably the most frequently ignored.  And, obviously, these best practices represent only a segment of what you should be doing  overall.  However, from what we've observed, just doing these six things well will vastly improve your overall success.

06 March 2008

SharePoint Conference 2008

I just finished my time at the 2008 SharePoint conference in Seattle (admittedly a little early).  By all accounts, this conference was well attended with over 3800 participants.  Keynotes at the conference were given by Bill Gates, Kurt DelBene and three-time Tour de France winner (and first non-European winner) Greg LeMond.  In addition there were a whole slew of sessions on everything from Search Server 2008, Branding SharePoint and Microsoft's latest technology acquisition search vendor Fast.

Most significantly, Microsoft made a few announcements/general statements -- some surprising and some expected:

  • "Cloud" Strategy
    Microsoft is making a commitment to introduce managed SharePoint and Exchange services to a broad range of organizations.  Up to now, only firms with 5000 or more seats could participate in their managed strategy (primarily because they were testing and hadn't worked out a multi-tenant approach).  During the conference Bill Gates and Kurt DelBene (Senior Vice President, Office Business Platform Group) announced that they are introducing multi-tenant (more than one client on a "box") managed services for both Exchange and SharePoint (in addition to rolling in LiveMeeting).  Both services will also enable single sign-on, so that historical issues with multiple authentication prompts should be a thing of the past, and a provisioning workflow for both sites and users.  Ultimately, the strategy seems to create an offering where clients can get an "enterprise" experience, where users can leverage a full compliment of traditionally on-premise applications -- like Exchange, SharePoint, Live Communications Server -- through the cloud.  Based on the demo they showed it looks promising.   You can read more here.
  • SharePoint-like Lists in SQL
    One of the more surprising announcements by Bill Gates was a suggestion that the next version of SQL may contain a SharePoint list-like construct within a table.  Taking that a step further, it may also be possible to directly link a SharePoint list to a single table!  After speaking with some of the product team members, I think this announcement was a bit premature (they appeared to cringe when reminded of what Bill had said during his keynote), but I'll be interested to see how both SQL Server and SharePoint progress in the next release.
  • Office Online
    While the executives stopped short of saying "we're going to give you Office over the web," they hinted we could be seeing versions of some of the Office suite products being offered over the web -- in thin-client form.  Never one to shy away from a good dig, Bill Gates took aim at Google's "consumer" centric approach, offering that they're (Google's) online productivity products aren't ready for the enterprise.
  • Visual Studio 2008 compatible Extensions for SharePoint in June
    One source of frustration is the constant marketing of VS 2008 improvements over 2005, but a complete lack of support for SharePoint projects (with the exception of workflow).  Product team members were on hand to assure everyone that the extensions are coming, with cool enhancements over the current 1.1 release for 2005.  They estimate these extensions will be available by June of this year.
  • Fast Search Integrated with SharePoint
    What was both disappointing and encouraging, Fast has folks onsite to discuss their work to integrate with SharePoint.  The downside was that it felt more like a marketing pitch than a "real" discussion regarding how they were going to enhance SharePoint.  That said, they did demonstrate some of the key advantages of their tool, in the SharePoint context.  In addition, they demonstrated some admittedly very slick Silverlight-enabled search result/interaction controls.  They also demonstrated a search-centric personalization approach with faceted navigation that was novel, even if it was not entirely new.
  • Browser Compatibility and Accessibility 
    This is less of an announcement and more of what should be a red-faced admission that SharePoint isn't as cross-browser compatible as anyone would have hoped, nor as accessible.  While 2007 is vastly improved over 2003, there are still pretty significant issues on both front.  In both cases, the product team assured everyone that this was a priority for vNext (Office 14/2010ish).  As a short term fix, they're pointing people to Telerik for their "upgrades" to the rich text editor, blog editor and wiki editor.  For accessibility, there's  a "toolkit" (developed with HiSoftware), to help with the accessibility aspects.

Beyond the announcements, the conference was full of the usual information sessions.  Microsoft seemed to have a good mix of services partners, ISVs and  Microsoft employees (both Microsoft Consulting Services and product team folks).

I was able to attend a number of sessions, but was generally dismayed at the lack of real depth or new material.  As mentioned earlier, the Fast search sessions were only slightly better than marketing pitches for their software.  Sessions on best practices rehashed the same stuff that virtually anyone in this space would know and has already heard a dozen times. If you had attended the previous SharePoint conference, it seemed like many of those sessions were repeated at this event (more than a year later).  And, in what seemed like a bizarre event, other attendees reported that in one session, two speakers began to disagree with each other during their presentation and  the talk degraded into unintelligible babble.

There were a few bright spots however.  The sessions on the new Search Server 2008 struck a nice balance between technical detail and actual usage.  Customers like EasyJet and Chesapeake Energy did a good job of relating how their SharePoint implementations progressed and the value that they received (a similar presentation by Best Buy for Business was less interesting though).  Finally, the session on the latest version of the Community pack for Wikis was quite interesting, if only to demonstrate how SharePoint can be extended beyond it core competencies, as well as the community support behind the product.

In all, the conference wasn't a waste of time, but I would have preferred better material.  I would have liked to have seen deeper material around all of the topics (in fact for developers, the Office Developers Conference earlier this year in San Jose was the place to be).   Better titles for some session would have also helped -- a sessions titled "My Content is in SharePoint, now what" sounded like it would have been about adoption or user experience, but really ended up being about securing content.  A good topic, to be sure, but poorly "branded." Finally, the best practices session is something everyone wants (the room was packed), but they should have focused more on the specific challenges in running a SharePoint implementation like: provisioning (the explosion that can occur), the challenge around taxonomy development, when to create site definitions vs. site templates, how to train users, dealing with varying levels of Office and so on.

If you were at the conference, I'd love to hear your feedback.  Like it?  Thought it was a waste of time?  Were there particular sessions that piqued your interest?

01 February 2008

Simple SharePoint Backup Routine

Like many of our clients, Consejo uses SharePoint to collaborate -- both with our clients and amongst our employees.  As a result, it has become a critical service to maintain -- thereby making it critical from a business continuity planning perspective as well. 

Recently a number of clients have all asked the same question:  how can we easily create backups of our SharePoint sites so that we can restore them in the event of a disaster?  While there are some good backup options built into SharePoint and some commercial vendors like AvePoint that provide backup and restore solutions, there are some relatively simply approaches that will provide baseline protection in the event of a disaster.

To begin, you should really read this post from Microsoft's SharePoint Developer Documentation Team blog on the various backup mechanisms and elements that need to be protected.  The blog entry does a great job of highlighting all of the moving parts, but doesn't provide a straightforward approach to getting the basics.  What we've tried to do, below, is provide you with an easy mechanism to automate and schedule backing up SharePoint site collections.  These backups can easily be restored in the event of a disaster.   To be clear, this approach is kind of the sledge hammer approach for site collections only and may not be right for the needs of individual sites.  However, this represents the very least you should have in place for your SharePoint environment.

NOTE:  The backup process described will backup only the site collections specified in the backup routine.  As the Microsoft article suggests, there are a lot of other parts to a SharePoint environment.   When designing your complete disaster recovery/business continuity plan, please ensure you have all of your bases covered.

Identifying the Site Collections

Depending on the type of SharePoint environment you have, your complete SharePoint environment will have one or more site collections.  When using the approach illustrated in this post, you must backup each site collection separately (or include them in a single job).  In any event, you should inventory the various site collections you want included in the backup routine.  If you're unsure what collections exist, you can look them up in the Central Administration tool by going to the Applications tab and clicking on the Site Collection List option under the SharePoint Site Management category (show in figure 1-1).


Figure 1-1 The site collection list for a given SharePoint application

If the site collections that appear aren't what you expect, make sure that you've selected the right web application, using the drop down list just above and to the right of the site collection list.

If you have found the right set of collections, take note of all the ones that are important to include in your backup routine.  You'll need the URLs to each of the collections.  Because you can have multiple collections off of the same web application, SharePoint may only show a relatively URLs; make sure that you know the full-qualified URL for this backup process.

Creating and Automating the Process

To create some basic automation and logging, we're going to create a CMD file that contains all of the commands necessary to use the STSADM command-line utility to backup one or more site collections and add some basic logging to a text file.

CMD code

The code in the CMD file should contain at least the following:

@echo off
echo --------------------------------------------------------------------- >> SharePoint_backup.log
echo SharePoint Backup Began >> SharePoint_backup.log
date /t  >> sharepoint_backup.log
time /t >> sharepoint_backup.log
"c:\program files\common files\microsoft shared\web server extensions\12\bin\stsadm" -o backup -url [URL TO YOUR SITE COLLECTION] -filename [PATH TO BACKUP FILE] -overwrite >> sharepoint_backup.log
if errorlevel 0 goto finish_backup
echo An error has occured and the backup did not complete properly >> sharepoint_backup.log
goto end
echo The backup completed successfully >> sharepoint_backup.log
echo SharePoint Backup Finished >> sharepoint_backup.log
date /t >> sharepoint_backup.log
time /t >> sharepoint_backup.log

Keep in mind that the code contains bracketed text (like [URL]).  This bracket text should be replaced with settings specific to your environment, like the URL to your site collection or the path to your backup file.

Once you've made the modifications to your specific site, save the file to a directory on your SharePoint server; keep in mind that the log file will be written to the same directory and will collect entries over time.

Before proceeding, I would recommend testing your finalized CMD file to ensure it operates as you expect.  Once it does, proceed to the next step.

Scheduling the CMD File

There are a number of ways to schedule a process to run on a server, but Windows has a built-in scheduling system that you can use for this purpose.  The service is the Windows Scheduled Tasks.  A scheduled task can be created and run on a specific period and within the context of a given user.  To create the backup scheduled task, using the following instructions:

  1. Open up the Windows Control Panel
  2. Click on Scheduled Tasks
  3. Click on Add New Task
  4. The Scheduled Task Wizard appears

  5. Click Next

  6. Click on the browse button and locate the CMD file you created earlier
  7. Now name the task and choose the schedule as shown below

  8. Click Next
  9. Enter the credentials for the user that the system will use to run the task.  In this example, we're using the Administrator account, but you should choose a user with the minimum privileges necessary to complete the backup.   Keep in mind that the user must have access to both the SharePoint site collections and the file system.

  10. Once you click next, the final confirmation dialog will appear; simply click Finish to schedule the job.

To confirm that the job runs as expected, you can reopen the Scheduled Tasks option in the control panel and right click on the new job.  From the context menu, pick RUN.

After you have your job scheduled, your SharePoint site collection(s) will be backed up every time the job runs.  I would recommend at least once every 24 hours.


  1. When I developed this routine, I made the assumption that you will get a full backup on the specified site collections every time the job runs.
  2. The backup files are overwritten every time the job runs, so if you want historical backups, you'll need to develop some process for making a copy of the resulting backup file elsewhere.  Ideally, you could move the backup file to tape or another file system once the SharePoint backup is complete.
  3. This backup process will backup all of the data and the security settings.  In the event of a disaster, the security context may not be the same when the site is restored.  For example, the domain used by SharePoint may change in the new environment.  As a result, you'll have to set the owner of the site through Central Administration to the new user ID who will control the site.  Then, you must grant the appropriate users in the new domain access to the SharePoint site collection.  This can get complicated if you use a lot of item or container-level security (e.g. sites within a collection or lists/libraries within a site don't use inherited permissions).
  4. The text file that holds the log entries can fill up quickly over time.  Make sure someone is reviewing that file periodically to ensure it does get too big AND that the backups are completing successfully.

I'd love to hear your feedback on this approach and/or whether this was helpful to you. 

25 January 2008

REVIEW: Insignia Bluetooth Stereo Headphones

While I typically don't like to post consumer product reviews on our corporate blog, this one is different... really.

As a developer, I have fallen prey to what appears to be a stereotypical developer behavior -- listening to music while coding.   Whether it's a behavior picked up through "peer pressure" or my own personal inability to focus without some sort of constant noise to block out my surroundings, I don't know.  However, listening to music has become critical.

In addition to my music listening, I have also begun to extensively use Skype.  Over the last two years, Skype has become an indispensable tool for all Consejo consultants to communicate with each other and our clients -- whether through VOiP, IM or file transfers; Skype just works. 

As a result of all of these uses of audio with my laptop, I began searching for a decent set of stereo headphones that had an integrated microphone.   For me, I was specifically looking for something that had the following characteristics:

  • Stereo headphones that produced good quality sound
  • Integrated microphone that could be used with Skype or other audio recording tools
  • Wirelessly attached -- I've tried wired headphones and they're just inconvenient
  • Long battery run-time -- I looked for something that had more than a continuous 8 hour run-time (tough to find)
  • Rechargeable via a USB cable
  • Rechargeable via AC cord
  • Reasonably priced.  For me, this meant under $100.

Although I found a number of candidates, most had short runtimes, were too bulky to fit in my laptop case (since I travel extensively, this was also key) or were too expensive.  Ultimately, I found the Insignia brand Bluetooth-attached headphones at Best Buy.  At $49.99 and a 10 hour run-time, they fit the bill.

Figure 1 - Insignia Bluetooth Headphones (model: NS-BTHDP)

I have been using these headphones for about three months now.  In that time, I've never run the battery totally down.  In addition, they can pair with more than one Bluetooth device (e.g. my computer and my cell phone), making it possible to listen to music and, when a call comes in to my cell phone, switch to that device and then switch back when the call has completed.  

Beyond all of this, here's what I really liked about these headphones:


  • Decent run-time. 
    My experience is that they easily last a full eight hours of continuous use, but will likely last longer.  In addition, should the batteries start to run down, you can have the headphones simultaneously connected to a USB port and continue to list simultaneously.  The cord defeats the wireless nature of the unit, but at least you can keep using them while they recharge.
  • Multiple Device Pairing
    The headphones can pair with more than one device.  I'll typically pair the headphones with my cell phone and my computer.  This allows me to take calls on my mobile phone and listen to music without having to switch listening devices.  It may seem trivial, but given the number of calls I get throughout the day and the fact that when I'm not talking on the phone, I'm usually using my laptop, switching between headsets is really inconvenient!  One other advantage is that the A/V control profile on my laptop will pause Windows Media player when a call comes in and resume music play once I disconnect the call.  As a side note, my cell phone is a Samsung BlackJack, I've also used the headphones to listen to music on that device as well; it works very well.
  • Controls on the headset
    The headphones have audio control controls right on the headset.  Volume, connect/disconnect, play/pause, track selections and power are all conveniently located on the right headphone.  It took a bit to get used to the location of the controls, but once my muscle memory kicked in, I was able to control both my phone and my laptop without too much trouble.
  • Range
    I have been very impressed with the range.  Bluetooth is supposed to be good for up to 33 ft and I have, on many occasions, used all of that range plus some.  Whether this is a consequence of my laptop's ability to transmit or the headphone's ability to receive I don't know.  In fact, (for better or worse) it seems that the connection is either there or not; there's no graceful degradation in sound quality as I move away from my laptop  -- when you get too far away, the sound stutters and then ends.  I regularly use the headphones on my laptop in the basement of my home (where my home office resides) and walk up to the first floor without an interruption in sound.
  • Price
    At $49.99, the headphones are a real bargain.  I had originally thought about buying the Motorola Rokr stereo Bluetooth headset at $99, but with only a six hour run-time, I didn't think they'd fit my work schedule.
  • Comfortable and Light
    The headphones are only 2.8 ozs and are very comfortable to wear for long periods.  I've not had a huge success in wearing most headphones for long periods -- most  are either too tight or too loose and become very uncomfortable after two to three hours.  I've worn these for four hours or more without a problem.  That said, everything eventually becomes uncomfortable and I'm often glad when I can take them off.


  • Microphone Sound Quality
    The microphone in the headphones is built in to the right ear piece.  There's no boom and it seems like it picks up more than its share of the surroundings background noise.  It does work reasonable well, but it's not as good as a dedicated wireless headset.
  • Profile Madness
    Whether it's a consequence of my laptop's Toshiba Bluetooth module, the driver or simply "the way things work," I can't use the headphones as headphones with a mic on my laptop.  In order to use the mic on my laptop, I needed to create two profiles -- one for dedicated headphones (no mic) and one as a headset (with a mic).  I would probably be content to listen music in "headset" mode, except the sound quality takes a dive in this mode (sound quality is noticeably fuzzy).  For this reason, I tend to use the headphones paired with my mobile phone for conversations and my laptop for music, unless I'm going to use Skype extensively.
  • No Convenient Carrying Case
    As I mentioned earlier, I travel a great deal.  As a result, I rely on my laptop case to contain all of the equipment and supplies I need to haul around from client to client.  As it is, my case weighs in at around 25 lbs (with all of my gear).  It's become quite packed and space is at a premium.  In addition, because of the amount of stuff, everything is packed tight and when the bag is tossed (thrown into a rental car seat or shoved under an airline chair), items inside the bag are crunched.  For these reasons, I wanted to protect my investment by buying something that would keep them safe while occupying minimal space in my laptop bag.  Unfortunately, a quick search around the Best Buy did not yield a suitable option.  In fact, Best Buy does not sell any sort of case for them at all.  After looking for about 20 minutes, trying everything from a CD case to a camera case, I couldn't find a good solution.  As a result, I've been carrying them around, precariously floating around the inside of my bag.  So far, nothing has broken, but we'll have to see after a year...
  • Difficult pairing with a iMAC
    I happen to have both iMAC (PPC not Intel-based) and Windows machines in my office.  The MAC is primarily used for testing, but I do have Skype and some other common services (like e-mail) configured on the machine.  I've had difficulty pairing the headphones with the MAC and have not had success (once paired) getting them to work.  Looking through some discussion boards leads me to believe I'm not the only one.  However, I'm not committed enough to spend time trying to fix the problem. 

So, in short, if you're looking for a pair of decent, reasonably priced, wireless headphones, you should consider the Insignia NS-BTHDP.   If you have them, I'd love to hear your feedback as well.