SPTechCon Boston 2012 Follow Up

SPTechCon Boston 2012The SharePoint Technology Conference (SPTechCon) has always been one of my favorite SharePoint conferences. It was the first big conference I ever spoke at, and the folks at BZMedia(where’s Katie’s photo???) who put it on are all aces, every single one of them.

I only did one session at the latest iteration in Boston because I totally forgot to submit anything before the deadline. On the day of the deadline, I begged a little bit and David Rubinstein relented and slid me in. Since it was almost literally in my backyard, I didn’t want to miss out! Next time in San Francisco, I hope to do a workshop or two as well as some “regular sessions”.

My session in Boston was one that I’ve been doing different versions of over the last year or so called Flying in the Cloud: New Ways to Develop for SharePoint. It’s different every time because I am always adding new examples based on the client work I’ve been doing.

In the session, I talked about some of the ways I’ve been building things in SharePoint way back to the early SharePoint 2007 days, when I worked for what I call Jornata I (ask Scott Jamison or Mauro Cardarelli about those heady days). To me it’s not a new way of working, but with SharePoint 2013 coming along with its new app model, it’s becoming almost fashionable to use things like jQuery, Web Services, DVWPs, XSL, and CSS. You know, that “no code” stuff.

If you’re interested in the demos I showed, I’ve packaged them into a couple of WSPs which you can download and instantiate in your own environment if you’d like. Additionally, for each of the examples, I’ve done other blog posts which describe what I did and how they work, along with the code. If you can’t find the posts, feel free to ping me via the contact for or on Twitter (@sympmarc) and I can shoot you a link for what you’re looking for.

SharePointFest Denver Follow Up

SharePointFest Denver 2012Well, I’m back from SharePointFest Denver – for the record, red eye flights suck – and I want to thank the SharePointFest team for a job well done. It was a fun conference, as it was last year, and a great excuse for me to spend a few days in advance with my two brothers and their families. As always it’s great to catch up with SharePointilist friends of old and to meet new ones.

SharePointFest Chicago 2012I’m looking forward to SharePointFest Chicago in September. In Chicago, Kyle Schaeffer (@kyleschaeffer) and I will be reprising the workshop we did earlier this year at the SharePoint Conference .ORG called SharePoint Design Essentials. Kyle is a design and branding superstar and I’m honored to share the podium with him. I’ll also be doing the same two regular sessions I did in Denver: Flying in the Cloud: New Ways to Develop for SharePoint and SharePoint Solutions with SPServices. Maybe better the second time?

I want to thank everyone who came to my two half-day workshops and two regular sessions at SharePointFest Denver this week. I hope you all enjoyed the sessions, and feel free to follow up with me if you have any questions about what we covered.

I’ve posted the slides for A jQuery Primer for SharePoint and Flying in the Cloud: New Ways to Develop for SharePoint on SlideShare. Richard Harbridge (@rharbridge) convinced me of the merits of a SlideShare subscription and in a cool twist, the SharePointfest Denver – A jQuery Primer for SharePoint slides were featured on the SlideShare home page yesterday and today. Now that’s a nice welcome to a Web site subscription.

For those of you who’d like to view the slides right here, they are embedded below.

There are two WSPs which contain the demo sites I used across the sessions. Both WSPs are contained in this ZIP file: SharePointFest Denver 2012. Some people have issues when they try to instantiate solutions like this in their environment, most often due to an activated features mismatch. Let me know if you have problems, and perhaps we can work through them.

Enhanced by Zemanta

SPXSLT (SharePoint XSL Templates) Release 0.0.9

SPXSLTI’ve just released a new version of the SPXSLT Codeplex Project, version 0.0.9.

In this release, I added one new template called FixAmpersands. FixAmpersands is useful when you want to “join’ two lists in an AggregateDataSource in a Data View Web Part (DVWP) and the column you are uisng as the key may contain ampersands. This isn’t all that unusual if the keys are text values that don’t represent some sort of coding scheme, like a Product Code. Sometimes you may need to “join” two column values that contain ampersands, like “Beef & Kidney Pie” or “Tool & Die”. Because of the way that ampersands must be encoded on the Web, the primary value will contain the ampersand & but the secondary value will contain an encoded ampersand &. By calling FixAmpersands on the primary value, the “join” will work because the & will be replaced with &. (In fact, I had to monkey with the representations of the ampersands in that last sentence to get them to display correctly.)

The template is recursive, so it will replace *all* occurrences of & with &.

FixAmpersands looks like this:

<xsl:template name="FixAmpersands">
  <xsl:param name="StringValue"/>
  <xsl:variable name="Ampersand" select="'&amp;'" />
  <xsl:choose>
    <xsl:when test="contains($StringValue, $Ampersand)">
      <xsl:value-of select="concat(substring-before($StringValue, $Ampersand), '&amp;amp;', substring-after($StringValue, $Ampersand))"/>
    </xsl:when>
    <xsl:otherwise>
      <xsl:value-of select="$StringValue"/>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>

And you call it like this:

