Introduction to Apps For Office and SharePoint 2013

Students will see various types of apps for Office in Word, Excel, and Outlook and understand how apps for Office are written and published in public and corporate catalogs. Apps for Office are Desktop application extensions but represent an important new technology that the SharePoint developer can use in SharePoint development.

Apps for Office are Web-based extensions to Office applications. They are an excellent tool for SharePoint developers to use to increase the integration among Office, SharePoint, and custom apps for SharePoint or solutions. We can use them to present our custom app to users wherever they are working, whether in the browser or in Word, Excel, PowerPoint, or Excel. This article defines the concept of apps for Office and introduces their structure and purpose and describes where users can find apps for Office. Apps for Office are extensions to Office applications that are written using Web technologies such as HTML, JavaScript and CSS. They appear in the user interfaces of Office applications and interact with the document, spreadsheet, or email that the application is currently displaying. For example, when the user selects a word in a Word document, apps for Office could run a search against an internet search engine and display the results.

Apps for Office Manifest Files

All apps for Office must include a manifest file. This is an XML file with a specific schema that describes the apps for Office. The XML includes a GUID, a display name, a version number and other important information. Several key values are critical to the function of the apps for Office:

  • The apps for Office Type. The type defines where in the user interface the apps for Office will be displayed.
  • The Provider Name. Apps for Office can be published in various places including a global marketplace. The Provider Name value indicates the company that developed the apps for Office.
  • The Host Apps. Nodes within the <HostApps> element define which Office applications can display and use the apps for Office.
  • The Source Location. This value is a URL that points to the home page for the apps for Office. This is the page that is displayed by default in the user interface.
  • The Requested Capabilities. This element defines how the apps for Office can interact with the document that the Office application has loaded. For example, if this element's content is "ReadWriteDocument" then the apps for Office can both access the document content and make changes to it.

Apps for Office Web Applications

The apps for Office user interface and logic is defined in a web application. This can be built with any combination of web technologies. For example:

  • HTML, JavaScript, and CSS. Like SharePoint-Hosted Apps, we can write apps for Office entirely using client-side technologies. We can use libraries such as jQuery to ease this process.
  • ASP.NET, C# and IIS. Like Cloud-Hosted Apps, we can alternatively host our apps for Office in an IIS Web site and write ASP.NET pages in .NET managed languages such as VB and C#.

We must ensure that the source location we specify in the manifest file points to the home page for the apps for Office Web application and that the Web application is available from any location where the apps for Office will be used.

Interacting with Office Documents

Apps for Office is not restricted to simply displaying Web pages within an Office application. The apps for Office pages can also interact with the Office document. For example, the apps for Office can read the document's content, respond to user actions such as selections, and edit the document. To code such actions in JavaScript, we can use the Office JavaScript Object Model (JSOM). This is a JavaScript library, much like AJAX, jQuery and the SharePoint CSOM, which we can reference and call from the client-side.

Apps for Office Types

The apps for Office type, which we must specify in the manifest file, determines where in the Office user interface the apps for Office appears. There are three possible types, as follows:

  • Task Pane apps for Office: A task pane apps for Office is displayed in a task pane, much like the document recovery task pane or the reviewing task pane in Word. These are usually displayed on the left or right of the application. Task pane apps for Office can be used in Word, Excel, Project, and PowerPoint. We can also display task pane apps for Office in the Excel Office Web Application within a SharePoint site.
  • Content apps for Office: Content apps for Office is displayed at a specific location within a spreadsheet and can only be used in Excel. The apps for Office are shown in a rectangle whose default size is specified in the manifest file.
  • Contextual apps for Office: Contextual apps for Office are displayed at a specific location within an email and can only be used in Outlook. The apps for Office could respond to email content, for example, by parsing addresses or Web page URLs included in the text and displaying them as maps or browser windows.

Embedding apps for Office in Files

When we create a new document, unless we use a template, no apps for Office will be shown by default. We can add apps for Office from the View tab of the Office Ribbon. Once we have added the apps for Office and saved the document, the apps for Office are embedded in the document and we will see it every time we edit the document. We can use the same apps for Office in other documents in the same way.

If we send the document to another user, for example by email or through a SharePoint document library, she will see the same apps for Office as long as she has permission to use it and access to the apps for Office source location from her computer.

Apps for Office Permissions

The manifest file includes the <RequestedCapabilities> tag that determines what level of access the apps for Office needs to the document. For example, if the apps for Office need to parse content and make changes, we should specify the ReadWriteDocument requested capability. When a user opens apps for Office in Word, Excel, Project, or PowerPoint, he is asked to confirm that he is happy to permit this level of access. If he disagrees, the apps for Office does not open. For contextual apps for Office, the Exchange administrators grant similar permissions.

Apps for Office Catalogs

Users can obtain apps for SharePoint from the global SharePoint 2013 App Marketplace or the Corporate App Catalog. Similarly, Office users can obtain apps for Office from a global Office Public Marketplace, an apps for Office Catalog in SharePoint, and other locations. This topic describes and contrasts the various catalogs of apps for Office that users can browse.

The Public apps for Office Marketplace

This global catalog of apps for Office is administered and run by Microsoft. Users can browse a broad range of apps for Office and purchase those that suit their purposes. Some apps for Office are free and may generate revenue for their developers by displaying ads. Developers can submit any apps for Office for inclusion in the Marketplace but Microsoft will test the submitted apps for Office for quality and good coding practices before publishing it to the Office community. The Public apps for Office Marketplace are, therefore, similar to the app for SharePoint Marketplace. However, these Marketplaces are entirely separate, include custom solutions of various types, and should not be confused.

The SharePoint apps for Office Catalog

SharePoint 2013 includes an apps Catalog that farm administrators can manage and use to publish Office extensions. This catalog is a separate library from the Corporate App Catalog but we can manage it in the same way using the Central Administration site. If a developer has created apps for Office for use only within our organization, we should publish it in this catalog and not in the Public apps for Office Marketplace.

The Exchange apps for Office Catalog

Contextual apps for Office, which can only be used in Outlook, can also be published in the apps for Office Catalog in the Exchange organization. This catalog is managed by Exchange administrators and cannot be browsed from Word, Excel, PowerPoint, or Project.

File Share Catalogs

Finally, we can also set up shared folders on file servers as apps for Office Catalogs. We can do this by sharing the folder with Read permission for all our Office users. We must also register it as an apps for Office Catalog by adding a key to the registry on each client computer. In an Active Directory domain we could use Group Policy to add this key. Once this is done, place our apps for Office manifest files in that file share. They automatically become visible to Office Users.

Browsing apps for Office Catalogs

Apps for Office from all the preceding catalogs are directly available for purchase and use within Desktop applications. To install Task Pane apps for Office, for example, click Task Pane apps for Office on the View tab of the Office Ribbon. To install Content apps for Office in Excel, click Content apps for Office on the Insert tab. These actions display the Start apps for Office dialog. In this window we can choose the Catalog we want to browse and see details of each app for Office functionality. We can also purchase apps for Office in the Marketplace.