Announcing the Mastering SharePoint 2013 Development lab

Add Comment | Oct 31, 2012

If you’re a seasoned SharePoint developer and you’d like to get up and running with all the new goodies that SharePoint 2013 is bringing, make sure you check out the Mastering SharePoint 2013 Development lab I’m giving at LabCenter in Stockholm, Sweden.

3 days of development heaven *and* you take away a brand new laptop, or an iPad, or some of the other perks you decide to go for.

Check out: http://www.labcenter.se/Labs#lab=Mastering_Sharepoint_2013_Development

The overview of the 3 days:

  • Day 1
    • Module 1: Comparing SharePoint 2013 to SharePoint 2010
      • What’s new in SharePoint 2013
    • Module 2: Installing your SharePoint 2013 development environment
      • How to successfully (and above all correctly) install SharePoint 2013
  • Day 2
    • Module 3: Apps, sandboxed or full trust?
      • What’s the difference between the deployment models.
      • Pro’s and con’s
      • Code or no-code solutions?
    • Module 4: Search is the new black
      • Using the new out of the box Search webparts
      • Building a search based solution
  • Day 3
    • Module 5: Workflows
      • Differences between SharePoint 2010 workflows and 2013 workflows
      • Building a workflow using Visio and SharePoint Designer
      • Building a workflow using Visual Studio
    • Module 6: You’re the master of the design
      • The design manager
      • Master pages
      • Page layouts
      • CSS and HTML5

Microsoft Certified Master

One Comment | Jul 21, 2012

You might have noticed the extreme radio silence on this blog. The reason: I was attending the Microsoft Certified Master training for SharePoint 2010. But now I am happy to announce that I passed all the requirements and exams and can call myself a Microsoft Certified Master Smile

mcm2010

I can easily say that taking part in the program was the most intense period of my life since years.

How to become a certified master for SharePoint

Prerequisites

Pass all the prerequisite exams: 70-667, 70-573, 70-668 and 70-576. This basically means that you need to have the MCITP and MCPD credentials for SharePoint.

If you have those in your certification bag you apply to the master program by paying a (non-refundable) fee of US$ 125. They will check your MCP transcript if you have the required certifications and will invite you to upload 3 documents:

  1. Your CV. Be honest in that one, it’s not to sell you as a consultant, it’s to show them your experience
  2. A sanitized document you wrote for a project. This means that all references to customer names, person names, financial information etc should be removed. Realize this document should not be describing a single server setup. It should be a describing a tiny bit more complex environment
  3. A document describing your role in that project.

They will evaluate those documents and based on that they will decide if you’re material for the next step. If you are, they will schedule an interview with you.

The interview

Don’t take this interview too lightly. It’s impossible to prepare yourself completely for it however, I strongly advice you to read as much as possible from the pre-reading list:

http://www.dynamicevents.com/upload/MCM-MCA/MCM/SharePoint/MCMSharePointPre-Reads.pdf

While this list seem daunting at first (and probably also at second Winking smile), and while it’s not the most sexy material to read, read it. Period.

Also realize this: you think you know SharePoint. That’s why you applied for the Master Certification after all. Well, believe me, you don’t know SharePoint. That will become quite clear in the interview I can almost promise you. The questions they (yes, there are very likely several people on the other side of the phone call, all certified masters) fire at you will make wonder many times if you know anything about SharePoint at all. That’s at least what I felt after the one hour talk… I stopped counting the number of times I said: “eeuh… I really don’t know”.

But, good, you passed the interview, so it’s up to the next step: you pay the program fee (18500 USD the last time I checked) and you pick a rotation to go for.

The rotation

I went for the hybrid rotation. That means, 1 week training on-site in Redmond, and 10 weeks remote delivery.

First: the week in Redmond is *very* intense. Most days you start at 07.00, and most days you end at around 00.00 or sometimes even later. During the day you will get lectures and group assignments, and after the lectures have ended (around 18.00 or 19.00) you will have to focus on a lab assignment that has to be finished by Saturday. You all get your own blade server to use (72Gb internal memory) that will be available throughout the complete rotation (so also during the remote delivery) on which you will run about 20 to 25 virtual machines.

