Корзина
Корзина — это защитная сетка для данных: удалённая заметка не исчезает навсегда, а попадает в список, откуда её можно восстановить или стереть окончательно. Под капотом это не отдельное хранилище, а представление над журналом ревизий: заметка считается «в корзине», когда её самая свежая ревизия — удаление. Любое сохранение или восстановление поверх делает свежей ревизией не-удаление, и заметка автоматически уходит из корзины.
Из этого подхода естественно следует приятное свойство: восстановить можно даже заметку, удалённую мимо Notarium — например, командой rm в файловой системе. Журнал ловит и такие удаления.
Единая корзина
Корзина — одно место для всего удалённого: и отдельных заметок, и целых пространств. В интерфейсе — вкладки-фильтры All / Notes / Spaces (все / заметки / пространства) с общим поиском (виден всегда). Механики под ними разные, но для вас это единый Trash:
- Заметки восстанавливаются в своё пространство.
- Пространство восстанавливается целиком — со всей своей корзиной и историей внутри.
Список заметок серверный: пагинация и поиск по заголовку масштабируются на тысячи записей. Каждая строка показывает, кто и когда удалил заметку; внешние удаления помечены отдельно.
Восстановление
Восстановление сохраняет идентичность заметки. Это значит, что у неё остаётся тот же стабильный идентификатор (notarium-id), а вместе с ним — входящие ссылки и история:
- заметка возвращается в исходную папку по последнему известному пути;
- восстанавливаются пользовательский slug и алиасы прежних имён, поэтому входящие
[[Старое имя]]снова разрешаются, а не превращаются в битые ссылки; - в журнал пишется ревизия «восстановление».
Если на целевом пути уже появилась другая заметка, восстановление откажет с ошибкой, не затирая существующий файл. Разберите конфликт вручную.
Восстановить можно как одну заметку (кнопкой в строке), так и набор сразу — через мультивыбор в нижней панели или Select all N («выбрать все N»).
Окончательное удаление
Окончательная очистка (Delete N forever, «удалить навсегда») необратимо стирает всю историю заметки и связанные с ней данные. Она начинается только через явное действие: выбор строк или Select all N — без выбора нижняя панель очистку не предлагает.
После окончательного удаления заметку восстановить нельзя: стираются все ревизии и содержимое. Мягкое удаление обратимо, окончательная очистка — нет.
Автоматической очистки по расписанию (через N дней) в корзине нет — только явное действие пользователя.
Границы
- Восстановимость опирается на журнал ревизий. Без служебной БД история живёт только на время работы процесса — тогда корзина доступна лишь до перезапуска, без ошибки.
- Если тело удалённой заметки ни разу не проходило через Notarium и его не удалось прочитать при удалении, заметка покажется в корзине, но будет помечена как невосстановимая — так вы сразу видите границу, а не теряете заметку молча.
Открыть удалённую заметку можно по её ссылке как обычно — она откроется в режиме «только чтение» под баннером In the trash («в корзине») с кнопками восстановления и окончательного удаления.