A One Stop Solution to Deploying Office Add-Ins | Nitor Infotech
Send me Nitor Infotech's Monthly Blog Newsletter!
×
Software Product Engineering Services Company
  • Company
    • About
    • Leadership
    • Partnership
  • Resource Hub
  • Blog
  • Contact
Software Product Engineering Services Company
Add more content here...
Artificial intelligence Big Data Blockchain and IoT
Business Intelligence Careers Cloud and DevOps
Digital Transformation Healthcare IT Manufacturing
Mobility Product Modernization Software Engineering
Thought Leadership
Aastha Sinha Abhijeet Shah Abhishek Suranglikar
Abhishek Tanwade Abhishek Tiwari Aditya Patil
Ahtesham Shah Ajinkya Pathak Amartya Deshmukh
Amit Pawade Ankita Kulkarni Ankita Patidar
Antara Datta Anup Manekar Ashish Baldota
Chandra Gosetty Deep Shikha Bhat Dr. Girish Shinde
Ekta Shah Ganesh Kadam Gaurav Mishra
Gaurav Rathod Gautam Patil Hariom Ghanshyam Vishwakarma
Harish Singh Chauhan Harshali Chandgadkar Kapil Joshi
Kiran Dhakne Krishna Gunjal Madhavi Pawar
Marappa Reddy Mayur Wankhade Milan Pansuriya
Minal Doiphode Mohit Agarwal Mohit Borse
Nalini Vijayraghavan Nikhil Kulkarni Nikhil Nirawade
Noman Ansari Omkar Ingawale Omkar Kulkarni
Pooja Chavan Pooja Dhule Pranay Gupta
Pranit Gangurde Prashant Kankokar Priya Patole
Rahul Ganorkar Rashmi Nehete Ravi Agrawal
Robin Pandita Rohan Chavan Rohini Wwagh
Sachin Saini Sadhana Sharma Sambid Pradhan
Sandeep Mali Sanjay Toge Sanjeev Fadnavis
Saurabh Pimpalkar Sayanti Shrivastava Shardul Gurjar
Shishank Sidha Shravani Dhavale Shreyash Bhoyar
Shubham Kamble Shubham Muneshwar Shubham Navale
Shweta Chinchore Sidhant Naveria Souvik Adhikary
Sujay Hamane Tejbahadur Singh Uddhav Dandale
Vasishtha Ingale Vidisha Chirmulay Vikas Ghadage
Yogesh Kulkarni
Business Intelligence | 27 Aug 2021 |   12 min

A One Stop Solution to Deploying Office Add-Ins

featured image

What’s a set of common office tools that almost all of us have used at one point or another? Before you go scratching your head in search for answers, allow me to tell you. It’s the ever-so-helpful Microsoft Office Suite. Now, we’re are all aware of the macros that are available in tools like Microsoft Excel and may have used them programmatically to update tables, perform calculations and get fancy reports/charts etc. But how many of you have heard about Office Add-Ins?

Add-Ins are basically web solutions that can be developed in any Office Application and made available on Menus. Here’s a short read that will get you acquainted with the world of Office Add-Ins.

You can use Office Add-Ins to do almost anything that a webpage can do within a browser. With Add-Ins you can,

  • Add new functionalities to Office clients
  • Create interactive objects that can be embedded in Office documents

And more.

A prime example of Microsoft Add-Ins is Boomerang. It basically adds a number of useful features to Microsoft Outlook. It enables scheduling an email for a later date and time, pausing your inbox for when you need to concentrate on work, scheduling a follow-up reminder for sent emails, and much more. So, I’m sure you can see how Boomerang can add to the efficiency in your work-life.

Another example is XLTools.net Data Cleaning. This is an add-in that you would use for Microsoft Excel for when you have a messy Excel sheet filled with data, just calling out for some cleaning and organizing. With Data Cleaning you can skip the hassle of manual cleaning and directly avail data organized in a standard format that is easy to consume and manage.

These are just two examples from the top of my head. You will find a bounty of add-ins once you delve a little deeper into it.

On exploring a little bit, you will see that with Microsoft add-ins you can

  • Perform AI/ML operations in Excel Add-In for data analysts and scientists
  • Avail data analytics for the engineering teams
  • Manage assets for heavy industries
  • Search for media assets
  • View the metadata of assets and products
  • Open default Smart Documents for each asset and product

Now that you have a brief understanding of what Add-Ins are, let me tell you what I have learned from my experience in using them. One of the most common issues in realm of Office Add-Ins is proper deployment. In the document mentioned above, you will realize that links to development, testing, UI/UX, publishing are present. But, deployment checklists or steps are not explicitly mentioned. So, if you just go and deploy the solution like web app with default server configuration, it will not load.

To make your work easier and help you save some time on frantic research, I have chalked out some points which may prove to be useful.

You may be wondering why I directly jumped to deployment stage. The reason for this is that most of the development work involved is very similar to web application development.

However, the deployment is not same as web application deployment and there is no hard and fast guide for this. That’s where this blog will help you.

Take a look at the following block diagram from Microsoft to understand the topology of Office Add-Ins.

inside_image_1

There are two components in this diagram apart from the Office application:

  1. Manifest
  2. Our web page

As you can see, there is no browser here. The container of our application is Office Add-In which doesn’t have any place to enter the URL or an option to go to web page. So, where do we start?

The start web page is mentioned in manifest file. However, there can be many entry points to application. All the entry points are attached to the CTA that appears as button on the menu and is mapped to the web page in the manifest file.

Navigations to other web pages are strictly through internal actions on respective pages.

At the deployment end, we have had our learnings and solutions when we first encountered the development project around Office Add-In. Here are some of them:

  1. Generation of environment specific manifest file

    1. For this we preferred to have different versions of web pack files that come with yeoman generators. Each of this webpack has different variables as per its environment. For E.g.: Title, ManifestID, URLs, etc. We can then map npm scripts to generate a build through webpack. Here’s what it would look like:

“build:nightly”: “webpack -p –mode production –https false –config webpack.nightly.js”

  1. Server Configuration

    1. Now, to ensure that the Office Add-In works seamlessly, there is an office.js file that is referenced in the script tag in index.html. Office.js has all the capabilities for Office Add-Ins to work but it is hosted on Microsoft CDN. Additionally, there are some more javascript and css files that are internally referenced in the Office.js. All these files are by default blocked on any of the application servers like Apache Tomcat, Nginx etc due to CORS policy. So, the Content-Security Policy has to be periodically updated to allow Microsoft CDNs and other locations. I am specifying some of them right here:
  • https://telemetryservice.firstpartyapps.oaspapps.com
  • https://staticsharepointonline.com
  • https://appsforoffice.microsoft.com
  • https://cdn.mxpnl.com
  • https://api.mixpanel.com
  • https://static2.sharepointonline.com
  1. Office Online Support

    1. The server configuration stated above is enough to get Add-Ins working for the Desktop version of Office. But if we need it working on Office Online, there are some additional domains to be allowed
  • https://*.sharepoint.com
  • https://excel.officeapps.live.com

Nginx configuration for same would look like:

add_header Content-Security-Policy “default-src ‘self’ https://telemetryservice.firstpartyapps.oaspapps.com; font-src ‘self’ https://static2.sharepointonline.com; script-src ‘self’ ‘unsafe-eval’ ‘unsafe-inline’ https://appsforoffice.microsoft.com https://cdn.mxpnl.com https://api.mixpanel.com https://localhost:10001; connect-src ‘self’ ws://localhost wss://localhost; img-src ‘self’ data:; style-src ‘self’ ‘unsafe-inline’ https://localhost:10001 https://static2.sharepointonline.com; frame-ancestors ‘self’ https://*.sharepoint.com https://excel.officeapps.live.com”

  1. Avoid environment specific builds

    1. There might be situation when API and UI are deployed on same server. There are no APIs deployed on different servers. In that case you need not generate development/production environment specific builds. Application URLs can be used to form the backend URL. This is available through existing Javascript functions like document.url

I would like to conclude by saying that there are many use cases of Office Add-Ins that can help leverage your administration, operations, analysts, and scientists’ capabilities through more integrated way of doing work with Office platform. We have developed this expertise with Add-Ins and deployed solutions in multiple domains to help our clients achieve their business goals. Development is one aspect, where there will be lot of help available but the deployment aspect is different for each organization and will need to crafted uniquely for different products.

Reach out to us at Nitor Infotech to learn more about our our services with Microsoft Add-Ins along with the solutions we have deployed till date to help our clients achieve their business goals.

Related Topics

Artificial intelligence

Big Data

Blockchain and IoT

Business Intelligence

Careers

Cloud and DevOps

Digital Transformation

Healthcare IT

Manufacturing

Mobility

Product Modernization

Software Engineering

Thought Leadership

<< Previous Blog fav Next Blog >>
author image

Anup Manekar

Delivery Director

Anup Manekar, as the Delivery Director at Nitor Infotech, has over 13 years' experience in the IT domain. He has proven expertise in building scalable products using low code, cloud platforms and open-source solutions. Anup has dabbled with different technologies like BigQuery, Cloud Storage, Angular, Flutter, Firebase and Google Compute Engines. 

   

You may also like

featured image

Building and Distributing NPM Packages: A Developer's Guide

In the dynamic world of software development, prioritizing efficiency and collaboration is essential. Enter the npm package, the Node Package Manager, which stands as the largest and most extensive...
Read Blog


featured image

Top 5 Use Cases of NFT: A Closer Look

Our online world allows us to share funny memes, cool pictures, and other interesting visuals with friends and family. Some may do it for fun, others to learn something new, or even to tell people ...
Read Blog


featured image

How to Maximize Application Performance with k6?

In today's digital landscape, delivering high application performance is crucial for businesses to provide exceptional user experiences. Application performance directly impacts - user satisfaction...
Read Blog


subscribe

Subscribe to our fortnightly newsletter!

We'll keep you in the loop with everything that's trending in the tech world.
Nitor Infotech, an Ascendion company, is an ISV preferred software product development services company. We serve cutting edge GenAI powered services and solutions for the web, Cloud, data, and devices. Our consulting-driven value engineering approach makes it the right fit to be an agile and nimble partner to organizations on the path to digital transformation.

Armed with a digitalization strategy, we build disruptive solutions for businesses through innovative, readily deployable, and customizable accelerators and frameworks.

Company

  • About us
  • Leadership
  • Partnership
  • Press Releases
  • Career
  • Events
  • Contact Us

Quick Links

  • Idea to MVP
  • Product Engineering
  • Platform Engineering
  • Prompt Engineering
  • Blockchain
  • Generative AI

 

  • Big Data & Analytics
  • Mobile App development
  • Cloud and DevOps
  • Internet of Things
  • Blogs
  • Resource Hub

Get in Touch

900 National Pkwy, Suite 210,
Schaumburg, IL 60173,
USA

[email protected]

+1 (224) 265-7110


© 2023 Nitor Infotech All rights reserved

  • Terms of Usage
  • Privacy Policy
  • Cookie Policy
We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it. Accept Cookie policy