Quantcast
Channel: Office 365 – Cameron Dwyer | Office 365, SharePoint, Outlook, OnePlace Solutions
Viewing all 69 articles
Browse latest View live

A remote SharePoint Navigation tree control designed to scale to large Enterprise environments

$
0
0

The SharePoint Navigation tree (for remotely browsing/navigating SharePoint) is a central component in the OnePlaceMail product. It is used in all major operations such as Save to SharePoint, Open from/Insert from SharePoint, Preview SharePoint content, Managing favorite SharePoint locations. Being able to quickly find the right location in SharePoint, directly from desktop applications, is one of the key reasons OnePlaceMail has been adopted so openly into organizations. Core to this capability is the OnePlaceMail Navigation tree.

Dynamic browsing

The primary purpose of the tree is to allow you to browse your SharePoint environments.

cameron-dwyer-sharepoint-remote-navigation-tree-sharepoint-connections

Here’s the features we baked into the tree at a low level to ensure we could build a scalable tree for enterprises.

  • Support multiple SharePoint servers in the same tree (accessing them all at the same time)
  • Support any mix of SharePoint servers at the same time (2007, 2010, 2013, SharePoint Online, Office 365, on-premises or hosted)
  • Zero configuration – just give the tree a URL to SharePoint. The tree will figure out what type of server it is and the best way to communicate with it. Those irritating things like security are also hidden away (if possible you just don’t see any security prompts). Worst case the tree will ask you to login if it needs credentials.
  • What a user see’s in the tree is driven 100% dynamically by SharePoint security.
  • All communication with SharePoint is done asynchronously (in the background). This means the tree is silky smooth and responsive, even if the SharePoint server isn’t.
  • Optimized client/server communication – minimum data payload and real-time loading at each level of the tree as nodes are expanded
  • Large SharePoint environments sooner or later come up against SharePoint throttling and threshold limits. We designed with these in mind (think libraries with thousands of folders or document sets)
  • Support for browsing over sites/libraries/folders where user only has read only access to allow saving of content into a lower level folder where user has contribute access

Advanced node filtering

As the SharePoint environment grows it is quite typical for a certain level of the tree structure to grow in line with some business process being modelled. Here are some examples:

If you create a site per project (or client) you end up with a lot of sites at a particular level in your SharePoint environment. Similarly you may end up with lots of libraries in a site, or the one we come across most frequently, a large number of document sets within a library.

For the user trying to find a location at this level, it creates a situation where they are forced to scroll through a long list to find the site/library/folder/document set they are looking for. What we have implemented in our navigation tree, is a type-ahead filter on any node in the tree. This will start filtering all nodes below by the characters as you continue typing. In the example below a document library is used to store legal matters. One document set is created for each legal matter, and this particular library has over 10,000 legal matters (document sets). As you can see in the screenshot, just by typing “77”, the legal matter document sets have been filtered from 10,000 to 10 (not bad for 2 keystrokes). We’ve also made the filter type configurable so it can perform a “starts with” filter or a “contains” filter. This filtering is available at all levels, on all node types in the tree so use it to filter a long list of sites or libraries as well and folders.

cameron-dwyer-sharepoint-remote-navigation-tree-filter-sharepoint-folders

 

Recent locations

If you’ve been somewhere in SharePoint recently, then there is a good chance you’ll want to go back. The navigation tree will automatically remember recent locations so you can quickly get back to them. These recents aren’t just static locations, you can expand them and filter them just like any other node in the tree.

cameron-dwyer-sharepoint-remote-navigation-tree-recent-sharepoint-folders

Favorites

The organisation can only structure SharePoint in one single hierarchy (essentially in a tree). This one global structure of SharePoint rarely fits with how individuals see SharePoint. What we’ve done here is to allow a “My OnePlaceMail” area in the tree where a user can bookmark their own favorite locations from anywhere across any of their SharePoint environments. We’ve also given them the ability to create folders to organize and arrange these favorite SharePoint locations. What this delivers to users is the ability to setup a mini tree of SharePoint that reflects how they see SharePoint. This gives efficient access to just those areas of SharePoint that are relevant and removes the clutter of other areas of SharePoint. Similar to recents, these aren’t just static locations, you can expand them and filter them just like any other node in the tree.

cameron-dwyer-sharepoint-remote-navigation-tree-favorite-locations

Create New Folders and Document Sets

What good is a tree that doesn’t grow! Based on SharePoint settings and security you can simply create folders and/or document sets directly within the tree using the context menu on the tree node. This isn’t limited to a simple input for folder name. The screenshots below show the creation of a custom Legal Matter document set and completion of properties for the new document set (all dynamically read from SharePoint – zero configuration).

cameron-dwyer-sharepoint-remote-navigation-tree-create-folder

cameron-dwyer-sharepoint-remote-navigation-tree-create-document-set

Search for locations rather than browsing

Sometimes the browse metaphor for navigating SharePoint just isn’t very efficient, rather than browse we have given the option to also use a search metaphor for finding locations in SharePoint, this works well in certain scenarios:

  • Large SharePoint environments
  • Areas of SharePoint where you are not familiar with the hierarchy structure
  • When you know the exact location in SharePoint and search is faster than navigating to it
  • Finding locations to save to
  • Finding a site collection (as site collections have different top level URLs you often cannot browse them, you have to know the top level URLs to begin with). If you create a new site collection per client/customer/project and therefore have a large number of site collection, being able to find the site collection quickly via search in the tree is brilliant
  • Finding locations across site collections

A key concept here is in the navigation tree we are searching for locations within SharePoint not content. To explain that a little bit, consider your conventional search via the SharePoint UI. This is designed for finding content e.g. documents, files. The navigation tree displays SharePoint hierarchy (or locations such as Sites, Libraries & Folders) not content. So unlike a normal SharePoint search for content, in the tree we are actually trying to find the location or container in which to store content or in SharePoint terms:

  • Site Collections
  • Sites
  • Lists
  • Libraries
  • Folders (within a list or library)
  • Document Sets (within a library)

cameron-dwyer-sharepoint-remote-navigation-tree-search-for-location

cameron-dwyer-sharepoint-remote-navigation-tree-search-location-results

Search scoping

The scope for the search is dynamic based on the selected location in the tree when the search is performed. For example, if you select the “Intranet” site collection in the tree, then only the “Intranet” site collection is searched. Likewise if you select a specific document library, then only that library is searched. This scoped searching works to restrict scope to a site collection, site, library, or folder/document set.

The converse of performing a search restricted to a scope is to perform a “farm wide search”. This performs a search across all site collections in the farm and as it returns locations it can be used to find site collections themselves.

Switch from search result to browse

The search feature for finding location works really well but what makes it simple awesome (just my opinion) is that we’ve allowed you to take a search result and then switch back to the browse navigation metaphor to explore that location further. This is really, really powerful. For example you may have a SharePoint environment where you create a new site per project and there are tons of these project sites scattered across multiple site collections. You can now do a simple search in the tree to find the site then drill down within the site to find a document library (which is actually where you would want to save or open files from).

cameron-dwyer-sharepoint-remote-navigation-tree-browse-within-search-result

 

cameron-dwyer-sharepoint-remote-navigation-browse-from-search-result

The capabilities of the Navigation Tree make it scalable to fit any SharePoint environment from the very small to the very large and deliver a slick, modern, responsive interface to SharePoint. The tree control continues to evolve with each release of OnePlaceMail and we certainly have big plans to take it forward even further.

Download an evaluation of OnePlaceMail Enterprise and give the tree a go for yourself (it’s a client only 3 minute install)

 

This article was written based on OnePlaceMail Release 6.6 – read other highlights of this release



How to bulk upload/copy a folder structure and files to SharePoint

$
0
0

So you’ve got a bunch of files nicely arranged in a folder structure sitting on your computer or a network drive that you want to copy up to a SharePoint library and preserve the directory structure. On the surface this is a daunting task as you can’t just give SharePoint your folder structure and tell it to do the work for you, so what are your options.

 

Option 1: Manually via SharePoint IU

Recreate the folder structure in SharePoint and upload the files via SharePoint UI in batches doing a multiple file upload to one destination folder at a time. Not much fun for anyone, but it can be done.

 

Option 2: Commercial Tool

Try a 3rd party tool. Yes they will probably cost you but will get the job done and probably with a few extra bell’s and whistles like applying metadata to SharePoint columns during the process. Some of the key companies to take a look at would be:

 

Option 3: Open Source Tools

There are some open source projects going around that claim to handle these types of bulk uploads, here’s a couple that look interesting:

http://spbulkdocumentimport.codeplex.com/

http://spfileupload.codeplex.com/

 

Option 4: Script it Yourself

PowerShell is an awesome way to get things done quickly in SharePoint, I’ve written these scripts in the past that show you how to create folders and how to upload documents to SharePoint. With a bit of extension and effort you could roll your own scripted solution.

https://camerondwyer.wordpress.com/2013/05/27/how-to-import-upload-an-entire-folder-of-files-to-sharepoint-using-powershell/

https://camerondwyer.wordpress.com/2013/11/06/sharepoint-powershell-how-to-create-sharepoint-library-folders-for-loadperformance-testing/

 

Option 5: Explorer View

The old ‘Open Library in Explorer View’ option in SharePoint may get you out of trouble if the directory structure and number of files is fairly small. Simply use the Explorer View to open the SharePoint library up in a Windows Explorer window and then copy/paste or drag/drop into the Window and the magic will start to happen

 

Option 6: OneDrive for Business

Now this is my preferred option for getting the job done, and the reason for writing this blog post! To achieve this one, browse to your library in SharePoint and click on the sync button to have the SharePoint library sync’d via OneDrive to your local machine.

bulk-upload-folder-structure-sharepoint-cameron-dwyer-onedrive-sync-button

After the sync has completed the SharePoint library (and it’s content including any folder structure) is now represented as a folder structure that you can easily get to through Windows Explorer.

bulk-upload-folder-structure-sharepoint-cameron-dwyer-onedrive-local-library

Now it’s just a matter of copy/paste or drag/drop your local folder structure (that you want to copy to SharePoint) into this folder in Windows Explorer. Here is my folder structure I want to copy up to SharePoint.

bulk-upload-folder-structure-sharepoint-cameron-dwyer-folders-to-upload

So I can just copy the “My Folder Structure” folder and paste it into the SharePoint sync library location. This is super quick because it’s just copying between 2 locations on your local hard drive.

bulk-upload-folder-structure-sharepoint-cameron-dwyer-onedrive-sync

Now the real goodness happens. OneDrive will sync the entire folder structure including any content files up to SharePoint in the background. You will notice that the folders and files you have just pasted have a tiny icon in the left corner. This will display a green tick when the item has been created in SharePoint. This is awesome, your computer is still free to use, there’s no lockup. If you need to shutdown before the sync is finished, it will just pick up from where it left off. OneDrive’s mission in life is to keep your local folder in sync with the SharePoint library, and it will work tirelessly in the background to do this.

Another powerful advantage this method has over many of the other options I provided earlier is that it will work with Office 365 which you just can’t reach some of those other methods.

Now my disclaimer before I get people throwing virtual rotten fruit at me. I’m not suggesting you use this method to move an entire network drive to SharePoint. Yes, I advocate you should take the opportunity to clean up the data on your network drives and not just move the problem to SharePoint. I also believe in the use of metadata to classify content rather than using folders. Having said that, there are valid instances when you do need to perform an upload of many files and preserve the folder structure in SharePoint and I think the OneDrive approach is a pretty cool tool to add to your arsenal.


Is the SharePoint brand going away?

$
0
0

The big push from Microsoft over the last few years has been towards the cloud, and in the SharePoint area this means Microsoft wants you on Office 365 instead of on-premises SharePoint servers.

None of this should shock you, Microsoft has been yelling it loud and clear for some time now, and the message came through loud and clear at the SharePoint Conference in Las Vegas this year (my key takeaways from the SPC14). It has now been announced that was the last SharePoint conference and starting in 2015 a conference combining SharePoint, Lync, Exchange, Project, Office365 will run instead.

Here’s some interesting stats pulled from Google trends.

trends-office365-vs-sharepoint

Office 365 (blue) vs SharePoint (red) – Shows interest in SharePoint slowly declining while interest in Office 365 has been rapidly increasing to roughly double that of SharePoint.

Microsoft’s Office 365 offering is compelling now they are starting to realize the benefits from combining multiple services into a single integrated offering. I don’t necessarily think Microsoft is trying to kill SharePoint off, it’s just drifting towards the background a bit in the noise of Office 365. When you look at Office 365, there are quite a few products that were thrown into the mix… SharePoint, Exchange, Yammer, Office Online, OneDrive, FAST. Trying to combine and integrate these products and leverage their combined power, Microsoft is heading towards talking about the tangible objects and features rather than the technology.. what do I mean by that? We start hearing terms like Conversations which may be a mixed thread of Email/Lync/Yammer all shown together, we start to talk of Documents whether they be stored in SharePoint and viewed with Office Online Apps, Office Desktop apps or accessed via OneDrive. It seems the technologies themselves are losing the focus and the rather the functionality they provide is coming to the fore (and I think this is where the rub comes for those hanging on to SharePoint on premises), this really awesome functionality is not provided by one product on it’s own, but rather when they are integrated together and the only way to get the highest level of integration and deliver this value is in Microsoft’s Office 365 cloud. So is SharePoint going away? I think it’s just becoming part of something bigger, and over time the functionality might just be called Sites or Workspaces or Places or Groups in Office 365 but it will essentially be the SharePoint of today powering the functionality delivered in the Office 365 of tomorrow.

 

