Category Archives: Blog

Pages promoted on the blog

This article covers how to import publishing pages to SharePoint.

This can help you if you need to bulk create pages in SharePoint and you have the data stored in a database or spreadsheet or if you need to migrate pages from another content management system such as WordPress.

yourpages

Scenario

We are going to assume that you have your page data in a database.  For this example we are going to use MySQL and the WordPress schema.  As you will see in the coming steps this could just as easily be any OleDB or ODBC data source and any schema.

Import Tool

We will use the free Import for SharePoint toolset to import the pages.

You download it from here.

When you download and install the import tool you will have full documentation and additional example import configuration files which will help further.

The Source

Column

The source data must contain a column with the HTML mark-up in it.

In our example content this is called ‘PageContent’.  Inside it looks a bit like this.

Select Statement

Now from the database source we need to ‘Select’ the data that will create our pages.  Since we are working with WordPress in this example the data is in wp_posts as we see below.

This select statement is also, cleverly, giving us the destination page name and setting up the page to be automatically published.

Import Configuration File

This is the file that tells Import for SharePoint how to create the pages in SharePoint.

The schema is fully explained in the documentation but the important bits for this exercise are explained here;

DestinationItemType

So we want to create publishing pages (We could alternatively create wiki pages, modern SharePoint pages, site pages or blog posts) but lets stick to the most common (publishing pages) for now.

<DestinationItemType>PublishingPage</DestinationItemType>

PageLayoutASPXName

So if your source select statement does not have a column of this name then “ArticleLeft.aspx” will be used.  If you want to use another page layout then ensure you select statement returns a column of this name containing the name of your desired page layout.

<PageLayoutASPXName>PageLayoutASPXName</PageLayoutASPXName>

ImportMapping

This bit maps your HTML data (in the column PageContent) to the SharePoint page content (field Page Content).

<ImportMapping xsi:type=”ImportMapping_String”>
<DestinationField>Page Content</DestinationField>
<SourceColumn>PageContent</SourceColumn>
</ImportMapping>

Execution

Ok so rather than re-invent the wheel we’ll let you read the documentation installed with Import for SharePoint on this one.

Result

Ok so originally in WordPress the page looked like this.

source

And now in out of the box SharePoint it looks like this.

result

Great, but seems a bit simplistic

Ok so we have shown how to import publishing pages into SharePoint.

Realistically a project is always going to be more complicated than that.

So lets talk about real life….

Targeting Branded SharePoint

Page Layout

So the destination is likely to be branded?  That’s no problem we’ve already talked about PageLayoutASPXName and custom branded SharePoint really just means using a different page layout.

Content Type Fields

But the destination page has extra fields, like managed meta data “Tags”, a Byline, an Article Date?  Again no problem you just need more of these ImportMappings to map data from your source into those additional SharePoint fields.

<ImportMapping xsi:type=”ImportMapping_String”>
<DestinationField>Title</DestinationField>
<SourceColumn>post_title</SourceColumn>
</ImportMapping>

Data Manipulation

So what if the source data is not in the exact format that SharePoint needs?

No problem this manipulation can be done in SQL as shown below.

WordPress was never going to contain a column giving us a file name like “MyPage.Aspx” so we create one on the fly using concat here.

If (when?) your manipulations get too complex for inclusion in the SQL statement (on the fly) you can directly manipulate the source table, just make sure you take precautions if the source data is used by anything else (like working from a copy).

So what does this get used for?

We have seen this approach used for the following;

  • Legacy Content Management System (CMS) migration.
  • Bulk creation of pages from Excel
  • Scan to Mark-Up / Republishing – Loading data that has been scanned and OCR’d into pages.
  • WordPress to SharePoint Migration
  • Drupal to SharePoint Migration
  • Joomla to SharePoint Migration
  • Custom Intranet to SharePoint Migration

Great, Makes more sense now but I’m still an bit unsure

No problem just get in touch.

Share

Does the world really need another post on upgrading to SharePoint 2016?

