How is the Delve Yammer feed configured?

image.png

Delve is a great way to discover content and people across Office 365. One of the best social features within Delve is the ability to take part in a Yammer conversation directly against the content.

The Delve conversations experience

image

As you can see each Delve card has a menu in the bottom right which provides employees with the option to ‘Talk about this in Yammer’.

image

The conversation panel then pops out and displays all the conversations about that content within your Yammer network.

image

So how do you need to configure the Yammer Embed widget to match the settings seen in Delve?

Delve makes use of the same Yammer Embed widget as you would anywhere else within Office 365, or other web pages. Using the html inspector in your favourite browser you can see the settings passed by the hosting page to the iframe widget.

Digging deeper you can see that the Delve feed iframe is configured as follows:

(example)

src=”https://www.yammer.com/embed-feed?
container=%23yammerRender
& feedType=open-graph
& objectProperties%5Burl%5D=https%3A%2F%2F<tenantname>.sharepoint.com%2Fsites%2Fnewsdev1%2Fuk%2FPages%2FKatherine%2520Grainger%2520Is%2520Britain’s%2520Most%2520Successful%2520Female%2520Olympian.aspx
& objectProperties%5B
private%5D=true
& config%5B
promptText%5D=Talk%20about%20this%20on%20Yammer
& config%5B
defaultToCanonical%5D=true
& config%5B
header%5D=true
& config%5B
hideNetworkName%5D=true
& config%5B
footer%5D=false
& config%5B
showOpenGraphPreview%5D=false
& config%5BuseSso%5D=true
& bust=1471035190502″

So the settings are:

  • Feed type: open-graph
  • Private: true
  • PromptText: Talk about this on Yammer
  • DefaultToCanonical: true
  • Header: true
  • HideNetworkName: true
  • Footer: false
  • ShowOpenGraphPreview: false
  • UseSSO: true

So these settings mean that it is defaulted to using the open graph mode. This converts the content url into a rich object in Yammers social graph. Private being true means it requires either a group or people to be mentioned to show to those selections. The prompt text appears in the text box. Header being true makes it show, combined with hiding the network name makes it show ‘Yammer Conversations’. No footer is being shown, so no ‘log out option’. Interesting they choose not to show the open graph object previews. This makes a little sense as that can’t see internal Office 365 data, although you might still want this to be ‘true’ in the case where an employee posts a url that is public. Finally the default to canonical (crazy name for this) means it will seek to use your accounts ‘home’ network rather than default to whichever network you last visited. That’s quite useful as you don’t want to accidently share private corporate links to another network. Use SSO being true means it uses the SSO.

So there you have it, simple settings correct for the context of Delve. Useful to know if you want to have the same experience elsewhere.

Office 365 SuiteBar becomes responsive

image_thumb.png

Quick heads up about some SuiteBar improvements which are worth knowing about.

Microsoft have recently update the Office 365 SuiteBar. As you can see in the image below the Application Launcher got a new visual which resembles the Windows 10 Start experience. You can now resize the tiles as well as drag and drop them into a desired order. The tiles can be small like my Twitter and TinyPng or massive wide ones like my Delve.

image

Overall the SuiteBar has now become a responsive experience. It changes and adapts depending on the screen width and this removes the need for any clever work around.

Examples:

SuiteBar at a full 1920 width

image

SuiteBar a little smaller. Notice how the Application Launcher jumps to the right now.

image

Between the sizes above their seems to be a tiny glitch in about a ten pixel range where extra buttons appear.

image

The new buttons don’t do anything at this point though.

Finally we get down into the smaller mobile sizes.

image

I hope you found this update useful and it gives you chance to remove any customisations you might have made for the responsive SuiteBar.

Awarded Microsoft MVP 2015 for SharePoint Server

620MVP_Horizontal_FullColor

I’m happy to announce that I’ve been awarded Microsoft MVP 2015 for SharePoint Server. This is my third year as a MVP and it continues to be an amazing privilege to be recognised for my continued contributions. October 1st is one of the those days like any other until about 3pm UK time when every Hotmail email notification brings with it equal measures of excitement and nervousness Smile. Once the email below arrives it’s time to crack on with even more amazing new things.

image

The past year has been one of many new opportunities and many great exciting new technologies. Those who have supported me deserve a special mention.

My little boy and girl who don’t quite understand SharePoint yet, but definitely give me all the reasons I need to keep trying.

