Category Archives: SharePoint

SharePoint Saturday Twin Cities–May 2013

Another great event this past weekend – for those of us that were able to navigate the monsoon in the morning. Almost 500 attendees made it in.

Slide decks should be posted to the www.spstc.com soon. Until then I posted mine out on Slideshare if anyone wants to take a peek at them.

SharePoint 101: What is this thing called ‘SharePoint’?
This is a really high level overview of what SharePoint is and what it offers to an organization…

Understanding SharePoint Roles
This is an overview of all the different roles and responsibilities that can play a part in a SharePoint implementation… lots of discussion during the session…

Use SkyDrive Pro with a Office 365 2010 account

I want to keep my stuff in SharePoint, but also have it synched down to a local location. Should be cake with SkyDrive Pro, but my 365 account hasn’t been upgraded yet. So, what to do… Well, it turns out as long as you have the SkyDrive Pro app installed, you can still do it with your 2010 ‘era’ site.

UPDATE: SkyDrive Pro client is now (5/22/13) available for download for Windows. More info can be found HERE.

  1. Create an account on the NEW Office365 – the latest ‘2013’ version. At the present time existing accounts are being upgraded while new accounts are all on 2013. What we’re doing  can be one of the free demo accounts – we just want to get the SkyDrive Pro client installed.
  2. Create a user account and have the user log in to the account.
  3. In the top navigation bar towards the right side, click on the ‘SkyDrive’ link. If this is a new account, you might need to do some basic configuration steps – it’s creating a My Site for you, etc.
    image
  4. Just below the top navigation bar and further to the right, click on the ‘Sync’ button and follow through a few dialogue boxes.

As I understand it, configuring your first library to sync locally will get the app installed and working locally. By default, the initial Sync action uses your My Site document library as the default library to configure – the “Share with Everyone” library. Once this is set up, you should have a synched folder that shows up in your Favorites in File Explorer called ‘SkyDrive Pro’. You can remove this sync folder later.

Now that you’ve got the app installed, let’s go ahead and add a 2010 library to be synched.

In your Windows tray, you’ve now got a SkyDrive Pro icon (the blue one) – you may also have a ‘normal’ white SkyDrive icon as well…
image

  1. Right-click on the SkyDrive Pro icon and select ‘Sync a new library’
    image
  2. Paste your 2010 version 365 document library URL in there… it’ll now create a ‘SharePoint’ folder in addition to the ‘SkyDrive Pro’ folder and sync your 2010 library in there.
    image

Good to go!

I don’t know if there’s a way to get the SkyDrive Pro install without doing this, but this process does work.  Smile

Oh, and here is an article from a MS blog on it as well: http://office.microsoft.com/en-us/support/sync-a-library-to-your-computer-HA102832401.aspx?CTT=5&origin=HA102822076

Registration is open for the Spring 2013 SharePoint Saturday Twin Cities

SharePoint Saturday Twin Cites will have its Spring event on May 18th, 2013. We will again be at the Normandale Community College campus, but this time will be using the brand spanking new wing and rooms (still using the same entrance area on the West side).

Registration: http://spstcspring2013.eventbrite.com/

The last few events have filled up – so get signed up early. Also please be courteous to other hopeful attendees and cancel your registration if you are unable to join us.

We’ve got one of the largest SharePoint Saturday events in the country and with feedback from attendees, speakers and sponsors, one of the most successful as well. So join us for another day of SharePoint with tracks for SharePoint 101, Information Workers, Developers, IT Pros and a new vendor showcase room – all for free.

We have a new web site on the way as well. Keep an eye on http://www.spstc.com for information on sponsors, speakers, sessions and schedules coming soon. Also ‘Like’ our Facebook page for more immediate updates.  https://www.facebook.com/SPSTwinCities

We look forward to seeing you there!

Group Work Site, Feature and Lists: 2010 to 2013

The short answer/story is that they are deprecated – no longer available… The reason given was that they were not widely used. The Group Work  site is not available when selecting sites in 2013 and the site feature is no longer available to be enabled.

