February 2023

Monthly Archives

Moving an existing AgendaX installation to Office 365

Many of our customers are migrating their existing Exchange infrastructure to the cloud. Microsoft Office 365 is the most commonly used option.

But what needs to be done to an existing AgendaX installation that is configured to access the on-premise Exchange servers?

This largely depends on if you make the transition to Office 365 in one step (batch) or in several steps over the course of weeks / months. If the transition is done in one batch, you will only need to reconfigure your existing installation. If you have many mailboxes to migrate and this will take a while, we suggest to setup a second instance of AgendaX on the same server. This will allow for a smooth transition and will at any time show all user calendars (both on-premise and migrated mailboxes) in the AgendaX views.

Migration in one batch

You will need to uninstall MAPI/CDO (Exchange Server MAPI), if installed, and install an Outlook 32bit client (Outlook 2016 or later) on the AgendaX server. Also, the AgendaX mailbox needs to be migrated to Office 365 first, before you start migrating user mailboxes.

Also, make sure that a modern browser is installed on the AgendaX server, as this is needed to create an Outlook profile that connects to an Office 365 mailbox.

Then,

  • Log in on the AgendaX Server with the AgendaX user. This is VERY important because Outlook profiles are user specific.
  • Run Regedit and make sure that there is no value called MapiHttpDisabled under HKEY_CURRENT_USER\Software\Microsoft\Exchange or that its value is set to 0.
  • Add the following keys to the registry under HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Common\Identity
    EnableADAL (DWORD) 1
    DisableAADWAM (DWORD) 1
    DisableADALatopWAMOverride (DWORD) 1

    and under HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Cached Mode add a
    value called AllowAutoDiscoverForNonOutlook and set its value to DWORD 1.

  • Outlook 2016:
    • Make sure that KB3115279 for Office 2016 32bit (https://www.microsoft.com/en-us/download/details.aspx?id=53200)
      is installed.
    • Add the following parameter to AgentX.ini:
      [Config]
      ForceIExchangeManageStoreEx=1
  • Outlook 2019 / Office 365:
    • Add the following parameter to AgentX.ini:
      [Config]
      ForceIExchangeManageStoreEx=1
  • Then, create the Outlook profile and make sure that Exchange Cache mode is disabled in the Outlook profile. Enter the Outlook profile name (either in AgendaX Setup if you are setting up a new instance of AgendaX or in AgendaXCfg.exe if AgendaX is already installed under MSX Version / Outlook MAPI Client / Outlook Profile Name). The Standard- Name for the first Outlook- Profile that is configured is ‘Outlook’.
  • Start Outlook with that profile and make sure that the profile works. When you are prompted for a password, make sure to check the ‘Remember password’ checkbox.
  • Finally, close Outlook and restart the AgendaX Update Service

The permissions on Office 365 have to be set a bit differently than in an On Site Exchange environment. On Office 365, you will have to set permissions on folder level:

Please give the AgendaX user Reviewer rights on the top of the mailbox, and Editor rights on the Calendar folders.

The following Powershell script will do this for you. Replace “agendax” on the 4th and 5th line in the following script with the name of your O365 AgendaX account:

Connect-ExchangeOnline
foreach ($Mailbox in (Get-EXOMailbox -OrganizationalUnit abc -ResultSize Unlimited))
{
Add-MailboxFolderPermission -identity "$($Mailbox.Name)" -AccessRights Reviewer -User agendax
Add-MailboxFolderPermission -identity "$($Mailbox.Name):\Calendar" -AccessRights Editor -User agendax
}
Disconnect-ExchangeOnline

"-OrganizationalUnit abc" limits the users to a specific OU (here "abc"). This can be omitted if you would like
to grant the permissions on every account in your organization.

If, instead, you would like to limit the users to users that have a specific SMTP- address, you can use the
following script:

Connect-ExchangeOnline
foreach ($Mailbox in (Get-Mailbox -ResultSize Unlimited | where-Object {($_.PrimarySMTPAddress -like "*@agendax.net")}))
{
Add-MailboxFolderPermission -identity "$($Mailbox.Name)" -AccessRights Reviewer -User agendax
Add-MailboxFolderPermission -identity "$($Mailbox.Name):\Calendar" -AccessRights Editor -User agendax
}
Disconnect-ExchangeOnline

Or, if you would like to limit the users to members of a specific distribution list, you can use the following:

Connect-ExchangeOnline
foreach ($Mailbox in (Get-DistributionGroupMember -Identity "NameOfDistributionList" -ResultSize Unlimited))
{
Add-MailboxFolderPermission -identity "$($Mailbox.Name)" -AccessRights Reviewer -User agendax
Add-MailboxFolderPermission -identity "$($Mailbox.Name):\Calendar" -AccessRights Editor -User agendax
}
Disconnect-ExchangeOnline

Please see also the following document: AgendaX Installation Guide V6.1

Migration over the course of several weeks / months

If the move to Office 365 takes some time and you migrate mailboxes with several batches, we suggest to install a second instance of AgendaX during the transition.

The first (existing) instance will read on-premise mailboxes and the second (new) instance will read migrated (O365) mailboxes.

During the transition, you will still see all calendars of both on-premise and migrated mailboxes in the AgendaX web application.

Installing a second AgendaX Setup on the AgendaX server to access the O365 mailboxes

  • Create a new AgendaX user on Office 365 (including mailbox)
  • Copy the AgendaX installation folder to a second location, e.g. AgendaXO365
  • Install the second service with the Multi service configuration tool AgendaX multi service configuration utility. The service account you enter will be the account used to run the AgendaX Update Service. This should ideally be the new AgendaX user on Office 365. If this is not possible, select a local user with Administrative privileges on the AgendaX Server.
  • Install Outlook 2016 (or later) 32bit on the AgendaX Server, if not already present
  • Make sure that a modern browser is installed on the AgendaX server, as this is needed to create an Outlook profile that connects to an Office 365 mailbox.
  • Log on with the new AgendaX user (or the local user you specified while installing the second service) to the AgendaX server
  • Set the appropriate registry keys for the Outlook version used and AgentX.ini settings (page 6 in the Installation Guide: AgendaX Installation Guide) or see above (Migration in one batch)
  • Create an Outlook profile with this user, accessing its mailbox on O365, and disable Exchange Cache Mode in the Outlook profile. If you are prompted for a username / password, check the ‘Remember Password’ option before entering the credentials. Note the name of the Outlook profile you created (default: Outlook)
  • Run the AgendaX Configuration in the AgendaX O365 installation (AgendaXCfg.exe), click MSX Version, select Office 365 and enter the name of the Outlook profile you created, logged-in with the O365 AgendaX user (or the local user).
  • Set the Mailbox folder permissions for the users already migrated to O365 with the following Powershell script. Replace “agendax” on the 4th and 5th line in the following script with the name of your O365 AgendaX account:
    Connect-ExchangeOnline
    foreach ($Mailbox in (Get-EXOMailbox -OrganizationalUnit abc -ResultSize Unlimited))
    {
    Add-MailboxFolderPermission -identity "$($Mailbox.Name)" -AccessRights Reviewer -User agendax
    Add-MailboxFolderPermission -identity "$($Mailbox.Name):\Calendar" -AccessRights Editor -User agendax
    }
    Disconnect-ExchangeOnline
    
    "-OrganizationalUnit abc" limits the users to a specific OU (here "abc"). This can be omitted if you would like
    to grant the permissions on every account in your organization.
    
    If, instead, you would like to limit the users to users that have a specific SMTP- address, you can use the
    following script:
    
    Connect-ExchangeOnline
    foreach ($Mailbox in (Get-Mailbox -ResultSize Unlimited | where-Object {($_.PrimarySMTPAddress -like "*@agendax.net")}))
    {
    Add-MailboxFolderPermission -identity "$($Mailbox.Name)" -AccessRights Reviewer -User agendax
    Add-MailboxFolderPermission -identity "$($Mailbox.Name):\Calendar" -AccessRights Editor -User agendax
    }
    Disconnect-ExchangeOnline
    
    Or, if you would like to limit the users to members of a specific distribution list, you can use the following:
    
    Connect-ExchangeOnline
    foreach ($Mailbox in (Get-DistributionGroupMember -Identity "NameOfDistributionList" -ResultSize Unlimited))
    {
    Add-MailboxFolderPermission -identity "$($Mailbox.Name)" -AccessRights Reviewer -User agendax
    Add-MailboxFolderPermission -identity "$($Mailbox.Name):\Calendar" -AccessRights Editor -User agendax
    }
    Disconnect-ExchangeOnline
  • Stop the AgendaX Update service of the old AgendaX installation
  • Run the AgendaX Configuration of both the old and the new installation (AgendaXCfg.exe) and tick the “Multiple services write to this database” option and drop the database tables (only once) under Config / Drop tables.
  • Click “Update” in both AgendaX Configuations and “Yes” to restart the Services
  • Check the Windows Application Eventlog for possible warnings / errors. Each of the services will add warnings to the Application Event log for the mailboxes that are not on their system. This is normal. The on-premise Setup will create warnings for the O365 mailboxes and the O365 Setup will create warnings for the on-premise mailboxes. If you get warnings on the O365 installation about mailboxes that cannot be found in the global address book and these mailboxes have already been migrated to O365, you will have to re-select them from the address book in the AgendaX group definitions (AgendaXCfg.exe / Groups).
  • After both AgendaX Update Services have finished scanning through the mailboxes, you will see both on-premise and O365 mailbox calendars in the AgendaX web application.
  • While you are moving users from the on-premise Exchange servers to O365, you will need to re-run the above Powershell script to set permissions on the newly moved mailboxes.

Removing the old AgendaX Setup after all mailboxes are moved to O365

When all mailboxes are moved to O365, you can uninstall the old AgendaX setup by following the below steps. As the web-application of AgendaX is still running under your old AgendaX setup, you will first need to move this to the location of the new (O365) installation:

  • Run Internet Information Services (IIS) Manager, navigate to Sites / Default Web Site / AgendaX, click “Basic settings” and change the location of the “Physical path” to the folder of your new AgendaX O365 installation.

If you have made any configuration changes on the AgendaX Administration page (in the AgendaX web application) since you installed the O365 installation of AgendaX, or if you have made changes to the collapsible group menu in the multmenu.txt file, copy config.inc and multmenu.txt (both are located in the AGENDA subfolder of your AgendaX installation folder) from the old Setup to the O365 setup.

To uninstall the old AgendaX Setup, follow the steps below:

  • Stop the AgendaX Update Service of the old installation
  • Close any instances of MMC (Microsoft Management Console), e.g. Services, Event Viewer
  • Open a command prompt and change to the AgendaX installation folder of your old AgendaX installation, e.g. CD C:\Inetpub\AgendaX
  • Enter the following command:
    AgendaXSrv.exe -u (this will uninstall the AgendaX Update Service)
  • Delete the old AgendaX installation folder

The final step is to tell the AgendaX Update service that no longer other services are using the same database. Run the AgendaX Configuration (AgendaXCfg.exe) in your new O365 setup folder and untick the “Multiple services write to this database” option and drop the database tables under Config / Drop tables, then click “Update” and “Yes” to restart the service.


How the AgendaX group calendar improves efficiency

AgendaX gives you overviews of multiple calendars and lets you plan meetings when in or out of the office. Views can reflect current project team members, department groups, locations, or whole companies. Even views across different companies are possible.
AgendaX is a web based calendar software that improves efficiency in scheduling within your organization and synchronizes in both directions with Microsoft Exchange and Office 365 mailbox calendars.

AgendaX - the popular Exchange group calendar for Microsoft Exchange and Office 365

AgendaX helps improving your company’s efficiency by providing statistics on how employees spend their time, how meeting rooms and other equipment is used. For instance, a project manager can determine how many hours have been spent on a specific project. This makes it easy to plan similar projects in the future.

The head of a department may need to print an overview of his colleagues’ vacation schedule or determine how many working hours were spent on customer support, meetings, customer visits, etc.

The phone operator / receptionist needs to know who is free and who is busy to transfer calls in an efficient way. Thanks to AgendaX’s “Who is Where” view, this information is retrieved in a minimum amount of time, the customer feels welcome and efficiently served.

Customer representatives need an easy and efficient way to know which technician can visit a customer when, and book the appointment directly into his/her calendar.

There are many more examples of how AgendaX can improve efficiency in all parts of your organization.

Features and benefits:

  • Promote efficiency with group overviews and improve Customer service by seeing at a glance which employees and resources are available or are due to become available.
  • The rich set of views, including an instant ‚who is where‘ snapshot, as well as daily, weekly and monthly views for individuals or groups of users give you the information you need at a glance. You’ll never need to open other people’s calendars or check their availability to schedule a meeting.
  • With just a few mouse clicks you can send meeting invitations to required attendees.
  • Dynamic assignments of users to groups (departments / teams) relieve Exchange Administrators to a great extent. You can, for example, use Exchange distribution lists to form AgendaX groups.
  • AgendaX is very flexible, supports many languages (German, English, French, Italian, Danish, Norwegian, Swedish, Dutch, and Polish), and rationalizes multiple organizations, sites, and time zones.
  • AgendaX keeps private calendar entries private.
  • AgendaX has a large variety of functions and filters, yet keeps the interface simple. User-specific views (e.g. vacations, courses, sick leaves) and statistics can be created easily.
  • Useful statistical functions: Appointments with the same subject can be statistically analyzed. The utilization of employees is automatically calculated.
  • Every AgendaX view can be exported to Excel (csv).

Contributions related to the subject

Would you like to write a guest post?
Please contact us.