Сценарии использования
Dim (обсуждение | вклад) м |
Dim (обсуждение | вклад) (Диаграмма) |
||
Строка 4: | Строка 4: | ||
* Разобраться в действиях на каждом слое архитектуры | * Разобраться в действиях на каждом слое архитектуры | ||
− | + | [[Файл:Gplvote usecase.jpg]] | |
== Создание ключей == | == Создание ключей == | ||
Ключи можно создать и без использования ПО системы. Для работы системы необходимо иметь следующие ключи: | Ключи можно создать и без использования ПО системы. Для работы системы необходимо иметь следующие ключи: |
Текущая версия на 22:48, 26 марта 2012
---TODO (на что обратить внимание)---
- Просмотреть все существительные на предмет нового термина. Ввести новые термины
- Просмотреть какие типы данных и протоколы используются в сценарии. Ввести новые данные и протоколы
- Разобраться в действиях на каждом слое архитектуры
Создание ключей
Ключи можно создать и без использования ПО системы. Для работы системы необходимо иметь следующие ключи:
- Мастер ключ (public и private части). Ключ идентифицирующий пользователя
- Транспортный ключ (public и private части). Public часть обязательно подписана хотя-бы одним мастер ключом
Также рекомендовано иметь идентифицирующий хэш (idhash), подписанный мастер ключом (при отсутствии оного backend будет считаться анонимным).
Backend запускается в большинстве случаев автостартом с запуском системы. При запуске backend проверяет наличие мастер ключа, транспортного ключа и идентифицирующего хэша (idhash) по пути указанному в конфигурационном файле для backend или из командной строки. По умолчанию это хранилище GPG. При наличии ключей выполняется сценарий "подключение к сети". При отсутствии ключей и запущенном frontend они будут созданы автоматически (по пути указанному в конфигурационном файле). В процессе генерации ключа пользователю предлагается ввести данные для idhash. При отсутствии idhash, backend считается анонимным. После этого будет выполнятся сценарий "подключение к сети". В дальнейшем продвинутые пользователи могу перенести ключи в другое место, соответственно изменив настройки в конфигурационном файле.
Подключение к сети
После того как выполнена проверка наличия ключей, система попытается подключится к сети. Для этого нужно знать IP-адреса некоторых узлов из сети. При первичном ("холодном") запуске список таких адресов пуст. Чтоб получить хоть один узел из сети, система запрашивает его через сервер gplvote.org. В случае неудачи (если сервер gplvote.org по какой-либо причине недоступен) пользователю предлагается ввести адрес (или список адресов) других пользователей. В данном случае список адресов следует попросить у знакомого который уже пользуется системой (эта информация в виде подсказки должна быть рядом с полем для ввода списка адресов). Система будет снова пытаться подключиться к узлам из списка. Все успешные и неудачные подключения записываем в базу (адреса и доступность). Этот список будет использоваться в дальнейшем для поиска доступных узлов при соединении с "сетью".
При дальнейших запусках backend уже будет иметь список адресов и будет даже без запуска frontend пытаться подключится к сети. В случае неудач при подключении ко всем узлам из списка, пользователю при запущенном frontent будет предлагаться снова ввести список адресов доступных узлов. По ходу работы backend отсылает данных о своих соединениях некоторым "соседним" узлам, что позволяет последним модифицировать список доступных узлов сети.
Информация работы backend должна логироваться и/или выводится на frontnd
Доп. информация:
Подписывание чего либо
Основной интерфейс и система меню
Получение доверия
Создание субъекта голосования
Поиск субъектов голосования
Поиск пользователей
Вступление в субъекты голосования
Подписи доверия и недоверия
Распределение (делегирование) голосов в субъекте голосования
Голосования
Открытое
Тайное
Общение пользователей
Инициация голосования в субъекте голосования
Модерирование инициаторов голосования
Основной режим: проставление рейтингов инициаторам голосования.
Дополнительный режим: возможность совместного бана инициаторов "спама" вплоть до исключения из субъекта голосования.