Thursday, October 29, 2009

Updated: Building a SharePoint 2010 Service Application #sp2010

A few weeks back, I wrote a series of three articles on the topic of building SharePoint 2010 Service Applications. Today, I have updated the source code for these articles to include Powershell cmdlets for provisioning, retrieving and updating the demo service application from the command line.

The three articles and a link to download the source code solution can be found on the SharePoint Solutions' community site:
Part One – The Service Application
Part Two – The Service Application’s Admin Interface
Part Three – The WCF Service Endpoint
Part Four – The User Application Page

Tuesday, October 27, 2009

Take 2: Lists as Native SQL Server Tables in SharePoint 2010? #spc09 #SP2010

Last week, while at the SharePoint Conference in Las Vegas, I wrote a blog post on being disappointed that SharePoint 2010 does not seem to include a critical feature promised by Bill Gates and Tom Rizzo in their keynote speech at last year's (2008) SharePoint Conference.

The feature promised was a one-to-one relationship (as needed for specific applications) between a SharePoint List and a native database table (SQL Server, Oracle, etc.). I explain in my first blog post why I think this is an extremely important feature to have.

Turns out that this feature IS included in SharePoint 2010! It is just that it did not receive the level of coverage in this year's keynote speech that I was expecting based on the expectation that Microsoft built up in last year's keynote speech. So, I missed it even though I was sitting in the audience during last week's keynote.

I discovered that the new feature exists (and truly looks outstanding) after getting back home and starting to watch some of the recorded breakout sessions that I didn't get a chance to attend.

The specific new features that enable this are named External Content Types and External Lists. These two new features fall into the overall category of the new Business Connectivity Services feature-set of SharePoint 2010.

The way this works is that you can now create (using SharePoint Designer 2010 or Visual Studio 2010) External Content Types which are really just a definition of an external database table (or web service). Once an External Content Type is defined for the external database table, an External List can be created (using the SharePoint 2010 browser UI, SharePoint Designer 2010 or Visual Studio 2010). The External List behaves just like any first-class List in SharePoint 2010. Anything you can do with a native List in SharePoint 2010 (workflows, permissions, views, etc.) can be done with External Lists.

But, the data that is displayed and stored for an External List is not stored in the SharePoint 2010 content database. The data in the External Lists lives in the external database table - and, only there. Therefore, if it is updated by a non-SharePoint application (think an ERP system or CRM system for instance), the data that is displayed in the SharePoint External List will update immediately.

This is totally different from the way the MOSS 2007 Business Data Catalog worked. In the MOSS 2007 BDC, the business data brought into SharePoint was stored in a List column(s) in the SharePoint Content Database. So, if the data changed in the external database, the values in the corresponding SharePoint List did not get updated immediately.

Futhermore, in the MOSS 2007 BDC it was not really possible to update data in the external database from within SharePoint. With External Content Types and External Lists in SharePoint 2010, all of that has changed. If you change a value of a column in a SharePoint 2010 External List, the new value is immediately written to the external database.

The last, but certainly not the least, important announcement is that External Content Types and External Lists are "baked-in" to SharePoint 2010 Foundation (the new name for WSS 4.0). This means that all of this goodness is now available to any organization that chooses to use SharePoint 2010, regardless of whether you are using a free or premium version of SharePoint.

Very exciting!

Tuesday, October 20, 2009

Lists as Native SQL Tables in SharePoint 2010? #spc09

Even after today's keynote speech by Steve Ballmer and Tom Rizzo, I am wondering if this got included in SharePoint 2010?

I expected it to be one of the big announcements, but heard nothing about it. I also have seen nothing to indicate that it got added as I have played around with the Technical Preview version that we have had and were under NDA until today.

Why was I expecting this to be one of the big announcements? Only because at the SharePoint Conference in 2008 in Seattle it was promised at the keynote by Bill Gates and Tom Rizzo (the Director of SharePoint at Microsoft).

Why am I so anxious about this feature being included? The reason is that the guts of SharePoint (including document libraries) is built 100% on SharePoint List technology. And, it is the limitations of SharePoint List technology that has held back the possibility of porting thousands of applications around the world to SharePoint. What Gates and Rizzo talked about in 2008 seemed to open the door for the possibility for the bread-and-butter line of business (or vertical market) applications that are prevalent in industry after industry, to be ported to SharePoint.

Why would anyone want this to happen? Well, from a user perspective, in many organizations SharePoint and the Office client applications have been slowly but surely becoming the business application operating system - the way that Windows became the business application operating system many years ago. A big chunk of daily tasks now get done by rank and file users that are primarily using Office and SharePoint to get them done. Isn't the next logical step to port the line-of-business applications that they use to be native SharePoint applications in order to provide the best user experience?

The problem to-date is that there is not a one-to-one relationship between a SharePoint List and a native SQL Server table. Instead, there is a single (as in one) native SQL Server table that contains all of the list data for all lists in a SharePoint site collection. (In organizations that have SharePoint implemented in a single site collection, that means all field, row and list data is contained in a single SQL Server table.)

Most database-oriented people that have worked with SharePoint for a few years know that this is the case, but it is not something that is widely discussed and many newcomers to SharePoint don't know about this fact. So, just to drive this home, if you are in an relatively small organization that has say 75 sites in a site collection and an average of 6 lists in each site (task lists, announcement lists, links lists, etc, etc.) and an average of 60 rows in each list, that means that all of this data, a total of 27,000 records are all stored in a single SQL server table. Therefore if you assumed that the 450 lists in your site collection represent 450 SQL Server tables, you would have assumed wrong. All the rows for all 450 of these lists are stored in a single SQL Server table that just continues to grow and grow as you add more lists and rows.

Imagine what this SQL Server table looks like at a large multi-national corporation for one of their site collections? There might be millions and millions of records in this SQL Server table.

