Workspaces
Workspace - это рабочее пространство Web3alert, внутри которого команда хранит и настраивает свои проекты, подписки, ресурсы доставки, источники данных и адресную книгу.
Проще говоря, аккаунт отвечает за личный вход пользователя, профиль и биллинг, а workspace отвечает за совместную работу и за рабочие данные сервиса.
Один аккаунт может состоять в нескольких workspaces. Активный workspace выбирается в левом меню, и от него зависит, какие сущности пользователь видит в основных разделах сервиса:
- Projects - проекты, созданные в workspace, а также доступные marketplace-проекты;
- Subscriptions - подписки именно текущего workspace;
- Resources - каналы доставки и внешние endpoints текущего workspace;
- Data sources - custom data sources текущего workspace и доступные system sources;
- Addresses - address book текущего workspace.
Workspace и Account
Важно не смешивать workspace с account.
Account
Account - это личная сущность пользователя.
К account относятся:
- способы авторизации;
- личный профиль и avatar пользователя;
- billing profile;
- баланс;
- текущий тариф;
- покупки тарифов и project free-access add-ons;
- личное участие пользователя в разных workspaces.
Workspace
Workspace - это рабочая сущность команды или пользователя.
К workspace относятся:
- title, avatar и name workspace;
- участники workspace и их роли;
- invite link для добавления участников;
- проекты, созданные в этом workspace;
- project transfer requests;
- подписки workspace;
- resources workspace;
- custom data sources workspace;
- address book workspace;
- subscription logs workspace.
Если пользователь переключает active workspace, он остается тем же account, но видит другой рабочий контекст.
Левое меню Workspace
В левом меню есть отдельный блок Workspace.
Current workspace
В верхней строке блока показывается текущий workspace: его avatar или первая буква названия, title и стрелка раскрытия.
Нажатие на строку раскрывает workspace-menu.
Parameters
Открывает Workspace parameters - страницу настроек текущего workspace.
Именно здесь редактируются параметры workspace, участники, transfer requests и subscription logs.
Switch workspaces
Показывает другие workspaces, в которых состоит текущий account.
Нажатие на другой workspace переключает active workspace. После переключения интерфейс остается в том же разделе, если это возможно. Например, пользователь может переключиться из Projects одного workspace в Projects другого. Если текущая детальная страница больше не существует в новом workspace, интерфейс возвращает пользователя к списку проектов.
Add workspace
Открывает создание нового workspace.
Создание workspace
Новый workspace создается через левое меню: Workspace -> Add workspace.
После создания интерфейс переключает пользователя в новый workspace и открывает раздел Projects.
Title
Видимое название workspace.
Title показывается в левом меню, настройках workspace и других местах интерфейса, где нужно человекочитаемое имя рабочего пространства.
Title обязателен.
Name
Стабильный slug workspace.
Name используется как техническое имя workspace и входит в fullname сущностей, которые принадлежат workspace. Например, проект может получить fullname вида <workspace>.<project-name>.
Name обязателен и должен быть в kebab-case: латинские буквы, цифры и дефисы.
Пока пользователь не менял Name вручную, форма пытается сгенерировать его из Title. Если title содержит неподходящие символы, name нужно заполнить вручную.
Reserved names
Некоторые имена зарезервированы платформой.
Например, workspace names и titles, связанные с common или web3alert, нельзя использовать для обычных пользовательских workspaces.
Cancel
Отменяет создание workspace и возвращает пользователя в основной интерфейс.
Workspace roles
Участник workspace имеет одну из ролей.
Owner
Главный владелец workspace.
Owner может управлять настройками workspace, участниками и project transfers. Transfer проекта из workspace доступен только owner.
Admin
Администратор workspace.
Admin может управлять workspace settings и участниками, но не может инициировать project transfer от имени владельца.
Developer
Участник, который работает с техническими сущностями workspace.
Конкретный доступ зависит от прав на проекты и разделы сервиса. В настройках workspace developer не управляет участниками и transfer requests.
User
Базовый участник workspace.
Обычно использует готовые проекты, подписки и ресурсы, но не управляет настройками workspace.
Workspace parameters
Workspace parameters - это меню настроек активного workspace.
Набор вкладок зависит от роли пользователя и от самого workspace. Например, Project transfers доступен только owner.
На узких экранах вкладки отображаются как compact select, но состав вкладок остается тем же.
Information
Вкладка Information содержит основные параметры workspace.
Workspace
Панель профиля workspace.
В ней отображаются:
- avatar workspace;
- title workspace;
- кнопка редактирования title.
Avatar
Avatar workspace отображается в левом меню и в местах, где нужно визуально отличить один workspace от другого.
Чтобы заменить avatar, нужно нажать на текущую картинку. Поддерживаются JPG и PNG до 1 MB.
При загрузке открывается crop tool. Для workspace используется rounded-square crop, потому что avatar workspace в интерфейсе отображается как квадрат со скругленными углами.
Title
Title можно редактировать прямо в панели workspace.
После сохранения новое название появляется в левом меню и в workspace settings.
Title не может быть пустым.
Name
Read-only имя workspace.
Name нельзя редактировать из настроек, потому что оно участвует в fullname сущностей и ссылках.
Members
Вкладка Members управляет участниками workspace.
Она доступна пользователям, которые могут управлять workspace. Обычно это owner и admin.
Invite new members
Для обычных workspaces вкладка показывает invite link.
Этот link можно скопировать и отправить пользователю, которого нужно добавить в workspace. По invite link пользователь сначала авторизуется, если он еще не вошел в Web3alert, затем нажимает Join и попадает в workspace.
Workspace members
Список участников workspace.
Для каждого участника показываются:
- avatar или первая буква имени;
- display name;
- отметка
You, если это текущий пользователь; - текущая role;
- кнопка удаления, если текущий пользователь может удалять участников.
Role select
Позволяет изменить роль участника.
Изменение применяется сразу после выбора роли.
Доступные роли:
Owner;Admin;Developer;User.
Remove member
Удаляет участника из workspace.
Перед удалением показывается подтверждение. Если пользователь удаляет самого себя, действие работает как Leave workspace.
Members access
Если у пользователя нет прав на управление участниками, вкладка показывает read-only состояние.
В этом режиме пользователь видит, что приглашать участников, менять роли и удалять людей могут только owner или admin.
Project transfers
Вкладка Project transfers управляет переносом проектов между workspaces.
Она доступна только owner текущего workspace.
Transfer не переносит проект сразу. Сначала создается request, затем owner целевого workspace принимает или отклоняет его. Проект меняет владельца только после принятия request.
Create transfer request
Форма подготовки transfer request.
Project
Проект, который нужно перенести.
Список содержит проекты текущего workspace, доступные для transfer.
Target workspace
Name workspace, который должен получить проект.
Самого знания workspace name недостаточно для переноса: request все равно должен быть принят owner целевого workspace.
Target project name
Новое имя проекта в целевом workspace.
Если оставить поле пустым или оставить текущее значение, проект сохранит свой name. Если нужно перенести проект с переименованием, здесь указывается новый project name.
Get plan
Строит transfer plan до создания request.
Plan показывает, что именно будет затронуто:
- количество triggers;
- количество templates;
- количество topics;
- количество subscriptions;
- количество aliases, которые нужно обновить.
Если обнаружены конфликты, request нельзя создать до их исправления.
Conflicts
Список проблем, которые мешают переносу.
Например:
- target workspace не найден или не может принять transfer;
- в target workspace уже есть проект с таким именем;
- целевые trigger fullnames конфликтуют с существующими triggers;
- aliases уже заняты другими сущностями.
Request transfer
Создает transfer request по последнему построенному plan.
Если после построения plan данные изменились, backend может отклонить request и попросить построить plan заново.
Outgoing requests
Запросы, отправленные из текущего workspace.
Для каждого request показываются:
- source project и target project;
- дата создания;
- срок истечения;
- status;
- краткое количество triggers/templates.
Pending request можно отменить кнопкой Cancel.
Incoming requests
Запросы, пришедшие в текущий workspace.
Pending request можно принять кнопкой Accept или отклонить кнопкой Reject.
После принятия backend применяет transfer: меняет workspace проекта, обновляет связанные fullnames и aliases, а затем request получает финальный status.
Subscription logs
Вкладка Subscription logs показывает историю alerts для подписок текущего workspace.
Это рабочий журнал доставки: он помогает понять, какие subscription alerts были отправлены, заблокированы, ограничены rate limit или завершились ошибкой.
Last entries
Ограничивает количество записей в журнале.
Доступные значения:
50;100;250;500.
Auto-refresh
Включает автоматическое обновление журнала.
Доступные значения:
Off;5s;10s;30s.
Когда auto-refresh включен, фильтр по дате скрывается, потому что журнал работает как live-view последних событий.
Before / After
Фильтр по времени.
Before показывает записи до выбранной даты и времени. After показывает записи после выбранной даты и времени.
Date and time
Выбор даты и времени для фильтра Before или After.
В popover можно выбрать день, hour и minute. Кнопка Now подставляет текущее время, Clear очищает фильтр.
Refresh
Ручное обновление журнала.
Time
Колонка времени создания log entry.
Кнопка в заголовке сортирует записи по времени: от новых к старым или от старых к новым.
Subscription
Колонка с маршрутом alert.
В ней отображается project, trigger или template context, а также каналы доставки. Если у подписки были inputs или filters, рядом может отображаться details badge с краткой подсказкой.
Status
Фильтр и колонка статуса.
Доступные статусы:
Delivered;Failed;Rate limited;Blocked.
Expanded log row
Нажатие на строку раскрывает детали:
Reason- причина ошибки или дополнительная информация;Input- replay/test input, если он есть;Test run- запуск теста подписки на основе данных log entry, если для этой записи доступна связанная subscription.
Danger zone
Вкладка Danger zone содержит выход из workspace.
Leave workspace
Удаляет текущего пользователя из workspace.
Перед выходом показывается подтверждение.
Если пользователь является единственным участником workspace, после выхода workspace будет удален.
Last workspace
Если это единственный workspace пользователя, покинуть его нельзя.
В этом случае кнопка Leave отключена, а вкладка показывает состояние You cannot leave your last workspace.