Есть приложение для автоматизации техпроцессов.
Имеются такие понятия: Объекты, Пользователи, Поставщики данных и т.д. (около 10 понятий первого уровня).
Объекты в себе содержат Свойства и Тревоги (2-й уровень).
А свойства содержат Атрибуты и Привязки (3-й уровень).
Т.е. сразу напрашивается древовидная структура Объект-Свойства-Привязки.
Создан интерфейс настройки по такой структуре:
Как видно, вместо 3-х уровней сделано 6 уровней (т.е. "Объекты узла" — Объект — "Свойства" — Свойство — "Зависимости" — Зависимость).
Работа в основном происходит со свойствами (4-й уровень) и, реже, с зависимостями (6-й уровень).
В начале применения такая структура себя оправдывала. Но как только количество объектов и/или свойств увеличивается, процесс настройки становится жутко долгим, потому как приходится постоянно лазить по дереву, раскрывая и закрывая те или иные узлы.
Оцените такой интерфейс, выложите что думаете.
Кто может сказать, рациональнее ли в данном случае применять вкладки? Например, так:
Здравствуйте, cool_rus_killer, Вы писали:
__>Есть приложение для автоматизации техпроцессов. __>Имеются такие понятия: Объекты, Пользователи, Поставщики данных и т.д. (около 10 понятий первого уровня). __>Объекты в себе содержат Свойства и Тревоги (2-й уровень). __>А свойства содержат Атрибуты и Привязки (3-й уровень). __>Т.е. сразу напрашивается древовидная структура Объект-Свойства-Привязки.
Есть такое мнение (хотя, в общем, не очень обоснованное), что вы напрасно проектируете интерфейс на основе *данных*, которые храните. Попробуйте отталкиваться от *задач*, которые решаются этой системой, может, дерево там вообще незачем, вместе с вкладками.
Подробнее объяснить не смогу (сейчас набежит толпа юзабилистов и поможет).
Понял только, что дерево уже не удовлетворяет, саму задачу не понял. Но если задачу озвучить не осмеливаешься, то могу подсказать только общими фразами.
Тебе нужно разделить дерево на отдельные окна. Самый простой вариант — поделить все дерево в соответствии с группировками верхнего уровня. Может быть ещё деление где-нибудь посередине, если сможешь какой-нибудь уровень представить в виде самостоятельных объектов.
Здравствуйте, grosborn, Вы писали:
G>Понял только, что дерево уже не удовлетворяет, саму задачу не понял. Но если задачу озвучить не осмеливаешься, то могу подсказать только общими фразами. G>Тебе нужно разделить дерево на отдельные окна. Самый простой вариант — поделить все дерево в соответствии с группировками верхнего уровня. Может быть ещё деление где-нибудь посередине, если сможешь какой-нибудь уровень представить в виде самостоятельных объектов.
Задача в том, чтобы сделать удобный интерфейс настройки.
На первом уровне имеются папки такие: Объекты, Пользователи, Поставщики, Представления, ... (всего 10 штук). Причем где-то половину из них можно сгруппировать в папку "Справочники" и они в себе содержат вложения только одного уровня:
На этом рисунке не развернут узел "Свойства", в котором и начинаются все неудобства.
Вы предложили простой вариант — разнесение основных узлов дерева на окна. А чем вариант разнесения узлов на вкладки хуже, чем на окна? (как было предложено в сабже).
Здравствуйте, rlabs, Вы писали:
R>Есть такое мнение (хотя, в общем, не очень обоснованное), что вы напрасно проектируете интерфейс на основе *данных*, которые храните. Попробуйте отталкиваться от *задач*, которые решаются этой системой, может, дерево там вообще незачем, вместе с вкладками.
Но, возможно, что так пользователю легче понять структуру данных?
С другой стороны, интерфейс был спроектирован в виде дерева для того, чтобы структуру данных можно было бы в будущем менять как угодно, при этом общий вид интерфейса не изменится (т.е. на доработку минимум средств, а пользователь в привычном окружении).
Здравствуйте, cool_rus_killer, Вы писали:
__>Но, возможно, что так пользователю легче понять структуру данных?
Формально говоря, пользователя обычно мало волнует формат представления данных. Лишь бы задачи его решались.
__>С другой стороны, интерфейс был спроектирован в виде дерева для того, чтобы структуру данных можно было бы в будущем менять как угодно, при этом общий вид интерфейса не изменится (т.е. на доработку минимум средств, а пользователь в привычном окружении).
Ну да, в N-й версии пользователь, привычно разворачивая ветку на 15-м уровне вложенности...
Такие задачи решаются через создание отдельных окон — представлений для объектов.
То есть главное у тебя будет дерево узлов и объектов без свойств. Далее каждый объект — отдельное окно.
Объект "Битумная установка". Закладка "Свойства".
Слева дерево свойств, справа таблица или иное представление зависящее от выбранной строки дерева.
Здравствуйте, grosborn, Вы писали:
G>То есть главное у тебя будет дерево узлов и объектов без свойств. Далее каждый объект — отдельное окно.
Кста, дерева узлов нет, узел только один. Т.е. в этом дереве всегда присутствует только один корневой узел "Узел" — конечно, не эргономично, но так сделано...