Steve Smith whose support this year has been invaluable as I embark upon my own business AddIn365. Thanks Steve Smile

Microsoft DX for inviting me to speak at London Technology Week about the Office 365 Unified API. It was a real pleasure presenting on Microsoft’s behalf.

The event organisers for SUGUK, Evolutions London (Steve Smith and Combined Knowledge, Paul, Ben and Nigel) for providing me opportunities to present and be part of the event teams.

Microsoft peeps like Chris Johnson for his invaluable help, Jeremy Thake for his technical input, Dana Wikan for sorting out a number of important things.

I’m looking forward to another great year!

Introducing AddIn365

AddIn365BlogHeader

Office 365 presents an opportunity to meet more business objectives than ever before with an ever expanding set of services. However, out-dated attitudes and practices towards implementation of the Office 365 platform make it difficult for many organisations to realise this potential.

AddIn365 offer a fresh partner perspective on how clients can maximise the return on their investment in Office 365 with a context driven approach to add-in development. This new approach takes advantage of the great new services Office 365 provides and focuses on attaining a high level of employee adoption.

Office 365 presents a unique opportunity to move beyond a fragmented digital estate; it is a platform that brings together email, enterprise search, intranet, collaboration, enterprise social network and instant messenger. Furthermore, Office 365 natively provides the tools to link to other systems with ease via features such as the app launcher. Read more about the app launcher here.

Last year Microsoft released 400+ new features to the Office 365 platform. Many of these new features are complex and make light work of providing organisation’s insights that would have cost clients millions to develop in years gone by. Delve is just one example of this high quality engineering that comes as part and parcel of the Office 365 experience; it uses machine learning to understand who you are, who your network is and to suggest content that might be useful to you that you have not engaged directly with.

Organisations have recognised the opportunity that Office 365 presents in moving away from a disjointed collection of systems to a more integrated one. According to Radicati, growth of the Office 365 market share is expected to be 20% year on year for the next four years.

In order to take advantage of the great new services available with Office 365, organisations are turning to the market which tends to offer custom development or products in response to their business requirements, both of which present challenges.

Custom development tends to be:

  • Very Sites (SharePoint) focused.
  • Bends towards developing capabilities rather than configuring what is already available. This means that organisations tend to face more cost and protracted timescales when trying to deploy Office 365 than they need to.
  • Employee adoption is a secondary consideration to development and is often glossed over altogether.

Organisations that go down the product route tend to suffer three challenges:

  • Adoption is still a problem; employees using the platform will never ‘learn’ what is available so only a portion of the product will be used.
  • Products tend to branch from the Office 365 platform; clients that have invested in off the shelf products end up on the vendor roadmap and inevitably fall behind what Office 365 natively has to offer because Office 365 is evolving at a faster pace. This limits the return on investment an organisation can get from Office 365.
  • Products also tend to be based primarily on the Sites (SharePoint) part of the platform and do not take advantage of the great new services – again limiting the return on investment an organisation can get from Office 365.

We have seen these product challenges materialise recently within the intranet space (not too long ago I counted more than 15 products). Microsoft plan to release Infopedia in early 2016 which will provide all the common requirements an organisation has of an intranet, as Chris O’Brien reports here. With a powerhouse of engineers behind it this Office 365 native intranet capability will quickly become superior to any off the shelf product or custom developed intranet in the market.

Organisations are faced with a conundrum; both custom code and many off the shelf products fail to maximise a return on what is already available in Office 365 and inherit the adoption challenge.

So, how should organisations approach rolling out Office 365, in order to take advantage of the platform’s great new services and take employees on the journey with them?

I took the decision recently to co-found AddIn365. AddIn365 is the first Microsoft partner globally to offer a range of mobile and tablet friendly Workforce Enablement add-ins, for Microsoft Office and Microsoft’s Office 365 platform.

The AddIn365 add-in approach is context driven; tailored to individual employee’s daily tasks to ensure a high level of adoption whilst making use of a cross section of Office 365’s new capabilities.

AddIn365 add-ins increase productivity around common daily tasks and in doing so improve the employee experience of work.

Our two launch add-ins are:

  • AddIn Work Hub for Office 365 which provides staff a fully personalised dashboard to facilitate individual and cross-functional coordination, whether that work is operational, customer facing or delivery orientated.
  • AddIn Document Builder which is a Microsoft Office app that enables the workforce to create high quality documents quickly, through the creation and reuse of assets.