The template ID does still show up in the 15 hive – to accommodate migrations from 2010. However, the article listed below also states that these templates and features will NOT be available in a future ‘major’ release.

The official notice can be found here from Microsoft:
http://technet.microsoft.com/en-us/library/30d640e8-bb5d-4547-b28a-94cc8bbf0dbe(v=office.15) 

So, where does that leave us if we DO want to use these features?

Group calendar and Resource Reservation
For the Group Calendar and Resource Reservation features added to the traditional calendar, the better long term replacement is using Outlook/Exchange. Ideally, the people being scheduled would be in Exchange as users anyhow so they could get the benefit of alerts, personalization, etc. It is unfortunate that this does go away however for some small businesses that with the feature could do without additional licensing. However much more capability comes with having ‘real’ accounts.

‘What’s New’ Web Part
First of all – Laura does a wonderful job of giving a detailed look at this web part here: http://www.sharepoint911.com/blogs/laura/Lists/Posts/Post.aspx?ID=92 

The properties of this web part have made the filtering much easier for users. However the same capabilities do exist with normal date, item number and column filtering. What this web part does that others don’t is include content from multiple lists – which is really nice. Now, you can still use separate web parts to accomplish this, but its not as nicely wrapped up as this web part does. 

Circulation List
Much of this functionality can be replicated by using workflows on a document library list. But it was nice to have it pre-baked and wrapped up nicely to use without the additional work.

Phone Call Memo
Much of this one can be replicated fairly easily using a custom list, views and SharePoint Designer workflows. But, as many have commented much of this also goes away with all the social tools and other capabilities we have available to us these days with automated phone systems, etc.

Whereabouts List
Again, much of this functionality is available via Exchange/Outlook or other communication tools. A SharePoint list/calendar can certainly be used for this when all the parties are not in the system and accomplish much of the same thing, without the nice interface that this list and web part provided.

One thing I have not yet tried is exporting web parts from a 2010 farm and importing them into a 2013 farm to see if that works. HOWEVER, I would recommend finding better – supported – solutions to doing this so that you’ve got a solution that will be supported going forward rather than just finding a way to extend a capability that we know is going away. (just in case you were wondering or thinking about that option…)

At the end of the day, this feature set was a nice group of pre-baked mini solutions that were handy in certain circumstances – most of the scenarios were for small business users that didn’t have some of the tools available through Exchange, etc. Now, with the availability of Office 365 for organizations of all sizes, these capabilities (and much more) are available through those licenses – though getting the specific solutions takes a little more stitching together to get. 

SharePoint 2013 App Store

In my session at today’s Minnesota SharePoint User Group (MNSPUG) we had a question about the SharePoint App Store and if there was a feed available so that folks could keep up on what’s out there and when new apps are added.

The short answer appears to be No. At least for now.

For starters the SharePoint App Store can be accessed here to browse apps online:
http://office.microsoft.com/en-us/store/apps-for-sharepoint-FX102804987.aspx 

The closest we’ve got to a ‘feed’ is the New Apps for SharePoint section on this page. At the bottom of the page we’ve got categories to work with, but we’re likely better off going to search and using the search refiners, which should produce the same results. 

For search you can start here:
http://office.microsoft.com/en-us/store/results.aspx?qu=sharepoint&avg=osu150

Each of the apps has a Released date. Maybe Microsoft can add a sort based on that field to help us find new items.

We’ll see. There aren’t that many apps listed yet, but hopefully they’ll be added on a regular basis going forward as the 2013 platform adoption increases.

JS Link for SharePoint 2013 Web Parts–A Quick Functional Primer

JS Link is a new web part property in many SharePoint 2013 web parts.  It allows users and developers to create Client-Side Rendering (CSR) solutions within SharePoint 2013.  In other words, it allows alternate formatting, data and functionality to be manipulated within a web part.  It is one approach that will help replace the data view web part (DVWP) functionality that was used in SharePoint 2010 and SharePoint Designer 2010. 

For example, CSR scenarios can edit how specific fields are displayed, how whole web parts are formatted and what functionality is available.  And these are just a few simple examples.  There is a lot of potential for what can be done.  My session at SPC12 just scratched the surface while others dug much deeper.

Something to note is that using JS Link to implement CSR functionality is easy and reversible.  If you don’t like what it’s doing to your web part you can easily change the JS Link property back (blank it out) and your web part will go back to it’s default format. 

The CSR approach is more developer-focused than power user-focused.  There are, however, a few simple things that can be done that I think will be accessible to power-users that have some comfort level with code, specifically JavaScript, HTML and CSS. 

So, here are the main components you need to make CSR work with out-of-box web parts – nothing fancy – using JS Link in SharePoint 2013:

  • Create a JavaScript override file
  • Upload the JavaScript file to the Master Page Gallery
    • Set the content type and properties of the file in the Master Page Gallery
  • Set the JS Link property of the web part to point to the JavaScript file

Sounds easy enough, but there are a few details to sort out to get everything synced up.  Additional details for each step are listed below:

Create the JavaScript file
In these examples, JavaScript is being used to override different things – how data is displayed and what content is displayed.  For starters we’ll override a specific field in a view. 

During my session at the SharePoint Conference (SPC12) I used a few simple examples that are a good starting point.  EXAMPLE JS FILES

In the first example, we get everything in place and make sure that it’s working.  We start with a standard view (AllItems) that shows text fields, and then use the JS Link functionality to override a single column – displaying different text than came with the view.  We are replacing whatever the ‘MoreText’ column contained with the word ‘Animal’. 

image

As the notes in the sample script mention, the Fields override works specifically with individual fields.  You can specify a single field, or multiple fields.  For each field (column) override, you need to identify the field being overridden and the replacement value.

When identifying the field name, take note that you need to use the internal name for the column, which may not be the same name that is displayed.  In some cases this is true, but not all.  See my post on finding the internal column name.

The ‘View’ component of the command is in reference to the type of template being overridden – in our case the view.  There are also options for the NewItem, EditItem and DisplayItem forms, but we won’t cover them in this article. 

The last piece of the command for each field is the override value for the field.  This can be a static value – as in the first example – a variable, or HTML and the value, allowing you to style the value.  You can also call a function within the script to do more complicated logic – such as conditional formatting – but for the field. 

Note: The following example code is shown with the Before and After output of the sample web part.  The changes will not go into effect until you’ve put all the pieces in place – the steps which are listed after the sample images. 

Example 1:  Uses a static value to override the field value.  ‘Animal’ will replace the ‘MoreText’ field value for each list item in the view. 

image

Before:

image

After:

image

Example 2:  Displays the true value of the MoreText field, but formats it (bold) by wrapping it in an HTML tag. 

image

Before:

image

After:

image

Example 3:  Calls a function that formats the value that overrides the field data.  In this case it uses a conditional to determine what data is displayed.  This could just as easily be used to implement conditional formatting for the field by keeping the field data as in Example 2, but formatting it differently using HTML tagging. 

image

image

Before:

image

After:

image

Example 4:  Uses a different override.  This example uses the Item override instead of the Field override.  Using the Item completely overrides the web part and requires the Header and Footer overrides as well.  In the example here, the data is displayed in an HTML list where the open tag is in the header and the closing tag is in the footer.  Each item is then an item in the list. 

image

image

Before:

image

After:

image

One other note on the code.  We aren’t getting into details with these settings, but a few of the sample scripts also include settings for BaseViewID and ListTemplateType.  These settings are not required, but if you are using JS Link on a page that has more than one view, these properties control which web parts are affected by the JavaScript code. 

BaseViewID is the view ID for the list with 1 being the AllItems view.

ListTemplateType is the ID for the type of list template is used such as Links List, Task List, Custom List, etc.  A list of these types in 2013 can be found here:
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.listtemplatetype(v=office.15).aspx

Upload it to the Master Page Gallery

The script files need to be uploaded to a place where they can be accessed by the web part.  Depending on what version of SharePoint you’re using and what your scope is, you will need to determine the best location for the scripts.  In our case we used Office 365 for a test bed and only want to use the scripts within our site collection, so we are uploading the files to the Master Page Gallery. 

As each file is uploaded, the content type of the file will need to be changed to ‘JavaScript Display Template’ and the required fields will need to be completed. 

In our examples, the Target Control Type is ‘View’.

The Standalone value is ‘Override’.

And the Target Scope is the relative URL of the site collection we’re customizing in the format: ‘/sites/d1’.

image

For our example, upload each of the 4 sample files so that you can see the different examples at work. 

Add the JS Link property that points to the JS file

Finally, edit the web part properties you are trying to edit.  This may be web parts on a web part page, or a web part on a standard view page.  Edit the page, then the web part.  Expand the Miscellaneous section and edit the JS Link property using the following sample format to point to the location of the JavaScript file you are using for the CSR override:

~site/_catalogs/masterpage/csr_overridable_demo1.js

Save your changes.  If everything is working, the changes should be immediately visible.  If you still need to edit the JavaScript to match your specific column or example, edit the file using SharePoint Designer. 

Edit the files using SharePoint Designer 2013

Developers have a number of code editing tools at their disposal and can use Visual Studio or others.  Non-developers can use SharePoint Designer 2013 to view and edit the JavaScript once it has been uploaded to the site. 

If you haven’t already edited the files to match your specific list column names, start SharePoint Designer and open the site collection where you are doing your testing.

From SPD you can edit and save your JavaScript files live.  After you make a change to the JavaScript file, refresh the browser page and your changes should be reflected – assuming everything is correct.  Smile 

Wrap-up

Sorry for such a short and unpolished post – there is a LOT more to talk about regarding JS Link and SharePoint 2013 -  but I wanted to get this out for people that attended my #SPC064 session at #SPC12 or who started hearing the rumblings about JS Link this week while at the conference. Hopefully this allows you to get started playing around with the power of JS Link. 

Lots more to come! 

Notes:

  • JS Link is not only used in web parts, but can also be set and used when creating custom apps, etc.  This post is just covering the specific example when using the web part property. 
  • Be sure to take a look at the HTML that is produced by the page once you have your CSR in place.  Some approaches in the CSR may not jive well with the existing page code. You  want to avoid conflicting tags, etc.
  • JS Link override will not work if the form has been edited in SPD

Finding Internal Names for SharePoint List Columns

The average user usually doesn’t need to care about ‘internal’ naming on SharePoint lists.  They just need to work.  But as you start to delve into some customization approaches, trying to piece some details together behind the scenes a bit, you may need to know internal names. 

What are ‘internal’ names?  They are one of the IDs used by the SharePoint system (other than GUIDs) to refer to columns, fields, etc. They don’t necessarily align perfectly with the user friendly field name that users see.

One instance where someone might need to know the internal name is when dealing with the client-side rendering (CSR) functionality introduced in the 2013 platform.  Overriding specific columns requires the internal name. 

Finding the internal name thankfully is pretty straightforward.  You can find it by going to the List Settings and clicking on the column name you are looking for.  The URL will show the internal name at the end of the string:

https://tsdemo13.sharepoint.com/sites/d1/_layouts/15/FldEdit.aspx?List=%7B81E61C92%2DED5A%2D4BE3%2DBA09%2D821C0343DC23%7D&Field=MoreText

In this example, the internal name of the field is ‘MoreText’.  You can see it there at the end as part of the ‘Field=MoreText’. 

Kudos to Raymond for figuring this out while we were digging into CSR…  Smile

SharePoint 2013 – List / Library / App Naming

Just a quick tidbit about naming the apps, lists, libraries, etc. that you create in your SharePoint site. 

As it did in 2010, SharePoint 2013 adds the ‘%20’ string to your URL if you put a space in your list name. For example, if you create a list called “My Cool List”, the URL will end up looking like:

/Lists/My%20Cool%List/viewname.aspx

It’s not a terrible thing, but it can be irritating in some scenarios. 