trends-office365-vs-google-apps-cameron-dwyer

Office 365 (blue) vs Google Apps (red) – Office 365 is competing with Google for taking business apps to the cloud and looking at Office 365 vs Google Apps or Google Docs these stats show a pretty fierce battle underway.

 

trends-office365-vs-google-docs-cameron-dwyer

Office 365 (blue) vs Google Docs (red) – Office 365 is competing with Google for taking business apps to the cloud and looking at Office 365 vs Google Apps or Google Docs these stats show a pretty fierce battle underway.


Running Fiddler with OnePlaceMail – Fixing “The requested site does not appear to have claims enabled or the Login Url has not been set” message

$
0
0

Here’s a workaround to get Fiddler working with OnePlaceMail and SharePoint 2013 where you normally get the following error message in OnePlaceMail as soon as Fiddler is enabled and capturing traffic:

“The requested site does not appear to have claims enabled or the Login Url has not been set”

clip_image002

I went investigating why introducing Fiddler breaks OnePlaceMail and was able to track the problem down to a single call to the native SharePoint 2013 People web service and in particular the IsClaimsMode method of the People web service. Under the default SharePoint 2013 install (Claims mode with integrated Windows NTLM or Kerberos Authentication) this web method return False without Fiddler and True with Fiddler running.

Using Fiddlers AutoResponder feature we can set up a rule to listen for calls to the IsClaimsMode method of the People web service and return a fixed response from a local file instead of getting it from the SharePoint server.

The particular Fiddler AutoResponder rule matching I used requires one of the later versions of Fiddler, here’s the version I was using: v4.4.9.2

clip_image004

First you need to get the following “response” file onto your computer so Fiddler can use it to respond to any calls made to the IsClaimsMode web service. Here’s the contents of the response file:


<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="<a href="http://schemas.xmlsoap.org/soap/envelope/">http://schemas.xmlsoap.org/soap/envelope/</a>" xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>" xmlns:xsd="<a href="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema</a>">
   <soap:Body>
      <IsClaimsModeResponse xmlns="<a href="http://schemas.microsoft.com/sharepoint/soap/">http://schemas.microsoft.com/sharepoint/soap/</a>">
         <IsClaimsModeResult>false</IsClaimsModeResult>
      </IsClaimsModeResponse>
   </soap:Body>
</soap:Envelope>

It’s pretty simple, the web service really only returns a value of true or false. The condition the problem occurs is when the real web service gives back a true when it should be false.

In my example I’ve placed the file on the following path:

C:\Users\cdwyer\Documents\Fiddler2\Captures\sp2013people.asmx.xml

Now start up Fiddler and select the AutoResponder tab and check the following options:

- Enable automatic responses

- Unmatched requests passthrough

clip_image006

