You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
9.8 KiB
9.8 KiB
ТЕХНИЧЕСКОЕ ЗАДАНИЕ на разработку утилиты ubl-settings-datetime
-
ОПИСАНИЕ: Графическое средство настройки даты и времени в ОС UBLinux
-
ЭТАПЫ И СРОКИ СОЗДАНИЯ ПРИЛОЖЕНИЯ: Общий срок работ по созданию приложения составляет N дней:
- N дня - макет и дизайн приложения и его утверждение
- N дней - разработка приложения
- N дня - тестирование приложения и исправление ошибок
Перечень этапов разработки приложения:
- Разработка макета и дизайна приложения, самостоятельно
- Утверждение и доработка макета, самостоятельно
- Создание работающего интерфейса, включая полную разработку действующих ярлыков, кнопок и т.д., самостоятельно
- Проектирование алгоритма работы приложения, самостоятельно
- Написание работающего кода приложения, включая полноценно работающие элементы графического интерфейса, а также перевод (поддержка локализации En, Ru), самостоятельно
- Тестирование и исправление ошибок, самостоятельно
- Публикация
-
ТЕХНОЛОГИЧЕСКИЕ ТРЕБОВАНИЯ:
- Приложение разрабатывается под нужды операционной системы UBLinux
- Использование фирменного логотипа компании
- Название приложения, техническое: ubl-settings-datetime
- Название приложения, публичное: UBConfig - Дата и время
- Стек технологий:
- Язык программирования: Bash или C++
- Приложение для разработки графического интерфейса: Glade 3
- Графические библиотеки: GTK3
- Операционная система разработки: UBLinux DB
- Структура:
- /usr/bin/ubl-settings-datetime (скомпилированный бинарный файл) Bash/C: Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C++
- Файл glade скомпилирован в бинарный файл Графическая часть, фронт
- Файл css скомпилирован в бинарный файл Стили виджетов GTK
- /usr/share/ubl-settings-datetime/images/{*.png,*.svg} Элементы изображений
- /usr/share/ubl-settings-datetime/locale -> /usr/share/locale Локализация En/Ru
-
ТЕХНИЧЕСКОЕ ЗАДАНИЕ:
- Ярлык (desktop-файл):
- Type: Application
- Exec: ubl-settings-datetime
- Categories: X-UBL-SettingsManager;X-UBL-SystemSettings
- Главное окно:
- Требования к внешнему виду:
- Адаптивный (резиновый) дизайн.
- Минимальный размер окна до прекращения масштабирования 800 на 600 пикселей.
- Шапка в стиле приложений GTK3.
- В верхней части крупный логотип утилиты, с права от него краткое описание утилиты. Фон заполнен изображением.
- Срока уведомления, представляющая собой полосу с инфографикой и элементом для закрытия/скрытия строки уведомлений.
- Рабочая область.
- Требования к «Рабочей области». Выводятся группы настроек запуска:
- Элементы
- лейбл "Время".
- счётчик от 00 до 23 (часы).
- лейбл «:» (разделитель).
- счётчик от 00 до 59 (минуты).
- лейбл «Дата».
- поле ввода. Ввод даты в формате ДД.ММ.ГГГГ
- кнопка с иконкой календаря. Вызов объекта датапикер (визуальное представление выбора даты).
- кнопка «Синхронизировать». Синхронизация выставленных даты и времени с часами и датой системы. Неактивно, если выбраны значения "По умолчанию, DHCP, Вручную" чекбокса в блоке "Синхронизация через NTP".
- кнопка «Синхронизировать аппаратное время». Синхронизация даты и времени с временем BIOS рабочей станции.
- лейбл "Синхронизация аппаратного времени:"
- комбокс с вариантами "Локальное время, Время по UTC"
- вложенный блок с заголовком «Часовой пояс».
- блок с заголовком "Синхронизация через NTP"
- комбобокс с вариантами выбора сервера: «По умолчанию, DHCP, Вручную». При выборе «По умолчанию», второе поле для ввода вручную становится заблокированным для манипуляций - текст введённого поля серый. Содержание поля - ответ полученный на запрос «ubconfig --source=default get NTPSERVERS_DEFAULT». При выборе «По умолчанию» в конфиг файл передаются значения: «NTPSERVERS=default».
- поле ввода для ручного указания серверов. Неактивно, если выбраны значения "Отключено, Остановлено, По умолчанию, DHCP" чекбокса в блоке "Синхронизация через NTP".
- блок с заголовком «Часовой пояс».
- лейбл «Регион:».
- комбобокс. Перечень регионов, локализация стандартными средствами.
- лейбл «Зона:».
- комбобокс. Перечень городов с поправкой на часовой пояс. Например, «(UTC +06) Омск». Перечень регионов, локализация стандартными средствами.
- Элементы
- Требования к внешнему виду:
- Ярлык (desktop-файл):
-
КОМАНДЫ
- Задать время:
date +%T -s "h:m:sec"(кнопка "Синхронизировать") - Задать дату:
date +%Y%m%d -s "2000:06:14"(кнопка "Синхронизировать") - Синхронизировать аппаратное время:
hwclock --systohc(кнопка "Синхронизировать аппаратное время") - Проверка запущенных процессов синхронизации, например,
pidof -q systemd-timesyncd ntpd chronyd. - Остановка сервисов:
- systemd-timesyncd
[[ systemctl --quiet is-active systemd-timesyncd &>/dev/null ]] && systemctl stop systemd-timesyncd - ntp
[[ systemctl --quiet is-active ntpd &>/dev/null ]] && systemctl stop ntpd - openntp
[[ systemctl --quiet is-active openntpd &>/dev/null ]] && systemctl stop openntpd - linuxptp
[[ systemctl - -quiet is-active ptp4l &>/dev/null ]] && systemctl stop ptp4l
- systemd-timesyncd
- Установка часового пояса:
ln -s /usr/share/zoneinfo/ && ln -s /usr/share/zoneinfo/REGION/ZONE(комбобокс "Регион", "Зона") - Команды записи в конфигурационный файл:
- Получить статус синхронизации NTP:
/usr/bin/ubconfig get network NTPSERVERS - Задать значение NTPSERVERS:
- Если выбран по умолчанию:
/usr/bin/ubconfig set network NTPSERVERS=default - Если выбран dhcp:
/usr/bin/ubconfig set network NTPSERVERS=dhcp - Если выбран вручную:
/usr/bin/ubconfig set network NTPSERVERS=АДРЕСА ИЗ ПОЛЯ
- Если выбран по умолчанию:
- Получить текущую временную зону:
/usr/bin/ubconfig get clock ZONE - Задать временную зону:
/usr/bin/ubconfig set clock ZONE=REGION/ZONE - Отключить синхронизацию NTP:
/usr/bin/ubconfig remove network NTPSERVERS
- Получить статус синхронизации NTP:
- Задать время:
-
ПРИБЛИЗИТЕЛЬНЫЙ МАКЕТ ПРИЛОЖЕНИЯ.
