понедельник, 25 марта 2013 г.

Реализация выбора из справочника

Часто при разработке функционала требуется реализовать пользовательский выбор из набора вариантов.

Например, при создании новой заявки нужно выбрать отдел, к бюджету которого относится заявка:

image_thumb_thumb

Есть 2 типа столбца, позволяющие реализовать такой выбор:

  1. Выбор (меню);
  2. Подстановка;
  3. Управляемые метаданные.

Преимущества первого варианта:

  1. Простота настройки – все настройки столбца в одном месте;
  2. Возможность упорядочивания выпадающего списка;
  3. При удалении элемента из справочника выбранные данные сохраняются;
  4. Возможность устанавливать вариант по умолчанию;
  5. Возможность указывать вариант не из списка, ввести с клавиатуры;
  6. Более высокая производительность при большом количестве элементов;
  7. Возможность выбора 1 кликом (в формате переключателей);
  8. Возможность использования в гибких фильтрах (“начинается с” и “содержит”);
  9. Выбор в 2 клика;
  10. Возможность использования в вычисляемых столбцах;
  11. Доступен в SharePoint Foundation;
  12. Возможность навигации для метаданных (в левом меню).

Преимущества второго варианта:

  1. Возможность ведения справочника стандартными пользовательскими средствами;
  2. Ограничение доступа к вариантам выбора через права на список подстановки;
  3. Возможность хранения дополнительных полей списка подстановки (структурированный справочник);
  4. Возможность централизации справочника, использование в нескольких столбцах/списках;
  5. Выбор в 2 клика;
  6. Доступен в SharePoint Foundation.

Преимущества третьего варианта:

  1. Возможность настройки иерархического справочника;
  2. Возможность пополнения справочника в процессе выбора;
  3. Многоязычные справочники;
  4. Возможность подсказок по синонимам;
  5. Фильтрация в результатах поиска;
  6. Возможность навигации для метаданных (в левом меню);
  7. Возможность централизации справочника, использование в нескольких столбцах/списках/сайтах/семействах/веб-приложениях.

Выбирайте, что важнее в конкретном случае и разрабатывайте!

среда, 6 марта 2013 г.

Веб-часть “Сведения о контакте” отображает не всех пользователей

Столкнулся на проекте с тем, что при выборе сотрудника в стандартной веб-части “Сведения о контакте” подстановка пользователя не сохраняется. Веб-часть показывает, что пользователь не выбран:

image

Выяснилось, что так веб-часть поступает только при выборе определенных пользователей. А именно тех, кто ни разу не входил на портал.

Анализ показал следующее: когда в этой веб-части выбирается пользователь, ни разу не входивший на портал, для него в списке пользователей (userinfo) создается запись, причем учетная запись указывается в формате обычной аутентификации, не на основании утверждений. Когда же пользователь входит на портал, ему создается еще одна запись, именно в формате аутентификации на основе утверждений. И после этого становится возможно выбрать его в веб-части “Сведения о контакте”. Причем, если пользователь уже входил на портал и для него создана только учетная запись на утверждениях, то при указании его в веб-части “Сведения о контакте” запись не на утверждениях не создается.

Обходное решение. Добавлять вручную пользователя в список пользователей на семейство сайтов. При этом пользователь добавляется именно в формате аутентификации на основе утверждений (если таковая используется). После этого пользователь нормально выбирается в веб-части “Сведения о контакте”.