2009-08-24 2 views
2

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

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

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

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

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

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

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

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

ответ

1

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

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

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

+0

Спасибо, мы попробуем. – Roger

Смежные вопросы