The easy way to get around this is to follow a best practice of naming without spaces.  You can then change the list name after the fact without the URL changing. 

  1. Create the list, when asked for the list name, use no spaces: “MyCoolList”
  2. The list will be created and the URL will be nice and neat: /Lists/MyCoolList/viewname.aspx
  3. The list title will show up as “MyCoolList” – again, not a horrible thing in itself, but not great UX either. 
  4. Go to List Settings
  5. Use the List name, description and navigation link to change the name to a more readable “My Cool List”
  6. The URL will remain the same, but the readable list title is now more user friendly. 

SharePoint 2013 – Promoted Links App

The Promoted Links app.  It’s that new control you’re seeing on the new SharePoint 2013 site you just spun up.  The ‘not-Metro-like’ tiles that have a quasi-active tile functionality.   

image

Actually, the specific implementation of the web part shown above is a feature turned on for new sites that can be removed, but let’s get back to Promoted Links.

One other note on the image above – note the second icon – this is what the control does when the individual buttons are hovered over.  A simple animation allows a longer description to be displayed. 

You can add your own control by adding the new app (aka: List) to the site.

  1. Go to Site Contents and click ‘add an app’ or just use the Settings menu item and select ‘add and app’
  2. Within the list of apps that are available, select ‘Promoted Links’
    image

    If you want more App Details, you can check that out – but there’s not a ton more… Smile

    image

  3. You can give your list a name, or click ‘Advanced Options’ to add a name and description.  (The description can also be added later).  Then click ‘Create’.
    Note: SharePoint 2013 still adds the %20 to the URL of your list if you put a space in the name.
  4. Once the list is created, you can add items to it.  The ribbon is likely the easiest way to add new items.   While the Tiles view is the default and one you’ll most often see on a page, the All Promoted Links view is where you have access to the ‘new item’ link in the page – similar to other lists. 
    image

A few notes on the fields that are available:

  • The Launch Behavior option is similar to the ‘target’ property for HTML links and allows you to choose how you’d like the link to launch: as a modal window, in a new browser tab, or right in the same page you are currently browsing in. 
  • The order is a weighted field that allows you to manually sort your tiles – lowest number first.  If you leave the field blank, they are also shown first. 
    Note: The Tiles view is not a view that can be edited in the browser. 

Another note – the Tiles view of the web part does not wrap.  If you have more tiles than can be displayed within the browsers width (which it will adjust to), you get a ‘Previous / Next’ button set:
image

image

So, another useful tool in our toolbox for building out SharePoint 2013 sites.  Time will tell what folks come up with for best practices, etc. 

SharePoint 2013 – Enabling Design Manager

Design Manager is a new feature in SharePoint 2013 that puts some structure around management of branding and styling SharePoint sites and pages.  It is only available on SharePoint Server and only with Publishing sites, or on sites where publishing features have been enabled. 

With Office 365, you will need a level that has publishing enabled. 

If you’re starting from a publishing site, it’s pretty easy to access.  You can just click the Settings menu item and the Design Manager is available. 

image

You can also access it via the Site Settings page under Look and Feel. 

image

If, however, you’re starting from a site that is not a publishing template – like a Team Site, you need to turn a few things on.  Nothing difficult, but a little confusing to some because you have to activate more than one feature and while you’re in the middle state it may not be entirely intuitive.

The Team Site does not show the Design Manager in either the Settings dropdown or the Site Settings page.  But you do have a quick link to the ‘Look’ / Theming feature. 

image

image

So, to get things enabled, you need to:

  1. Turn on the Site Collection Feature
    1. Site Settings
    2. Site Collection Features under Site Collection Administration
    3. Activate –> SharePoint Server Publishing Infrastructure
    4. Site Settings page now displays like:
      image
  2. Turn on the Site Feature
    1. Site Settings
    2. Manage Site Features under Site Actions
    3. Activate –> SharePoint Server Publishing
    4. The Settings menu dropdown now changes to:
      image

Now everything is as you would expect it. 

GOTCHA NOTE: If, however, you activate the site collection feature, but NOT the site feature, you’ll be able to access Design Manager via the Site Settings page, but NOT the Settings dropdown menu. 

Again, not a huge deal, but something that may be a little confusing.