Click Add Rule and put the following match rule in (this will identify any web service calls to the IsClaimsMode method:

Header:SOAPAction=”http://schemas.microsoft.com/sharepoint/soap/IsClaimsMode

clip_image008

Now in the action to execute line choose Find a file… from the drop down

clip_image010

Select the AutoResponder file we created in the earlier step

clip_image012

The AutoResponder tab should now look like this

clip_image014

Using OnePlaceMail with Fiddler running should now work without raising the error.


Beware SharePoint 2013 Search Results and the ListUrl Property

$
0
0

beware-caution-sharepointI was recently looking into the results returned by SharePoint 2013 under the scenario of alternate access mappings. Essentially this boils down to the same SharePoint content being available on different host URLs.

Here’s an example:

I can have a single site which I initially create on http://ourintranet, through the magic of alternate access mappings I can make the same SharePoint site also accessible on http://extranet.mycompany.com

SharePoint serves up exactly the same content irrespective of the URL host the user come in on. In the address bar of the users browser, the host portion of the URL remains constant as they navigate through the site e.g. if the user came in on http://extranet.mycompany.com they would not be switched over to the http://ourintranet host at any time.

These alternate access mappings carry across to search as well. The way this works is that the search processes will crawl the SharePoint site and index content based on one of the URLs (either http://ourintranet or http://extranet.mycompany.com, best practice is to use the access mapping of the default zone). When search results are requested the SharePoint server will find the matching results in it’s search index and then apply alternate access mappings to any of the URLs being returned so that even though the content was crawled and indexed with the URLs starting with http://ourintranet, if a user comes in on the http://extranet.mycompany.com URL and performs a search, then all search results will also use the http://extranet.mycompany.com access mapping.

Now to the issue with the ListUrl property being returned by search. This property simply misses the whole alternate access mapping transformation when the search results are returned and the value is read straight from the search index. Therefore the ListUrl property is fixed with the URL host that the search crawler is configured with. This means that when a user comes in on http://extranet.mycompany.com and performs a search, the ListUrl property will give back a result starting with http://ourintranet. Obviously this is not good and your users may not even have access to the content via the different access mapping.

Here’s an environment demonstrating the problem.

The initial site collection is created on http://vs-server38:83

01-sharepoint-aam-listurl-search-results-cameron-dwyer-site-collections

 

The site collection is then extended (which creates the alternate access mapping) http://vs-server38:84

02-sharepoint-aam-listurl-search-results-cameron-dwyer-extended-to-new-port

 

Through a browser we can now access the same site on http://vs-server38:83

03-sharepoint-aam-listurl-search-results-cameron-dwyer-port-83

 

or on http://vs-server38:84

04-sharepoint-aam-listurl-search-results-cameron-dwyer-port-84

 

The search content source is configured to crawl the content based on the default http://vs-server38:83 URL.

05-sharepoint-aam-listurl-search-results-cameron-dwyer-search-content-source-for-crawl

The screenshot below shows the results of performing a search query (via PowerShell) on the URL http://vs-server38:83. As you can see all URLs returned begin with http://vs-server38:83

06-sharepoint-aam-listurl-search-results-cameron-dwyer-search-results-on-port-83

 

This screenshot performs exactly the same search query only it uses the alternate access mapping of http://vs-server38:84. This time the issue is evident. The Path, OriginalPath and SiteName properties all return URLs that have been mapped to the alternate access URL I used. Note the ListUrl property still returns the http://vs-server38:83 based URL.

07-sharepoint-aam-listurl-search-results-cameron-dwyer-search-results-on-port-84

 

Delving further, each managed search property has a property called UseAAMMapping that seems to be the flag that tells SharePoint that the property contains a URL and need to apply alternate access mapping transformation when results are returned. Looking at the UseAAMMapping property through PowerShell we can see that the ListUrl property does not have this flag set while the other URL based properties (that work correctly) do have this flag set.

08-sharepoint-aam-listurl-search-results-cameron-dwyer-listurl-useaammapping-false


More out-of-the-box ways to get Email into SharePoint (2013 and Office 365)

$
0
0

This is a continuation of an article I wrote back at the beginning of 2012 Five out-of-the-box ways to get Email into SharePoint. Since then we have seen the launch of SharePoint 2013 and also more widespread adoption of Office 365 (SharePoint Online). These more recent versions of SharePoint have introduced new ways of getting email into SharePoint and that’s what we will explore in the article.

Option 6 – Site Mailboxes

The Site Mailbox concept introduced in SharePoint 2013 promised a lot and sounded like it could be the primary option to go for when trying to integrate email and SharePoint. Rather than reproduce existing content here’s an article I wrote dedicated to SharePoint 2013 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

http://camerondwyer.wordpress.com/2013/03/20/guide-to-setting-up-sharepoint-site-mailboxes-on-sharepoint-2013-and-exchange-2013/

http://camerondwyer.wordpress.com/2013/02/13/white-paper-sharepoint-2013-site-mailboxes/

http://blogs.technet.com/b/exchange/archive/2012/08/22/site-mailboxes-in-the-new-office.aspx

http://office.microsoft.com/en-001/sharepoint-help/overview-use-a-site-mailbox-to-collaborate-with-your-team-HA103927690.aspx

http://office.microsoft.com/en-001/office365-suite-help/prepare-for-using-site-mailboxes-in-office-365-HA103834109.aspx

 

Option 7 – Drag/Drop to SharePoint via Desktop

SharePoint 2013 provided the new capability of being able to drag and drop files from your computer directly into a SharePoint document library open in a browser window. Combine this with the ability to turn Outlook messages into msg files by dragging them of of Outlook onto the desktop and we have a fairly simple 2 step process.

Step 1: Drag email from Outlook and drop to the desktop

drag-drop-email-outlook-to-sharepoint-office365-drag-to-desktop-cameron-dwyer

Step 2: Drag email from the desktop and drop into SharePoint

drag-drop-email-outlook-to-sharepoint-office365-drag-to-sharepoint-cameron-dwyer

Thanks goes to Liz who posted a comment on this blog letting me know of this technique.

Pros

  • The email is stored in msg format so it can be opened back up in Outlook without loss of data or email integrity.
  • Once your windows are setup for source (Outlook) and destination (SharePoint) the drag drop is quite simple
  • No configuration or setup required and will work with any SharePoint 2013 document library
  • Can move multiple email at once
  • Can move attachments off email to SharePoint using same technique
  • Can save the the root of the SharePoint library or to a subfolder (just have the library open to the folder before the drag drop)
  • Will work with older versions of Outlook
  • Transfer happens in the background (SharePoint web browser provides progress bar)

Cons

  • Getting the Outlook and SharePoint windows accessible and seeing the desktop behind them to be able to execute the drag drop can be a bit fiddly so lends itself more to doing the transfers in batches rather than just ad-hoc when new email arrives.
  • No email attributes get captured/promoted to SharePoint columns

 

Further Reading

http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2012/07/16/how-to-drag-and-drop-files-into-sharepoint-2013-document-libraries.aspx

http://office.microsoft.com/en-us/office365-sharepoint-online-enterprise-help/upload-files-to-a-library-HA102803549.aspx

 

Option 8 – Save or Drag/Drop to a OneDrive Synced Location

OneDrive for Business is essentially a synchronization tool that lets you take a copy of a SharePoint library locally onto your machine. The document library appears in Windows Explorer as a folder with the documents appearing as files within the folder. Subfolders within a library are also supported. The nice thing about OneDrive is that it’s a 2 way sync. Any additional files you add to the local sync folder will get transferred up to SharePoint.

Step 1: Browse to your library in SharePoint and click on the sync button to have the SharePoint library sync’d via OneDrive to your local machine.

bulk-upload-folder-structure-sharepoint-cameron-dwyer-onedrive-sync-button

After the sync has completed the SharePoint library (and it’s content including any folder structure) is now represented as a folder structure that you can easily get to through Windows Explorer.

bulk-upload-folder-structure-sharepoint-cameron-dwyer-onedrive-local-library

Step 2: You can now open an Email in Outlook and choose to Save As and choose the OneDrive local folder as the save location. Alternatively you can open the OneDrive folder in Windows Explorer and drag/drop multiple emails directly from Outlook to the OneDrive folder. OneDrive will automatically upload these emails to SharePoint in the background.

Pros

    • The email is stored in msg format so it can be opened back up in Outlook without loss of data or email integrity.
      • Can move multiple email at once
      • Can move attachments off email to SharePoint using same technique
      • Can save the the root of the SharePoint library or to a subfolder (just have the library open to the folder before the drag drop)
      • Transfer happens in the background

Cons

  • Whole library must be synced locally which may mean a lot of files/data on the local machine that you don’t need or want
  • Using email Save As is tedious, drag and drop to OneDrive open in Explorer window is much nicer but it’s fiddly to get the windows visible to achieve the drag/drop so probably works better transferring in batches rather than as new email arrives.
  • No email attributes get captured/promoted to SharePoint columns

 

Further Reading

http://office.microsoft.com/en-001/sharepoint-help/sync-libraries-using-onedrive-for-business-HA103425074.aspx

http://camerondwyer.wordpress.com/2014/06/04/how-to-bulk-uploadcopy-a-folder-structure-and-files-to-sharepoint/


How to install/enable the WebClient (WebDAV) Service on Windows Server 2012 to open/edit SharePoint files

$
0
0

Are you having trouble opening/editing files stored in SharePoint, especially non Office files on Windows Server 2012?

By default the WebClient service is not installed on Windows Server 2012. Without this service running, opening/editing of non-Office files stored in SharePoint is very restricted.

To enable the WebClient service in Windows 2012 follow these steps:

Start Server Manager | Manage | Add Roles and Features

cameron-dwyer-windows-add-webclient-webdav-support-01-Add-Roles-And-Features

Select Installation Type of Role based or feature based installation

cameron-dwyer-windows-add-webclient-webdav-support-02-Role-or-feature-based-install

Choose the server to install the feature on (in my case I’m running server manager locally on the server I want to install the WebClient service on)

cameron-dwyer-windows-add-webclient-webdav-support-03-select-server

Just click Next to skip over Server Roles (it’s a feature we want to enable not a role)

cameron-dwyer-windows-add-webclient-webdav-support-04-skip-server-roles

Expand the User Interfaces and Infrastructure feature. By default this feature is partially installed. We need the Desktop Experience component of this feature. The WebClient is bundled with this component. According to Microsoft it is only possible to install the WebClient by enabling the entire Desktop experience and WebClient is not available on it’s own (https://social.technet.microsoft.com/Forums/windowsserver/en-US/e4ac654f-6d75-431d-baff-2f9dd511980a/installing-webclient-service-without-desktop-experience?forum=winserverTS)

cameron-dwyer-windows-add-webclient-webdav-support-05-enable-desktop-experience

Check Desktop Experience and you will be prompted to also install the pre-requisite Ink and Handwriting Services. Click Add Features.

cameron-dwyer-windows-add-webclient-webdav-support-06-enable-ink-handwriting-services

 

This change required a server restart for me (and the feature installation continued after the restart) so check the option to have the server automatically restart if required.

cameron-dwyer-windows-add-webclient-webdav-support-07-confirm-restart

Click Install and your server should restart and the feature installation will complete once the server comes back up.

cameron-dwyer-windows-add-webclient-webdav-support-08-installation-finished

Now check the Windows Services and ensure WebClient is present and running

cameron-dwyer-windows-add-webclient-webdav-support-09-verify-webclient-service-running

 

Further Resources/Reading

https://social.technet.microsoft.com/Forums/windowsserver/en-US/e4ac654f-6d75-431d-baff-2f9dd511980a/installing-webclient-service-without-desktop-experience?forum=winserverTS

https://social.technet.microsoft.com/Forums/windowsserver/en-US/33ad6fc9-8d8b-40b9-b9a3-a253f9ae37d1/webclient-service-on-windows-server-2012-webdav-client?forum=winserver8gen


Fix SharePoint Performance Issue with ‘Open in Explorer’& opening non-Office File Types

$
0
0

I was recently working with documents stored in SharePoint (Office 365 to be exact) and was seeing poor performance when trying to open file types with applications other than Office. At first I just put it down to a slow connection to Office 365, but I quickly realised that accessing files from Office 365 via alternate means (CSOM, Web Services) was much faster. I also found that the ‘Open with Explorer’ function (available on the Library ribbon as shown below) was slow to open.

cameron-dwyer-sharepoint-webdav-open-explorer-performance-issue-fix-01-open-with-explorer

 

cameron-dwyer-sharepoint-webdav-open-explorer-performance-issue-fix-02-explorer-webdav-view

In both scenarios I saw the performance issue (1) Opening non-Office files from SharePoint, and (2) Using the Open in Explorer function, the underlying technology that is performing the communication is WebDAV. WebDAV is the layer that makes it possible for applications that were not designed to work with SharePoint to.. well.. work with SharePoint I guess! WebDAV is actually a standard and isn’t SharePoint specific but I won’t go into that here. Suffice to say I’d isolated my issue down to being a performance issue related to WebDAV.

Now I knew what I was troubleshooting, the answer was readily available. Here’s the official KB of a known issue with WebDAV and the auto-detect settings option in Internet Explorer http://support.microsoft.com/kb/2445570

This was the fix for me:

In Internet Explorer, open Internet Options

cameron-dwyer-sharepoint-webdav-open-explorer-performance-issue-fix-03-internet-options

Select Connections | LAN Settings

cameron-dwyer-sharepoint-webdav-open-explorer-performance-issue-fix-04-connections-lan-settings

Uncheck ‘Automatically detect settings’

cameron-dwyer-sharepoint-webdav-open-explorer-performance-issue-fix-05-automatically-detect-settings

That’s it. After making this change I could go back to SharePoint and the SharePoint Library ‘Open in Explorer’ action was 4x faster than it had been. I was also getting much faster opening times of my non-Office files.



How to fix frequent WebDav “path not valid” errors

$
0
0

After experiencing some intermittent “path not valid” and very frustrating errors trying to open different types of files from my SharePoint server I’d had enough. I had to know what was going on.

Here’s the behaviour I was seeing. I had used a certain machine to edit SharePoint files in applications such as WordPad and Paint in the past so I just jumped on it and tried to open a file from SharePoint in MS Paint and it would just keep failing with “path not valid”. I tried the same file from another machine and it worked fine. So back the first machine with the error and I tried images from other directories on the same server, they all failed with “path not valid”. I then started trying to open different file types with different applications. What I found was quite surprising (to me anyway). I was able to successfully open a .txt file from SharePoint in WordPad and from that point on my original image files that failed to open in Paint started working fine.

Now I already knew that WebDav had a few dependencies and that the WebClient service had to be running, but I had initially dismissed this as a possible cause as I knew I’d been working fine with WebDav on this machine only a couple of days prior… it turned out this was a bad assumption to make.

What I wasn’t expecting was that there are some actions you can do that will start the WebClient service if it’s not already running. As I discovered, one of those actions it to use WordPad to try and open a file on a UNC path. A bit of digging around also revealed that putting a UNC path in Windows Explorer will cause the WebClient service to start as well.

Here’s the proof:

webdav-path-not-valid-sharepoint-fix-cameron-dwyer-01-stop-webclient-service

webdav-path-not-valid-sharepoint-fix-cameron-dwyer-02-open-with-paint

webdav-path-not-valid-sharepoint-fix-cameron-dwyer-03-invalid-path-errort

webdav-path-not-valid-sharepoint-fix-cameron-dwyer-04-web-client-not-running

webdav-path-not-valid-sharepoint-fix-cameron-dwyer-05-open-with-wordpad

webdav-path-not-valid-sharepoint-fix-cameron-dwyer-06-open-with-wordpad-successful

webdav-path-not-valid-sharepoint-fix-cameron-dwyer-07-webclienbt-service-started

Now trying to open the original image file (that failed) in Paint works fine.

webdav-path-not-valid-sharepoint-fix-cameron-dwyer-08-open-sharepoint-photo-in-paint

So I learned my lesson, even though it’s something I thought I already knew. If you are making use of WebDav MAKE SURE the WebClient service is set with a startup type of “Automatic”.

 

Further reading:

https://www.myotherpcisacloud.com/post/2012/11/13/Sometimes-I-Can-Access-the-WebDAV-Share-Sometimes-I-Cant!.aspx


SharePoint CAML query examples of working with People and Groups

$
0
0

Some of the more elegant and powerful solution built with SharePoint have some level of personalization for the user. Here are some example CAML queries that allow you to query a SharePoint list and return items where the current user is listed in a Person column or explicitly in a Person/Groups column and even if they a a member of a group in a Person/Groups column. First let’s give our examples a bit of context. Here’s a SharePoint list of Projects where each project has:

  • Status (Choice column with valid values of Open, Closed, Cancelled)
  • Project Manager (single valued Person column – no groups allowed)
  • Project Team (multi value Person/Group column – People allowed explicitly and/or Groups allowed)

sharepoint-office365-people-group-caml-cameron-dwyer-02-list-data   And the column definitions: sharepoint-office365-people-group-caml-cameron-dwyer-01-list-columns   Now here’s some of the things you might want to do when querying this list and the CAML to achieve it.

Where current user is in a single values Person/Groups column

This will give us all items where the current user is in the Project Manager column


<Where>

<Eq>

<FieldRef Name='Project_x0020_Manager'/>

<Value Type='Integer'>

<UserID Type='Integer'/>

</Value>

</Eq>

</Where>

Where current user is a member of a groups that is listed in a person/groups column (that allows single or multiple values)

This will give us all items where the current user is a member of a group listed in the Project Team column. Note: it will not give you items where the user is listed explicitly by name in the Project Team column.


<Where>

<Membership Type='CurrentUserGroups'>

<FieldRef Name='Project_x0020_Team'/>

</Membership>

</Where>

Where current user may be named explicitly or may be a member of a group listed in a person/groups column (that allows single or multiple values)

This will give us all items where the current user is either listed explicitly by name or is a member of a group listed in the Project Team column.


<Where>

<Or>

<Membership Type='CurrentUserGroups'>

<FieldRef Name='Project_x0020_Team'/>

</Membership>

<Includes>

<FieldRef Name='Project_x0020_Team'/>

<Value Type='Integer'>

<UserID Type='Integer'/>

</Value>

</Includes>

</Or>

</Where>

Combining Item Metadata with User/Groups Column Queries

This will give us all items: Where the Project Status (choice type) column has a status of “Open” AND Where current user may be named explicitly or may be a member of a group listed in the “Project Team” person/groups column (that allows single or multiple values) OR Where current user is explicitly named in the single value “Project Manager” Person/Groups column


<Where>

<And>

<Eq>

<FieldRef Name='Project_x0020_Status' />

<Value Type='Choice'>Open</Value>

</Eq>

<Or>

<Eq>

<FieldRef Name='Project_x0020_Manager' />

<Value Type='Integer'>

<UserID Type='Integer' />

</Value>

</Eq>

<Or>

<Membership Type='CurrentUserGroups'>

<FieldRef Name='Project_x0020_Team'/>

</Membership>

<Includes>

<FieldRef Name='Project_x0020_Team'/>

<Value Type='Integer'>

<UserID Type='Integer'/>

</Value>

</Includes>

</Or>

</Or>

</And>

</Where>


Preparing for Microsoft Ignite 2015

$
0
0

office-graph-ignite-sharepoint-office365-cameron-dwyerThe excitement is starting to build as the Microsoft technology conference of the year is almost upon us. I feel this year is going to be a first time experience for all attendees. We’ve got many individual conferences combined into one, even the old timers that have been attending these individual conferences year after year may be feeling some renewed excitement and feelings of trepidation of just how this conference is going to play out.

It’s certainly going to get started with a bang as Satya Nadella takes the stage for the keynote to an event that sold out weeks ago. I think the last time we saw a Microsoft CEO take the stage at a SharePoint conference was 5 years ago at SPC2010 when Steve Ballmer was at the helm.

Although Microsoft has gone (almost) all in on the cloud and been pushing cloud at us from every angle over the last few years, I think we will be hearing the word HYBRID quite a bit at this conference. We can also expect to hear a lot more about what SharePoint 2016 will look like and the feature set we can expect out of SharePoint 2016 on premises installations.

During the conference you’ll be able to find me at the OnePlace Solutions booth #537 in the Exhibition Hall. We will be running live, interactive demos of OnePlaceMail, as well as two new products that we are launching at the conference OnePlaceDocs and OnePlaceLive. Email management, Document management, and driving a solution focused, end user engagement for systems built on the SharePoint/Office 365 platform is what we’re about – if that sounds interesting then come by and meet the OnePlace Solutions Team. We will have plenty of giveaways as well so make sure you stop by to claim yours.

oneplacesolutions-ignite-conference-2015-cameron-dwyer

If you want to get the most out of mingling and networking then be sure to check out these two great resources for all those official and unofficial parties (great work guys on compiling these lists as they are quite extensive):

Vlad Catrinescu’s Blog – The Ultimate Microsoft ignite Party List

Jonathan McKinney’s Blog – The Unofficial Microsoft Ignite Party and Contest/Giveaway List

The Microsoft Ignite Countdown show is also well worth a watch to get a feel for how the conference will run, things to do in Chicago and it’s a bit of a laugh at the same time.

If you haven’t already then make sure you are keeping an eye on the #msignite hashtag on Twitter and the Ignite Event group in the Office 365 Yammer Network.

I hope to see you at the conference and above all have fun and despite what you were told as a child, talk to strangers (as long as they have an Ignite badge!)

 


Photos from Microsoft Ignite 2015 in Chicago

$
0
0

As the dust settles on the first Microsoft Ignite conference and the tech crowd disperses from Chicago I look over these photos and think I’ll remember this conference as much for the character of the city of Chicago as I will the Ignite conference itself. From the fantastic aromas wafting from restaurants, the bars that greet you with a unique craft beer menus and  soulful blues performers to the monolithic buildings representing the pinnacle of engineering feats and the fresh parks and playgrounds and rejuvenated river front; Chicago is a city that is hard to walk away from and even harder to forget.

Thanks for the memories Chicago.

cameron-dwyer-settings-up-office365-conference cameron-dwyer-settings-up-exhibition-hall-ignite-2015 cameron-dwyer-oneplace-solutions-office365-booth cameron-dwyer-oneplace-solutions-booth-office365 cameron-dwyer-oneplacemail-oneplacedocs-office365-sharepoint-ignite-2015 cameron-dwyer-office-365-chicago-ingite-by-night cameron-dwyer-microsoft-sign cameron-dwyer-microsoft-ignite-chicago-river cameron-dwyer-microsoft-ignite-2015-bubba-gump-shrimp cameron-dwyer-microsoft-conference-swag-xbox cameron-dwyer-microsoft-community-wall cameron-dwyer-ignite-keynote-crowds cameron-dwyer-ignite-2015-wrigley-field-cubs-game cameron-dwyer-chicago-willis-tower cameron-dwyer-chicago-silver-bean-ignite-conference-2015 cameron-dwyer-oneplace-solutions-ignite-2015 cameron-dwyer-avepoint-red-party-metalogix-mcp-1-night cameron-dwyer-house-of-blues cameron-dwyer-house-of-blues-microsoft-ignite cameron-dwyer-avepoint-red-party-union-station-chicago cameron-dwyer-chicago-parks-lands-lakeside cameron-dwyer-chicago-lakeside-bike-ride cameron-dwyer-chicago-hotdog-cubs cameron-dwyer-chicago-deep-dish-pizza cameron-dwyer-chicago-corn-cobs cameron-dwyer-buddy-guys-blues-chicago cameron-dwyer-best-burger-in-chicago

New OnePlaceLive Scenarios Blog Series

$
0
0

imageWith the recent launch of the OnePlaceLive product, I’ve commenced writing a series of articles on the OnePlace Solutions website. This series of articles is designed to introduce the OnePlaceLive product and show to power that Solution Profiles can deliver in real world business scenarios such as using SharePoint/Office 365 for Projects Management, Legal Matter Management, Property/Asset Systems.

What are OnePlaceLive Solution Profiles?

Solution Profiles provide an intelligent way to look at SharePoint from the perspective of the different business systems (or solutions as we like to call them) that have been built in SharePoint (e.g. Project Management, Legal Matter Management, HR Business Processes, Helpdesk) and to dynamically identify the different SharePoint artefacts that make up those systems (e.g. site collections, sites, lists, libraries, document sets, folders, content). Solution Profiles then provide the power to organize those artefacts in many different ways that make sense to the end users of the business solutions, and then deliver those SharePoint artefacts to the users in personalized ways (and in context of the business solution) directly within core user applications where the user needs them (Outlook, Word, Excel, PowerPoint, Adobe Reader, Adobe Acrobat, and the Windows Desktop via OnePlaceDocs Explorer).

solution-profiles-business-system-focus-diagram

The OnePlaceLive Client application provides a graphical UI for creating, maintaining and publishing Solution Profiles which are then consumed by end users of OnePlaceMail and OnePlaceDocs.

Read the full OnePlaceLive Solution Profiles article and the first Project Management scenario


Does Microsoft have an InfoPath Forms Replacement in the Works

$
0
0

imageIt’s been one of the most asked questions since the death of InfoPath; What is InfoPath’s replacement?

There are some great 3rd party forms products that have been around for a long time now (namely Nintex and K2). Microsoft has been keeping very tight lipped on any official replacement to InfoPath and Forms in general and the community has been left feeling like they had been abandoned by Microsoft by not providing any replacement for their investment in InfoPath.

In a Office 365 Developer Podcast this week Jeremy Thake makes some very interesting comments (in the last 5 minutes of the podcast) indicating that Microsoft have been working on an InfoPath forms replacement it’s just been running way behind schedule. Interestingly he points to the technology behind Project Sienna possibly being an eventual replacement for InfoPath.
https://blogs.office.com/2015/07/16/office-365-developer-podcast-episode-054-panel-discussion-on-sharepoint-development/

This podcast also mentions that we may hear (and see) something more official announced in October. Could this be the news that everyone has been waiting for? That Microsoft will have an official replacement for InfoPath. Let’s hope so. SharePoint (and Office 365) as a platform really need a rich forms technology at it’s core. Businesses look to SharePoint to replace those paper based workflows within the organisation so it’s kind of important to have a Forms technology natively within SharePoint to facilitate that wouldn’t you think?


Working with Non-Office File Types in SharePoint & Office 365

$
0
0

Office 365 and SharePoint work quite nicely when you are working with Microsoft Office file types. Things like Word, Excel and PowerPoint files. Once you really start using SharePoint however, you want to store many more types of files in SharePoint. This is natural and you can actually get the files into SharePoint without too much hassle.

Editing and working on Office file types is pretty good. Just click on the file in SharePoint and you can now choose to do the edits directly in the browser (with online versions of the Office products) or edit the files in the full desktop version of the Office products.

But what’s the story with file types that don’t open in, or are not associated with the Office products?

Well that’s when things get a little clunky, and in this post I’m going to show you how OnePlaceDocs Explorer turns virtually any software application into a “SharePoint” aware application that you can use to open/edit and save files that live in SharePoint. No longer are you just restricted to using the Office application that were designed to work with SharePoint, now you can edit files in any application you want.

So what is OnePlaceDocs Explorer? It is a bit like Windows File Explorer except it is purpose built for looking at SharePoint and Office 365 environments rather than files on your local computer or network.

To give you some orientation, the screenshot below shows OnePlaceDocs Explorer and points out the 3 pane layout which is similar to Windows File Explorer.

edit-files-directly-from-sharepoint-01-office-365-explorer-cameron-dwyer

 

Let’s look at a common scenario…

Editing Images Files in SharePoint/Office 365

It’s actually very difficult to edit image files that are stored in SharePoint. If you try to open the file, the web browser simply displays the image in the browser (because it natively knows how to). This doesn’t help you when you want to edit the image though. Your options are to either:

  • Download the image from SharePoint to your local computer, edit it in your image editing program of choice, then manually upload the file back to SharePoint replacing the existing file
  • Sync the whole library offline via OneDrive and then you can work with the file as though it is a normal file on your desktop. Saving changes to the local file will sync back to SharePoint.

Here’s the OnePlaceDocs Explorer way.

Select the image file and select Open With (from the ribbon or context menu action)

edit-files-directly-from-sharepoint-02-open-with-cameron-dwyer

Select any application from the list of applications installed on your computer that recognise this file type. I’ll choose good old Microsoft Paint just to prove that a very basic application that has no interoperability with SharePoint will work fine.

edit-files-directly-from-sharepoint-03-open-with-paint-cameron-dwyer 

Paint now starts up and the image stored in SharePoint is sitting there ready for me to edit.

edit-files-directly-from-sharepoint-04-open-with-paint-original-cameron-dwyer

I’ll make a few changes and just save using the standard save action in Paint or pressing CTRL+S.

edit-files-directly-from-sharepoint-05-open-with-paint-edited-awesome-cameron-dwyer

Believe it or not, that is it.

If we return to OnePlaceDocs Explorer we can see in the changes showing in the preview pane.

edit-files-directly-from-sharepoint-06-changes-in-preview-pane-cameron-dwyer 

Just to prove that it really has changed the file in SharePoint, I’ll open this document library in a web browser.edit-files-directly-from-sharepoint-07a-open-in-browser-cameron-dwyer

We can then find the same file in SharePoint

edit-files-directly-from-sharepoint-07b-open-in-browser-cameron-dwyer

And there’s my modified image.

edit-files-directly-from-sharepoint-08-modified-file-in-sharepoint-cameron-dwyer

Editing the file using OnePlaceDocs Explorer really wasn’t any different to opening a file from my local computer. So now you have no excuse for not putting those files in SharePoint where they belong!

This same technique can be used to open any type of file with any installed application. Another common scenario is opening PDF files with Adobe Acrobat or another PDF authoring tool.



Photos from Microsoft Ignite Australia (Gold Coast)

The modern digital workplace must focus on the user

$
0
0

modern-digital-workplace-cameron-dwyer

I was recently interviewed by the team at LiveTiles to get my thoughts on the modern digital workplace.

  • What does the digital workplace mean to me?
  • What do I see as the benefits and challenges of the digital workplace?
  • What trends have I seen and what do I think the future holds for the digital workplace?

Read the answers to these questions and more in the full article What to expect from the modern workplace.

The problem now isn’t digitizing information, the problem is how to get the right information to the right people at the right time [with] the right tool.”

 


2 Simple Techniques for Creating SharePoint Views Grouped by Date Columns

$
0
0

Here are 2 techniques for creating views in SharePoint when you want to group on dates. Throughout this article I’ll be using the example of email that have been saved to SharePoint where the email date has been stored in a SharePoint column called “Email Date”. The Email Date is saved with both a date and time component.

sharepoint-views-date-group-by-cameron-dwyer-01-email-date-column

Here’s the All Documents view of the library showing the Email Date column

sharepoint-views-date-group-by-cameron-dwyer-02-all-documents

If we try to use the Email Date column to group by in the view

sharepoint-views-date-group-by-cameron-dwyer-03-group-by-email-date

The view creates a group for each different day (the time component is ignored)

sharepoint-views-date-group-by-cameron-dwyer-03-view-grouped-by-date

2 Level Grouping: by Year and then by Month

This view is going to get very busy with a grouping for each day, so how about we split it up a bit by creating 2 levels of grouping, firstly by year and then by month.

Unfortunately we can’t just use the existing Email Date column to achieve this, instead we will create two calculated columns to use for the groupings (one for year and another for month).

To create the year column:

Create as a calculated column
Set the returned data type as Single line of text (this gives better formatting control and the year will still sort properly as text)
Set the formula to =TEXT([Email Date], “yyyy”)

sharepoint-views-date-group-by-cameron-dwyer-04-calculated-year-column

To create the month column:

Create as a calculated column
Set the returned data type as Single line of text (this gives better formatting control and by padding a single digit month with 0 will still sort properly as text)
Set the formula to =TEXT([Email Date],”mm (mmmm)”)

sharepoint-views-date-group-by-cameron-dwyer-04-calculated-month-column

Now if we create a new view (based on the All Documents view) and add two levels of grouping based on our new calculated columns

sharepoint-views-date-group-by-cameron-dwyer-05-view-group-by-year-then-month

Our new view now renders in SharePoint giving collapsible grouping at both the Year and Month levels

sharepoint-views-date-group-by-cameron-dwyer-06-view-result-group-by-year-then-month

This is now a lot easier to navigate and drill down, and it’s quite nice to see the counts against each grouping as well. In this example I set the groups (both Year and Month) to sort in descending order. This means that the latest will be at the top (notice 2016 is above 2015, and within 2016, February is above January).

Faking a 3 Level Grouping: by Year/Month Combined and then by Day

SharePoint has a limitation in that you can only create two levels of grouping. If we want to have a third level (under month) that grouped together all the email from the same day then we can’t just go and add a third level of grouping. What we can do instead though is create a slightly more complex calculated column that combines both the year and month and use it as our top level grouping. So let’s do that now by creating a Year/Month column:

Create as a calculated column
Set the returned data type as Single line of text (this gives better formatting control and we can carefully craft the text so it still sorts year/month properly as text)
Set the formula to =TEXT([Email Date],”yyyy-mm (mmmm)”)

sharepoint-views-date-group-by-cameron-dwyer-07-calculated-column-year-month

We are also going the need a calculated column to group on the specific day, so I’ll create the Day column

Create as a calculated column
Set the returned data type as Single line of text
Set the formula to =TEXT([Email Date],”yyyy-mm (mmmm)”)

sharepoint-views-date-group-by-cameron-dwyer-08-calculated-column-day

Now we create our new view (based on the All Documents view) and add groupings based on the Year/Month column and the Day column. Again we will sort descending to get the latest at the top.

sharepoint-views-date-group-by-cameron-dwyer-09-view-settings-group-year-month-day

The resulting SharePoint view gives us the year/month breakdown at the first level and we can then drill down to a specific day within the month.

sharepoint-views-date-group-by-cameron-dwyer-10-view-group-by-year-month-day

I’m sure you can now go forward and add your own tweaks and formatting changes to get better date categorized views out of SharePoint.

 


Outlook Add-in Ribbon Commands: Resolution to Manifest XML Schema Errors

$
0
0

While taking a look at the new Outlook Addin Ribbon Commands I came across these schema validation errors trying to deploy the addin once I added the VersionOverrides element. In particular I was getting this error message:

Failed to deploy the manifest file to the Exchange server.  This app can’t be installed. The manifest file doesn’t conform to the schema definition. The element ‘Resources’ in namespace ‘http://schemas.microsoft.com/office/mailappversionoverrides’ has invalid child element ‘Images’ in namespace ‘http://schemas.microsoft.com/office/officeappbasictypes/1.0′. List of possible elements expected: ‘ShortStrings, LongStrings’ in namespace ‘http://schemas.microsoft.com/office/officeappbasictypes/1.0′... The element ‘Resources’ in namespace ‘http://schemas.microsoft.com/office/mailappversionoverrides’ has invalid child element ‘Images’ in namespace ‘http://schemas.microsoft.com/office/officeappbasictypes/1.0′. List of possible elements expected: ‘ShortStrings, LongStrings’ in namespace ‘http://schemas.microsoft.com/office/officeappbasictypes/1.0′.

 

After a bit of trial and error I discovered that the issue was to do with the order of child elements within the Resources element. It appears that there is a strict order that must be adhered to.

Here’s the code that was causing the error. Notice that I was defining Urls before Images.

 

image

 

I simply swapped this around to define Images first, then Urls and the xml then passed the validation check and I was on my way. Here’s the working code:

image

 


Light up your Outlook Mailboxes with advanced Email Tracking features

$
0
0

I’m preparing to head down to Melbourne for the The Digital Workplace Conference (the new Australian SharePoint Conference). This will be the first conference since the 7.3 release of OnePlaceMail and OnePlaceLive. I’m pretty excited about the new Email Tracking features which goes well beyond simply allowing users to transfer email and attachment from Outlook to SharePoint. This goes to a whole new level. Save an email to SharePoint (or Office 365) and all other recipients of the email can see in real time that you have file it to SharePoint and can open up the location in SharePoint. No more having multiple people trying the file the same email to SharePoint to find that someone has already save it there. Or worse, people saving it to different locations in SharePoint and having the files duplicated.

If you haven’t checked out the OnePlace Solutions suite in the last few months you may have also missed the suggested and predictive email filing capabilities that analyze the filing patterns of users and will suggest or predict locations in SharePoint that are likely locations you would want to save the email. If you’re not going to make it to see us at the Melbourne conference (or simply can’t wait that long to see what I’m talking about) here’s a short video on the Email Tracking feature. See for yourself how just one feature can make the Digital Workplace so much easier for a user, then imagine a whole suite of products packed with features like this, then come and see me at the conference!

 

 


Viewing all 69 articles
Browse latest View live