Показаны сообщения с ярлыком SharePoint. Показать все сообщения
Показаны сообщения с ярлыком SharePoint. Показать все сообщения

пятница, 5 ноября 2010 г.

Workflow Essentials 2010 cool stuff

05.11.2010
00:07

Workflow Essentials 2010 Beta Released

SharePoint Solutions is pleased to announce the beta release of our new Workflow Essentials 2010.

Once installed to your SharePoint server, Workflow Essentials snaps right into SharePoint Designer 2010’s Workflow Designer “Activities” and “Conditions” to give you nearly double the workflow creation possibilities.

Need your workflow to:

  • Loop through list items?
  • Create a site?
  • Send an email with an attachment?
  • Grant permission on an item?

WE2010 makes all of that possible and a whole lot more. Your workflow action/condition options go from 37 to more than 60!

And your new options join the out-of-the-box activities and conditions right there in the Workflow Designer interface. No proprietary interface or new program to learn. It’s all right there in SharePoint Designer 2010.

You can begin designing more powerful, more capable, more sophisticated workflows right away!

Download the beta of Workflow Essentials 2010, and take it for a free test drive. You’ll be amazed at how much more you can accomplish with these expanded options.

Learn more about Workflow Essentials 2010.

Download the Workflow Essentials 2010 beta now.

We are happy to answer your questions about the product, both before and as you test it. Drop us an email or give us a call.

пятница, 29 октября 2010 г.

How to add folder in list.

Проблема: необходимо создать папку в списке sharepoint. Данная проблема решалась в 2007 версии следующим кодом:

SPListItem item = list.Items.Add(list.RootFolder.Url, SPFileSystemObjectType.Folder, null);

string folderName = "foldername"; item["Title"] = folderName; item.Update();

К сожалению при переносе кода это не сработало. Немного покопавшись решение было найдено:

SPFolder folder = list.RootFolder; string folderName = "foldername"; SPListItem itemFolder = list.Items.Add(list.ParentWebUrl + "/" + folder.Url, SPFileSystemObjectType.Folder, folderName); itemFolder.Update();

Соответственно код функции для создания папок: private static SPFolder CreateFolder(SPList list, string baseUrl, string folderName) { SPFolder f = list.ParentWeb.GetFolder(baseUrl + "/" + folderName); if (f.Exists) return f; SPListItem itemFolder = list.Items.Add(list.ParentWebUrl + "/" +baseUrl , SPFileSystemObjectType.Folder, folderName); itemFolder.Update(); return itemFolder.Folder; }

вторник, 11 мая 2010 г.

Visual Studio 2010 Create Site Definition not adding site to SharePoint

После внедрения связки SharePoint 2010 + Visual Studio 2010 возникла проблема, сначала у моего коллеги, а потом и у меня. Описание проблемы ниже:

Здравствуйте.
Создаю тестовый site definition:
Visual Studio 2010 -> Create new Project -> SharePoint -> Site Definition.
В файле webtemp_..., для примера, задаю ID="10001", и в разделе Configuration указываю Title и Description.
Далее делаю Deploy.
Смотрю в C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\SiteTemplates папка с моим site definition создалась.
Затем на узле, под Системной учетной записью, Действие сайта -> Новый сайт и ... не наблюдаю своего site definition!
Подскажите, пожалуйста, что может быть? что попробовать сделать?

А вот собственно и решение:

Все дело в языке. Шаблон проекта предполагает что у вас язык SharePoint'а американский английский 1033, а вам нужен 1049 (для русского языка). Поэтому щелкаете по файлу webtemp правой кнопкой мыши и выбираете свойства. В разделе Deployment Location исправляете параметр Path: 1033\xml\ -> 1049\xml\

Так что правило: если что то не так проверь язык, снова подтвердилось, в общем будьте внимательны.

понедельник, 5 апреля 2010 г.

Создание личного узла в зависимости от роли человека

Задача: обеспечить  создание узла для пользователя в зависимости от его роли.

Решение: Прочитать документ “Руководства по установке шаблона личного сайта на основе ролей”. И соответственно следовать инструкциям

 

http://technet.microsoft.com/ru-ru/library/cc263453.aspx

понедельник, 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);

}

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

пятница, 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% содержащую текущее время

среда, 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 на сервер.