Система позволяющая легко вставлять ссылки на любые страницы сайта, даже еще не существующие, но возможные (с целью побудить их создание)
Собственный обработчик тега ссылки, если подпадает под один из определенных форматов превращается в полноценную ссылку на указанную страницы.
формат ссылок
[abc-35] - ссылка на задачу[abc#28] - ссылка на документ[<type>:<project>:<id>][p:abc] - ссылка на проект, тут нет <id>, так как проект и так идентифицирует себя[t:abc:35] - ссылка на задачу на самом деле избыточна, просто для унификации[d:abc:28] - ссылка на документ[r:abc:12] - ссылка на релиз[b:abc:8] - ссылка на доскуПолный формат не вытесянет краткий, а существует параллельно, скорее для автомтаически…
Система позволяющая легко вставлять ссылки на любые страницы сайта, даже еще не существующие, но возможные (с целью побудить их создание)
Собственный обработчик тега ссылки, если подпадает под один из определенных форматов превращается в полноценную ссылку на указанную страницы.
формат ссылок
[abc-35] - ссылка на задачу[abc#28] - ссылка на документ[<type>:<project>:<id>][p:abc] - ссылка на проект, тут нет <id>, так как проект и так идентифицирует себя[t:abc:35] - ссылка на задачу на самом деле избыточна, просто для унификации[d:abc:28] - ссылка на документ[r:abc:12] - ссылка на релиз[b:abc:8] - ссылка на доскуПолный формат не вытесянет краткий, а существует параллельно, скорее для автомтаически добавленных ссылок ил ссылок на особые сущности, вроде релизов
Каждая валидная (даже не существующая) ссылка записывается в кеш, где помечается как рабочая или нет. При отрисовке в зависимости от этого она окрашивается в синий или красный цвет и ведет или на запрошенный ресурс, или форму создания.
[tndt-4] - реальная задача, выведется как < href="tasks.demius.ru/p/tndt-4" alt="Система справочников и справочник тип задачи">tndt-4</a>[tndt-65535] - несуществующая задача, выведется сообщение об ошибке[tndt#dokumenty] - реальный документ, выведется как < href="tasks.demius.ru/p/tndt/doc/dokumenty" alt="Документы">tndt#2</a>[tndt#bla-bla-bla] - несуществующий документ, выведется как < href="tasks.demius.ru/p/tndt/doc/create/bla-bla-bla" class="not-created" alt="bla-bla-bla">bla-bla-bla</a>. Путь create/bla-bla-bla сразу заполнит slug и заголовок (но позволит его отредактировать (при этом надо будет ретроспективно поправить и ссылку)[tndt#Система гипертекста для wiki] нормализует тег до [tndt#sistema-giperteksta-dlia-wiki] и выведет корректную ссылкуВ сервисе ссылок будет доступен как прямой путь, по тегу найти адрес реальной страницы, так и обратный по странице можно найти все места, где на неё ссылаются. Когда страница будет создана, все эти ссылки посинеют.
Сервис так же будет предоставлять хендлерам из Статистика проекта информацию о количестве связей, количестве страниц на которые никто не ссылается.
Сервис ссылок в будущем будет предоставлять информацию для систем генерации содержаний. Для категорий и тегов.
Важная часть, когда мы займемся фронтом, - автокомплит ссылки. Чтобы не искать как же правильно называется интересующий документ, и не создавать нерабочие ссылки из-за опечаток.
Стоит расширить такой тег аналогично вики-ссылки, позволяя отображать его не так, как он записан, например смотри в системе [tndt#documenty|документации]
В БД записывается объект ссылка, ключ её описание tndt-2, tndt#5 tndt#long_caption В объекте хранится
обратная сторона, документ/задача должен знать о всех ссылках на него, чтобы иметь возможность их обновить