Author Archives:

How to install a DLL to the GAC on Windows Server 2012 using only PowerShell (without having to install SDK or Visual Studio)

Prior to Windows Server 2012 I had been use to installing DLL files in the Windows Global Assembly Cache (GAC) by either opening the Windows/Assembly folder in Explorer and simply dragging and dropping the file, or by using GacUtil.exe

With Windows Server 2012 unfortunately it’s not quite so easy. Being able to simply open the GAC in Explorer and drag/drop is gone. Also GacUtil.exe is not present on the server by default.

PowerShell to the rescue. Here’s how to register a DLL called “MyDLL.dll” to the GAC (and also how to remove it.

For this example assume we have the “MyDLL.dll” file stored at c:\temp\MyDLL.dll

 

To add a DLL to the GAC

1. Run the SharePoint PowerShell console as Administrator

2. Enter the following PowerShell

Set-location "c:\temp"
[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
$publish = New-Object System.EnterpriseServices.Internal.Publish
$publish.GacInstall("c:\temp\MyDLL.dll")
iisreset

 

To remove a DLL from the GAC

1. Run the SharePoint PowerShell console as Administrator

2. Enter the following PowerShell

Set-location "c:\temp"
[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
$publish = New-Object System.EnterpriseServices.Internal.Publish
$publish.GacRemove("c:\temp\MyDLL.dll")
iisreset

Free Webinar – Improve SharePoint End-User Adoption with OnePlaceMail

If you haven’t had the opportunity to see how OnePlaceMail has been making SharePoint users grin from ear-to-ear then I have great news. In addition to the awesome resources available on the OnePlaceMail website, the OnePlaceMail Team are now running free webinars to help you get the most out of your investment in SharePoint and most importantly get your users on side by making SharePoint a joy to use from the desktop.

The next webinar is scheduled for Wed 5 June (4-5pm EDT) and topics covered include:

- Bringing SharePoint to the desktop
- Seamless capture of content
- Streamline content classification
- SharePoint 2013 Site Mailboxes

Don’t miss out, register now for the free webinar.

For those struggling with user adoption of SharePoint, this is what happy users look like…

happy-sharepoint-users-adoption-acheived-500

Implementing a simple SharePoint issue tracking system with cc: style notification emails when items are updated

The scenario

This article describes how to setup a SharePoint list so that each item in the list has a column to allow selection of multiple people to be notified initially when the item is created and also every time the item is subsequently updated or edited.

The scenario proposed to me recently went along these lines:

Do you know if there’s a way to add multiple people’s name/email to an item in a Sharepoint List? So maybe we’re tracking issues, and when the issue record is created, we want to tie 5-6 others to the record so they can be involved/aware in the updating of that record and/or the communications related to it…like a cc: list.

Allow me to embellish the requirements and scenario a little so we know the problem at hand…

We have a implemented a simple Helpdesk issue tracking system in SharePoint.

  • The issues themselves are tracked as a single item in a SharePoint list
  • A new list item is created for each issue
  • Issues are primarily generated from an email received by one of the Helpdesk staff
  • Often we want to keep multiple users informed of a particular issue when it is created and as it progresses
  • We want a no code solution

Note: before we jump into the solution, the crux of the article is about achieving the cc: style notifications. I’m not advocating this as a recommended design for a Helpdesk system.

 

The solution

My first thoughts on this one was to simply add a multi-value Person/Group column to the list called “Notification List”, then create a view and set the filter on the view to where “Notification List” is equal to [Me]. Here’s one of many articles on how to use the [Me] filter. This works great and when you go to the view you just see the items where you are in the “Notification List”. I then thought it would be a simple task to create a SharePoint Alert on this list so that whenever someone creates or modifies an item in this list an alert notification email would get sent out. This all works fabulously if there is only ONE person in the “Notification List” column. As soon as you get multiple users in the “Notification List” column, the alerts just do not get triggered. The view filter works fine and shows the correct items when single or multiple names are entered, but it seems alerts play by a different set of rules.

Time for a different approach, enter workflows. Can we achieve a simple (no code) workflow to send the emails out? Sure we can. Here’s how it is done.

First create a custom list called “Issues”

01-create-issues-list

Now add a people & groups column called “Notification List”. Ensure is accepts multiple values and I’m going to just allow people (not groups) to be selected.

02-create-notification-list-people-groups-column

 

While I’m creating columns I’ll create a few more just to make the scenario a little more realistic. I’ve added Description of Problem, Status, and Assigned To columns. Now when I create a new item in SharePoint my new form looks like this:

03-issue-item-form

 

So now to the meat of our problem, how do we get SharePoint to send an email to everyone on the notification list when the item is initially saved, and then every time the item is edited?

We are going to have to create a workflow using SharePoint Designer. So let’s fire up SharePoint Designer and connect to the site that contains our list. Then select “Lists and Libraries” from the left navigation.

04-open-list-in-sharepoint-designer

Open the Issues list and select List Workflow from the ribbon

05-list-workflow-button

Now provide a name and description for the workflow

06-basic-workflow-details

Now add the “Send an Email” action from the Action ribbon button

07-add-action-send-an-email

Now click the Email these users link to define the email message.

  • Click on the address book picker on the To:
  • Select Workflow Lookup for a User…
  • Set Data source to “Current Item”
  • Set Field from source to “Notification List”
  • Set Return field as “Email Addresses, Semicolon delimited”

08-configure-email-to-use-notification-list-and-format

Now you can specify a subject (using the function builder to include the Title of the issue) and the email body, again you can use columns from the issue item and include a hyperlink directly to the item.

09-define-email-content

Return to the workflow information page and set the triggers to automatically start this workflow when an item is created or changed.

11-set-workflow-triggers

All that’s left is it Save and Publish the workflow

10-save-and-publish-workflow

 

The result

We can now create a new item in SharePoint specifying some users on the Notification List.

12-complete-new-item-in-sharepoint

When we save the item, people on the Notification List will automatically receive an email as shown below.

13-email-notification

 

Now for the gold plating

Remember when we set the scenario that most issues are raised by an email being sent to a Helpdesk staff member (yes they can’t just create them in this list themselves!). What we really want is that email message (and any attachments it has) stored on the issue item as an attachment. This would be a bit tedious for someone to save the email as a file and then manually attach to the new SharePoint item. Enter OnePlaceMail (the Express edition is a free add-on to Outlook). Simply install OnePlaceMail on the Helpdesk users machine that has Outlook. You can now ‘bookmark’ the Issue list and it is available (yes the whole SharePoint list with full functionality) directly in Outlook just like it is an Outlook folder.

14-sharepoint-issue-list-in-outlook

 

What is really awesome about this solution is when an email comes in that you need to create a new issue item for, you simply drag and drop the email to the Issues folder in Outlook and OnePlaceMail performs it’s magic and let’s you complete all the columns without leaving Outlook – no need to even open SharePoint in a browser!

15-drag-drop-with-oneplacemail

The item is now created in SharePoint, the email message is stored as an .msg file attachment, all column values are set and notification emails have been sent out. You can even just click on the Issues folder in Outlook (that we dragged dropped the email to) to see it in SharePoint.

16-view-sharepoint-in-outlook-with-oneplacemail

 

Further Reading (in response to comments on this post)

In response to Eugene’s comment here’s how to achieve inserting a URL link to the SharePoint item in the body of the email message that gets sent out by the workflow.

Please be aware that there is a fundamental different between SharePoint lists and SharePoint document libraries in the format (or syntax) of the URL required.

I’ll first go through creating a link to an item in a document library and then to an item in a list.

Insert URL Link to an Item in a SharePoint Document Library

Use the ‘insert hyperlink’ button to create the link in the body of the email

17-sharepoint-designer-workflow-email-action-insert-hyperlink

Provide the user friendly text to display such as ‘Open Item’

18-sharepoint-designer-workflow-provide-user-friendly-link-text

To build the address use the Fx button as we need to use some properties from the item currently the workflow is running on.

Set Data source to Current Item

Set Field from source to Encoded Absolute URL (this gives us the most portable URL that includes the server name and protocol with any special characters encoded which gives the URL the best chance of surviving being sent through email servers and arriving at the other end intact)

19-sharepoint-workflow-lookup-encoded-absolute-url-current-item

The hyperlink should now have an address of [%Current Item:Encoded Absolute URL%]

20-sharepoint-workflow-lookup-url-current-item-address

Click OK and your hyperlink to the item in SharePoint is done

21-sharepoint-workflow-link-to-item-in-email-body

 

Insert URL Link to an Item in a SharePoint List

You would expect the above technique would also work for list items but unfortunately it does not. It leaves you with a pretty useless URL in this format: http://server/site/Lists/listname/1_.000

The URL format that you need to link to a list item is:

http://server/site/lists/listname/DispForm.aspx?ID=xxxx (where xxx is the ID of your list item)

The simplest way to achieve this format is to supply the fixed portion of the URL and pull the ID portion dynamically. Your Hyperlink address would be something like this:

http://server/site/lists/listname/DispForm.aspx?ID=[%ListItem:ID%]

Photos from the Australian SharePoint Conference

cameron-dwyer-oneplacemail-team-sharepoint-conference-auspc-2013

Thanks to everyone who came and visited us at the OnePlaceMail booth. It’s great to hear from our existing customers and how our recent updates have been making your lives easier! A big thank you to all those brave people that came and introduced themselves, I hope we were able to answer your questions and ensure you left the conference with some valuable knowledge and a pathway forward.

See you at the Australian SharePoint Conference (Sydney)

sharepoint-australia-conference-cameron-dwyer-2013-sponsor-exhibitor-oneplacemailThe SharePoint roadshow is about to roll into town. This year ShareThePoint has organised 2 conferences in Australia (Sydney and Melbourne) in addition to the conference in New Zealand. It seems each year the SharePoint community is growing stronger. OnePlaceMail is again a sponsor of these fantastic events and I’m looking forward to the Sydney conference starting next week.

While Microsoft unveiled most of their surprises at the SharePoint conference in Las Vegas late last year, that does not mean this conference is just a rehash of the sessions from Vegas.  Expect to see sessions delivering content with a bit more knowledge and ‘best practice’ than those delivered in Vegas. I like to think of it more as Vegas was ‘hype’ and these conferences will be more of the ‘reality’.

If you are interested in email integration with SharePoint and generally integrating SharePoint better with the desktop then please stop by the OnePlaceMail stand for a chat and live demo of how we can help you.

The OnePlaceMail team have put in a huge effort delivering features on top of the new SharePoint 2013 Site Mailbox architecture and have also published whitepapers and procedures to get you up and running with Site Mailboxes with the minimum of fuss. Come and pick our brains if you are looking at the new Site Mailbox features of SharePoint 2013.

Have a great conference and don’t forget to come by and say hello.

PowerShell Script – Propagating legacy Document IDs into SharePoint

This PowerShell script is for propagating legacy Document IDs into SharePoint. This is great if you are moving existing documents to SharePoint where you want to retain the Document Id. SharePoint let’s you configure the format of Document Id’s so that going forward any new documents will have a consistent format. For more info on configuring the Document Id format see Tobias Zimmergren’s great article.

Where this script comes in, is that you can retain the existing document id on these document as they are migrated into SharePoint, should help keep users happy. All credit for the script goes to Joel Plaut.

Guide to Setting up SharePoint Site Mailboxes on SharePoint 2013 and Exchange 2013

Let’s face it, if you are tasked with setting up the new SharePoint Site Mailboxes for a proof of concept, or in your production environment it’s not a 5 minute exercise and the official documentation provided by Microsoft at this stage is lacking somewhat in detail.

Chances are that you’ve been tasked with setting this up because you are either:

  • The SharePoint Guru
  • The Exchange Guru
  • Someone pretending to be (or forced to be) one of the above

The difficulty I can see with this is that you have to have a decent understanding of both SharePoint and Exchange in order to perform the setup. The setup requires installations and configuration on both the SharePoint Server and the Exchange Server.

With that in mind, the OnePlaceMail team have published a step-by-step guide to setting up SharePoint Site Mailboxes with screenshots every step of the way. The guide takes you from a default SharePoint 2013 server and Exchange 2013 server and goes through the entire process to get them talking to together so that you can start provisioning SharePoint Site Mailboxes.

 

Abstract

This article provides step by step instructions for setting up site mailboxes on-premise.
If you are using Office 365, please skip this article and move to the “Provisioning of a Site Mailbox” article as Office 365 environments have the Exchange and SharePoint pre-requisite configuration described in this article setup already.
This article will be useful for both SharePoint and Exchange administrators as the configuration process involves both environments.
In addition to the original Microsoft article (you can find the reference below) this article provides detailed steps regarding creating self-signed certificates and establishing trust relationships between SharePoint and Exchange with these certificates.

 

Exchange-2013-site-mailboxes-logo

Future-proofing your Email/SharePoint Integration Strategy – OnePlaceMail 6.4 Preview

future-proof-site-mailbox-sharepoint-oneplacemail-cameron-dwyerAs OnePlaceMail 6.4 Preview hits the streets I wanted to speak about why we believe 6.4 is such a pivotal release. Last year in the lead up to the release of Exchange 2013, Office 2013 and SharePoint 2013 we immersed ourselves in the new technologies and the features, functions, and integration points that they brought to the table. We didn’t just want to deliver a OnePlaceMail release that worked the way it always had and ignored the architectural changes that had been made in the 2013 Microsoft stack. So we invested the time, we put down the tools, and really took a step back to look at the new options; How could this benefit the way people are working today and tomorrow? What new business cases could be solved? How could this technology be best applied to solve the issues we are currently solving with OnePlaceMail today? This really forced us to re-evaluate the position that OnePlaceMail has under the new technologies (Outlook 2013, SharePoint 2013, Exchange 2013).

One of the most interesting new features of Outlook 2013/SharePoint 2013 was the concept of SharePoint Site Mailboxes. Microsoft has taken a great step forward (finally) with Site Mailboxes in an attempt to address the integration problem that has always existed between Outlook and SharePoint. Please see this blog post for more details on SharePoint 2013 Site Mailboxes.

After spending quite a bit of time with SharePoint Site Mailboxes we found they satisfied some use cases really well, and others not so well. While Site Mailboxes provided some great out-of-the-box benefits, there were always going to be some limitations as well. If you want to find out more about the benefits and limitations I suggest taking a look at the free whitepaper we published SharePoint 2013 Site Mailboxes – Overcome the limitations.

It came to decision time, and we had a couple of options:

· Option 1 – We could continue enhancing OnePlaceMail as an industry leading product directly integrating Outlook and SharePoint without any dependency on the new Site Mailbox framework. This broadly equated to ignoring Site Mailboxes due to their limitations and positioning OnePlaceMail as an alternate (competitive) solution – you would either use Site Mailboxes or you would use OnePlaceMail

· Option 2 – We could re-architect OnePlaceMail to use Site Mailboxes as a framework and build enhanced functionality on top to overcome the limitations

We concluded that there would be use cases where Site Mailboxes were the logical solution, and other use cases where Site Mailboxes would not work at all, so rather than committing to option 1 or option 2 we decided we needed to do both! We wanted to provide enterprises with a solution that would be consistent and work for them across all their business cases, both those using Site Mailboxes and those that don’t.

This strategic decision gave us focus for the OnePlaceMail 6.4 Preview release. We wanted to deliver the robust enterprise class OnePlaceMail with all its bells and whistles that you know and love, and if you happen to be using Site Mailboxes (now or in future) then we will ‘light up’ a whole set of Site Mailbox specific features and enhancements designed to overcome the limitations that exist with Site Mailboxes out of the box. Even more than that, we also wanted to deliver a seamless and consistent user experience, to the user it shouldn’t matter if they are dragging and dropping an email (or attachment) to a Site Mailbox or another SharePoint location via OnePlaceMail. The decision where and when to use Site Mailboxes will often be an architectural decision, but to the end user (through the Outlook interface) they really just want to capture, classify and access information in SharePoint and don’t care too much whether that is done via an enhanced Site Mailbox framework or OnePlaceMail without Site Mailboxes – we needed to deliver a user interface where both scenarios used the same metaphors, same workflow, same behaviors so that the user intuitively knows how to use it without need for training.

The results of all the hard work are ready for you now. The OnePlaceMail 6.4 Preview release is a free download which we made publically available last week.

There is also a series of short videos showing the new OnePlaceMail Site Mailbox features in action, so if you want to quickly check out what it looks like I’d suggest taking 5 minutes to go through these.

SharePoint Site Mailbox integration with Outlook – A new way to get email into SharePoint

What are SharePoint Site Mailboxes?

The SharePoint Site Mailbox concept is aimed at bringing Exchange emails and SharePoint documents together. So how does it do this?

The SharePoint Interface

A site mailbox can be created at a site level (maximum of 1 mailbox per site). From a navigation point of view the mailbox appears just as though it is another list or library in the SharePoint site.

sharepoint-site-mailbox-quick-launch

When you click on the Mailbox link things aren’t as nice and integrated as you would hope. Instead of showing the content of the mailbox within the SharePoint site, as you would the content from a Document Library or List, rather the link simply opens the Site Mailbox in Outlook Web Access. You are taken away from SharePoint to see the content of the Site Mailbox.

sharepoint-sitemailboxes-exchange-owa-view

 

This now starts to give you an understanding of what’s happening under the covers. When you add a Site Mailbox to a SharePoint site, you are effectively creating a mailbox on the Exchange server and then your site gets a link placed on it.

What is nice, is that the security of the mailbox is tied to the security permissions of your SharePoint site. So if you add or remove a user from your SharePoint site, the appropriate permissions are granted/revoked from the mailbox in Exchange as well.

Unfortunately this is about the extent of the integration of email and documents that you get through the SharePoint user interface, fortunately things will get a lot nicer when we look at things from the Outlook client…

The Outlook Interface

Outlook 2013 has been enhanced to support SharePoint Site Mailboxes. A really nice integration point is the automated rollout of Site Mailboxes directly to your Outlook profile based on your permissions to the SharePoint site. What this means is that if you are an owner or member of a SharePoint site and a Site Mailbox is created, that Site Mailbox will automatically get added to Outlook (even while Outlook is running). If your membership to the site is removed then the mailbox is automatically removed from Outlook as well. The Site Mailbox is represented in Outlook as a new store per site. All this talk of Site Mailboxes is a bit misleading though, because what you are actually getting in Outlook is the Document Libraries from the SharePoint site, not just the mailbox. What do I mean? lets have a look graphically at what you are getting:

outlook-2013-interface-sharepoint-site-mailboxes

When viewing the content of a Site Mailbox, the view presented is the same format and appearance as any other mail folder as shown below:

content-of-sharepoint-site-mailbox-in-outlook-2013

When viewing SharePoint Document Libraries you see an Outlook view of all the items in the document library as shown below:

outlook-2013-viewing-sharepoint-document-library-content

This is pretty cool. Exchange and SharePoint perform a synchronization to make this possible and stubs (not the actual file content) is stored in Exchange to make this view possible. Clicking on these items in the Outlook view to open them up then communicates directly to SharePoint to download and open the file.

Subfolders, both within the mailbox and within document libraries are supported.

Read more about what Microsoft has to say on SharePoint Site Mailboxes.

 

Pros and Cons

So now you have a basic grounding in what this integration looks like, what are the benefits and limitations of Site Mailboxes.

Pros

  • Site Mailboxes provide a consolidated view of site content stored within SharePoint and Exchange from within Microsoft Outlook
  • Minimal change with a familiar drag & drop process to the left navigation of Outlook. Allowing the capture of emails or email attachments into SharePoint and Exchange
  • Convenient access to SharePoint content from within Microsoft Outlook using a familiar metaphor of folders on the left navigation of Outlook.
  • Ability to include a Site Mailbox as an email recipient (e.g. cc’d) for saving emails into a Site Mailbox – Inbox
  • Ability to ‘Forward’ a link to a document within a Site Mailbox or drag/drop multiple documents into an email message.
  • Lifecycle Retention policies can be applied at a Site Mailbox level behind the scenes
    Management and Compliance: Site Mailboxes can be part of eDiscovery Search Scopes.
  • Minimal change for the end users and therefore greater user adoption and promotion of enterprise content management best practices
  • Less reliance on the IT Department once the SharePoint and Exchange environment have been configured for Site Mailboxes
  • More efficient means to support the business with records management initiatives
  • Streamlined provisioning and deployment of Site Mailboxes to end users based on security permissions within a SharePoint Site
  • Email content is retained within Microsoft Exchange while documents are retained within SharePoint

Cons

  • Setting up the environment to support Site Mailboxes involves installing and configuring software on both the Exchange and SharePoint servers and setting up trust relationships and having all communication over SSL.
  • Probably the biggest drawback is that you are not actually getting email into SharePoint. The email is stored in Exchange. This means you can’t treat it as a SharePoint object and include it as part of a business process. E.g. include it a part of a workflow, add metadata columns to email and build a SharePoint business process around it. I will add quickly that you can drag/drop email directly to a Document Library and this will get the email into SharePoint as an msg file.
  • You must be running SharePoint 2013, Exchange 2013 and Outlook 2013 to get access to Site Mailbox functionality
  • Very limited features on drag/drop of attachments to SharePoint document libraries – basically no support for metadata of any kind (no content type selection, no columns to complete, no validation of mandatory column, can’t rename files on upload, no support for versioning)
  • Viewing of SharePoint content is very limited. You are provided more with a file type view of content rather than a SharePoint view. You can’t show SharePoint columns in the Outlook view, you just get the filename, last modified, size, and checkout status.
  • Maximum of 10 Site Mailboxes can be added to Outlook

 

Further Reading

For a more in-depth look at SharePoint Site Mailboxes, and how to overcome some of the limitations I suggest reading the article White Paper – SharePoint 2013 Site Mailboxes

 

Site Mailboxes Aren’t for You – Need a Different Option?

For alternate methods of getting email into SharePoint please refer to my article (written based on SharePoint 2010 options) Five out-of-the-box ways to get Email into SharePoint.

Follow

Get every new post delivered to your Inbox.

Join 26 other followers

%d bloggers like this: