lithnet / googleapps-managementagent

Google Workspace Management Agent for MIM 2016
MIT License
12 stars 4 forks source link

Add support for resource calendars, buildings and feature #19

Closed ryannewington closed 5 years ago

ryannewington commented 6 years ago

Test build with support for

Lithnet.GoogleApps.MA.Setup.msi.zip

Requires the following

  1. Adding "Google Calendar API" to the project in the google developers console
  2. Remove and re-add the authorization scope to the following (don't overwrite them, it doesn't work. You have to delete the existing entry then add it again as a new one)
    https://www.googleapis.com/auth/admin.directory.domain,https://apps-apis.google.com/a/feeds/emailsettings/2.0/,http://www.google.com/m8/feeds/contacts/,https://www.googleapis.com/auth/admin.directory.user,https://www.googleapis.com/auth/admin.directory.domain,https://www.googleapis.com/auth/admin.directory.group,https://www.googleapis.com/auth/admin.directory.group.member,https://www.googleapis.com/auth/admin.directory.userschema,https://www.googleapis.com/auth/apps.groups.settings,https://www.googleapis.com/auth/admin.directory.resource.calendar,https://www.googleapis.com/auth/calendar

Notes

  1. For calendars, provide a dummy DN on export (eg a guid) and the correct DN will replace it at import time (this will be seen as an object rename)
  2. For buildings, use the DN format buildingID@buiding.resource
  3. For features, use the DN format name@feature.resource Note building IDs and feature names cannot be changed in Google, therefore DN renames are not supported.
  4. The 'floors' attribute on the buildings object needs to be a comma-separated list of floors, in the order the appear in the building. This is not represented as a multivalued attribute, as the order of values in a multivalued attribute is not guaranteed by FIM.
  5. There are two choices for representing building and feature references on the calendar object (a setting appears in the MA config to control this. You can have them appear as references where the attribute value will be my-building-id@building.resource or my-feature-name@feature.resource. Or you can have them appear as strings (my-feature-name and my-building-id). If you choose to represent them as string values, you must make sure you do not try to export a feature or building that doesn't exist.
ryannewington commented 6 years ago

@khandelwalpiyush ready for you to test the four new capabilities

ryannewington commented 6 years ago

@khandelwalpiyush this is the final release candidate build (v1.2). Can you run through your tests, and then take to production?

Lithnet.GoogleApps.MA.Setup.msi.zip

Please note two breaking changes with this build

  1. The calendar acl attributes are now singular (reader instead of readers, etc)
  2. The scopes have changed to the following
    https://www.googleapis.com/auth/admin.directory.domain.readonly,https://apps-apis.google.com/a/feeds/emailsettings/2.0/,http://www.google.com/m8/feeds/contacts/,https://www.googleapis.com/auth/admin.directory.user,https://www.googleapis.com/auth/admin.directory.group,https://www.googleapis.com/auth/admin.directory.group.member,https://www.googleapis.com/auth/admin.directory.userschema.readonly,https://www.googleapis.com/auth/apps.groups.settings,https://www.googleapis.com/auth/admin.directory.resource.calendar,https://www.googleapis.com/auth/calendar

When you are happy I will release the official build