У вас есть проблемы напоминаний в MLO-Android? Ответьте: Да/Нет.

Статистика файла. Как проверить?

Вопросы/ответы по работе MLO на ПК
Автор темы

edw
Команда бета тестеров
Сообщения: 467
Зарегистрирован: фев 2009
Откуда: Киев
Благодарил (а): 21 раз
Поблагодарили: 38 раз

Статистика файла. Как проверить?

Сообщение edw » 08 июн 2021, 21:00

Повторю то о чём писал пол года назад - оптимальным форматом для автоматизации есть OPML. Функциональность этого формата можно расширить, заполняя его шапку теми же данными, которые сейчас уходят в Excel.

andrey писал(а):Источник цитаты Пока свежо в памяти, принимаю пожелания по этой функции

Мне для настройки собственного отчёта нужны были несколько полей - статус проекта, процент выполнения, цель, папка, задача завершена, скрытая задача, дата создания. И количество активных задач.

Самым простым для автоматизации есть формат OPML. Одна задача - одна строка. Его так же легко преобразовать в CSV. Но, во-первых, в этот формат MLO не передаёт статусы проекта и метки целей. Во-вторых - в заголовок <head> OPML не передаётся статистика из файла. А было бы здорово её забирать прямо оттуда.

Следующим логичным вариантом был MLO XML. Но в XML так же не попадают все поля. Не хватает как минимум процента выполнения и папок. И ИМХО это баг - в родном формате должны быть все поля без исключения. Вплоть до UID задачи.

В Excel XML есть готовая шапка со статистикой и наибольшее (все?) число свойств задачи. Но этот формат наиболее сложен для обработки. Кроме того в нём используются дополнительные пространства имён. Что бы убрать их надо запускать XSL-трансформацию version=2.0. А для неё нужны продвинутые инструменты которых нет на компьютере рядового пользователя. А значит нет смысла делиться шаблонами для трансформации - они не заработают.
Последний раз редактировалось edw 10 июн 2021, 08:29, всего редактировалось 2 раза.
MLO Windows v5 (macOS / CrossOver)
MLO iOS v3 (iPadOS)
MLO Android v3
MLO Cloud

WaRoX
Команда бета тестеров
Сообщения: 690
Зарегистрирован: фев 2009
Есть ответ: 23
Благодарил (а): 19 раз
Поблагодарили: 90 раз

Статистика файла. Как проверить?

Сообщение WaRoX » 09 июн 2021, 18:05

edw писал(а):Источник цитаты Но в XML так же не попадают все поля. Не хватает как минимум процента выполнения и папок. И ИМХО это баг - в родном формате должны быть все поля без исключения. Вплоть до UID задачи.

Поддерживаю - реально надо указывать признак папки и UID добавлять.

В остальном мне кажется, что MLO XML наиболее подходящий формат для обработки сторонними средствами, особенно с учетом, что это единственный формат, содержащий иерархию (вроде - я уже давно проверял)
Илья

Автор темы

edw
Команда бета тестеров
Сообщения: 467
Зарегистрирован: фев 2009
Откуда: Киев
Благодарил (а): 21 раз
Поблагодарили: 38 раз

Статистика файла. Как проверить?

Сообщение edw » 10 июн 2021, 08:39

WaRoX писал(а):Источник цитаты MLO XML... единственный формат, содержащий иерархию (вроде - я уже давно проверял)

В OPML есть иерархия. Это диалект XML - с ним работают те же инструменты и подходы. В частности - перевод в форматы других приложений через шаблон трансформации XMLT. Собственно OPML и создавался для передачи иерархической информацией между разными приложениями (списки задач, MindMap, заметки с иерархией) через импорт / экспорт.
Преимущество OPML перед XML для пользователя - его легко визуально читать. Тут каждая задача занимает одну строку.

WaRoX писал(а):Источник цитаты MLO XML наиболее подходящий формат для обработки сторонними средствами,

XML, ИМХО, это уже для двустороннего обмена информацией. Когда можно синхронизировать задачу по её UID.
И да, первый шаг на этом пути - полноценный XML.
MLO Windows v5 (macOS / CrossOver)
MLO iOS v3 (iPadOS)
MLO Android v3
MLO Cloud

Аватара пользователя
andrey
Администратор
Сообщения: 2939
Зарегистрирован: фев 2009
Есть ответ: 84
Откуда: Украина
Благодарил (а): 99 раз
Поблагодарили: 92 раза
Контактная информация:

Статистика файла. Как проверить?

Сообщение andrey » 11 июн 2021, 20:01

edw писал(а):Источник цитаты Следующим логичным вариантом был MLO XML. Но в XML так же не попадают все поля. Не хватает как минимум процента выполнения и папок.

Процент выполнения это вычислимая, а следовательно избыточная информация.

WaRoX писал(а):Источник цитаты Поддерживаю - реально надо указывать признак папки и UID добавлять.

Папки конечно есть в XML. Дайте пример проблемы с папками.

edw писал(а):Источник цитаты И ИМХО это баг - в родном формате должны быть все поля без исключения. Вплоть до UID задачи.

XML не содержит UID чтобы не было дублирования задач. Это формат для переноса информации из замкнутой системы во внешний мир (импорт информации). Вы можете сохранить ветку в XML, а потом вставить ее в тот же файл. Если она будет содержать UID, посыпется целостность, т.к. две задачи будут иметь один UID. Потому при экспорте всегда генерируются новые UID. Если файл данных участвует в синхронизации, то опасно давать формат в котором содержатся UID, т.к. очень легко все поломать и разрушить целостность экспортом некорректных данных.
Andrey Tkachuk
MyLifeOrganized.net Изображение

WaRoX
Команда бета тестеров
Сообщения: 690
Зарегистрирован: фев 2009
Есть ответ: 23
Благодарил (а): 19 раз
Поблагодарили: 90 раз

Статистика файла. Как проверить?

Сообщение WaRoX » 14 июн 2021, 21:26

andrey писал(а):Источник цитаты Дайте пример проблемы с папками

В пустом профиле создал папку и задачу внутри нее, получился такой код:

Код: Выделить всё

<?xml version="1.0" encoding="UTF-8"?>
<MyLifeOrganized-xml ver="1.2">
  <TaskTree>
    <TaskNode Caption="">
      <TaskNode Caption="Папка">
        <HideInToDoThisTask>-1</HideInToDoThisTask>
        <TaskNode Caption="Задача"/>
      </TaskNode>
    </TaskNode>
  </TaskTree>
  <PConfig>
    <i0>ProfileDate_Desktop5=2021-06-15T00:22:51</i0>
  </PConfig>
</MyLifeOrganized-xml>

Здесь нет признака "Папка"
Илья

Автор темы

edw
Команда бета тестеров
Сообщения: 467
Зарегистрирован: фев 2009
Откуда: Киев
Благодарил (а): 21 раз
Поблагодарили: 38 раз

Статистика файла. Как проверить?

Сообщение edw » 15 июн 2021, 06:13

andrey писал(а):Источник цитаты Папки конечно есть в XML. Дайте пример проблемы с папками.

Признака IsFolder так же нет в табличной части ExcelXML. Но он есть в OPML.
MLO Windows v5 (macOS / CrossOver)
MLO iOS v3 (iPadOS)
MLO Android v3
MLO Cloud

Автор темы

edw
Команда бета тестеров
Сообщения: 467
Зарегистрирован: фев 2009
Откуда: Киев
Благодарил (а): 21 раз
Поблагодарили: 38 раз

Статистика файла. Как проверить?

Сообщение edw » 15 июн 2021, 09:56

Это оффтопик. И заранее прошу прощения за терминологию - я не программист.

andrey писал(а):Источник цитаты XML.. Это формат для переноса информации из замкнутой системы во внешний мир (импорт информации).

Для переноса данных (а не их визуального представления) из одного приложения в другое оптимальным есть OPML. Этот формат достаточно распространён среди приложений с иерархическими списками (аутлайнеры, Mind Map, списки задач). При этом он настолько прост, что позволяет самостоятельно сделать шаблон трансформации из одного приложения в другое просто имея два OPML-файла из разных приложений. Использование XML для этой задачи - избыточное решение.

