Заметки консультанта

Шамрай Александр Владимирович

Archive for Август 2009

Прикольная реклама Княжа

Posted by Шамрай Александр на Август 29, 2009

Увидел рекламу про хот-дог страховой компании княжи — улыбнуло. Решил поискать чего еще у них есть.

Хот-Дог

Дальнобойщики

Реклама

Posted in Забавное, Разное | 1 Comment »

Увеличение производительности ClearCase

Posted by Шамрай Александр на Август 28, 2009

По сути все что нужно для управления конфигурациями в ClearCase уже есть. Поэтому все усилия IBM Rational в развитии этого продукта вкладывает в увеличении производительности его основных операций. Недавно появился обзор на сайте IBM, который показывает, что улучшилось в версии IBM Rational ClearCase 7.1 в отношении производительности. Если кратко, то в версии 7.1 были сделаны серьезные доработки по улучшению работы службы Atria Location Broker Daemon (ALBD), которая является основным компонентом в клиент-серверной архитектуре ClearCase и отвечает за производительность основных операций, увеличена производительность операций на сервере регистраций и сделаны доработки по улучшению скорости работы удаленного клиента ClearCase (CCRC). Документ смотрим здесь.

Posted in ClearCase, IBM Rational | Отмечено: , , | Leave a Comment »

Как локализовать ClearQuest Web 7.0

Posted by Шамрай Александр на Август 25, 2009

<< Перейти в раздел «ClearQuest FAQ»

Если необходимо поменять какие-то текстовые надписи на формах ClearQuest Web (допустим, перевести на русский), то для этого необходимо

  1. Перейти в каталог продуктов Rational «Common\rwp\EmbeddedExpress\profiles\profile1\installedApps\DefaultNode\RationalClearQuestWeb.ear\CQWebModule.war\view\browser».
  2. Выбрать необходимый подкаталог, допустим «entitydef», если необходимо поменять надписи для формы сущности.
  3. Открыть на редактирование файл со словарем, «entitydef_en.xml» если это форма сущности.

Пример:

  • Изменение

  • Результат

Примечание:

Файлы-словари для верхнего меню находятся в каталоге «Common\rwp\EmbeddedExpress\profiles\profile1\installedApps\DefaultNode\RationalClearQuestWeb.ear\CQWebModule.war\dct\xsl» в файле «dct_en.xml».

Важно:

Все изменение должны вноситься в кодировке UTF-8, если вносим изменения с помощью блокнота, то можно выбрать «Сохранить как….» и установить кодировку.

Дополнительно:

Customizing form layout in CQWeb

Posted in ClearQuest FAQ, IBM Rational | Отмечено: , , , | Leave a Comment »

Управление рабочими элементами в MS TFS 2010 Beta1

Posted by Шамрай Александр на Август 23, 2009

Потестировал немного систему управления рабочими элементами в TFS 2010, тут небольшой результат моих экспериментов.

Рабочие элементы

Рабочий элементы в TFS – это единица записи в базе данных TFS, которая используется для управления заданиями в проекте TFS. Каждый рабочий элемент описывается набором атрибутов и моделью поведения, с помощью которой можно определить в каком состоянии находится тот или иной рабочий элемент, по какой причине он в этом состоянии оказался и т.д. С помощью набора рабочих элементов (их атрибутов и модели поведения) реализуются уже шаблоны процессов проектов разработки. С TFS поставляется два шаблона процессов:

  • MSF Agile для любителей организовать свой процесс на основе гибких методологий. Данный шаблон имеет небольшой набор рабочих элементов, которых в принципе должно хватать для основных задач гибкого процесса, т.е. не нагружать разработчиков «ненужной писаниной», дать им сконцентрироваться на реализации своих задач и обеспечить необходимый уровень работы с требованиями (сценариями использования).
  • MSF CMMI применяется в основном для организаций, в которых качество процесса и продукта стоит на первом месте. Этот шаблон уже имеет большее количество рабочих элементов и более сложные модели поведения для них.

 

