W poniższym artykule przedstawiam rozwiązanie zaimplementowane przez firmę APN Promise do synchronizacji wiadomości w czasie rzeczywistym z Exchange do SharePoint. Jego celem jest dostarczenie użytkownikowi dodatkowych możliwości pracy nad załącznikami wiadomości, które nie są dostępne w programie Outlook (jak np. edycja) oraz przyspieszenie dostępu do danych.
Zaplecze techniczne
Microsoft Exchange Serwer jest to zaawansowany system pocztowy przeznaczony dla rodziny systemów Windows. Klientem pocztowym przeznaczonym dla Exchange jest Microsoft Outlook. Microsoft SharePoint jest platformą webową przeznaczoną do zarządzania, publikowania i manipulacji danymi w sieciach korporacyjnych. Najczęstszym zastosowaniem jest przechowywanie dokumentów oraz praca zespołowa nad nimi.
Podczas użytkowania poczty internetowej może się zdarzyć sytuacja, w której skrzynka mailowa rozrośnie się do znacznych rozmiarów (wiele GB). Liczba wiadomości wtedy stanie się na tyle duża, że uniemożliwi płynną pracę użytkowników końcowych. Wydłużony zostanie czas komunikacji pomiędzy Microsoft Outlook (klient poczty Microsoft) a serwerem pocztowym Exchange, co uniemożliwi płynne wyszukiwanie i zarządzanie wiadomościami.
Jednym ze sposobów poradzenia sobie z tym problemem jest przeniesienie zawartości zbyt dużej skrzynki mailowej do biblioteki dokumentów w serwisie Microsoft SharePoint. Synchronizacja musi się odbywać w czasie rzeczywistym (lub bliskim rzeczywistego), aby na bieżąco dodawać nowe wiadomości do list SharePointowych. Dzięki przechowywaniu maili oraz załączników w formie plików w bibliotece dokumentów można zintegrować się z OneDrive i przeglądać wiadomości w Explorerze Windows.
Synchronizator
Synchronizator będzie działał jako SharePoint Timer Job. Timer job są to usługi SharePoint, które pracują w trybie cyklicznym – co określony czas. Zarządzanie Timer Job’ami odbywa się poprzez SharePoint 2016 Central Administration. W tym miejscu można wymusić uruchomienie lub wyłączenie Joba albo zmienić częstotliwość jego uruchamiania.
W skład synchronizatora wchodzą dwa moduły:
- moduł odpowiedzialny za pobranie wiadomości ze skrzynki mailowej oraz
- moduł odpowiedzialny za zapisanie wiadomości w liście dokumentów na SharePoint.
Każda wiadomość trafia do własnego folderu z dodatkowymi metadanymi (np. tytuł, od kogo) w bibliotece dokumentów. W każdym folderze znajdują się załączniki i treść wiadomości w pliku o rozszerzeniu html.
Zaimplementowany Timer Job uruchamia się co pewien czas, aby na bieżąco dodawać nowe wiadomości do biblioteki dokumentów w SharePoint (użyto interwał 5 minut). Przy każdym uruchomieniu Job tworzy kopie różnicową wiadomości – przenoszone będą tylko te wiadomości, których data wysłania jest późniejsza niż data ostatniej synchronizacji. Konfiguracja i data ostatniej synchronizacji aplikacji przechowywane są w obiekcie SPPersistedObject (globalnie współdzielony obiekt). Edycja konfiguracji Job’a jest dostępna z poziomu przeglądarki internetowej dzięki zaimplementowaniu dodatku do Centralnej Administracji SharePoint. Aby się tam dostać trzeba uruchomić SharePoint 2016 Central Administration i przejść do zakładki General Application Settings.
Usługa jest kompatybilna z następującymi wersjami Microsoft Exchange:
- Exchange 2010
- Exchange 2010 SP1
- Exchange 2013
- Exchange 2013 SP1 lub nowszy
Warto pamiętać również o tym, że przy dodawaniu daty do SharePointowego pola typu DateTime trzeba konwertować wartość do standardu ISO8601. W przeciwnym wypadku data zapisana w SharePoint pominie strefy czasowe i będzie się różnić od tej widocznej w Outlooku. Najlepszym rozwiązaniem jest użycie metody klasy SPUtility z referencji Microsoft.SharePoint
Przykładowy kod:
folder.Properties["MailSented"] = SPUtility.CreateISO8601DateTimeFromSystemDateTime(dateTime);
Widok listy dokumentów w SharePoint
Po uruchomieniu synchronizatora biblioteka dokumentów wypełni się wiadomościami pobranymi z poczty. Każda wiadomość jest przechowywana jako folder z dodatkowymi metadanymi (treść wiadomości, nadawca, czas wysłania). W każdym folderze jest przechowywany plik z oryginalną treścią wiadomości i załącznikami. Dzięki takiemu rozwiązaniu wszystkie funkcje SharePoint, takie jak wyszukiwarka, będą działać bezproblemowo. Użytkownicy końcowi mają też możliwość edycji załączników oraz ich synchronizacji na komputery poprzez usługę OneDrive for Bussiness.
Przy podwójnym kliknięciu załącznika/folderu zostanie wyświetlone okno modalne, w którym będzie można zobaczyć treść maila lub zawartość konkretnego pliku. Dzięki temu nie trzeba pobierać pliku na dysk komputera, podgląd możliwy jest bezpośrednio w przeglądarce internetowej.
Dodatkowym atutem takiego rozwiązania jest możliwość przeglądania treści przy pomocy exploratora Windows. Zarządzanie w ten sposób danymi przypomina zmapowanie folderu sieciowego. Użytkownicy mogą również w łatwy sposób zarządzać docelowym położeniem wiadomości w strukturze.
Podsumowanie
Stworzone rozwiązanie oparte jest na SharePoint Timer Job, który ma zaimplementowany moduł odczytywania wiadomości z Exchange. Job działa w czasie rzeczywistym – co chwilę sprawdza czy na serwerze pocztowym są nowe wiadomości, a następnie zapisuje je w bibliotece dokumentów na SharePoint. Dzięki temu mechanizmowi można z łatwością zarządzać dużymi ilościami danych, odciążając jednocześnie serwer Exchange. Dodatkowym atutem tego rozwiązania jest możliwość zarządzania wiadomościami z poziomu windowsowego exploratora plików oraz edycji załączników.
Komentarze
Prześlij komentarz