AddIn Work Hub brings together Calendar, Outlook, Delve, Groups, SharePoint team sites, Stories and the Video Portal.

AddIn Document Builder makes the process of document creation fast and accurate in Word, Excel and PowerPoint.

My ethos behind the designs of these new products has been:

  1. Make Office 365 intuitive for staff to use by providing context-led technology, so staff want to use the platform to get their work done faster and to a higher standard.
  2. Help organisations to get even more return on their investment in the Office 365 platform by using the new services Microsoft make available to support usage of the whole platform and not just SharePoint.
  3. Keep organisations on the Office 365 roadmap with a configure over customise development approach.

I’m really excited about the AddIn365 project and will be posting further on how I have led our engineering team to produce these add-ins over the next few months.

In the meanwhile, I would encourage you to check out the AddIn365 website and follow us on Twitter and LinkedIn for regular updates.

SharePoint Evolutions 2015 presentations

April 20th – 22nd 2015 saw London play host to SharePoint Evolutions conference. It was a great event organised with so many quality speakers and companies in attendance. It was a privilege to be invited to speak again. This year I had two sessions as you can see below.

 

Introducing App Launcher

Delivered by: Wes Hackett

Audience: Office 365, Information Worker, Developer
A new feature of Office 365 is the ‘app launcher’ and ‘my apps’ features. These new features provide a new style of navigation experience where all your apps are available from the Office 365 suite bar and the ability for a user to pin their preferred apps. This session introduces the features and the extensibility approaches to have your own apps interact with it.

 

Yammer development deep dive

Delivered by: Wes Hackett

Audience: Office 365, Developer
Many organisations are considering leveraging Yammer as their Enterprise Social Network (ESN). Office 365 has already taken some steps to integrate the Yammer capabilities by replacing the SharePoint newsfeed and introducing the document conversations. The reality is that these integrations are only the tip of the iceberg with regards the integrations you can achieve with Yammer.
This demo centric session covers in detail the integration options and the steps that a developer or architect can take to bring Yammer into use for a scenario.
We’ll walkthrough:

  • Learn how the Yammer Embed can bring conversations into SharePoint article pages.
  • How to post information into your Yammer network from other systems using OpenGraph.
  • Learn how to use the REST API to discover groups, messages, topics, users and perform advanced searches against the network.
  • Take a look at the cutting edge Azure Logic App and Yammer connector

 

If you were an attendee you can also watch the DVD of the sessions.

Office Online UI updates

OfficeOnline

There have been some subtle changes to the Office Online user experience in the past week or so. Office Online are the office applications such as Word, Excel and PowerPoint, they render a web based version which allows you to edit and read content directly within the browser.

The image below shows the reading view of a Word document. Note how the application bar now has a new layout and different options

image

 

The link back to the document library location is now within the grey area rather than on the header bar. In the image below you can see the library title ‘operations’.

image

The other options now appear on the right-hand end. As you can see from the image below some of the common options are now available without opening the file.

image

The ‘Edit Document’ menu provides us the links to edit online or in the desktop application.

image

The ‘Print’ menu item prints off the document as a PDF

image

The ‘Share’ menu item launches the Sharing dialog.

image

The ‘Comments’ menu item opens up the commenting functionality.

image

The ‘…’ menu brings up some other useful features.

The ‘Find’ menu brings up an in-document search box. Personally I’d like to see this as one of the primary options as it is a training challenge to educate people that it exists.

image

Other options allow for the in place translation using the ‘Translate’ menu option. The ‘Download’ does exactly as you’d expect and downloads the file, as does ‘Download as PDF’.

The final option which is worth mentioning is the ‘Embed’ option. As you can see from the image below it has some pretty neat features.

image

We can set the dimensions and some of the interactions available such as enabling print and the start page.

While they sneaked in under the radar these changes have made Office Online even more capable within Office 365.

Naming a document in Office Online

OfficeOnline

Office Online is the web based versions of the common Office application like Word, Excel and PowerPoint. These are great productivity boasters in Office365 allowing most common document editing experiences to be performed within the browser without the need to download the actual document locally.

As a user you can create a new file directly within the browser from the ‘New’ menu item shortcuts on every document library.

In OneDrive for Business it looks like this.