<xsl:varaible name="FixedTitle">
  <xsl:call-template name="FixAmpersands">
    <xsl:with-param name="StringValue" select="@Title"/>
  </xsl:call-template>
</xsl:variable>

In the examples above, here’s what would happen:

Title FixedTitle
Beef & Kidney Pie Beef &amp; Kidney Pie
Tool & Die Tool &amp; Die
Sugar & Spice & Everything Nice Sugar &amp; Spice &amp; Everything Nice

I also fixed a small issue I noticed with the MultiSelectValueCheck.xsl file, which was missing the stylesheet wrapper.

Office365 Redmond Slides and Demos

I had great fun presenting at Office365 Redmond a few Saturdays ago. Not only was it on the Microsoft campus, but some Microsoft folks were in my session as well. It’s always interesting to see the reactions from Microsofties when they see how people really use their stuff.

My session was entitled “Flying in the Cloud: New Ways to Develop for SharePoint”. In some ways, the session was very similar to my old “Developing in SharePoint’s Middle Tier” presentations, but skewed toward Office365 and working with SharePoint Online. One of the great things about working in SharePoint’s Middle Tier is that the same approaches just plain work in both environments. There are a few small differences, but they aren’t of much consequence. I was able to do my demos on my Office365 E1 installation with no problems, since I had worked out my issues with migrating my demo environment from my local VM to SharePoint Online. It wasn’t a simple thing (though it should have been).

It was the inaugural event for Office365 Saturday, and I was interested going in how it would work vis a vis SharePoint Saturday. As it turned out, the majority of sessions were about SharePoint. It’s not clear if that’s because Exchange and Lync are less interesting, the communities for those two products aren’t as strong, or those folks aren’t as willing to spend a Saturday talking about them. In any case, I think that it’ll take a few more of these Office365 Saturday events before we all know whether the idea has legs, at least as a separate event from the venerable old SharePoint Saturdays themselves.

I’ve learned a few things about compatibility of solution files (WSPs) between SharePoint Online and on premises installations over the last few weeks. Because of this, I’m including two WSPs for each demo in a ZIP file. (The few slides I used are also included.) There is a WSP for on premises and one for Office365 for each of the two demo sites. They aren’t exactly the same, but they are close enough for you to see all of the important bits and pieces I demonstrated in the session. If you download things and have issues hydrating them, please let me know what those issues are, as I’m trying to understand as much as I can about these portability considerations.

Thanks to all of the organizers, sponsors, and other speakers for a great day of information and knowledge sharing.

Trials and Tribulations: Migrating My Demos Site to Office365 – Part Two

Office365

Office365Well, it took me a while, but I solve this problem. In my first post about it, I explained how I was having trouble figuring out what features installed in my local VM were causing the problems instantiating my demo site in Office365 – SharePoint Online.

I got stuck with the feature that has the GUID af6d9aec-7c38-4dda-997f-cc1ddbb87c92. When I wrote the post and tweeted about it, Chris Beckett (@sharepointbits) did some digging to find out what the feature was all about. It seemed that a forced deactivation was probably the right next step. (Check the comments on my original post for the details from Chris.) Then I got busy and didn’t get to it again until today.

Since I’m speaking at the first Office365 Saturday out in Redmond in a few weeks, I really needed to get my demos copied up into my Office365 site. What sort of talk would it be if I just waved my hands and said “Imagine that this demos is taking place in Office365?”

Today I finally got back to it. The first thing I did was look for some hints about how to work with features using PowerShell. I’ve done a little bit with PowerShell on and off, but not frequently enough to remember all the commands.

I found the perfect post from Corey Roth (@coreyroth) called Activating and Deactivating Features with PowerShell in SharePoint 2010. It had exactly the right examples to help me and it was written at exactly the right level (PowerShell newbie). Yeah, I know I should be loving PowerShell and doing all sorts of things with it every waking moment, but the way I work with SharePoint I rarely need it.

First, I wanted to see what the feature actually was, just to verify what Chris told me and to make sure that I wouldn’t be shooting myself in the foot by deactivating it. Easy as pie with Corey’s example:

What is af6d9aec-7c38-4dda-997f-cc1ddbb87c92

It was indeed something to do with Web Analytics Custom Reports, something which I don’t care about at all in my VM, so I was fine with getting rid of it.

On to the next PowerShell command to deactivate the feature:

Deactivating af6d9aec-7c38-4dda-997f-cc1ddbb87c92

That was pretty painless. I saved the site I wanted to move to Office365 as a template again and uploaded it to the Office365 Solution Gallery.

This time when I went to create a new site, it worked! Yippee!

I’m sticking with my original points on this, though. One shouldn’t need a Microsoft Certified Master on Microsoft SharePoint Server 2010‘s help (that would be Chris) to move a site from one environment to another. Clearly, this isn’t my forte in the SharePoint space, but I still say that the error messages should be clearer and also suggest a way to a resolution. And I still think that poor Sandie, my intrepid SharePoint administrator, would be stuck in this case unless she is very good at what she does. It shouldn’t be so opaque and difficult.

Enhanced by Zemanta