Create Apps Domain

  1. You need a wildcard CNAME entry for your DNS domain to support these unique names
    1. Create the Primary Forward Zone ajbapps.local
    2. Open DNS Manager
    3. Right click Forward Lookup Zones and click New Zone
    4. Click Next on the welcome screen
    5. Click Next on the zone type screen (leave the primary zone default)
    6. Click next on the AD Zone Replication Scope screen (leave defaults)
    7. Type the app domain in the zone name box and click Next
    8. Click Next on the Dynamic Update screen (leave defaults) and then Finish
    9. clip_image001
  2. Create a wildcard CNAME Record for the new app domain
    1. Right click the new zone name and select New Alias (CNAME)
    2. Type * for the alias name and type the FQDN of the target host (SharePoint Server) and Click OK
    3. clip_image002
    4. Ping App-12345678ABCDEF.ajbapps.local for testing. It should look like this:
    5. clip_image004
    6. At this point if we are using port 443 for SharePoint sites/Apps (recommended) you will need to create a Wildcard SSL Certificate at this time. In this example I would need to pull a certificate for *.ajbapps.local. Many people try to use subdomains for apps so that they don’t have to purchase an additional certificate, but what they don’t realize is *.ajb.local will not work for the app subdomain of *.apps.ajb.local. You would still need to purchase a SSL Certificate for *.apps.ajb.local because each app has its own subdomain.

Setup Subscription Settings Service Application (Using PowerShell Only)

Question: Why is this needed?

