• Авторизация для ленивых. Наши грабли


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

      Поехали!
    • Elastic Search в enterprise-проектах

        В рамках этой статьи я поделюсь опытом использования Elastic Search во внутренних продуктах 2ГИС, в частности, в собственной системе для организации Call-центра. А также расскажу, какие проблемы мы смогли решить, используя этот поисковый движок.


        Читать дальше →
      • Раскраска Calendar List

          Введение


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

          Читать дальше →
        • Установка Sharepoint фермы

            Начали собирать ферму из 2ух фронтендов + сервер MS SQL.

            На обе машины — MOSS 2007 + WSS SP1 + MOSS SP1
            Настроили все как обычно, сделали базу на одной машине — потом накатили Infrastructure Update
            НИ В КОЕМ СЛУЧАЕ НЕ СТАВЬТЕ ЭТОТ АПДЕЙТ СРАЗУ ЕСЛИ СОБИРАЕТЕСЬ ОБЬЕДИНЯТЬ СЕРВЕРА В ФЕРМУ!

            В итоге, получили что на одном сервере версия шарпоинта больше чем на 2ом (тк для установки обновления инфраструктуры нужно уже сконфигурировать базу данных)
            А база при установке фермы должна быть общая… поэтому команда stsadm'a на присоединение к ферме кидает Securtiy Exception :(

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

            UPDATE:

            Конфигурируем infrastructure update на 1ой машине… валится с ошибкой, что на 2ой чего-то не хватает для полного счастья. Предлагает запустить psconfing.exe -cmd upgrade -force на 2ой машине.

            При попытке сконфигурировать infrastructure update на 2ой машине фермы вылетает

            Ошибка: Сбой обновления продуктов и технологий SharePoint.


            На technet.microsoft.com было найдено описание проблемы:

            При добавлении нового веб-сервера в существующую ферму, в которой не содержится веб-приложений, и обновлении веб-сервера с последующим запуском мастера настройки продуктов и технологий SharePoint может выдаваться сообщение об ошибке Failed to upgrade SharePoint Products and Technologies.

            Эта ошибка возникает в том случае, если мастеру настройки продуктов и технологий SharePoint не удается найти или изменить файл Web.config.


            Решение по проблеме:

            Для устранения этой неполадки необходимо вручную скопировать файл Web.config из папки <диск>:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Config в папку <диск>:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\Template\Layouts. После копирования файла Web.config в папку "Layouts" мастер настройки продуктов и технологий SharePoint можно запустить повторно.


            топаем psconfing.exe -cmd upgrade -force повторно, вроде все завелось :)

            Развертывание обновлений
            PS: Да, еще забыл сказать, что не нужно секюрить настройки машин до добавления в ферму.
            (Команда psconfig.exe -cmd secureresources).
          • Почему GridView убирает все оформление при пустом DataSource

              Задался данным вопросом недавно.
              Взял рефлектор, открыл сборку System.Web

              Вот что нарыл:

              Метод CreateChildControls у GridView:
              switch (count)
              {
              case -1:

              // удалено

              case 0:
              if ((this.EmptyDataTemplate != null) || (this.EmptyDataText.Length > 0))
              {
              this.CreateRow(-1, -1, DataControlRowType.EmptyDataRow, DataControlRowState.Normal, dataBinding, null, array, rows, null);
              }
              else
              {
              // Вот она пакость...
              this.Controls.Clear();
              }
              this._storedDataValid = false;
              this._firstDataRow = null;
              return 0;
              }


              * This source code was highlighted with Source Code Highlighter.

              Метод обхода — наследоваться от GridView, перегружать CreateChildControls, копировать содержимое этого метода из System.Web, естественно, изменив данный кусок кода.

              На днях попробую подобную штуку провернуть.