clip_image002[4]

In a team site it looks like this.

clip_image004[4]

Lets look at an example when we click the ‘Word document’ from the OneDrive new menu.

It opens our new document in Word Online.

clip_image006[4]

As we can see when we return to the OneDrive library our new document has been created but it has been called ‘Document1’.

clip_image008[4]

So how can we rename it to something sensible?

We can do it via the Edit Properties menu

clip_image010[4]

Change the file name in the edit form and click save.

clip_image012[4]

This now shows the file updated.

clip_image014[4]

There is an easier way.

Lets repeat the action from the new menu to get a new document. This gives us another ‘Document1’ Word document. So we should be able to switch into backstage to update the file info right…. By choosing ‘Save As’ and picking a filename.

clip_image016[4]

Well no actually this doesn’t work in Office Online as it is clever enough to be already saving directly into the online library.

clip_image018[4]

Clicking ‘Save’ tells you as much.

clip_image020[4]

So how can we change the file name? Well its actually so simple when you know how.

Click the ‘Document1’ name in the header bar while editing the document. And simply overtype your desired name.

clip_image021

When you change it you can see the change back in the main library view.

clip_image023

OneDrive for Business site folders page

o4b

Recently Microsoft updated OneDrive for Business on Office 365 with some new features. Full details can be read in their blog: https://blog.onedrive.com/onedrive-for-business-updates-web-user-experience/

As you can see below a new left navigation item has appeared called ‘Site Folders’.

image

This takes you to a new screen which shows all the sites which you have followed as shown below.

image

Hovering over an item allows you to click into it.

image

Clicking in shows the libraries within the that site.

image

One final observation is that the page itself lives off the ‘Social’ list in the users ‘personal site’ (For the techies out there the MySite Personal site equivalent). So in theory it could be manipulated, although this is of course risky.

Thoughts on the UX and Features for this update

So looking at the implementation as it stands I think there are still some possible enhancements that could be made.

UI Design and considerations for your branding

As you can see from the screen grabs, the site logo is being brought into the UI for the page. So this page suffers the same issue as the ‘Sites’ page when the client branding implementation uses the same site logo for every site. This information becomes repetitive and adds little value. So if you are considering a global branding implementation maybe it would be worth considering a more statically defined ‘logo’ image and allowing the individual sites to use their own logo. This would help this page pop more visually. This global logo in the suite bar is also on Microsoft’s public roadmap for implementation.

Site naming

Site naming is brought even more to the fore for this page (It was already evident on the ‘sites’ page). Many sites are not being named with these features in mine, so when presented with a list like this and the ‘sites’ page the sites are actually hard to differentiate. So when thinking about a site naming scheme it will be important to think about this capability at the same time. How you can message this to end users, especially once the new ‘Group’ features come along and end users have the potential to be creating new site collections associated to mailbox and Yammer groups. Maybe a good method is to provision sites with names to give appropriate length urls then retro fit a more descriptive site title.

Information presented

So there is a very basic collection of information presented, Name and site logo and a followed or modified date depending which level of the hierarchy you are on. In my opinion this isn’t really as useful as it could be. It also causes some confusion with the dates where it switches from date followed to modified. It doesn’t make it clear what was modified, it also doesn’t seem to add value to the experience as you can not filter or sort by either date.

Thoughts about migrating content into Yammer from forums

YammerMig

This article hopes to cover the considerations and possible approach for planning and migrating existing forum content into Yammer. Yammer doesn’t provide any form of ‘migration’ or ‘import’ for other system content. They take the stance that the working paradigms created by Yammer are unique to the platform and that managing the transition from old system to Yammer is where the investments should be made. The Yammer article here describes their high level thoughts on the subject, key for me was the statement:

2. Start fresh with content

Our customers’ experience has shown that technical migrations of content are not generally recommended, as information on Yammer tends to be more ephemeral in nature – not necessarily needed as material for future reference. There is better potential for users to be invested in and engaged with the new network if they are empowered to shape its structure and content themselves.

The realities of Client engagements tends to be slightly less black and white, where most want to consider some form of carry across information into Yammer where they have existing knowledge management forums established. Many of our clients have established forums woven into the day to day behaviours, the information within them can’t be wilted on the vine so to speak.

One key takeaway before diving into the more detailed thoughts….

Consider why you are migrating, unless its aligned to a business benefit realisation or business goal then the effort of the migration is mis-aligned to its value to the organisation. Also consider what your new operating model is, don’t migrate an old operating behaviour along with the content, you MUST migrate the content into the new behaviours and approaches you aim to have using Yammer integrated within your organisation.

Understanding the source forum information

Whatever the technology platform involved whether it is SharePoint forums or another forum technology the key element to a successful migration is auditing and understanding the content within the current forums. Key elements to understand are as follows:

  • Users
  • Forums metadata such as Title, description and logo image
  • Security model
  • Thread content
    • Styles of thread, such as single origin, multi-thread
    • Thread parenting, which forum the earliest multi-origin thread comes from
    • Mentioning users
    • Mentioning metadata
    • Attachments
    • Links
  • Value add activities like adding additional tagging or additional metadata content

From there you need to plan the content destinations in Yammer. Not always will there be a one forum to group mapping. In fact, now may be a sensible time to ‘refactor’ the approach to segregation of the conversations to something that is more relevant or easier to understand.

Users

The source system is unlikely to hold user accounts in the same fashion as Yammer. Therefore a mapping exercise is needed. Yammer users are keyed off the email address (the primary key as such).

A full listing of the users who have interacted with the forum needs to be generated. Alongside this a full extract of the Yammer users information should also be requested. In order to have all users within the Yammer Network you must establish the first date your network existed and pull the data from that date. The Yammer data export will only pull data where a user was interactive for that time period. This means you need to go a long way back for the first extract to get all the required user records. Subsequent users can be pulled in more recent extracts if you need to refresh and append data.

From this point you have the source and destination user lists. The next step is to produce a mapping between them. In general a good approach is to manipulate the records in the source user list to append the email address if possible. If you can get the source users to have a unique email address then you can map them directly against the Yammer user list.

From the mapping exercise you’ll be left with users in both lists who are not matched. Ignore the non-matches in Yammer side as they’re not really going to be a problem for migration as they have never interacted with the source forum. The non matched users in the source user list is where the focus should be placed. You have the following options:

  • Map all non-matched forum users to a generic account in Yammer. Something like Company Alumni, this has the advantage that it’s simple to map, and you can tie everything to one central user. During your Yammer rollout you can then inform the user base about the Alumni user and promote this as historic facts. The disadvantage of this approach is if there is value in knowing who made every thread post. Consider a situation where the discipline for the forum is more detailed and technical, users may still require to know who made which comment in order to trace that individual even outside of the organisation.
  • Map all non-matched forum users to newly created Yammer users. The advantage of this is that the user to thread relationship is maintained. Disadvantages is that you will have to consider how users are managed. If DIRSync is being performed this may be more complex. Also these users need to be active during migration and then suspended once the threads are added.

For the purposes of forum migration it is unlikely you need to consider the values within the user profiles and migrating those, but again this is worth discussing for your scenario.

Groups

Consider how you will be mapping in the existing forums. Do the existing forums contain threads which span wide topics? Could it be beneficial to split the existing forum into smaller segments, in which case the thread mapping to Yammer Groups needs to establish this. Also consider that the groups may not yet exist, so you might have to work out the creation and admin assignment as well. Be careful not to orphan any threads which are topics that no longer fit into the Yammer Group structure.

Also the big difference between Yammer Groups and many forum based technologies is that the Yammer Groups lack any form of hierarchy, so where a source forum may be grouping several sub sections the Yammer Groups don’t behave in this fashion. My thoughts here is that you should structure the Yammer Network to support the new working patterns you are creating. It is likely that the Yammer rollout is in support of other initiatives. So consider if the new Groups are topic/subject centric now, and how you might have to map threads into these topics. Many of the implementations we have been rolling out use a SharePoint site to aggregate the groups into a form of hierarchy or associations. This is a loose coupling though and a sensible approach, the association to hierarchy is only appropriate if the user scenario warrants it, such as a knowledge network.

Group metadata such as name, logo and description are also key for discovery by users within the Yammer Network. Consider also telling users which the primary language is for the group. Yammer has a pretty good translation mechanism using Bing Translate, but some groups naturally centre around a specific language.