The bottom line to all of this is that SharePoint Lists are abstracted from the native SQL Server database. In other words, no matter how many lists you create and how many columns and records you add to them, all of that data is stored in a single SQL Server table that only SharePoint has the permission to write to directly.

Of course, this defies all of the rules of architecting fully normalized database structures. But, when SharePoint was conceived, Lists were not envisioned as being used just like relational database tables. The thought was that SharePoint Lists were just a better way to do everyday data tracking activities that users had previously relied on Excel spreadsheets for. Therefore a single table that is not normalized would be OK for SharePoint List data.

But now, the user interface of SharePoint has become so popular and the richness of the common SharePoint feature-set so powerful, that users are wanting more. Why shouldn't application developers be able to develop native relational database applications using SharePoint as the platform? Only one major reason that I can think of - SharePoint Lists are not available as native SQL Server tables that can support complex relationships, triggers and a host of other important functions that are needed to develop powerful database applications.

That gets me back to where I started. Is this feature (option to have native SQL Server table for a SharePoint List) really in SharePoint 2010 and I have just missed it? So far, I can't find it - and Bill Gates is now retired :( .

Important Update: New information related to this feature can be found in this new blog post. It definitely looks like the feature has been included in SharePoint 2010 - it just wasn't very apparent!

Wednesday, October 14, 2009

SharePoint Conference: Theater Sessions at Our Booth + Ipod Nanos

We will have our team and a large booth at the SharePoint Conference next week in Las Vegas. We've designed the booth this year with a mini-theater area (50" plasma, sound system, chairs, etc.) so that our experts can conduct short sessions on topics that we feel we have a special perspective on.

We plan for these sessions to be short (approximately 15 minutes) and on a very specific topic. So, if you are in the exhibit hall and want to take a break from swag hunting for a few minutes and see a quick presentation delivered by an expert on the topic, we invite you to stop by. Like I said, this is a "mini" theater, so don't expect a big area that will accommodate hundreds. We'll have a half-dozen seats available and then standing room for another 10 - 12 people.

You should be able to easily find us as we will be right next to the Microsoft Pavilion where Microsoft will have lots of individual stands demonstrating various features in SharePoint 2010.

Here is the schedule we are planning for right now:

Sunday Evening, October 18:

6:15 - 6:30, "Top 3 Best Practices for Deploying SharePoint on the Extranet"

6:45 - 7:00, "Easy SharePoint Extranet with Extranet Collaboration Manager"

7:15 - 7:30, "Outlook Email and SharePoint Integration with WISDOM Message"

7:45 - 8:00, "SharePoint Designer Workflow Series: Looping Through SharePoint Lists"

8:15 - 8:30, "Automating and Controlling Your Site Request, Creation and Permission Process"

Monday Afternoon, October 19:

4:00 - 4:15, "Souping up SharePoint for Document Management: WISDOM DMF"

Tuesday Afternoon, October 20:

4:00 - 4:15, "The New SharePoint Help Community Website"

Wednesday Afternoon, October 21:

4:00 - 4:15, "After One Year with MOSS for the Internet: Lessons Learned From"

Wednesday Evening, October 21:

5:45 - 6:00, "Expert Opinion: The New Workflow Features in SharePoint 2010"

6:15 - 6:30, "Expert Opinion: Impact of SharePoint 2010 on Extranet Deployments"

6:45 - 7:00, "Expert Opinion: Usability Improvements in SharePoint 2010"

In addition to these sessions, we will always be available (when the exhibit hall is open - which, unlike previous years, is most of the time) to talk and do one-on-one demos.

Finally, we will be giving away one of the new 5th Generation Ipod Nanos (the new one that comes with an integrated video camera) each day. All you have to do to get in on the drawing is come by the booth and let us scan your badge to enter you.

If you are attending, make sure to stop by and say hello! Looking forward to seeing everyone at the conference!

SharePoint 2010 Training is Coming!

In preparation for the SharePoint Conference next week, on our website we've outlined our plans for offering SharePoint 2010 training.

The short version of the story is that we have already started working on a full lineup of SharePoint 2010 courses that will be targeted at a variety of audiences such as: IT Administrators, IT Developers, IT Managers, non-IT Managers and non-IT Users.

Furthermore, one of the courses, "SharePoint 2010 Skills Upgrade and Planning" will begin to be offered in December (assuming the public beta of SharePoint 2010 is released sometime in November.)

This new SharePoint 2010 course will be offered 1 - 2 times per month at different locations around the US and online. It is being designed by, and will be taught by, our most seasoned SharePoint instructors/consultants. It will be targeted at IT Professionals and non-IT Project Leaders who will be responsible for planning out the SharePoint 2010 adoption strategy for their organization.

If you would like to be notified when we release new information about our SharePoint 2010 training classes (such as course outlines, dates, locations, etc.), I encourage you to visit this page.

We're getting excited about SharePoint 2010 and are looking forward to offering a new slate of classes!

Friday, October 09, 2009

WSS as a platform for public-facing, anonymous-access Internet websites

As I mentioned in a post last week, our public website is a MOSS-based site and we are celebrating its first birthday this month (We launched it on October 1, 2008. Prior to that we had a standard HTML website since 2003.). For the most part, we are very happy with our decision to launch our new site on MOSS.

Reality is that there aren't that many companies that can afford to pay the licensing costs to have their public Internet running on MOSS. The stated retail price for MOSS for Internet Sites is $41,134 per server.