Perhaps, perhaps not.  One thing we definitely couldn’t find out there was a balanced post.  A quick google of Upgrade to SharePoint 2016 tends to capture a lot of articles at either extreme, from the “TechNet super technical” article at one end to the marketing “Hey why don’t you let us upgrade SharePoint for you” .  Not much in between, and we love a gap in the market don’t we!

So what does this post cover?

  • Who is this post aimed at ?
  • When would be a good time to upgrade?
  • Why Upgrade?
  • Why Not – Migrate to Cloud SharePoint?
  • How to Upgrade ?

Who is this post aimed at?

Organisations running earlier versions of SharePoint on-premises.  This could be SharePoint 2003,2007,2010, or 2013 – Foundation, Standard or Enterprise.

There is an upgrade path for each of these versions and editions each with its own technical and even licencing facets.  There is no SharePoint 2016 foundation for example.

When would be a good time to upgrade?

Starting now really.  The SharePoint “Trinity” of SharePoint 2016, SQL Server 2016 and Windows 2016 are now all available.

Why Upgrade?

New Features

There is quite a bit of new stuff in 2016.

https://technet.microsoft.com/en-us/library/mt346121(v=office.16).aspx

Development updates

New SharePoint Development techniques such as the SharePoint framework are planned for 2016, align it with cloud SharePoint but are not likely to be made available for earlier versions.

In short an upgrade will allow you to develop better solutions which will last longer and be more compatible.

Path to the cloud

The hybrid capabilities of SharePoint 2016 and development updates ease your eventual route to the cloud.

Support

There are a lot of production platforms out there reliant on Microsoft software which is already in extended support or even out of support.  It’s worth looking at what version of SharePoint, SQL Server and Windows Server you are running and familiarising yourself with the support / lifecycle position.

You can do this here;

https://support.microsoft.com/en-us/lifecycle/search

Why Not – Migrate to Cloud SharePoint?

Cloud vs. on-premises is a big discussion which we are not fully exploring here.

A core consideration in respect to SharePoint when you are an existing user is customisation.  Any server side customisation which you are using (and was the norm in earlier SharePoint versions) won’t work in the cloud without major revision.  Moving to SharePoint 2016 Server, however, does not carry this restriction.

How to Upgrade ?

Upgrade Plan

Yup definitely going to need one of those, and a good one to.

What to put in the plan?

Communication

Key stakeholders, users, IT teams – This is going to impact everyone involved in SharePoint.

Training

Use and administration of the platform is going to be different post upgrade.

Customisation

Customisation (solutions) will need to be loaded and working on the new version.

You are going to want to test any customisation but branding changes, specifically master page changes, are not going to work without modification with the SharePoint 2016 user experience.

3rd Party

Establish clarity on the effect of an upgrade on any 3rd party products.

Approach

In place upgrade or side-by-side?

Content

If content is being moved as is then the standard out of the box process will do this.

If content is being re-organised then this infers a custom upgrade process or tool will be used.

SharePoint 2016 will upgrade content from SharePoint 2013.  If you are upgrading from 2010 or 2007 you will need a temporary SharePoint server to carry out each upgrade you previous skipped.  Alternatively a custom upgrade process or tool could be used.

Downtime

Downtime will need to be communicated and planned in or mitigated.

The amount of downtime is often determined by the amount of and age (version) of content currently in SharePoint which in turn affects the upgrade process duration.

Service Applications

SharePoint service applications and their correspondent configuration and state databases will need to be rebuilt or upgraded.

Resourcing

Depending upon the complexity of your current implementation you may need to resource infrastructure (SharePoint, SQL, Server builds), development, testing, training, change management, project management and execution.

You might choose to out source, in source or do it yourself for either the whole project or a particular element.  For example you might wish to DIY the infrastructure and soft skills but outsource development updates to your original supplier.

Execution

Who does what when and in which order.

 

Share

This article covers how to import documents to SharePoint.  Creating a folder structure, meta data, importing files with content types and why it is important to do this with some consideration.

yourstuff

Scenario

We are going to assume that you have your documents on a file share / disk and that you have gathered your meta data in Excel, though your meta could quite easily be in a SQL or an Access database.  We will further assume that the documents being uploaded are Staff Employment Records

Import Tool

