diff --git a/ubl-settings-datetime/README.md b/ubl-settings-datetime/README.md new file mode 100644 index 0000000..818598d --- /dev/null +++ b/ubl-settings-datetime/README.md @@ -0,0 +1,97 @@ +ТЕХНИЧЕСКОЕ ЗАДАНИЕ на разработку утилиты **ubl-settings-datetime** + +1. **ОПИСАНИЕ:** +Графическое средство настройки даты и времени в ОС UBLinux + +1. **ЭТАПЫ И СРОКИ СОЗДАНИЯ ПРИЛОЖЕНИЯ:** +Общий срок работ по созданию приложения составляет N дней: + - N дня - макет и дизайн приложения и его утверждение + - N дней - разработка приложения + - N дня - тестирование приложения и исправление ошибок + + Перечень этапов разработки приложения: + - Разработка макета и дизайна приложения, самостоятельно + - Утверждение и доработка макета, самостоятельно + - Создание работающего интерфейса, включая полную разработку действующих ярлыков, кнопок и т.д., самостоятельно + - Проектирование алгоритма работы приложения, самостоятельно + - Написание работающего кода приложения, включая полноценно работающие элементы графического интерфейса, а также перевод (поддержка локализации En, Ru), самостоятельно + - Тестирование и исправление ошибок, самостоятельно + - Публикация + +1. **ТЕХНОЛОГИЧЕСКИЕ ТРЕБОВАНИЯ:** + 1. Приложение разрабатывается под нужды операционной системы UBLinux + 1. Использование фирменного логотипа компании + 1. Название приложения, техническое: **ubl-settings-datetime** + 1. Название приложения, публичное: **UBConfig - Дата и время** + 1. Стек технологий: + - Язык программирования: Bash или C++ + - Приложение для разработки графического интерфейса: Glade 3 + - Графические библиотеки: GTK3 + - Операционная система разработки: UBLinux DB + 1. Структура: + - **/usr/bin/ubl-settings-datetime (скомпилированный бинарный файл)** + Bash/C: Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C++ + - **/usr/share/ubl-settings-datetime/images/{\*.png,\*.svg}** + Элементы изображений + - **/usr/share/ubl-settings-datetime/locale -> /usr/share/locale** + Локализация En/Ru + +1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:** + 1. Главное окно: + 1. Требования к внешнему виду: + - Адаптивный (резиновый) дизайн. + - Минимальный размер окна до прекращения масштабирования 800 на 600 пикселей. + - Шапка в стиле приложений GTK3. + - В верхней части крупный логотип утилиты, с права от него краткое описание утилиты. Фон заполнен изображением. + - Рабочая область делится на два блока, которые обрамлены рамками с заголовками: «Локальная настройка», «Глобальная настройка». + 1. Требования к «Рабочей области». Выводятся группы настроек запуска: + 1. Локальная настройка + - лейбл "Время". + - счётчик от 00 до 23 (часы). + - лейбл «:» (разделитель). + - счётчик от 00 до 59 (минуты). + - лейбл «Дата». + - поле ввода. Ввод даты в формате ДД.ММ.ГГГГ + - кнопка с иконкой календаря. Вызов объекта датапикер (визуальное представление выбора даты). + - кнопка «Синхронизировать». Синхронизация выставленных даты и времени с часами и датой системы. + - кнопка «Синхронизировать аппаратное время». Синхронизация даты и времени с временем BIOS рабочей станции. + - вложенный блок с заголовком «Часовой пояс». + - лейбл «Регион:». + - комбобокс. Перечень регионов, локализация стандартными средствами. + - лейбл «Зона:». + - комбобокс. Перечень городов с поправкой на часовой пояс. Например, «(UTC +06) Омск». Перечень регионов, локализация стандартными средствами. + 1. Глобальная настройка + - чекбокс "Синхронизоравать через NTP" + - комбобокс с вариантами выбора сервера: «По умолчанию, DHCP, Вручную». При выборе «По умолчанию», второе поле для ввода вручную становится заблокированным для манипуляций - текст введённого поля серый. Содержание поля - ответ полученный на запрос «ubconfig --source=default get NTPSERVERS\_DEFAULT». При выборе «По умолчанию» в конфиг файл передаются значения: «NTPSERVERS=default». Неактивно, если не включен чекбокс "Синхронизоравать через NTP". + - поле ввода для ручного указания серверов. Неактивно, если не включен чекбокс "Синхронизоравать через NTP", выбрана опция «По умолчанию» в комбобоксе с вариантами выбора сервера. + - дроплист с именами пользователей системы + пользователь root (доступно, если активен чекбокс "Выполнить от имени другого пользователя") + - вложенный блок с заголовком «Часовой пояс». + - лейбл «Регион:». + - комбобокс. Перечень регионов, локализация стандартными средствами. + - лейбл «Зона:». + - комбобокс. Перечень городов с поправкой на часовой пояс. Например, «(UTC +06) Омск». Перечень регионов, локализация стандартными средствами. + +1. **КОМАНДЫ** + 1. Задать время: `date +%T -s "h:m:sec"` + 1. Задать дату: `date +%Y%m%d -s "2000:06:14"` + 1. Синхронизировать аппаратное время: `hwclock --systohc` + 1. Проверка запущенных процессов синхронизации, например, `pidof -q systemd-timesyncd ntpd chronyd`. + 1. Остановка сервисов: + 1. systemd-timesyncd `[[ systemctl --quiet is-active systemd-timesyncd &>/dev/null ]] && systemctl stop systemd-timesyncd` + 1. ntp `[[ systemctl --quiet is-active ntpd &>/dev/null ]] && systemctl stop ntpd` + 1. openntp `[[ systemctl --quiet is-active openntpd &>/dev/null ]] && systemctl stop openntpd` + 1. linuxptp `[[ systemctl --quiet is-active ptp4l &>/dev/null ]] && systemctl stop ptp4l` + 1. Установка часового пояса: `ln -s /usr/share/zoneinfo/ && ln -s /usr/share/zoneinfo/REGION/ZONE` + 1. Команды записи в конфигурационный файл: + 1. получить статус синхронизации NTP: `/usr/bin/ubconfig get network NTPSERVERS` + 1. Задать значение NTPSERVERS: + 1. Если выбран по умолчанию: `/usr/bin/ubconfig set network NTPSERVERS=default` + 1. Если выбран dhcp: `/usr/bin/ubconfig set network NTPSERVERS=dhcp` + 1. Если выбран вручную: `/usr/bin/ubconfig set network NTPSERVERS=АДРЕСА ИЗ ПОЛЯ` + 1. Получить текущую временную зону: `/usr/bin/ubconfig get clock ZONE` + 1. Задать временную зону: `/usr/bin/ubconfig set clock ZONE=REGION/ZONE` + 1. Отключить синхронизацию NTP: `/usr/bin/ubconfig remove network NTPSERVERS` + + - **ПРИБЛИЗИТЕЛЬНЫЙ МАКЕТ ПРИЛОЖЕНИЯ.** + - Главное окно + \ No newline at end of file diff --git a/ubl-settings-datetime/layout/ubl-settings-datetime(en_EN).bmpr b/ubl-settings-datetime/layout/ubl-settings-datetime(en_EN).bmpr new file mode 100644 index 0000000..5cdcff6 Binary files /dev/null and b/ubl-settings-datetime/layout/ubl-settings-datetime(en_EN).bmpr differ diff --git a/ubl-settings-datetime/layout/ubl-settings-datetime(ru_RU).bmpr b/ubl-settings-datetime/layout/ubl-settings-datetime(ru_RU).bmpr new file mode 100644 index 0000000..1001c22 Binary files /dev/null and b/ubl-settings-datetime/layout/ubl-settings-datetime(ru_RU).bmpr differ diff --git a/ubl-settings-datetime/pdf/ubl-settings-datetime(en_EN).pdf b/ubl-settings-datetime/pdf/ubl-settings-datetime(en_EN).pdf new file mode 100644 index 0000000..7a98c1b Binary files /dev/null and b/ubl-settings-datetime/pdf/ubl-settings-datetime(en_EN).pdf differ diff --git a/ubl-settings-datetime/pdf/ubl-settings-datetime(ru_RU).pdf b/ubl-settings-datetime/pdf/ubl-settings-datetime(ru_RU).pdf new file mode 100644 index 0000000..8873143 Binary files /dev/null and b/ubl-settings-datetime/pdf/ubl-settings-datetime(ru_RU).pdf differ diff --git a/ubl-settings-datetime/pic/01.png b/ubl-settings-datetime/pic/01.png new file mode 100644 index 0000000..ee5f53c Binary files /dev/null and b/ubl-settings-datetime/pic/01.png differ diff --git a/ubl-settings-datetime/pic/02.png b/ubl-settings-datetime/pic/02.png new file mode 100644 index 0000000..4bef16c Binary files /dev/null and b/ubl-settings-datetime/pic/02.png differ diff --git a/ubl-settings-datetime/pic/03.png b/ubl-settings-datetime/pic/03.png new file mode 100644 index 0000000..311089c Binary files /dev/null and b/ubl-settings-datetime/pic/03.png differ diff --git a/ubl-settings-datetime/pic/04.png b/ubl-settings-datetime/pic/04.png new file mode 100644 index 0000000..13060c9 Binary files /dev/null and b/ubl-settings-datetime/pic/04.png differ diff --git a/ubl-settings-datetime/pic/ubl-settings-datetime_page_1.png b/ubl-settings-datetime/pic/ubl-settings-datetime_page_1.png deleted file mode 100644 index 693f3a3..0000000 Binary files a/ubl-settings-datetime/pic/ubl-settings-datetime_page_1.png and /dev/null differ diff --git a/ubl-settings-datetime/ubl-settings-datetime.bmpr b/ubl-settings-datetime/ubl-settings-datetime.bmpr deleted file mode 100644 index 208eb1a..0000000 Binary files a/ubl-settings-datetime/ubl-settings-datetime.bmpr and /dev/null differ diff --git a/ubl-settings-datetime/ubl-settings-datetime.pdf b/ubl-settings-datetime/ubl-settings-datetime.pdf deleted file mode 100644 index 97c66fa..0000000 Binary files a/ubl-settings-datetime/ubl-settings-datetime.pdf and /dev/null differ