Featured post

Imported workflow will not publish: SoapServerException

We at Slater Hill Inc recently came across an issue with a customer who wrote Powershell scripts to automate the deployment of a Workflow 2013 for SharePoint solution (including Site Columns, Workflows with complex Task Forms, Constants, and so on).

I have read about (and experienced myself) the problem of automatically publishing a Workflow from an exported NWF file (using the Nintex workflow web service) — and finding the workflow in the Unpublished state at the destination. The most common cause, according to the community, is a problem with the Columns on the List hosting the workflow.

In our case, however, all of the scriptically-deployed Site Columns appeared to be in place and working fine. We opened the Workflow in the designer and went over it with a fine-toothed comb, removing suspect Actions, reimporting Task Forms from the DEV environment, fiddling with the Workflow Properties — no luck. Trying to publish the workflow would result in the dreaded “SoapServerException: An error occurred”.

We checked available disk space on the SQL Server in case that was the culprit: no dice.

We stumbled upon the cause of the problem when I attempted to modify the default View of the SharePoint List. This resulted in a “Something went wrong” error, which we looked up in the ULS log:  “Column ‘WorkflowName’ could not be found”.

So that was the culprit:  the special SharePoint Workflow Status Column that Nintex Workflows insert into the List to show a link (labeled “In Progress”, “Completed”, etc.) to the status page for the most recent instance of that workflow. At some point in the running of the deployment scripts, this column had been created (perhaps on the failed publish attempt), but then deleted.

The quick and dirty way to resolve this:  we renamed the workflow, which resulted in the insertion of a Status Column with a new name, bypassing the missing column. We still had to create a new default View for our list, though.

Metalogix ControlPoint issue–“WebApp is not configured for Axceler”

The company I currently do SharePoint consulting with, Slater Hill Inc, is a partner with Metalogix, the world leader in management tools for SharePoint, and I had a great experience with Metalogix product support I’d like to share.

Yesterday I deployed Metalogix ControlPoint at the site of one of our clients, a county public health unit. They use SharePoint for collaboration, as well as a SharePoint add-on called SharePointLMS (from our partner eLearningforce) for their staff education. These are near-mission-critical applications for the work that they do, so they really need a strong governance-enforcement and administration tool to keep SharePoint functioning smoothly.

After the very quick and simple installation and configuration was done, I ran the License Manager tool and had ControlPoint up and running … but:

ConrolPointScreenClip

 

The customer’s ControlPoint hiearchy on the left included all their SharePoint 2013 Web Applications. However, each one had a warning next to it reading:

“WebApp is not configured for Axceler. Grant Access Rights in Manage ControlPoint Licenses.”

[Axceler is the original creator of ControlPoint before they merged with Metalogix; the Axceler still pops up here and there in the product.]

I was pretty sure I had configured the License Manager properly; I ran it again and noted that although the process was successful, there were errors in the log:

LicenseManagerscreenclip

I located the License Manager log file, which by default lives at C:\Program Files\Metalogix\ControlPoint\xcClient.log. There was nothing out of the ordinary in there, except a failure to find my Search Analytics database (which happened because my database had a GUID in the name; lower down in the log file I saw a successful connection to the correct database).

Try as I might I couldn’t get Metalogix to play nice with the customer’s Web Applications, so I opened a support ticket with Metalogix. Within the hour, I had a phone call and an email response from Paul McNally in Washington, D.C., who felt that the problem was in the User Policy of the affected Web Applications. He had me send him a screenshot of one of the User Policy screens:

UserPolicyScreenClip

… and he noticed that the account my ControlPoint application pool was running under was absent from the permissions list. Your ControlPoint app pool identity needs to have Full Control in the Web Application User Policy in order to do all the magic things ControlPoint can do in SharePoint. Now, the problem may have arisen because my app pool identity was in the User Policy list with some permission other than Full Control; in this case, Metalogix License Manager appears to skip over that identity in the User Policy list, assuming it’s already been added earlier, and with Full Control. So then Paul sent me a brief PowerShell script for cases like this, which assigns the correct User Policy permissions to your ControlPoint app pool identity on all of your SharePoint Web Applications … and within a minute the “WebApp is not configured for Axceler” warning was gone from all the customer’s Web Apps (I’ve switched now to my own internal ControlPoint for confidentiality reasons):

