Skip to content

Latest commit

 

History

History
183 lines (158 loc) · 16.1 KB

README.RU.md

File metadata and controls

183 lines (158 loc) · 16.1 KB

Unlimotion

All Tasks

Сильные стороны

  1. Неограниченные уровни вложенности задач
  2. Возможность выстраивать цепочки выполнения с помощью блокирования задач
  3. Задача может быть подзадачей сразу в нескольких задачах
  4. Хранение ваших данных на вашем устройстве

Запуск приложения

Вариант 1: Если вы используете ОС Windows, Debian или MacOS, вы можете перейти в релизы и скачать последнию версию приложения. После установки на MacOS необходимо выполнить следующую команду: sudo chmod -R 755 /Applications/Unlimotion.app Автоматически права не выдаются из-за политики безопасности Apple для неподписанных приложений. Дополнительных действий для корректной установки на ОС Windows и Debian не требуется.

Вариант 2:

  1. Загрузите и установите .NET 8.0 SDK для своей операционной системы
  2. Скачайте последнюю версию исходного кода программы в виде zip-архива и распакуйте его в любую папку на компьютере. Если вы знакомы с системой контроля версий git, вместо скачивания архива склонируйте этот git-репозиторий на свой компьютер в любую папку с помощью вашего любимого git-клиента (например Fork).
  3. Откройте полученную папку с исходным кодом на компьютере.
  4. Запустите файл скрипта из папки в зависимости от операционной системы:
    • Windows - run.windows.cmd
    • Mac OS - run.macos.sh
    • Linux - run.linux.sh

Концептуальное описание

Состояния задачи

Любая задача может находиться только в одном из четырёх состояний.

  1. Не выполнена - пустой чекбокс
  2. Архивирована - чекбокс с квадратиком
  3. Выполняется - пустой чекбокс с часами рядом
  4. Выполнена - чекбокс с галочкой Допустимые переходы описаны диаграммой:
stateDiagram-v2
    uncomplited: Не выполнена
    inprogress: Выполняется
    archieved: Архивирована
    completed: Выполнена
    [*] --> uncomplited: Создание
    uncomplited --> [*]: Удаление
    completed--> [*]: Удаление
    archieved --> [*]: Удаление
    uncomplited --> completed
    uncomplited --> archieved
    uncomplited --> inprogress
    inprogress --> uncomplited
    inprogress --> completed
    completed --> uncomplited
    archieved --> uncomplited
Loading

Связи задач

У каждой задачи могут быть связи с другими задачами 4 типов:

  1. Parents Tasks - родительские задачи, которые содержат эту задачу внутри себя как составную часть, необходимую для выполнения.
  2. Containing Tasks - дочерние задачи, которые являются частью или шагами этой задачи и возникают в процессе декомпозиции.
  3. Blocking Tasks - блокирующие задачи, которые должны быть выполнены чтобы разблокировать текущую.
  4. Blocked Tasks - заблокированные задачи, которые не могут быть разблокированы пока эта задача невыполнена.

Иерархия задач

Все задачи имеют своё место в общей древовидной иерархии. Самый первый уровень называется корневым, на нём находятся задачи, у которых нет связей с родительскими задачами. Любая задача может стать дочерней для другой задачи, визуально это выглядит как вложенность в дереве задач. В отличие от других планировщиков задач, в Unlimotion позволяется одной задаче быть дочерней сразу для нескольких других задач. Это бывает удобно в случаях, когда задача имеет межпроектное значение и не может быть отнесена только к одной родительской задаче. Также эту особенность можно использовать как замену тэгам, можно создать родительскую задачу с определённым смыслом и добавить в неё имеющиеся задачи как дочерние, которые имеют отношение к этому смыслу. Это позволит наблюдать одну и ту же задачу в разных срезах на уровне иерархии.

Блокировка

Заблокированная задача не может быть выполнена, пока не станет разблокированной. Заблокированность визуально выражается более прозрачным цветом чекбокса и текста описания задачи. Задача считается Заблокированной, если у неё:

  1. Есть невыполненные задачи внутри (Containing)
  2. Есть невыполненные блокирующие (Blocking) задачи
  3. Есть невыполненные блокирующие (Blocking) задачи у любой родительской (Parents) задачи

Описание интерфейса

Интерфейс состоит из 3 частей:

  1. Сверху так называемые хлебные крошки, которые показывают путь в иерархии текущей выбранной задачи.
  2. Справа панель детализированной информации текущей выделенной задачи, там отображаются все поля задачи доступные для просмотра и редактирования.
  3. Левая панель имеет возможность переключения между вкладками:

All Tasks

Показывает все задачи в иерархическом виде (древовидном). В корне находятся те задачи, у которых нет родителей. All Tasks

Last Created

Показывает все задачи по дате создания в убывающем порядке. Last Created

Unlocked

Окно возможностей - показывает только те задачи, которые сейчас доступны для выполнения. Unlocked

Completed

Список выполненных задач в обратном порядке выполнения - последние сверху. Completed

Archived

Список архивных задач в обратном порядке архивирования - последние сверху. Сюда попадают задачи, которые уже не нужно выполнять, но и удалять их не хочется. Archived

Roadmap

Отображение задач в виде дорожной карты. Вдохновлено деревом развития из игр. В этом представлении отображаются задачи в виде направленного графа, который позволяет визуализировать дорожки из задач, которые нужно выполнить чтобы прийти к цели. Зелёные стрелки - отношение ребёнок к родителю Красные стрелки - отношение блокирующей задачи к блокируемой Roadmap

Settings

Окно настроек - позволяет изменять параметры, влияющие на работу программы.

  • TaskStorage Path - Путь к каталогу(папке) с задачами. Именно по этому пути будут сохраняться файлы задач в формате JSON. Путь может быть указан в абсолютном или относительном формате. Если путь не указан, то задачи сохраняются в каталоге "Tasks", который создаётся в рабочем каталоге из которого была запущена программа. Settings

Как начать работать

Создание задач

Создание новых задач всегда происходит относительно выбранной задачи. Чтобы это сделать можно воспользоваться кнопками на правой панели сверху со знаком "➕" или использовать горячие клавиши:

  • ➕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
  • При драг и дропе чтобы работала прокрутка при перемещении указателя к верху и низу списка
  • Прикрепление файлов к задаче
  • Написать сервер для хранения задач
  • История переходов между задачами
  • История изменений с возможностью откатить изменения