понедельник, 16 декабря 2013 г.

Фильтр по первой букве

Если список упорядочен по алфавиту в каком-то столбце и количество элементов в списке более 100, целесообразно применить фильтр по первой букве для ускорения навигации.

Для этого необходимо

  1. Добавить в список вычисляемый столбец (с названием, например, firstletter) и с формулой =ЛЕВСИМВ([Имя];1).
  2. Добавить веб-часть редактора содержимого со следующим кодом:

<style>
.lettersfilter
{
    margin-bottom: -10px;
}
.lettersfilter .letter
{
    background-color: #f0f0f0;
    display: inline-block;
    width: 40px;
    padding-bottom: 5px;
    text-align: center;
    vertical-align: middle;
    font-size: 2em;
    margin-right: 6px;
    margin-bottom: 10px;
}
.lettersfilter .letter.all
{
    width: 90px;
}
</style>
<div class="lettersfilter">
    <a class="letter all" href="Справочник%20сотрудников.aspx">Все</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D0%B0">А</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D0%B1">Б</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D0%B2">В</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D0%B3">Г</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D0%B4">Д</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D0%B5">Е</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D1%91">Ё</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D0%B6">Ж</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D0%B7">З</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D0%B8">И</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D0%B9">Й</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D0%BA">К</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D0%BB">Л</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D0%BC">М</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D0%BD">Н</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D0%BE">О</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D0%BF">П</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D1%80">Р</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D1%81">С</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D1%82">Т</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D1%83">У</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D1%84">Ф</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D1%85">Х</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D1%86">Ц</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D1%87">Ч</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D1%88">Ш</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D1%89">Щ</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D1%8D">Э</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D1%8E">Ю</a>
    <a class="letter" href="Справочник%20сотрудников.aspx?FilterField1=firstletter&FilterValue1=%D1%8F">Я</a>
</div>

В коде заменить “Справочник%20сотрудников” на URL-страницы, где настроено представление.

Заменить “firstletter” на внутреннее название столбца, созданного на шаге 1.

Получается так:

image

вторник, 3 декабря 2013 г.

Столбцы адреса элемента в рабочем процессе SharePoint Designer

При разработке процесса в SharePoint Designer разработчику предоставляется множество различных столбцов, связанных с адресом элемента.

Какой из них выбрать в нужный момент? Вот что возвращает рабочий процесс при запросе различных столбцов на документе, расположенном в подсайте testsite, в библиотеке test, в папке “Папка” (/testsite/test/Папка/Инструкция%20по%20импорту%20в%20базу%20данных%203д-моделей.docx).

Выбирайте.

 

image

http://server/testsite/test/Папка/Инструкция%20по%20импорту%20в%20базу%20данных%203д-моделей.docx

 

image

Инструкция по импорту в базу данных 3д-моделей

 

image

Инструкция по импорту в базу данных 3д-моделей.docx

 

image

/testsite/test/Папка/Инструкция по импорту в базу данных 3д-моделей.docx

 

image

/testsite/test/Папка

 

image

/testsite/test/Папка/Инструкция по импорту в базу данных 3д-моделей.docx

 

image

http://xn--80acmlhv0b.xn--80agflthakqd0d1e/testsite

 

image

http://server/testsite/test/Папка/Инструкция по импорту в базу данных 3д-моделей.docx

среда, 30 октября 2013 г.

Оценка “Мне нравится” на форме просмотра элемента

В SharePoint 2013 есть стандартный функционал оценок:

image

Он работает отлично на обычных табличных представлениях.

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

image

На странице DispForm нет кнопки “Нравится”, есть только в табличном представлении.

Но можно добавить эту кнопку следующим кодом:

<div class="LikeSection"><span class="likecount"></span><a href="#" onclick="LikePage()" class="LikeButton"></a></div>
<SharePoint:ScriptLink language="javascript" name="reputation.js" OnDemand="true" runat="server" Localizable="false"/>
<script type="text/javascript">
    function getQueryStringParameter(urlParameterKey) {
        var params = document.URL.split('?')[1].split('&');
        var strParams = '';
        for (var i = 0; i < params.length; i = i + 1) {
            var singleParam = params[i].split('=');
            if (singleParam[0] == urlParameterKey)
                return decodeURIComponent(singleParam[1]);
        }
    }

    function LikePage() {
        var like = false;
        var likeButtonText = $("a.LikeButton").text();
        if (likeButtonText != "") {
            if (likeButtonText == "Нравится")
                like = true;
   
            var aContextObject = new SP.ClientContext();
            EnsureScriptFunc('reputation.js', 'Microsoft.Office.Server.ReputationModel.Reputation', function () {
                Microsoft.Office.Server.ReputationModel.
                Reputation.setLike(aContextObject,
                    _spPageContextInfo.pageListId.substring(1, 37),
                    getQueryStringParameter('ID'), like);
   
                aContextObject.executeQueryAsync(
                    function () {
                        //alert(String(like));
                        GetLikeCount();
                    }, function (sender, args) {
                        //alert('F0');
                    });
            });
        }
   
    }
   
    function GetLikeCount() {
   
        var context = new SP.ClientContext(_spPageContextInfo.webServerRelativeUrl);
        var list = context.get_web().get_lists().getById(_spPageContextInfo.pageListId);
        var item = list.getItemById(getQueryStringParameter('ID'));
   
        context.load(item, "LikedBy", "ID", "LikesCount");
        context.executeQueryAsync(Function.createDelegate(this, function (success) {
            // Check if the user id of the current users is in the collection LikedBy.
            var likeDisplay = true;
            var $v_0 = item.get_item('LikedBy');
            var itemc = item.get_item('LikesCount');
            if (!SP.ScriptHelpers.isNullOrUndefined($v_0)) {
                for (var $v_1 = 0, $v_2 = $v_0.length; $v_1 < $v_2; $v_1++) {
                    var $v_3 = $v_0[$v_1];
                    if ($v_3.$1E_1 === _spPageContextInfo.userId) {
                        //cb(true, item.get_item('LikesCount'));
                        //alert("Liked by me");
                        likeDisplay = false;
                    }
                }
            }
            ChangeLikeText(likeDisplay, itemc);
   
        }), Function.createDelegate(this, function (sender, args) {
            //alert('F1');
        }));
   
    }
   
    function ChangeLikeText(like, count) {
        if (like) {
            $("a.LikeButton").text('Нравится');
        }
        else {
            $("a.LikeButton").text('Разонравилось');
        }
        var htmlstring = '<img alt="" src="/_layouts/15/images/LikeFull.11x11x32.png" />' + ' ' + String(count);
        if (count > 0)
            $(".likecount").html(htmlstring)
        else
            $(".likecount").html("");
    }
   
    $(document).ready(function () {
        GetLikeCount();
        $("a.LikeButton").click(function () {
            LikePage();
        });
    });
</script>

Получается вполне симпатично:

image

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

Не работает поиск пользователя при фильтрации по группе

SharePoint 2010.

Если настроить в параметрах столбца подстановки пользователя фильтрацию по группе SharePoint

image

Перестает работать поиск в диалоге выбора:

image

Т.е. вводим в поле поиска текст “Bruno”, нажимаем Enter, список пользователей пропадает а затем снова появляются все пользователи.

Хотя если не использовать диалог, а искать прямо на форме элемента, все работает корректно:

image 

В SharePoint 2013 вообще нет диалога выбора, там и без него удобно выбирается пользователь:

image

пятница, 27 сентября 2013 г.

Адреса перенаправления на функции личного сайта

Назначение URL относительно узла личных сайтов
Личный сайт текущего пользователя /_layouts/15/MySite.aspx
SkyDrive текущего пользователя /_layouts/15/MySite.aspx?MySiteRedirect=AllDocuments
Каталог сайтов текущего пользователя /_layouts/15/MySite.aspx?MySiteRedirect=AllSites
Все задачи текущего пользователя /_layouts/15/MySite.aspx?MySiteRedirect=AllTasks
Блог текущего пользователя /_layouts/15/MySite.aspx?Blog=1

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

Заранее благодарен.

вторник, 24 сентября 2013 г.

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

Не используйте url /social для узла личных сайтов.

Сайты пользователей при этом не создаются:

Не удалось создать сайт /sites/администратор. Исключение: Нельзя использовать "Social" как имя сайта. Имена сайтов не могут содержать определенные зарезервированные слова и не могут начинаться со знака подчеркивания. Введите другое имя.

воскресенье, 22 сентября 2013 г.

Сохранение в качестве шаблона не доступно

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

Если просто использовать перейти по ссылке /_layouts/15/savetmpl.aspx, выведется ошибка:

[SPException: Действие "Сохранить сайт как шаблон" не поддерживается на этом сайте.]
   Microsoft.SharePoint.SPSolutionExporter.ThrowIfCantExportSite(SPWeb web, Boolean workflowExportModeIsEnabled) +324
   Microsoft.SharePoint.ApplicationPages.SaveAsTemplatePage.OnLoad(EventArgs e) +1320
   ASP._layouts_15_savetmpl_aspx.OnLoad(EventArgs e) in c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\savetmpl.aspx:25
   System.Web.UI.Control.LoadRecursive() +95
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2936

image

Для того, чтобы все-таки сохранить сайт в качестве шаблона, нужно изменить в SharePoint Designer параметр SaveSiteAsTemplateEnabled.

image

Результат:

image

Ошибка при вызове New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager из PowerShell

Писал скрипт для массового обновления профилей и столкнулся с такой ошибкой.

New-Object : Исключение при вызове ".ctor" с "1" аргументами: "UserProfileAppli
cationNotAvailableException_Logging :: UserProfileApplicationProxy.ApplicationP
roperties ProfilePropertyCache does not have 61e2df3d-e19e-46d0-85c4-e46f4721c2
04"

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

image

Нужно еще иметь роль SharePoint_Shell_Access в базе данных конфигурации.

Для того, чтобы узнать перечень учетных записей с такой ролью, можно выполнить команду get-SPShellAdmin

image

Решение было найдено тут:

http://social.technet.microsoft.com/Forums/sharepoint/en-US/d8ee4f32-c380-4d1d-9f26-59765aae4a7f/getting-errors-when-i-try-to-create-newobject-for-userprofile-manager-powershell-sharepoint-2010

понедельник, 16 сентября 2013 г.

Ошибка при установке Project Server без домена

Установил программные файлы SharePoint Server, Project Server.

Не запуская мастера настройки продуктов, установил обновления PU March и CU August.

Для того, чтобы настроить ферму без домена, запустил команду

New-SPConfigurationDatabase

Вывелась ошибка

New-SPConfigurationDatabase : Эта ферма SharePoint в настоящий момент имеет отл
оженные обновления. Командлет New-SPConfigurationDatabase не может быть выполне
н до завершения обновления.
строка:1 знак:1
+ New-SPConfigurationDatabase
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [New-SPConfigurationDataba
   se], SPException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletNewSPCon
   figurationDatabase

 

Предполагаю, ошибка возникла из-за того, что установка обновлений не завершилась. Перезагрузка сервера не помогла.

Запустил команду

PSCONFIG.EXE -cmd upgrade -wait -force -inplace b2b
После этого ферма успешно создалась.

Решение нашел тут: http://gb-sharepointsnippets.blogspot.ru/2012/11/fehlermeldung-this-sharepoint-farm.html

понедельник, 2 сентября 2013 г.

Объединение логических условий в рабочем процессе в SharePoint Designer

Как объединятся три условия рабочего процесса, если между первыми двумя условиями стоит оператор “или”, а между вторым и третьим – “и”?

Например, что выведет рабочий процесс в данном случае?

image

По идее по правилам булевой алгебры сначала выполняется оператор “и”, а затем “или”. В результате в журнал должно записаться “Верно”.

Но в случае с SharePoint это не так. Вычисляются условия по порядку написания. Сначала первые два, затем их итог объединяется с третьим и т.д. В результате данный процесс выводит “Не верно”.

Аналогично работают и условия в настройках фильтрации в представлениях.

четверг, 29 августа 2013 г.

Ошибка в рабочем процессе “… должны содержаться данные другого типа”

Условия

SharePoint 2010

Рабочий процесс в SharePoint Designer

В рабочем процессе есть действие “Обновить элемент в списке”, в котором обновляется столбец типа “Пользователь или группа”

Рабочий процесс нормально работает под пользователем, являющимся администратором семейства.

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

В журнале рабочего процесса:

“Обновить элемент в рабочем процессе не удалось, возможно потому, что в одном или нескольких столбцах для этого элемента должны содержаться данные другого типа.”

“The workflow could not update the item, possibly because one or more columns for the item require a different type of information”

В журнале SharePoint:

08/28/2013 17:21:21.39     w3wp.exe (0x1690)                           0x20F0    SharePoint Foundation             Workflow Infrastructure           88xr    Unexpected    WinWF Internal Error, terminating workflow Id# 29853693-81f2-49a1-9041-b807a1e38710    
08/28/2013 17:21:21.39     w3wp.exe (0x1690)                           0x20F0    SharePoint Foundation             Workflow Infrastructure           98d4    Unexpected    System.ArgumentException: Элемент не существует. Возможно, он был удален другим пользователем.     at Microsoft.SharePoint.SPList.GetItemById(String strId, Int32 id, String strRootFolder, Boolean cacheRowsetAndId, String strViewFields, Boolean bDatesInUtc)     at Microsoft.SharePoint.Workflow.SPWinOEWSSService.RetrieveListItem(SPWeb web, Guid id, Guid listId, SPItemKey itemKey, Boolean allowCreate)     at Microsoft.SharePoint.Workflow.SPWinOEWSSService.UpdateListItemInternal(Guid id, Guid listId, SPItemKey itemKey, Hashtable itemProperties)     at Microsoft.SharePoint.Workflow.SPWinOEWSSService.UpdateListItem(Guid id, Guid listId, SPItemKey itemKey, Hashtable itemProperties)     at Microsoft.SharePoint.WorkflowActions.ActivityHelper.DoCorrectUpdateMethod(WorkflowContext theContext, SPItemK...    
08/28/2013 17:21:21.39*    w3wp.exe (0x1690)                           0x20F0    SharePoint Foundation             Workflow Infrastructure           98d4    Unexpected    ...ey item, Guid listId, Hashtable properties, IListItemService hostInterface)     at Microsoft.SharePoint.WorkflowActions.WithKey.UpdateItemActivity.DoUpdate(ActivityExecutionContext provider)     at Microsoft.SharePoint.WorkflowActions.WaitForDocumentUnlockActivity.Execute(ActivityExecutionContext executionContext)     at Microsoft.SharePoint.WorkflowActions.WithKey.UpdateItemActivity.Execute(ActivityExecutionContext provider)     at System.Workflow.ComponentModel.ActivityExecutor`1.Execute(T activity, ActivityExecutionContext executionContext)     at System.Workflow.ComponentModel.ActivityExecutor`1.Execute(Activity activity, ActivityExecutionContext executionContext)     at System.Workflow.ComponentModel.ActivityExecutorOperation.Run(IWorkflowCoreRuntime workflowCoreRuntime)     at System...    
08/28/2013 17:21:21.39*    w3wp.exe (0x1690)                           0x20F0    SharePoint Foundation             Workflow Infrastructure           98d4    Unexpected    ....Workflow.Runtime.Scheduler.Run()    

Причина

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

Решение

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

среда, 21 августа 2013 г.

Ссылки на страницы Web Analytics

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

image

Можно использовать следующие ссылки для перехода по отчетам:

Трафик    
  Число просмотров страницы /_layouts/WebAnalytics/Report.aspx?t=PageViewTrend&l=sc
  Уникальных посетителей за день /_layouts/WebAnalytics/Report.aspx?t=UniqueVisitorsTrend&l=sc
  Число источников ссылок /_layouts/WebAnalytics/Report.aspx?t=ReferrerTrendReport&l=sc
  Самые посещаемые страницы /_layouts/WebAnalytics/Report.aspx?t=TopPageForPageReport&l=sc
  Самые активные посетители /_layouts/WebAnalytics/Report.aspx?t=TopVisitorsReport&l=sc
  Смаые популярные источники /_layouts/WebAnalytics/Report.aspx?t=TopReferrerForPageReport&l=sc
  Популярные конечные страницы /_layouts/WebAnalytics/Report.aspx?t=TopDestinationForPageReport&l=sc
  Самые популярные браузеры /_layouts/WebAnalytics/Report.aspx?t=TopBrowsersReport&l=sc
Поиск    
  Число запросов /_layouts/WebAnalytics/Report.aspx?t=SearchTrafficTrendReport&l=sc
  Самые популярные запросы /_layouts/WebAnalytics/Report.aspx?t=PopularSearchesReport&l=sc
  Неудачные запросы /_layouts/WebAnalytics/Report.aspx?t=SearchFailureReport&l=sc
  Использование наиболее подходящих элементов /_layouts/WebAnalytics/Report.aspx?t=BestBetPerformanceReport&l=sc
  Предложение наиболее подходящих элементов /_layouts/WebAnalytics/Report.aspx?t=BestBetRecommendationReport&l=sc
  Журнал действий по предложению наиболее подходящих элементов /_layouts/WebAnalytics/Report.aspx?t=BestBetActionReport&l=sc
  Ключевые слова поиска /_layouts/listkeywords.aspx#
Опись    
  Использование хранилища /_layouts/WebAnalytics/Report.aspx?t=StorageTrendsReport&l=sc
  Число сайтов /_layouts/WebAnalytics/Report.aspx?t=SiteTrendsReport&l=sc
  Самые популярные версии продуктов на сайте /_layouts/WebAnalytics/Report.aspx?t=Site_ProductInventoryReport&l=sc
  Самые популярные языки на сайте /_layouts/WebAnalytics/Report.aspx?t=Site_LanguageInventoryReport&l=sc
  Настраиваемые отчеты /AnalyticsReports/Forms/AllItems.aspx

четверг, 23 мая 2013 г.

Отображение столбца подстановки без ссылки

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

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

1. В параметрах столбца меняем название столбца. Например, добавляем в конец названия единицу:

image

2. В параметрах подстановки отмечаем галкой дополнительное поле “Название”:

image

3. В параметрах нового столбца “Бренд: Название” меняем имя столбца на “Бренд”

4. В параметрах основного столбца Бренд1 убираем единицу.

5. В настройках представления убираем старый столбец и добавляем новый.

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

Реализация выбора из справочника

Часто при разработке функционала требуется реализовать пользовательский выбор из набора вариантов.

Например, при создании новой заявки нужно выбрать отдел, к бюджету которого относится заявка:

image_thumb_thumb

Есть 2 типа столбца, позволяющие реализовать такой выбор:

  1. Выбор (меню);
  2. Подстановка;
  3. Управляемые метаданные.

Преимущества первого варианта:

  1. Простота настройки – все настройки столбца в одном месте;
  2. Возможность упорядочивания выпадающего списка;
  3. При удалении элемента из справочника выбранные данные сохраняются;
  4. Возможность устанавливать вариант по умолчанию;
  5. Возможность указывать вариант не из списка, ввести с клавиатуры;
  6. Более высокая производительность при большом количестве элементов;
  7. Возможность выбора 1 кликом (в формате переключателей);
  8. Возможность использования в гибких фильтрах (“начинается с” и “содержит”);
  9. Выбор в 2 клика;
  10. Возможность использования в вычисляемых столбцах;
  11. Доступен в SharePoint Foundation;
  12. Возможность навигации для метаданных (в левом меню).

Преимущества второго варианта:

  1. Возможность ведения справочника стандартными пользовательскими средствами;
  2. Ограничение доступа к вариантам выбора через права на список подстановки;
  3. Возможность хранения дополнительных полей списка подстановки (структурированный справочник);
  4. Возможность централизации справочника, использование в нескольких столбцах/списках;
  5. Выбор в 2 клика;
  6. Доступен в SharePoint Foundation.

Преимущества третьего варианта:

  1. Возможность настройки иерархического справочника;
  2. Возможность пополнения справочника в процессе выбора;
  3. Многоязычные справочники;
  4. Возможность подсказок по синонимам;
  5. Фильтрация в результатах поиска;
  6. Возможность навигации для метаданных (в левом меню);
  7. Возможность централизации справочника, использование в нескольких столбцах/списках/сайтах/семействах/веб-приложениях.

Выбирайте, что важнее в конкретном случае и разрабатывайте!

среда, 6 марта 2013 г.

Веб-часть “Сведения о контакте” отображает не всех пользователей

Столкнулся на проекте с тем, что при выборе сотрудника в стандартной веб-части “Сведения о контакте” подстановка пользователя не сохраняется. Веб-часть показывает, что пользователь не выбран:

image

Выяснилось, что так веб-часть поступает только при выборе определенных пользователей. А именно тех, кто ни разу не входил на портал.

Анализ показал следующее: когда в этой веб-части выбирается пользователь, ни разу не входивший на портал, для него в списке пользователей (userinfo) создается запись, причем учетная запись указывается в формате обычной аутентификации, не на основании утверждений. Когда же пользователь входит на портал, ему создается еще одна запись, именно в формате аутентификации на основе утверждений. И после этого становится возможно выбрать его в веб-части “Сведения о контакте”. Причем, если пользователь уже входил на портал и для него создана только учетная запись на утверждениях, то при указании его в веб-части “Сведения о контакте” запись не на утверждениях не создается.

Обходное решение. Добавлять вручную пользователя в список пользователей на семейство сайтов. При этом пользователь добавляется именно в формате аутентификации на основе утверждений (если таковая используется). После этого пользователь нормально выбирается в веб-части “Сведения о контакте”.

среда, 27 февраля 2013 г.

Семинар "SharePoint 2013 для Ваших отделов"

06 марта 2013 с 9:30 до 13:30
Офис
Microsoft (Санкт-Петербург, Аптекарская наб. 20а, бизнес-центр «Авеню»)

Компания Conteq приглашает на семинар, посвященный возможностям платформы Microsoft SharePoint и приуроченный к выходу новой версии 2013. На семинаре будут представлены варианты применения платформы SharePoint для прикладных бизнес задач.

  • Как повысить эффективность управления персоналом и создать условия для поддержки обратной связи с сотрудниками?
  • Как построить единое информационное пространство?
  • Как повысить эффективность работы с документами и архивами документов?
  • Как обеспечить прозрачность и контроль в управлении?

Приглашаем на мероприятие руководителей компаний, исполнительных директоров, директоров по производству и ИТ руководителей. Участие в семинаре бесплатное при условии предварительной регистрации.

Программа семинара

09.30-10.00

Регистрация, приветственный кофе

10.00-10.45

SharePoint 2013 для пользователей (Павел Чужмаров, Microsoft)
Облачная платформа Microsoft.
Демонстрация новых возможностей SharePoint 2013

10.45-11.15

SharePoint для отделов PR и HR (Станислав Газуль, Контек)
Создание корпоративного портала с использованием Conteq IntraSpace
Создание учебного центра
Объединяя возможности: внутренний портал и внешний сайт на SharePoint. Примеры реализации

11.15-11.45

SharePoint для договорного отдела (Максим Савельев, Контек)
Создание системы электронного согласования договоров в Conteq DocSpace за 60 мин
Электронный архив договоров

11.45-12.15

Кофе-брейк

12.15-12.45

SharePoint для отдела закупок (Максим Савельев, Контек)
Демонстрация примера системы автоматизации закупочных процедур

12.45-13.15

SharePoint в кармане руководителя (Максим Савельев, Контек)
Мобильное рабочее место руководителя - бизнес всегда под контролем
Управление задачами подчиненных – эффективный инструмент управления бизнесом. Conteq TaskSpace

13.15-13.45

SharePoint для специалистов ИТ службы (Станислав Газуль, Контек)
Новое в архитектуре SharePoint 2013
Схемы миграции на SharePoint 2013
Изменения в лицензировании SharePoint 2013

13.45-14.00

Заключительная часть, ответы на вопросы

Зарегистрироваться на семинар можно
  • заполнив форму внизу страницы http://conteq.ru/promo/seminar_sharepoint_2013/
  • по телефону: +7 (812) 610-3331;
  • по электронной почте: info@conteq.ru,  указав название компании, свое имя, фамилию, должность и контактный номер телефона.

среда, 6 февраля 2013 г.

Развертывание трехуровневой фермы

Развертывание трехуровневой фермы не вызывает особых сложностей. Но не забывайте следующие особенности.

1. В службе-приложении поиска нужно переместить компонент запросов на веб-сервер:

image

2. На серверах приложений остановить службу “Веб-приложение Microsoft SharePoint Foundation”. Иначе по терминологии Microsoft и партнеров данные серверы попадают под определение веб-сервера (WFE). Многие программные компоненты для SharePoint лицензируются по количеству веб-серверов.

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

image

4. Устанавливать обновления на SharePoint только в таком порядке: сначала обновлять файлы на всех серверах фермы, только затем выполнять мастер настройки продуктов SharePoint 2010.

среда, 30 января 2013 г.

Ошибка при наведении мыши на имя пользователя

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

image

Проблема появляется, если на рабочем месте установлен Lync 2013. Проблему вызывает add on индикатора присутствия. Для того, чтобы его отключить, можно войти в настройку надстроек и отключить надстройку “NameCtrl Class”.