So, if you are running a couple of load-balanced servers for your Internet site, you are looking at around 80k to license MOSS for Internet Sites for them. The only piece of good news here (financially speaking) is that this gives you unlimited anonymous user access - so there are no CALs to buy. (In case you are wondering, since we are Microsoft Gold Partner, we get our licenses as part of the Gold Partner program and pay much, much less than this - otherwise, we wouldn't be able to afford MOSS for our Internet site.)

So, what are you to do if you want a SharePoint-based Internet site? Well, it is not all that widely publicized, but several businesses around the world have figured out how to do this quite nicely with WSS only. And, more importantly, there are no (zero) SharePoint licensing costs if you do it this way.

You say, hold on now, there is no way that can be true! First, I don't believe that you can develop a really polished public site with WSS!

Well, I am not going to argue about this using words. Instead, I am going to point you to some examples that I think prove differently. All of these sites are built using WSS 3.0: (check out this page for how they did it)

There are more out there, but these are four that I particularly like.

OK, if I have convinced you about the viability of developing a public website using WSS 3.0, what about whether or not I have my facts straight about the no-cost for licenses?

First, in case you don't already know, WSS 3.0 is a free add-on to Windows Server 2003 and Windows Server 2008. If you have Windows Server licensed properly, you don't have to pay anything else for WSS - period. This is a pretty commonly known fact so I am not goint to bother hyperlinking to any proof of it.

Second, there is a very popular and well-respected Microsoft (as in, employee) architect in New Zealand, Ian Morrish, who blogged about this in March of this year. Here is the link to his blog post: Make sure and read the comments at the bottom of the post, because Ian says the following in response to a question about whether this is "legal" or not:

Ian says:

"It is legal. If you are using full SQL server then SQL Server must be per-proc licensed but the built in DBthat comes with single server WSS is free. If you want to authenticate Internet users then you only need the Windows Internet licence which is cheap compared to MOSS for Internet license."

The Windows Internet license he mentioned (its formal name is Windows Server External Connector license) is required (but, according to Ian only if you want to authenticate external users - which most Internet sites don't), but it is a Windows Server licensing add-on, not a SharePoint license. Again, as long as you have Windows Server properly licensed, there are NO additional licenses required for WSS in any scenario. WSS is truly a free add-on to Windows Servers.

I know at this point you are wondering what is the cost of the Windows Server External Connector license if it turns out I need it? Well, according to this page on Microsoft's site it retails for $1999 for Windows Server 2008 (scroll down towards the bottom to find it). This license is purchased per server. So, if you have a two server farm for running your public website and you want to use WSS as the platform, the retail license cost to get you there would be $3998. Furthermore, this will allow unlimited external users to access your website.

Now, I am not saying that WSS is as good as a platform for public websites as MOSS is. PLEASE, don't hear me say that! MOSS has some great features that make it very, very nice as a web content management system. WSS does not include these features at all. One of the biggest of these features is the publishing subsystem that allows you to decentralize content authorship for different portions of you website. It includes a robust approval system so that approver's can be assigned to review authored content before it goes live. WSS does not have this same level of functionality.

But, for those companies where MOSS is simply not an option due to the cost, it certainly appears that there is evidence that WSS 3.0 can be used successfully as an extremely low-cost platform for building Internet sites.

I'd say that right now WordPress is probably the most popular open source platform for building high-quality websites. If you thought WordPress is only for blogging, you thought wrong. There are thousands of websites around the world running on WordPress (here is a good example). I like WordPress a lot, but I think WSS 3.0 is a very capable website platform as well and would definitely evaluate both of them if I were setting out to build a new website.

Monday, October 05, 2009

Updating SharePoint Profiles from ASP.NET Profile Data

Becky Bertram has published a nice developer guide on how to update SharePoint profile data from ASP.NET profile data. I wanted to make sure our customer's saw this post, so here's a link:

Updating SharePoint Profiles from ASP.NET Profile Data

Nice article Becky. Thanks for posting it.

Thursday, October 01, 2009

MOSS for Internet and 301 Redirects

We've been using MOSS for our public Internet site for SharePoint Solutions for almost a year now. We have a very broad range of products and services, and therefore our site is what I would categorize as "moderately" complex. It takes work every day to keep all of the content fresh, do a good job marketing our products and services, and enhance usability. If you are reading this and your title is Webmaster and that is your full-time job, you know exactly what I am talking about (regardless of whether you are using MOSS or Drupal or something else).

As you may know, MOSS 2007 is version 1 of the web content management features of SharePoint that really make SharePoint a viable platform for a public-facing Internet site. Microsoft had a previous product designed for this purpose, Microsoft Content Management Server, which was retired with the release of MOSS 2007.

We like MOSS 2007 as a content management platform for a public Internet site, but the fact that it is a version 1 product continues to be evident to us every day.

One example is its inability to natively handle 301 redirects. This may sound like something that is no big deal, but it is a very big deal if you are using MOSS for a public Internet site and care about searching engine optimization (SEO).

The reason is that if you change the URL to an existing page on your site, the major search engines (Google, Bing, Yahoo) will still have your existing page in their indexes and will therefore still display your old URL in their listings until they find and index the new page. If you want them to find the new page and index it properly, the best practice way to do this is by creating a 301 redirect from the old URL to the new URL. This tells the search crawler that you have replaced Page A with Page B and that you would like for it to do the same in its index.

It is critical that the redirect is a type 301, not a type 302. A 301 is a "permanent" redirect, while a type 302 is a "temporary" redirect. According to the experts on search engine optimization (SEO), the search engines honor 301 redirects and will update their indexes accordingly, but they do not honor 302 redirects.

Getting back to MOSS and 301 redirects - there is no way to natively redirect one page in MOSS to another page and return a 301 permanent redirect status to the requestor (be it a human or a bot). Several people have offered up custom developed code to do this, but there is no consensus on whether any of these is really a good solution or not. Even if one of them is, it is still a hack to native MOSS to get a feature that really needs to be supported out-of-the-box in some user-friendly way because changing URLs is something that the average content manager is going to need to do quickly and easily from time to time over the life of a web site.

Interestingly, MOSS does offer a native and easy way to achieve a 302 temporary redirect. If you are using the Publishing Sites feature (which is what most MOSS public Internet sites use), you can enable a "Redirect Page" content type in your publishing pages libraries. This is an out-of-the-box content type, that will allow you to create a page that has a property that allows you to enter a URL to redirect to. From a live visitor standpoint, this certainly gives you a way to easily redirect from an old page to a new page. But, from a search bot standpoint, it doesn't do anything for you at all.

So, what is the solution? Well, first, I am hoping that something has been added to SharePoint 2010 to allow a content manager to create a 301 redirect from the user interface. Guess I need to add that to our list of what the community is hoping will be in SharePoint 2010.

In the meantime, the two different categories of solutions that I have been able to find are:
  1. Use custom code to enhance your MOSS for Internet implementation to be able to return 301 redirects (here is one example), or
  2. Use "URL re-writing" technology with IIS to accomplish this (for IIS6 here is an example, for IIS7 there is now native capability to do this). This technology will allow you to set up a map of old URLs to new URLs and then it will return 301 permanent redirects to requestors.
In my mind, neither of these is a great solution given the fact that the whole idea behind a web content management system is to put the power to maintain the website in the hands of non-technical content authors and content managers. Option 1 requires programming, which these folks can't do. Option 2 requires access to the web front-ends and configuration of IIS-related settings, which these folks probably can't do and even if they could would not be given access too.

So, really what is needed here is an out-of-the-box feature to support page-level 301 redirects. Will it be in SharePoint 2010?.........................

Wednesday, August 19, 2009

Souping up SharePoint Document Management

Until SharePoint came along, organizations basically had two choices to manage their documents: proprietary document management software, like Documentum and Open Text (for those of us with deep pockets), and file servers (for the rest of us). But, since SharePoint emerged onto the document management scene in 2003, all of that has been changing rapidly.

There is no question that SharePoint has filled that critical gap in the area of affordable document management. Still, there are significant capabilities missing from the SharePoint document management feature set that growing organizations need, and that those using high-end proprietary programs don’t want to give up in their quest to lower costs.

Here are some basic features that SharePoint really needs in order to shine as a document management platform:

  • Easy navigation from within all of the Microsoft Office programs (Word, Excel, etc.) to open and save files in SharePoint document libraries. A tree-view type of browse dialog that pops up on “Open and Save” is really what is needed. That tree-view dialog should allow the user to locate the appropriate SharePoint document library - ideally in any SharePoint farm, site collection or site that the user has security rights to
  • Full integration of Outlook with SharePoint sites and document libraries, in order to support easy drag-and-drop storage of emails in SharePoint – including capture of metadata
  • Consistent dialogs for metadata capture when storing a document in SharePoint, regardless of the client program being used
  • Preservation of metadata and version history on documents when they are moved from one library to another (using drag-and-drop or copy/paste)
  • Support in Adobe Acrobat and Reader for opening from, and saving to, SharePoint libraries
Really, all of these features are about either A) ensuring that the document management system enables users that work with documents day-in and day-out to be very productive, or B) making sure that the data associated with the documents is accurate and complete. These are just two basic, fundamental objectives of a document management system that SharePoint struggles with out-of-the-box.

Wouldn’t it be great if these features could be added to native SharePoint at an affordable price? The good news is that a software company in Australia, MacroView Business Technology, has been working tirelessly since 2006 to bring these features to SharePoint in the form of a professionally developed and supported, 100% native add-in named WISDOM Document Management Framework (DMF).

WISDOM DMF lifts SharePoint 2007 to the level of the world’s leading players in document management systems. It adds all the missing features I listed above plus many others. And, a WISDOM solution is usually about half the price (or less) of a comparable Documentum, Interwoven, Open Text, Oracle or IBM solution.

We’ve forged a partnership with MacroView, and are now a U.S. distributor and integrator of the WISDOM lineup of products. To see what WISDOM has to offer, check out the overview video below and the WISDOM DMF product page and WISDOM Message (for Outlook) product page on our website.

Training – Whose Responsibility Is It?

Think about these two questions for a moment: How did you get to your current position in your organization? How did you get to your current position in life? Seriously, stop and think about them for a moment before you continue reading.
You probably realized that your present position in your job and life is the result of the education you’ve received up to this point.
teacher_at_computer_and_blackboard Where did you get the education that brought you to this point? It probably came from a variety of sources. Some of it was formal classroom education—elementary through high school and maybe even college. Some of it was things you learned from reading books, trade publications, and even blogs like the one you’re reading now. Some of it was gained by watching others. Some of it was learned through trial and error as you had to solve problems in your life or career.
Where do you want to go next? Do you want a new position within your current company? or perhaps in another company? Do you want more income? Do you want new challenges? In what other areas do you want to grow? Well, I’ve got some news for you…
What got you here won’t get you there! You reached your current station in your career and life because of your current education. If you want to move to some other station, you will need to advance your education first. It is rare that we are given the opportunity to advance to a position where we can learn as we go—we usually need to be “knowledged-up” beforehand. Knowledged-up is my term for learning as much as you can about something—it’s like getting loaded-up, juiced-up, powered-up, or tuned-up except with information. :)
Who is responsible to make sure that you’re trained for advancement in career and life? Well, it depends. It depends on who wants you to advance. If your employer wants to advance, or your employer wants you to advance in an area for the good of the company, then it is the employer’s responsibility. But if you are the one who wants to advance, then it is your responsibility!

I recently had the privilege of working with a gentleman who contacted us asking for a unique type of consulting. The organization he worked for had an opening for a SharePoint Architect and he wanted the position. His company hadn’t asked him to fill the role, he decided that was what he wanted. The company had needs too: someone with the knowledge and expertise to take that area of the company to the next level--the company didn’t have a need to move this individual into the position. Likewise, the company you work for probably doesn’t need you to move into a better position.
This client was already successful in his current position. That provided a good foundation for him, but he realized that what got him to his current position wouldn’t get him this new position. He needed to get “knowledged-up” on a number of things in SharePoint before he would be ready to step into this new position that he wanted. Because of his existing good foundation, he was able to spend a dozen or so hours in web consultations with some of our subject-area experts to fill in the missing information he needed to be qualified for this position.
Needless to say, he got the job. He told us, “Thank you for you and your team's help over the past few weeks!  It put me over the edge in knowledge and confidence.
girl_at_computer_with_open_book What if your employer isn’t willing to seek educational opportunities for you and to pay for your education? This gets back to the question of whose responsible for your education. If you are the one who wants to advance, you will likely need to seek out your own educational opportunities. You may even have to pay for the education out of your own pocket. That’s what this individual did—he will make that up quickly though in the increased salary in his new position! It not only took him to a new position in his company, but also to a new position in his career and life.
What if your employer isn’t willing to give you time off for education? A few days of training can have a bigger impact on your overall life than a few days sitting on a beach during vacation. You may want to consider using a few vacation days to take a training class. Others may relax for a few days and then return to the same job, with the same salary, for several more years while you may take those same vacation days--spend them in a classroom, or even at home in an online class--and earn yourself a new position with a higher salary and exciting new challenges.
Do you need a new degree or specific subject matter education? In these economic times, organizations are more interested in what you can do help them solve particular business problems than they are in your general education. General business education isn’t bad, but businesses need people who can help them automate business processes, give them a strategic advantage through business intelligence, or help their teams collaborate more effectively. In most organizations this type of expertise is needed more than yet one more person with a masters degree. And the best news is this: it takes much less time and money to become proficient in  a narrow subject area than in general business.
Where can you find quality education that will allow you to move to the next level? My suggestion, of course, is our training right here at PremierPoint Solutions. If you’re looking to get started with SharePoint, you may want to consider our SharePoint classes. Also check out the free information in our SharePoint Workflow and SharePoint Extranet Resource Centers.
Regardless of your time or budget, you owe it to yourself to take control of your future and get the education you need. Who knows, after you select the class that is best for you, you may even be able to get your employer to pay for it! :)

Tuesday, August 18, 2009

Being Picky Has Hurt a Lot of Companies When It Comes to SharePoint – Do you have any examples to share?

by Jeff Cate
I think one of the reasons a lot of companies have had so much difficulty with SharePoint deployments and adoption over the past ten years is simply their “pickiness.”  I know this is true because I have seen it over and over again with my own eyes in my role as a consultant and trainer.
The kind of pickiness I am talking about is related to changing the software just because they would like for it to be a certain way or look a certain way.  To many people in enterprise environments this doesn’t seem wrong.  “We are big, we are important, we are complicated, and we have the development resources.  So, why shouldn’t we get it the way we want it?” 

What they aren’t thinking about is:

·         the additional costs that these changes cause during design and development

·         the opportunity costs related to the delay of getting the benefits from SharePoint until these changes can be properly made and tested

·         the opportunity costs related to the other, more important things their development resources could be working on which would benefit the company

·         (the biggest one of all, in my opinion) the hard costs or opportunity costs that result when three years down the road the company either A) can’t upgrade to the new version of SharePoint at all because they modified their existing version so much, or B) have to spend big again to handle a very difficult migration to the new version because they modified the existing version so much.
There is no doubt in my mind that as much as 50% of the organizations that implemented MOSS 2007 are still in this situation today.  MOSS 2007 was a marketing and sales bonanza for Microsoft.  The penetration of the product in the market was huge in the 2007–2009 timeframe.  But a big number of the adopters during that timeframe came out of an era where customizing enterprise software was what every large organization did.  It was unthinkable to try to use enterprise software like SharePoint out-of-the-box.  The prevailing thought was that “our requirements are just not that simple.”

I wish I had a nickel for every time I have had someone at a large enterprise tell me “our requirements are not that simple.” Nine out of ten times what is really going on is that their organization is so screwed up and complicated and the resistance to change is so great that they just start modifying the software to keep the peace in the company.
I can give you an example of this scenario (this one is from SharePoint 2010 – I couldn’t quickly find a MOSS 2007 environment to get one from, but in general, this kind of thing is even worse in MOSS 2007), and you can use my example to judge whether I would think of you as unnecessarily picky when it comes to SharePoint.

Example: Assume you have a site and have granted some users read-only permissions to the site.  You’ve enabled the publishing features on the site and discovered that your read-only users still see the Site Actions menu and the View All Site Content menu option:

This is simply how the software works out of the box.  There is really no harm in it – if you ask me.  Yes, the read-only user can click on the View All Site Content option and see the list of all objects in the site that they have read access to.  What problem does that cause?  I don’t see any.  Does the presence of the site actions menu and this option cause any clutter or confusion for those read-only users?  Maybe some people would say so, but what a minor issue to be concerned about in the grand scheme of trying to have a successful business!
Would this example be a deal breaker for you or your company?  Would you just “have to have this fixed” before you could roll out this site to users?  If so, I would probably think of you as unnecessarily picky.  If you were one of my employees, I would wonder if you are very good at seeing the big picture.  (Incidentally, here is one solution for “fixing” it.  And, if you implemented this solution it would just be one more thing you would have to take into account at upgrade time.)

As a society in the U.S., I think we have evolved into a very picky population of consumers.  Consumer product companies have fueled this fire with their marketing in their never-ending attempt to win the consumer and get a leg up on their competitors.  I think this mentality has spilled over into the workplace and is costing companies a lot of money – especially when it comes to their use of packaged software.  Why not just learn how to adapt to the software as it is instead of modifying it because you don’t like something about the way it comes out of the box?

Do you think I am nuts?  Do you have any good examples of companies that were too picky about SharePoint and it cost them down the road?  If so, I’d love it if you would share them in the comments section.

Monday, August 17, 2009

Getting Something Extra

by Randy Moody
I walked into an ice cream store in Georgia while on a road trip. It was a hot, dusty summer afternoon, and I was feeling parched and ready for something cool and refreshing.

I ordered a single-dip waffle cone. The lady turned around, took a normal size ice cream scoop, and began to cram ice cream into my cone until there was an orb about the size of a softball there. When she brought it to me, I said, “I’m sorry, but I just wanted a single-dip cone.” She responded, “That IS our single-dip cone.” WOW!

Then I tried the ice cream, and it was absolutely unbelievable. “We make it right here in the store,” she told me. They made an enthusiastic customer out of me in just one visit!

I would have been happy with just a “normal” single-dip cone with “normal” quality ice cream. But what I got was something extra – more ice cream and far more delicious than I expected.

Something extra!  Don’t you love it when that happens?

When our students attend our PremierPoint Solutions training classes, they tell us they feel like they’re getting something extra from us:

·         “Ricky gave us a lot of added information that might not normally be covered in this type of class.”

·          “Thank you. I got much more out of your training course than I expected. I will definitely recommend your company to others.”

·         “I expected to learn the ‘course content’ listed on the website, but throughout the course, I gained ‘above & beyond’ knowledge that is invaluable.”

·         “This was a great course! All of my specific needs were met within the first day. The second and third days were just icing on the cake!”

Ready to have YOUR expectations exceeded? Our instructors are ready and waiting to exceed them!

Browse our course catalog for that course that offers the skills you’re looking for. And don’t be surprised if you get more than you expected.

Thursday, August 13, 2009

Reduce Administrator Workload Using Extranet Collaboration Manager for SharePoint 2010's (ExCM) "Site Sponsors" Feature

by Matthew McBride
ExtranetCollaboration Manager (ExCM) 2010 has the ability to greatly reduce the workload on your IT Department by implementing what we call “Site Sponsors.”  Site Sponsors can be either Windows or Forms Based Authentication (FBA) users, and are basically users with some elevated privileges who are capable of managing the Extranet Users for a given site.  Let’s take a closer look at Sponsorship and how it’s configured.

We access the Site Sponsors options under the “Extranet Management” menu located in Site Settings:

From that screen we can see any existing Site Sponsors as well as the options for managing them:

For this blog, we will create a new Site Sponsor.  Let's assume that the AMCE Corporation is a client of ours who uses our extranet to access information important to them.  We will create a new Site Sponsor, a user from the ACME Corporation, and make him responsible for managing all the ACME users who access our extranet.  This is an “extreme” example of Sponsorship (since this sponsor is outside the company), but I believe it illustrates the feature nicely. Now, let’s take a closer look at how Sponsorship is configured.  After “New Site Sponsor” from the ribbon, the screen below is presented:

First, I will select a user to be the Site Sponsor.  I will stick to using Extranet Users for the purpose of this illustration:

Next, we need to configure our Security Settings.  This is probably the least understood topic when using Sponsorship, so let’s take a close look at each area.  The first area is the “Associative Security Definition.”  These are the SharePoint Groups and/or Extranet Roles to which every user this Sponsor invites to the site will automatically be added.  In this example, I have created a role name “ACME Members” and added that Role to this site’s “Visitors” SharePoint Group.  By entering “ACME Members” in this area, every user that Timmy invites will automatically be added to the “ACME Members” Role and will therefore have basic read-only access since the Role has been added to the site’s “Visitors” group.

The next area is the “Optional Associative Security Definition.”  Any SharePoint Group and/or Extranet Role entered here will be presented as checkboxes to the Sponsor when he invites users to the site.  In this example, I have entered another Role I created named “ACME Managers” that has greater privileges than the “Members” Role because I have added it to the site’s “Owners” SharePoint Group:

Finally, we have the “Administrative Security Definition.”  This includes the Groups and/or Roles that the Site Sponsor can manage.  When we say “manage” in this situation, we are referring to specific permissions the Sponsor has been granted.  Here are the possible permissions that can be assigned:

All of these are checked by default, but you can customize them to your specific needs.  The best practice for the “Administrative Security Definition” is to add any Groups and/or Roles that appear in the first two Security Definition boxes.  This ensures that any user the Sponsor Invites, he can also manage:

Finally, we have the “Include Site Groups” option.  When this is set to “Yes,” any SharePoint Groups the Sponsor is currently associated with for the site will be included in both the Optional and Administrative Security Definitions.  For this example, I will select “No” in this area:

Now that we have successfully created a Site Sponsor, let’s log into our site as that Sponsor and invite a new user from the ACME Corporation.  Here are the new options that the new Sponsor sees when clicking “Site Actions:”

From here, they can both invite new users and manage existing users that they sponsor.  After clicking on “Invite Users,” we see this:

Notice the “Site Access” area.  As you can see, the “Optional” Security Definition appears here to allow the Sponsor to optionally add the new user to the Groups and/or Roles specified…along with the “Associative” Security Definition to which they will be added automatically (ACME Members in this case).

After clicking “Save,” the invitation is sent to the new user.  When they open it, here’s what they see:

After completing the registration, we can review it under the “Invitations” area of the Extranet Management menu.  Notice the “Sent By” and “Security Definition” areas:

So we can see that this invitation was sent by our new Site Sponsor, and that Jeremy was also added to the appropriate Security Definitions.

The last area we’ll review here is the “Manage Users” screen for the Site Sponsor.  After logging back in as my new Sponsor and clicking “Site Settings – Manage Users,” we see this:

From here, the Sponsor can do things like create new user (via invitation or manually), grant and remove access, change a user’s password, etc.  Notice that we see an additional user than the one we just invited.  This is due to the “Administrative Security Definition.”  The other user (Tony) is also a member of the ACME Members and ACME Managers Roles, so our new Sponsor can also manage him.

Site Sponsorship gives IT administrators the ability to offload basic extranet administration tasks to capable, responsible users, freeing up their time for important IT work, and reducing IT labor costs.

Tuesday, July 28, 2009

New Free SharePoint Training Video Library

We've been working on putting together a free SharePoint Training Video library for a while now and as of today it is officially launched!

To start out with, we have six, 30 minute to 1 hour videos available. The videos are delivered by our expert SharePoint instructors and consultants. These training videos are more in-depth than many of the free screencasts that you might find on the Internet.

They are presented similar to the way we deliver modules in our classroom-based SharePoint training courses. Generally, they all include some lecture on concepts and then show detailed demonstrations. Of course, in our classroom courses, students also receive a comprehensive course manual, work through detailed hands-on lab exercises and get to ask their expert instructor all of the unique questions they have. So, these free training videos are not a replacement for thorough training in the classroom, but we feel that they may be a great place to start for a lot of people.

Our plans are to populate the library with different videos that will appeal to learners that have different skill levels and different roles within their organization. To start out with, we have at least one video available for each of these SharePoint experience levels: Just Getting Started, Intermediate, Advanced. We also target different videos to the following SharePoint roles: IT Manager, IT Administrator, IT Developer, Non-IT Manager, and Non-IT User.

All that is required to access the library is to register for it during the sign-up process. Once you are registered, you can watch as many of the videos as you want to and as many times as you want to. Since you will be registered for the library, you will get an email from us any time we add new videos to the library (this is a good reason you should give us a valid email address and add to your white list).

Sign up today and let us know what you think about the videos!

Monday, July 13, 2009

What are you hoping for in SharePoint 2010?: Public Request!

Seems like today is a good day to ask this question.

The reason is that today is the first day of the Microsoft Worldwide Partner Conference in New Orleans. And, the first official "sneak peek" of SharePoint 2010 will be given on Tuesday in a breakout session titled "Building Solutions on SharePoint: The Value Delivered Today, and a Sneak Peek at Microsoft Office SharePoint Server 2010 ".

The session will be given by our friend at Microsoft, Owen Allen, and his colleague, Arpan Shah.

One thing that I haven't run across anywhere on the Internet is a wish-list of features for SharePoint 2010 that was contributed to primarily by the public. (Someone else has probably tried assembling one, but I just haven't run across it yet).

Granted, it is probably way too late for a groundswell of public opinion that would cause any substantial changes to be made to the 2010 feature-set, but still, seems like it would be fun and potentially useful to have a public record of what the people are wanting! In fact, after the actual feature-set becomes known, I will commit to doing an analysis of what people were hoping for vs. what is actually delivered, and will publish the results on this blog.

So, give us your SharePoint 2010 wish list in the form of comments to this blog post. We will publish any comments that are not blatant rants or deemed offensive.

Let the people be heard!

P.S. If you think this is a post that others might want to know about and participate in, please Digg it with the linked image in the upper right corner. If you are not already a member of Digg, I believe you will have to create an account before you can digg the article, but that is a free and painless process. Also, if you are a twitterer, we would love for you to tweet out a link to this post. Thanks!

Thursday, July 02, 2009

Why NOW is the Best Time to Get Started Developing SharePoint Designer Workflows

