От разработчиков

Этой статьей мы открываем цикл материалов по новой версии нашего продукта, TDMS 4.0. Все сразу рассказать в одной статье у нас не получилось — только краткое, без иллюстраций содержание документа «Новое в TDMS 4.0» занимает около восьми страниц формата А4. Поэтому мы выбрали первые две страницы, в технические термины вплели лирические отступления, добавили несколько иллюстраций самого продукта и передали в редакцию CADmaster. Кстати, как вы думаете, о чем пишут на первых страницах? Конечно, о том, как теперь выглядит новый продукт, как и за какие веревочки можно подергать.

C момента выхода TDMS 3.0 прошло около трех лет. А это значит, что все это время мы занимались разработкой новой, четвертой, версии. Для нас каждая новая версия — это большой шаг вперед, это сотни тысяч строк нового кода и еще столько же перелопаченных старого.

Три года — хороший срок для выдержки вина. TDMS 4.0 имеет округлый вкус и приятные нотки спелого программного обеспечения. Это продукт контролируемого наименования по происхождению, его производство расположено в мастерских CSoft Development.

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

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

Красота спасет мир

TDMS 4.0 стал более подвижным и свободным в настройке главного окна. Для этого была использована зарекомендовавшая себя технология плавающих окон с возможностью их свободного расположения и связывания.

Как теперь может выглядеть TDMS — показано на рис. 1.

Рис. 1
Рис. 1

Есть и вариант, более привычный для большинства пользователей предыдущих версий (рис. 2).

Рис. 2
Рис. 2

Если вы не знакомы с этой технологией, кратко поясним, что все окна могут перемещаться относительно друг друга и по-разному закрепляться внутри главного окна. Перемещение и привязка окон происходят с помощью технологии drag&drop и двух несложных элементов управления: контекстного меню окна, в котором вы можете указать тип его привязки и вывода (рис. 3), и магического указателя, появляющегося во время перетаскивания и позволяющего быстро выбрать место расположения окна (рис. 4).

Рис. 3
Рис. 3
Рис. 4
Рис. 4

Кроме стандартных окон TDMS — дерева, состава, свойств и других — добавлены новые. Они призваны улучшить информативность TDMS и ускорить выполнение повседневных операций. Например, чтобы контролировать список открытых на редактирование документов и быстрее переходить к ним, достаточно добавить новое окно Редактируемые объекты.

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

Разделение панелей команд в первую очередь сделано для удобства и скорости обучения пользователей. Согласитесь, что гораздо легче освоить несколько наборов контекстно-зависимых команд, чем пытаться запомнить «раскладку баяна» из кнопок главного окна, половина из которых в настоящий момент недоступна.

Например, набор операций, выполняемых над списком информационных объектов и почтовых сообщений, отличается. У почты логично видеть команды Ответить, Переслать, а для объектов могут пригодиться команды Найти в дереве или Перейти вверх.

Также по просьбе наших партнеров, внедряющих у себя систему учета фактических трудозатрат, в TDMS добавлена функция просмотра персональной истории действий пользователя в системе. Она требуется в том случае, если сотрудник забывает, чем он занимался за отчетный период. Как показала практика, такая забывчивость свойственна большинству людей. Для удобства пользования окно Журнал событий также вынесен в отдельное окно и оснащен дополнительным фильтром, позволяющим быстро выбрать отчетный период (рис. 5).

Рис. 5
Рис. 5

К слову, о фильтрах. Как и раньше, фильтры позволяют быстро отбирать нужные записи как по условию целиком, так и по нажатию отдельной клавиши. Дополнительно TDMS 4.0 использует группировку значений, что позволяет задать фильтр, выбрав его из списка (рис. 6). Такой подход удобен при выборе статусов, значений классификаторов, типов событий и т.п.

Рис. 6
Рис. 6

Кроме системного набора окон, TDMS 4.0 позволяет разработчикам конфигураций добавлять собственные окна. Такие окна — это программируемые элементы управления, они могут содержать информацию любого вида и содержания. Используя технологию ActiveX, вы можете добавить компоненты TDMS, собственные программные компоненты или компоненты третьих производителей — с тем чтобы настроить TDMS под самые невероятные требования заказчика. При этом вы можете закрыть остальные окна, оставив пользователю только необходимые элементы взаимодействия с программой.

Одно из наиболее используемых свойств любой системы управления содержанием — поиск. Совершенствуя системы поиска в TDMS, мы столкнулись с очевидным парадоксом, который, тем не менее, требовал какого-то решения. Чем больше параметров поиска, тем поиск гибче и функциональнее. Но чем больше возможностей, тем сложнее их применение. Как примирить лед и пламень?

