• Content Type & Site Column - новый уровень абстракции в SharePoint 2007

    Одно из основных новшеств в SharePoint 2007, на мой взгляд, есть введение понятия Content Type.

    SDK его определяет следующим образом: Content types, a core concept used throughout the functionality and services offered in Microsoft Windows SharePoint Services (version 3), are designed to help users organize their SharePoint content in a more meaningful way. A content type is a reusable collection of settings you want to apply to a certain category of content. Content types enable you to manage the metadata and behaviors of a document or item type in a centralized, reusable way.

    Можно рассматривать Content Type как абстрактное описание типа информации, которую предполагается хранить в SharePoint.

    Под описанием подразумевается

    • Набор полей
    • Обработчики событий
    • Workflow
    • Политику аудита
    • Если под информацией подразумевается документ, то шаблон документа (в частности форму InfoPath)
    • И т.д.

    Т.е. теперь можно, с одной стороны, определить тип информации «Договор» и создавать столько библиотек договоров сколько необходимо и не заботится о том, что будет различное описание одной и той же сущности. С другой стороны теперь можно хранить различные сущности в одной библиотеке документов.

    Мощь этого механизма усиливается еще тем, что типы допускают наследование. Т.е. можно создать тип «Документ» в котором определить, скажем, поле политику аудита и какие-то поля, после этого определить типы «Договор» и «Счет» как наследники от «Документа». Т.к. наследование происходит по ссылочному принципу, то существует определенный механизм распространения изменений по цепочке. В SharePoint различают Site Content Type и List Content Type. Первый создается пользователем, второй же создается копированием при создании библиотеки или списка. Т.е. в тот момент, когда создается библиотека или список на основе типа, происходит копирование всей метаинформации. Эта особенность позволяет управлять распространением изменений в базовых типах учитывая информацию хранимую в текущем списке.

    Дл наглядности можно рассмотреть следующую диаграмму

    Помимо Content Type есть еще один механизм повторного использования метаинформации – Site Column.

    Site Column это определение поля на уровне сайта. После того как поле было определенно, оно может быть повторно использовано как в Content Type так и в любом списке.

    Целю данного поста является просто информирование Вас о появлении таких мощных средств упорядочивания метаинформации как Content Type и Site Column. Описание всех особенностей этих сущностей далеко не заканчивается этим кратким обзором. Единственное, что хотел бы еще раз отметить, то что этот механизм является базовым и используется практически во всех составляющих SharePoint 2007.

  • TFS roadmap

    Сегодня анонсировали TFS roadmap.

    Хочу отметить, что это не официальный анонс. Официальная версия будет доступна через несколько недель.

    Servicing

    • Hot fixes – We do hot fixes on demand as customers request them.  We are working on a plan to start publishing all of our hot fixes so that customers can review what is available and download what they want.  This will give more visibility to available fixes and enable customers to eliminate problems before they happen.
    • SP1 – SP1 is already in Beta and will be released in the coming months.  It includes approximately 100 bug fixes and a sprinkling of new features, including Work item custom controls, “Extranet support”, Office 2007 support, some perf & scale improvements, detailed merge history and the ability to move SQL2005 Analysis Server to a different server.
    • Vista GDR – This is what I am calling the set of fixes Soma talked about when he announced the availability of the SP1 beta.  These fixes will allow VS2005 to fully support Vista and will likely include a roll up of hot fixes, etc between SP1 and the Vista GDR.

    TFS Power Tools

    So far our Power Tool releases have been popular and we plan to continue to use them as a vehicle for delivering new value to customers every few months.  We don’t plan them way in advance – generally only 2 to 3 months ahead of time, so I can’t give a clear long term vision of where we will go with them.  They are designed to be a very customer responsive way to deliver value, so we’ll be using them to deliver the things you want most (and don’t require us to change the core product bits).  We’ll likely continue to deliver cool end user functionality as we have (like Annotate, the TFS MSSCCI Provider, Tree Diff, etc).  We are also looking to expand the Power Tools to include some features for project managers and operations staff.

    With that context, here are some things we are looking at doing in the near term:

    • MSSCCI Provider Improvements – Every few months we release bug fixes and other enhancements to the TFS MSSCCI provider.  We have another release coming in Nov/Dec that will add support for TOAD (Tools for Oracle Application Development) and branched projects.  We’ll continue to expand the list of supported IDEs and add small features.
    • Operations tools – We are pulling together a set of tools we use internally for server monitoring, capacity planning, performance tuning and problem diagnosis.
    • Process Template Editor – A tool to provide UI for authoring work item types and some of the associated Process Template components.  Over time we expect this work to be folded into a Major release but we’re not sure when.
    • Checkin policy pack – We’re looking to create a set of handy checkin policies to address needs customers have expressed.
    • Report pack – We’ve accrued a portfolio of additional cool reports that we’ve built.  We’re planning on releasing these as samples that customers can use and customize.
    • Work item templates – We’ve built a cool feature for internal use that allows you to define pre-filled out work item templates to reduce the amount of data entry for every new bug that you enter.
    • Vista Side bar widget – We’re building an easily accessible way for keeping up to date with what’s going on in your projects as a Sidebar tool.
    • And this is just a start – expect more stuff every few months.

     

    Major Releases

    Orcas

    Overall, Orcas is a “minor” release for TFS.  Partly this is mandated by the fact that TFS shipped later than the rest of VS in the 2005 wave.  We want to sync back up for the Orcas wave and that means doing less.  Our goal for the Orcas release of TFS is to make it an “adoption focused release”.  We are allocating most of our time to removing issues that customers have told us hamper their adoption.  As a result, in the feature list below, you’ll see an emphasis on administration, operations & setup.  Features in other areas are also focused on removing adoption inhibitors.  The biggest “new scenario” we are aiming to enable in Orcas is out of the box Continuous Integration.  In the release after Orcas we will turn our focus back to enabling major new scenarios.

    A while ago, we committed to begin sharing specs with the community early in the process for people to provide feedback on.  We’ve been working out the logistics for that.  In the mean time we’ve been using the Power Tools and blogs to preview what we are doing.  In the next few weeks, we are going to being trickling a few specs to the web and I expect that will accelerate over time.

    Here are the TFS features that we currently believe will be in Orcas.  Please understand that this is not a commitment to do these.  As with any software product, features are reprioritized over time to meet delivery criteria, which means plans can change.  However, this is our best effort to predict what will make it.  We’ve got a few other things in the oven that I’m not quite ready to talk about yet.

    Administration, Operations & Setup

    ·         Upgrade from TFS 2005

    ·         Share Point 2007 support

    ·         Enable use of a separate Share Point farm.

    ·         “Longhorn” server support – TFS will support the next version of the server (and corresponding new version of IIS) that is currently under development.

    ·         Sync Large Groups – This is a set of work to improve the performance and robustness of TFS’s handling large groups of users (~30,000 or more) granted permission to a TFS instance.  Today this can result in a support call to recover from it.

    ·         Support for SQL Named Instances – This will allow customers to share a SQL server between multiple TFS instances, or with other applications.  This has been a commonly requested feature by enterprises.

    ·         Installation on a domain controller – TFS will support installation on a domain controller.  This has been a fairly common request from smaller organizations who don’t have the budget for special purpose servers.

    ·         Improvements to TFS Trial – We’ll plan to improve the trial experience to include warnings as expiration approaches.

    ·         Non-default ports & web sites – We’ve gotten a bunch of feedback from enterprise customers about TFS’s limited support for alternate web sites and ports running afoul of data center policies.  We are going to be improving TFS’s configurability in this respect in Orcas.  We won’t be getting everything everyone has asked for but we should make some significant progress.

    ·         Simplify installation – In Orcas, we will be doing a variety of things to attempt to make installing TFS easier and quicker than it is now.  The most significant of them is simplifying the requirements around required domain accounts by supporting the built in machine accounts (like Network Service) where we can.

    ·         Support for client certificates

    Build

    ·         Support multi-threaded builds with the new MSBuild.

    ·         Continuous Integration – There are many components to this, including build queuing and queue management, drop management (so that users can set policies for when builds should be automatically deleted), and build triggers that allows configuration of exactly how when CI builds should be triggered, for example – every checkin, rolling build (completion of one build starts the next), etc.

    ·         Improved ability to specify what source, versions of source, etc to include in a build.

    ·         Improved ability to manage multiple build machines.

    ·         Simplified ability to specify what tests get run as part of a build

     

    Data Warehouse

    ·         Add support for checkin policy overrides to the warehouse (an oversight from V1).

    Migration

    ·         Migration toolkit – Orcas will include a toolkit for building conversion and mirroring solutions between TFS and other systems.  In addition, we will release one or more new tools to integrate with popular alternative systems.  We expect to release some of these on our Power Tool train before Orcas and will roll them into a post-Orcas release.

    Version Control

    ·         Annotate – This is based on the TFS Annotate Power Tool but includes numerous improvements.

    ·         Folder Diff – Also based on the TFS Tree Diff Power Tool with numerous improvements.

    ·         Destroy – The ability to permanently delete version control files/folders from TFS.  It can also be used to destroy the file contents while preserving the change set history.

    ·         Get Latest On Checkout – There have been many requests for this feature (which was a change in behavior from SourceSafe).  There is now an option that allows you to specify that you want TFS to download the latest version of files when you check them out.

    ·         Workspace improvements – Workspaces will now support mapping a folder or file under a cloaked folder and wildcard mappings so that you can map all files in a folder without mapping sub folders.  Based on experience with large projects, this will simplify workspace definitions for many people.

    ·         Performance improvements – A variety of Version Control performance enhancements that will improve virtually all aspects of version control performance.  The gains for smaller servers/projects (< 10,000 files) will be modest.  The gains for larger projects (particularly where the file count approaches 100,000’s) will be substantial.

    ·         Scale improvements – Fixed out of memory problems on the server when operating on more than a few hundred thousand files at a time.

    Work Item Tracking

    ·         Performance & Scale improvements – A variety of improvements that will make both the work item server and client faster and able to handle larger servers.

    Bug fixes

    ·         In addition to all of the feature work, we’ve spent months testing the product and fixing any bugs we’ve found.  We expect Orcas will have even better stability and robustness than TFS 2005.

  • Заметка о параметризации документов Office 2007

     

    Довольно часто встречается ситуация, когда необходимо регулярно подготавливать документы по стандартным шаблонам. Office 2007 и SharePoint 2007 позволяют упростить этот процесс добавляя возможность сделать документы параметризованными, в итоге давая нам возможность выносить часть информации из документа в виде столбцов библиотеки документов, что в свою очередь позволяет нам редактировать ее и анализировать не прибегая к открытию документа.

    Рассмотрим все по порядку

    Content Controls

    Самой по себе довольно интересной, на мой взгляд, выглядит такая новая функция Office 2007 как Content Controls.

    Content Controls это контейнеры для специфичной информации, которая требует контроля на этапе редактирования документа. В качестве содержимого может выступать дата, текст, блок форматированного текста и т.д.

    Визуально в документе это выглядит следующим образом

    При этом такие элементы не являются ActiveX контролами в понимании Office 2003 со всеми вытекающими.

    При этом существует возможность запретить удалять или редактировать такие элементы, что позволяет создавать шаблоны для определенного вида документов с пред заданным содержанием (например disclaimer)

    Интересным частным случаем является так называемые Building Blocks, которые позволяют сохранить часть форматированного текста в виде Quick Part, что позволяет в дальнейшем повторно использовать эти блоки, сохранив их в шаблоне документа.

    Волшебное преображение

    Если вы используете Microsoft Office SharePoint 2007 в качестве среды совместной работы, то Content Controls волшебным образом расширяют свои возможности.

    Это заключается в том, что появляется возможность связать колонки библиотеки документов и отдельные Content Control-ы вашего документа.

    Как это происходит.

    1. Создаем библиотеку документов

    2. Добавляем в библиотеку колонки

    3. Переходим в свойства библиотеки и открываем шаблон документа для редактирования

    4. В шаблоне документа вставляем в нужные места те поля, для которых мы создали колонки в библиотеке

    5. Сохраняем шаблон

    6. Создаем документ из этой библиотеке (на основе созданного шаблона)

    7. Заполняем все поля (через Information Panel или в самом документе, что суть одно и тоже)

    8. И сохраняем документ в библиотеку

    В итоге наши поля отобразились на колонки. Более того...редактирование свойств данного элемента библиотеки через MOSS приводит к изменению данных в документе.

    Параметризация документов, однако.

  • Заметка о документах. Информационные политики

    Рассказ о Information Policy я начал в посте об аудите тут я хотел сделать небольшое дополнение.

    Стандартными возможностями информационных политик являются

    • Аудит
    • Время жизни записи (элемента списка или документа)
    • Метки
    • Штрих код

    Наиболее необычные, на мой взгляд, опции это метки и штрих код. И то и другое оказывает влияние непосредственно на сам документ, который попадает под эту политику. По сути что метка что штрих код несут один и тот же смысл...зафиксировать в бумажном документе некоторый уникальный идентификатор, по которому этот бумажный документ можно было бы в последствии идентифицировать. Причем пользователь будет явно видеть, скажем в Word, placeholder для первого или второго. По умолчанию эти функции работают с 2007 офисом, но есть некоторый 2007 Microsoft Office system add-in который по идее должен вносить этот функционал в 2003 офис, но тут я не уверен.

    Помимо всего прочего есть возможность создавать свои правила информационных политик.

    Делается это, как и многое в 2007 версии SharePoint, через определенную feature. Подробнее об этом можно почитать тут

  • Managed код в InfoPath 2007

    Известный факт, что InfoPath 2003 требовал от формы Full Trust разрешений для того, чтобы форма могла содержать managed код. В InfoPath 2007 это ограничение снято, теперь вполне можно писать свой код на C# и при этом задавать уровень безопасности Domain (при этом правда, форма должна быть опубликована в зоне intranet).

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