пятница, 29 апреля 2016 г.

SharePoint. Переводные столбцы списка.

В SharePoint есть возможность задать имя колонки так, чтобы оно меняло своё значение в зависимости от языка. В представлении списка и на форме:


Для того, чтобы столбец стал переводным – необходимо задать его имя выражением:
$Resources:fileWithDict,key;

Где:
$Resources – признак выражения
fileWithDict – файл словаря, должен находиться по адресу “C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\Resources” и иметь имя fileWithDict.ru-ru.resx, ru-ru это культура.
key – ключ по которому ищется значение в файле-словаре

Задать переводное имя столбца можно даже при создании через web-интерфейс, вместо имени надо вписать выражение:


На самом деле там не словарь, а xml. Но вы об этом не думайте и воспринимайте как словарь.

Чтобы система показала соответствующий язык – ей надо знать предпочтения пользователя.
Чтобы указать языковые предпочтения перейдите в раздел "Мой язык и регион" как на картинке:

 
Потом выбираем используемые языки. Приоритет важен:


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



















Выбираем языковые параметры:

















Отмечаем дополнительный язык. Чтобы появился дополнительный язык, которого нет в списке - установите Language Pack.

Кстати, именно таким образом заданы встроенные поля. Проверим это созвав настраиваемый список и выведем все поля в представление:


А теперь поменяем добавим английский язык в список предпочитаемых или повысим его приоритет:


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

Так же можно переводить значения полей, подробнее описано в посте от Виталия Жукова.

SharePoint 2013. Проблема указания дня рождения. Ошибка "Введенная дата имеет недопустимый формат или лежит вне допустимого диапазона"

При попытке изменить дату рождения в службе профилей столкнулся с ошибкой:
"Введенная дата имеет недопустимый формат или лежит вне допустимого диапазона. Введите допустимую дату в формате 29 апреля."


Была попытка ввести дату без года в предложенном формате "29 апреля", но как оказалось, вводить дату надо в формате dd.mm, например так: 29.04

четверг, 31 марта 2016 г.

Ошибка при открытии списка SharePoint 2013

После свежей установки SharePoint Foundation 2013 не работают списки. При попытке открыть представления не удавалось просмотреть элементы, только заголовок:

Вместо элементов текст возникшей ошибки:
TypeError: Cannot read property 'replace' of undefined или TypeError: Не удалось получить свойство "replace" ссылки, значение которой не определено или является NULL.

Для исправления ситуации необходимо отредактировать файл clienttemplates.js по адресу:
C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\clienttemplates.js

Замените L_ItemOpenMenu на L_OpenMenu. Для принятия изменений выполните команду IISReset в cmd.exe

На данный момент (31.03.2016) можно просто обновиться до более поздней версии, это так же исправит проблему.

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

SharePoint.Создать ярлык документа.

SharePoint позволяет создавать ярлыки к документам.
Ярлык выглядит так:



Чтобы возможность создавать ярлыки появилась - необходимо ее включить. Изначально она не работает. Чтобы ее включить необходимо перейти в настройки списка:

В разделе "Дополнительные параметры" выбрать:


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



Из окна с доступными типами выберите "Связь с документом":




Перед созданием ярлыка необходимо знать путь к документу (из какой-то другой библиотеки) для которого мы создаем ярлык. Простой способ скопировать путь:





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

Появится форма создания, заполните ее, нажмите "ОК":


А потом еще раз "ОК":


В библиотеке появится элемент как в самом начале статьи:


При клике произойдет переход по указанной ссылке. В нашей ссылке в url был установлен параметр "Web=1", значит офисный документ сразу откроется в Office Web Apps:


Что именно произошло? Была создана страница .aspx:

Работу по перенаправлению в ней выполняет элемент SharePoint:UrlRedirector.


суббота, 30 января 2016 г.

SharePoint 2013. Ошибка на странице "Общий доступ" (Share Access error)

При попытке выдать отдельные права я столкнулся со странным поведением popup окна:


Как видно, появилась вторая полоса прокрутки и пропала ссылка "дополнительно".
Из-за этого не удается выдать права на элемент. Как выяснилось, ошибка содержится в скрипте sharing.js, его надо немного поправить. Для этого его надо открыть и отредактировать. Найти его можно по адресу:
C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\template\layouts

Теперь необходимо заменить: k.load(g,"ID","FileRef","FileLeafRef","Client_Title")
На: k.load(g,"ID","FileRef","FileLeafRef","Client_Title","Title")

Проблема решена:

среда, 30 декабря 2015 г.

Сдан экзамен 70-492:Upgrade your MCPD: Web Developer 4 to MCSD: Web Applications

Вчера удалось сдать экзамен 70-492:Upgrade your MCPD: Web Developer 4 to MCSD: Web Applications. Вот описание на сайте Microsoft.

С января 2015 года все экзамены сдаются через Person VUE, а не Thomson Prometric. Разницы в общем-то я не увидел, за исключением другого ПО для сдачи. Оплатил картой 60 €, сдавал в СофтЛайне.

Сам экзамен поделен на 2 части. Каждая часть является сокращенной версией экзаменов:
Чтобы пройти экзамен надо по каждой части набрать не менее 700 баллов, что тяжелее стандартного варианта.

Для подготовки рекомендую:

Как мне показалось - вопросы стали заметно адекватнее, чем были раньше на экзаменах по программированию от Microsoft.

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

SharePoint. Ошибка WebDAV при открытии библиотеки в проводнике. Нет доступа.

На узле имеется библиотека документов с очень большим количеством файлов и папок.
При попытке открыть библиотеку в проводнике - получил ошибку:


Текст ошибки:
Нет доступа к \\server\DavWWWRoot\site\library. Возможно, у вас нет прав на использование этого сетевого ресурса. Обратитесь к администратору этого сервера для получения соответствующих прав доступа.
Присоединенное к системе устройство не работает.


На английском языке:
\\server\DavWWWRoot\site\library is not accessible. You might not have permission to use this network resource. Contact that administrator of this server to find out if you have access permissions.
A device attached to the system is not functioning.

Несмотря на то, что в тексте ошибки речь идёт о правах доступа, к реальности это не имеет никакого отношения. Когда библиотека документов открывается в проводнике windows, то используется протокол WebDAV. Ошибка происходит из-за ограничений на получение количества данных по этому протоколу. Настройки хранятся в реестре Windows. Чтобы исправить описанную выше ошибку, необходимо сделать следующие шаги:

  • Откройте редактор реестра - regedit.
  • Перейдите к ветке реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\
  • Найдите ключ реестра FileAttributesLimitInBytesfor
  • Если его нет, то создайте ключ FileAttributesLimitInBytesfor с типом DWORD.
  • Дальше необходимо изменить его значение. Для удобства измените систему исчисления. Изначально скорее всего будет отмечена шестнадцатеричная:

    Поменяйте на десятичную и задайте значение 50000000, это максимальное значение:
После этого необходимо перезапустить службу "Веб-клиент":
net stop webclientnet start webclient
После выполнения этих шагов библиотека открылась через проводник.
Проблема в том, что эти настройки делаются на клиенте. Вероятно потребуется их распространить через GPO.