вторник, 27 сентября 2011 г.

Дата и время на страницах SharePoint


Часто на портале требуется отобразить текущие дату и время. Например, на скриншоте портала всегда будет привязка содержимого к определенной дате.

Чтобы это сделать, в нужном месте (например, на главной странице, если требуется отображать дату на всех страницах) добавьте следующий код:

<div id="current-time"/></div>

<SCRIPT type=text/javascript>
                                                           function zDate() {
                                                              pad = function (val, len) {
                                                                                val = String(val);
                                                                                len = len || 2;
                                                                                while (val.length < len) val = "0" + val;
                                                                                return val;
                                                                        };
                                                              var cur = new Date();
                                                              var dweek = [ 'воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота' ];
                                                              var nmonth = [ 'января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря' ];
                                                              var t = pad(cur.getHours()) +':'+ pad(cur.getMinutes()) +':'+ pad(cur.getSeconds());
                                                              var d = cur.getDate() + ' ' + nmonth[(cur.getMonth())] +' ' + cur.getFullYear();
                                                              var out = d +', '+ dweek[cur.getDay()];
                                                              return out;
                                                           }
                                                           document.getElementById('current-time').innerHTML = zDate();

</SCRIPT>

Получаем такой текст:

27 сентября 2011, вторник

Аналогично, можно отобразить текущее время.

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

Печать страниц SharePoint

При печати страниц SharePoint многие элементы разметки не печатаются или выглядят по-другому.

Например, левая колонка и вкладки ленты не отображаются.

Страница на экране:

image

Та же страница распечатанная:

image

Как это работает и как подготовить верстку страниц так, чтобы она печаталась максимально информативно?

Разработчики SharePoint используют для этого стили в документе corev4.css:

@media print{
.ms-globallinks,.ms-siteaction,.ms-areaseparatorcorner,.ms-titlearealeft,.ms-searchform,.ms-banner,.ms-buttonheightwidth,
.ms-areaseparatorright,.ms-titlearearight,.ms-rightareacell,.ms-leftareacell,.ms-areaseparatorleft{
display:none;
}

@media print{
body #s4-ribbonrow{
display:none;
}

Соответственно, рекомендую использовать подобные стили. Как Вы поняли, можно не только скрывать элементы, но и применять любые другие приемы стилизации.

четверг, 1 сентября 2011 г.

SharePoint и русские доменные имена

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

image

Этот адрес можно узнать в Internet Explorer:

image

UPD 14.09.2011:

1. Закодированный адрес называется punycode

2. Его можно сгенерить с помощью многочисленных сервисов. Например, тут.

2. Если требуется, чтобы сайт в IIS был не безымянным (т.е. отвечал не на все заголовки), то в привязках сайта необходимо указать адрес в незакодированном виде:

image