пятница, 30 июля 2010 г.

Как в Team Foundation Server 2010 настроить выпадающие значения в "Кому назначено"

У рабочих элементов есть поле - "Кому назначено". Но по умолчанию там видны абсолютно все учётные данные, а по идее-то там должны быть только юзеры, которые участники проекта.

Оказывает это в меру легко и также трудно сделать. А вот почему - легко исправить значения этого поля в одном типе рабочего элемента, но вот если нужно исправить во всех, то придётся очень много кликать мышкой, а рутинная работа - самая сложная.

Делается это так.
Устанавливаем Visual Studio Power Tools (оттуда нам нужен Process Editor).
В Visual Studio лезем в меню Tools\Process Editor\Work Item Types\Open WIT From Server
Выбираем коллекцию проектов, затем проект и тип рабочего элемента.
Получаем список полей элемента, нас интересует поле "Кому назначено".
Открываем параметры, заходим во вкладку "Rules" удаляем все правила нафиг =).
Теперь нужно добавить два правила:
ALLOWEDVALUES (в параметры снизу добавьте "[Project]\Участники" и поставьте галку "exclude groups").


ALLOWEXISTINGVALUE (это позволит отфильтровать в списке удалённые и прочие левые учётки)
Всё, теперь сохраните и проверьте - работает!




Один минус - захотите для всего проекта так сделать - заколебётесь. Как вариант исправить в шаблоне процесса один раз во всех элементах и создавать проекты по исправленному шаблону.

Изменение титулов (названий) страниц Microsoft SharePoint для SEO

С точки зрения SEO у SharePoint титульники страниц формируются кривовато:

"Локализированное слово-приставка" + " - " + "название сайта"

Посмотреть можно так:
Запускаем SharePoint designer 2010
Открываем портал
Открываем любую страницу портала
Видим следующее:

<asp:Content ContentPlaceHolderId="PlaceHolderPageTitle" runat="server">
<SharePoint:EncodedLiteral runat="server" text="<%$Resources:wss,multipages_homelink_text%>" EncodeMethod="HtmlEncode"/> - 
<SharePoint:ProjectProperty Property="Title" runat="server"/>
</asp:Content>

А сгенерит нам это примерно вот что на каждой странице:
<title>Домашняя - Портал студентов МГППУ</title>

$Resources:wss,multipages_homelink_text% - означает, что нужно обратиться к файлу ресурсов wss и выдать значение multipages_homelink_text.
SharePoint:ProjectProperty Property="Title" - выдаёт название узла.


Это не очень удобно, ибо это слово-приставка (в английской версии - Home, в русской "Домашняя") совершенно не в тему, вернее мешается своей бессмысленностью.

А хотелось бы получить нормальный, информативный заголовок страницы. Для того же SEO хорошо бы употреблять в заголовках название сайта. В моём случае это "Портал студентов МГППУ".

Есть три варианта исправления:
  1. Вручную переправить все страницы портала (это если на работе нужно что-то делать, а работы у вас нет);
  2. Переправить Site Definition, а другими словами - шаблоны страниц (это если опять делать нечего, но есть желание не тратить время попусту и сделать что-то полезное);
  3. Исправить значение ресурса "$Resources:wss,multipages_homelink_text" (это не функционально (т.е. порядок слов в title не поменяете, но если нужно просто заменить "Домашняя" на что-то более наглядное самое оно)).
Насчёт третьего пункта есть уточнение: тут тоже можно сделать по тупому (ура!) - исправить ресурсный файл в C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\Resources (14 замените на 12, если SharePoint 2007). Так делать не надо! Хотя ведь обязятельно какой-нить "крутой" прогер полезет там править.

Менять значение ресурса нужно в ресурсах веб-приложения:
Запускаем менеджер IIS;
Находим нужный нам сайт;
Открываем его проводником;
Захожим в директорию App_GlobalResources;
Открываем файл wss.ru-ru.resx блокнотом (не забудьте поменять для всех локалей, которые вы используете!);
Ищем строчку multipages_homelink_text и меняем текст.

Должно получиться что-то типа того:
<data name="multipages_homelink_text">
  <value>Портал студентов МГППУ</value>
</data>

Всё, вы поменяли значение ресурса и после перезагрузки веб-приложения изменения применятся.


понедельник, 26 июля 2010 г.

Как сделать загрузку .cer файлов с сертификатами через IIS

Когда пытаемся выложить файл .cer для скачки на сервере IIS выпадает 403 ошибка (access denied).
Всё потому, что файлы с расширением .cer IIS считает исполняемыми (также как .aspx и прочее). Нужно просто удалить это понимание у IIS и всё будет работать - файлы начнуть скачиваться.

Делается это так:
Заходим в свойства веб-сайта


Вкладка "Домашний каталог"

Кнопка "Настройка"

Ищем теперь там среди расширений ".cer" удаляем сопоставление кнопкой "Удалить".
Это всё. Сохраняем и сертификаты начинают скачиваться как обычные файлы.

воскресенье, 25 июля 2010 г.

ЖЭК города Мытищи (ЖКХ, ЖРЭУ)

И последнее:

Актуальная инфа всегда здесь


МУНИЦИПАЛЬНОЕ УНИТАРНОЕ ПРЕДПРИЯТИЕ ПО ЭКСПЛУАТАЦИИ ЗДАНИЙ И СООРУЖЕНИЙ «ЖИЛИЩНОЕ ХОЗЯЙСТВО» 


Директор - ГУБАНОВ Владимир Иванович 
Контактные телефоны: приемная – 586-33-13, 
Факс: 586-97-00. 
Аварийно – диспетчерская служба: (495)586-33-03 
Адрес: Россия, 141008, Московская область, г. Мытищи, ул. Крупской д.11а 
Адрес электронной почты: mup_jx@mail.ru. 
Приемные дни: 
Директор - понедельник с 15:00 до 18:00; 
Главный инженер – среда с 15:00 до 18:00. 

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

Жилищный фонд, обслуживаемый МУП «Жилищное хозяйство» 
(закрепленные дома по ЖРЭУ) 
ЖРЭУ – 1 
Начальник Миронова Ольга Анатольевна тел. 582-81-41, 581-03-45  ул. Летная, д.25 (3-й подъезд)


ул.Летная
д.25, д.27, д.28к.1, д.28к.2, д.29к.1, д.29к.2, д.30к.3, д.32к.1, д.32к.2, д.34к.2, д.36к.1, д.36к.3, д.38к.1, д.38к.2
ул.Юбилейная
д.19, д.21к.1, д.23к.1, д.25к.1, д.25к.2, д.27к.1, д.27к.2, д.29к.2, д.33, д.33к.1, д.33к.3, д.34, д.35к.1, д.35к.2, д.35к.3, д.36к.1, д.36к.2, д.37к.1, д.37к.2, д.38к.3, д.39, д.40к.2

ЖРЭУ – 2 
Начальник Копылов Александр Иванович тел .581-55-65, 581-65-10, 581-02-36, 582-86-31 Новомытищинский пр-кт, д.49, к.1 


Новомытищинский пр-т
д.37, д.37к.2, д.39к.1, д.39к.2, д.39к.4, д.41к.1, д.41к.2, д.41к.3, д.41к.4, д.43к.1, д.45к.1, д.45к.2, д.45к.3, д.45к.4, д.47к.1, д.47к.2, д.47к.3, д.47к.4, д.49к.1, д.49к.2, д.78, д.80к.1, д.80к.2, д.80к.3, д.80к.6, д.80к.7, д.80к.8, д.80к.9, д.82, д.82к.1, д.82к.2, д.82к.3, д.82к.4, д.82к.4а, д.82к.5, д.82к.7, д.82к.8, д.82к.9, д.86к.1, д.86к.2, д.86к.3, д.86к.4, д.86к.5, д.88к.1,д.88к.2, д.88к.3

ЖРЭУ – 3
Начальник Рыкова Любовь Павловна тел. 586-04-33, 586-07-35 Новомытищинский пр-т, д.42/9


ул.Матросова
д.17/17, д.21/18, д.27, д.29
Новомытищинский пр-т
д. 23/7, д. 25, д. 27, д.29/9, д.33к.1, д.33к.2, д.33к.4, д.33к.5, д.42/9, д.50/10, д.52, д.56, д.58, д.60, д.62, д.64, д.66, д.68, д.70
ул.Терешковой
д.2, д.2 к1, д.2а, д.2 к.2,,д.3а, д.4, д.5, д. 6, д. 6, д.7, д.11, д.12, д.12а, д.13, д.14, д.15, д.16, д.16а,д.21, д.21к.1, д.21к.2
ул.Щербакова
д. 1, д.1к1, д.1к2, д.3а, д.5,д.7а, д. 7б,д.11, д.11а, д.13, д.15, д.15а
ул. Колпакова д. 12, д. 14 

ЖРЭУ – 4 
Начальник Волкова Ольга Сергеева тел. 583-97-60 ул. Станционная - д.3, к.2 


ул.Станционная
д.1к.1, д.1к.2, д.3к.1, д.3к.2, д.3к.3, д.5, д.5к.1, д.5к.2
Новомытищинский пр-т
д.1к.1, д.1к.2, д.3/12
ул.Шараповская
д.2к.1, д.2к.2, д.2к.3, д.4к.1, д.4к.2, д.6к.1, д.8к.1, д.8к.2, д.10к.1

ЖРЭУ – 7 
Начальник Филькова Ольга Алексеевна тел. 586-65-17 ул. Летная, д.15/20 


ул.Лётная
д.14к1, д.14к2, д.14к3, д.16к2, д.16к3, д.18к1, д.18к2, д.18к3, д.18к4, д.18к5, д.20к1, д.20к2, д.20к3, д.22к2, д.22к3, д.22к4, д.24к1, д.24к2, д.24к3
ул.Мира
д.21/12, д.23, д.25, д.27, д.29, д.31, д.33
ул.Юбилейная
д.3, д.3к1, д.3к2, д.3к3, д.5, д.7, д.9, д.11, д.11к1, д.11к2, д.11к3, д.11к4, д.13, д.15
ул. Колпакова д. 17, д.19. д.21 
ул. Крупской д.17/4, д.19, д.23а, д.23/2, д.25 
ул. Летная д.5а, д.6, д.6а, д.7 

Электронная приёмная города Мытищи

Ну вот, ещё одна полезная вещь
http://www.mytischi-city.ru/rcpt/askformsgl.php

Телефон отдела защиты прав потребителей города Мытищи

Попался на глаза, запишу на память.
Не проверял!

583-18-89
141120 г.Фрязино, Московская обл., Заводской проезд, д.4

Заправка для салата

Самая обычная, стандартная заправка для овощного салата во франции:

3 ложки оливкового или любого другого масла
1 ложка винного уксуса 3%
щепотка соли
в три раза больше чёрного перца

ещё можно добавить:
чеснок
горчица
сахар (если кисло)
если не кисло - вместо уксуса лимон
базилик

понедельник, 19 июля 2010 г.

Статистика дневников в Blogger

Оказывается всё уже сделано, только тестится. Заходим на http://draft.blogger.com и видим новую вкладочку "Статистика"


А ещё у них новое меню загрузки изображений (как оттуда удалить случайно загруженную фотку?! O_o)

Team Foundation Server 2010 & Web-project deploy

<понудим>
TFS 2010 в последнее время меня весьма занимает, причём не всегда в хорошем смысле - две недели возился, пытаясь настроить такую простую вещь как деплой приложения на веб-сайт.
Основная проблема, почему нельзя это сделать легко и просто стандартна для Microsoft - есть несколько вариантов (по крайней мере я знаю вариентов 5-7) как это сделать, но мало где они описаны подробно.
Я вообще не говорю про то, что найти вменяемую документацию по MSBuild нереально, её просто нет.
Ну так вот, какие у нас есть варианты:

  • Самый быстро бросающийся в глаза - параметрами MSBuild
  • Каким-нить target'ом (типа AfterBuild) после сборки в том же MSBuild
  • Создав и настроив файл *.targets в проекте - это опять для MSBuild
  • Каким-нить bat файлов или событием тупо скопировать директорию
  • И т.п. лабуда чаще всего связанная с MSBuild.

Ну как всегда: параметры не хотят работать, будто MSBuild их не видит; события обрабатывать не очень удобно и просто и т.п.
Как всегда всё оказалось совсем не там, где искали. Про настройку (для деплоя) MSBuild можно забыть. Вернее не совсем забыть, но с другого конца подойти. Оказывается эти хитрые Микрософты, которые и так уже задрали с рабочими процессами в SharePoint и здесь их умудрились пропихнуть!
< /понудим>

Так вот решение элементарное, никаких targets и т.п. неудобной лабуды не нужно! Ура!
В VS 2010:

  1. В разделе Builds нажимаем правой кнопкой на какой-либо Build definition и выбираем "Open Process File Location" (Ну Нафиг С Большой Буквы Каждое Слово Каждого Пункта Меню Делать?!) ИЛИ в Source Control заходим в папку BuildProcessTemplates (всегда пугали названия папок без пробела).
  2. Наша жертва - DefaultTemplate.xaml. Открываем её.
  3. Это обычный рабочий процесс (workflow), нам нужно добавить в самый конец просто копирование скомпиленного проекта в директорию нужного нам сайта.
  4. Сначала добавляем AgentScope, называем красиво - WebDeploy (не важно как)
  5. Внутри него добавляем активность - CopyDirectory. Выставляем свойства. По названию свойств догадаетесь что они значат, надеюсь =) BuildDetail - переменная рабочего процесса, посмотрите описание интерфейса IBuildDetail, если хотите от неё ещё чего-то.
    • Destionation = "C:\Inetpub\wwwroot\test\request\"
    • Source = BuildDetail.DropLocation + "/_PublishedWebsites\HelpDeskRequest\"
  6. Всё, сохраняем, Check in, запускаем билд. Рабочий процесс выполнится и скопирует директорию куда надо =)

суббота, 17 июля 2010 г.

Портал студентов МГППУ

В московском городском психолого-педагогическом университете я всё же буду продвигать сайт для студентов =)
Уже готова примерная концепция, планируем наладить связь со студентами и преподавателями.
Студентам - площадку для общения, календари, объявления, live edu.
Преподам - личный кабинет для хранения материалов по работе (презентации, лекции и прочее).

С преподами, конечно, будет весело, предупреждают меня уже сейчас. Но после сотрудников МГППУ уже ничего не страшно =)))

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

Технологии - Microsoft Sharepoint 2010 или 2007.

Буран-2,5 (модуль порошкового пожаротушения)




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

Всего 1000 рублей. Хочу купить, зачем пока не знаю =)

среда, 14 июля 2010 г.

Баг в Team Foundation Server 2010

Ну вот, привычное начало -= пол часа пытался изменить имя пользователя для службы построений - ни в какую не видит локальных юзеров, только AD.
Т.е. пишу sharepointdev\tfsBuilder - говорит не вижу такого юзера.
Решил просто - изменил юзера службы в "Службах" администрирвоания винды. Ради интереса зашёл снова в настройки контроллёра глянуть что там написано, оказалось так: ".\tfsBuilder". Интересно, если бы руками ввёл, заработало бы всё? Лениво проверять, нажал запуск, вот уже минуту приложение не отвечает, а в службах пишется, что служба запускается. Будем надеяться =)

суббота, 10 июля 2010 г.

Анекдот

Как распознать кто есть кто в психиатрической лечебнице?
Нужно подойти к первому попавшемуся и плюнуть ему в лицо.
Если первый попавшийся начал плакать - это больной;
Если ругаться - посетитель;
Если дал в морду - санитар;
Если плюнул в ответ - лечащий врач.

А ещё хотел написать про настройку Team Foundation Server 2010, чтобы в поле "кому назначено" рабочих элементов были видны только определённые записи, а не всякие Local service, но плюнял - идиотский snipping tools забесил...