Pull to refresh
2
wolf13h@wolf13h

User

1
Subscribers
Send message
Что то проблемы с форматированием текста вылезли. Скопировал из нотепада и вот так все разъехалось
Извините за грамматические ошибки с этим у меня плохо а ворд не установлен :-). Одним словом. Сложно!!! Результат => непонятно как это вобще может работать. Проще надо быть.
Изначально идея не плохая, но реализация хромает. Раньше вообще все плохо было, особенно с добавление файлов

которые надо включить в солюшн. В данный момент есть WSPBuilder и это уже большое достижение и облегчение в работе.

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

чтолибо и это добавляет новую функциональность.
Думаю надо в начале рассмотреть, что надо сделать в шарепоинт, чтобы добавить функциональность.
1. Обновить DLL ки в GAC. Соответственно сделать сброс IISа или реткракт пулам.Ключевое слово рестарт :-)
2. Обновить содержимеое web.config и возможно скопировать файлы ресурсов. Также если надо, то обновить dll ки в bin

папочке.
3. Папка 12 кудаже без нее. Здесь нас ждет царство XML. Точнее не царство а АД. Суда копируем килограммы файлов.

Фичи, сайт темплейты и т.п. Да и возможно придеться скопировать папку Layouts и во все веб приложениях поменять

виртуальную директорию, чтобы ссылалаось на нее.

Что можно отметить сразу так это размазанность расширения по куче мест. На мой взгляд было бы логичнее все держать

в одном месте. Казалось бы можно просто сделать солюшн с помощью WSPBuider и оно само все сделает. Но здесь нас ждет

суровая действительность, что как обычно, что то сломалось. И начинается беготня по папкам смотреть где что не

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

об ошибках. Например при инсталляции солюшна без прав на контент базу, шарепоинт выведет Object reference ошибку. Что самое

забавное так это сообщение на странице ошибки «решить это проблему с помощью чегототам» которая выводит всякий бред

уж лучше бы сразу ссылку на гугль. В общем основной недостаток так это то что этот механизм не работает как должно.

И не все из вышеперечисленных задач можно решить с помощью солюшена. Да я могу использовать сторонние продукты и

скрипты, но это лишь подтверждает несостоятельность солюшенов. Хотя тут проблема даже не в солюшене а в шарепоинте.

Ведь что такое по сути солюшн. Это архив с файлами и манифестом. В принципе все правильно. Как и должно быть

минимально и просто. Но сама архитектура странновата. Нету гибкого механизма миграции данных. Тоесть если хочеться

поменять фиелды или контент тайпы на живых данных это очень нетривиальная задача.
В общем ситуация напоминает времена DLL Hell и потом о слава богу пришел GAC. У мс уже есть много решений для той

же версионности.
Конечно же, это в основном проблемы разработки, а не проблемы конечного пользователя. Опять же я повторюсь. Сложно

все. Надо много папок. СЛОЖНО. Напоминает C++, я никгода не вернусь с C# на C++ :-) Всегода есть возможность ошибиться и сама

архитектура создает возможность ошибки.
Надо много писать xml, причем очень легко ошибиться. Эти идентификаторы везде и референсы по

ним. Почему нельзя использовать в некоторых местах что то типа неймспейсов. Или вобще сделать все конфигурирование не в xml, а описывать все прямо в C#. Например реализуем ISharepointPlugin. И допустим метод GetAllSiteTemplatesConfigs. Для красоты еще придумать Sharepoint internal DSL. Типа как в StructureMap.
И получиться вместо тонны xml фалов одна дллка у которой и с версиями проблем нет. Все статик фалы в ресурсы дллки кладем. При проблемах с производительностью можно эти ресурсы при инсталяции из длл взять и закешировать в файловой системе. Контент тайпы заменяем на классы C#. Получаем из коробки наследование и т.п. И все опять же храниться в дллке. Эти длл можно динамически подгружать и т.п. Зависимости будут решаться стандартными референсами дллек. Из коробки рефакторинг и компиль тайм ошибки.
В идеале механизм расширений должен удовлетворять следующим требованиям: иметь возможность обновления и

версионности расширений, миграции существующих данных, управления зависимостями.Есть же толковые разработки типа

OSGI en.wikipedia.org/wiki/OSGi. Надеюсь, что возможно в будущем все будет намного лучше в мире шарепоинта.

В данный момент мс пишет MEF www.codeplex.com/MEF. Основная цель сделать стандартный плагин фреймворк.

Например его будет использовать VisualStudio. И учитывая сколько отличных разработчиков мс бросила на этот проект я

уже заранее рад результату. Конечно не факт, что его возможно будет применять в шарепоинт так как здесь веб

специфика но думаю какието идеи вполне применимы.

Ой чо то я разошелся, а толкового ничего и не сказал :-) Конец рабочей недели ждем отдыха :-)
Да вдогонку. Хотелось бы чтобы: 1. выкинули дебильный CAML и дали LINQ. 2. Выкинули фичи и солюшены( это кошмар какой то). Очень надеюсь что в будущем будет что то типа MEF
Статья хорошая понравилась. Но есть пара комментариев:
1. Ну откуда столько ошибок? Это же кошмар куда не кинь всюду клин. Только и успеваешь хотфиксы ставить. Реально есть ощущение, что его пишут в Индии.
2. Работает нормально только под IE.
3. XML hell. Хотите извращений? Тогда шарепоинт для вас. :-) Все на XML забудьте про автоматический рефакторинг и тому подобное.
4. Хотите чтобы вас уволили с работы? Попробуйте пойграться с контент тайпами на продакшн.
5. Я в корне не понимаю многих архитектурных решений. Например зачем контент тайпы сделали в XML_ почему нельзя было использовать понятную модель классов дот нета а потом просто их сериализовать?
После определенного времени использования мое мнение таково. Для интранета то, что доктор прописал если без дикой кустомизации, для интернета однозначное нет.
Вот запись в моем блоге
Saturday, March 24th, 2007
Конференция независимых разработчиков
Вот есть идея. Провести конференцию независимых разработчиков. Суть кратко такова. Цель позволить независимым разработчикам обменяться информацией + хорошо отдохнуть на природе. Есть деревня на севере Карелии. Возможно договориться со школой по питанию и предоставлению помещений для выступлений, докладов и т.п. Жилье для участников по домам у местных жителей или в палатках. Поставить спутниковый 2-х сторонний интернет и несколько wifi точек доступа в палаточном городке. Вечерами по выходным и т.п. можно договорится с местным спорт клубом. О аренде байдарок и т.п. Возможно сплавы под наблюдением инструкторов. Прикольно было бы такое замутить.

Если найти достаточно желающих и возможно инвесторов, а также человека который мог бы уладить все организационные вопросы.
Итого есть место, помещения под выступления, договор со спорт клубом.
Надо точки доступа и инет.А также желающие.
Кому интересно пишите в комменты на http://hodzanassredin.livejournal.com/

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity