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.
MiraMaX166 18bb457d10
fix png- files in design-ubl-settings-apps
3 years ago
..
layout fix png- files in design-ubl-settings-apps 3 years ago
pdf add change in design ubl-settings-datetime 3 years ago
pic fix png- files in design-ubl-settings-apps 3 years ago
README.md changes in readme ubl-settings-datetime (task number 6) 3 years ago

README.md

ТЕХНИЧЕСКОЕ ЗАДАНИЕ на разработку утилиты ubl-settings-datetime

  1. ОПИСАНИЕ: Графическое средство настройки даты и времени в ОС UBLinux

  2. ЭТАПЫ И СРОКИ СОЗДАНИЯ ПРИЛОЖЕНИЯ: Общий срок работ по созданию приложения составляет N дней:

    • N дня - макет и дизайн приложения и его утверждение
    • N дней - разработка приложения
    • N дня - тестирование приложения и исправление ошибок

    Перечень этапов разработки приложения:

    • Разработка макета и дизайна приложения, самостоятельно
    • Утверждение и доработка макета, самостоятельно
    • Создание работающего интерфейса, включая полную разработку действующих ярлыков, кнопок и т.д., самостоятельно
    • Проектирование алгоритма работы приложения, самостоятельно
    • Написание работающего кода приложения, включая полноценно работающие элементы графического интерфейса, а также перевод (поддержка локализации En, Ru), самостоятельно
    • Тестирование и исправление ошибок, самостоятельно
    • Публикация
  3. ТЕХНОЛОГИЧЕСКИЕ ТРЕБОВАНИЯ:

    1. Приложение разрабатывается под нужды операционной системы UBLinux
    2. Использование фирменного логотипа компании
    3. Название приложения, техническое: ubl-settings-datetime
    4. Название приложения, публичное: UBConfig - Дата и время
    5. Стек технологий:
      • Язык программирования: Bash или C++
      • Приложение для разработки графического интерфейса: Glade 3
      • Графические библиотеки: GTK3
      • Операционная система разработки: UBLinux DB
    6. Структура:
      • /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
  4. ТЕХНИЧЕСКОЕ ЗАДАНИЕ:

    1. Ярлык (desktop-файл):
      1. Type: Application
      2. Exec: ubl-settings-datetime
      3. Categories: X-UBL-SettingsManager;X-UBL-SystemSettings
    2. Главное окно:
      1. Требования к внешнему виду:
        • Адаптивный (резиновый) дизайн.
        • Минимальный размер окна до прекращения масштабирования 800 на 600 пикселей.
        • Шапка в стиле приложений GTK3.
        • В верхней части крупный логотип утилиты, с права от него краткое описание утилиты. Фон заполнен изображением.
        • Рабочая область делится на два блока, которые обрамлены рамками с заголовками: «Локальная настройка», «Глобальная настройка».
      2. Требования к «Рабочей области». Выводятся группы настроек запуска:
        1. Локальная настройка
          • лейбл "Время".
          • счётчик от 00 до 23 (часы).
          • лейбл «:» (разделитель).
          • счётчик от 00 до 59 (минуты).
          • лейбл «Дата».
          • поле ввода. Ввод даты в формате ДД.ММ.ГГГГ
          • кнопка с иконкой календаря. Вызов объекта датапикер (визуальное представление выбора даты).
          • кнопка «Синхронизировать». Синхронизация выставленных даты и времени с часами и датой системы.
          • кнопка «Синхронизировать аппаратное время». Синхронизация даты и времени с временем BIOS рабочей станции.
          • вложенный блок с заголовком «Часовой пояс».
          • лейбл «Регион:».
          • комбобокс. Перечень регионов, локализация стандартными средствами.
          • лейбл «Зона:».
          • комбобокс. Перечень городов с поправкой на часовой пояс. Например, «(UTC +06) Омск». Перечень регионов, локализация стандартными средствами.
        2. Глобальная настройка
          • чекбокс "Синхронизоравать через NTP"
          • комбобокс с вариантами выбора сервера: «По умолчанию, DHCP, Вручную». При выборе «По умолчанию», второе поле для ввода вручную становится заблокированным для манипуляций - текст введённого поля серый. Содержание поля - ответ полученный на запрос «ubconfig --source=default get NTPSERVERS_DEFAULT». При выборе «По умолчанию» в конфиг файл передаются значения: «NTPSERVERS=default». Неактивно, если не включен чекбокс "Синхронизоравать через NTP".
          • поле ввода для ручного указания серверов. Неактивно, если не включен чекбокс "Синхронизоравать через NTP", выбрана опция «По умолчанию» в комбобоксе с вариантами выбора сервера.
          • вложенный блок с заголовком «Часовой пояс».
          • лейбл «Регион:».
          • комбобокс. Перечень регионов, локализация стандартными средствами.
          • лейбл «Зона:».
          • комбобокс. Перечень городов с поправкой на часовой пояс. Например, «(UTC +06) Омск». Перечень регионов, локализация стандартными средствами.
  5. КОМАНДЫ

    1. Задать время: date +%T -s "h:m:sec" (кнопка "Синхронизировать")
    2. Задать дату: date +%Y%m%d -s "2000:06:14" (кнопка "Синхронизировать")
    3. Синхронизировать аппаратное время: hwclock --systohc (кнопка "Синхронизировать аппаратное время")
    4. Проверка запущенных процессов синхронизации, например, pidof -q systemd-timesyncd ntpd chronyd.
    5. Остановка сервисов:
      1. systemd-timesyncd [[ systemctl --quiet is-active systemd-timesyncd &>/dev/null ]] && systemctl stop systemd-timesyncd
      2. ntp [[ systemctl --quiet is-active ntpd &>/dev/null ]] && systemctl stop ntpd
      3. openntp [[ systemctl --quiet is-active openntpd &>/dev/null ]] && systemctl stop openntpd
      4. linuxptp [[ systemctl --quiet is-active ptp4l &>/dev/null ]] && systemctl stop ptp4l
    6. Установка часового пояса: ln -s /usr/share/zoneinfo/ && ln -s /usr/share/zoneinfo/REGION/ZONE (комбобокс "Регион", "Зона")
    7. Команды записи в конфигурационный файл:
      1. Получить статус синхронизации NTP: /usr/bin/ubconfig get network NTPSERVERS
      2. Задать значение NTPSERVERS:
        1. Если выбран по умолчанию: /usr/bin/ubconfig set network NTPSERVERS=default
        2. Если выбран dhcp: /usr/bin/ubconfig set network NTPSERVERS=dhcp
        3. Если выбран вручную: /usr/bin/ubconfig set network NTPSERVERS=АДРЕСА ИЗ ПОЛЯ
      3. Получить текущую временную зону: /usr/bin/ubconfig get clock ZONE
      4. Задать временную зону: /usr/bin/ubconfig set clock ZONE=REGION/ZONE
      5. Отключить синхронизацию NTP: /usr/bin/ubconfig remove network NTPSERVERS
  6. ПРИБЛИЗИТЕЛЬНЫЙ МАКЕТ ПРИЛОЖЕНИЯ.

    1. Главное окно