Radi Atanassov

SharePoint MCM, MVP, MCT and owner of OneBit Software

SharePoint 2010 Ignite Training - Вторник

Денят започна с интересни работи – лекция относно промените в интерфейса и въвеждането на Ribbon Toolbar в SharePoint 2010. Wouter посочи проблемите в SP 2007 – команди навскъде, различни екрани за всичко, излизане от контекст, зареждане и post-back за всеки нов екран.

Отделно, крайните потрябители искат да подменят „страниците“ на своя портал. За да се случи това е необходимо да се мине в Edit mode, да се добави “web part”, и примерно да, се посочи URL на картинка.  Процесът е сложен и в никакъв случай приятен за работа на потребители, за които SharePoint e нещо ново. A и какво е това „web part” или „URL”??

Веднага си пролича и инвестицията на Майкрософт в този проблем. SharePoint 2010 предлага плавен интерфейс с по-свободни преходи и по малко екрани.

·         SharePoint 2010 предлага Ribbon Toolbar като този в останалите продукти от Office пакета. Този Ribbon е познат на потребителите, еднакъв е навсякъде и е на познато място – няма нужда да се тръсят команди в различните кътове на страницата.

·         Опциите в този Ribbon се променят и според контекста – ако крайният потребител редактира страница, ще се появят опции за пормяна на шрифта и т.н. А ако работи със списък от данни ще се появят опции за редактиране на данните.

·         Dialog Framework – всички нови екрани са под формата на диалогови прозорци и pop-ups. Така крайният потребител на губи фокус от страницата на която работи. Като се затвори прозорецът информацията се подменя чрез AJAX повиквания, и всичко става по приятно за работа.

Следващото нещо, което научих, е въвеждането на „страници“ навсякъде в SharePoint. Майкрософт вярва, че крайните потребители си представят своя портал като колекция от страници, а не колекция от списъци. В SharePoint 2010 се въвежда идеята за страници, които са лесни за промяна и редактиране със съдържание. Редактирането е подобно като в Microsoft Word, и добавянето на картинки е улеснено – потребителят посочва картинка и тя се качва в Site Assets библиотека.

Други интересни неща, които научих относно интерфейса:

·         Всеки сайт може да бъде конфигуриран да се зарежда със стария интерфейс (v3), но се губи плавният начин на работа и е без Ribbon. Това е за потребители на SharePoint 2007, които искат да преминат на 2010, но не са готови да подменят интерфейса на своите решения.

·         Application pages вече може да се редактират от гледна точка на дизайн – това не беше официално в 2007

·         Нещо важно за нашата сцена - инвестиция относто многоезична функционалност. Всеки сайт може да се разглежда в различни езици според избор на крайният потребител. В 2007 всеки сайт се създава за определен език.

·         Нов web part за визуализиране на информация в списъци – XsltListViewWebPart.В 2007 дефинирането на HTML markup в списъците ставаше чрез CAML и ASP.NET Rendering templates. Този нов web part въвежда XSLT за генерирането на HTML markup.

След кратка пауза запоянахме лабораторно упражнение, в което създавахме нови менюта в новият Ribbon.

Денят продължи с разглеждането на промените в дефинициите на списъците. Нещата, които запомних са следните:

·         Списъци вече поддържат връзки с други списъци – Joins и Relationships между списъци

·         Projected fields – полета от parent списък видими в child списъка. Пример: ако foreign key е ID, да се добави Name, така че да има смисъл за крайните потребители. За съжаление, projected fields са read-only...

·         SPQuery обекта има .Join и .ProjectedFields притежания

·         Подобрени възможности за списъци с много данни, като системата вече има горни граници на броя на редовете върнати от завки. Тази настройка се конфигурира от нашите IT PRO колеги.

·         Полетата в списъците вече може да се конфигурират, така че да съдържат само уникални стойности. Проверката става на SQL collation ниво.

·         Полета също могат да имат и валидация, min max и т.н.

·         Валидация също може да се конфигурира на ниво списък – примерно, да няма резултат с цифри в заглавието след определена дата, освен ако не е създаден от управител.

Според мен подобренията в списъците са значителни, и много от проблемите в 2007 са преодолени. Струва си да кажа, че горните граници на списъците ще променят начините, по които създаваме решения на база на списъци. Кода така трябва да се напише, че да работи когато броят на редовете достигне границата. SharePoint ще хвърли exception... Ще имам едно на ум когато пиша и разглеждам код за проверка. Едно качествено решение трябва да ги вземе тези неща в предвид.

Последната тема за денят беше LINQ to SharePoint. Трябва да си признаем, работата с CAML не е от най-лесните. Създаването на CAML Queries в код е досадно – работи се с много String обекти, синтаксисът на самия CAML е опасен, всичко е текст който описва обекти, вместо истински обекти в IDE-то.

LINQ решава подобни проблеми като генерира proxy обекти. В случая с SharePoint, LINQ to SharePoint започва с генерирането на обекти от списъци. След като тези обекти са генерирани може да се създаде DataContext и да се пишат заявки директно в кода на база на LINQ синтаксис. Работата със списъци се улеснява, като и Update операциите са покрити.

Обекти се генерират с SPMetal. Това е малка програмка за конзоли, на която се посочва списък и изходен файл. SPMetal поддържа и свързани списъци.

След лабораторното упражнение и тежкият ден, десетина от нас ентусиазти се почерпихме с жива вира и мазно ядене...

Линкове към останалите дни:

SharePoint 2010 Ignite Training - Понеделник
SharePoint 2010 Ignite Training - Вторник
SharePoint 2010 Ignite Training - Сряда
SharePoint 2010 Ignite Training - Четвъртък
SharePoint 2010 Ignite Training - Петък

BCS и Microsoft Synch Framework са част SharePoint Foundation 2010

Днес научих, че BCS и Microsoft Synch Framework са част SharePoint Foundation 2010!

Това прави SharePoint Foundation 2010 изключително силна платформа, дано да е все още на достъпни цени. Надявам се, възможностите за интеграция да не са ограничени. За България това е важно, защото WSS v3 решения са често срещани тук, а сега може (след upgrade) да ги свързваме с други системи чрез платформени функции вместо изцяло свободно разработване на интеграционни интерфейси.

Ето и линк до MSDN: http://msdn.microsoft.com/en-us/library/ee539826(office.14).aspx

SharePoint 2010 Ignite Training - Понеделник

Седмицата в Берлин за съжаление приключи, и отново се намирам сред хаотичната обстановка на столицата ни. Ignite беше уникално преживяване и все още не мога да смогна на всичката информация която Wouter van Vugt ни наливаше в ушите. SharePoint 2007 е едно огромно чудовище с много възможности, но SharePoint 2010 просто повдига възможностите на съвсем ново ниво.

От гледна точка на development, ето какво научих през първият ден на обучението:

·         SharePoint 2010 Developer Dashboard – опция, която показва статистики и информация относно зареждането на избраната ASPX страница и всички компоненти по нея. В 2007 събирането на подобна информация беше сложно. Този Developer Dashboard показва неща като life-cycle на самият Request, броят и времетраенето на повикванията към базата данни, и времетраенето на методите на web parts. Подобна информация е сравнително сложно да се извлече в SharePoint 2007

 

