際際滷

際際滷Share a Scribd company logo
Digital collaboration
with Microsoft 365
as an extension of
Drupal
About us
Me
 Fabian de Rijk, Alphen aan den Rijn NL
 fabianderijk on drupal.org
 Drupal developer at Finalist
Fi na l i st
 Drupal websites for Health and Education
 Supporter of Drupal Community
 Event sponsor & co-organiser
 Core and contrib maintainer
 Dutch Drupal Association member
What are we going to talk about?
#1 Why Drupal and Microsoft 365
#2 What is the Graph API?
#3 Setting up the module
#4 Examples & demo
#5 How to?
#6 Roadmap
#7 Questions
WHY DRUPAL
AND
MICROSOFT 365
Framework that serves well as
social intranet or community
platform
Collaboration software with
video conferencing, chat and
documents
Microsoft 365 is go-to-software for most educational and governmental institutions.
 Advantages of both Drupal and Microsoft 365
 Provide single sign on via Azure (cloud platform Microsoft)
 Interact with the Graph API
So we built a module
Azure SSO
Gateway to almost all data living
within a Microsoft 365 subscription
and is therefore a super powerful API
for a lot of different use cases.
What is the
Graph API?
INSTALLING
THE MODULE
Setting up Azure
Authorization scopes
Needed authorization scopes are
shown in Drupal
Drupal configuration
EXAMPLES &
DEMO
SSO
 Login with a local Drupal
account
 Login with a Microsoft 365
account
 Auto redirect to Microsoft for
login and SSO
User data synchronization
 Synchronize data from the user
Microsoft 365 profile
Links to Office 365 apps
Connect groups and teams
Send messages
Etcetera
Microsoft
Teams
Outlook Calendar
Outlook Mail
And more..
 Search for contacts
 Search for files in SharePoint
 SharePoint field
 And even more!
Demo time!
HOW TO?
Custom scopes
Get data from the
Graph API
Post data to the
Graph API
 Use new SDK
 Better documentation
 Use multiple connectors
 .
Roadmap
Where?
drupal.org/project/o365
or search for
Microsoft 365 Connector
Community
Questions?
For contact information and a PDF
of this presentation see
https://linktr.ee/fabianderijk or
scan the QR code

More Related Content

Similar to Digital collaboration with Microsoft 365 as extension of Drupal (20)

PDF
Microsoft Cloud for Good
TechSoup Canada
PPTX
Understanding the Tools and Features of Office 365 - New Zealand Digital Work...
Michael Noel
PPTX
When to use what in office 365 - sps chicago-burbs
Johnny Lopez
PPTX
Microsoft Graph
Becky Bertram
PPTX
Getting started with Microsoft Office 365 by Vignesh Ganesan
Vignesh Ganesan I Microsoft MVP
PPTX
Microsoft Azure and Microsoft 365 - How Will They Help You
Suhail Jamaldeen
PPTX
Whats new in Office 365
SPC Adriatics
PPTX
Microsoft SharePoint Cloud presentation
C/D/H Technology Consultants
PPTX
Share point 2010 100 level overview
Apimuk Siripitupum
PPTX
Office 365 a detailed analysis - English version - Michael Noel
aOS Community
PDF
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
Codemotion
PPTX
Office 365 and SharePoint 2013 Hybrid Environments
Rene Modery
PPTX
Iconus 2016
Mark Roden
PPTX
Election 2016: Vote Office 365 for a Brighter Cloud Future
WithumSmith+Brown, formerly Portal Solutions
PPTX
Office 365; A Detailed Analysis - SPS Kampala 2017
Michael Noel
PDF
Modern workplace g sari-ms
InTTrust S.A.
TXT
Microsoft E5
HISASHI MIYAGI
PPTX
Sharepoint User Group Geneva - Introduction to Office 365
Mark Stokes
PPTX
Strategies for Transitioning From SharePoint On-Prem to Office 365
Kanwal Khipple
PPTX
Intro to the Office 365 Admin Center
Nikkia Carter
Microsoft Cloud for Good
TechSoup Canada
Understanding the Tools and Features of Office 365 - New Zealand Digital Work...
Michael Noel
When to use what in office 365 - sps chicago-burbs
Johnny Lopez
Microsoft Graph
Becky Bertram
Getting started with Microsoft Office 365 by Vignesh Ganesan
Vignesh Ganesan I Microsoft MVP
Microsoft Azure and Microsoft 365 - How Will They Help You
Suhail Jamaldeen
Whats new in Office 365
SPC Adriatics
Microsoft SharePoint Cloud presentation
C/D/H Technology Consultants
Share point 2010 100 level overview
Apimuk Siripitupum
Office 365 a detailed analysis - English version - Michael Noel
aOS Community
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
Codemotion
Office 365 and SharePoint 2013 Hybrid Environments
Rene Modery
Iconus 2016
Mark Roden
Election 2016: Vote Office 365 for a Brighter Cloud Future
WithumSmith+Brown, formerly Portal Solutions
Office 365; A Detailed Analysis - SPS Kampala 2017
Michael Noel
Modern workplace g sari-ms
InTTrust S.A.
Microsoft E5
HISASHI MIYAGI
Sharepoint User Group Geneva - Introduction to Office 365
Mark Stokes
Strategies for Transitioning From SharePoint On-Prem to Office 365
Kanwal Khipple
Intro to the Office 365 Admin Center
Nikkia Carter

