Wizard Diary, v2.0
Posted on

Todo-лист.
Мажорный релиз. Собственное летоисчисление, добавление и редактирование todo-пунктов посредством AJAX, inplace-редактирование todo-пунктов, создание бекапов посредством AJAX с любой страницы сервиса, замена бекапов-архивов на XML-дамп базы данных, использование CAPTCHA при входе, улучшение дизайна и исправление багов.
Новые возможности и изменения
- использование собственного летоисчисления (отсутствие деления на месяцы, 300 дней в году; дата начала отсчёта — дата самого первого todo-пункта);
- список todo-пунктов:
- добавление todo-пунктов:
- добавление todo-пунктов посредством AJAX;
- удаление возможности добавления обычных todo-пунктов в состоянии активный;
- автоматическое выставление состояния todo-пункта при его добавлении:
- состояния выполнен — при добавлении обычного todo-пункта;
- состояния активный — при добавлении пункта-разделителя;
- управление порядком todo-пунктов посредством кнопок-стрелок;
- редактирование todo-пунктов:
- inplace-редактирование посредством AJAX;
- удаление отдельного редактора;
- удаление запрета на превращение обычных todo-пунктов в пункты-разделители;
- возможность редактирования пунктов-разделителей;
- замена алерта при запросе удаления todo-пункта на стилизованное модальное окно;
- удаление числа todo-пунктов на страницу из пользовательских параметров;
- исправление бага со сбросом на первую страницу при операциях с todo-пунктами;
- добавление todo-пунктов:
- менеджер бекапов:
- создание бекапа посредством AJAX;
- создание бекапа с любой страницы сервиса;
- XML-дамп базы данных:
- замена создания архива всех файлов сервиса на сохранение XML-дампа базы данных;
- XML Schema для XML-дампа базы данных;
- сохранение для каждого todo-пункта:
- даты;
- состояния;
- дополнительного флага;
- текста, закодированного в Base64;
- сортировка todo-пунктов в XML-дампе базы данных:
- сначала по датам;
- затем по заданному пользователем порядку;
- утилита для преобразования бекапов из старого формата в новый;
- удаление автоматического удаления старых бекапов;
- удаление отображения размеров бекапов;
- удаление лога создания бекапов;
- безопасность:
- ужесточение фильтров доступа к действиям (разрешение только тех типов запросов, которые необходимы каждому конкретному действию);
- использование CAPTCHA на странице входа;
- осуществление выхода посредством POST-, а не GET-запроса;
- дизайн:
- фиксация главного меню наверху страницы;
- стилизация фона todo-пункта в соответствии с его состоянием;
- общая корректировка стилей.
Репозиторий
Ссылка: http://github.com/thewizardplusplus/wizard-diary/tree/v2.0.
Содержание: код.
Лицензия: MIT.
Скриншоты
Главное меню (мобильный вид):

Модальное окно при запросе удаления todo-пункта:

Менеджер бекапов:

XML-дамп базы данных:

Работа утилиты для преобразования бекапов:

Редактор параметров:

Страница входа:
