четверг, 31 декабря 2009 г.

Hide SharePoint UI element’s

При работе довольно часто возникает необходимость скрыть элементы пользовательского интерфейса, например элемент выбора представления у списка. Как всегда конечного результата можно добиться несколькими путями:

  • Правкой кода страницы (SharePoint Designer)
  • Правкой определения узла и соответственно страниц
  • Переопределением css class’a (display: none;)
  • Установкой атрибута display с помощью JavaScript

Рассмотрим последние 2 варианта как самые универсальные и не затратные.

Тут все просто на странице переопределяете нужный класс CSS и все работает.

JavaScript позволяет достичь еще более точного применения, например скрыть отдельный элемент.

Как правило этот код можно ввести на страницу с помощью веб части редактор содержимого. Однако в некоторых случаях приходиться использовать SharePoint Designer.

четверг, 24 декабря 2009 г.

Выпадающее меню в WSS

Всем хорош WSS однако бывает мало функционала, один из вопросов как включить выпадающее меню как на портале? Собственно просто, подробности тут. http://sharingpoint.blogspot.com/2007/02/wss-v3-drop-down-menus-in-team-sites.html

понедельник, 30 ноября 2009 г.

SharepointImport tool

 

Описание

Данная программа предназначена для переноса данных из файлов XML, которые попадают в папку в файловой системе, в список SharePoint. Обеспечивается наблюдение за появлением файлов в указанной папке и перенос данных в 2 режимах:

  • Добавление нового элемента
  • Обновление существующего элемента

Домашняя страница

http://sharepointimport.codeplex.com/

Состав пакета

  • app.config – исходный файл конфигурации приложения
  • bin – папка с исполнимыми файлами
  • ClassDiagram.cd – диаграмма классов решения
  • example.stp – шаблон списка SharePoint
  • example.xml – Пример файла с данными для импорта
  • MoveData.cs - исходный файл с основным кодом приложения
  • MoveToSPList.csproj – проект приложения MSVC 2008
  • Program.cs - исходный файл
  • Properties – служебная папка проекта
  • Руководство пользователя.docx – этот файл

Системные требования

.NET Framework 3

WSS 3.0 или MOSS 2007

Установка

Просто запустите приложение, находящееся в папке bin\Debug, предварительно вам необходимо настроить файл MoveToSPList.exe.config в соответствии с рекомендациями в секции настройка.

Внимание запуск утилиты должен производиться на машине на которой установлен сервер SharePoint.

Настройка

Настройка приложения производиться с помощью файла конфигурации приложения MoveToSPList.exe.config.

Ниже будет приведен полный текст этого файла, в нем так же присутствуют комментарии описывающие каждый настраиваемый параметр.

Внимание при указании полей списка SharePoint, указывайте внутреннее имя поля (InternalName), на снимке экрана ниже показано как его узнать.

clip_image002

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<configSections>

<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >

<section name="MoveToSPList.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />

</sectionGroup>

</configSections>

<applicationSettings>

<MoveToSPList.Properties.Settings>

<!-- Папка за которой следим -->

<setting name="WatchedFolder" serializeAs="String">

<value>c:\temp</value>

</setting>

<!--Сопоставления полей, сначала идет внутреннее имя Sharepoint, после идет название поля в XML файле -->

<setting name="MappingDictionary" serializeAs="Xml">

<value>

<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<string>Title=Name</string>

<string>ID0=ID</string>

</ArrayOfString>

</value>

</setting>

<!-- Адрес узла на котором расположен список -->

<setting name="SharepointUrl" serializeAs="String">

<value>http://localhost</value>

</setting>

<!-- Имя списка в который вставляются данные -->

<setting name="SharepointListName" serializeAs="String">

<value>Example</value>

</setting>

<!-- Ключевое поле в списке шарепоинт, используется внутреннее имя -->

<setting name="SharepointKeyField" serializeAs="String">

<value>ID0</value>

</setting>

<!-- Имя ключевого аттрибута в импортируемом файле -->

<setting name="XmlKeyField" serializeAs="String">

<value>ID</value>

</setting>

</MoveToSPList.Properties.Settings>

</applicationSettings>

</configuration>

Fast clean SPItems

Задача: быстро очистить список от большого количества элементов.

Решение: Будем использовать пакетное удаление элементов из списка.

private static void ClearList(SPList list)

{

string xmlCaml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Batch>";

string itemNode = @"<Method><SetList Scope=""Request"">" + list.ID +

"</SetList><SetVar Name=\"ID\">{0}</SetVar><SetVar Name=\"Cmd\">Delete</SetVar></Method>";

foreach (SPListItem item in list.Items)

xmlCaml +=

string.Format(itemNode, item.ID.ToString());

xmlCaml +=

"</Batch>";

list.ParentWeb.ProcessBatchData(xmlCaml);

}

Разница между этим методом и последовательным удалением элементов огромная и скорость при увеличении количества элементов падает по линейному закону. Так что крайне рекомендую для очистки списка использовать именно этот код.

суббота, 10 октября 2009 г.

Application Templates for Windows SharePoint Services 3.0 and language mistake

Для шарепоинта существуют целые наборы типовых решений предоставляемых самой компанией Microsoft

http://technet.microsoft.com/ru-ru/windowsserver/sharepoint/bb407286.aspx

Только нужно обратить особенное внимание на язык решения :)

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

Так вот обращайте внимание на детали. Первая ссылка на этой странице указывает на 40 шаблонов на АНГЛИЙСКОМ языке.

А вот ссылка на 20 шаблонов содержит именно локализованные версии.

Разобрались с этим только после всего цикла троблешутинга, были перевернуты и логи системы и шарепоинта и разные версии WSS. Веселья было много. В конце концов я просто посмотрел солюшены и НЕ обнаружил там ветки 1049, которая собственно и указывает на наличие русского языка.

Так что внимательно читайте странички.

пятница, 25 сентября 2009 г.

Stsadm backup with current date

Основной синтаксис команды такой

stsadm -o backup

   -url <URL name>

   -filename <file name>

Нам нужно добиться создания архивных копий с датой в  названии файла.

stsadm –o backup –url http://localhost –filename stbackup_%DATE%.bak

получиться имя файла stbackup_25.09.2009.bak.

Кроме этого можно использовать переменную %TIME% содержащую текущее время

суббота, 5 сентября 2009 г.

Windows 7 & Vista prolongation key period

Microsoft встроила в Windows Vista (также и в Win 7 ) функцию, которая позволяет пользователю продлевать срок начального льготного доактивационного периода не три раза, а намного больше. Та же самая команда, которая продлевает срок активации Vista до 120 дней может быть использована неограниченное количество раз после замены ключа реестра.Эта процедура не хакерская уловка и не требует никаких инструментов или утилит вообще и, более того, документирована Microsoft, на ее сайте Technet.МетодикаШаг 1. В запущенной Windows Vista, которая не была еще активирована, щелкните кнопку Start, напечатайте regedit в строке Поиска, затем нажмите ENTER, чтобы запустить Редактор реестра.Шаг 2. Перейдите к ключу реестра:HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ SLШаг 3. Шелкните правой кнопкой мыши на SkipRearm и выберите Edit. Установленное значение по умолчанию - Dword с значением 00000000. Измените это значение на любое положительное целое число, например, 00000001, сохраните и закройте редактор реестра.Шаг 4. Запустите командную строку с правами администратора.Шаг 5. Напечатайте одну из следующих двух команд и нажмите ENTER:slmgr -rearmилиrundll32 slc.dll,SLReArmWindowsЭти команды используют встроенный в Windows Vista Менеджер лицензий (SLMGR), который по умолчанию дает 30 дней доактивационного периода. Изменение ключа SkipRearm с 0 на 1 (с 00000000 на 00000001) позволяет менеджеру лицензий SLMGR проделывать процедуру сброса счетчика неограниченное количество раз! Изменение значения ключа SkipRearm с 1 на 0 возвращает SLMGR к исходному состоянию.Шаг 6. Перезагрузите компьютер, чтобы изменения вступили в силу.Всё это применимо и в Windows 7.В Win 7 этот ключ находится здесь: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \SoftwareProtectionPlatform

пятница, 14 августа 2009 г.

Deploying Reports in Integrated Mode

Задача: опубликовать отчет созданный Reporting Server в Sharepoint document library Решение: Использовать FeatureReciver и в момент активации изменить файлы Исходник тут http://blogs.devhorizon.com/reza/?p=745

пятница, 7 августа 2009 г.

Open edit link in new window

Задача: Обеспечить открытие ссылки редактирования /просмотра элемента в новом окне

Решение: с помошью SharepointDesigner добавить следующий код в страницу представления списка.

<script type="text/javascript">
        var hrefs = document.body.getElementsByTagName("A");

        for (bb = 0; bb < hrefs.length; bb++) {
            if (hrefs[bb].href.indexOf("ItemsInOrder") != -1) {
                hrefs[bb].onclick = "";
                hrefs[bb].onblur = "";
                var str = hrefs[bb].href;
                hrefs[bb].href = "javascript:open('" + str + "'); void(0);";
                hrefs[bb].target = "";
            }
        }
    </script>

Open edit link in new window

Задача: Обеспечить открытие ссылки редактирования /просмотра элемента в новом окне Решение: с помошью SharepointDesigner добавить следующий код в страницу представления списка.

<script type="text/javascript"> var hrefs = document.body.getElementsByTagName("A");

for (bb = 0; bb < hrefs.length; bb++) { if (hrefs[bb].href.indexOf("ItemsInOrder") != -1) { hrefs[bb].onclick = ""; hrefs[bb].onblur = ""; var str = hrefs[bb].href; hrefs[bb].href = "javascript:open('" + str + "'); void(0);"; hrefs[bb].target = ""; } } </script>

четверг, 23 июля 2009 г.

SharePoint 2007 Custom Fields and “Edit property on server”

Возникла проблема: при добавлении  Custom Field в библиотеку документов появилось предупреждение:

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

Поиск по русскому интернету ничего не дал, тогда пришлось найти откуда WSS берет это значение, оказалось из файла

12\Config\Resources\wss.ru-ru.resx

и ключа fldedit_FieldTypeWarningForDocLibSupport

соответственно предупреждение на английском выглядит так

This field type cannot be edited from most client programs and might block the programs from saving documents to this library.

И решение сразу нашлось вот здесь

http://nickgrattan.wordpress.com/2008/01/06/sharepoint-2007-custom-fields-and-edit-property-on-server/

Expression Blend 3 released!

Домашняя страница этого продукта и описание возможностей можно прочесть на странице продукта http://www.microsoft.com/expression/products/Blend_Features.aspx

среда, 22 июля 2009 г.

WSS Accounting

На данный момент разрабатывается система бухгалтерского учета. Это обзор предстоящих возможностей. Кратко возможности:

  1. Экспорт данных из внешних программ (ADO, Excel, ODBC, XML)
  2. Удобная работа с заказами в привычном интерфейсе WSS
  3. Малые затраты на внедрение решения
  4. Возможности составления отчетов и отправки их по электронной почте.
  5. Локализация решения (В данный момент 3 языка)
  6. Работа с заказами в представлении таблицы.

В общем лучше один раз увидеть.

http://yappi.biz/capture-1.avi

Сейчас продукт находиться в состоянии внутренней разработки (PRE Beta), поэтому ваше мнение будет очень важно.

Если вы заинтересовались этим решением свяжитесь со мной.

ICQ: 77391439

SKYPE: fire-dragon77 

E-mail: koroten@ya.ru

Ниже приведено руководство пользователя, с описанием текущих возможностей.

Оглавление

Введение. 1

Использование. 1

Списки на сайте. 2

Списки. 2

Словари для подстановки. 2

Страницы на сайте. 2

Руководство по типичным операциям.. 3

Как просмотреть созданный заказ. 3

Как создать заказ. 3

Как добавить нового пользователя. 3

Как добавить нового пользователя при создании заказа. 4

Введение

Система «WSS Бухгалтерский учет» предназначена для составления коммерческих предложений и отправки их заказчикам. В основе этой системы лежит платформа Microsoft Windows SharePoint Services или Microsoft SharePoint Office Server. Для пользователя системы есть следующие возможности:

· Создание заказа

· Добавления товаров в карточку заказа

· Поиск по словарю импортированных товаров (с выбором поля поиска)

· Копирование существующего заказа

· Создание и управление записями в адресной книге

· Возможность просмотра группы заказа в общем представлении

· Разграничение доступа к карточкам заказа на уровне групп на сайте

· Табличное представление для быстрого редактирования элементов заказа

· Предварительный просмотр составленного заказа в виде отчета

· Отправка коммерческого предложения по почте

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

Использование

Для начала работы вы должны зайти на основную страницу системы «WSS Бухгалтерский учет», если вы не знаете адреса, где установлена система, уточните этот адрес у вашего системного администратора. В дальнейшем в этом руководстве будет приводиться адрес http://wss:90/buh как адрес системы. При открытии этой страницы вы увидите приветственное окно системы.

clip_image002

На этом снимке экрана отмечены следующие ключевые элементы:

1. Адрес сайта системы

2. Имя пользователя системы

3. Выпадающее меню для создания нового заказа

4. Краткая справка пользователю

Списки на сайте

Списки

· Contacts - адресная книга

· Links - ссылки на сайте

· Orders - список заказов

· ItemsInOrder - список товаров в заказах

Словари для подстановки

· ItemsCategory - категории товаров

· Items – товары импортированные из внешней системы

Страницы на сайте

Руководство по типичным операциям

Как просмотреть созданный заказ

На главной странице вы сайта щелкните по нужному элементу в списке, после этого на карточке заказа, перейдите по ссылке “Show Report”

clip_image004

Как создать заказ

На главной странице щелкните по ссылке «Создать элемент»clip_image006

Как добавить нового пользователя

Перейдите по ссылке Contacts, на главной странице системы.

clip_image008

Как добавить нового пользователя при создании заказа

При создании нового заказа вы можете, создать нового пользователя щелкнув на ссылку.

clip_image010

воскресенье, 19 июля 2009 г.

Move to display form after create element

Задача: после добавления нового элемента перейти на форму редактирования

Решение: Создаеться EventReciver и добавляется следующий код. На что особенно следует обратить внимание. Ни каким кастомайзингом вы этого не добьетесь, в момент щелчка по кнопке OK просто нет идентификатора записи поэтому и переходить некуда.

Это решение позволяет избежать этой ситуации.

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

public override void ItemAdding(SPItemEventProperties properties)
        {
            // Get a "reference" to the list

           
            SPSite siteColl = new SPSite(properties.SiteId);
            SPWeb site = siteColl.OpenWeb(properties.RelativeWebUrl);
            SPList list = site.Lists[properties.ListId];

// Вызываем базовый метод и ничего не делаем, если это не наш список
            if (!list.DefaultViewUrl.Contains("Lists/Orders"))
            {
                base.ItemAdding(properties);
                return;
            }

// А вот тут идет обработка перехода с конкретной страницы, ну не нужен мне этот обработчик везде :)
            if (_currentContext.Request.CurrentExecutionFilePath.Contains("CopyListItem.aspx"))
            {
                base.ItemAdding(properties);
                return;
            }
            // Add the item and fill it with the values from properties
            DisableEventFiring();           
            SPListItem itemToAdd = list.Items.Add();
            foreach (SPField field in itemToAdd.Fields)
            {
                if (!field.Hidden &&
                    !field.ReadOnlyField &&
                    field != null &&
                    field.InternalName != "Attachments")
                {
                    itemToAdd[field.InternalName] = properties.AfterProperties[field.InternalName];
                }
            }
            itemToAdd.Update();
            EnableEventFiring();

            // Cleanup
            site.Dispose();
            siteColl.Dispose();
            string targetUrlOfNewItem = "DispForm.aspx?ID=" + itemToAdd.ID;
// ВАУ а вот тут Особая уличная магия :)

            // Redirect
            SPUtility.Redirect(targetUrlOfNewItem,SPRedirectFlags.Default, _currentContext);
        }

How do I get a user name in sharepoint

Задача: Определить имя текущего пользователя и выбрать его в выпадающем списке.

Решение: С помощью SharePoint Designer’a вставляем код JavaScript в файл newform.aspx.  

<!-- Определяем пользователя -->
<script type="text/javascript">
var username = getCurrentUser()
selectSender(username);
function selectSender(displayname)
{
var d = document.all.tags("SELECT");
for(i=0; i<d.length; i++)
{

// !NOTE change to you environment.  Field display name = 'Sender'

    if(d[i].title == 'Sender')
    {   
    for(j=0; j < d[i].options.length; j++)
        {
            var s = d[i].options[j];       
            if(s.text == displayname)
            {
                s.selected  = true;
            }
        }
    }
}
}
function getCurrentUser()
{

// выбираем все элементы со сылками и фильтруем по строке приветствия

var tags = document.getElementsByTagName('a');
for (var i=0; i < tags.length; i++)
{
     if(tags[i].innerText.substr(0,7) == 'Welcome')
     {
         return tags[i].innerText.substr(8,tags[i].innerText.length);
     }
     if(tags[i].innerText.substr(0,12) == 'Пользователь')
     {
         return tags[i].innerText.substr(14,tags[i].innerText.length);
     }
}
}
</script>

суббота, 18 июля 2009 г.

SharePoint Web.config Debug Settings

Описание флагов для вывода отладочной информации.

Внимание НИКОГДА не используйте эти настройки на “Боевом” сервере. Скорость работы падает примерно в 10 – 15 раз.

Однако для режима отладки и выявления проблем это именно тот режим, который вам нужен.

 <configuration>
  <SharePoint>
     <!—- отображение дерева вызовов функций -->
     <SafeMode CallStack="true" />
       </SharePoint>
      <system.web>
<!--  Чистый вывод ошибок -->
        <customErrors mode="Off" />
<!--  Включение отладочной информации -->
        <compilation debug="true" />
      </system.web>
 </configuration>

Save you money. Simple way

В предыдущем посте я писал про то как создать колонку SharePoint с уникальным значение. Время затраченное на написание этого проекта составит максимум 1 час.

На сайте http://www.kwizcom.com/ProductPage.asp?ProductID=811&ProductSubNodeID=817

Предлагается похожее по функционалу решение всего за $499 на сервер.

пятница, 17 июля 2009 г.

Sharepoint Unique Column (PK) : Using event handler

Оригинал тут:

http://jpy-tech.com/blog/post/Sharepoint-Unique-Column-%28PK%29-Using-event-handler.aspx

Задача: Обеспечить уникальное значение поля.

Решение: Написать EventHandler и внести логику для проверки введенного значения.

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

Пояснения, после установки этого обработчика, достаточно будет добавить в описание поля метку [$UNIQUE$] и это поле будет проверяться на уникальность.

const string _QUERY = @"<Where><Eq><FieldRef Name=""{0}"" /><Value Type=""Text"">{1}</Value></Eq></Where>"; public override void ItemAdding(SPItemEventProperties properties) { using (SPWeb web = properties.OpenWeb()) { /*get the current list*/ SPList list = web.Lists[properties.ListId]; string columnName = ""; foreach (SPField fld in list.Fields) { if (fld.Description.Contains("[$UNIQUE$]")) { columnName = fld.InternalName; break; } }

if (properties.AfterProperties[columnName] != null) { string currentValue = properties.AfterProperties[columnName].ToString(); SPQuery _query = new SPQuery(); _query.Query = string.Format(_QUERY, columnName, currentValue); SPListItemCollection itemsWithSameValue = list.GetItems(_query); if (itemsWithSameValue.Count > 0) { properties.Cancel = true; properties.ErrorMessage = "There is already an item with the same value(" + currentValue + ") for the column / Field(" + columnName + ") in this list."; } } } }

четверг, 16 июля 2009 г.

Sharepoint localization

Описана процедура использования ресурсов, для создания локализациии ваших проектов на платформе SharePoint

http://blogs.technet.com/tatianasv/archive/2009/03/25/3217498.aspx

среда, 15 июля 2009 г.

E-Book's

Хороший ресурс с электронными книгами. http://www.infanata.org/ Еще конечно много всего на torrents.ru

пятница, 10 июля 2009 г.

Microsoft ISV catalog, IMField already in!!!

Маленькое приятное событие мой продукт добавили в каталог партнерских продуктов компании Microsoft. Ссылка https://solutionfinder.microsoft.com/Solutions/SolutionDetailsView.aspx?solutionid=ad2dfb45f0354cb693004b0a63a9ba09

понедельник, 22 июня 2009 г.

LookupField and SharePoint Solution Generator

При автоматическом создании шаблона определения списка (ListDefinition) для полей типа Lookup создаються определения, но они закомментированы. Решить эту проблему можно раскомментировав эту строку или строки и изменить значение гуида на относительный путь к списку.
Было: List="33333-3333-cccc-ccc-bbbb"
Стало:List="Lists/ListName"
Особенно обратите внимание на русские имена в полях, как я уже говорил русский язык зло.