We will use the free version of Import for SharePoint toolset to import the files.

When you download the import tool you will have some Excel files, import configuration files, and screenshots of the content types which match this scenario.  Using these will make the next steps much easier.

The import tool has a lot of functionality which is covered in the documentation

Bulk Folder Creation

We need a folder for each employee in our scenario.

We assume that you have created a document library, attached a custom “Staff Folder” content type and to that some site columns.

Using the import tool we can create the folders from our spreadsheet.  The sheet is shown below.

excelfoldersource

From this the import tool will create a folder structure in your SharePoint library. Import meta data such as employee number is attached to each folder.

createdfolders

File Import

Now we can import our files into SharePoint.

We assume that you have created a document library, attached custom “Staff Document” and “Staff Disciplinary” content types and to those some site columns.

We can use the Excel spreadsheet as the import source.

excelfilesource

Once the import has processed this the files will have been imported into the correct locations and with the correct meta data set against each one.

uploadedfiles

Why did we do this?

Ok so now we have a good structure to support common requirements.

Retention

How so let us assume that HR want to delete Staff folders 20 years after staff have left the business.  We can add this retention policy onto the staff folder content type and for employees who have already left we have the date already set (See Bulk Folder Creation) .

retention

Ok, so usually it’s a bit more involved that this but you get the point.

Search

Adding meta-data gives us a better chance of an item showing up in search results and in the instance of managed meta data will give us access to refiners on the search results page.

5000 Item Per Folder Limit

Ok so we know it’s not a good idea to have more than 5000 items in a folder.  But doing our import as set out in this article you should be able to design a great structure that works inside this boundary even it your original folder structure did not.

So is this a packaged solution for Staff Records?

Well the reality is that the treatment of employment records will vary for each jurisdiction, can often complicated by different treatment for pension records,  and the SharePoint implementation will change dependent upon whether you have a HR system and how that works.

That said it’s a great demo scenario and hopefully demonstrated some techniques will can be applied in all areas of your work.

Share

This article covers how and why to do a considered file share import to SharePoint.  Creating a folder structure, meta data, importing files with content types and why it is important to do this.

Before you import your files you have hopefully prepared them and maybe have some Excel spreadsheets to import from.

No?  Check out our article on preparing for import.

Scenario

So we are going to stick with the staff folder scenario prescribed in the above article.  Your needs are likely to be different but you should be able to transfer the thinking and techniques demonstrated here.

Import Tool

We will use the Import for SharePoint toolset to import the files.

When you download the import tool you will have some Excel files, import configuration files, and screenshots of the content types which match this scenario.  Using these will make the next steps much easier.

 

Bulk Folder Creation

We need a folder for each employee in our scenario.

We assume that you have created a document library, attached a custom “Staff Folder” content type and to that some site columns.

Using the import tool we can create the folders from our spreadsheet.  The sheet is shown below.

excelfoldersource

From this the import tool will create a folder structure in your SharePoint library. Import meta data such as employee number is attached to each folder.

createdfolders

File Import

Now we can import our files into SharePoint.

We assume that you have created a document library, attached custom “Staff Document” and “Staff Disciplinary” content types and to those some site columns.

We can use the Excel spreadsheet as the import source.

excelfilesource

Once the import has processed this the files will have been imported into the correct locations and with the correct meta data set against each one.

uploadedfiles

Why did we do this?

Ok so now we have a good structure to support common requirements.

Retention

How so let us assume that HR want to delete Staff folders 20 years after staff have left the business.  We can add this retention policy onto the staff folder content type and for employees who have already left we have the date already set (See Bulk Folder Creation) .

retention

Ok, so usually it’s a bit more involved that this but you get the point.

Search

Adding meta-data gives us a better chance of an item showing up in search results and in the instance of managed meta data will give us access to refiners on the search results page.

5000 Item Per Folder Limit

Ok so we know it’s not a good idea to have more than 5000 items in a folder.  But doing our import as set out in this article you should be able to design a great structure that works inside this boundary even it your original folder structure did not.

So is this a packaged solution for Staff Records?