ScreenClip

 

Hooray! I would not have thought to go into Web App User Policy – at least, it would have taken me a lot longer than the five minutes it took Metalogix support to fix this for me. The customer is now using ControlPoint to track usage and content growth, manage permissions and groups across all their sites, and create policies to automate and report on all their other governance needs.

Office 365 Public Website: what, no managed-metadata (MMS) navigation?

At my current gig, Slater Hill, we recently dropped WordPress as our web-publishing platform in favor of SharePoint Online within Office 365. We decided that, as an Office 365 partner and consultant, it was time to put our money where our mouth is when it comes to web platforms. So here we are, open for business using the Public Website that comes with Office 365!

The included Public Website is based on SharePoint Online, but it’s not a full-featured SharePoint site collection, and does not make use of all the SharePoint Publishing features. In fact it’s quite stripped down. However, for small to medium-sized organizations looking for an easy-to-use website hosting platform, it’s probably got everything one needs. If you’re already an Office 365 customer and you don’t have advanced publishing needs, it’s even a bit of a no brainer (and if you need more, there are apps in the Office Store to extend the platform without doing your own customizations).

One thing we were particularly interested in seeing in this site was friendly URLs; for example, “http://www.slaterhill.com/solutions/workflow” instead of “http://www.slaterhill.com/Pages/workflow.aspx“. We were hoping to divorce the navigation from the site’s physical structure using Managed Metadata-driven navigation, a great new feature in SharePoint 2013.

Now, I know there’s MMS-driven navigation in the Office 365 Public Website. I can see it by inspecting the starter pages Microsoft includes out of the box. If I open the Page Ribbon for one of those pages, say, About Us, I can click the “Edit Navigation Properties” button (not a standard SharePoint 2013 command):

… and I am on the EditTermProperties.aspx admin page, with a TermStoreId and a TermId showing in the URL. Excellent! This proves there is an MMS Term Store driving the built-in navigation of my site. And with this edit screen, I have the power to modify the Friendly URL for my page, which will not be bound to the physical location of my page within the Pages library!

It all starts to fall apart

So what I did next was all wrong.

Being a “SharePoint guy” (and somewhat eschewing the user-friendly tools that seem tacked on to the O365 Public Site), when I wanted to add my own pages I proceeded straight to the Pages Library and started creating items right there. I can see that Office 365 has provided me with a few presets – great.

My newly-created pages did not automagically appear in the Top Links Bar of my site – which is fine with me, because all the Pages exist physically at the same level (unless I use folders), and I want to lay out my navigation my own way.

So having created my pages, I manually added direct links to them in the top bar using the EDIT LINKS command, as shown:

This all works just fine. But then I realized that doings things this way resulted in “non-friendly” URLs (not user friendly, and not search-engine friendly) – for example, as shown above, “/Pages/solutions.aspx”. I want the structure of my navigation to ignore/mask the physical organization of my pages, and also to be “SEO friendly” – e.g., the page shown above should appear to live at www.slaterhill.com/solutions, and a page logically stored within Solutions should be like this: www.slaterhill.com/solutions/document-management.

So I know from further up in this article that creating a Page in my site automatically creates a corresponding entry in my Managed Metadata Term Store for navigation. And I know the quick way to modify those entries – in the Page Ribbon, using the Edit Navigation Properties button. I go to one of my new pages, open the Ribbon, and voila:

No Edit Navigation Properties option!

Now I’m confused. Why is that option now missing from the button? I return to one of Microsoft’s out-of-the-box pages, and the option is still there. I decide to take matters into my own hands and barge my way into the Term Store Manager page. However, when I click the wheel icon and look for Term Store Management (site collection level) … that link has been removed in the Office 365 Public Website.

Just in case the page is still there, and it’s just the link that’s missing, I point my browser to /_layouts/15/termstoremanager.aspx … and get a blank white page. So the entire feature has been removed. Hmmm.

Perhaps the navigation in my Public Website is consuming a Managed term store at the Farm level? Or, I should say, at the Office 365 Tenant level? I browse to my Office 365/SharePoint Online admin page, then select Term Store in the left bar. Here is what I find:

No joy there. Where is this term store? And how can I get my hands on it to manage it?

And then all the answers come to me

As far as I can tell, there are NO tools to manage the out-of-box managed-metadata navigation for your Public Website.

But then I have a breakthrough – by creating a new Page in my site the other way (the more user-friendly way, with the wheel icon). I click “Add a page” under the wheel menu, like so:

When I do this, instead of getting prompted for a file name (as in the Advanced approach), I am asked for a friendly name:

And behind the scenes, when I click Create, an entry is made for me automatically in the Term Store. When I browse to this page using the friendly URL (very important – see the end of this article), under the Page Ribbon – I see an Edit Navigation Settings button! On this page, I can set the “friendly” name of the page, as well as whether this entry is automatically “fixed” to the Top Links Bar of the site.

Since the name/URL of this page is now under management, you can’t modify it manually using the EDIT LINKS bar – this screenshot confirms that:

So if I want my Pages to use Managed Navigation, I must create them using the wheel menu, NOT the Pages Library.

But now I have a new problem: I want nested friendly URLs. I open the Edit Navigation Settings for my page and try to enter “/solutions/business-intelligence” for my Business Intelligence page – and that is not allowed. So it appears I don’t get nested friendly URLs. All my pages will have friendly URLs (hiding the ugly “/Pages/” and “.aspx” characters), but will all appear to be at the same level. And any categorization in my site will not be self-explanatory from URLs my visitors see, e.g., you won’t be able to tell that “Business-Intelligence” falls under “Solutions” from the page address alone. Oh, well.

The final piece falls into place

However, I had one Office 365 discovery left to make. After I had added a page called Solutions and a bunch of pages that fall under it, all of those links appeared across the top of my site – at the same level. In Edit Links Mode (which only seems to work properly in Google Chrome, for some reason), I reorganized the links by dragging the sub-pages underneath Solutions, creating a dropdown/flyout effect. That not only got the Top Links Bar all sorted, but take a look at what dragging the link under Solutions in the physical navbar did to the Friendly URL of the page:

Instant nested Friendly navigation!

So what I’ve learned: in the O365 Public Website, the Add a Page link (under the wheel icon) and the “EDIT LINKS” command ARE the admin tools for managed-metadata-driven navigation! Once you have created a page and its associated term using Add a Page, you can change the term properties with the Edit Navigation Settings button — and the friendly URL path by rearranging the menus. Not ideal, but you do have control.

Final note – important!

When your pages have Friendly URLs assigned to them (which you can change as often as you like without changing the page name or storage location – but don’t change them post-launch or you’ll lose your Google juice), the page can be browsed in either “friendly URL mode” (http://slaterhill.com/solutions/workflow ) or ugly mode (http://slaterhill.com/Pages/Workflow.aspx ). But to get the Edit Navigation Settings option on the Page Ribbon, you MUST be browsing the page IN FRIENDLY URL MODE. The same Page will show or hide that option depending on how you’re browsing that page.

salem witch trials11

Office 365? The cloud? Burn the witch!

I posted this little scene yesterday on LinkedIn and Google+. I realized afterwards that it may have sounded a little angry — it was really meant to be tongue-in-cheek! But that’s hard to convey on a post. It was intended as a humorous little venting of frustration that we in the cloud business have to deal with most days. Not meant to be as angry as it may sound :-)

 

Enterprises: “We use Basecamp for all our projects and Trello for general collaboration on notes and to-dos. We use Google Docs and Spreadsheets and we love it! We also love Box for sharing documents with our partners!!”

Vendor: “Have you considered using Office 365 for a more unified experience for all of that?”

Enterprises: “STORE OUR CONFIDENTIAL STUFF IN THE CLOUD??? NOT ON-PREMISES?? OVER MY DEAD BODY!! NEVER!! THE NSA! THE NSA! ARE YOU A COMMUNIST?? BURN THE WITCH!!!”

Thebreak

“This is just catching up to where Jive was four years ago!”

Whenever I’ve been in the audience as the new social features in SharePoint 2013 are demonstrated, I’ve heard the same complaint from at LEAST one person in the room:

“This is just now catching up to where (insert name of slick new tool or web startup) was with social FOUR YEARS AGO!”

And with Microsoft’s four-year release cycle (well, three, and getting smaller with Microsoft online services), this may be true for some features.

But much of the ultraconservative corporate world is four years behind THAT.

You don’t hear the above scoffing (over SharePoint’s slowness to keep up) from the average corporate user. You hear it from either:

  1. People who work in social software, or consumer-social-marketing/content-marketing gurus, who do this for a living
  2. Tech-savvy workers who use Twitter and Dropbox and Basecamp, mostly on their own, and get enjoyment from the bleeding edge.

I’ve been in the audience for plenty of SharePoint 2013 demos where there were people like the above in the room, but they are ALWAYS the vocal exception. On one occasion (at the Toronto SharePoint Business User Group), to the majority of the business users in the audience these (communities, newsfeeds, badges, etc.) were ENTIRELY NEW CONCEPTS! The presenters spent virtually all of the Q&A time defending the “four year old” basic concepts of social enterprise as if Microsoft was pioneering them today. The audience members were actually skeptical the concepts would ever ‘take off’ — even in the face of slides showing the huge investments progressive organizations are making in social! Some of the doubters could see the value, but worried that management never would; most were themselves doubting the value, though.

This conservatism was an eye-opening moment for me, even though I’ve been working in enterprise environments since I had a goatee and Jagged Little Pill was playing on my Sony Discman. It’s since been confirmed in many additional customer environments (though there are numerous exceptions, in some very surprising places).

We (SharePoint professionals and power users) are expending a lot of energy to learn and promote the cutting-edge stuff (which in SharePoint 2013 and Office 365 is pretty damn cool). At conferences, and in books and videos and other materials, Microsoft is pushing us to learn and promote the latest and greatest. And that’s great – learning the new stuff is essential for thought leadership, credibility, etc.

But a lot of enterprises are not yet on SharePoint 2010, or are just upgrading. It’s a long, looooooong refresh cycle when you have to upgrade 10,000 users and devices. How many organizations do you know that are still on Office 2007? Or Windows XP, even though the party is over this coming April?

In professional golf, you drive for show and putt for dough. I’m not saying that SharePoint 2013 == “show” and SharePoint 2010 and earlier == “dough”; but don’t throw away those 2010 Wrox books just yet. In the conservative corporate world, there’s a LOT of money still to be made customizing and supporting the older stuff.

[That being said, enterprises who still do everything via paper, email, spreadsheets and file shares need to enter the 21st century or find their lunches eaten, and SharePoint 2013 is a great way to get started.]

midvale school for the gifted

TALKING TO USERS: the Midvale-School-for-the-Gifted approach

A parable:  I once worked near (but not ON) a team of SharePoint consultants whose client had a problem.

The client had rolled out, at great expense, a project-workspace solution for their teams to share documents, schedules, photos, finances, etc. etc., with a workspace for every project.

For some reason, the workspaces went over like a lead balloon. After a big launch, and training and documentation and handholding and incentives, approximately 80% of the project teams across the organization stayed away.

So the company decided to fix it. They bit the bullet and hired a team working near me to figure out what went wrong, and how to make version 2.0 something all the teams would love to use every day. The team sent out its best and brightest to capture, to listen, to videotape, to whiteboard, and to expend great thought and analysis on what wasn’t working and how to fix everything. This went on for months and resulted in the most gorgeous designs and plans for Project Workspaces you’ve ever seen.

Now:  WHO, exactly, did these teams of analysts visit across the organization? Which users’ work habits and processes and preferences did they analyze?

That’s right:  the twenty percent who were using the old workspaces and were okay with them. Number of points of contact of any kind with the unhappy eighty percent? Zero.

‘Nuff said.

Liftoff

Failure to post-launch: equipping the SharePoint baby bird to fly

I’ll make a confession:  I am a recovering SharePoint technologist. I spent too many years focused on the question “what are all the things we need to do to make the launch a success?“. I (and my teammates) spent precious little time asking the question “what are all the things we need to do to make this solution a success after the launch?“.

On too many projects I’ve been included on, either the technologists drove the entire project, or the strategists and Business Analysts did all their work in the first half of the initiative and then were parachuted out, handing everything over to the developers. And technology people are far too busy Building the Thing Right to worry about whether they’re Building the Right Thing. The project schedule always shows the Big Date (Go Live), which is looked on as the end-all be-all; at most there is a month or maybe sixty days included for post-launch activities (which somehow always includes the overworked phrase “train the trainer”).

SharePoint delivery teams — internal or outside vendors — too rarely stop to think about the post-launch reality. We focus our energy on Getting In and Getting Out. But the most elegantly written, beautifully designed, fast-performing, and usability-tested solution in the world will still fail without more user handholding in the post-go-live period than is generally provided. A LOT more.

SharePoint delivery teams should focus less on the go-live date and much more on go-live plus six months, and go-live plus one year. Yes, we should free the developers to focus on delivering a great solution on time, but we SharePoint/intranet/collaboration/ECM “experts” must dedicate more time and expertise to equipping an internal, cross-discipline Intranet Team to manage the solution in the years to come.

A week of “training the trainers” (which usually ends up as education in basic SharePoint features given to a few overworked IT staffers) is not enough. The organization requires expert assistance in

  • Designing the Intranet Team (with communications, departmental subject-matter experts, senior management, and I.T. at the table)
  • Planning the content lifecycle, content migration, and other information-management policy stuff
  • Being ready to handle support and intranet feedback
  • Preparing for the ongoing planning and prioritizing of enhancements/new projects
  • Governance (well beyond Who Can Create a New Site?)

On a SharePoint project the launch is the big exciting event, like a wedding, which everyone focuses on. Equipping a standing Team to manage and support the solution after the launch, however, is like the marriage itself.

SharePoint preflight check

PRE-FLIGHT CHECK: the 2 questions you MUST ask on any SharePoint project

For any SharePoint endeavor (or any technology project, for that matter) to be successful, you must strike a delicate balance between the Business and the Technical. They are two sides of the same coin. Most technology projects fail, many because the technology is in the driver’s seat, and unbalances the project to the detriment of the business needs.

There are two questions I always insist on asking at the outset of every SharePoint project (and then daily as the project goes on, often to the annoyance of my team). All other questions, from “can users find what they’re looking for?” to “will it perform under heavy load?”, fall under these two “superquestions.” They are:

Are we building the right thing? (business)

and

Are we building the thing right? (technology)

 

That is to say:  first of all, is what we are building what the SharePoint users really want? Have we really gotten to the bottom of what the end state must be for the people who will use it every day? And second, are we making the best use of our time, resources, and tools? Are we being technically smart and efficient, future-proofing, managing our Technical Debt, reusing what we can, and all of that?

The following list of subquestions to the superquestions is only a selection I came up with in a quick sitting. Any SharePoint project team (or any technology project team) must come up with the full list for each project to increase the (long) odds of success.

ARE WE BUILDING THE RIGHT THING?

  • Have we spoken to (a true sampling of) actual end users? Are there any “missing persons” from the table (e.g., the executive sponsor, the department head who could derail the solution and whom we forgot to invite)
  • Have we used multiple approaches to capturing requirements? (surveys, workshops, interviews)
  • Do we have a single owner of the Requirements? Who is it?
  • Is the End State clearly defined (how do we know we’re done)? Who has to sign off?
  • What is the warranty period? Are we ready & staffed to support?
  • Is there a real plan to transition to post-launch? Have we involved the internal team who will manage the solution after the vendor is gone (has this group even been identified?)?

 ARE WE BUILDING THE THING RIGHT?

  • Is there a single owner of the Solution Design? Who is it?
  • Do we have a clear quality plan?
  • Do we have a proper Build/source control strategy?  (Is there a single designated Build Master? Can we spin up a new environment in minutes? Do we have proper cross-environment configuration/settings management? Do we have a plan to build up automated deployment as we go? Do we have continuous integration, or at least nightly builds?)
  • Have we identified stuff we can buy or reuse? (have we gone after this vigorously?? See www.bamboosolutions.com, www.harepoint.com, www.metalogix.com, etc.)
  • Have we decomposed the solution into loosely-coupled components? Have we factored out common code into central modules?
  • Do we need to plan for separate Web Applications/URLs? Will there be external users, or users who are authenticated in different ways?

As you see, just a rough off-the-cuff smattering, but the key is:  never stop asking the two questions. As they say, it doesn’t matter how quickly you’re going up the ladder if the ladder is leaned up against the wrong tree. And that being taken care of, don’t go up the ladder backwards, either.

 

 

SharePoint Summit 2012

Thanks for a great SharePoint Summit 2012!

I spoke in May at the SharePoint Summit 2012 (http://www.sharepointsummit.org/Toronto/index.htm) at the Fairmont Royal York Hotel, just down the street from my office in Toronto. Many thanks to everyone who came out for the last session of the last day of the conference!

Mine was a 300-level developer-focused talk; I spoke on injecting your own custom activities (e.g., from Twitter) into the Activity Feed in SharePoint 2010. You can see my PowerPoint deck here: SharePointSummitToronto_14_4_JeffKelly.

(It will be VERY interesting to see what happens with activity feeds/newsfeeds in SharePoint now that Microsoft is buying Yammer, a very slick product my geographically dispersed colleagues and I can’t live without.)

I didn’t get to as many sessions (as an attendee) as I would have liked. A conference down the street from your office is NOT the same as an out-of-town one, where you are cut off from putting out fires (at least physically). I did however get to see Jason Kaczor‘s excellent talk on SharePoint Online.

Looking forward to SharePoint Saturday Mississauga next month!

A little-known change in Newsfeeds in SharePoint SP1

“There are no activities in your newsfeed”: a little-publicized change in SharePoint 2010 Service Pack 1

This is a common frustration out there in the SharePoint user community. I have seen lots of posts from people pulling their hair out trying to get Activities to show up.

You set up your My Sites host, and the newsfeed (“What’s New?”) web part on the home page shouts moronically at you, “STAY CONNECTED! There are no activities in your newsfeed.”

You search for the answer in the documentation and online, and one at a time you knock off each of the following:

  1. Ensure that your test user has Colleagues.
  2. Log in as at least one of the Colleagues and do some Newsfeed-worthy activities(change some Newsfeed-worthy Profile Properties; Tag stuff with “I Like It” and other Tags (remember that Notes are not Newsfeed-worthy)).
  3. Double-check that your first test account has permission to view whatever itemsyou Tagged or Liked (this is important: the Newsfeed is security trimmed).
  4. Enable the Activity Feed Timer Job in Central Admin. This is disabled out of the box; and this step is the first and usually only advice most blogs offer to fix this problem.
  5. Ensure that the search indexer is crawling My Sites regularly, and even kick off a manual crawl.

After you discover each piece of advice pointing out a step you missed, you jump for joy, start from the beginning, and browse to your My Site and find:

STAY CONNECTED! (DERP DERP DERP)

And then you generally curse a lot. You are especially angry because you know you saw activities working before. You’re sure you saw Activities just before you applied Service Pack 1 and …

Here is the updated text from the TechNet article “Set up My Sites” (http://technet.microsoft.com/en-us/library/ee624362.aspx#configsettings):

12.  In Newsfeed, specify whether you want to enable the newsfeed on My Sites. If you enable the newsfeed, but the accompanying Activity Feed timer job for the User Profile service is disabled, you receive the following message with a link to enable and configure the job settings: “The Activity Feed Timer Job is currently disabled, this setting will have no effect until the Activity Feed Timer Job is enabled. Activity Feed Timer Job settings.”

This option is available only after you install SharePoint Server 2010 with SP1. Prior to SharePoint Server 2010 with SP1, the Activity Feed timer job both determines whether the newsfeed is enabled and how it is configured. Starting with SharePoint Server 2010 with SP1, the addition of the Newsfeed option provides an explicit way to enable or disable the newsfeed. This is important in hosted environments where tenants may share the same User Profile service but have different requirements on whether they can enable newsfeeds for their users.

Yeah … so now you ( and by “you” I mean “I, Jeff Kelly”), feeling pretty stupid, find the checkbox:

Enable_newsfeed_on_mysites

… run an incremental crawl, click “Run Now” on the Activity Feed Timer Job, and boom: no more $$%$#* “STAY CONNECTED!”