Recently uploaded (20)

PPTX
Bob Stewart Acts 18 06 18 2025.pptx
FamilyWorshipCenterD
PPTX
organic farm Dr Shashi Jain 19.06.2018.pptx
Pratibha Chauhan
PPTX
Speech and which are the type of speechs
krajishmaa
PDF
Materi Presentasi_Sales_Kit_IPA_Convex_2025.pdf
YudiAhmad6
PPTX
Soft Skills Training for Everybody.pp.pptx
Mayuri Srivastava
PDF
Josaya - Abstract for the research of the youth development.pdf
Josaya Injesi
PPTX
Pastor Bob Stewart Acts 19 06 25 2025.pptx
FamilyWorshipCenterD
DOCX
Dissertation_Antony_Musyoka.docx.for presentation
antonykamile
PPTX
From Hackathon to Real-World Impact: The Story of Sneh Vidhya Sahayog
shubhamsharma994585
PPTX
AC_Manufacturer_Strategy_Commercial_Government.pptx
ajajsain
PPTX
2025-06-22 Abraham 04 (shared slides).pptx
Dale Wells
PPTX
Political Polarization And Government Accountability.pptx
EverlyseLumantas
PPTX
Ludwig van Beethoven Life and Legacy.pptx
aryansnow1304
PPTX
Joy In The Journey 06 22 2025.pptx
FamilyWorshipCenterD
PPTX
Section 4 - Islamic Civilization & Culture.pptx
MianMuhammadUbaidUll
PPTX
Itinerary ROHIS SMUNIC diperlukan untuk acara.pptx
lukmanjavalatte
PDF
Amazon Wholesale Product Research Example
Joseph Juntilla
PPTX
Heating_Effect_of_Solar_Corona_Presentation.pptx
Hanumamshukla
PPTX
Accessibility isn't just for users. Creating engaging technical presentations...
Elizabeth McCready
PPTX
FL Studio Crack Full Version [Latest 2025]
Jackson lithms
Bob Stewart Acts 18 06 18 2025.pptx
FamilyWorshipCenterD
organic farm Dr Shashi Jain 19.06.2018.pptx
Pratibha Chauhan
Speech and which are the type of speechs
krajishmaa
Materi Presentasi_Sales_Kit_IPA_Convex_2025.pdf
YudiAhmad6
Soft Skills Training for Everybody.pp.pptx
Mayuri Srivastava
Josaya - Abstract for the research of the youth development.pdf
Josaya Injesi
Pastor Bob Stewart Acts 19 06 25 2025.pptx
FamilyWorshipCenterD
Dissertation_Antony_Musyoka.docx.for presentation
antonykamile
From Hackathon to Real-World Impact: The Story of Sneh Vidhya Sahayog
shubhamsharma994585
AC_Manufacturer_Strategy_Commercial_Government.pptx
ajajsain
2025-06-22 Abraham 04 (shared slides).pptx
Dale Wells
Political Polarization And Government Accountability.pptx
EverlyseLumantas
Ludwig van Beethoven Life and Legacy.pptx
aryansnow1304
Joy In The Journey 06 22 2025.pptx
FamilyWorshipCenterD
Section 4 - Islamic Civilization & Culture.pptx
MianMuhammadUbaidUll
Itinerary ROHIS SMUNIC diperlukan untuk acara.pptx
lukmanjavalatte
Amazon Wholesale Product Research Example
Joseph Juntilla
Heating_Effect_of_Solar_Corona_Presentation.pptx
Hanumamshukla
Accessibility isn't just for users. Creating engaging technical presentations...
Elizabeth McCready
FL Studio Crack Full Version [Latest 2025]
Jackson lithms
Ad

Digital collaboration with Microsoft 365 as extension of Drupal

Editor's Notes

  • #3: A bit about me,
  • #5: Its all about together Drupal is about together Its community is about together And we think Drupal can be together with tooling like Office365
  • #6: Drupal is a powerful framework that can serve really wel as a social intranet or community platform. At Finalist, we are literally building digital workspaces wth Drupal in which student and teachers work together. Microsoft 365 is collaboration software which is quite known. It has lots of features like Teams, with chat and video conferencing. And of course working together in documents. We work in the fields of education and government, and whether you like it or not, Microsoft is go-to-software for lots of insitutions.
  • #7: So.. We built a module that combines the advantages of both Drupal and Microsoft 365. An important feature is single sign on, so you are immediately logged in with your Microsoft account. This is important because once logged in, the Microsoft 365 connector can interact with the Graph API on behalf of your account.
  • #8: This Graph API is superpowerful, because it is a gateway to almost all data living in your account. This way we can use it for lots of use cases, which I will show you in the next half hour.
  • #9: Using the Office 365 connector and its submodules we have added some functionality of what we thought would be helpful and to give you some examples which you can use to create your own modules. Let me take you through some of them in a random order.
  • #10: To be able to use the Microsoft 365 connector module you need to have an Azure app set up with correct permission scopes. First create an app in Azure like you would when using OpenID. Just enter your basics like name and the Microsoft 365 connector specific return url. Then create your secret (do not forget to copy it, you will see it only once) and start adding the API permissions.
  • #11: The module will help you with that. When you install the base module it will create a page for you under Reports that shows a list of the authorization scopes needed to make all the functionality work. This list of scopes will be automatically updated when you enable or disable submodules.
  • #12: This list of scopes will be automatically updated when you enable or disable submodules. Remember, the client id, tenant id and secret key are not saved in the Drupal database because of security reasons. They need to be added in the settings.php and you are ready for take off!
  • #13: Using the Microsoft 365 connector and its submodules we have added some functionality of what we thought would be helpful and to give you some examples which you can use to create your own modules. Let me take you through some of them in a random order.
  • #14: Lets start with the basics. Using the Office 365 connector module you can login to your Drupal site using your Microsoft 365 credentials.
  • #15: It is even possible to sync data from Microsoft 365 for the logged in Drupal user or their respective profile. This can be used to save their full name, profile picture and more.
  • #16: This is a rather basic function, however, it can be very handy. The module contains a block with links to all sorts of Microsoft 365 services. You can configure what services you want to show, so there is always a set of links that are useful to the user.
  • #17: Using a combination of this module and the Group module you can connect groups with Teams. For now this adds a feature that lists files from a Team in the Group in Drupal. We also have added a feature for people to send messages from Drupal to others on Teams without leaving Drupal. There is also an option to start a chat or a call with team members. In the future there will be better integration with Teams (for instance your activity stream), and better and more integration between Microsoft 365 and Groups.
  • #18: With the Outlook Calendar integration you can create events from Drupal nodes in your Outlook Calendar. Either from the creation of the node itself, or by using the block the module provides that outputs a button for users that creates the event on click. In addition, the module makes it possible to show a block with the events that are upcoming for the currently logged in user.
  • #19: The Outlook Mail integration provides 2 kinds of blocks. First of all, we have a block that exposes the last 5 e-mails in the users Inbox, second is a block which shows you unread e-mails in the inbox. For now, these blocks only get mails from the Inbox folder, and a maximum of 5, but this will be configurable later. However, you can easily build this yourself as it fits your needs.
  • #21: Let me show you a short demo of the possibilities this module has. First, let us log in. As you can see, when the Login with Microsoft Office button is clicked we are taken to Microsoft where we need to authenticate ourself. This means we are logged in, and we can retrieve data from the Microsoft Graph API using the Microsoft 365 connector module. As you can see on the homepage we have some blocks that are generated by the module. We show the currently logged in user with the profile picture uploaded on Office and beneath that our upcoming appointments. When the event is an online meeting the link to join the meeting via Teams is automatically added. When you click on a event it will open the event in the Outlook Calendar. In the third column you can see the 2 Outlook Mail blocks with the email sorted on date. When clicked on an email it will open the mail in Outlook Mail. Also shown here are some blocks with recent or shared files and the block with the application links. As said we have created a possibility to send a message to a user on Teams via Drupal. You can search for the recipient, add your message and click send. The message will be sent via Teams to the corresponding user, and will be sent by the currently logged in user. As I said in the beginning, the submodules we have created can also be used as a beginning for custom functionality. We have, for example created a module that shows the user status and adds a dropdown for users from where you can call or chat via Teams or call the user via phone when used on mobile devices. And for a customer of ours we have integrated the Dropzonejs module with the abillity to upload large files that asynchronous get sent to a specific Sharepoint folder.
  • #22: So, now for a bit of a technical bit. The module is built in a way to help other developers create their own additions.
  • #23: When developing it can happen that the scopes the default Microsoft 365 connector module or one of its submodules use isnt sufficient. When that happens you can use a custom hook we have added to the module. This hook adds the authorization scopes when logging in to Microsoft and makes the data in the Graph API accessible for the Microsoft 365 connector.
  • #24: To retrieve data from the Graph API we have created a service for you called the GraphService. When using this service you have all the benefits of the Office 365 connector. This service already takes in account your status, and retrieves data from the Graph API as the current logged in user. As you can see in the screenshot it is really easy to use. The getGraphData method in the service returns the data retrieved from the Graph API as is so you can do your own magic with it. The first parameter for the method is the endpoint in the Graph API which you can find in the API explorer at Microsoft.com
  • #25: To post data to the Graph API you can use the sendGraphData method in the service. Just add the endpoint you would like to post to, and the data structure and youre done! In the code example you can see how a event is created in my Outlook Calendar for Drupalcamp Ghent.
  • #26: What do we want to do in the future? Microsoft have released a new version of their SDK. This is a better and easier than the one we are using right now, so we need to update. This will take some time, because of the large changes. Next to that we want to improve our documentation. It should be easier for other developers to use this module, just because its awesome. For some time now there has been an active issue in the issue queue to allow multiple connectors. This way we can use multiple Azure apps, multiple tenants or Active Directories to retrieve data. This is helpful for environments where multiple organizations need to login to one system and dont have a shared Azure environment. And more, better examples, REST endpoints, etcetera.
  • #27: Do you want to help in any further development? Or do you want to use the module? Just take a look at the project page on drupal.org!