You are visiting the High Monkey blog archive. Posts prior to 2016 may not meet accessibility standards. Please visit our current blog area at https://www.highmonkey.com/blog to view accessibility compliant blog posts published since January 1, 2016.

Thanks Internet - Everybody is a dev now

Written By: High Monkey
Posted: 3/11/2013

(From the mind of Peter Serzo, Previously VP of Consulting Services at High Monkey)

In regards to the title of this article, Sheldon Cooper (Big Bang Theory) would say, “Is that sarcasm?”  I will leave that for you to judge after reading.

As a developer by nature, the internet is a great resource for all of us SharePoint folk, even MVPs and people who work on the product at Microsoft.  There is a plethora of information (good and bad) in regards to how accomplish tasks of varying complexities, whether it be debugging an issue or determining if you should load the latest cumulative update (Tread very carefully here).  I was sitting with a group of very smart speakers last year and the joke was made that the internet made up half of our brains.

Of course this isn’t true.  But what I am observing more and more in the SharePoint world and at my customers is the ability for power users to implement complex code to accomplish complex tasks.  The power user can almost become a developer.    Darren Bishop coined the term, gDev.

I am going to boil how a power user can obtain this capability through three client-side enabling technologies.  I say client-side because nothing needs to be loaded on the server for these technologies to work.  The only tools you need to use to create solutions are SharePoint, notepad, and SharePoint Designer.  The technologies are:

  • Content Editor Web Part
  • SharePoint Client Object Model
  • jQuery

The positive side of the internet is that many of us are willing to share our solutions via blog posts, webinars, podcasts, and other media.  For the enterprising person who is willing to research a solution it is most likely out there in some form.  The bad is if you are an enterprising person who is willing to research a solution it is most likely out there in some form and can immediately be implemented.  Or said another way, the enterprising person implements a solution and now thinks they need no developer – they are the developer.

A famous movie quote comes to mind: “Inconceivable!”

The first technical capability that enables power users to implement bad code comes to us in the form of the Content Editor Web Part (CEWP).  If you bing this for solutions there is no lack of information on how to do complex tasks in SharePoint.  My favorite cautionary tale of the CEWP was when I was managing a team of a public site for a large enterprise of a brand we all know and love.

One of the folks I was not managing, the customer’s personal HTML designer, a great designer, decided he wanted to make a change to the public home page.  He implemented this change via the CEWP, published the page, and BAM…corrupted the whole page throwing all the elements off.  He thought he was implementing something simple but did not understand the ramifications of component relationships on a page.

This is exactly why I have a STRONG dislike for the CEWP and turn to it only when I must.  My best practice with the CEWP is to utilize the Content Link.  The benefit of this is twofold.  The first is that the code (HTML/Javascript/CSS) does not get buried in the web part itself.  Burying code in the CEWP is bad because every time the code needs to be modified, the page must be checked out and the web part modified.

The other benefit of using a file based approach via the Content Link is that the file frees the page from ever being edited.  When you want to modify code, you do it via a file.  Not only that, but now you have versioning.  In addition, you have the ability to manage the permissions on the file so that not just anybody can change the code.  Especially if it is to a public site!

The second enabling technology is the SharePoint Client Object Model.  This one is a bit tougher for power users to utilize.  In order to properly use it C# is best utilized and that is real code (spoken like a true Dev).  However, power users who can create and edit pages have the ability to implement this type of solution with simple copy and paste.  Just like the CEWP, a power user implements this solution on the client side.

The caveat to this technology is that it is a quantum leap more powerful than the CEWP solution.  We are talking code via the client object model.  One must be knowledgeable about items like constructors, the hit a server takes when batching queries, writing modular code, order of operations via JavaScript and complex things like asynchronous/synchronous.

The last enabling technology is jQuery.  This is an open source JavaScript class library that when added to a site gives users the ability to do all kinds of complex client side operations.  Think of it as a bionic suit that you put on that enhances your muscles.  It enhances your skills but is only as good as your skill.  jQuery is exactly that.  It has a rabid following, great website with lots of code examples that can be immediately utilized in a SharePoint environment.

If you know JavaScript, implementing a solution with jQuery is not difficult.  But jQuery has its own quirks that one must be aware of.  You are implementing a library and then your own code which interacts with it.  Package your code in files, try not to insert the code inline.  If you are using someone else’s open source code, ensure you understand it.  jQuery is powerful but like any other code base there are the potential for bugs.

My cautionary tale in relation to jQuery had to do with a solution that was created for rotating images at the enterprise above.  Every day 60K desktops opened up to this page with the rotator.  The client did not like the timing between the images and asked us to speed it up.  The consequence is that the PCs took a major hit since they had a maximum of 1GB RAM at the time.  Combine that with the windows that a person had open and all of a sudden the helpdesk was deluged with calls about PCs freezing up.  Cause and effect.  No one wanted to be the developer that day.

Client side programming has opened up in the last five years with powerful tools that gives power users a taste of feeling like a developer.  HTML5 and SharePoint 2013 are opening this toolset even wider.  With the ability to use a tool like Dreamweaver now more than ever complex solutions will be implemented client side.

But being a true developer takes several years of coding to be competent.  Copy and pasting some code does not make you a developer.  Understanding the complexities of coding, how the code interacts in different environments, understanding how to write and debug code is a skill earned through experience.

Thanks to the Internet, everybody is a a developer – yes, that is sarcasm.

Chad's Bio Coming Soon!

More About Virgil

Virgil Carroll is the owner and president of High Monkey – based in Minneapolis Minnesota. Virgil also wears the multiple ‘hats’ of Principle Human Solutions Architect and SharePoint Architect.

Virgil is one of those rare individuals who can dive deep into technical topics while speaking clearly to the business owners of a project and never forgetting that the end user experience has the highest priority. He calls it using both sides of his brain. Virgil is passionate about leveraging technologies ‘out of the box’ as much as possible with a focus on the strategic use of content to create websites that deliver the right content to the right audience on the right device at the right time. Virgil brings high energy, an ironic wit, and a sense of grounded perspective whenever he speaks to an audience. Virgil regularly speaks at conferences and user groups throughout the United States and occasionally in Europe.

Posted: 3/11/2013 12:00:00 AM by | with 0 comments
Filed under: