- Неограниченные уровни вложенности задач
- Возможность выстраивать цепочки выполнения с помощью блокирования задач
- Задача может быть подзадачей сразу в нескольких задачах
- Хранение ваших данных на вашем устройстве
Вариант 1: Если вы используете ОС Windows, Debian или MacOS, вы можете перейти в релизы и скачать последнию версию приложения. После установки на MacOS необходимо выполнить следующую команду: sudo chmod -R 755 /Applications/Unlimotion.app Автоматически права не выдаются из-за политики безопасности Apple для неподписанных приложений. Дополнительных действий для корректной установки на ОС Windows и Debian не требуется.
Вариант 2:
- Загрузите и установите .NET 8.0 SDK для своей операционной системы
- Скачайте последнюю версию исходного кода программы в виде zip-архива и распакуйте его в любую папку на компьютере. Если вы знакомы с системой контроля версий git, вместо скачивания архива склонируйте этот git-репозиторий на свой компьютер в любую папку с помощью вашего любимого git-клиента (например Fork).
- Откройте полученную папку с исходным кодом на компьютере.
- Запустите файл скрипта из папки в зависимости от операционной системы:
- Windows -
run.windows.cmd
- Mac OS -
run.macos.sh
- Linux -
run.linux.sh
- Windows -
Любая задача может находиться только в одном из четырёх состояний.
- Не выполнена - пустой чекбокс
- Архивирована - чекбокс с квадратиком
- Выполняется - пустой чекбокс с часами рядом
- Выполнена - чекбокс с галочкой Допустимые переходы описаны диаграммой:
stateDiagram-v2
uncomplited: Не выполнена
inprogress: Выполняется
archieved: Архивирована
completed: Выполнена
[*] --> uncomplited: Создание
uncomplited --> [*]: Удаление
completed--> [*]: Удаление
archieved --> [*]: Удаление
uncomplited --> completed
uncomplited --> archieved
uncomplited --> inprogress
inprogress --> uncomplited
inprogress --> completed
completed --> uncomplited
archieved --> uncomplited
У каждой задачи могут быть связи с другими задачами 4 типов:
- Parents Tasks - родительские задачи, которые содержат эту задачу внутри себя как составную часть, необходимую для выполнения.
- Containing Tasks - дочерние задачи, которые являются частью или шагами этой задачи и возникают в процессе декомпозиции.
- Blocking Tasks - блокирующие задачи, которые должны быть выполнены чтобы разблокировать текущую.
- Blocked Tasks - заблокированные задачи, которые не могут быть разблокированы пока эта задача невыполнена.
Все задачи имеют своё место в общей древовидной иерархии. Самый первый уровень называется корневым, на нём находятся задачи, у которых нет связей с родительскими задачами. Любая задача может стать дочерней для другой задачи, визуально это выглядит как вложенность в дереве задач. В отличие от других планировщиков задач, в Unlimotion позволяется одной задаче быть дочерней сразу для нескольких других задач. Это бывает удобно в случаях, когда задача имеет межпроектное значение и не может быть отнесена только к одной родительской задаче. Также эту особенность можно использовать как замену тэгам, можно создать родительскую задачу с определённым смыслом и добавить в неё имеющиеся задачи как дочерние, которые имеют отношение к этому смыслу. Это позволит наблюдать одну и ту же задачу в разных срезах на уровне иерархии.
Заблокированная задача не может быть выполнена, пока не станет разблокированной. Заблокированность визуально выражается более прозрачным цветом чекбокса и текста описания задачи. Задача считается Заблокированной, если у неё:
- Есть невыполненные задачи внутри (Containing)
- Есть невыполненные блокирующие (Blocking) задачи
- Есть невыполненные блокирующие (Blocking) задачи у любой родительской (Parents) задачи
Интерфейс состоит из 3 частей:
- Сверху так называемые хлебные крошки, которые показывают путь в иерархии текущей выбранной задачи.
- Справа панель детализированной информации текущей выделенной задачи, там отображаются все поля задачи доступные для просмотра и редактирования.
- Левая панель имеет возможность переключения между вкладками:
Показывает все задачи в иерархическом виде (древовидном). В корне находятся те задачи, у которых нет родителей.
Показывает все задачи по дате создания в убывающем порядке.
Окно возможностей - показывает только те задачи, которые сейчас доступны для выполнения.
Список выполненных задач в обратном порядке выполнения - последние сверху.
Список архивных задач в обратном порядке архивирования - последние сверху. Сюда попадают задачи, которые уже не нужно выполнять, но и удалять их не хочется.
Отображение задач в виде дорожной карты. Вдохновлено деревом развития из игр. В этом представлении отображаются задачи в виде направленного графа, который позволяет визуализировать дорожки из задач, которые нужно выполнить чтобы прийти к цели. Зелёные стрелки - отношение ребёнок к родителю Красные стрелки - отношение блокирующей задачи к блокируемой
Окно настроек - позволяет изменять параметры, влияющие на работу программы.
- TaskStorage Path - Путь к каталогу(папке) с задачами. Именно по этому пути будут сохраняться файлы задач в формате JSON. Путь может быть указан в абсолютном или относительном формате. Если путь не указан, то задачи сохраняются в каталоге "Tasks", который создаётся в рабочем каталоге из которого была запущена программа.
Создание новых задач всегда происходит относительно выбранной задачи. Чтобы это сделать можно воспользоваться кнопками на правой панели сверху со знаком "➕" или использовать горячие клавиши:
- ➕Sibling (Ctrl+Enter) - Создать задачу на том же уровне, что и выбранная
- ➕🔒Sibling (Shift+Enter) - Создать задачу на том же уровне, что и выбранная и заблокировать её выбранной
- ➕Inner (Ctrl+Tab) - Создать вложенную задачу внутри выбранной
После создания задачи нужно заполнить название текущей задачи, потому что если выбрана задача без названия, кнопки создания отключаются.
Задачи удаляются безвозвратно при нажатии кнопки "❌" в списке задач. Также при нажатии Shift+Delete происходит удаление выбранной задачи.
Во всех вкладках вы можете выполнять действия перетаскивания задачи левой кнопкой мыши. Та задача, которую вы потянули, называется перетаскиваемой. Та задача, на которой вы отпускаете кнопку мыши, называется целевой. В зависимости от того, какие кнопки на клавиатуре зажаты, когда вы отпускаете левую кнопку мыши, выполняются разные команды:
- Без клавиш - Вложить перетаскиваемую задачу в целевую задачу
- Shift - Переместить перетаскиваемую задачу в целевую задачу
- Ctrl - Перетаскиваемая задача блокирует целевую задачу
- Alt - Целевая задача блокирует перетаскиваемую задачу
- Ctrl+Shift - Клонировать перетаскиваемую задачу в целевую как подзадачу
Если в названии задачи присутствует символ эмодзи, то появляется возможность быстро фильтровать такие задачи и содержащиеся в них с помощью фильтров на вкладках. Чтобы добавить эмодзи в текстовое поле воспользуйтесь специальным меню:
- В Windows оно вызывается сочетанием клавиш Win+.
- В MacOS оно вызывается сочетанием клавиш Cmd+Ctrl+Пробел
- В Ubuntu оно вызывается сочетанием клавиш Ctrl+.
На вкладках, где отображаются задачи не в иерархическом виде, слева от названия у каждой задачи отображаются все эмодзи, которые есть у родительских задач. Это позволяет визуально сразу понять откуда эта задача.
- Эмодзи в названии наследуется для подзадач
- Хоткей Shift+Enter для создания заблокированной подзадачи задачи
- Поля "Дата начала планируемого выполнения" и "Дата окончания планируемого выполнения"
- Фильтр по статусу выполнения
- Фильтр по дате начала планируемого выполнения
- Поле "Продолжительность задачи"
- Возможность клонировать задачи через перетаскивание с Ctrl+Shift
- Автоматическое сохранение задач при изменении связей
- Можно создавать повторяемые задачи
- Фильтр по эмодзи
- Переход в описание задачи по двойному клику из любого списка
- Представление разблокированных обновляется при перемене суток
- Завёрстаны кнопки добавления задач
- При изменении эмодзи рефрешить все надписи у детей
- Фильтр по актуальности запланированных задач
- Поиск задач
- Переход по задачам из хлебных крошек
- Блокировать все подзадачи заблокированной задачи
- Планируемый период наследуется для детей
- Watcher для отслеживания изменения файлов
- Массовое перемещение задач
- Фиксация времени затраченного на задачу
- Заблаговременное напоминание о задаче
- Собрать мобильное приложение под Android и iOS
- При драг и дропе чтобы работала прокрутка при перемещении указателя к верху и низу списка
- Прикрепление файлов к задаче
- Написать сервер для хранения задач
- История переходов между задачами
- История изменений с возможностью откатить изменения