Aller à l'article
Aniq-UI

NorthstackAdministration de la plateforme

Administration de la plateforme

Ce que voit le personnel de la plateforme sur chaque espace de travail : les revenus récurrents et leur export, les organisations avec suspension et réactivation, les utilisateurs et leur restauration, le personnel, les rôles et paramètres de la plateforme, et ce que peuvent faire Platform admin et Support.

Pour le pack Full Stack

Qui l'utilise

  • L'administration de la plateforme est destinée aux personnes qui font tourner le produit, pas aux membres d'un espace de travail. Un compte fait partie du personnel de la plateforme quand il détient un rôle de plateforme ; les rôles d'espace de travail n'ont rien à voir avec elle.
  • Elle s'ouvre dans le même tableau de bord, dans sa propre colonne de la barre latérale. Un compte avec une permission de plateforme et un espace de travail voit Platform admin au bas de la barre latérale de l'espace de travail et Return to workspace dans celle de la plateforme. Le personnel sans espace de travail arrive sur la vue d'ensemble de la plateforme après la connexion.
  • Chaque route de la plateforme vérifie côté serveur les permissions de plateforme du compte, quoi qu'affiche l'écran. Une page ouverte sans elles indique « Platform administration is open to platform staff only. »

Pages

Élément de la barre latéraleCheminPermissionRôle
Vue d'ensemble/en/adminplatform.viewLes revenus récurrents, la répartition des formules, la tendance des revenus et les dernières organisations, avec Export report.
Organisations/en/admin/organizationsorganizations.viewChaque espace de travail de la plateforme avec sa formule, ses places et son statut ; le détail de chacun ; suspension et réactivation.
Utilisateurs/en/dashboard/users/allusers.viewChaque compte et les espaces de travail auxquels il appartient, avec les comptes supprimés sous Deleted.
Personnel/en/dashboard/admins-managementadmins.viewLes comptes qui détiennent un rôle de plateforme, et leurs rôles.
Rôles/en/dashboard/admins-rolesroles.viewCe que peut faire chaque rôle de la plateforme.
Paramètres/en/admin/settingssettings.viewLes paramètres valables pour toute la plateforme.

La recherche de la barre supérieure y trouve des organisations.

Platform admin et Support

RôleCompte du seedPermissions
Platform adminplatform@northstack.example (Riley Brooks)Les 21 : chaque page et chaque action ci-dessous
Supportsupport@northstack.example (Dana Quinn)platform.view, reports.export, organizations.view, users.view, admins.view, roles.view, settings.view : chaque page de la plateforme en lecture seule, et l'export des rapports

Aucun des deux comptes n'appartient à un espace de travail. yarn seed remet les deux rôles exactement à ces listes à chaque exécution : une modification faite sur la page Roles est donc annulée par le seed suivant ; les rôles que vous créez vous-même sont laissés tels quels. Le guide d'installation liste leurs identifiants de connexion.

La vue d'ensemble de la plateforme

  • Monthly recurring revenue : chaque espace de travail payant (actif, en retard de paiement ou en cours de fin) au prix mensuel de sa formule, avec le nombre d'espaces payants, d'essais, et les comptes en retard de paiement avec un lien vers eux.
  • Plan distribution : combien d'espaces de travail payants sont sur Starter, Pro et Scale.
  • MRR trend : un point par mois. Le Report range (Last 30 days, Last 90 days, Last 6 months ou Last 12 months, 6 mois par défaut) règle le nombre de mois affichés. Les mois passés viennent de la table mrr_snapshots, et le mois en cours est calculé à partir des espaces de travail tels qu'ils sont maintenant. Seul le seed écrit les mois passés : rien n'enregistre le chiffre d'un mois à sa clôture, si bien que sur une installation réelle la tendance ne grandit que si votre propre tâche stocke une ligne par mois.
  • Organizations : les dernières, avec des filtres de formule et de statut et les mêmes actions que la page Organizations.
  • Export report (reports.export) télécharge northstack-organizations.csv : chaque organisation avec organization, id, plan, status, seats, mrr_usd et created.

Le seed crée 732 organisations pour que les chiffres se recoupent : 690 payantes (480 sur Starter, 120 sur Pro et 90 sur Scale), dont 6 en retard de paiement, et 42 essais, avec cinq mois passés de revenus, si bien que la tendance affiche au plus six points sur un seed neuf.

Organisations

  • La liste cherche dans les noms et les adresses et filtre par Plan et Status (Trial, Active, Past due, Ending, Canceled, Suspended), dix par page, le plus récemment mis à jour d'abord.
  • La page d'une organisation affiche son propriétaire, sa formule, son statut, ses places, sa région, son adresse, son e-mail de facturation et sa date de renouvellement, ses requêtes d'API et son stockage, ses membres avec leurs rôles, ses douze dernières factures, l'historique de son abonnement et ses événements de plateforme.
  • Suspend (organizations.manage) demande un motif et est écrit dans les événements de plateforme de l'organisation. Un espace de travail suspendu garde toutes les lectures : ses membres se connectent toujours et voient leurs données, et chaque modification qu'ils tentent est refusée avec workspace_suspended.
  • Reactivate le remet à Active, ou à Past due quand il avait une facture impayée, et le motif est effacé.

Utilisateurs

  • All users liste chaque compte avec ses espaces de travail et ses rôles, son rôle de plateforme et sa date d'arrivée, dix par page. Role filtre par Workspace owner, Workspace admin, Workspace member, Billing, Platform staff ou No workspace.
  • Create user (users.create) crée un compte avec un nom, un e-mail et un mot de passe d'au moins 8 caractères ; rien n'est envoyé par e-mail, partagez donc les informations de façon sûre. Le compte n'a aucun espace de travail tant qu'il n'en crée pas un ou n'accepte pas une invitation.
  • Edit et Change password demandent users.update. Un nouveau mot de passe ou e-mail pour un compte qui détient une permission de plateforme que l'appelant n'a pas est refusé avec un 403, « This account holds platform permissions you do not have, so only a Platform admin can change its password or email. » Un Platform admin peut modifier n'importe quel compte, et l'e-mail est protégé car une réinitialisation du mot de passe y est envoyée.
  • Delete (users.delete) déplace le compte vers Deleted : il ne peut plus se connecter. Un compte qui possède un espace de travail ne peut pas être supprimé tant qu'un autre membre n'est pas devenu propriétaire de cet espace.
  • Restore (users.restore) ramène un compte supprimé avec ses anciennes appartenances. Le seed inclut un compte supprimé pour l'essayer.

Personnel

  • Add staff (admins.create) crée un compte avec un nom, un e-mail, un mot de passe saisi deux fois et ses rôles de plateforme.
  • Edit modifie les informations (admins.edit), avec la même protection sur le mot de passe et l'e-mail d'un autre compte que sur Users. Platform roles change les rôles (admins.assign_roles) ; s'il n'en reste aucun, la personne quitte la liste du personnel et garde son compte. Un rôle qui détient une permission de plateforme que l'appelant n'a pas ne peut être ni accordé ni retiré : « This role holds platform permissions you do not have, so you cannot grant it or take it away. »
  • Remove (admins.delete) supprime le compte et son accès à la plateforme ; il peut être restauré depuis Users, Deleted.
  • La page d'un membre du personnel liste les permissions que lui accordent ses rôles.

Rôles de la plateforme et leurs permissions

/en/dashboard/admins-roles montre chaque rôle de la plateforme comme une colonne et chaque permission comme une ligne, en six groupes. Create role (roles.create) ajoute un rôle sans permissions ; Rename (roles.edit) et Delete (roles.delete) sont dans le menu de chaque colonne ; cocher des cellules et Save changes demande roles.assign_permissions, et l'API n'enregistre que les permissions que l'appelant détient lui-même, sur un rôle qui n'en détient aucune qu'il n'ait pas : « You can only give a role permissions you hold yourself, and only change a role that holds no permission you lack. » Ainsi, personne ne relève son propre rôle, ni un rôle au-dessus du sien. L'API refuse de supprimer un rôle que quelqu'un détient encore. Le tableau de bord garde la colonne Platform admin verrouillée avec toutes les permissions, pour que la plateforme ait toujours quelqu'un qui puisse la gérer.

GroupePermissions
Vue d'ensemble et rapportsplatform.view, reports.export
Organisationsorganizations.view, organizations.manage
Utilisateursusers.view, users.create, users.update, users.delete, users.restore
Personneladmins.view, admins.create, admins.edit, admins.delete, admins.assign_roles
Rôlesroles.view, roles.create, roles.edit, roles.delete, roles.assign_permissions
Paramètressettings.view, settings.edit

La liste est définie dans back-end/src/database/seeders/platform-access.seeder.ts ; le seed ajoute les nouveaux noms et retire ceux qu'il ne liste plus. Un changement des permissions d'un rôle, ou des rôles de plateforme de quelqu'un, atteint aussitôt un membre du personnel connecté avec l'avis « Your permissions have been updated ».

Paramètres de la plateforme

/en/admin/settings liste les paramètres de la plateforme par catégorie, avec une recherche. Chaque valeur se modifie sur place, ou le paramètre se supprime, avec settings.edit ; settings.view les lit.

ParamètreCléValeur initiale
Product namesite_nameNorthstack
Taglinesite_taglineB2B SaaS starter
Support addresssupport_emailune adresse example
Notification sendernotification_emailune adresse example
Maintenance modemaintenance_modedésactivé
New sign-upssignups_enabledactivé
Trial length (days)trial_days14
  • New sign-ups désactivé refuse l'inscription du tableau de bord et la création d'un nouvel espace de travail dans l'onboarding avec un 403, « New sign-ups are closed on this platform right now. » Les comptes existants se connectent toujours et acceptent des invitations, et le personnel peut toujours créer des comptes sur la page Users.
  • Trial length (days) est la durée d'essai de chaque nouvel espace de travail, à partir du prochain créé. Une valeur qui n'est pas un nombre entier de jours supérieur à zéro compte pour 14.
  • Maintenance mode activé ferme le produit à tous sauf au personnel de la plateforme (les comptes qui détiennent platform.view, Platform admin et Support dans le seed). Tous les autres voient l'écran de maintenance du tableau de bord, « Closed for maintenance. », qui revérifie de lui-même, et l'API répond 503 à leurs requêtes. Le personnel se connecte comme d'habitude et voit « Maintenance mode is on » avec un lien vers ces paramètres. Le formulaire de contact et le paiement des licences du site, le webhook de Stripe et la vérification de santé restent ouverts.
  • L'assistant IA lit le nom du produit, l'adresse de support et le mode maintenance pour ses réponses. Le slogan et l'expéditeur des notifications sont stockés et affichés ici pour que votre propre code les lise : l'API n'envoie aucun e-mail à partir d'eux.
  • Chaque changement s'applique à la requête suivante. yarn seed remet ces sept paramètres à leurs valeurs initiales, si bien qu'un changement fait ici est annulé par le seed suivant, et retire tout autre paramètre.

Les routes derrière ces pages

RoutePermission
GET /api/platform/overview?range=30d|90d|6m|12mplatform.view
GET /api/platform/overview/exportreports.export
GET /api/platform/organizations (search, plan, status, page, limit jusqu'à 100), GET /api/platform/organizations/:idorganizations.view
POST /api/platform/organizations/:id/suspend (reason), POST /api/platform/organizations/:id/reactivateorganizations.manage
GET /api/users, GET /api/users/deleted, GET /api/users/:usernameusers.view
POST /api/users; PATCH /api/users/:username, PATCH /api/users/:username/change-password; DELETE /api/users/:username; POST /api/users/deleted/:username/restoreusers.create; users.update; users.delete; users.restore
/api/admins/*admins.*
/api/roles/*roles.*
GET /api/settings ; PATCH et DELETE /api/settings/:keysettings.view; settings.edit

Comment un changement atteint le personnel connecté

Inclus avec votre achat. Connectez-vous pour le lire, ou ouvrez-le dans votre téléchargement.

La connexion en direct qui pousse un changement de rôle de plateforme au personnel connecté.

Bloqué sur une étape ?

Trouvez une solution avant de tout recommencer.

Dépannage

Préférences des Cookies

Nous utilisons des cookies pour améliorer votre expérience de navigation, analyser le trafic du site et personnaliser le contenu. En cliquant sur "Accepter Tout", vous consentez à notre utilisation des cookies pour l'analyse et la publicité personnalisée.