Как я могу синхронизировать информацию о часовом поясе между семействами сайтов SharePoint? - PullRequest
2 голосов
/ 25 августа 2009

Мы создаем большую установку SharePoint 2007 с несколькими сотнями семейств сайтов на четырех региональных веб-приложениях. У нас около 12 000 пользователей, более или менее равномерно распределенных по всему земному шару, и каждый пользователь может посещать множество семейств сайтов - как на своем «домашнем» региональном сервере, так и на других региональных серверах.

Мой вопрос: как мы можем разрешить каждому пользователю устанавливать его / ее часовой пояс один раз, но разрешить синхронизацию часового пояса с каждым семейством сайтов? Кроме того, если пользователь перемещается из одного часового пояса в другой, как мы можем позволить ему / ей изменять часовые пояса и применять изменения ко всем семействам сайтов?

Мы рассмотрели следующее:

  1. Обновление записей часовых поясов через API SharePoint с использованием запланированного процесса. Неуклюжий и медленный - мы бы предпочли, чтобы изменения вступили в силу быстрее, и наши окна обслуживания уже довольно малы.

  2. Поместите триггер в таблицу, содержащую информацию о часовом поясе, и используйте хранимый процесс .NET для обновления через API-интерфейс SharePoint. Определенно идет вразрез с лучшими практиками SP.

  3. Создайте рабочий процесс, который позволяет пользователю устанавливать свой домашний часовой пояс, а затем перебирать семейства сайтов, чтобы установить соответствующую информацию о часовом поясе. Похоже, что это работает для существующих семейств сайтов, но новые семейства сайтов не получат настройки.

  4. Сохранение часового пояса пользователя в файле cookie; попросите главную страницу получить cookie и обновить настройку часового пояса текущего семейства сайтов. Может работать, но наши пользователи могут использовать несколько машин, а также мы не будем тратить время на загрузку каждой страницы.

Итак, суть в том, что мы не уверены, что для нас лучший вариант. Любые мысли будут оценены.

1 Ответ

1 голос
/ 25 августа 2009

Я бы предложил основываться на вашей идее печенья:

  1. Сохраните часовой пояс пользователя в его профиле и предоставьте интерфейс для его изменения.
  2. При загрузке страницы, если cookie часового пояса не существует, создайте его на основе значения профиля пользователя.
  3. Сравните значение файла cookie с часовым поясом, установленным в SPContext.Current.Web.CurrentUser, и обновите соответственно.

Поскольку объект SPUser уже существует, и вы можете использовать файлы cookie, чтобы избежать постоянного поиска значения профиля, влияние на производительность должно быть незначительным. Вы можете добавить эту логику на главную страницу или использовать элемент управления делегата для вставки облегченного элемента управления (мои предпочтения).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...