·         Visual Studio 2010 (beta) – веднага си пролича, че инвестицията на Майкрософт в инструментите за разработчици е огромна. Чуха ни слава богу! Мойто мнение за 2007 е, че е developer unfriendly... за 2010 мога най-накрая да кажа, че сме си близки приятели (: Новите неща са Visual Studio 2010 SharePoint Tools – project и item templates, и възможността да се създават WSP файлове директно от самото IDE. Deploy и build/run операциите са много лесни и няма нужда от допълнителни добавки, като WSPBuilder или VseWSS 1.3 (който така и не излезна от CTP, вече 9 месеца!). Едно много голямо подобрение е импорт на готово WSP, но все още не знам колко е надеждно. Visual Studio 2010 „поддържа“ и designer-based web parts  - web part, който зарежда ASCX control. Нищо особенно. Аз лично очаквах повече, като например нов клас. Другото интересно е SharePoint Explorer, таб който се опитва да покрие това което SharePoint Manager 2007 прави – визуализиране на всичките обекти под формата на дърво. Все още не съм си поиграл с него, но нямам много надежди тъй като излезна SharePoint Manager 2010. Изторията, с attach към worker process също е уредено – натискате F5.

 

·         SharePoint Designer 2010 – Като ентусиазиран девелопер, за мен лично решения на 2007, които имат нужда от SharePoint Designer 2007, не са ми много надеждни. Да се прави девелопмент на production среда не е възможно в Enterprise deployments (а ако е възможно се откажете от проекта (: ). SharePoint Designer 2010 променя нещата – инструмента е подобрен от много гледни точки. Вече промените в SPD могат да се експортват към VS2010 и да се включват в application life-cycle модели (develop, test, deploy, upgrade). Самият workflow designer е много по-мощен и поддържа създаване на workflows в Microsoft Visio 2010, които след това могат да се импортват в SPD. Workflow може и да се експорт в VS2010, а също така да се създаде 1 workflow и да се преизползва в различни списъци – нещо което не можеше да се направи (лесно) в 2007

 

·         Windows PowerShell – SharePoint вече си има собствена конзола базирана на PowerShell. Ако не се лъжа, разликата от обикновенната PowerShell конзола е, че необходимите DLL’s за SharePoint операции са импортнати. PowerShell заменя DOS и VBScript с по-добри възможности за скриптове, и позволява повикването на .NET методи от компилирани библиотеки. Аз го ползвам за да променям properties на SharePoint през обектния модел, както и за автоматизирани deployments.

 

 

·         SharePoint 2010 е подобрен в самият Feature Framework. Вече се подържат версии и upgrade изторията е по-надеждна. А за нас българите е важно и подържането на Application Resource files както си е реда на нещата, в 2007 това беше по-различно от типичният ASP.NET начин и объркваше много локализирането на решения.

 

 

 

·         Sandbox Solutions – Това е deployment модел, в който решението може да се пусне в изолирана, виртуална среда, където може да се следи за проблеми като силно поглъщане на ресурси или забавени зареждания. Изолираната среда може да поеме контрол над нещата и да запази фермата ако се случи нещо нередно. Ние си играхме с memory leaks да го изпробваме...

 

 

 

·         Нови Events – WebAdding/WebProvisioned, разни workflow events, ListAdded/ListAdding,

 

Това не беше всичко, но една голяма част от нещата, които наистина ми направиха впечатление и ги запомних. Скоро ще ви разкажа и за опитите ми с нещата по горе...

Линкове към останалите дни:

SharePoint 2010 Ignite Training - Понеделник
SharePoint 2010 Ignite Training - Вторник
SharePoint 2010 Ignite Training - Сряда
SharePoint 2010 Ignite Training - Четвъртък
SharePoint 2010 Ignite Training - Петък

SharePoint 2010 Beta 2 има нужда от домейн акаунт

За разлика от предипната бета, публичната SharePoint 2010 Beta трябва да се инсталира с домейн акаунт, иначе се появяват проблеми. Ако го инсталирате на виртуална машина, тя трябва да е домейн контролер, или д аима връзка с такъв.

Има и едно друго изискване което ме притеснява - 8GB ram. Аз имам само 4GB на лаптопа.

Други неща, които научих от Twitter:

Линк за теглене за MSDN subscribers: http://go.microsoft.com/fwlink/?LinkID=169606