Consider User membership for new Yammer Groups, do you want to add the users from the existing forums to the new Yammer Group? Sometimes this is a straight mapping one to one, sometimes if you re-jig the structure it becomes more complex. A simple algorithm is to capture all the users involved in the group threads and make sure they get added to the Group members. Again this in principal goes against what I’d normally be proposing, Users really shouldn’t be forcibly added to group it’s bad practice for good engagement and really annoys people.

Threads and Content

Threads and content form the cornerstone of the forum experience, in Yammer these map roughly to ‘Conversations’ and individual ‘Yams’. The Yammer paradigm is quite straight forward structure wise.

  • Network – The overall container for all the content
  • Groups – The segmentation of the content within the network into groupings of people who generate content
  • Conversation (aka a thread) – The conversations which are started and replied too
  • Yam (aka a message) – An individual post within the conversation thread.

Basics

Each thread message needs to be analysed for the following:

  • It’s parent message, so that it can be correctly associated into a new Yammer conversation
  • Any forum members mentioned in the content, so that the correct @mentions can be inserted into the new Yam
  • Any tagging used, so that the correct @mentions can be inserted into the new Yam (I know it sounds weird to say @ mentions again, but the user and tags are effectively the same with some meta data differences)
  • Any attachments being referenced by the message, so that the correct handling approach can be used (more about attachments in a minute)
  • Any Hrefs within the content, so that you can decide how to deal with the link (more about that in a few more lines)

Links

Handling Hrefs can take a couple of formats:

  • Keep them as is and just ensure they map into the content specification of Yammer
  • Modify the url against a mapping rule set, creating a permanent redirection to other migrated content
  • Modify the url against a mapping service, creating a permanent redirection but to something that can manage the redirection as content moves around in supporting platforms

If you go for an external link redirection service consider how long this will be in place for. Consider the overall benefits of redirection and watch the analytics tracing to ensure that users are still getting benefits from the service.

I did consider using SharePoint query rules as a way to manage redirection. Imagine that you create key threads in Yammer, you can create the links within them to point to a SharePoint site, each site can have its own query rules for content promotion. So where you’re knowledge management community also has a SharePoint site collection you can implement a local collection of search schema search query rules. If you take this approach you can effectively ‘map’ a Href into a search based url with specific terms. Then it fires across to SharePoint and the relevant promoted results would be presented.

Attachments

Dealing with attachments can take several forms:

  • Uploading the content into Yammer directly and effectively storing that content in Yammer
  • Making reference to external sources such as a web page where the content lives

Depending on your requirements may mean choosing the option most relevant almost on a message by message basis. My recommendation would be to store information outside of Yammer where it better aligns with collaboration systems such as Office365 sites, and upload directly where it makes more sense as social content. The obvious examples are a rule set which treats all Office document formats as upload to SharePoint and things such as images go into Yammer. You may also decide to treat some messages as ‘OpenGraph’ and have Yammer treat them as more like a notification than a message.

Thread sharing

Yammer allows a thread to be shared once created to another group. When sharing the thread sharer can choose to add additional text to the conversation share. Once shared the thread is effectively a new thread with its own content. So with this in mind you need to analyse the forum sharing paradigm in the current forums and decide how to map them into Yammer.

In situations where a thread appears across multiple forums. For example:

  • Original post goes into forum A, then is shared to forum B and C
  • When a user view either forum A,B or C the entire thread appears, thus capturing all the conversation once, but displaying it in multiple places

You need to consider how this maps into the Yammer sharing paradigm. I think the most sensible approach is to decide which Yammer Group the thread is most suited for, this is probably a manual decision in most cases. Once targeted for a specific group post the whole thread to that group, then share the complete thread into other groups. It might also be work retrospectively adding ‘tags’ to the thread.

Topics

Yammer has a tagging concept called ‘Topics’. Each thread can be tagged with topics to help discoverability. A user can elect to follow a specific Topic. So when migrating content analyse the content for potential topics and ensure they are tagged in the Yam with Topics. This is a value add activity and would require quite a lot of intelligence to identify topics in existing threads.

Dates

As you add new Yams to the Yammer threads you can’t influence the date stamp. So if you require date stamps to be known the only real solution is to append the information into the Yam text.

Security

Always a thorny issue, the conflicting paradigms of information security and engagement and openness working like a network.

There is definitely no right answer about how to handle security, so these thoughts are where I’d propose you started.

