Building a better SharePoint Community in South Africa


A constant theme of discussion in our country is the unemployment rate.

There are no jobs.

There are no skills.

The government needs to do more to develop the youth.

This might hold some weight in certain sectors, but in the ICT one, specifically that of consulting I believe there are a number of forces at play that simply make it difficult for companies and prospective employees to connect.

The key challenges that we face in the SharePoint arena specifically are:

  • Lack of experience
  • Lack of formal training
  • Exorbitant salary expectations
  • Number of recruiters vs. recruits

Lack of Experience

This is obviously a double-edged sword as you cannot get experience without someone giving you and internship or a chance to start at the bottom and grow. The experience that I’m referring to is however quite specific to the SharePoint space. Let me explain – I interview many candidates with 2-3 “years” worth of SharePoint experience. Although the experience in time is accurate, the exposure is only 1/10th of the SharePoint wheel hence the “value” of the experience is diminished.

Consultants’ experience is molded by the type of organization they work for, but the onus still resides with the consultant themselves.  Rectifying this problem requires the consultants to get involved in the SharePoint community and attend events.  This exposure will allow the consultants to have more ammunition available for that next workshop.  Without this, the consultants will continue to work in the same way and never expand their knowledge.

For more information on how to get involved in the SA SharePoint community, please visit this website – http://www.informationworker.co.za/Pages/default.aspx.  Read more on the twitter hashtag – #IWSA and follow them on Twitter – @SharePointSA.  In terms of events, the easier one to get started on would be SharePoint Saturday.  For more information, check out the website – http://www.sharepointsaturday.org/johannesburg/default.aspx, http://www.sharepointsaturday.org/capetown/default.aspx and follow the hashtags – #SPSJHB, #SPSCPT.  More information exists on facebook also – http://www.facebook.com/SPSJHB, http://www.facebook.com/SPSCPT.

On a side note, I blogged this about the age of consultants a while ago – http://technicallead.wordpress.com/2011/10/18/are-sharepoint-consultants-too-young/.

Lack of Formal Training

As the years have gone by Microsoft have made SharePoint, the platform, easier and easier to use, administer, sell and customize.  Although this has opened up many doors, it has also introduced a lot of, with all due respect, “wannabees” into the consulting pool.  Candidates that have created 1 intranet, dragged on a couple of web parts and googled their way into getting a CQWP working, now call themselves consultants.  In some companies, they are able to survive, but quickly get found out if interviewed.  This ties in perfectly with what I noted above re: experience.  The business user has ZERO technical knowledge of what is possible and looks to the SharePoint “consultant” for guidance on what is possible and what is not.  Now if the “consultant” only knows 1 way of doing things, the business user will take this as gospel and so the cycle spirals on.

See the problem?

Without the “consultant” getting more exposure, they will never recommend different approaches to business and before you know it, the “consultant” has spent 2 yrs dragging web parts onto pages and are now ready to take on the world – “Or so they think.”

Entering into the SharePoint consulting arena is not difficult.  You don’t need a qualification, piece of paper or special introduction, you simply crack open SharePoint Designer and start hacking away.  I sincerely wish that this will change in the future and have seen pockets of it, but still, I’ve come across too many individuals that are at the wheel without their “learners” so to speak.  Perhaps my concept of a SharePoint drivers license is not too far fetched, read more here – http://technicallead.wordpress.com/2011/04/24/do-you-have-your-sharepoint-drivers-license/.

So, how can this be addressed?  Companies that pay for SharePoint services need to (A) do their homework and (B) educate themselves on some of the basics of the product.  On the other hand, individuals need to put in the time to educate themselves via formal training to advance their careers.  Get to know, not only SharePoint as a platform, but also look into supplementary courses to give business a more rounded consulting experience.  For example, if you specialize in the taxonomy, search and information architecture arena, look into an AIIM knowledge management qualification.  For more information, have a look at the AIIM website – http://www.aiim.org/.

The challenge with the above mentioned ideological view is that there are still too many people who ”get by” knowing very little.

Exorbitant Salary Expectations

Taking all the above mentioned points into consideration, its easy to deduce that an individual could build up quite a profile in ONE particular organization.  During the course of employment at said organization, the individual could be seen as the “go to consultant” and demand radical increases.  This is all fair and dandy, but the challenge only comes in when this person wants to move on.  Sadly, they might find themselves grossly overpaid and unable to find a spot at one of the top partners in the country.