Таблица 1. Различия рабочих элементов

 

  MSF Agile MSF CMMI
Рабочие элементы
Модель поведения для задачи
Кол-во полей на форме для задачи 13 25

 

Управление рабочими элементами

Основное управление рабочими элементами в TFS организовано с использованием клиента Tеam Explorer из Visual Studio. Из этого клиента доступны все операции, которые можно выполнять с рабочими элементами, а их немного:

  • Добавление рабочего элемента через меню «Team»:

Рисунок 1. Добавление рабочего элемента

  • Редактирование атрибутов рабочего элемента через его форму:

Рисунок 2. Изменение рабочего элемента

  • Удаление рабочих элементов не реализовано в TFS. Поэтому, если элемент был по ошибке введен или по какой-то другой причине он не нужен в проекте, то его необходимо закрыть с указанием причины такого действия. Однако если удаление недоступно из Team Explorer, то не факт, что нельзя удалить рабочий элемент. Ранее на форумах обсуждалась реализация такой возможности напрямую через базу данных, позже функция удаления рабочих элементов появилась в утилитах Power Tools.

 

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

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

Рисунок 3. Редактор запросов

  • Поддерживаются следующие типы запросов:
    • — обычный список рабочих элементов

Рисунок 4. Обычный список

  • — позволяет просматривать рабочие элементы, для которых верно условие выбора запроса, и связанные с ними рабочие элементы.

Рисунок 5. Список со связями

  • — выстраивает результат работы запроса в виде дерева рабочих элементов по связям «Родительский/дочерний элемент»

Рисунок 6. Дерево рабочих элементов

  • Кроме того, что и в предыдущих версиях TFS запросы в клиенте Tеam Explorer были разделены на командные и собственные, теперь можно организовывать все запросы в отдельные каталоги для более удобной навигации и поиска необходимых запросов:

Рисунок 7. Клиент Team Explorer

 

Связи между рабочими элементами

 

В предыдущих версиях TFS был довольно ограниченный набор связей между рабочими элементами. Точнее был один вид связи, который просто позволял указать, что один рабочий элемент как-то связан с другим, а как он связан и по какой причине это уже нужно было принимать на основе каких-то внутренних правил использования процесса или с помощью комментариев. Теперь же количество связей значительно увеличилось и они приобрели некий смысл:

  1. Родитель (Parent) – связываемых рабочих элемент указывается как родительский для текущего рабочего элемента и родительских связей может только не более одной для одного рабочего элемента.
  2. Дочерняя связь (Child) – связываемых рабочий элемент считается дочерним и их может быть любое количество.
  3. Предшественник (Predecessor) –т.е. рабочий элемент, который предшествует текущему, используется для организации последовательности реализации задач, требований и т.д.
  4. Последователь (Successor) – рабочие элементы, которые следуют за текущим, например, задачи, которые будут выполнены после текущей.
  5. Тестирует (Tested by) – используется для указания, каким рабочим элементом будет тестироваться текущий, допустим, каким тестом тестируется функциональное требование.
  6. Связанный (Related) – для реализации других связей, которые не относятся к вышеперечисленным.

Рисунок 8. Связи между рабочими элементами

Интеграция с MS Project

 

Интеграция TFS с MS Project позволяет менеджеру проекта свободно себя чувствовать и выполнять свои функции, используя только MS Project. Данная интеграция присутствовала и в ранних версиях TFS, но в ней было несколько но:

  1. В виду того, что родительские связи и связи последовательности были реализованы только в 2010 версии, то всю ту структуру задач и их последовательность можно было видеть только в плане проекта. Сформированная структура в MS Project никаким образом не отражалась на рабочих элементах.
  2. При импорте рабочих элементов в план не импортировались плановые сроки, а импортировалась только длительность. Т.е. если задача по какой-то причине удалялась из плана, то при последующем ее повторном импорте в план она оказывалась в начале плана.
  3. Если суммировать два предыдущим пункта и предположить, что по какой-то причине план был удален, то восстановить его из проекта TFS было уже невозможно. После операции импорта задач в план, все задачи оказывались в начале плана, восстановить вложенность, последовательность и плановые сроки было невозможно.

Теперь же все эти проблемы решены, т.е. вся спланированная информация корректно сохраняется и план можно в любой момент времени получить из проекта TFS.

С помощью интеграции можно делать следующее:

  • Импортировать рабочие элементы в план. Причем если рабочий элемент имеет дочерние связи, то они будут в автоматическом режиме обработаны и все дочерние рабочие элементы также будут импортированы в план.

Рисунок 9. Выбор рабочих элементов

  • Создавать рабочие элементы из плана MS Project. Если новая задача входит в состав какой-то суммарной, то рабочий элемент будет указан как дочерний по отношению к суммарному. Последовательность выполнения также сохраняется в виде связей Предшественник и Последователь.

Рисунок 10. Создание новой задачи

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

Рисунок 11. Решение конфликтов

  • Информация о плановых сроках, последовательности выполнения, структуре элементов в плане полностью соответствует информации в проекте TFS.

Рисунок 12. План проекта

Рисунок 13. План в проекте TFS

 

Интеграция с MS Excel

 

Еще одна полезная утилита в составе TFS. Интеграция с MS Excel позволит просто работать с рабочими элементами всем кому нет нужды использовать Visual Studio и MS Project, например, аналитикам.

С помощью этой интеграции можно делать:

  • Импортировать рабочие элементы в таблицу с использованием запросов с поддержкой иерархии на основе родительских и дочерних связей:

Рисунок 14. Рабочие элементы в MS Excel

  • Обновлять информацию о рабочих элементах на основе сконфигурированного запроса, причем если появляются новые рабочие элементы, то они автоматически добавляются в таблицу:

Рисунок 15. Выбор запроса для импорта и обновления рабочих элементов

  • Изменять рабочие элементы. При изменении рабочих элементов интеграция позволяет изменять только те поля рабочих элементов, которые доступны для редактирования в текущем состоянии, и вставлять только те значения, которые также соответствуют определенному состоянию. Если пользователь будет пытаться ввести какое-то несуществующее значение, то интеграции обязательно об этом сообщит.

Рисунок 16. Сообщение об ошибке

  • Интеграция позволяет определить тот список полей, который необходимо видеть в таблице:

Рисунок 17. Выбор полей

  • С помощью интеграции можно быстро мастером сформировать графические отчеты на основе существующих запросов:

Рисунок 18. Выбор запроса

Рисунок 19. Выбор графических отчетов

Рисунок 20. Результат работы мастера

Рисунок 21. Результат работы мастера

Дополнительно

Posted in Microsoft, Team Foundation Server, Visual Studio | Отмечено: , , , , | Leave a Comment »

Заправить дома принтер Canon LBP 2900 / 3000

Posted by Шамрай Александр на Август 22, 2009

Имеется дома принтер данной серии, решил тряхнуть стариной и самому подсыпать тонера ему. Поискал по форумам, оказывается картридж моего принтера идентичен с картриджем HP. Источник этот: http://www.awella.ru/hp2612.php.htm. Там еще много инструкций к разным типам картриджей с картинками.

В данной инструкции дано подробное описание заправки тонер-картриджа q2612a. Картриджи для принтера hp 1010, hp 1012, hp 1015 отлично заправляются. Единственное, может быть заправка этих тонер-картриджей стала немного трудней по сравнению с другими картриджами hp, надо открутить чуть больше винтиков и снять пружинку картриджа. А так не возникает никаких трудностей при заправке картриджа hp q2612a. Описанным способом заправляем эти тонер-картриджи мы. Способы заправки картриджей hp могут немного отличаться. Следует отметить, что в возможных способах заправки картриджей возможно много вариантов. В данной инструкции описываются основные моменты заправки картриджей hp.

Примерный объём тонера на одну заправку – 100 – 110 грамм.

 Для заправки тонер картриджа hp Вам понадобится некоторый инструмент. Необходима крестовая отвертка, кусачки или «утконосы», воронка для засыпки тонера и самодельное «шило».  Немного о «шиле». Оно изготовляется из обычного шила, путем изгиба его кончика градусов на 30-40. Оно будет необходимо нам на следующих этапах заправки наших тонер картриджей .
Заправлять мы будем картридж q2612a. Это внешний вид наших тонер картриджей .  Сначала необходимо снять пружинку картриджа hp .Отодвигаем защитную шторку барабана и снимаем пружинку с картриджа. Внимательно посмотрите на ее расположение и запомните его. Неправильно установленная пружина может существенно осложнить заправку картриджа hp.
 Откручиваем два винта крепящих крышку барабана картриджа hp. Начальный этап заправки картриджа. При заправке картриджа будьте внимательны и не торопитесь.  Снимаем крышку с картриджа hp.
 Аккуратно приподнимаем барабан за шестеренку и вытаскиваем его из картриджа. Фотобарабан – важный элемент картриджа hp . Заправляя картридж постарайтесь его не повредить.  Снимаем коротрон с картриджа. Тут ничего сложного главное не торопиться, производя заправку картриджа q2612a.
 На этой картринке изображено отверстие внутри картриджа, через которое мы будем выталкивать штифт крепления картриджа hp .  То же, но с другой стороны нашего картриджа. Для осуществления успешной заправки картриджа q2612a нам необходимо разобрать картридж и добраться до крышки от бункера с тонером.
 Берем шило, вставляем в отверстие и выталкиваем штифт из картриджа.  Тоже самое проделываем с другой стороны картриджа hp. В картридже могла остаться отработка, поэтому заправляя картридж не трясите его лишний раз.
 Теперь цепляем утконосами или кусачками штифт снаружи картриджа и вытаскиваем его.  Проделываем тоже самое с другой стороны нашего картриджа. Все, картридж hp разделен на две половинки. Первый этап заправки картриджа q2612a выполнен.
 Далее берем половинку тонер-картриджа с отработанным тонером. Можно поступить по-разному. Можно снять шторку барабана, открутить винты, и вытряхнуть отработку, а затем пропылесосить картридж. А можно аккуратно пропылесосить через щель между ракелем и подборкой тонера . Также можно просто вытряхнуть отработку из картриджа hp lj . В любом случае при осуществлении заправки картриджа необходимо тчательно вычистить бункер с отработкой ( старым и использованным тонером ).  Берем другую половинку тонер-картриджа hp с магнитным валом. С той стороны, где нет шестеренки на магнитном валу, откручиваем крышку картриджа. Аккуратно покачивая крышку, снимаем ее. Осуществлен важный этап заправки картриджа – мы добрались до крышки бункера с тонером.
 Придерживая пальцами магнитный вал, вытаскиваем пробку, закрывающую бункер для тонера в картридже. Заправка картриджа осуществляется тонером, который можно легко просыпать, и который легко разлетается при встряхивании. Производя заправку картриджа не торопитесь.  Далее засыпаем тонер в бункер, не забываем в это время поддерживать магнитный вал, а то он вывалится и просыпется тонер из картриджа. Заправляя картридж тонером, сам тонер предварительно встряхните в банке.
 Аккуратно одеваем крышку на картридж. Стараемся не повредить пружинку магнитного вала картриджа hp. Не забываем закрутить крышку картриджа винтом. Выполнен еще один важный этап заправки картриджа.  Берем половинку тонер картриджа с бункером отработки. Протираем коротрон и устанавливаем его в картридж. Далее устанавливаем в наш картридж q2612a барабан. Крышку барабана пока не устанавливаем, так как потом будет неудобно вставлять штифты, соединяющие половинки картриджа hp. Это уже конечные этапы заправки картриджа hp, а именно его сборка.
 Соединяем половинки картриджа hp и вставляем штифт сначала с одной стороны,  а затем с другой стороны картриджа. Дожимаем их отверткой. Смотрим чтобы шторка нормально закрывалась, не цеплялась за штифты картриджа hp.
 Придерживая барабан, одеваем крышку и закручиваем ее винтами. Заправка картриджа hp q2612a практически выполнена.  И последний этап заправки картриджа hp q2612a, одеваем пружинку. На картинке стрелочкой указано правильное положение пружинки в картридже. Если ее поставить не правильно, она будет задевать за барабан в картридже hp. Все, картридж заправлен. У вас получилась нормальная и качественная заправка картриджа q2612a. Желаем успехов !

