Приложение для управления контентом (текстом/файлами). Для реализации задачи база данных SQLite содержит два справочника TAG и Content, и связанная с ними дополнительная информация.
Задача
1) привязка информации к выделенному описанию
2) хранение результата выполнения задач
3) декомпозиция работ
Программа требует .Net 4 Framework. "Вшиты" свободно распространяемые компоненты.
Проблема установки на актуальные релизы windows (Информация с сайта MS). Вкратце, библиотека ожидает наличие установленной версии компонент .Net в папке C:\Windows\Microsoft.NET\Framework\v4.0.X, а для текущих релизов windows c установщика .Net получаешь следующую ошибку.
Решается полной установкой среды разработки Visual studio 2012, потом ее можно удалить. Или копированием каталога, например с windows 7 (на нее framework устанавливается отлично).
Установщик по ссылке подходит для win7x64 (Microsoft .NET Framework 4 (автономный установщик).
Функции приложения
- Создание базы данных. При первом входе в программу будет задан вопрос о создании новой базы данных. D поле ввода необходимо ввести путь к базе, с учетом полного наименования. В форме обработки есть возможность создать новую базу, путь к базе хранится в реестре windows.
- Добавление новой базы данных. Есть кнопка «New db». При нажатии программа попросит ввести путь до новой базы данных. Если будет выбрана существующая база она будет пересоздана.
- Для выбора существующей базы необходимо нажать на гиперссылку (имя базы данных), либо воспользоваться кнопкой Change db.
- Работа с Тэгами. Есть два типа тэгов, первый связанный напрямую с контентом, второй связанный косвенно (добавленный к контенту после его создания).
- Добавление нового. Происходит внутри выделенного тэга. После добавления выделится добавленная нода нового тэга.
- Удаление. При удалении тэгов его описание удалится из всех связанных нод контента. Если после очистки идентификаторов тэгов, текст тэгов в контенте будет пустым, контент привяжется к тэгу deleted.
- Переименование. Откроет форму ввода наименования.
- Смена родителя. Возможна только в рамках своей группы верхнего уровня. Либо группа tag, либо группа proj.
- Работа с проектными тэгами
- Функционал идентичен описанию «Работа с тэгами», за исключением, что бывает два типа задач, задача группа и задача «действия». Разница в пиктограммах и задача «действия» не может иметь подчиненные ноды.
- Работа с контентом
- Добавление контента. Контент изначально привязывается к тому тэгу, который выделен в списке тэгов. Редактирование содержания контента и наименования контента производится в поле редактирования содержания (светло синего цвета). Поддерживается множественное выделение. По кнопке save данные будут записаны в базу.
- Добавление контента к проектному тэгу. Отличие в том, что первый добавляемый контент к проектному тэгу имеет такой же идентификатор в базе как у тэга владельца. Следующий добавляемый контент будет иметь идентификатор – текущее время.
- Добавление тэгов к контенту.
- При двойном клике по нодам списка контента в списке отбора тэгов (нижний список тэгов), будут отображены все тэги, привязанные к выделенным нодам контента.
- При двойном клике по списку тэгов контента левой кнопкой мыши будет осуществлен переход к ноде в общем списке тэгов, нода будет выделена красным цветом, данная нода будет добавлена к списку выбранных.
- По кнопке "Add selected TAGs to content" списка тэгов контента все выделенные ноды в «общем списке тэгов» будут добавлены ко всем выделенным нодам «списка контента». Если в списке контента выделено больше одной ноды, то будет выдан запрос на подтверждение.
- По кнопке «Delete TAGs from selected content» списка тэгов контента, выделенные ноды будут отвязаны от всех выделенных нод контента. Если удаляемая нода является владельцем контента такой контент привяжется к тэгу «deleted».
- Удаление контента. Есть кнопка «Delete» списка контента.
- Привязка контента к другому владельцу. Есть кнопка «Change TAG id» списка контента, при этом контент сменит время на текущее. Для тэгов внутри группы proj доступна кнопка «Change project TAG id».
- Функции поиска
- Поиск по списку тэгов. Есть поле ввода для отбора по наименованию. Результаты поиска подсвечиваются синим цветом. Есть кнопки перехода по найденным с учетом отбора (изменяется фокус найденных).
- Поиск по списку тэгов контента. Есть поле для отбора и кнопка для поиска.
- Поиск по списку контента. Двойной клик по «общему списку тэгов» левой кнопкой мыши производит поиск по списку контента, с учетом выделенных тэгов (доступен Shift, Ctrl, Alt) и отбору по содержанию контента. При нажатие enter в поле поиска контента будет выполнено тоже самое действие.
- Кнопка всплывающего меню «Find selected ones Tags» произведет поиск с учетом привязки только к выделенному тэгу (используется в основном для поиска по списку проектных тэгов) и с учетом отбора по содержанию. Т.е. будут отобраны только связанные напрямую с выделенными тэгами ноды контента.
- Поиск тэгов в контенте. Есть кнопка «Find selected Tags in content». Произведет повторный поиск по списку контента (см. пункт 6.c). Дополнительно будут выделены ноды контента, где были найдены выделенные ноды тэгов контента. Есть кнопки перехода по найденным.
- Сброс поиска контента и выделения по списку тэгов выполнится при нажатии enter в поле поиска контента, при пустом значении поиска.
- Кнопка "Go to current TAG" произведет переход к тэгу владельцу Контента, и подсветит связанные тэги.
- По содержимому контента есть расширенный поиск и замена. Для поиска необходимо выделить поле содержимого контента и нажать Ctrl + F.
- Поля идентификации контента <<<Время/>>> изменять не рекомендуется.
- Привязка файлов контента. По кнопке «Files nodes of content» на закладке "Files" будет открыт каталог внутри каталога контента, имя которого - идентификатор контента. Путь к каталогу контента задается при создании базы данных. При открытии программы открывается та база данных, которая указана в реестре.
- Горячие клавиши
- Множественное выделение в списках тэгов «Shift/Ctrl/Alt» + Одиночный клик левой кнопкой мыши.
- Поиск по списку контента. «Shift/Ctrl» + Двойной клик кнопкой мыши по общему списку тэгов.
- Отображение содержимого контента . «Shift/Ctrl» + Одиночный клик левой кнопки мыши.
- Увеличение/уменьшение размера шрифта. Выделить необходимый список «Ctrl» + колесо мыши.
- Запись контента выполняется по кнопке "Save". При этом проверяется в тексте каждого сохраняемого контента присутсnвие следующих системных тэгов #source#<имя каталога>#source/#, #files#<имя каталога>#files/#. Если системные тэги найдены будет предложено привязать выбранные пути к выделенному контенту.
Обмен через формат XDTO. Связан с публикацией //infostart.ru/1c/tools/1933675/
Существует измененный формат для конвертации 3.0. Формат полностью на латинице, без лишних точек и запятых.
Этот формат перегружен в виде класса объектов в приложение для обмена с базами TAG.db. Ниже скриншот. Так же на стороне интеграционной базы на 1с в расширение обмен с мобильными полностью перенесен модуль БСП ОбменДанными, экранирован префиксом, все типовые вызовы заменены на вызовы функций из расширения. Добавлен модуль конвертации через универсальный формат с данным пакетом обмена.
upd 25/12/2023 Новый интерфейс (функции списков убраны в popup, иерархическое отображение, связанных с основным тэгом "контентов")
upd 04/02/2024
прикреплен файл с последними бинарниками (
TAGObmen
а) исправление ошибок обмена
б) Добавлено сохранение настроек в лог. Для каждой базы заполняется отдельный список.
в) пароли сохраняются через шифрование через pem ssl-сертификат (при открытии дешифруются)
Доработки TAG Reader
1) Добавлены системные тэги (данные берутся из таблицы БД (возможно дополнение)).
Автоматически заполняются следующим списком системных хэш-тэгов
б) Доработана кнопка просмотра через htmp (View),
заменяет системные тэги #href# и #image# ссылками или картинками (через тэг html img, есть поддержка
GIF - не более 15 мб открытых одновременно)
сохранение картинок из буфера обмена
Сохранение картинок требует модуля sus_loader.exe и ClipboardAsync.exe, входящих
в состав публикации Приложение для работы с буфером обмена.
Без установленной службы кнопки "MKLink", "Copy", "Compare" будут не доступны.
а) кнопка MKLink выполняет создание junction point для выделенного каталога, в той же папке
с указанием названия ссылки (далее ссылку можно использовать в качестве, например,
каталога разработки другой Задачи/контента)
б) кнопка Copy создает запись в базе данных типа RuleLog.db, и дает команду службе "sus_loader"
запустить программу XCPY.exe (копирует файлы и каталоги, с установкой прав доступа,
для указанного пользователя системы. Для данной разработки того под которым запущен сеанс
windows)
в) Кнопка "Compare" выполнит команду сравнения.
Текст запуска команды сравнения указывается в константах базы данных типа "TAG.db".
Константы редактируются через редактор баз данных с поддержкой SQLite (например Navicat)