понедельник, 15 июня 2009 г.

Softpedia rulez

Сегодня пришло сообщение что включили IMField в каталог, заметим я сам ни чего не делал. Приятно !!!! http://www.softpedia.com/get/Internet/Servers/Server-Tools/IMField.shtml

Down

Снова лег diary.ru, что случилось не знаю. Однако мой дневник лег. Засада.

вторник, 9 июня 2009 г.

devenv command line

Столкнулся с очень неприятной штуковиной в MSBuild нельзя собрать пакет wsp для проекта типа VSeWSS, поэтому пришлось вот так вот извращаться:

devenv UserImage.csproj /projectconfig Release /Deploy

понедельник, 8 июня 2009 г.

MSBuild

Несколько ссылок описывающие технологию MSBuild. Основная ценность для меня создание целей для автоматической сборки проектов и формирование дистрибьютива для развертывания.

http://msdn.microsoft.com/ru-ru/magazine/cc163589(en-us).aspx

http://msdn.microsoft.com/ru-ru/magazine/cc163456.aspx#S6

http://msdn.microsoft.com/ru-ru/dd419659(en-us).aspx

http://msdn.microsoft.com/ru-ru/magazine/dd483291.aspx

суббота, 6 июня 2009 г.

Немного развлечений

пятница, 5 июня 2009 г.

IMField project

Это официальная страница проекта IMField http://imfield.codeplex.com/.

Описание

IMField это колонка для Windows SharePoint Services 3.0/ Microsoft Office SharePoint Server 2007. Предназначена для отображения онлайн статуса пользователя в системах мгновенных сообщений (IM).

На данный момент поддерживаются следующие протоколы:

  • ICQ
  • Skype
  • Yahoo
  • Windows Live Messenger (с ограничениями)

Установка

Скачайте программу http://imfield.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30308#DownloadId=75603 распакуйте содержимое архива. Запустите программу setup.exe и следуйте инструкциям.

Настройка

После установки IMField добавьте это поле в ваш список.

createList

setList

Выберите нужный тип поля (1) и нажмите кнопку ОК (2).

editValue

Пример редактирования данных.

sample

Пример отображения данных.

Удаление

http://imfield.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30308#DownloadId=75603

распакуйте содержимое архива. Запустите программу setup.exe и следуйте инструкциям.

История изменений

Добавлена локализация для русского языка.

Маленькие изменения в системе помощи.

Добавлена русскоязычная справка.

Лицензия

License: New BSD License (BSD)

Copyright (c) 2009, Korotenko Vladimir All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of yappi.biz nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Техническая поддержка

Техническая поддержка данного решения осуществляется на договорной основе. Обращайтесь по адресу электронной почты koroten AT ya.ru. В общем случае доработки будут производиться по мере появления у меня (Коротенко Владимира) свободного времени. В случае заключения договора ваши заявки будут удовлетворены в первую очередь.

Сайт программы

http://imfield.codeplex.com/

http://yappi.biz/product/imfield

вторник, 21 апреля 2009 г.

IP accounting

Встала проблема учета в области сетевой инфраструктуры. А тут новая технология от MS Dynamic Data. Вот и решил попробовать что это такое. Результат собственно тут.

ipstate

Пока постоянной ссылки нет, скоро исправлю. http://sysadmins.ru/download.php?id=5264

пятница, 10 апреля 2009 г.

Failed to install Expression studio 2 with installed localized version of Office 2007

Столкнулся вот с такой ошибкой при установленном русском Офисе не ставиться Expression studio 2. Решения 2:
  • Удалить полность офис и поставить студию, а позже установить офис.
  • Установить один из продуктов серии офис 2007, например Project 2007.
Техническая информация: Файл установки из папки %Temp%
11:30:07 8 апреля 2009 г.: Executing chained package: OfficeMUI.en-us 
11:30:07 8 апреля 2009 г.: 04/08/2009 11:29:57 Configuring chained package: OfficeMUI.en-us 
11:30:07 8 апреля 2009 г.: PERF: TickCount=76196531 Name=Verify MSI local install source Description=Begin function 
11:30:07 8 апреля 2009 г.: OSE is detected as a registered service. Service binary is reported at location: C:\Program Files\Common Files\Microsoft Shared\Source Engine\OSE.EXE 
11:30:07 8 апреля 2009 г.: OSE service binary is detected at location: C:\Program Files\Common Files\Microsoft Shared\Source Engine\OSE.EXE 
11:30:07 8 апреля 2009 г.: File at C:\Documents and Settings\vkorotenko.SDC\Local Settings\Temp\XSetup_ExpressionStudio_2009_4_8_11_15_19\438d1ac8_d88e_46eb_ba69_11fef34cce74\XWeb.WW\ose.exe has version: 12.0.4518.1014 
11:30:07 8 апреля 2009 г.: File at C:\Program Files\Common Files\Microsoft Shared\Source Engine\OSE.EXE has version: 12.0.4518.1014 
11:30:07 8 апреля 2009 г.: Running OSE version 12.0.4518.1014 
11:30:07 8 апреля 2009 г.: OSE is detected as a registered service. Service binary is reported at location: C:\Program Files\Common Files\Microsoft Shared\Source Engine\OSE.EXE 
11:30:07 8 апреля 2009 г.: OSE service binary is detected at location: C:\Program Files\Common Files\Microsoft Shared\Source Engine\OSE.EXE 
11:30:07 8 апреля 2009 г.: File at C:\Documents and Settings\vkorotenko.SDC\Local Settings\Temp\XSetup_ExpressionStudio_2009_4_8_11_15_19\438d1ac8_d88e_46eb_ba69_11fef34cce74\XWeb.WW\ose.exe has version: 12.0.4518.1014 
11:30:07 8 апреля 2009 г.: File at C:\Program Files\Common Files\Microsoft Shared\Source Engine\OSE.EXE has version: 12.0.4518.1014 
11:30:07 8 апреля 2009 г.: Running OSE version 12.0.4518.1014 
11:30:07 8 апреля 2009 г.: LIS: wait for package "{90120000-0115-0409-0000-0000000FF1CE}" to complete caching 
11:30:07 8 апреля 2009 г.: LIS failed to cache download "{90120000-0115-0409-0000-0000000FF1CE}-C" resource "branding.xml". Cache Error 0x80070017 
11:30:07 8 апреля 2009 г.: Source Resolution aborted 
11:30:07 8 апреля 2009 г.: Log level changed from: Standard to: Verbose 
11:30:07 8 апреля 2009 г.: Error: LIS: Failed to cache download "{90120000-0115-0409-0000-0000000FF1CE}-C" resource "branding.xml". HResult: 0x80070017. 
11:30:07 8 апреля 2009 г.: Rolling back chain 
11:30:07 8 апреля 2009 г.: 04/08/2009 11:30:01 Rolling back package: OfficeMUI.en-us 
11:30:07 8 апреля 2009 г.: There appears to be no rollback work to do for package: OfficeMUI.en-us path: C:\Documents and Settings\vkorotenko.SDC\Local Settings\Temp\XSetup_ExpressionStudio_2009_4_8_11_15_19\438d1ac8_d88e_46eb_ba69_11fef34cce74\Office.en-us\OfficeMUI.MSI 
11:30:07 8 апреля 2009 г.: Stopping running ose 
11:30:07 8 апреля 2009 г.: LIS: start uncaching for download "{90120000-0010-0409-0000-0000000FF1CE}-C" 
11:30:07 8 апреля 2009 г.: LIS: finished uncaching for download "{90120000-0010-0409-0000-0000000FF1CE}-C" 
11:30:07 8 апреля 2009 г.: LIS: start uncaching for download "{90120000-002C-0409-0000-0000000FF1CE}-C" 
11:30:07 8 апреля 2009 г.: LIS: finished uncaching for download "{90120000-002C-0409-0000-0000000FF1CE}-C" 
11:30:07 8 апреля 2009 г.: LIS: start uncaching for download "{90120000-0045-0000-0000-0000000FF1CE}-C" 
11:30:07 8 апреля 2009 г.: LIS: finished uncaching for download "{90120000-0045-0000-0000-0000000FF1CE}-C" 
11:30:07 8 апреля 2009 г.: LIS: start uncaching for download "{90120000-0045-0409-0000-0000000FF1CE}-C" 
11:30:07 8 апреля 2009 г.: LIS: finished uncaching for download "{90120000-0045-0409-0000-0000000FF1CE}-C" 
11:30:07 8 апреля 2009 г.: LIS: start uncaching for download "{90120000-0115-0409-0000-0000000FF1CE}-C" 
11:30:07 8 апреля 2009 г.: LIS: finished uncaching for download "{90120000-0115-0409-0000-0000000FF1CE}-C" 
11:30:07 8 апреля 2009 г.: Stopping running ose 
11:30:07 8 апреля 2009 г.: SystemRestore : Attempting to cancelling System-Restore-Point for Product [Microsoft Expression Web 2] (with RestorePointType [0, Installed]). 
11:30:07 8 апреля 2009 г.: SystemRestore : Successfully cancelled System-Restore-Point for Product [Microsoft Expression Web 2] (with RestorePointType [0, Installed]). 
11:30:07 8 апреля 2009 г.: Not showing completion dialog because it was not requested. 
11:30:07 8 апреля 2009 г.: Catalyst execution finished: 04/08/2009 11:30:06. Return code: -2147024873. 
11:30:07 8 апреля 2009 г.: PERF: TickCount=76205890 Name=RunSetup Description=End function 
11:30:08 8 апреля 2009 г.: Error: Installation of the "Microsoft Expression Web 2" product has reported the following error: -2147024873. 
11:30:08 8 апреля 2009 г.: ========================================================================= 
11:30:09 8 апреля 2009 г.: Info: Config_Products_InstallNew: End installation of new product: Microsoft Expression Web 2 
11:30:10 8 апреля 2009 г.: Error: Config_Products_Install: Installation of Product Microsoft Expression Web 2 (failed): Installation of the "Microsoft Expression Web 2" product has reported the following error: -2147024873. Stack: at XSetup.OfficePackage.ConfigureNewInstall(Product product) at XSetup.Product.ConfigureNewProduct() 
11:30:10 8 апреля 2009 г.: Info: Config_Products_InstallNew: End installation of new product: Microsoft Expression Web 2 
11:30:13 8 апреля 2009 г.: Info: Expecting to find local release notes at 'C:\Program Files\Microsoft Expression\Encoder 2\Release Notes.mht'. 
11:30:32 8 апреля 2009 г.: Error: XSetup_DoTasks:: Installation of the "Microsoft Expression Web 2" product has reported the following error: Installation of the "Microsoft Expression Web 2" product has reported the following error: -2147024873.. Stack: at XSetup.XSetupSession.OnDoTasksThreadDoWork(Object sender, DoWorkEventArgs e) 
11:30:32 8 апреля 2009 г.: Error: Installation of the "Microsoft Expression Web 2" product has reported the following error: Installation of the "Microsoft Expression Web 2" product has reported the following error: -2147024873.. 
11:30:32 8 апреля 2009 г.: Info: End Setup session 
11:30:32 8 апреля 2009 г.: ------------------------------------------------------------------------------------------------- 
11:30:32 8 апреля 2009 г.: Error: XSetup_DoTasks:: Installation of the "Microsoft Expression Web 2" product has reported the following error: Installation of the "Microsoft Expression Web 2" product has reported the following error: -2147024873.. Stack: at XSetup.XSetupSession.OnDoTasksThreadDoWork(Object sender, DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

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

Folder view in WSS & MOSS

Как отобразить документы в виде дерева в среде MOSS. startexplorer folder_f folderEnd

Русскоязычные ресурсы

Крайне рекомендую отличный сайт. http://sharepoint-community.ru/

суббота, 28 марта 2009 г.

Windows 7 on Asus eee-pc 900

Windows 7 on Asus eee-pc 900

Введение

Началось все с прочтения рекламных статей от Microsoft о новшествах в системе windows 7, среди прочего очень заинтересовала оптимизация по энергопотреблению и множество других нововведений. Первоначальная операционка (XP) работала как часы, но после прочтения ряда статей на http://eee-pc.ru/ остановился на Ubuntu, требования были простые обеспечить максимальное время работы от батарей иметь визуальный интерфейс не лишенный приятности и иметь доступ к некоторым специфическим «фишкам» linux. Что не устроило, расскажу по ходу, но через 2 месяца использования пришлось удалить и поставить Windows 7.

Установка

Установка может производиться одним из 4 способов:

  • Внешний DVD (самый простой )
  • Flash (я применял его )
  • RIS (ну это для бизнес окружения)
  • Tib образ (тут проблема только в образе)

У меня выбора особенного не было так что пришлось ставить с флэша, процесс простой берете флэшку 4 Гб форматируете ее и переносите файлы из дистрибьютива, после этого надо вставить ее в бук и ответить на несколько вопросов. После примерно 4 часов она, наконец, поставилась. В общем, сказать неторопливо.

Первые впечатления

На удивление шустрая и много в себе содержащая система. Введение Office 2007 Like стиля во встроенных приложениях. Удобный в использовании десктоп, моментальный поиск и работа после установки сразу.

Что внутри

Внутри вот что первый диск практически полность забит 564 Мб осталось из 8 Гигабайт.

Дополнительно ставились только

  • AVP 2009
  • Winrar
  • Skype
  • AllRadio
  • IIS
  • MSSql Express
  • Chrome

 

Задачи и решения

Собственно в роли записной книжки для серфинга сети, чтения книг и презентаций связка оказалась отличная компактный вес бука, MS Windows окружение и отличное время работы ок 3 -4 часов. В качестве медиацентра машина конечно слабовата, но обычное видео по сети посмотреть можно без всяких тормозов, послушать музыку или посмотреть фотографии то же можно. Особенно в этом помогает функция общего доступа к медиа информации. В общем крайне удобное решение для обычной работы.

 

В заключение

Отличная сбалансированная система с хорошим набором потребительских качеств, очень легкая приятная и удобная.

 

 

вторник, 24 марта 2009 г.

Создание узла программными методами

private void CreateBackupSite(string createdSiteUrl,string yearWebUrl) { string title; uint nLCID; string description; string name; using (SPSite site = new SPSite(projectWebUrl)) { using (SPWeb web = site.OpenWeb()) { title = web.Title; nLCID = web.Language; description = web.Description; name = web.Name; site.AllowUnsafeUpdates = true; using (SPWeb pat = site.OpenWeb(yearWebUrl)) { pat.AllowUnsafeUpdates = true; using (SPWeb newWeb = pat.Webs.Add(name, title, description, nLCID, Config.ArchiveSite.TemplatePath, true, false)) { newWeb.AllowUnsafeUpdates = true; newWeb.Update(); newWeb.AllowUnsafeUpdates = false; } pat.AllowUnsafeUpdates = false; } site.AllowUnsafeUpdates = false; } } }

Данные проверки безопасности этой страницы недопустимы. Нажмите кнопку ''Назад'' обозревателя, обновите страницу и повторите попытку.

Очень сильно меня достало это сообщение не поверите как. Данные проверки безопасности этой страницы недопустимы. Нажмите кнопку ''Назад'' обозревателя, обновите страницу и повторите попытку. Возникает обычно в таком коде private void WriteToLog(string log) { using (SPSite site = new SPSite(projectOfficeUrl)) { using (SPWeb web = site.OpenWeb()) { web.AllowUnsafeUpdates = true; SPList list = web.Lists[Config.LogList.ListName]; SPListItem li = list.Items.Add(); li[Config.LogList.DateStart] = DateTime.Now; li[Config.LogList.Info] = log; li[Config.LogList.Initiator] = CurrentUser; li.Update(); web.AllowUnsafeUpdates = false; } } } Боремся добавлением выделенного жирным кода.

четверг, 12 марта 2009 г.

Очень смешно

Сегодня искал код в интернете и напоролся на свой же пост http://mossdevel.blogspot.com/2008/09/moss-copy-file.html

вторник, 3 марта 2009 г.

Ругать не ругать ?

Очень иногда злит политика MS по обьявлению некоторых свойств, методов и классов в различной мере скрытыми, неизменяемыми и внутренними. Самое смешное очень часто видишь что сами они с удовольствием пользуются всеми этими "Вкусностями". Сегодня таки узнал кто за это ответственен:Stefan Goßner http://blogs.technet.com/stefan_gossner/ Так что рекомендую, заходите на его блог смотрите читайте, очень интересно. P.S. Следующая статья будет про то как побороть эту "Заразу",

вторник, 17 февраля 2009 г.

Intellisense WSS Visual Studio 2008

Включение подсветки синтаксиса в Visual Studio 2008. Создайте файл sharepoint.xml в папке c:\Program Files\Microsoft Visual Studio 9.0\Xml\Schemas Добавьте следующий код <SchemaCatalog xmlns="http://schemas.microsoft.com/xsd/catalog"> <Schema href="%CommonProgramFiles%/Microsoft Shared/web server extensions/12/TEMPLATE/XML/wss.xsd" targetNamespace=”http://schemas.microsoft.com/sharepoint/" /> </SchemaCatalog> Добавьте элемент xmlns="http://schemas.microsoft.com/sharepoint/" в корневой элемент файла.

понедельник, 2 февраля 2009 г.

Перенос данных с одного сайта на другой

Эх давно же я не писал, ладно из закромов немного достану. PS с праздниками вас прошедшими.

Введение

Данное руководство предназначено для переноса данных с одного портала на другой. Исследование производилось в рамках работ над запросом о «потере авторизации» на портале Очень серьезная организация(перед отправкой все же реквизиты надо стирать).

Сокращения и термины

MOSS – Microsoft Office SharePoint Server 2007

Server1 – сервер источник данных для переноса

Server2 – сервер приемник переносимых данных

Features – расширения для системы MOSS

WebParts – веб части для расширения функционала MOSS

Solutions – Решения установленные на сервере MOSS

Workflow – рабочие процессы установленные на сервере MOSS

Паспорт сервера – описание аппаратно программной конфигурации сервера приемника

 

 

 

Подготовка к переносу

Для успешного переноса необходимо провести инвентаризацию установленных расширений на сервере источнике (WebParts, Solutions, WorkFlows) и установить идентичный набор на сервере приемнике. В случае если на сервере приемнике еще не установлено по MOSS, необходимо произвести установку программного обеспечения в соответствии с руководством по установке компании Microsoft.

В ходе установки программного обеспечения необходимо создать паспорт сервера приемника, который включает в себя описание в свободной форме следующих компонентов:

  • Операционная система (версия и сервис пак, дата установки)
  • Аппаратное окружение (описание аппаратной конфигурации сервера)
  • Фреймворк (версия, патчи и дата установки)
  • Сервер баз данных (версия, патчи, дата установки, описание конфигурационных опций: сортировка и локаль)
  • Учетные записи, предназначенные для установки и эксплуатации сервера MOSS (в соответствии с руководством по установке продукта)
  • MOSS 2007 (версия, патчи и время установки)
  • Список расширений (Features,WebParts,Solutions,Workflow их версии и настройки)

     

     

Перенос данных

Для переноса данных воспользуйтесь утилитой stsadm расположенной в папке c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN. Порядок действий при переносе данных следующий:

  1. Выполните создание головного узла сайта в соответствии с руководством по развертыванию от компании Microsoft, в качестве шаблона для узла укажите тот тип узла который стоял на сервере приемнике;
  2. На сервере источнике примените одну из стандартных мастер страниц (Master Page)
  3. На сервере приемнике примените такую - же мастер страницу как и в предыдущем пункте
  4. Вызовите командную консоль нажав на кнопку пуск и выбрав пункт Выполнить, в открывшемся окне наберите cmd и нажмите кнопку ОК;
  5. Выполните команду cd c:\;
  6. Выполните команду "c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o export -url http://portal4 -filename portal4.exp;
  7. "c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o import -url http://portal4:8000 -filename portal4.exp -updateversions 2;
  8. Произведите операцию резервного копирования средствами MOSS.

     

     

    Примечания: список параметров ключа –updateversions

1

Значение по умолчанию добавляет новую версию файлов

2

Затирает текущие файлы

3

Пропускает файлы

 

 

После операции переноса данных произведите импорт пользователей из Active Directory, создайте необходимые группы безопасности в MOSS и назначьте необходимые права на библиотеки и документы. В случае использования сторонних WebParts, Solutions or Features вы также должны настроить параметры данных решений в соответствии с руководством по установке данного программного обеспечения. Все действия по конфигурированию данных частей вы должны зафиксировать в паспорте сервера.

Действия после переноса

После проведения операции переноса данных и настройки параметров сервера приемника. Необходимо произвести следующие действия:

  • Выполнить резервное копирование информации MOSS
  • Выполнить резервное копирование метаинформации веб сервера (IIS Metabase Backup)
  • Зафиксировать свои действия в паспорте сервера
  • Произвести тестирование корректности переноса информации
  • Произвести передачу сервера в промышленное использование ответственному лицу