Posted in Разное, Техника | 133 комментария »

Как создать сборку в TFS

Posted by Шамрай Александр на Август 14, 2009

<< Перейти в раздел «Team Foundation Build FAQ»

Для того чтоб создать сборку в TFS, нужно выполнить следующие шаги:

  • Правой клавишей мыши на папке «Построения» в проекте в командном обозревателе выбрать «Определение нового построения»

  • В появившемся диалоговом окне ввести наименование и описание сборки

  • Далее перейти на страницу «Файл проекта» и нажать кнопку «Создать»

  • В появившемся диалоговом окне выбрать проект, для которого будет выполняться сборка, и нажать «Далее»

  • На следующем шаге необходимо выбрать конфигурацию, в которой будет выполняться сборка, и нажать «Далее»

  • На следующей странице, если необходимо, можно выбрать список тестов, которые будут автоматически выполняться после сборки проекта. Далее нужно нажать кнопку «Готово»

  • На странице «Параметры построения по умолчанию» нужно выбрать сервер сборок, на котором будет собираться проект, и сетевой каталог, в который будут выкладываться продукты и результаты сборки.

  • На странице «Триггер» можно установить параметры запуска сборки. Сборка может запускать по запросу, по расписанию или после каждой регистрации изменений, что необходимо для непрерывной интеграции.

Posted in Build FAQ, Microsoft, Team Foundation Server FAQ, Visual Studio | Отмечено: , , , , , , | Leave a Comment »

Как включить проверку на выполнение тестов при возврате изменений в TFS

Posted by Шамрай Александр на Август 13, 2009

<< Перейти в раздел «Team Foundation Version Control FAQ»

В TFS предусмотрены механизмы проверки выполнения тестов перед постановкой выполненных изменений под версионный контроль. Основной принцип заключается в том, что когда выполняется возврат изменений, просматривается, был ли удачно выполнен на локальной машине необходимый тест. Если тест не был пройден, то разработчик не сможет положить свои изменения на сервер, до тех пор, пока его не пройдет с положительным результатом. Для того чтоб включить проверку на удачное выполнение тестов, необходимо сделать следующее:

  • Правой клавишей мыши на проекте в командном обозревателе выбрать «Параметры командного проекта – Система управления версиями…»

  • В окне параметров выбрать вкладку «Политики возврата» и нажать кнопку «Добавить…». В Появившемся окне нужно выбрать «Политика тестирования».

  • Далее необходимо выбрать файл метаданных тестов (vsmdi) проекта и отметить те тесты, которые должны быть успешно пройдены перед возвратом изменений на сервер TFS

  • В дальнейшем при попытке вернуть изменения на сервер TFS не выполнив необходимые тесты, будет появляться соответствующее сообщение.

Posted in Microsoft, Team Foundation Server FAQ, Version Control FAQ, Visual Studio | Отмечено: , , , , , | Leave a Comment »

Как организовать оффлайн разработку в TFS

Posted by Шамрай Александр на Август 9, 2009

<< Перейти в раздел «Team Foundation Version Control FAQ»

Иногда присутствует необходимость забрать проект (например, домой, если что-то не успеваем) и после зарегистрировать все сделанные вне офиса наработки в общем репозиторие. Встроенных инструментов в TFS для такого вида работ нет.  Основная проблема в этом случае заключает в том, что заранее не известно какие файлы будут изменены, а после неочевидно какие были отредактированы. Поэтому в этом случае стоит использовать некую автоматизацию (написать отдельный скрипт) процесса возврата исходного кода примерно в следующем порядке:

  1. Когда необходимо вернуть исходный код в репозиторий TFS, измененный вне офиса проект копируется в отдельную папку.
  2. Далее с помощью утилиты сравнения из командной строки (например, windiff) выполняется сравнение этой папки с рабочим пространством.
  3. Скрипт анализирует результат работы утилиты сравнения и если будут найдены различия в файлах, то:
    1. С помощью утилиты командной строки “tf.exe” необходимо выполнить check-out для файла.
    2. Измененный файл копируется в рабочее пространство.
  4. После окончания процесса анализа и копирования необходимо проверить правильно ли все прошло и выполнить check-in для всех изменений.

Обсуждение темы на форуме MSDN: http://social.msdn.microsoft.com/Forums/ru-RU/ruvsts/thread/e9670b6f-064d-4587-9c20-9262c83c46c4

Posted in Microsoft, Team Foundation Server FAQ, Version Control FAQ, Visual Studio | Отмечено: , , , , , | Leave a Comment »

Как выполнить экспорт и импорт части схемы?

Posted by Шамрай Александр на Август 7, 2009

<< Перейти в раздел “ClearQuest FAQ”

Для этого используется утилита ClearQuest (CQ) cqload, которая позволяет выполнять экспорт одной или нескольких версий схемы репозитория из одной из базы данных CQ и импортировать в другую.

Для этих целей cqload имеет две подкоманды:

  • exportintegration – экспорт изменений для схемы на локальный диск. Используется с параметрами:
    • -dbset <connection name> – наименование подключения CQ
    • <cq-login> – логин для подключения к базе данных CQ
    • <cq-password> – пароль
    • <schema name> – наименование схемы
    • <begin_rev> – номер версии схемы, с которой выполнять экспорт
    • <end_rev> – номер версии схемы, по которую выполнять импорт
    • <recor_type_to_rename> – имя типа запроса, который будет переименован при импорте
    • “<script full path name>” – полный путь к файлу, в который будет экспортирована часть схемы
  • importintegration – импорт (интеграция) изменений для схемы в базу данных CQ. Используется с параметрами:
    • -dbset <connection name> – наименование подключения CQ
    • <cq-login> – логин для подключения к базе данных CQ
    • <cq-password> – пароль
    • <schema name> – наименование схемы
    • <new_recor_type_name> – новое имя для типа запроса, если было указано <recor_type_to_rename> при экспорте
    • <integration_name> – наименование для интеграции
    • <integration_rev> – номер версии схемы, которая будет создана, на 1 больше текущей
    • “<script full path name>” – полный путь к файлу, или из которого будет выполнен импорт части схемы
    • <form_name> – имя формы, в которую будут добавлены новые закладки, сделанные в интеграции

Пример экспорта:

cqload exporintegration -dbset 7.0.0 admin “” TestStudio 8 8 “” “c:\temp\teststudioschema.txt”

Пример импорта:

cqload importintegration -dbset 7.1.0 admin “” TestStudio “” From_70_to_71 9 “c:\temp\teststudioschema.txt” “”

Дополнительно

Сценарий создания нового типа запроса с помощью cqload exportintegration и importintegrationhttp://www-01.ibm.com/support/docview.wss?uid=swg21130266

Posted in ClearQuest FAQ, IBM Rational | Отмечено: , , , | Leave a Comment »

Как использовать TFS без домена

Posted by Шамрай Александр на Август 7, 2009

<< Перейти в раздел «Team Foundation Server Admin FAQ»

Если организация не использует Windows-домен в своей работе, то для использования TFS можно использовать зеркальные учетные записи. Для этого нужно использовать одинаковых пользователей на сервере TFS и на клиентских рабочих местах. Т.е. если на рабочем месте используется «Пользователь А» и имеет «Пароль А», то для того, чтоб он мог работать с проектами TFS, на сервере TFS нужно создать такого же «Пользователя А» с «Паролем А».

Posted in Admin FAQ, Microsoft, Team Foundation Server FAQ, Visual Studio | Отмечено: , , , , , | 2 комментария »

 
%d такие блоггеры, как: