dinsdag 22 oktober 2013

Name your Managed Paths wisely

When designing your SharePoint architecture you should consider the names of the Managed Paths. SharePoint cannot create a library or list that has the same name as one of the Managed Paths. This means that if you have 'Projects' as a Managed Path, users cannot create a library or list called 'Projects'. If someone tries that the following error occurs:

[Name] cannot be used as a site name. Site names cannot contain certain reserved words and cannot begin with an underscore. Please enter a different name

An error like in the screenshot below appears. It doesn't matter whether you use an explicit inclusion or a wildcard inclusion



My advise is to name your Managed Paths shortly, like: 'proj' instead of 'projects', 'loc' instead of 'locations', 'arch' instead of 'archive' etc... You get the idea ;)

donderdag 22 augustus 2013

Send an Alert based on a SharePoint View

SharePoint can send email notifications to users when content in their SharePoint library changes. In SharePoint terms these email notifications are called ‘Alerts’. Using the ‘Alert me’ button any user can sign up for the email notifications. What most users don’t know is that you can also set an alert based on a SharePoint view, so you will not get updates of documents that you are not interested in. To achieve this someone with sufficient permissions should take a few steps.

In order to create an alert based on a view you need to create a view with a filter.

Step 1 - Create a view with a filter


















Step 2 - Create an alert































You can now receive alerts based on the SharePoint view!

donderdag 25 juli 2013

SharePoint 2013 eDiscovery

Today I investigated the eDiscovery functionality in SharePoint 2013. With eDiscovery users are able to gather information from different sources like mailboxes and SharePoint sites and access that information from their own eDiscovery site, which will be called a 'Case'. In the real world the eDiscovery functonality can be used by lawyers or litigators. They are able to quickly discover information about a particular client or project. With eDiscovery in SharePoint 2013 they are also able to freeze the information that has been 'discovered'. They can do this with the In-Place Hold feature. When these holds are placed on documents SharePoint actually freezes the documents. Modifications to these documents will be preserved by SharePoint.

woensdag 22 mei 2013

Increase thumbnail size in SharePoint 2010 Picture Libraries

From
 

To
 
 
 
This week I created a huge image library for a customer in the fashion industry. One of the functional requirements was to quickly check and locate images. The end users are used to the Extra large icons view in Windows Explorer. A SharePoint picture library, by default, shows much smaller icons when navigating through the library. I found out how to change the default thumbnail size for a SharePoint picture library.

The default thumbnail size in a SharePoint picture library is 160px (width). For a better user experience you can increase the thumbnail size, let's say to 240px width. To do this follow the steps below.

1. Go to the FEATURES folder, and then to PictureLibrary --> PicLib

On the SharePoint WFE, go to \Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES\PictureLibrary\PicLib.

2. Open the schema file

3. Set the ThumbnailSize to 240. (it’s in one of the first lines).

4. Reset IIS


The new thumbnail size will now be applied to every new picture library!

maandag 25 juni 2012

Increase user adoption - use the SharePoint Adoption Kit

If you want to increase SharePoint adoption, use the Adoption Kit! This kit is available on http://sharepoint.microsoft.com/iusesharepoint. This site contains a lot of material to let business users get familiar with SharePoint. I think that the 45(!) Quick Reference Cards (which also look very sharp and neat) and the practical tips can be of a huge advantage for the user adoption when SharePoint is going to be implemented in an organisation.

maandag 18 juni 2012

NEW Certification: K2 Solutions Professional

Last week I attended a 4 day course to get myself up and running for K2 Blackpearl. With 2 years of experience in K2 Blackpoint (the SharePoint based little brother), I went to the K2 office in London for this 4 day instructor-led course. My trainer for this week was Simon Allport. The course comprised several modules which I will describe in more detail below.

Monday


Introduction and Overview - Everyone introduced themselves. I had noticed very quickly that I was the only person with relevant K2 (and SharePoint) experience. The other guys were mostly sent by their company to learn or assess K2 as a potential software implementation.

Process Design and Implementation - This module actually showed nothing new to me although it was very useful for the other attendees as they did not have any experience with K2.

In the evening I watched the game France against England in a pub next to my hotel.

Tuesday


Data Management - This is interesting stuff! We have learned how to extract/lookup data in external data sources and use them in your K2 processes and InfoPath forms. K2 offers so-called SmartObjects functionality (which I have often used before). SmartObjects allows us to use external data as a K2 specific object. K2 creates some SmartObjects out of the box but we have learned how to create SmartObjects based on a specific data source (a SQL Server table and the Active Directory in this case). Of course it is also possible to use other data sources as input for your SmartObject and join this external data with K2 data. By using K2 SmartObjects we can link data from multiple systems (for example an HR system and Active Directory) and use that data in a form or workflow. It also possible to write to these data sources so K2 can also automate your Active Directory tasks. During the course I created a single form that creates a new Active Directory user based on the input fields in the form.

For a fictive company we developed a customer services workflow so employees can request client portals for new clients by filling out a single webform. K2 handles the creation of a record in the CRM system + the creation of a SharePoint portal site for the new customer based on a template.
In the evening I bought an Oyster Card and took the underground for a visit to the London city centre.

Wednesday


Reporting, Business Intelligence, and Activity Monitoring - Reporting is a very important, but often an ignored part of a workflow solution. Keeping track on your running processess and process history allows business users to support business decision making.
  • Reporting deals with providing decision support information to business decision makers.
  • Business Intelligence (BI) deals with providing access to interrelated information to support business decision making.
  • Business Activity Monitoring (BAM) deals with monitoring real-time business activities.
K2 offers a few out of the box reports but also allows users to create their own reports. Users can create reports in three ways:

- K2 Databases
- K2 SmartObjects
- Data source access (ADO.NET + APIs + SmartObject Services)

K2 reports can be created in the K2 Report Designer, Excel, SQL Server Reporting Services, or we can develop our own report in our preferred programming language. We built a custom report with Microsoft Business Intelligence Studio. Because the custom reports relies on K2 SmartObject we are able to use them in a workflow. This means that reports can be emailed from a K2 workflow!

Logging and Diagnostics - Logging and custom logging from workflow. K2 developers can log specific messages using C# code in a Server Event in a workflow. Using this code we can log messages to the Windows Event Log or File Log for example with just a single line of code.

With Visual Studio we can connect to a running process that is in error state and fix that particular process to remove the error and continue the workflow so it is no longer needed to redeploy and restart the whole process (as I usually had to do in Blackpoint). This can all be done with the Process Management tab in Visual Studio, a specific toolset for Visual Studio automatically installed as part of the K2 solution.

Thursday


Customization and Extension - Complete flexibility and extendibility! It is possible to tweak the underlying workflow code so it totally can meet the customer's requirements. It is also possible to create custom worklists so SharePoint and K2 tasklists can be combined into one worklist with only a specific set of display fields. The code behind most K2 event templates is based on Windows Workflow Foundation (WF) schedules. During the course we created a custom tasklist and a custom worklist. Also we have developed custom notifications, error handling, SmartObjects and Service Providers.

Conclusion


The trainer showed me some best practices regarding development and workflow design and I have seen the added value of Blackpearl. Most important is that I am now able to utilize the Blackpearl functionality to totally automate organisation's business processes!

vrijdag 23 maart 2012

Save multiple accounts in SharePoint people column

This is a post about storing the data from an InfoPath Contact Selector control into SharePoint, in a proper way without coding.

It is very useful that when you have a K2 workflow with an InfoPath form, you want to store or synchronize the form data with a SharePoint item. I ran into an issue with saving multiple user accounts from a Contact Selector control. All accounts entered in this InfoPath control must be saved with the corresponding SharePoint item. K2 must update the metadata of the SharePoint item when the user submits the InfoPath form.

Your InfoPath form contains a Contact Selector in which multiple user accounts can be added.



Now, let's store the user accounts (Bremen, Onderwater, Schepers) with the SharePoint list item (see the screenshot below).


At first glance, it seems like this is not possible. I have found something that can do the trick, and the best thing about it: no coding is needed!

In you are familiar with the Contact Selector you know that InfoPath has the following fields in the main data source: a Person group that contains the nodes DisplayName, AccountId and AccountType. Please read the following page if you don't know how to configure the Contact Selector: http://msdn.microsoft.com/en-us/library/ms558892.aspx.



In SharePoint you need to create a column to store the user accounts. In my example I name this column 'Experts'. Please note that you need to check the 'Allow multiple selections' option.


Now go to your K2 workflow and create two activities.


For the first activity (Extract experts) plan the Destination Users according the options below:
  • Run this wizard in Advanced Mode;
  • Plan per destination - All at once;
  • Create a slot for each destination;
  • Resolve all roles and groups to users;
  • Add a destination set by using the AccountId node of the InfoPath Contact Selector


Create a data field of the type String. In my example I name this field 'Experts'.

Add a Data Event to the first activity. This Data Event fills the data field 'Experts' with all user accounts in the Contact Selector.


 To do this use the following formula:


In the second activity (Save experts) add a SharePoint List Items event. Configure this event to save the Data Field Experts to the SharePoint Experts column.


As you probably have noticed, the first activity loops through all InfoPath AccountId nodes and appends them to the Experts data field. The second activity just stores the value of this data field in the SharePoint metadata column. Easy as that!