Yammer’s paradigm really needs Yammer Groups to remain publically visible and readable to reap the benefits from working like a network. So you need to plan how to ensure information which might have been secure remains so. Often the existing forums are restricted security wise by ‘membership’ as a way to keep a tight control of who can edit, often driven by reporting and funding concerns about membership numbers rather than true data sensitivity. For this scenario in most cases adopting the public group paradigm is fine.

Where you need a private group, say for example the Board, then using a Private group is perfectly acceptable.

You will need to audit the information in every thread for its compliance if you want to be 100% sure that you’ve not shown restricted information from the existing forums in the new Yammer Groups.

User engagement and roll out

Although not strictly migration in the technical sense don’t under estimate how you need to deal with users moving them from the old world into the new. Thinking about how to help users find threads that have moved.

One possible solution to this is to add a new reply in the existing forums which contains information about the thread location within Yammer. This helps anyone who has the old thread bookmarked come away with a smile as they can navigate to the Yammer conversation and continue the discussions. It also allows for a time of dual running where some but not all threads have made it into Yammer.

Another aspect to consider is publishing the whole process for the end user to read. Sounds little bonkers at first, why should users care or be told about the internals of an IT project. Well if you think about what Yammer has as a central pillar… it’s openness. So help users get into the correct mind set.

Yammer Technical

App Registration

The processing app must be registered within Yammer. Instructions for the App Registration process can be found in the Yammer Developer Center: https://developer.yammer.com/introduction/#gs-registerapp

Once the migration processing app is registered the Client Id and Client secret can be used by the app to make calls into the Yammer Network.

Authentication

The processing app must authenticate to Yammer in order to make calls the API. Information about the authentication process and options can be found in the Yammer Developer Center: https://developer.yammer.com/authentication/

OAuth Impersonation

To interact with the Yammer API on behalf of another user you will need to use a Verified Admin account for the processing app and have it call the relevant REST API endpoint to collect the user token for the user in question. Information about impersonation can be found in the Yammer Developer Center: https://developer.yammer.com/authentication/#a-impersonation

Users

The Yammer API allows you to retrieve, create, update and suspend (soft delete) users. Information about the exact API call format can be found here: https://developer.yammer.com/restapi/#rest-users

Rate limits

The migration processing app must have logic to throttle the calls made to Yammer as to not exceed these thresholds. It should also monitor the responses and act accordingly to retry and ensure data integrity in the event of API calls being blocked. Information about the Yammer REST API rate limits can be found on the Yammer Developer Center: https://developer.yammer.com/restapi/#rest-ratelimits

The content at the time of writing is as follows:

API calls are subject to rate limiting. Exceeding any rate limits will result in all endpoints returning a status code of 429 (Too Many Requests). Rate limits are per user per app. There are four rate limits:

Autocomplete: 10 requests in 10 seconds.

Messages: 10 requests in 30 seconds.

Notifications: 10 requests in 30 seconds.

All Other Resources: 10 requests in 10 seconds.

These limits are independent e.g. in the same 30 seconds period, you could make 10 message calls and 10 notification calls

Pre-reqs

Also useful during the process is the availability of an Enterprise Yammer network, mainly so you can get the admin functions like data export and impersonation working. The question over having a discreet ‘dev’ network came up, my personal thoughts are as follows. If you’re not ‘live’ with Yammer while doing the migration work then why not simplify the moving parts by keeping just the main Network. At the end of the day you can always try things in a private group first to write your processing code, then open it up once the code is tested. Worst case you add messages you need to delete later. This keeps costs down. If however you’re already using Yammer, then best to go for multiple Networks. Again it’s your choice, but Yammer is a service that you can’t actually customise, so your options are safer in my opinion.

NB: This information is my pre-execution thinking and hopefully after the work is complete I’ll come back and make any amendments to the information.

SharePoint Evolution Roadshow 2014 session If apps are the answer what was the solution

SP Evo Conf

Wednesday June 11th saw the SharePoint Evolution roadshow roll into Cambridge. Bringing with it the weather Smile and a collection of SharePoint experts from around the globe.

The full days agenda can be seen here: https://www.sharepointevolutionconference.com/abstracts.html#camt1

My session kicked off the days ‘Technical’ track. The session described the evolution in thinking required when you move from the traditional SharePoint full trust solution model towards the SharePoint App model. Having been working with SharePoint apps since the pre-release program of SharePoint 2013 the session aimed to share my experiences and lessons learnt around the solution design approaches. The slides from the session are below.