Regardless of the size of your organization, you are certainly looking for ways to save money in these difficult and uncertain economic times. That’s one of the reasons SharePoint has remained extremely popular during our present economic downturn—companies are only investing in those areas they know will provide huge returns quickly.
One of the areas where SharePoint, even the free WSS (Windows SharePoint Services), can quickly provide very high returns for your company is in the area of no-code workflows created with SharePoint Designer. Here are some of the reasons why:
1. SharePoint Designer Workflows are Easy to Write
When I started college back in 1985 one of my professors told me that in five years all programming would be plain-English programming, “You’ll just sit down in front of your computer and tell it what you want.” Well, 1990 came and went and here we are 19 years later. If you’ve seen C# code, then you know that all programming isn’t plain-English programming.
Workflows written with SharePoint Designer are the closest thing I’ve ever seen to plain-English programming. Everything you add to your workflow—and most of the configurations—are just selecting things from drop-down boxes and lists. There is no complicated syntax to learn or lists of command and functions to memorize.
2. SharePoint Designer Workflows Can Be Written by the Business Users Who Are Close to the Business Process
Once your organization has identified a particular business process that could benefit from some automation, you will usually either hire an outside programmer to write a customized program, or make use of a programmer inside your company. These programmers are usually very costly to hire and employ—they are also usually far removed from the business process you want to automate.
For example, let’s assume that you work in your company’s purchasing department. When an employee needs you to order something, she fills out a paper requisition form and send it to you via inter-office mail. When you get it, you contact her manager for approval. If it’s over a certain dollar amount, you may also need to get the approval of manager’s manager. Once you’ve received all the necessary approvals, you order the item and then communicate the expected delivery information to the person who requested it. If the requestor wants an update on the status, they call you, you get the information, then you call the requestor back with the information. On top of all this, you periodically call the requestor to see if the item has arrived so you can take it off your radar for tracking. If it’s late, you’ll need to contact the supplier. There is a lot of communication and tracking going on in this scenario.
You realize that your job could be a lot easier—and you could do more important work—if this process of requesting, approving, tracking, and communicating could be automated. So your company contracts a computer programmer to write a system to handle all this. After a few good meetings this programmer will eventually be able to understand the technical mechanics of your process. However, she probably will never fully understand how this process affects the entire company and how it is a component of the culture of your organization—only someone close to the business process understands those things.
It would be so much better if you, as the business user who has the full understanding of this process, could be the one to also automate the process. Because Microsoft designed SharePoint Designer workflows to be a tool for information workers and end users to use to automate their business processes, you can take control of the automation process without bringing in a costly programmer that doesn’t understand the full ramifications of the process.
3. SharePoint Designer Is Now FREE!
So, how much would you pay for a program that allowed your business users to automate business processes in near plain-English? $299.95? That’s what you would have paid a few months ago. However, Microsoft recently made SharePoint Designer 2007 available as a free download. It’s no longer cost prohibitive to allow end users to have access to this powerful program.
To get started writing your own workflows, download SharePoint Designer 2007 for free now.
4. There Are Lots of Great FREE Resources on SharePoint Designer Workflows
Have you visited our SharePoint Workflow Resource Center yet? If not, you really need to. You’ll find lots of information here including whitepapers, recorded webinars and demos, links to our best blog posts on SharePoint Designer workflows, a sample module from on of our workflow training courses, case studies, and much, much more. You really owe it to yourself to spend some time browsing this resource center.
5. Instructor-Led SharePoint Designer Workflow Training Is Very Affordable
Although SharePoint Designer workflows are easy to write, it’s likely that new users will benefit from some training where they get hands-on experience with help from an expert instructor. After all, the best way to learn to write workflows is, well, by writing workflows. In our workflow class, students write very practical workflows that they can also use in their own organization for things like handling supply requisitions, reserving equipment, and routing forms for digital signature approval—with time limits.
We currently have an opportunity for instructor-led SharePoint Designer Workflow training.
6. The Things You Can Automate Are Practically Limitless
Every business must have business process to function properly. It’s likely that a large number of those processes could benefit from SharePoint Designer workflow automation.
7. Extending Your SharePoint Designer Workflows with Additional Activities is Very Affordable
Although Microsoft has given information workers and end users a lot of power and functionality right out of the box, you will eventually want your workflows to do some heavier duty things such as set permissions on list items, loop through items in a list, FTP items to remote servers, send emails with attachments, or read RSS feeds.
We listen closely when our students and our SharePoint consulting clients tell us they need additional functionality in their SharePoint Designer workflows. We’ve created solutions to meet many of these requests and rolled them into a suite of activities called Workflow Essentials. If you want to take your SharePoint Designer workflows to the next level, you owe it to yourself to check out this very affordable product. At only $795 per Web Front End, it’s much more affordable than many other SharePoint workflow products, but provides great power with the value.
8. SharePoint Designer Workflow Consulting is very Affordable
If you need a little help, or a lot, with your SharePoint Designer workflows, we are here. Our expert consultants are available for anything from a 1-hour web consultation to help you plan your solution or help you solve a particular problem you’re having, to a multi-day on-site engagement where we can get involved at any level or depth in your automation project. Web consultations are only $250/hour and can save you many hours of looking for solutions online. Discounts are also available if you purchase multiple blocks; and longer engagements can be priced per project or per hour.
The Bottom Line: What Are Some Real Numbers?
You’re probably wondering what all this really means for your company. Let’s take a look at the example I gave above. We’ll assume that our purchasing agent earn $15/hour ($600/week, $2,400/month, $30,000/year) and spends 15% of his time getting approvals and communicating with the requestors. He estimates that by automating this process using SharePoint Designer workflows he can cut the amount of time he spends by two-thirds. This will save him 10% of his time. On a weekly basis this will save the company $60/week, $240/month, or $3,000/year by freeing up that employee to do other things that computers can’t do.
Since the SharePoint Designer program is free, If the employee attended our online Essentials of InfoPath and SharePoint Workflows class, the company only has a $1,495 investment and is saving money after only six months. Even if you add in the time the employee spent in the class (30 hours x $15 = $450) and time spent writing the workflow (10 hours x $15 = $150), the company is still saving very quickly. And not only is the company saving money, but the purchasing agent is will likely be much happier and everyone else who orders materials will be happier as well—they’ll probably all be saving time too.
It’s likely that after automating one process, this employee will identify several other processes that can be automated as well. For example, he may spend quite a bit of time attaching purchase orders to emails and sending the emails. With a $795 investment in Workflow Essentials, he can now automate this part of his job. And all the activities are available to all other workers that may want to make use of them. If one $8/hour employee saves 30-minutes each week from one of these automated processes then that’s a savings of around $200/year. If 100 of those employees save a half hour each week, or only 6-minutes a day, you’re looking at a $20,000/year overall savings. The numbers just keep adding up the more you automate even seemingly minor processes.
With the quick returns that SharePoint Designer workflows provide, I can’t think of any reason why your company wouldn’t be investing in this valuable area of technology. Can you?

Wednesday, July 01, 2009

Check Out These SharePoint Designer Workflow Essentials Videos!

I recently recorded a bunch of videos that demonstrate how each of the activities in our Workflow Essentials product work. If you aren’t already familiar with Workflow Essentials, it adds more than two dozen activities and conditions to your SharePoint Designer workflows so you can do so much more with them.
Most of these videos are only 2-3 minutes long. But these activities are so easy to use that even in just a couple minutes you’ll get to see how to add them to your workflow project, how to configure them, and then get to see how they work in a real running workflow.
You can  watch all 13 Workflow Essentials videos together. Although there are 24 activities, many of the videos include multiple activities so you get to see how they work together.
You’ll can also access any of the videos for a particular workflow action by visiting the Workflow Essentials product page; then find the activity you’re interested in and click on the Watch Video link.
One of the most common things that information workers and end users would like to do in their SharePoint Designer workflows is manage permissions on items in SharePoint lists and libraries. Workflow Essentials makes this really easy with three activities: Grant Permission on Item, Delete Item Permission Assignment, and Reset Item Permission Inheritance. Below, you can watch the video that shows how to add and configure these three activities and then you’ll get to see them in action.