Now don’t get me wrong, I’m all for getting your piece of the pie, but when the industry is flooded with consultants commanding salaries above their pay grade, you start having a situation where their CVs are available, but you can’t employ them.

I guess solving this is slightly trickier than some of the previous points.  Employees will always squeeze the most out of their employers, and they should, so basically, “Don’t hate the playa, hate the game.”  In this case, the onus rides on the employer to pay fair value all the while staying relevant and attracting talent throughout.

I won’t elaborate further on this point in this post, but in my practical experience of hiring SharePoint consultants and developers in the past couple of years, I find that the industry is flooded with low end consultants or super highly paid consultants.  A middle tier of skilled, well paid consultants seems to be absent, which is sad.

Numbers of Recruiters vs. Recruits

I love and hate recruiters.  A necessary evil in the game, but a game that is constantly changing.  PNET, Career Junction, LinkedIn are all eating into the market share of traditional recruits, but hey, “it’s all business baby!”

So, what is my point here?  Well, I don’t know the recruitment industry that well, but as an employer that engages with a couple of select recruiters, I get the feeling that the barrier to entry for recruiters to start-up is not tough enough.  As more and more recruiters start-up to make a couple of Randelas, so the amount of duplication that hits my desk starts to pile up.  I will literally get the same CV from 3 different recruiters in one day.  Now again, who do you blame?  Surely you can’t blame the recruiters for (A) wanting to start a business and (B) trying to do business.  You can’t blame the recruit for (A) wanted to find employment and (B) spamming his CV to 10 recruiters, so what is the problem here?

The challenge that exists and will continue to get worse is that as the amount of recruiters grow, the amount of CVs in the market don’t.  What then happens when you run out of CVs?  Well, you start placing the candidates that you have already placed, just somewhere else.  In this process, the candidate gets a slight increase and so the cycle continues.

In Summary – More Education = Better Industry

Consultants in our industry need more formal training.  Before this can become compulsory, the other cogs in the wheel need to start demanding it.  Without companies and partners demanding better, employees will continue to get by with “just enough” knowledge.  Companies need to complete introductory courses on SharePoint before embarking on projects, research the firms that are pitching for their work and follow-up on references before commencing work.  With these couple of items in place, there will be less and less space for inadequate consultants to hide and the industry could stand a chance to correct itself.

Ramblings about Office Productivity


Jumping on the Office 2013 bandwagon yet?  Well it’s time to get on and start drinking the cool aid.

As always Microsoft have pushed the boundaries of productivity even further with their latest offering – Office 2013.  (Excuse the cloud guys, this is an on premise post :p)  I’ve been using Office 2013 with Windows 8 for just over a month now.  The experience is really been a pleasure.  They give you the “inline editing” feel of Office Web Apps yet, it’s a thick client application on your desktop.

Guess what my passion is

My passion is of course SharePoint and I have to admit, they have worked wonders with the Office & SharePoint integration.  Remember
what a drag it is to save & share documents in Office 2010?  Ever had the explorer just hang, have to login 20 different time, all of this just to save a doc?

Well, I’m happy to report that although the interface is largely similar, there have for sure been some work put in under the hood as the saving, opening and general interaction with documents in Office living in SharePoint just works.  Yes, I said it, it just works.

*gulp, I just realised that is a pretty bold statement to put out in the blogosphere, but anyway, this has been my experience.

Other bits and pieces in the mail client specifically has been the inline replying, deleting and flagging (not new, but slicker) coupled with
smart bits and bobs like letting you know when you are on 3G just to save you some bucks.  Yes, we’ve all been overseas and dumped our mail via tethering (it hurts).

The efficiencies in the collaboration space really excites me and specifically the “basics” that Microsoft seem to have focused on.  I love features and functions, but during the years of implementing office productivity software it’s in most cases some of the most basic elements that have let customers down (e.g. document stays checked our forever).

It  seems like they have really reached a point where the features are enough and they are simply bedding down the basics.

Considering other advances like SkyDrive Pro, the tablet ecosystem and better Windows phones, I think Office productivity is in for a big year!

Viva Microsoft!

SharePoint User Profile Service not working after Windows 8 upgrade


So I upgraded to Windows 8 the other day (which I’m really loving so far) but the upgrade broke SharePoint’s user profile service application. I have SharePoint 2010 installed locally on my Windows-7-now-Windows-8-PC for development purposes.

The Problem

There were a variety of symptoms that I won’t list in detail here but basically I couldn’t get into my user profile service application in central admin. ‘An unexpected error occurred’ it told me.

The ULS logs were full of the typical generic user profile service errors (e.g. ‘No User Profile Application available to service the request’) and the event viewer was complaining so fast I couldn’t keep up.

The main errors being reported in the event log were:

The service ‘/SecurityTokenServiceApplication/securitytoken.svc’ cannot be activated due to an exception during compilation. (event ID 3)

and

An exception occurred when trying to issue security token: The requested service, ‘http://localhost:32843/SecurityTokenServiceApplication/securitytoken.svc/actas’ could not be activated. (event id 8306)

So it seemed to be a problem with the Security Token Service. Navigating to the URL listed in the error message above (http://localhost:32843/SecurityTokenServiceApplication/securitytoken.svc) showed me an error page.

The Solution

Like any SharePoint administrator worth his salt, I immediately hit Google.

Many opened tabs later I stumbled across this post, which offered a solution that worked: re-provision all the SharePoint Web Services. The author says that this is, “one of the safest ways” to get the Security Token Service working.

Near the bottom of the post is a list of commands to enter into SharePoint PowerShell, which I did:

$h = Get-SPServiceHostconfig

$h.Provision()

$services = Get-SPServiceApplication

foreach ($service in $services) { $service.provision();
write-host $service.name}

Once the commands were run I did an IISRESET then tried to access my user profile service application. Success!

Thanks Syed and Abhishek :)

 

Elaborate Intranet Styling a Thing of the Past?


So while playing around on SharePoint 2013 the first thing that hit me was the myriad of intricate little floating buttons, layers and the like.  It looks pretty cool, although it will take time for users to get around the interface initially. I think the inline editing and “Metro” (whoops can’t call it that anymore) styling is a great step forward, but I wonder what it will do to the creativity of the myriad of SharePoint designers our there?

So for websites, this will not apply, but I see more and more Intranets going to the route of Windows 8 blocks which works really well and is super usable, but how much can you do / tweak?

Not only do I think that stock standard interface will be slightly trickier to modify (due to all the inline trinkets), but also think the move to big buttons, blocks and more usability will curb creativity in certain circles.

Having said that, the designers will refocus and find their niche, but in the interim I think it will also allow a lot of “pretenders” to enter the fray as the “Metro” (whoops I said it again) design is a lot simpler to conceptualize and implement.

Is the block type styling here to stay or will Windows 9 move all of us in a different direction?

Time will tell.

SharePoint 2013 Wish List – For Now


As I get more and more engrossed in the new version of SharePoint I thought it would be a good time, to take stock and pop out a little wish list. I will revisit it once I have done my research, played with it more and read ‘most’ of the “What’s New” and “Top 10″ articles available.

Side note: Big Ups to Microsoft for coordinating the release on the 17th, the surrounding resources and community information. #impressed.

Here goes (disclaimer: I haven’t done enough research to know whether these are included or not, but it’s my wish list ‘for now’)

  • Managed Metadata availability in InfoPath
  • Cascading management of content types (“Where is it in use?”)
  • Options for updating templates to include – “Update existing OR Update new”
  • FAST to cost less than a formula 1 car
  • SharePoint FIS sliding scale giving SME a fighting chance
  • Cross site collection CQWP (Note: I know CSWP is available, but silently hope the CQWP will one day give cross site collection info. Query is simply more “instant” than search.)
  • “Send to” allowing for selection of destination
  • More flexibility in navigation configuration
  • Further improvements in the already improved upgrade paths

That’s all I got for now. Let the research, fun and games begin!

SharePoint Performance Testing–bits and bobs


It’s been a while since I posted (this feels like a confession) and for that I’m sorry.  In-between the NBA finals, my new job and all and all, things have been radical so unfortunately my beloved blog has taken a little bit of a back seat.

“TO INFINITY AND BEYOND!!!”

That quote is somewhat relevant in my head as I’m refocusing on getting articles on bi-monthly or at least every 3 weeks.  Enough of the #demotivational, let’s get into this latest article.

While deploying a large infrastructure project one of our last requirements was to test performance on the “naked” instances before anything is deployed to it.  This will give the client a great baseline off of which to work when new projects are added including future the ability to benchmark performance and capacity.

For those that haven’t been exposed to using VS2010 for performance testing, have a look at this great article that outlines most of the theory.  (Testing Application Performance and Stress

On a high level, the administrator creates a number of web tests and then packages them together in one load testing scenario.  Configures the time, load, user step up, browser version balance and more.  The test is then executed and the administrator can review the results in real-time and store them for later.

As with most things IT, it’s never as easy as what it seems and while going through this process I worked through a couple of “gotchas” which I’d like to share below.

Licensing

To get the groovy performance testing running you will lead Visual Studio Ultimate, but waits there is more.  Not only will you need this license, you will also require certain user packs.  Herewith a screenshot that describes the two options:

userpacks

Note:  Herewith a link to a very cool article with FAQs about the Visual Studio 2010 performance testing – Visual Studio 2010 Feature Packs Frequently Asked Questions 

So basically, what is noted above is the difference between running tests with unlimited users, versus running it with a maximum of 250 virtual users.  For obvious reasons, organizations with more than 250 potential users will need the unlimited options.  Other organizations that would like to benchmark their environments to the point of failure will also for sure need the unlimited pack.

Storing Test Results

As part of the performance testing elements, a database is used to store all results and so forth.  Now this is all fine and dandy, but consider the scenario whereby the database doesn’t exist and you want to get cracking with the testing (Yip, this is what I ran into).  Herewith a quick couple of steps to get it sorted:

- You can review the connection string settings by clicking on the test control manager.  If the database in the connection string no longer exists is isn’t functional, you will need to create another one.

- To create a new performance testing database, execute the following SQLCMD on the SQL box – (ensure you are in the correct folder) – SQLCMD /S localhost\sqlexpress /i loadtestresultsrepository.sql

- Once the DB is created, go back to the connection string settings and update the string with the relevant details.

Fore more in depth elements on the data store creation, navigate to this link – How to: Create a Load Test Results Repository Using SQL

Security

Oh yes, our friend, Mr. Administrator or Mr. Unauthorized.  For security it is super important to understand the nuances of internet explorer zones, security levels, user access control and sessions.

For example, when you create a new web test (which forms part of a load test) Internet Explorer will open and all your clicks will be recorded.  If you are not operating in a trusted zone / intranet zone, you will be prompted to authenticate.  In that case, you need to edit the security context of the web test and “bind” the users to the actual web test.  This works great for cross domain testing, but I would steer clear from this if at all possible.

The other key element to consider is your connection string that is more than likely running in a windows authenticated mode.  This means that as you load test starts, the identity that is running Visual Studio (and more than likely logged onto Windows) needs access to write to the performance database created in the above mentioned step. 

List of Companies That Sell SharePoint Web Parts


I recently updated my list of SharePoint web part providers on Quora and thought I’d repost that list here in case you’re looking for some new web parts or add-ons:

www.amrein.com
www.avepoint.com
www.axceler.com
www.bamboosolutions.com
www.contentandcode.com
www.firearrowsoft.com
www.idera.com
www.infowisesolutions.com
www.intranetfactory.com
www.kaldeera.com
www.kwizcom.com
www.layer2.de
www.lightningtools.com
www.nintex.com
www.pentalogic.net
www.roxority.com
www.sharepointboost.com
www.teamimprover.com
www.virtosoftware.com
www.vinewave.com

Or you can find numerous web parts or web part providers on these sites:

www.sharepointreviews.com
pinpoint.microsoft.com
www.sharepointvillage.com
www.sharepointappmarket.com
www.componentsource.com/features/sharepoint/index.html
www.thesharepointmarket.com

 

Solved: Code blocks are not allowed in this file.


SharePoint, I heart you, but sometimes I wonder about your intentions.  I treat you with respect, I ask all my friends to work with you, but then all of a sudden you hit me with a correlation ID, out of nowhere.  What happened?  Are you unhappy with our relationship?  Should we go to therapy? 

Talk to me!!!

Okay, I’m not really in a relationship with SharePoint, but I might as well be.  From time to time a couple of funny errors creep in and although I’m 100% aware that it is the user that did something wrong, what is worrying is that the user was able to complete the “misstep”, if you will.

This morning I was working on a tender document, I made some changes (out of an attachment) and then wanted to save it back to SharePoint (like a good information worker should).  I clicked on “Save & Send” –> “Save to SharePoint” and then “Save As”.

saveandsend

A dialogue popped up and I pasted the link to the folder in SharePoint I wanted to save to (mistake).  After “saving” the document, the document library was no longer available and the error I received when trying to view the content read – “Code blocks are not allowed in this file.”

error

Thankfully, I knew that the content couldn’t possibly be lost.  I logged into SharePoint Designer and tried to get directly to the document library.  The library was available, but none of the files.  **heart stopping moment**

This got me thinking and I realized that something funky must have happened to the view.  I created a new view, and badaboom, all sorted.

In Summary

All content in SharePoint is saved in a database.  Files that render this content can get corrupted, but the underlying content will be fine (for the most part).  In some cases, a broken web part will also cause a page to go wonky, but after removing the web part, everything is fine.

Is SharePoint Taboo?


Offensive, Unmentionable, Off-Limits, Forbidden and Banned.  These are some of the synonyms that come up for “taboo” in Microsoft Word.  Do you think of any of these words when putting together your sales pitch for an intranet, website or extranet?

Didn’t think so…

So what is all the fuss about?  I’ve been in the SharePoint game for as long as I can remember and for the better part of the last 5 years I’ve been involved in sales and pre-sales of SharePoint based solutions.  The beginning of my sales “career” was predictable; “This is SharePoint, look at all the cool features”.  From there it went into the “This is an information management system, look at all the benefits” and now I find myself in a fantastic medium between both of the extremes.

What about the customer?

In a sales cycle of a solution based on Microsoft Dynamics CRM 2011 the customer paused the engagement to review products that compete with MSDYNCRM2011 in order to ensure they are making the right decision.  This got me thinking.  If we aren’t using the word “SharePoint” in our pitches, how does the customer know what they are buying or what the enormous ancillary benefits are to owning the platform?

The answer is pretty simple, they don’t.

What about the community?

In some ways I firmly believe that the SharePoint community gets wrapped up in its own hype quite a bit.  “Oh, SharePoint this and SharePoint that.”  “Oh, you can’t use the word Intranet, it’s so done”.  Well, why not? 

No matter how far our (the community at large) understanding of knowledge management, and so forth, has come, customers still contact us almost weekly for a “Intranet to enhance internal communication and share documents.”  In that particular scenario I think it is paramount that the customer understands (at a high level) the base platform, it’s underlying benefits, features and functions and high level roadmap capabilities.

I find it a chore to discuss basic SharePoint elements in some sales pitches, but more often than not I get reminded how important it is.  As I’m so close to the tool and what it does, I’ve almost forgotten how cool and beneficial some of the basics are to customers.  Check in / check out, versioning and self service permission management can literally change a company, but yet in some solution selling engagements we don’t harp on it.

So where to from here?

To each their own, but I do believe we need to get back to basics, and learn to love the brand.  We mustn’t be afraid to stand proud and say we are selling SharePoint and that our Intranet’s are based on SharePoint.  Customers need to know that and I think in some cases the community needs to remind themselves that the basics can make a remarkable difference in companies if implemented correctly.

Is the word SharePoint taboo, I think not.

Navigation GOTCHA: SharePoint 2010


More often than not vendors are developing their own navigation controls for SharePoint 2010.  These include megamenu, custom .NET controls and so forth.  I’ve been involved in a couple of great ones myself.  One that stands out was a “Windows 7” type of navigation that my colleague (Oliver Smit, Oli4) built for the University of Johannesburg (MOSS 2007 WWW).  The site has been updated since, but that was a great piece of code.

Now what happens when you are putting together a pretty straight forward website and simply want to utilise the built in controls?  Well, it all works find and dandy until you need to order the sub pages.  Here is the scenario:

A heading (sub site) has pages and you want to manually sort those pages in the order that makes the most sense for you.  SharePoint’s navigation can do it, but a combination of settings need to be correct.

Top Navigation

image

Global Navigation Settings in SharePoint

image

So where do I arrange my pages?  The sub sites are set to inherit from the main site for ease of maintenance.

The answer is in the navigation settings themselves.  Although the sub sites inherit navigation from the main site, the ordering of the pages must still be done on a site level.  Now if you have not selected the “show pages” option in the site level (as it inherits from the top) you won’t see the pages to sort them.

In other words, to get past this gotcha, enable the “show pages” setting for the current navigation, sort the pages, click OK and then revert the “show pages” setting back to what it was:

On the sub site, enable “Show pages”

image

Sort the pages

image

Click OK and then revert the “Show pages” setting for the current navigation.

 

In summary, I find that many things are possible in SharePoint if you dig around long enough and play with different combinations of settings.  More often that not, I find that an implementation method is the root cause of the problem, not the product itself.

Happy SharePointing, keep it classy.