Office 365 Groups Deep diveKnut Relbe-Moe, Chief Technical Architect Knowledge Factory
Knut Relbe-Moe
My Experience:SharePoint evangelist, mentor, speakerOld developer, turned Architect / ITProHave worked with SharePoint since the 2003 version.Worked with several clients upgrading their solution from 2007/2010 to 2013.Works as a Lead Architect and advisor creating SharePoint Farm
architecture/infrastructure on many projects. With up to 25.000 users.Worked with automating the installation and configuration of SharePoint.
Chief Technical ArchitectKnowledge Factory, Oslo, NorwayOffice Server & Services MVPMigration ExpertEducator for GlasspaperNintex Virtual Technical Evangelist
http://www.sharepointblog.no
@shareptkarm
THANK YOUChristophe Fiessinger and Microsfot for some of the slides
THE WORLD HAS CHANGED
THE RISE OF DYNAMIC TEAMS
MODERN COLLABORATIONINTELLIGENT FABRIC
PERSONALIZED INSIGHT
Introducing Office 365 Groups
Brings together people, information, and apps across Office 365, to enable better communication and collaboration.
Groups building blocks
Azure Active Directory
Apps
Skyp
e
…Ou
tlook
OneD
rive
Cale
ndar
OneN
ote
Yam
mer
Dyna
mics
CRM
Delv
e
Office 365 Groups
Office 365 Experiences available to all of you!OUTLOOK CONVERSATIONS FILES
CALENDAR PEOPLE SKYPE
NOTEBOOK
…
Introducing Office 365 Groups
Architecture Office 365 Groups
One group system across Office 365One identityAzure Active Directory (AAD) is the master for group identity and membership across Office 365 (Exchange, SharePoint, etc.)
Federated resourcesO365 services extend with their data(e.g., conversations stored in Exchange mailbox & documents stored in OneDrive for a group)
Loose couplingServices notify each other of changes to a group (e.g., creation, deletion, updates)Using sync from AAD to Exchange Online AD and SharePoint Online AD they achieve reliability if they miss notifications
SharePoint
SharePoint Online AD Documents
OneNote
OneDrive for business
Additional workloads
Workload scenarios
Workload resourcesLocal
directory
Exchange
Conversations Calendar
Group mailboxExchange
Online AD
IdentityResource URLsOwnersMembers
AAD
Group identity
Group creation flow Melissa creates a group in Outlook
EXOCreate Group
MSODSNew group
Create via AAD Graph
Azure Active Directory
Exchange Online SharePoint Online
EXO
Group creation flow EXO creates a local group
EXOCreate Group
MSODSNew group
Create via AAD Graph
Azure Active Directory
Exchange Online AD
Local create
Newgroup
Exchange Online SharePoint Online
EXO
Group creation flow EXO notifies SPO, which creates a local group
EXOCreate Group
MSODSNew group
Create via AAD Graph
Azure Active Directory
Exchange Online AD
Local create
Newgroup
Exchange Online SharePoint Online
EXO
SharePoint Online AD
SPO
Newgroup
Notification
Local create
EXOAdd
Members
MSODSUpdate group
Azure Active Directory
Exchange Online AD
Updategroup
Exchange Online SharePoint Online
EXO
SharePoint Online AD
SPO
Updategroup
Group management flow FwdSync broadcasts changes
FwdSync FwdSync
Update Group
via AAD Graph
Group mail sync for hybrid tenantsMelissa creates group and invites Dan
O365Service.Contoso.com
On-premContoso.com
AAD
AD
EXO
EX
WelcomeGAL
GALQR1plans
Local nickname [email protected]
om
O365Service.Contoso.com
On-premContoso.com
AAD
AD
EXO
EX
‘Agenda’GAL
GALQR1plans
Post ‘Agenda’
‘Agenda’
Local nickname [email protected]
om
Group mail sync for hybrid tenantsDan is autosubscribed
O365Service.Contoso.com
On-premContoso.com
AAD
AD
EXO
EX
‘RE: Agenda’GAL
GALQR1plans
‘RE: Agenda’
Local nickname [email protected]
om
Group mail sync for hybrid tenantsDan sends email to the group
Group mail sync for hybrid tenantsAAD connect sync back O365 objects
GALGALQR1plans
O365Service.Contoso.com
On-premContoso.com
AAD
AD
EXO
EX
GALQR1plans
DL objectTarget: [email protected]
AADConnect
Group management UXIntegrated with in the O365 Admin CenterSingle-click access from the left nav
Explore the groups in your tenantEasy access to all groups in your tenantBrowse/search
Manage groups in one placeEdit group properties in placeIntegrated member/owner management
Staying up-to-date with Groups in your tenant
Scripting Group lifecycle
CMDLETS
CmdletsFull orchestrationAll cmdlets execute against Azure AD as primarySynchronous notification/update in Exchange/OneDriveAvailable to tenant admins
*UnifiedGroupCreate, edit, and deleteManage single-value properties available on the Group object
*UnifiedGroupLinksManage members, owners, and subscriber list
Group CMDLETS#Allow remote sessionsset-executionpolicy unrestricted #Get usercredentials$userCredential = Get-Credential#Open Powershell session$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $session#Get help about group cmdletshelp unifiedgroup
Group CMDLETS#Getting a list of all groupsget-unifiedgroup
#Getting a list of specified groupget-unifiedgroup -identity salesteam
#Getting all members of a groupget-unifiedgrouplinks -identity salesteam -linktype Members
#To create a group with minimal parameters, just use the DisplayName parameterNew-UnifiedGroup –DisplayName "PowerShell Group 1"
Add-UnifiedGroupLinks groupalias –Links [email protected] –LinkType Member
Group CMDLETS#To add a new user to the owners group, first add them as a member and then add them as an owner.Add-UnifiedGroupLinks groupalias –Links [email protected] –LinkType MemberAdd-UnifiedGroupLinks groupalias –Links [email protected] –LinkType Owner
#Getting the members of a groupGet-UnifiedGroupLinks –Identity groupalias –LinkType Members
#Removing a user from a groupRemove-UnifiedGroupLinks groupalias –Links [email protected] –LinkType Member
# To remove an owner from the group, you will first have to remove he or she from the LinkType Owner.Remove-UnifiedGroupLinks groupalias –Links [email protected] –LinkType OwnerRemove-UnifiedGroupLinks groupalias –Links [email protected] –LinkType Member
#Removing a group Remove-UnifiedGroup groupalias
Specifying a policy restricting groupsAssign the policy to a set of users
Attempt to create a group
Group creation permissions
Disable group creationNew-OWAMailboxPolicy -Name "DisableGroups"
Set-OWAMailboxPolicy -Identity "DisableGroups" -GroupCreationEnabled $false
Set-CASMailbox -Identitiy [email protected] -OwaMailboxPolicy "DisableGroups"
Policy controlsNaming conventionsSet on display name during create/changeBlocked word list, pre-/post-fix based on AAD attributes or fixed textSame policy for DL and groupsIT admins can override
Group creation permissionsControl groups create UI in OWA and OLK for certain or all users through OWA policyDoes not prevent users from using groupsIT can still create groups (managed scenarios)
Managing groupsThrough admin UIO365 admin center (not EAC)AAD control panel
Scripted/automatedCRUD cmdlets:
*-UnifiedGroup to manage group*-UnifiedGroupLinks to manage owners, members, subscribers
Policy controlNaming policyCreation restriction
Extensibility Office 365 Groups
Office 365 platform overview
Your App
Office 365 unified API (preview)
https://graph.microsoft.com/
/EVENTS/CONVERSATIONS
/FILES
MANAGEMENT
https://graph.microsoft.com/beta/myorganization/groups?$filter=groupType+eq+'Unified'
Building your appRegister app in Azure portalNativeWeb appSingle page app
Configure app permissionsGroups.Read.AllGroups.ReadWrite.All
Get token using OAuth2.0 flowUse OpenID Connect for SSOBuild your code using O365 unified API
Groups management (preview)Entities, collections, and actions
Sampleshttps://graph.microsoft.com/beta/contoso.com/groups/{id}/https://graph.microsoft.com/beta/contoso.com/groups/{id}/AddFavorite
CollectionAction
ENTITY COLLECTION ACTIONSGroup Groups CRUD
SubscribeByMail, UnsubscribeMyMail, AddFavorite, RemoveFavorite, ResetUnseenCount
User/Me Users JoinedGroups
Groups content: ConversationsEntities, collections, and actions
Sampleshttps://graph.microsoft.com/beta/contoso.com/groups/{id}/conversationshttps://graph.microsoft.com/beta/contoso.com/groups/{id}/threads/{id}/reply
Blah lol
ttylENTITY COLLECTION ACTIONSConversation Conversations Create, read, and deleteThread Threads ReplyPost Posts Reply, forwardAttachment Attachments CRUD
Groups content: Calendar Entities, collections, and actions
Sampleshttps://graph.microsoft.com/beta/contoso.com/groups/{id}/events../calendarview?startdatetime=2015-04-01 & enddatetime=2015-04-30
Collection
No client-side recurrence expansion required
ENTITY COLLECTION ACTIONSCalendar ReadEvent Events CRUDCalendar view N/A ReadAttachment Attachments CRUD
Groups content: FilesEntities, collections, and actions
Sampleshttps://graph.microsoft.com/beta/contoso.com/groups/{id}/fileshttps://graph.microsoft.com/beta/contoso.com/groups/{id}/files/{id}/
ENTITY COLLECTION ACTIONSFile Files CRUD, upload, downloadFolder CRUD, enumerate children
Common content queriesSCENARIO URLGet top 10 conversations sorted by LastDeliveryTime
/group/{id}/conversations?$top=10&$orderby=LastDeliveryTime
Get the next 10 conversations /group/{id}/conversations?$top=10&$skip=10
Get selected properties on events starting after a particular Date/Time
/group/{id}/events?$top=10&$select=Subject,Start,End&$filter=Start ge 2014-09-22
Get selected properties on conversation threads
/groups/{id}/conversations/{id}/threads/{id}/posts?$select=body
Get files where the name starts with “c”
/group/{id}/files?$filter=startswith(name,+'c')
Get selected properties on files /group/{id}/files?$select=dateTimeCreated
Next stepsSign-up for Office 365
Use Office 365 groups
Give Microsoft feedback
Join the conversation!Share tips and best
practices with other Office 365 expertshttp://aka.ms/
office365network
Now you are ready to play around with Power BI If not you can always call me.
Questions?• Now or later
THANK YOU