How To Time a Piece of SharePoint Code


If you’re optimizing your custom web parts or SharePoint components for performance, you might want to time how long it takes for a certain piece of your code to execute.

Here’s a handy C# snippet that you can use to do just that:

var timer = System.Diagnostics.Stopwatch.StartNew();

(your code goes here)

timer.Stop();
Response.Write(timer.ElapsedMilliseconds);

This isn’t SharePoint specific – you can use this snippet in any .NET app, but I’ve found that it definitely comes in handy when performance tuning your SharePoint code.

Do you have your SharePoint drivers license?


Microsoft will soon release a new certification specific to consultants in it’s ecosystem.  It will be called the Microsoft SharePoint Drivers License or MSDL.  The MSDL, due out in January of 2012, will separate the real specialists from the pretenders and ensure that customers work with qualified individuals.

Okay, this isn’t true as I have yet to take up my position at Microsoft.  Winking smile

On a serious note, don’t you think this is a great idea?  Microsoft recently changed their partner model from “Partner & Gold Partner” to “Partner with Competencies”.  This new approach has really given the customer a far better metric to determine whether or not the partner they are engaging with is “competent” to deliver services in the relevant area.  For example, for SharePoint (Portals & Collaboration), a partner would need at least 2 Microsoft Certified Technology Specialists (SharePoint Configuring / Development) plus customer references to get to a Silver competency.  For Gold, the criteria steps up a little to 4 MCTSs, a number of customer references and a completed CSAT survey.

I went a large part of my initial career without ever being certified in SharePoint.  I simply flew by with on the job experience, a tireless work ethic and a true love for the technology.  Looking back, had their been a license or equivalent procedure in place, I believe I would have benefited hugely from it.

What about Microsoft Certification?

Microsoft certification is good to have, don’t get me wrong, but when I interview, certifications don’t carry the most weight in my review of a candidates suitability for the role.  It’s “who they work for"?”, “what have they done?” and for “how long?”.

I come across too many “certified” individuals that haven’t really gotten the job done and have simply studied for the test, but have no practical experience.

Enter the Microsoft SharePoint Drivers License

I haven’t thought through the entire process just yet, but on a high level, a MSDL could comprise of 4 main categories, for example:

  • Certifications:  Denotes a good understanding of theoretical side of the product
  • Customer References:  Will highlight that you’ve actually got practical experience in a particular area
  • Employer References:  Will underscore your work ethic, dedication and character.
  • Community Endorsement:  The community often knows the true ability of individuals and this endorsement will carry a lot of weight.  Also, no newcomers will simply get a community endorsement, so only the experienced “SharePointers” will get this prestigious tick in the box.

For example, to get a silver drivers license, you could be certified with 1 customer reference and 1 employer reference.  For gold the numbers go up and so on.  Perhaps we sneak in a platinum for those recognised by the community.

Customers now have a great metric to rate partners against, but how do they rate the staff that is assigned to their site?  The MSDL will level the playing field and remove all the noise out of the system. 

As noted before, I come across A LOT of “certified” and “experience” “consultants” (quotations used for affect) that simply cannot hold a conversation with even a half decent SharePoint professional.  Why is it then that they are in the ecosystem and continue to deliver services to customers at exorbitant rates?  The answer is simple, certifications are not taken that seriously and there is no other objective metric system in place for consultants.

Where to from here?

Hopefully this will spark a little bit of chatter around the community.  I’m not sure where certification is going, but I believe that there should be an additional metric whereby ALL individuals in the ecosystem get measured.  A multiple choice test once every 3 years is simply not good enough.

SharePoint and DOCTYPES


I happened across a great MSDN article on SharePoint 2010 branding, which contained the following info on the DOCTYPE declaration that I thought was worth highlighting:

When you are creating cross-browser compliant HTML, it is important to understand how HTML DOCTYPE declarations work. A DOCTYPE is a declaration that instructs a browser or validator to use a specific language to interpret the HTML or XML code that it describes. Although it is possible to create HTML—and even master pages—that do not declare a DOCTYPE, without one, browsers can render HTML code in unexpected ways. For example, without a valid DOCTYPE declared, Internet Explorer 8 will render an HTML page in Quirks Mode (which is similar to how Internet Explorer 5.5 would render a page).

There are several DOCTYPE declarations in use currently that can cause a browser to render content in a predictable way. The most popular DOCTYPE declarations are the following:

  • HTML 4.01 Strict Allows all HTML elements but does not allow deprecated elements such as the tag.
  • HTML 4.01 Transitional Allows all HTML elements, including the deprecated elements.
  • XHTML 1.0 Strict Similar to HTML 4.01 Strict, but all tags must be well-formed XML (for example, tags must be closed properly). Any deprecated elements are ignored.
  • XHTML 1.0 Transitional Similar to HTML 4.01 Transitional, but all tags must be well-formed XML. Deprecated elements are allowed (but must also be well-formed XML).

Because SharePoint 2010 uses the XHMTL 1.0 Strict DOCTYPE declaration in its default master pages, use the XHTML 1.0 Strict DOCTYPE when creating HTML that is intended for use in SharePoint 2010.

 

Read the full MSDN article here.

How to: Create custom permission level


SharePoint ships with a number of permission levels out of the box, they are:

  • Full Control
  • Design
  • Contribute
  • Read
  • Limited Access
  • Approve
  • Manage Hierarchy
  • Restricted Read
  • Records Center Web Service Submitters* (This, and others may only be created based on what features are enabled)

Note:  User permissions explained on TechNet – http://technet.microsoft.com/en-us/library/cc721640.aspx

As you may, or may not, know, each permission level has a certain amount of access allocated to it.  For example, all people that have Contribute rights may be able to view, add, update, delete, approve and so forth.  All people that have Read rights may only read. 

Now what happens if you need someone to be able to Edit, but not delete?  Easy, just create a new permission level.  Here is how.

  • Navigate to Site Settings (_layouts/settings.aspx)
  • Click on Site Permissions
  • Click on Permission Levels in the Manage tab (in the ribbon)
  • Manage Tab
  • The existing permission levels will be shown
  • permission levels1
  • Click on “Add a Permission Level”
  • The “Add a Permission Level” page will be shown.  On this page, you can create your own combination of permissions you require.  For example, view, add, edit (but not delete).
  • Simply give your new permission level a name (and description) and tick the permission you wish to give.
  • permission levels2
  • Note that delete is not selected.
  • Click on “Create” to complete.
  • permission levels3
  • The new permission level will now be visible and available for use when granting permissions.

T3chnicallead catches up with Vinewave


vinewave

So T3chnicallead recently caught up with the founder of Vinewave, the up and coming products business, here is an excerpt from the conversation:

How did you come up with the name of the company?

Well, I knew that I wanted a unique name, and I wanted a .com, so I put together a list of words that I liked and ran them through a domain checker tool which created combinations of the words and checked domain availability. One of the options was Vinewave, and I liked it immediately. So needless to say there’s no real special meaning to the name – it just rolled off the tongue nicely and looked good, so I went with it. Funnily though, I’d already developed the logo (the green circle), and the name happened to match the logo perfectly.

How much time has gone into the development of your first product, Essence?

It’s been about 9 months in total between founding the company and launching our first product, Essence. The actual development time on Essence itself was about 3 to 4 months.

What process did you use to select the components making up Essence?

Our vision from the start was to build a SharePoint ‘starter kit’ that offered the most commonly requested web parts for SharePoint intranets. So we basically chose to build the web parts that we have seen customers asking for time and time again: Classifieds, News, Staff Directory, Articles, Birthdays and Picture Gallery. SharePoint intranet landing pages are often very boring and not very useful, and we wanted to create a product to solve this problem.

Discuss your biggest challenge while developing Essence.

I would have to say our biggest challenge so far has simply been time. As anyone building software products will attest, there are not enough hours in a day! We have so many ideas that we’d like to implement, but we just cannot find the time to do all of them right now, so prioritization is critical for us. Quality is also very important here, so we try to ensure that nothing is rushed.

With Essence completed, what product will you be focusing on next?

We have a couple of ideas in the pipeline, but for now we’re just focusing on improving Essence. But be on the lookout for some great stuff to come :)