Well the reality is that the treatment of employment records will vary for each jurisdiction, can often complicated by different treatment for pension records,  and the SharePoint implementation will change dependent upon whether you have a HR system and how that works.

That said it’s a great demo scenario and hopefully demonstrated some techniques will can be applied in all areas of your work.

Share

Many organisations are using SharePoint Online.

SharePoint will very often become the intranet in such organisations.

This then raises the common compliant that the corporate brand / identity is not implemented in SharePoint.

In fact many user’s we find are confronted with the raw, out of the box, look.

ootblook

SharePoint “Branding” as a project, however, tends to raise a few eyebrows since it has a slightly unfair reputation for high cost and complexity.

Let us look at a simple way to change the look of SharePoint online.  This approach also works for SharePoint 2013 and 2016.

Firstly we will take a design cue.

Skeleton Leaves Composition on white background

 

Let us assume that this image is representative of our organisations’ brand / identity.

Now we will download and install the design tool.

https://www.microsoft.com/en-us/download/details.aspx?id=38182

In the design tool we will.

  • Change the background image.
  • Change the colour (Next to “recolor”) to the corporate deep purple.
  • Click “Recolor” to change SharePoint to tune into our new identity (We are cheating here to avoid having craft each individual colour used which is what those color slots control).
  • File > Save > MyLook.SpColor

design

Now we will go the theme gallery of SharePoint and upload the spcolor file.

You will find this located at;

/sites/sitename/_catalogs/theme/15

or

/_catalogs/theme/15

Now we can go to the site assets library and upload our leaf.

/sites/sitename/SiteAssets/Forms/AllItems.aspx

or

/SiteAssets/Forms/AllItems.aspx

Now we will manually assemble a composed look.

You will find the list under Site Settings > Web Designer Galleries > Composed looks.

newitem

Now in the composed look we will ensure that;

  • The Master Page URL points to the existing seattle.master or olso.master
  • The Theme URL is set to your new spcolor file.
  • The Image URL is set to your background image.

composedlook

Save this new composed look.

Now when change the look of the site we can select the new composed look.

changethelook

Once applied to the site it will be rendered with something like the corporate brand / identity you were looking for.

newlook

Ok great.

But what is that I hear you say?  Full branded intranet, something like the below is what you had in mind?

ContosoDemoSite

Well this all starts with that same “Composed Look”.  Why these sort of “intranets” look more “branded” is because the content and layout of the pages has been made more engaging through the use of web parts, page layouts and the such.

We normally work with our customers creative team to ensure that they best understand how to do this.

Share

Microsoft have recently announced the release of SharePoint Webhooks Developer Preview.

You can read the announcement here and further technical information here.

Webhook support in SharePoint provides an additional means to automate process in response to a change to or addition of a list item or document stored in SharePoint.

The mechanism allows you to register external application(s) with SharePoint online which will be called when an event occurs.

Historically many on premises SharePoint implementations used event receivers to run code in response to such events.  Classic examples have included setting specific permissions on documents at point of creation, automatically creating folder structures, sending documents to record centres and so on.  As event receivers are not permitted in SharePoint Online many organisations who have benefitted from using event receivers have been hesitant to migrate to the cloud.  This announcement potentially eases migrations for such SharePoint users.

Share

Having been announced earlier this year the finer details of the SharePoint Framework are now being released.

For the uninitiated the SharePoint Framework is the latest in a line of development approaches available for creating custom experiences inside of SharePoint.  This has been problematic since the advent of SharePoint Online because Microsoft, quite understandably, do not want any custom code running on their servers.

Previous approaches to solving this issue have been compromised to an extent.  Code would either run on another server but be presented inside of an iFrame (so it appeared to be running within SharePoint) or it would run in the browser on the current SharePoint page (possibly using a script editor web part) but with a compromised means of deployment and limited access to events affecting the page.

What this equated to in terms of the user’s experience was usually slow response times and a lack of the responsiveness and interaction that modern web experiences are expected to provide.

Enter the SharePoint framework.

Microsoft have now provided and will continue to refine a framework to deploy customisation that can run as part of a SharePoint page.  Your custom scripts are called in response to page events such as render, can use Rest, JSOM to communicate with SharePoint and leverage JQuery, Office UI Fabric, React, Angular and the so on to build engaging experiences.

This opens the door for the development of interactive and responsive single page applications and custom experiences from inside SharePoint as part of your overall collaboration, intranet, document management, etc solution(s).

For further details see here.  The overview in this article provides a nice summary of how the framework is constructed and those organisations with SharePoint developers there is a good guide to setting up development environments and getting started.  If you want to deploy client side web parts you will also need to enable scripting.

This represents a significant step forward for SharePoint development.  We are actively working with our clients and partners to ensure that this approach is considered and used where appropriate to improve and future proof SharePoint based solutions.

Share

Microsoft have recently made available the capability to copy files from One Drive for Business to SharePoint Sites.

You can find out how here.

You can get more background here.

This article describes the feature set as of Summer 2016.

The feature is highly useful; particularly where your users have stock piled a lot of files in OneDrive which really need to be managed centrally for better collaboration and / or long term storage.  You can now delegate the process of centralising this data to the users themselves whereas previously this was an operation more suited to advanced users.

The new feature is, however, not without limitations.

  • Followed sites do not necessarily appear immediately under the destination tab.
  • You will only be able to see destination sites where the site was created using the Team Site and Project Site templates.
  • There is a limit upon the amount of data which may be transferred in a single copy operation – effectively rendering files over 50Mb unable to be copied.

If you are hitting these limitations you may do a number of things.

  • Be patient – If your destination site does not appear, limit the number of sites that you are following, ensure that the site (or sub-site) which you want to copy to is being followed and wait.
  • Ensure that the site you are copying to was created with the project site or team site template.  If it was not then it will not appear in the list of sites to copy to even if it is a followed site.  If you used a different template then either use a different method of copying files OR rebuild the site, starting with the team site template.
  • Use a different method to copy the files.  You can use explorer (refer to this article) or talk to us about our migration options.

 

 

Share

Modern document libraries are now rolling out to all Office 365 commercial customers worldwide. You can learn more about how to use modern libraries in this article, “What is a document library?” or watch the video at, https://blogs.office.com/2016/06/07/modern-document-libraries-in-sharepoint/.

The new interface is attractive and easy to use.  For the majority of SharePoint users it will be a very positive thing.  It is not, however, without it’s limitations.  These are of particular consideration for user’s heavily orientated towards document and records management.

So lets focus on the potential potholes for such customers.

Once multiple documents are selected you have limited capability to do anything nice like bulk check-in, you can only move, copy, delete.

The new quick edit function does not work well with multiple content types (it allows you to enter a data for a field which the document’s content type does not carry).

Linking through to editing a view is more complicated than before.

The way that the library interacts with the ribbon, masterpage and composed look is different so custom brands might be affected.

Sending a document to a record centre is not available because it is on the ribbon which is absent.

When you edit the properties of a document you CAN change the content type.  When you edit the properties of a folder you CANNOT change the content type.  Setting content types on folders is important in many records management / retention scenarios.

If you were using functionality change the view being used by virtue of the content type of the folder in which you were located then this is not fully observed by the new interface.

Now you can work around any of these limitations by clicking the “Return to classic SharePoint” in the bottom left hand corner but this does muddle the user experience.

You also have a certain level of control in regards to use of modern lists – See https://support.office.com/en-us/article/Differences-between-classic-and-new-experiences-for-lists-and-document-libraries-30e1aab0-a5cc-4363-b7f2-09e2ae07d4dc

In it’s current form (Summer 2016) the experience looks great for basic scenarios but for existing customers using SharePoint for document and records management should look before they leap.

Share

Working with partners and clients one thing that is often asked for is a demo of an Office 365 intranet.

Showing one for a live client can be problematic as they often contain confidential data.

Well so long as you are enrolled as a Microsoft Partner you can spin up a Contoso demo at https://demos.microsoft.com

This is available even to Network partners so enrolment requirements are not onerous.

The site gives a good idea of what SharePoint looks like with publishing enabled, is responsive and has some nice demos of display templates.

Alternatively your can request access credentials to our online, self drive SharePoint demo.

Share