The level of the lectures hover somewhere around 500 if you’re familiar with that model. And they’re not only about SharePoint. SQL Server gets its fair share of attention too.

A thing that struck me from the first minute is the companionship between the students. Everyone is helping everyone. I’ve been building up an amazing new group of friends since I started with the program, all extremely knowledgeable.

Then after that week the remote delivery starts: 2 times a week a lecture that you have to attend (miss 4 lectures and you’re out and will have to redo the training from the beginning…). Each lecture is about 4 to 4.5 hours long. Then there is homework… I’ve been spending on average like 20 hours a week doing homework. Combining that with work, life, family, friends is a challenge to say the least. Realize that it will be difficult for you, but it will be as difficult for your family (no, you can’t attend this or that as you have to study, no I can’t spend time with them watching a movie, I have to study) and friends (no, I have no time for a beer, I need to study). It will completely take over your social life for a few months.

But good, you went through the lectures, you did your home work. Then it’s exam time.

The exams

First you go up for the knowledge exam. A 4 hour time block in which you have to answer 100 multiple choice questions. But realize that these questions are of quite a different level than the ‘normal’ MCTS / MCPD / MCITP exams. Every answer you can pick from seems like a valid answer…

Passed that? What a relieve already Smile Now it’s time to plan your Qualification Lab exam. Or Quallab/QL as it’s called.

The quallab is an 8 hour 45 minute war session, in which you are asked to solve issues, configure environments, code and deploy solutions, according to a list of requirements and specifications. It was both the longest and shortest 9 hour session I’ve done. As one fellow student described it: it’s like 10 days of work crammed into 9 hours…

My quallab started at 17 o’clock in the afternoon, and at 02.15 in the night I logged out. Exhausted. Completely. I was almost on the brink of crying… it was so intense. I went home, straight to bed, but couldn’t sleep, still processing the questions, and wondering if I did things the right way. Then the wait for the results starts…

Last night I received the email from Microsoft. I passed all the requirements and can call myself now a Microsoft Certified Master in SharePoint.

Was it worth it? Without a single doubt: YES. The amount of knowledge I gained is incredible, the network I’ve been building up the last couple of months is extremely valuable, the new friends I have: priceless.

Speaking about Windows Phone 7, Android and iOS in Stockholm on the 14th of February

Add Comment | Feb 12, 2012
On Tuesday, February the 14th, I'm speaking about Windows Phone 7, Android and iOS development for the Rich Application Development Interest Group (TRADIG) in Stockholm.

This is what I will talk about:
OS, Android, WP7. What’s different, and what’s the same? What hardware and software do you need to get up and running as a developer. What are the main differences in its API’s, and what can you do with one platform that’s totally impossible on the other? Objective-C, Java, C#, or is there more? How’s multi-tasking handled in Android, iOS, WP7? Focus on one platform only? Or support them all? Many questions that I will try to answer in a presentation ‘that covers them all’. Let’s have a great discussion!

If you're interesting on listening in:

http://www.meetup.com/tradig/events/50195772/

SharePoint 2010 Development 8 day deep dive training in Oslo

Add Comment | Feb 10, 2012
Say you're an experience .NET developer, but you want to broaden your horizon and dive into SharePoint 2010 development? I'm giving a 8 day deep dive training in Oslo on March 14th, 2012.

Topics that I'll address are:

  • installation
  • configuration
  • lists and views
  • content types
  • webparts
  • event receivers
  • timerjobs
  • optimization
  • handling large lists
  • any many more
It's an 8 day training, so it's quite intensive. We're starting on a Wednesday, continue until Friday, have a break in the weekend and then the whole next week. During the training we have several sessions where experienced developers come in and talk about customer cases, and in the second week of the training there is a social event.

More info can be found here: http://www.bouvet.no/BouvetWEB/Kurs.aspx?catid=162e6100-e21d-4048-b9ee-1195a36fffff&newsid=83884d3b-5b98-4256-89a6-06b8109c2124

If you're not familiar with the Norwegian language, don't you worry: the training will be given in English and all course material will be in English too.

Creating a Site Collection from your own WebTemplate on Office 365

One Comment | Feb 09, 2012

The problem
As you might know, Site Definitions are not supported on Office365. This is not a restriction of Office365 as such, but more a Sandboxing restriction. In a SharePoint 2010 Sandboxed environment you’re not allowed to deploy files to the file system. And a SharePoint Site Definition requires that.

The answer lies in the newly introduced web template tag. In this post I will describe, step by step, how to create a web template, and how to create a new Site Collection based on that web template.

So, if I have create a Web Template instead of a Site Definition, what is the problem?
Office365 is a sandboxed environment. That means that if you create a web template, and you packaged it nicely in a WSP file, you can upload that WSP to the solutions gallery of your site collection and activate it. After activation you have a template available to create the site from. And there we have a catch-22. What if the site we upload the solution package to, so the site itself, needs to be based on a webtemplate? In a on premise environment, where you are farm administrator, you simply upload the package to your farm, activate a feature on WebApplication level that installs the template and of you go. But that level of access you don’t have in Office365 or any other Sandboxed environment.

The solution

  1. Create a new SharePoint project (I picked a empty one for this example).
  2. Enter a url of a site on your local server.
    When asked for the trust level, pick “Deploy as a sandboxed solution”.
  3. Add a new Empty Element to your project
  4. IMPORTANT: The name of the element should be *IDENTICAL* to the name of the Web Template you’re creating.
  5. You will end up with an empty “elements.xml” file in your editor.
  6. Create a new WebTemplate entry as follows:

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
      <WebTemplate
      BaseTemplateID="1"
      BaseTemplateName="STS"
      BaseConfigurationID="1"
      Name="Root Site"
      Title="Root Site"
      DisplayCategory="Company Templates"
      Description="Company Root Site Template"
      />
    </Elements>
  7. Notice the Name property of the tag. That name should be identical to the name you used for the element in step 4.
  8. The BaseTemplateID is the ID of the Out of the box site definition. You can find those definitions in

    {SHAREPOINTROOT}\TEMPLATE\1033\XML\WEBTEMP.XML

    If you have additional language packs installed on your server, like for instance Swedish, then there are other folders.
  9. Open the WEBTEMP.XML file and find the site definition you want to base your webtemplate upon. I picked the Blank site definition (STS), and that definition has an ID of 1. Set that value of the BaseTemplateID property.
  10. The BaseConfigurationID property is the configuration you want to use . The configuration and what is performed in it can be found in

    {SHAREPOINTROOT}\TEMPLATE\SiteTemplates\STS\xml\ONET.XML).
  11. Provide values for the other properties as appropriate and you are almost done.
  12. If you want to use an ONET.XML file, you can. Copy an existing onet.xml file (or, if you want/can, create a new one from scratch) and add it to your newly created element. Mark the file as an ElementFile, as in the screenshot below:

    snippet1
  13. As Visual Studio automatically created a feature for you and added this elements file to the feature, its now just a matter of packaging your solution and you’re ready to deploy it to Office365.

 

Now, in order to use this newly created webtemplate for a new Site Collection, act as follows:

  1. Log on as administrator of Office365 and create a new site collection. When asked for the template, switch to the custom tab and pick “<Select template later…>”
  2. Wait until the site is created and click on the link to browse to it. You will be asked to pick a template. Do not pick the template, but go to the Site Settings by opening

    {http://yoursite.office365.com/sites/yoursite}/_layouts/settings.aspx

  3. Open the solutions gallery, upload your solution package (WSP file) to the gallery and activate it.
  4. Now browse again normally to your site, and again you will asked to pick a template. And now, finally, your template will be available for selection. Pick it and your site will be created just the way you want it.