MLO пошёл другим путём - через создание утилиты для трансформации XML. Ок, пусть так. Но тогда через эту же утилиту надо и OPML генерировать, выбирая какие поля включать в файл экспорта. Иначе мы получаем инструмент для импорта, а не обмена информацией. А встроенный OPML не всегда устраивает - он содержит не все поля, которые нужны в ходе обмена.

andrey писал(а):Источник цитаты Вы можете сохранить ветку в XML, а потом вставить ее в тот же файл.

Соглашусь, что для создания и повторного использования шаблонов XML удобен. Можно наверное учесть какие-то нюансы, которые не передаёт OPML. Но для шаблонов вроде бы рекомендуется использовать существующие в базе ветки.

andrey писал(а):Источник цитаты Если она будет содержать UID, посыпется целостность, т.к. две задачи будут иметь один UID.

При создании новой ветки на основе шаблона - да. Но это не синхронизация.
При синхронизации нам необходим уникальный идентификатор элемента. Если это не UID, тогда что? Название задачи?

andrey писал(а):Источник цитаты Если файл данных участвует в синхронизации, то опасно давать формат в котором содержатся UID, т.к. очень легко все поломать и разрушить целостность экспортом некорректных данных.

Правильно ли я понял эту фразу?
"Если файл данных участвует в облачной или WiFi синхронизации, то опасно давать формат в котором содержатся UID, т.к. очень легко все поломать и разрушить целостность экспортом импортом в MLO некорректных данных".
Мне кажется, что в слово "синхронизация" мы вкладываем разный смысл.

Я понимаю, что технически лучшим решением для синхронизации было бы создание MLO API. Но пока его нет, почему нельзя хотя бы дать возможность изменять текст заметки через экспорт и последующий импорт по уникальному идентификатору элемента? И если будет конфликт (изменения прошли на обеих сторонах) просто вносить оба текста в одну заметку, добавляя оповещение о конфликте, например, в виде флага или текстового тега.
MLO Windows v5 (macOS / CrossOver)
MLO iOS v3 (iPadOS)
MLO Android v3
MLO Cloud

Автор темы

edw
Команда бета тестеров
Сообщения: 467
Зарегистрирован: фев 2009
Откуда: Киев
Благодарил (а): 21 раз
Поблагодарили: 38 раз

Статистика файла. Как проверить?

Сообщение edw » 11 июл 2021, 14:47

andrey
Спасибо за активные действия в статистике Excel XML.
Надеюсь что в следующей версии поле IsFolder будет в Excel XML и MLO XML.
Для анализа ещё не хватает NextReviewDate. Это поле есть в MLO XML, но его нет в Excel XML и OPML.

И если принять позицию
WaRoX писал(а):Источник цитаты В остальном мне кажется, что MLO XML наиболее подходящий формат для обработки сторонними средствами

тогда что бы перейти с анализа Excel XML на MLO XML в последнем должен быть признак "Активная задача".
MLO Windows v5 (macOS / CrossOver)
MLO iOS v3 (iPadOS)
MLO Android v3
MLO Cloud

Аватара пользователя
andrey
Администратор
Сообщения: 2939
Зарегистрирован: фев 2009
Есть ответ: 84
Откуда: Украина
Благодарил (а): 99 раз
Поблагодарили: 92 раза
Контактная информация:

Статистика файла. Как проверить?

Сообщение andrey » 12 июл 2021, 10:23

WaRoX писал(а):Источник цитаты В пустом профиле создал папку и задачу внутри нее, получился такой код:

"HideInToDoThisTask" это и есть папка. Имя исторически осталось от того времени, когда в MLO еще не было папок, но был этот признак у задачи. Потом пришло понимание, что этот признак и есть Папка. Пометили такие задачи иконкой, везде переименовали, кроме имени поля в XML, чтобы сохранить совместимость. Теперь если вы этот XML откроете в MLO, папка появится, верно?
Andrey Tkachuk
MyLifeOrganized.net Изображение


Вернуться в «Вопросы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость