Aller au contenu
KAMOUniverse

Changelog

Ce qui est nouveau.

Chaque amélioration apportée à la plateforme, à mesure qu'elle est livrée.

  1. · kamo-internal

    Mise en place de types de visites et d'heures de travail

    Le premier criblage a besoin d'une nouvelle pratique, et celui qui n'existait pas. Réservation propose des types de visites à partir d'une table et recherche la disponibilité contre un autre, de sorte que une pratique avec ni l'un ni l'autre n'avait de journal vide et aucun moyen de le remplir de l'intérieur produit. Un type de visite est à la retraite plutôt que supprimé - nominatif des nominations et des demandes de remboursement le code, et un code qui disparaît transforme une année d'histoire en rangs, personne ne peut étiquette. Le bouton dit "recherir" pour cette raison. Les heures de travail sont économisées dans un fuseau horaire nommé et le panel dit. C'est le le domaine le plus susceptible d'être silencieusement faux, la disponibilité est calculée contre elle, et Le symptôme de la mauvaise chose est que les patients ne se présentent pas. La section n'apparaît que pour un rôle de MANAGE-SCHEDULE-TEMPLATES, et elle assis la dernière: un cabinet le visite une fois au début et presque jamais, donc il ne pas rivaliser avec le travail de la journée.

  2. · kamo-internal

    Écrire une ordonnance, une ordonnance et une vaccination

    Le graphique pourrait montrer les trois et en créer aucun. Un groupe plutôt que trois, parce qu'ils sont un moment: un clinicien qui termine une visite écrit le prescrivent, envoie le laboratoire et enregistre le tir dans les mêmes trente secondes, et trois écrans en trois endroits sont la façon dont le troisième est oublié - généralement le la vaccination, qui est l'un des besoins du registre et de la demande de rappel. Chaque onglet n'apparaît que si le rôle du membre l'inclut. Un bouton présent et les refus enseigne aux gens le système n'est pas fiable; un bouton qui est absent Il leur apprend qui demande. Le serveur applique les trois quoi qu'il en soit. L'interrupteur de substance contrôlée est indiqué, jamais deviné à partir du nom du médicament. A la recherche serait erronée dans les deux sens - exigeant la plus grande autorisation pour un nom mal lu, ou ne pas l'exiger pour un nom qu'il n'a pas reconnu - de sorte que le prescripteur l'affirme et le serveur applique la deuxième droite sur ce qui était affirmé. L'interrupteur est désactivé pur et simple pour quelqu'un sans ce droit, avec une ligne disant de demander à un administrateur plutôt qu'un refus après avoir tapé. L'écriture se trouve au-dessus de la lecture sur l'onglet: un clinicien arrive ici pour enregistrer ce que Ils ont juste décidé, et une boîte de composer en dessous d'une longue liste de problèmes est un seul personne scrolle jusqu'à. Il est mis en évidence sur le patient afin qu'une prescription à demi-type ne puisse pas suivre quelqu'un d'un graphique à l'autre, et un écrit un jeton qui fait le liste ci-dessous re-lire - une liste de la prescription hors date se lit comme "il n'a pas été le cas sauf". En outre, un RIGHT manquant ne rapporte plus comme « non activé pour les données cliniques ». Les deux arriver comme 403 et moyenne des choses opposées - l'une est fixée par un administrateur dans minutes, l'autre est un contrat - donc le client lit maintenant la raison pour laquelle le serveur envoie et porte sa phrase, qui nomme déjà l'autorisation.

  3. · kamo-internal

    Choisissez qui paie les boîtes aux lettres et indiquez le nombre par facture

    Le contrôle du mode de coût n'apparaît qu'une fois qu'un groupe de facturation existe - sans le cadre ne change rien, et l'offrant invite la croyance qu'il est brisé. Les lignes de facture portent le nombre de boîtes aux lettres enregistrées, donc une charge passée reste explicable après la suppression des boîtes aux lettres.

  4. · InitializerService

    Schéma des boîtes de réception connectées aux membres

    L'ancien membre unique unique sur member-imap-configs est découvert par forme. plutôt que par son nom généré par Hibernate, et n'est tombé qu'après le une clé plus large existe.

  5. · kamo-shared-library

    Compter les boîtes aux lettres personnelles connectées

  6. · SecurityService

    Modifier les données démographiques, établir le calendrier, la facture et le poste

    Les quatre derniers droits qui ont nommé des opérations qui n'existaient pas. EDIT-PATIENT-DEMOGRAPHICS: les coordonnées d'un patient peuvent être saisies une seule fois et jamais corrigés. Un champ que l'appelant omet est laissé seul plutôt que autorisé, parce que l'alternative vide une date de naissance lorsque quelqu'un fixe un nom de famille et un nom ou le changement de date réindexe l'identité, sans laquelle un nom de mariage quitte le patient pouvant être trouvé uniquement sous le nom qu'il n'utilise plus et crée un duplicata la prochaine fois que quelqu'un les inscrit. MANAGE-SCHEDULE-TEMPLATES: les types de visite et les heures de travail sont les deux choses qui doit exister avant que tout puisse être réservé, et les deux tableaux étaient lisibles et ni écriture. L'écran de réservation d'une nouvelle pratique n'offrait rien et il y avait aucun moyen de changer cela de l'intérieur du produit. Un type de visite est à la retraite plutôt Les nominations et les demandes de remboursement renvoient au code, et un code qui La disparition transforme une année d'histoire en rangées que personne ne peut étiqueter. Heures de travail nécessitent un fuseau horaire, car la disponibilité est calculée contre lui et un bloc sans que l'on soit lu dans la zone de regardant. GESTIONNAIRES ET ESPAGNIQUES ET POST-INSURANCE-PAYMENTS: le cycle des recettes pourrait se lire sept faire la queue et d'invoquer l'absence de réclamation. La création et l'envoi sont des appels séparés parce qu'ils sont des décisions distinctes - une création qui pourrait présenter est la manière dont une réclamation non contrôlée s'adresse à une chambre de compensation. Paiements par ligne, c'est-à-dire comment un payeur statuant et la seule façon de répondre "quelle que la procédure a été niée et pourquoi". L'en-tête de la réclamation est additionné de ses lignes plutôt que de l'appelant: a L'en-tête en désaccord avec ses propres lignes est l'état qui produit un équilibre Personne ne peut expliquer à un patient. Chaque ligne réglée à zéro avec des ajustements est un refus, pas un paiement, une liste de travail différente, un délai différent. La restriction de rémunération auto-indemnité est passée d'une bannière à un refus. 164.522 a) 1) vi) est d'un patient, et jusqu'à présent la seule chose entre un patient restreint et une prétention à leur plan était un panneau rouge sur un écran, ce qui ne fait rien à propos d'un les demandes soulevées de n'importe où ailleurs. Vérifié lorsque la réclamation est soulevée ET à nouveau il est envoyé, parce qu'il peut avoir été enregistré entre les deux et l'envoi est l'appel qui divulgue effectivement. Les quantités sont lues à travers leur ficelle décimale, jamais un double: 0,1 x 0,2 sur une corde décimale. la liste de demandes est un équilibre qu'un patient est invité à payer et ne peut pas être informé de la raison pour. 24 essais.

  7. · SecurityService

    POST /quotes/zuid/conversion

    Sur QuoteController plutôt que POSController: ce contrôleur fait appliquer un à droite sur chaque gestionnaire, POSController n'applique aucun sur aucun critère d'évaluation de l'ordre, et il résout les sessions à partir de l'attribut OTK, l'en-tête X-z-token et le biscuit. Gated MANAGE-QUOTES parce qu'il n'y a pas de droit de mutation d'ordre il existe à la réutilisation. 409 pour un conflit d'État, l'appelant peut réessayer après, 404 pour une citation qui n'y a pas d'adéquation - mise à jour/réviser/l'annulation. Un id malformé est déjà a 400 à partir d'entreseUuid avant que l'une ou l'autre branche soit atteinte.

  8. · EmailService

    Retour à l'API de la boîte à messagerie personnelle que la console appelle déjà

    Dix-huit méthodes de client sur douze itinéraires qui étaient en cours d'expédition sans backend derrière eux. Un membre n'atteint que sa propre boîte de réception et le configure Une fois qu'un administrateur leur a demandé de le faire. OAuth utilise les champs de portée des consommateurs: les gestionnaires existants demandent Espace de travail et Un compte personnel ne peut pas accorder de compte locataire-administrateur.

  9. · kamo-shared-library

    Entités de boîtes aux lettres personnelles et deux fournisseurs de consommateurs

    Le choix du choix est proposé par le choix. membres de l'enum, donc la sélection a produit un orgon inutilisable.

  10. · kamo-internal

    Une tête fermée s'éloigne au lieu de clignoter

    Cliquez à droite sur une tête et choisissez Fermer, ou mettre une dans le but - lancé dans ou transporté et tombés - joue maintenant une sortie de 500 ms: dans le sens inverse des aiguilles d'une montre trois quarts de tour en se rétrécissant à néant et en s'évanouissant, puis en démontant. La tête laisse chaque morceau de livre du moteur l'instant où il est fermé (groupe, valeurs de mouvement, physique de lancer), donc son cluster reflue immédiatement et Rien ne peut entrer en collision avec un cadavre. Ce qui survit aux 500 ms est un visuel inerte fantôme gelé à la dernière position de la tête, dans sa propre liste, non montée par une minuterie. L'animation est opt-in par enlèvement plutôt que universel, parce que les têtes hexagonales:s'ont le décollage n'est pas seulement tiré à la fermeture: restaurer une fenêtre minimisée le brûle, et FloatingNotesContext le met en marche pour rehabiller la tête d'une note collante sur un changement de couleur. S'éloigner de la tête dans ces cas serait une erreur. Il tombe également la tête de lancerRef lors de l'enlèvement. Une tête peut être cliché à droite et Fermer le milieu de vol, et sans cela, le lancer RAF garde une entrée morte pour toujours - il Ne s'enfuie jamais, donc la zone de but ne se cache plus jamais. préfère-réduction-mouvement-décade sur le même 500 ms.

  11. · SecurityService

    Prescrire, ordonner et immuniser

    Le tableau pourrait présenter des médicaments, des commandes et des vaccinations et pourrait produire aucun d'entre eux. Les chemins de lecture, les moteurs de rendu FHIR et les files d'attente de sécurité étaient tous construits contre ces tables alors que rien ne pouvait écrire une ligne, donc une pratique pourrait être Regardez une liste de médicaments qu'il n'avait pas de moyen d'ajouter à - et PRESCRIBE-MEDICATIONS, - LIEUX-CLINIQUES-ORDONNE ET Les opérations n'existaient pas. Il s'agit des opérations quotidiennes d'un cabinet médical. Cinq critères d'évaluation : écrire a la prescription, arrêter un, passer une commande, fermer sa boucle, enregistrer une vaccination. Une substance réglementée a besoin d'un droit d'autrefois, en plus de l'ordinaire la prescription d'un, et le chèque lit le schéma de DEA sur le médicament plutôt que faire confiance à un drapeau que l'appelant met. Un horaire non reconnu est considéré comme contrôlé: la défaillance qui compte est celle qui laisse passer une substance contrôlée, donc une faute de frappe ne doit pas devenir une dérivation. Le prescripteur, l'agent d'ordre et le clinicien d'administration viennent tous de la session, jamais du corps. "Qui a prescrit cela" est ce qu'un audit DEA, un examen des malversations Et un rappel de la pharmacie tout demandé, et une réponse fournie par l'appelant ne vaut rien à n'importe lequel d'entre eux. Les recharges restantes sont dérivées de recharges autorisées pour la même raison - laisser un client fixer, c'est comment une prescription arrive sans fin rechargeable. Un ordre est créé avec la fermetureArrêt, délibérément. C'est ce qui le met dans le la file d'attente en boucle ouverte, qui existe parce que le test ordonné que personne poursuivi n'est La manière classique d'un diagnostic est manquée. c) Abrité des dossiers qui l'ont fermé et pourquoi; l'arrivée qui vieillit d'une file d'attente en soi apprend aux gens à ignorer la file d'attente. Une vaccination sans nombre de lots est refusée. C'est le seul domaine qui répond "qui a reçu le lot rappelé" - une question qui arrive de l'extérieur la construction avec des heures pour y répondre - et tous les autres identificateurs de la ligne peuvent être reconstruit. L'hormonnaissement de présentation du VIS estampillé de l'horloge du serveur: c'est la preuve de la pratique d'une exigence fédérale, et la preuve de l'appelant les approvisionnements sont la preuve de rien. 15 tests, la plupart d'entre eux, sur la division des substances réglementées.

  12. · kamo-internal

    Expliquer le prix de la boîte aux lettres où les boîtes aux lettres sont fabriquées

    Les lignes de console coûtent le prix du courrier par boîte aux lettres avec le nombre en direct; l'onglet boîtes aux lettres, Le cueilleur et le fournisseur de services de département aident tous les États qui comptent, qu'un partage La boîte aux lettres est facturée une fois, et que les alias sont illimités et gratuits.

  13. · kamo-internal

    Choix du fournisseur de passerelle sur l'add-on, afficher les frais de boîte aux lettres

    Les cartes verrouillées disent quel add-on les déverrouille plutôt que d'être caché ou silencieusement mort, et la porte échoue ouverte donc une panne de facturation ne peut pas mettre un l'orgge à mi-migration. Transférer également 12 étiquettes d'options qui ont été codées en dur Anglais, et ajoute le tableau de statistiques montrant ce qui est facturé et que Les pseudonymes sont libres.

  14. · InitializerService

    Les deux add-ons de courrier sont facturés par boîte aux lettres.

    Les prix inchangés à 5 et 2 dollars; seule l'unité change. Copier maintenant indique ce que en fait, et que les alias sont illimités et gratuits.

  15. · BillingService

    Déplôlier le nombre, le mode de réception et de coût des boîtes aux lettres

  16. · BillingService

    Biller e-mail par boîte aux lettres, rapprochés tous les soirs

    La quantité est calculée par le serveur sous une clé réservée qu'un organisme de demande ne peut pas atteindre, et poussé à travers le chemin de modification existant - donc Stripe's CREATE-PRORATIONS facture des jours ajoutés et des jours de crédit libérés. Refuse également de laisser tomber un module de courrier des boîtes aux lettres encore en cours d'utilisation, et il s'arrête à un le changement de groupe de facturation, il n'hérit que.

  17. · kamo-shared-library

    Un devis accepté devient une ordonnance

    AcceptPublic a écrit quatre colonnes et a joint un événement. Pas d'engagement, non L'ordonnance, pas de transaction - l'affirmation de la citation javadoc selon laquelle l'acceptation de la Monnaie a L'engagement décrit un code qui n'existe pas. NE crée délibérément PAS un engagement: processusOrderPigts immédiatement lorsque order.getCommitment() n'est pas nul, donc un donneur d'ordre désactive l'ensemble en aval. La commande est PROJET et le paiement le transfère par l'intermédiaire de la machine d'État existante, qui frappe l'Engagement, Les transactions et les commandes d'exécution. Reuses l'engagement de la citation plutôt que de frapper une seconde, et dérive son État par EngagementLifecycle plutôt que par réglage manuel createRetailOrder le fait. Les totaux proviennent de la citation, que la citation côté serveur calculé - jamais par l'intermédiaire de CreateRetailOrderRequest, qui accepte le total des clients et les doubles comptages au-dessus d'un sous-total fourni. Une ligne qui opte avec useuseQuoteQuantity prend le pilote partagé de la citation, pas sa propre colonne: la copie de ce mot serait soumise à un accord de 60 sièges sur la Commande en tant que siège à côté d'une ligneTotal Prix pour soixante. Seulement les les lignes d'options se convertissent, plus toutes les options sans option. QuoteConversionResult porte l'ordonnanceUid as a String, et non l'UUID le plan nommé: L'ordre étend BaseEntity, dont l'id est un INT8 unique-rowid() qui JavaScript tronque. Les Ids quittent cette plate-forme comme des cordes. Premier rédacteur de production de ServiceLineItem n'importe où.

  18. · kamo-shared-library

    Compter les boîtes aux lettres facturables d'une orge

    Ajout de la tarification de la PER-MAILBOX, du mode de coût du courrier et d'un système sans stéréotype agrégateur: factures hébergées chaque case sur le serveur, factures de tiers uniquement ce qui a été cartographié à Kamo. Déduite par adresse, donc une boîte aux lettres de six personnes L'action est une charge. Les alias sont comptés et ne sont jamais facturés. Un commutateur exhaustif sans bras par défaut classe chaque fournisseur, de sorte que Un autre suivant est une erreur de compilation plutôt que silencieusement inflable.

  19. · InitializerService

    Schéma de facturation par boîte de courrier

  20. · kamo-internal

    Chaque ordonnance choisit ce qu'une commande tire d'un devis accepté

    Un groupe radio, pas un commutateur - les deux sont des moyens légitimes de vendre, et ni l'un ni l'autre C'est "off". Montre qui est la valeur par défaut et ce que chacun fait à une charge réelle: pour un devis de trois ans à 10k/an avec un droit d'installation de 5k, une facture de 15 000 maintenant et les autres factures 35 000. La clé de facturation est entièrement omise de la demande à moins que l'utilisateur n'ait changé. c'est ça. Le serveur lit une clé absente comme "leave inchangé" précisément a une bascule verticale ne peut pas essuyer le choix, et toujours envoyant la valeur courante aurait vaincu cela.

  21. · SecurityService

    Le corps de la configure porte un scalaire, et l'absence signifie inchangé.

    updatePOSConfig se liant carte, ligne, liste, une forme qui ne peut pas être portée citationConversionBilling du tout. Élever à la carte - corde, objet. Une clé qui est absente signifie la laisser tranquille, ne pas la mettre à zéro. L'onglet de type d'engagement n'envoie que enabledEngagementTypes, donc l'absence de lecture comme nul essuyerait le choix de facturation de l'orge sur chaque basculement vertical, à HTTP 200 avec rien dans n'importe quel journal.

  22. · kamo-shared-library

    Chaque ordonnance choisit ce qu'une commande tire d'un devis accepté

    Il n'y a pas de bonne réponse à l'échelle de la plate-forme. Un entrepreneur de maintenance b) Billets de plan de trois ans par période; un immobilisation de l'équipement huilégique facture contracter à l'avance. Le total d'une commande devient un paiement capté, donc soit Un choix de code en dur coûte la moitié des locataires le mauvais montant. Par défaut, c'est à FIRST-PERIOD-PLUS-SETUP parce qu'il sous-dépose plutôt que sur-charges. Null signifie la valeur par défaut plutôt que l'infixe - chaque org est antérieure ce réglage, et un remblai d'écriture une valeur partout est une colonne qui aurait pu être nulle. Un organe qui ne mentionne jamais la citationConversionBiller signifie le laisser tranquille, pas clear it: l'onglet de type d'engagement n'envoie que enabledEngagementTypes, donc lire l'absence comme nulle effacerait le choix sur chaque bascule verticale. La colonne est équipée d'une contrainte VÉRIVANTE. L'exportation d'Hibernate est souhaitée Vérifiez (... en z qui est congelé) à CREATE TABLE et casse la valeur suivante annexée à l'enum.

  23. · kamo-internal

    Dites qui est titulaire d'une boîte aux lettres contestée et que les pseudonymes sont gratuits

    La barre de snack a remplacé le message 409 du serveur par un échec générique, donc un gestionnaire ne pouvait pas indiquer quel membre détenait la boîte aux lettres. Ajoute la note suivante : partager une boîte aux lettres ne coûte rien de plus et que les alias sont illimités.

  24. · InitializerService

    Un membre principal par boîte aux lettres

    est primaire était unique par membre seulement, de sorte que deux membres pouvaient demander à l'un ou l'autre un Boîte aux lettres et PrimaryMailboxIdentityRetourne nul sur un ambigu adresse, de sorte que cette adresse n'a authentifié ni l'un ni l'autre.

  25. · kamo-internal

    Peindre chaque onglet à partir de l'alias de son organisation, et non du nom d'hôte

    La base de thème a été construite à partir d'un nom d'hôte: laissez tomber l'étiquette de tête, rejoignez le reste avec des tirets, et c'est le dossier du seau. Il a répondu correctement pendant chaque L'organisation a une multitude de ses propres membres. Sur internal.kamocrm.com, qui sert maintenant chaque organisation qui n'a pas de domaine - elle répond "la plate-forme", donc ceux les organisations ont été peintes dans le logo et les couleurs de Kamo avec leur propre image. provisionné et non référencé. Le dossier est l'ALIAS de l'organisation. Chaque organisation en a une; un domaine est optionnel. getThemePath() prend une limace et rien d'autre, et la légencontrette l'atteint Trois manières, par ordre de leur connaissance à l'heure actuelle: - app/layout.tsx passe organisation.alias dans DynamicMetaLoader du SERVER rendre, donc le tout premier thème donne le bon locataire plutôt que en fonction de l'endroit où OrgProvider se trouve dans l'arbre par rapport à cet effet. - OrgProvider l'enregistre pendant le rendu, pour tout ce qui peint en premier Engagement. - Un appelant peut nommer une autre organisation sur une liste de différents réseaux l'organisation du réseau et rend un logo pour chacun, et orgLogoSrc a pris un DOMAIN, donc ceux qui n'ont pas de domaine qui n'ont pas de domaine ne sont pas d'origine. en tout et retomba à une initiale avec leur logo assis dans le seau. La moitié de l'URL suit l'adresse en cours de navigation, inchangée: MinIO sert l'ensemble du seau à partir de chaque thème. la demande résout - jamais dont les actifs reviennent. C'est ce qui laisse un l'organisation soit entrée avant que son propre domaine. L'assistant créé attend maintenant, et s'ouvre, le dossier le SERVER nommé. C'est a dérivé le dossier du domaine de l'ordonnance et s'est trompé deux fois: GET /org/-id répond avec l'entité, dont « les domaines » est LAY et sérialise comme nul en dehors d'un transaction, donc la dérivation est tombée à "alias.kamocrm.com". Pour Panda Exprimez cela signifier panda-express-kamocrm-com alors que le thème avait été écrit à pandaexpress-com 45 secondes d'attente sur un dossier qui ne serait jamais existent, puis ouvrir l'espace de travail sous un hôte qui ne se résout pas. Ici aussi, et une partie de la même histoire : - Le champ d'alias refuse une étiquette que la plate-forme conserve pour elle-même pendant qu'elle est typée, correspondant à l'OrgAliasPolicy de SecurityService. "THème" répondrait à la l'hôte chaque locataire lit ses biens, et "par défaut" est le thème de base Une nouvelle organisation est issue de départ. - error.tsx et not-fond.tsx avaient leur propre copie de la dérivation, bâtiment Un schéma que le seau ne comporte pas Servir. Le filigrane sur ces écrans était un 404 pour chaque organisation. - Les morts et les aides derrière Ce système est parti plutôt que laissé pour le prochain appelant. 253 dossiers de test, 3396 tests. La protection de la clé i18n vérifiée contre un nouveau clone de le dictionnaire, la façon dont CI le résout.

  26. · SecurityService

    Disposition de l'image de marque d'une organisation sous son pseudonyme, et migrer ce qui existe

    Le dossier chaque logo, couleur, favicon et fond est écrit était le Le nom d'hôte de l'organisation avec les points transformés en tirets. Un domaine est facultatif maintenant, de sorte que cela ne pouvait pas nommer un dépliant pour une organisation qui n'avait pas apporté one - et l'échec a été silencieux dans les deux sens. Le téléchargement d'un logo était refusé avec "Pas de domaine configuré pour cette organisation"; lire un jusqu'au dossier de la plate-forme, donc le client a vu la marque de Kamo sur un un espace de travail propre et non référencé. Le dossier est l'ALIAS de l'organisation, qui est obligatoire, unique, et déjà en forme de segment de chemin. Voir OrgThemeAssets dans kamo-shared-library. Ce que cela change ici: - provisionFull/proposUpdate prendre l'organisation et déduire le dossier de donc un appelant ne peut plus diriger le marquage d'une organisation dans un dossier Le champ « domaine » est ignoré d'après quelque chose d'autre. - téléchargement-logo, contextes d'engagement et fourniture-thème de buter refuser une organisation qui n'a pas de domaine. - Le logo per-row du picker de l'espace de travail laisse tomber deux sous-requêtes de corde-agg corrélées par organisation - ils n'existaient que pour déterminer quel dossier chacun L'image de marque avait été fournie et l'alias était déjà sur la ligne. - L'inscription redirige NOM de l'organisation. sert chaque organisation sans une foule de sa propre, donc un onglet arrivant avec Seule une clé à une seule fois a résolu l'hôte, a obtenu la plate-forme, et a peint Kamo's logo sur l'espace de travail auquel le membre venait de s'inscrire. fixé pour le dire; le signe ordinaire n'avait pas. Il s'agit d'une référence, et non d'une un nom, et un alias qui ne peut pas être lu ne bloque jamais le signe. - Les arrière-plans virtuels des membres cessent de dériver leur dossier de l'hôte de la demande, qui a répondu "kamocrm-com" pour chaque sous-domaine locataire - donc un enfant Les origines de l'organisation ont été écrites, répertoriées, d'après et DÉLETED le dossier de la plate-forme. - Le balayage de stockage attribue les deux préfixes, donc une organisation migrée L'utilisation de l'image de marque ne semble pas diminuer du jour au lendemain. ThemeFolderMigrationService copie les avoirs de chaque organisation dans son pseudonyme Dossier au démarrage. Copies, ne supprimer jamais: il n'y a pas de moment sûr pour enlever l'ancien keys - un onglet ouvert sur le déploiement, un e-mail mis en cache, un devis PDF déjà envoyé tous Revenez-les toujours - et le coût de la mauvaise chose est de chaque marque blanche Le marquage du client est en train de disparaître à la fois. Idémpotent et un coup de pouce MinIO ne doivent pas s'arrêter le démarrage du service. Déjà contre la production: 14 organisations, 298 objets, tous des portions. OrgAliasPolicy est la troisième pièce, et celle qui compte le plus maintenant, le pseudonyme est un segment de chemin. La règle de forme n'a jamais été appliquée que par le critère de disponibilité. les appels de l'assistant au fur et à mesure que le champ est tapé - le résultat du point d'extrémité de création vérifié les doublons et toutes les chiffres et rien d'autre, donc n'importe quel appelant qui a sauté le magicien pourrait mémoriser un alias contenant un espace, un point ou une barre oblique. Elle se réserve également les étiquettes Une plate-forme sert, parce qu'une organisation aliased "theme" répondrait à l'hôte chaque locataire lit ses biens de; et le casse-tête qui n'appartient pas l'organisation, dont le "défaut" est le facteur dangereux: le thème de base L'organisation est issue de laquelle les sauvegardes d'une telle organisation seraient réécrivantes. Vérifié contre une caisse propre de la commande principale et seulement ces dossiers: 1418 tests, 0 échecs. Aucune organisation existante n'est titulaire d'un pseudo-alias réservé ou mal formé.

  27. · kamo-shared-library

    Le marquage d'une organisation vit sous son ALIAS, pas son domaine

    Le logo, les couleurs, les favicons et les fonds d'information de l'organisation sont écrits. dans le seau public était son nom d'hôte avec les points transformés en tirets. wendys.com est devenu public/wendys-com/. Qui n'a jamais fonctionné que lorsque chaque L'organisation avait un nom d'hôte. Un domaine est désormais facultatif: c'est ce qui rend la marque blanche en direct, pas ce qui fait qu'une organisation existe. Donc le dérivation n'avait rien à répondre avec pour une organisation qui n'en a pas apporté, et l'échec n'est pas une erreur. Sur le côté écrit, provisionnement refusé avec "Aucun domaine configuré pour cela ", du côté lu, la dérivation est tombée à travers la plate-forme propre dépliant, donc l'organisation a été peinte dans les couleurs de Kamo avec sa propre les actifs correctement provisionnés et non référencés. Un pseudonyme, en revanche, est obligatoire, unique et déjà limité à exactement les caractères qu'un segment de chemin peut tenir. OrgThemeAssets est une définition de cela pour l'ensemble du domaine. Il a été codé à l'air libre. dans une douzaine d'endroits sur six services et trois extrémités principales - l'approvisionnement, l'en-tête de citation, le courrier électronique transactionnel, le filigrane de la signature électronique, le hall de rencontre, l'écran d'entrée - et chacun d'entre eux a dû accepter caractère, parce qu'un logo écrit sous une clé et demandé à une autre est invisible d'une manière qui ressemble à la téléchargement ayant échoué. L'en-tête de citation est le premier appelant déplacé. Il documente également la la division du reste de la succession suit : le FOLDER nomme l'organisation, et l'HOST ne décide que si la demande résout, puisque MinIO sert l'ensemble seau de chaque thème.

  28. · kamo-internal

    Un robinet ouvre l'outil, un clic droit ouvre son menu

    Cliquer une tête hexagonale a ouvert un menu contextuel, ce qui signifie l'acte commun chat back - coûté deux clics, et le menu lui-même n'était pas accessible d'autre solution. Le deux sont maintenant des gestes séparés: - Le clic/tappuyer restitue la fenêtre, en envoyant le même outil:focus le menu "Open" de rangée déjà utilisé. focusOutil ne minimalise et émet de l'éliminationHexhead, C'est ainsi que la tête s'éclaircit. - Un clic droit ouvre le menu. Les boutons secondaires ne commencent plus une traînée, donc le appuyer sur qui l'ouvre ne peut pas non plus lancer la tête. - Toucher n'a pas de deuxième bouton, donc un maintien de 600 ms s'essouffle. Il est armé uniquement pour les pointeurs non-souris et désarmés au moment où la tête se détache, de sorte que "tenir qu'il est immobile" est tout le geste - traîner une tête plus longtemps ne s'ouvre jamais le menu, et un menu déjà ouvert est rétracté si une traînée commence. Les changements du menu sont les suivants: -L'en-tête X a disparu. Sa seule étiquette était "Close", qui se lit comme "rejeter ce menu " - la seule chose qu'il n'a pas fait - donc il passe dans la liste d'options à côté "Ouvrir "nom" en tant que "Fermer "nom", où ce qu'il rejette est énoncé. - Placement fait maintenant un CORNER du panneau sur le CENTRE de sa tête, cueillant Selon celui des quatre coins, celui-ci garde le plus à l'écran. L'ancienne règle ("besure de tête, flip, then clamp") est ce qui a rendu la position arbitraire: la pince a poussé le panneau loin de sa tête près d'un bord d'écran, qui est Où en direct exactement. Extrait vers - ainsi est pur et testable; le panneau est mesuré plutôt que deviné à 460px. - La tête de chat d'un membre montre sa photo, revenant aux initiales. Il fallait pour cela un nouveau headState.avatarSrc: le 'src' de la tête retombe toujours à un généré l'image initiale, donc il ne pourrait jamais répondre "y a-t-il une photo?". - Chaque morceau de peinture chromée de var(-couleur-prime) au lieu d'une peinture fixe indigo/violet, qui est sorti de cette couleur pour chaque org de marque blanche, indépendamment de leur palette. Les couleurs de présence restent sémantiques. Corrige également un redimensionneur que le popover ajouté à chaque ouverture et jamais enlevé. Besoin de kamo-translation-dictionary 5eac4334 (fermeChat/closeTool), déjà poussé.

  29. · kamo-internal

    Maintez le patient un lien, pas un jeton

    L'invitation a maintenant un endroit où aller - le portail est sur la base d'applications. de sorte que le panneau indique l'ensemble de l'URL d'activation avec un bouton de copie plutôt que le la chaîne opaque des problèmes de serveur. Un patient a remis un jeton nu doit comprendre où il va. Ceux qui devinent mauvaise collez une clé de travail pour leur dossier médical dans une boîte de recherche. Le mappage est un échange de sous-domaines hors de l'hôte du personnel, l'image miroir du hypothèse que le site apps fait déjà sur le registre. En savoir plus sur les noms d'hôtes front-end. Un hôte qui n'est pas un sous-domaine locataire retombe au jeton: un développeur sur localhost obtient quelque chose utilisable plutôt qu'un lien à un domaine qui n'existe pas.

  30. · kamo-internal

    Relâchez l'enregistrement sous la forme de FHIR ainsi que C-CDA

    164.524 c) 2) ii) est le formulaire et le format de la personne requise si elle est facilement productible. Tous deux étaient déjà produisibles; un seul était offert. Un C-CDA est ce que le système d'une pratique d'accueil est ingéré. Un ensemble FHIR est ce qu'un L'application de santé du patient se lit, et en demander une est le cas courant maintenant plutôt que l'exotique. La ligne d'aide dit qui chaque format est FOR au lieu de nommer la norme et quitter la réception pour le faire fonctionner. Le destinataire continue sur les deux chemins. Sur le chemin du FHIR, c'est ce qui tourne la lecture dans une divulgation enregistrée - le même point d'extrémité dessert les écrans de graphique, et ceux ne doivent pas atterrir dans la comptabilité du patient en tant que rejets. Le format se trouve au-dessus du destinataire, pas à côté du bouton: il fait partie de ce qui le demandeur demandé, pas une préférence de téléchargement que quelqu'un découvre après taper le nom.

Votre univers vous attend.

Commencez gratuitement en quelques minutes. Ajoutez des produits quand vous êtes prêt. Pas de migration, pas de nouvelles connexions.

Gratuit pour toujours — aucune carte de crédit requise