Gandjustas' blog

Фильтр по тегу: поиск


Поиск в приложениях SharePoint. Часть 3.

В SharePoint 2013 появился REST веб-сервис, который позволяет делать поисковые запросы из JavaScript. В SharePoint 2010 есть только search.asmx, который требует генерировать и парсить большой объём XML (в лучших традициях SharePoint).

Чтобы упростить жизнь разработчику клиентских компонентов я написал REST веб-сервис для SharePoint 2010.

Реализация

За основу взял метод, который описывал ранее - Javascript-enabled SharePoint WCF services.

Контракт у сервиса очень простой:

[ServiceContract]
public interface ISearch
{
    [OperationContract]
    [WebGet(BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
    Stream Query(string q, int top, int skip, string select, string orderBy, bool includeRefiners, string refiners);
}

Параметры вызова:

  • q – текст запроса (обязательно).
  • top – количество результатов.
  • skip – с какой позиции в выборке отдавать результаты.
  • select – через запятую названия managed properties в результатах.
  • orderBy – через запятую названия managed properties по которым сортировать результат, после имени можно указать desc для сортировки по убыванию.
  • includeRefinerstrue или false, возвращать результаты уточнений или нет.
  • refiners - через запятую названия managed properties для формирования уточнений.

Реализация:

public System.IO.Stream Query(string q, int top, int skip, string select, string orderBy,
                    bool includeRefiners, string r) 
{
    u...
читать дальше...
добавлено: 04 сен 16 просмотры: 1083, комментарии: 0



7 способов улучшить поля в формах SharePoint 2013

Кастомизация форм – очень больная тема в SharePoint. InfoPath фактически умер, новые способы кастомизации появятся не раньше следующего релиза (назначенного на конец 2015 года), а для использования SPServices нужен jQuery старой версии, что само по себе несет проблемы, так еще и требует знания отображаемых имен полей, что делает решение ненадежным. Подробнее в моем курсе по клиентской разработке SharePoint.

Создавая TypeScript-определения для клиентской библиотеки SharePoint  сделал несколько примеров полей. Недавно я провел большой рефакторинг и выделил кастомные поля в отдельные, повторно используемые функции.

Все функции содержатся в файле typescripttemplaes.ts. Тем, кто не пользуется TypeScript (зря!), можно скачать .js файл в том же каталоге.

Как пользоваться typescripttemplates:

  1. Скачать файл и добавить .js в проект
  2. Сделать свой файл скрипта для полей, такого вида:
    module _ {
        function init() {
            CSR.override()
                .lookupAddNew("Master", "Add New Master item", true)
                .register();        
        }
    
        SP.SOD.executeOrDelayUntilScriptLoaded(init, "typescripttemplates.ts");
    
        SP.SOD.executeOrDelayUntilScriptLoaded(function () {
            RegisterModuleInit(SPClientTemplates.Utility.ReplaceUrlTokens("~site/YOUR_SCRIPT_PATH.js"), init);
        }, "sp.js");
    } 
  3. Вписать адрес скрипта в ReplaceUrlTokens и вызовы функций между .override() и .register()
  4. В атрибут JSLink поля\формы\типа контента вписать стро...
читать дальше...
добавлено: 13 июл 16 просмотры: 707, комментарии: 0



Результаты семинара “Поиск SharePoint”

Месяц назад прошел семинар по поиску в SharePoint 2013. В этот раз семинар был на полный день.  Видеозаписи доступны по ссылке http://gandjustas.justclick.ru/order/spsearch/.

В ходе семинара успели рассмотреть следующие темы:

  • Настройка Content By Search Web Part
  • Сценарии выборки данных (замена CAML)
  • Ранжирование результатов поиска
  • Настройки центра поиска и правил запросов

Отзывы некоторых участников:

Добрый день! Отличное мероприятия Стас, очень понравилось! Упорядочил для себя все знания по поиску, узнал парочку новых и интересных вещей. Также решил давно мучавшую меня проблему с необязательным условием и знаком «?» в выражении запроса поиска. С нетерпением жду следующего семинара =)

Борис Журкин, RTLabs

 

Из семинара получили развернутое и подробное (для первичного ознакомления, на мой взгляд, достаточно подробное ) описание возможностей поиска платформы Sharepoint 2013. Рассмотрели примеры использования в различных сценариях. В общем семинар был очень полезен, как вводная часть, для дальнейшей тесной работы с поиском. От семинара получил на 100% что ожидал.

Вахтанг Барбакадзе, РТК

 

Пока мне не удалось применить полученные знания непосредственно на практике, т.к. наш корпоративный портал на SP 2010.

Однако материал оказался полезным для общего кругозора и понимания возможностей новой версии SP.

Вадим Титов, АВТОМИР

В этот раз с видеозаписью помог Александр Ульмаскулов, любезно предоставив видеокамеру. Записи вебинара теперь включают как экран, так и весь...

читать дальше...
добавлено: 21 окт 15 просмотры: 549, комментарии: 0



7 способов улучшить поля в формах SharePoint 2013

Кастомизация форм – очень больная тема в SharePoint. InfoPath фактически умер, новые способы кастомизации появятся не раньше следующего релиза (назначенного на конец 2015 года), а для использования SPServices нужен jQuery старой версии, что само по себе несет проблемы, так еще и требует знания отображаемых имен полей, что делает решение ненадежным. Подробнее в моем курсе по клиентской разработке SharePoint.

Создавая TypeScript-определения для клиентской библиотеки SharePoint  сделал несколько примеров полей. Недавно я провел большой рефакторинг и выделил кастомные поля в отдельные, повторно используемые функции.

Все функции содержатся в файле typescripttemplaes.ts. Тем, кто не пользуется TypeScript (зря!), можно скачать .js файл в том же каталоге.

Как пользоваться typescripttemplates:

  1. Скачать файл и добавить .js в проект
  2. Сделать свой файл скрипта для полей, такого вида:
    module _ {
        function init() {
            CSR.override()
                .lookupAddNew("Master", "Add New Master item", true)
                .register();        
        }
    
        SP.SOD.executeOrDelayUntilScriptLoaded(init, "typescripttemplates.ts");
    
        SP.SOD.executeOrDelayUntilScriptLoaded(function () {
            RegisterModuleInit(SPClientTemplates.Utility.ReplaceUrlTokens("~site/YOUR_SCRIPT_PATH.js"), init);
        }, "sp.js");
    } 
  3. Вписать адрес скрипта в ReplaceUrlTokens и вызовы функций между .override() и .register()
  4. В атрибут JSLink поля\формы\типа контента вписать стро...
читать дальше...
добавлено: 21 сен 15 просмотры: 1569, комментарии: 4



Семинар "Поиск в SharePoint 2013"

Поиск в SharePoint существует очень давно. Даже когда SharePoint не назывался SharePoint_ом в нем существовал поиск. В SharePoint 2013 поиск стал не просто небольшим дополнением к платформе, а инструментом для решения многих задач, как для разработчиков, так и для дизайнеров, и для продвинутых пользователей. Многие части SharePoint основаны на механизме поиска, но для создания решений поиск до сих пор приvеняется очень редко.

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

К сожалению, многие аспекты поиска плохо документированы, что создает проблемы при создании решений и используется от силы 30% всех возможностей.

21 августа пройдет семинар по Поиску в SharePoint 2013. Он будет интересен как разработчикам решений, так и продвинутым пользователям, и администраторам.

Участвуйте в семинаре, и Вы узнаете много нового:

  • Как использовать существующие возможности поиска SharePoint для решения задач.
  • Приемы построения запросов и настройки ранжирования результатов поиска.
  • Возможности настройки схемы для полнотекстового и атрибутивного поиска, а также уточнений.
  • Архитектуру службы поиска SharePoint, возможности масштабирования и отказоустойчивости.
  • Клиентское и серверное API для...

читать дальше...
добавлено: 24 авг 14 просмотры: 1062, комментарии: 0



Поиск в приложениях SharePoint. Часть 3.

В SharePoint 2013 появился REST веб-сервис, который позволяет делать поисковые запросы из JavaScript. В SharePoint 2010 есть только search.asmx, который требует генерировать и парсить большой объём XML (в лучших традициях SharePoint).

Чтобы упростить жизнь разработчику клиентских компонентов я написал REST веб-сервис для SharePoint 2010.

Реализация

За основу взял метод, который описывал ранее - Javascript-enabled SharePoint WCF services.

Контракт у сервиса очень простой:

[ServiceContract]
public interface ISearch
{
    [OperationContract]
    [WebGet(BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
    Stream Query(string q, int top, int skip, string select, string orderBy, bool includeRefiners, string refiners);
}

Параметры вызова:

  • q – текст запроса (обязательно).
  • top – количество результатов.
  • skip – с какой позиции в выборке отдавать результаты.
  • select – через запятую названия managed properties в результатах.
  • orderBy – через запятую названия managed properties по которым сортировать результат, после имени можно указать desc для сортировки по убыванию.
  • includeRefinerstrue или false, возвращать результаты уточнений или нет.
  • refiners - через запятую названия managed properties для формирования уточнений.

Реализация:

public System.IO.Stream Query(string q, int top, int skip, string select, string orderBy,
                    bool includeRefiners, string r) 
{
    u...
читать дальше...
добавлено: 09 фев 14 просмотры: 1002, комментарии: 0



Поиск в приложениях SharePoint. Часть 2.

Untitled

Первая часть этой серии была написана примерно полтора года назад, после этого появился SharePoint 2013, в котором добавили очень много возможностей для использовании поиска в решениях. Но недавний опрос в сообществе (https://www.facebook.com/groups/sharepointrussian/permalink/514677285314072/?stream_ref=2) показал, что наиболее популярной версией до сих пор является SharePoint 2010.

В первой части я рассказывал как использовать стандартные веб-части поиска в SharePoint 2010, теперь расскажу как с помощью небольшого объема кода получить максимальное мощное решение для создания порталов.

DataFormWebPart

Стандартная веб-часть SharePoint позволяет использовать различные источники данных и формировать разметку с помощью XSL. Источник данных описывается с помою класса наследника System.Web.UI.DataSourceControl. В разметке страницы или .webpart файле можно указать какой DataSource использовать в веб-части.

SearchDataource

Для начала создадим DataSource, который возвращает результаты поискового запроса. На MSDN есть инструкция по созданию класса DataSource - http://msdn.microsoft.com/RU-RU/library/92e191zc(v=vs.90)

public class SearchDataSource: DataSourceControl
{
    protected override DataSourceView GetView(string viewName)
    {
        return new SearchDataSourceView(this);
    }

    public string QueryText { get; set; }

    public string SelectProperties { get; set; }        
}
Основная работа делается в классе SearchDataSo... читать дальше...
добавлено: 27 янв 14 просмотры: 811, комментарии: 0