В TDMS 3.0 одним из видов поиска был поиск в адресной строке. Поиск производился по любой части описания информационного объекта, найденные объекты выводились в окно состава. У этого поиска было два основных недостатка. Первый заключался в том, что поиск по подстроке нельзя проиндексировать. Поэтому на больших базах данных (от миллиона объектов и больше) время работы этого поиска может превысить 10 секунд, что уже довольно много. Второй недостаток в том, что поиск идет только по описанию. И хотя в описание объекта входят его основные атрибуты, полным этот поиск не назовешь.

В TDMS 4.0 мы сделали следующее.

Адресная строка заменена на строку поиска. Для большинства пользователей, работающих в современных браузерах и навигаторах, это наиболее привычный инструмент для поиска. Кроме строки для ввода искомых данных на панели Поиск находятся команды поиска объектов, пользователей и почтовых сообщений (рис. 7).

Рис. 7
Рис. 7

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

В набор исходных данных, по которым производится поиск, могут быть добавлены любые свойства (атрибуты) объектов. Для этого администратору системы достаточно взвести на соответствующем атрибуте флажок, и это свойство будет добавлено в индексируемый контент (рис. 8).

Рис. 8
Рис. 8

Пожалуй, самое большое количество замечаний, которое мы получали от новых пользователей TDMS, касалось того, что в системе использовался нестандартный способ реакции на двойной клик мыши. Во всех предыдущих версиях системы по двойному клику открывался диалог свойств объекта. Такое поведение довольно оправданно, так как унифицирован сам двойной клик, а для выполнения файловой операции просмотра или редактирования требуется запуск специальной команды, что почти исключает непродуманные действия.

Но влияние файловой системы оказалось настолько велико, что под натиском предложений нам пришлось сдаться. В TDMS 4.0 двойной клик мыши может работать в двух режимах. Для пользователей, привыкших к TDMS, мы сохранили старое поведение. Новый обработчик двойного клика может быть настроен пользователем либо на раскрытие состава, либо на выполнение допустимой файловой операции (рис. 9).

Рис. 9
Рис. 9

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

Еще одним приятным добавлением в TDMS 4.0 стало применение технологии перетаскивания с помощью мыши. Скажем откровенно, раньше мы побаивались вводить эту технологию из-за того что TDMS имеет программируемый интерфейс и ряд действий пользователя с перетаскиванием может ввести в ступор любую оболочку. Большая часть ошибок современного программного обеспечения связана как раз с качественным скачком в развитии возможностей пользовательского интерфейса.

Но мы решили рискнуть. В TDMS 4.0 таскать можно все, ну или почти все: файлы из операционной системы в TDMS и внутри самой TDMS, почтовые сообщения, узлы классификатора и, конечно, объекты.

Кроме всех вышеперечисленных функциональных изменений, мы постарались сделать интерфейс TDMS более привлекательным и информативным. Например, мы изменили внешний вид диалога свойств объекта, открываемого во время его блокировки другим пользователем. Сделано это по просьбе наших партнеров, которые обратили внимание, что пользователям требуется более внушительное указание, что объект заблокирован другим пользователем (рис. 10).

Рис. 10
Рис. 10

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

Еще немного о файлах

Начиная с TDMS 1.0 в один объект системы (например, документ или чертеж) можно положить произвольное количество файлов произвольных форматов. Например, исходный чертеж хранится в формате DWG, его электронный печатный оригинал — в формате PDF, а отсканированная копия бумажного оригинала — в TIFF.

Благодаря богатым возможностям автоматизации TDMS 3.0, некоторыми нестандартными методами можно добиться даже того, чтобы хранить файлы не линейным списком, а в иерархической структуре, вместе с именами папок. Но одно дело поддерживать такую структуру искусственно и совсем другое — реализовать ее поддержку на уроне интерфейса обычного пользователя TDMS.

TDMS 4.0 обладает возможностью манипулировать файлами в иерархическом файловом составе объекта. Вы можете загрузить в хранилище системы папку из файловой системы, которая кроме файлов будет содержать другие папки с файлами. Такая функциональность требуется для систем, обладающих собственными менеджерами проектов, размещающими файлы не простым списком, а в дереве. Среди программных продуктов, разрабатываемых CSoft Development и другими производителями в области САПР, таких продуктов достаточно много. Впрочем, даже если вы захотите сохранить документ Microsoft Word в формате HTML, то кроме самого документа появится папка, в которую Word поместит файлы вставленных в документ изображений. Теперь, чтобы сохранить их в TDMS, вам не потребуется прибегать к специфическим методам загрузки и выгрузки (рис. 11).

Рис. 11
Рис. 11

Объем файловых данных, который вы можете поместить в один объект, ограничен только здравым смыслом. Но прежде чем поместить в TDMS всю вашу папку Мои документы, подумайте, а зачем вы это делаете?..

(Продолжение следует)

Сергей Загурский
E-mail: serge@csoft.ru