If you deploy Alfresco using containerized deployment, AOS is already pre-installed in our Docker images. Use this information to install the repository manually, or for installing into an existing Alfresco instance.
Installing Alfresco Office Services allows Microsoft Office Suite applications (for example, Word, PowerPoint, and Excel) to interact with Alfresco similar to SharePoint. This feature allows you to edit Office documents in Alfresco Share and to modify Office files without checking them in and out. Alfresco locks the file while it is being modified and releases the lock when the file is saved and closed.
Prerequisites for using Alfresco Office Services
There are a number of software requirements for using AOS.
Alfresco Office Services is part of the standard Alfresco installation, and software and hardware requirements are the same as those for Alfresco. See Supported platforms for more information.
- Microsoft Office 2016 for Windows (boxed version)
- Microsoft Office 2016 for Mac (boxed version)
- Office 365 Desktop Version for Windows v16 (through subscription)
- Office 365 Desktop Version for Mac v15 (through subscription)
- Microsoft Office 2013 (32 or 64-bit)
Note: You must activate SSL when using Alfresco Office Services 1.2 or above. For more information, see Configuring SSL.
In the latest Microsoft Office versions, such as Microsoft Word for Microsoft 365 and Microsoft Office (Version 2401 Build 16.0.17231.20236) 64-bit, Microsoft has removed the ability to use basic authentication in Exchange Online for Exchange ActiveSync (EAS), POP, IMAP, Remote PowerShell, Exchange Web Services (EWS), Offline Address Book (OAB), Autodiscover, Outlook for Windows, and Outlook for Mac.
Note: To make Alfresco Office Services work with the latest versions of Microsoft Office, you must either:
- Use IdP-initiated Single Sign On (IdP/SSO), since basic authentication is not supported in the latest Microsoft Office versions.
- Downgrade Microsoft Office to a version where basic authentication is supported.
Installing manually using the AMP file
To install manually into an existing Alfresco instance, you use the AOS AMP file.
Note: If you deploy Content Services using containerized deployment, AOS is pre-installed in the Docker images.
-
Install the AMP file
alfresco-aos-module-3.0.x.amp
. See Installing an AMP for information about installing an AMP file. -
Deploy the
_vti_bin.war
file.For Tomcat, copy the file to the
tomcat/webapps
folder. When the server starts up, it deploys the WAR file automatically.Important: If the
_vti_bin
folder already exists undertomcat/webapps
(for example, in the case of an upgrade), then remove the folder first, otherwise the new WAR file won’t be deployed.
Install into an existing web application
If you install Alfresco manually, you must deploy the ROOT.war
application to the server root. If you already have an application running in the server root, you can merge the Alfresco function into your existing web application.
The ROOT.war
application is required to enable Alfresco Office Services (AOS). If you have a custom application that is running in the server root directory, it is important that you modify this application to enable AOS.
There are two types of requests that are sent to the server root directly by Microsoft Office and Windows:
- A request for the
_vti_inf.html
file that contains configuration information OPTIONS
andPROPFIND
requests
The following diagram shows the information flow between Microsoft Office and Alfresco, including interactions with the /alfresco
, _vti_bin
and ROOT
applications:
-
Extract the
_vti_inf.html
file from the<TOMCAT_HOME>webapps/ROOT.war
archive file and add it to your web application. -
In your web application, modify the service that responds to requests to the server root, so that it sends
PROPFIND
andOPTIONS
requests to the /alfresco application.If you have a
.jsp
page responding to the server root, you can add this code example to that page:<% if(request.getMethod().equals("PROPFIND") || request.getMethod().equals("OPTIONS")) { ServletContext alfrescoContext = application.getContext("/alfresco"); if( (alfrescoContext != null) && !alfrescoContext.equals(getServletContext()) ) { RequestDispatcher rd = alfrescoContext.getRequestDispatcher("/AosResponder_ServerRoot"); if(rd != null) { rd.forward(request, response); return; } } } %>
and add this import statement to the top of the
.jsp
page:<%@page session="true" import="javax.servlet.ServletContext, javax.servlet.RequestDispatcher” %>
If you have deployed alfresco to a different context path (something other than
/alfresco
), make sure that you edit theapplication.getContext
value to represent this.If you have a servlet responding to these requests, integrate the Java code from these JSP code examples into your application.
-
Depending on your application server, ensure that requests are dispatched by default between different application servers.
For Tomcat, add a file called
context.xml
to the META-INF directory of your web application. Here is an example of thecontext.xml
file:<?xml version="1.0" encoding="UTF-8"?> <Context path="/" debug="100" privileged="true" reloadable="true" crossContext="true"> </Context>