Answer (From http://technet.microsoft.com/en-us/library/fp161236.aspx): Apps rely on the App Management and Microsoft SharePoint Foundation Subscription Settings service applications. These service applications use the multi-tenancy features to provide app permissions and create the subdomains for apps. Therefore, even if you are not hosting multiple tenants, you must still establish a name for the default tenant for your environment (any SharePoint site that is not associated with a tenant will be in the default tenant). Also, Spencer Harbar has a great article on the changes of Multi Tenancy in SharePoint 2013 at http://www.harbar.net/articles/sp2013mt.aspx

  1. Verify you have the following permissions (The SP_Install account should have this access):
    1. securityadmin fixed server role on the SQL Server instance.
    2. db_owner fixed database role on all databases that are to be updated.
    3. Administrators group on the local server
          1. Create an account called “SP13_SVCSubSet” in AD and add it as a managed account in SharePoint Central Admin
          2. Run the following PowerShell from the SharePoint 2013 APP Server:

  1. clip_image006
  2. Confirm that the Subscription Settings Service Application was created in Central Admin:
  3. clip_image008

Create a Generic/Blank Web Application (Needed for Host Header Environments on patch level prior to March 2013 PU per http://technet.microsoft.com/en-us/library/dn144963.aspx)

Edit 9/16/13 – I tried this configuration on a March 2013 PU Server and you still NEED the Generic/Blank Web Application or it will not work correctly. I was getting 404 error until I created the blank web app on port 80 (with no host header)

  1. Go to Central Admin > Manage Web Applications > New
    1. Make sure it is using port 80 (or 443 if you are using SSL) and there is no Host Header
    2. clip_image009
    3. Fill out everything else per your naming Standards and click OK to create the web application:
      1. For Example:
      2. clip_image010
    4. Create a blank site collection under this web application (Not needed, but will help avoid confusion later)
        1. clip_image012

 Configure the App Management Service Application

  1. First, make sure the App Management Service and Microsoft SharePoint Foundation Subscription Settings Services are running in Central Admin
    1. clip_image014
    2. clip_image016
  2. Create the App Management Service Application if you have not already done so.
  3. Now navigate to Apps in SharePoint (On the Quick launch on the left-hand side)
      1. Click Configure App URLs
        1. Note: At this point if you do not have the Subscription Settings Service Application configured you will encounter the error “The Subscription Settings service and corresponding application and proxy needs to be running in order to make changes to these settings.”
        2. clip_image018
      2. Type in the App domain created earlier and an app prefix. The app prefix was be prepended to each App’s URL (For example: If my App domain is ajbapps.local and my App prefix is “app” an example of an App URL would be App-12345678ABCDEF.ajbapps.local)
      3. clip_image020
      4. Note: If you change this prefix in the future you must run an IIS Reset after.

Adding an App

  1. Apps can be acquired to the SharePoint farm from two areas: Central Admin and from the SharePoint site you want to add it to.
    1. Central Admin (Note: You can only acquire apps here. You cannot apply them to Central Admin/Other SharePoint sites here)
    2. clip_image021
      1. Note: If you receive the error “Sorry, we can’t seem to connect to the SharePoint Store” check 2 things:
        1. Make sure the server has outbound internet access (This is required for Apps)
        2. Make sure the server can connect to http://office.microsoft.com (At this time this is needed to acquire and run most SharePoint Apps)
        3. The ULS Logs show that the App Mgmt Service makes connections to this URL: “Sending Request to Office.com with the following URL:https://office.microsoft.com/config15”
    3. Find the app you want to acquire (For Example: Yammer App for SharePoint) and click on the app icon
    4. clip_image022
    5. Click ADD IT
    6. clip_image024
    7. You will now have to login with your Windows Live ID
    8. clip_image025
    9. Click Continue to confirm
    10. clip_image027
    11. The app has now been added to the SharePoint farm
    12. clip_image028

Integrate Yammer with the on-premise SharePoint 2013 Farm

*I used the whitepaper at: http://technet.microsoft.com/en-us/library/dn270535.aspx

  1. Hide the SharePoint 2013 social features
    1. Navigate to the Newsfeed
    2. If this is the first time you’ve navigated to the newsfeed it will look like this:
    3. clip_image030
    4. Wait for it to look like this before continuing:
    5. clip_image032
    6. Click the settings gear and click Edit Page
    7. Select the Newsfeed Web Part and click Delete (Or Close)
    8. clip_image034
    9. Delete (or close) the Followed Counts and Trending Hashtags web parts as well
      1. Note (From Whitepaper): We recommend removing all social web parts, hidden or not hidden, to improve performance.
    10. After deleting (or closing) all web parts the page should look like this (I chose to keep the hidden web parts for now)
    11. clip_image036
  2. Remove web parts from Team Sites
    1. Navigate to the Team Site you want to remove the site feed from and click the settings gear > Edit Page.
    2. Click the Site Feed Web Part and click Delete (or close).
    3. Before:
    4. clip_image038
    5. After:
    6. clip_image040
  3. Hide User interface controls that provide social features (Yammer Social Features will replace this)
    1. In Windows Explorer (On the SharePoint Server) navigate to C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\1033\STYLES\Themable\
    2. Backup the COREV15.css file
    3. Create a new file in the Themable folder called HideNewsfeed.css
    4. Copy the following code into this file and save it:

    1. Now open COREV15.css and insert the following code as the first line of the file: @import url(“HideNewsfeed.css”);
    2. Backup COREV15.css and HideNewsfeed.css
    3. Your themable folder should look something like this:
    4. clip_image041
  4. Integrate Yammer
    1. Follow the steps above for acquiring the Yammer App and making it available in the app catalog
  5. Install the Yammer home feed on My Sites
    1. Navigate to the Newsfeed and click the settings gear > Manage shared apps
    2. clip_image042
    3. Click add an ap
    4. Click Yammer App for SharePoint
    5. clip_image044
    6. Click Trust It
    7. clip_image045
    8. Click Newsfeed to return to the Newsfeed page and click the Settings gear > Edit Page
    9. Click Insert Web Part (On the top of the Middle Left Zone where the SharePoint Newsfeed Web Part was).
    10. Click Yammer Feed
    11. Click Add
    12. clip_image047
    13. You may be prompted to login with your current credentials (since the app URL isn’t trusted in IE.)
      1. In my case the full App URL was: http://app-8b313ba5c4b9e9.ajbapps.local/Yammer%20App%20for%20SharePoint/Pages/YammerFeed.aspx?SPHostUrl=http%3A%2F%2Fmy2013%2Eajb%2Elocal&SPHostTitle=People&SPAppWebUrl=http%3A%2F%2Fapp%2D8b313ba5c4b9e9%2Eajbapps%2Elocal%2FYammer%20App%20for%20SharePoint&SPLanguage=en%2DUS&SPClientTag=1&SPProductNumber=15%2E0%2E4420%2E1017&wpId=g%5Fa09e1620%5F0dbf%5F46f3%5Fb8c3%5F0e836a462e84&wpq=ctl00%5Fctl32%5Fg%5Fa09e1620%5F0dbf%5F46f3%5Fb8c3%5F0e836a462e84&weblocaleId=1033&SenderId=78BA8CEC0
      2. clip_image048
    14. I received the following error message:
    15. clip_image050
    16. Opening the content in a new window displayed a blank screen when it should look like this (Taken from the team site):
    17. clip_image052
    18. This is a known error with SharePoint 2013 (It is the first item on the list!): http://office.microsoft.com/en-us/help/sharepoint-server-2013-known-issues-HA102919021.aspx
      1. The Microsoft fix (which didn’t fix my issue) was add the following to IE Trusted Sites (Don’t need to do this as it looks like it is a fix for O365):
        1. https://*.sharepoint.com
        2. https://login.microsoftonline.com
    19. I Checked the ULS Logs and noticed the following error: Unexpected error while verifying backwards compatibility for [SPContentDatabase Name=MSS_Dev_SP13ENT1_Content_MySite] [40154857-850d-4b3d-b104-7f48e58c3ceb]: System.Data.SqlClient.SqlException (0x80131904): Cannot open database “MSS_Dev_SP13ENT1_Content_MySite” requested by the login. The login failed. Login failed for user ‘AJB\SP13_PoolSite’.
    20. The fix for me was to grant AJB\SP13_PoolSite access to the Content Database (Since I am using a different Application Pool account for MySites and other SharePoint Sites)Run the following PowerShell (Temporarily give the account SysAdmin Access or the login will not be created in SQL):$webApp = Get-SPWebApplication http://my2013.ajb.local$webapp.GrantAccessToProcessIdentity(“AJB\SP13_PoolSite”)
    21. You will need to run an IIS Reset for the PowerShell to take into effect
    22. Click Newsfeed
    23. Click Sign in to Yammer
    24. clip_image054
    25. Type in your Yammer Account information
    26. clip_image056
    27. Click Allow for the Yammer App to connect to your Yammer Account (Only need to do this once)
    28. clip_image058
    29. Click Home Feed
    30. clip_image060
    31. Select the network from the drop-down menu and click save.
    32. clip_image062
    33. The Network Home Feed will now be displayed on the My Site Newsfeed
    34. clip_image064
  6. Configure the Yammer Group Feed on your Team Site
    1. Navigate to the team site and click the settings gear > Add an app
    2. Navigate to the team site’s home page and click Page (In the ribbon). Then click Edit
    3. Click Insert > App Part
    4. clip_image066
    5. Click Save
    6. Click Sign in to Yammer
    7. clip_image054[1]
    8. Type in your Yammer Account information
    9. clip_image056[1]
    10. Click Group Feed
    11. clip_image067
    12. Type the Group ID. To Group ID browse to the Yammer.com site and click the Group. Look at the last part of the URL (For example: feedId=123456) and copy that ID here. Click Save
    13. clip_image069
    14. Now you are prompted with a “Log in with Yammer” button (Notice the gear, which can be used to setup which group feed this points to again). Click the button
    15. clip_image071
    16. You will be prompted to login in with your Yammer account again (This is what it will look like to the end users)
    17. clip_image073
    18. Now you can see the Yammer Group Feed on the SharePoint Team Site homepage
    19. clip_image074

Testing Notes

  1. You need to add the following sites to Trusted Sites or else Yammer gives a blank dialog pop-up when trying to login from a client PC (Per: http://office.microsoft.com/en-us/help/sharepoint-server-2013-known-issues-HA102919021.aspx):
    1. https://*.yammer.com
    2. https://*.assets-yammer.com

8 Comments

  1. Pingback: Setting up Yammer with On Premise SharePoint 2013 Start To Finish

  2. Pingback: SharePoint 2013 App Environment Configuration | Andrew J Billings

  3. Aaron Hamilton

    these instructions are very detailed! What’s not clear to me is whether this is an alternative to cloud-hosted Yammer or whether the app is simply an interface to the cloud.

  4. Ryan Relano Clark

    Andrew, great information. I was able to add the Yammer web part our team site. Do you know if there’s a way to NOT require each user to log into the Yammer webpart when they first bring up the page? Appears in my testing it’s just a one-time thing, but curious if you know how to bypass that step. Thanks!

  5. Ryan Relano Clark

    Andrew – digging some more I found this comment on the Yammer site: NOTE: On the first visit to this page, users will have to authorize the app in a popup dialog. On each subsequent browser session where they’re not already signed in to Yammer, users will have to click a blue sign in button in order to see the feed.

    Thanks for the great post, I’ll run with this.

  6. Haithem Abdelkefi

    Great post Andrew. Can we integrate the Yammer with sharepoint 2013 foundation?
    In fact, everything works for me till adding the Yammer feed webpart, I can see the message “Just a moment… We’re connecting to Yammer.” but it hangs there and the page didn’t refresh to “Sign in to your Yammer account to set up your Yammer app.” message with the “Sign in to Yammer” button.
    Do you have any idea?
    Thanks,

  7. amydolz

    Great post Andrew. We are considering doing this – but need help as it relates to community sites. We have a community site in SharePoint with lots of documents, discussions, etc. We want to replace the discussions with Yammer integration pointing to a Yammer Group around the community the site is built for. We then want the SharePoint #search on the community site to also search the discussion in the Yammer Group and return results from both, either in single result set or dual result sets would be acceptable. Is that possible? Have you worked with “community sites” or did you opt to hide that template all together?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">