ݺߣ

ݺߣShare a Scribd company logo
Решения сообщества для         Качай

SharePoint
        Обзор и рекомендации
                               Исправляй
                               Пользуйся
Баум Виталий
Старший SharePoint разработчик Conteq Ltd
http://butaji.ru
План доклада
• Обзор доступных решений
• Установка и настройка
• Работа с решениями
Где искать решения?
• Тестирование проектов ISV
• Сообщества разработчиков
Категории решений
•   Разработка
•   Диагностика
•   Тестирование
•   Развертывание
•   Элементы управления
•   Шаблоны узлов
Разработка
Разработка: SPVisualDev
Сайт: http://spvisualdev.codeplex.com/
Преимущества:
• Удаленная разработка
• Несерверная ОСь
• Синхронизация в реальном времени
• Работа с пулом, GAC’ом
• Интеграция с WSPBuilder
Разработка: WSPBuilder
Сайт: http://wspbuilder.codeplex.com/
Преимущества:
• Стандарт прозрачной сборки решений
• Расширения для студии
• Автоматизация сборки
Разработка: Installer
Сайт: http://sharepointinstaller.codeplex.com/
Преимущества:
• Стандарт для упаковки решений
Разработка: U2U CAML
Сайт: http://u2u.be/Res/Tools/CamlQueryBuilder.aspx
Преимущества:
• Составление запросов
• Удаленные и локальные запросы
Разработка: Reflector
Сайт: http://www.red-gate.com/products/reflector/
Преимущества:
• Просмотр реализации
• Опасно для нервной системы
Разработка: CAML.NET
Сайт: http://code.msdn.microsoft.com/camlintellisense/
Преимущества:
• Intellisense для CAML
Разработка: CKS
Сайт: http://cksdev.codeplex.com
Преимущества:
• Аьлянс разработчиков с большим
  количеством productivity решений
Разработка: Imtech
Сайт: http://blog.mastykarz.nl/tools/
Преимущества:
• Большой набор утилит для разработки
• 2010: Layouts pages, SPMetal
Разработка: WSS3WF
Сайт: http://wss3workflow.codeplex.com/
Преимущества:
• Шаблоны для форм рабочих процессов
  WSS
Разработка: SPDActivities
Сайт: http://spdactivities.codeplex.com/
Преимущества:
• Отправка письма с вложением
• Запуск другого рабочего процесса
• Раздача прав
• Проверка прав
Диагностика и тестирование
Диагностика: Perfomance
Сайт: http://features.codeplex.com/
Преимущества:
• Настрока web.config (ajax, silverlight)
• Набор masterpage
• Печать листов
• Просмотр логов
Диагностика: FxCop Rules
Сайт: http://sovfxcoprules.codeplex.com/
Преимущества:
• Анализ Best Disposal Practices
• FxCop
• Visual Studio 2008 Team System
  Development Editions
Диагностика: SPManager
Сайт: http://spm.codeplex.com
Преимущества:
• Исследование объектной модели
• Внесение интерактивных изменений
Элементы управления
Компоненты: SmartTools
Сайт: http://smarttools.codeplex.com/
Преимущества:
• Пример разработки элементов
  управления
• Autocomplete
• Интеграция с jQuery
Компоненты: iLove SP
Сайт: http://ilovesharepoint.codeplex.com/
Преимущества:
• PowerWebPart
• PowerShell Scripts
• LookupField with picker
Компоненты: lekman
Сайт: http://lekman.codeplex.com/
Преимущества:
• SharePoint Cache Dependencies
• Unit-tests base-class
Компоненты: Discussion
Сайт: http://mossdiscussion.codeplex.com/
Преимущества:
• Поле «обсуждения»
• Социальная активность
Компоненты: ToolBasket
Сайт: http://sptoolbasket.codeplex.com/
Преимущества:
• Поле рейтинга
• Поле подстановки
• Дизайнер форм
Компоненты: jPoint
Сайт: http://jpoint.codeplex.com/
Преимущества:
• Клиентская модель для SharePoint на
  jQuery
Компоненты: Search
Сайт: http://sct.codeplex.com/
Преимущества:
• Веб-части поиска
Компоненты: CKS
Сайт: http://cks.codeplex.com/
Преимущества:
• Авторизация на формах (FBA)
• Шаблоны UG
• Кастомизация Wiki, Blog, School
Компоненты: PKS
Сайт: http://pks.codeplex.com
Преимущества:
• Работа с аудио
• Видео
• Презентации
• Социализация
Компоненты: RIC
Сайт: http://ric.codeplex.com/
Преимущества:
• Реализация портала на MOSS для
  академических нужд
• «Социализация»
SPRequest
SPRequest
•   Обертка для неуправляемого кода
•   Каждый SPSite имеет свой SPRequest
•   OWSSVR.DLL (IIS ISAPI)
•   /_vti_bin/owssvr.dll
SPRequest
• “Potentially excessive number of SPRequest
  objects (10) currently unreleased on thread
  23. Ensure that this object or its parent
  (such as an SPWeb or SPSite) is being
  properly disposed. This object will not be
  automatically disposed.”
• Не больше 8 SPRequest в потоке
SPRequest
• HKEY_LOCAL_MACHINESOFTWAREMicro
  softShared ToolsWeb Server
  ExtensionsHeapSettings
• Создать ключ
  «SPRequestStackTrace» DWORD равным 1
• «LocalSPRequestWarnCount» = 50
Дизайн, уменьшающий
 количество запросов
Меньшее количество запросов


 Web      Logic     Data
Меньшее количество запросов
public Costumer GetCostumerById(int id)
{
  Costumer costumer;
  using (SPWeb web = new SPWeb(Url))
  {
    costumer = web.Lists["Costumers"]
     .GetItemById(id).ToCostumer();
  }
  return costumer;
}
Меньшее количество запросов
public Costumer GetCostumerById(int id,
              SPWeb web)
{
  return web.Lists["Costumers"]
     .GetItemById(id).ToCostumer();
}
Меньшее количество запросов
public string Title
{
     get
     {
         return GetCostumerById(id,
               SPContext.Current.Web);
     }
}
Анализ ошибок
Нет магическим значениям
• Item[“Sttatus”] != Item[FieldIds.Status]
• web.Lists[“Costumers”] !=
     web.Lists[Lists.Constumers]
Best Disposal Practices
• http://msdn.microsoft.com/en-
  us/library/aa973248.aspx
Best Disposal Practices
public SPWeb MyWeb
{
     get
     {
           using (SPWeb web = new SPWeb(Url))
           {
                return web;
           }
     }
}
Статическая типизация
Статическая типизация
•   Слабая типизация
•   Размазанная логика
•   Зависимости от объектов
•   Большое количество неявных
    зависимостей и потенциаьлных ошибок
Статическая типизация
• LINQ to SharePoint
• Все ограничения CAML
• Все прежние проблемы
Статическая типизация
• Business Connectivity Services
• Статическая типизация
• Стандартные практики .NET стека
Решения сообщества для SharePoint

More Related Content

Решения сообщества для SharePoint