Scopri cosa possiede Studio
Portal Studio possiede la shell di customer-face: pagine, posizionamento dei componenti, token del marchio, comportamento reattivo, navigazione, piè di pagina, presentazione dell'identità, viaggi dei biglietti e release. L'Help Center possiede lingue, categorie, sezioni e contenuti degli articoli. Lo studio consuma quel contenuto attraverso un ponte protetto; non crea mai un secondo negozio di articoli.
Prontezza completa prima di costruire profondamente
- Aprire Portal Studio → Avviare → Prontezza.
- Confermare l'indirizzo del Portale canonico e aprirlo in una scheda separata.
- Impostare il logo, icona del browser, icone touch, immagine sociale e colore tema.
- Confermare le lingue del Centro di Aiuto; cambiare l'autorità della lingua in Centro di aiuto, non Studio.
- Configurare la navigazione e il footer aziendale globale.
- Scegli un viaggio di biglietto e configura almeno un modulo di richiesta.
- Mantenere almeno un metodo di firma sicuro attivo e rivedere la scoperta dell'identità.
- Eseguire la qualità e stabilire il stretta di mano firmata anteprima.
- Creare il primo rilascio governato dopo ogni elemento di blocco è chiaro.
La percentuale di disponibilità viene calcolata dai dati salvati dello spazio di lavoro e dallo stato dell'anteprima.
Costruire pagine e sezioni riutilizzabili
- Aprire Creare → Pagine e selezionare una pagina di sistema protetta o creare una pagina personalizzata.
- Impostare il percorso, il titolo, la modalità di accesso e il comportamento locale.
- Aprire Componenti, filtrare per lavoro o maturità e posizionare un componente in una slot compatibile.
- Utilizzare l'ispettore per contenuti, aspetto, vincolo, visibilità e accessibilità.
- Utilizzare modelli riutilizzabili per strutture ripetute; mantenere l'organizzazione o le differenze di marca nelle varianti.
- Salvare il progetto e l'esercizio di carico, vuoto, errore, guest e stati firmati in anteprima.
Anteprima viaggi reali, non uno schermo felice
- Scegli il supporto degli ospiti, il biglietto firmato, la cura della fatturazione, l'organizzazione o il handoff di conoscenza.
- Interruttore personas, organizzazione, ruolo e linguaggio Centro assistenza.
- Ispezione di dispositivi mobili, grandi dispositivi mobili e tablet, laptop, desktop, breakpoint ampi ed ultrawide.
- Controllare i valori ereditati, sovrascritti e reset; evitare duplicazioni di breakpoint inutili.
- Eseguire tastiera, RTL, ridotto movimento, carico, vuoto, non disponibile e gli stati di autorizzazione.
- Utilizzare Test Lab per l'accessibilità, il carico di pagamento, la rotta, i risultati del binding e del renderr prima della revisione.
Operare un Centro di aiuto a livello Zendesk senza duplicare il contenuto
- Crea categorie, sezioni, articoli, traduzioni, allegati e modelli in Centro assistenza.
- Attivare le lingue lì; localizzato slug, ricerca, feed, SEO e articolo cromo seguire la stessa autorità.
- In Studio, posizionare la ricerca della conoscenza, categorie / griglie di risorse, feed, argomento fisarmonica, articolo, tabella dei contenuti, feedback, relativi e componenti precedenti/next.
- Configurare feed in evidenza, popolari e recenti; utilizzare suggerimenti contestuali nei flussi dei biglietti.
- Anteprima no-risultati, articoli lunghi, allegati, feedback, orologio/iscrizione e biglietto di consegna.
- Verificare percorsi locali puliti, canonici/hreflang, dati strutturati e invalidazione della cache dopo la pubblicazione.
Configurare il login in modo sicuro
- Aprire Identità & organizzazioni → identità e mantenere almeno un percorso di accesso abilitato.
- Scegli il metodo predefinito, la politica di registrazione, la durata della sessione, SSO_-domain e il comportamento di imposizione e scoperta.
- Aggiungi fornitori con campi di instradamento visivo: tipo, domini, priorità, presentazione, abilitato e stato verificato.
- Per SCIM, abilitare il provisioning, copiare l'endpoint esatto dello spazio di lavoro e ruotare il token.
- Pianta rivendicazioni e appartenenza all'organizzazione, quindi prova creare, aggiornare, membro del gruppo e disattivazione con un inquilino di test.
- Anteprima ospite, cliente, organizzazione delegata e stati bloccati prima della pubblicazione.
Componi il viaggio di supporto completo
- Selezionare la forma diretta, guidata, prima ricerca, hub o voce di servizio-desk.
- Creare un modulo di richiesta chiamato, versioned con sezioni e etichette sul campo accessibili.
- Costruire condizioni visive, routing, SLA e passi di approvazione; avanzato JSON è solo per modifiche di sviluppatori revisionati.
- Configurare l'elenco, i dettagli, il thread, la timeline, l'allegato, l’approvazione, le superfici SLA e risposta.
- Provare la ricerca degli ospiti, le richieste firmate, la visibilità dell'organizzazione, il fallimento del caricamento, la notifica e-mail e la deflezione della conoscenza.
- Salvare una bozza; pubblicare solo dopo il percorso adattatore e la procedura di notifica.
Spostare attraverso un rilascio governato
- Eseguire la validazione e il laboratorio di prova. Risolvere i risultati del blocco; riconoscere gli avvisi consentiti con contesto.
- Aggiungi note di rilascio e richiesta recensione. Commento dei recensori su percorsi pagina/nodo stabili.
- Gli utenti ispezionano il diff, i viaggi d'anteprima, le modifiche del permesso e le prove.
- Pubblicare o programmare attraverso il lavoratore di sfondo. Lasciando Studio non cancella un lavoro durevole.
- Guarda i progressi, la salute e l'ID di correlazione. Stop/recupera solo dai controlli del lavoro.
- Verificare percorsi critici, identità, biglietti e conoscenze. Ripiegare su un'immutabile pubblicazione preliminare quando necessario.
| Capacità | Oggetto |
|---|---|
| Visualizza / Modifica | Ispezione o modifica bozze senza autorità di rilascio. |
| Recensione / Approvo | Rispondenze separate e approvazione da parte dell'autore. |
| Programma / Pubblicazione / Rollback | Controlli di produzione indipendenti. |
| Identità / SCIM / Migrare / Componenti / Diagnostics | Limitare le operazioni specialistiche sensibili. |
Migrare con le prove e un modo di tornare
- Selezionare il modello del fornitore e creare un'uscita a secco.
- Rivedere le impostazioni scoperte, i valori non mappati, il conteggio dei contenuti e la parità visiva cattura.
- Completa mappature di sicurezza e riscatta il diff strutturato.
- Applicare a una bozza, riconciliare i conti e visualizzare in anteprima ogni viaggio protetto.
- Registra l'accettazione autorizzata; non sovrascrivere mai la versione pubblicata corrente durante l'importazione.
- Pubblica attraverso la governance e mantenere insieme il rapporto di migrazione, rilasciare ID e rollback point.
Estendere i contratti, non modelli
Un'estensione sicura registra un tipo e uno schema di componenti stabili, dichiara le autorizzazioni e le esigenze dei dati, rende tramite il compilatore canonico e fornisce fissazioni/test deterministiche. JavaScript nel Portale pubblico, creare un altro archivio articolo, o bypassare il cancello di rilascio.
Portal Documento v2
Le pagine contengono nodi stabili, slot, proprietà, binding, override reattive, condizioni e metadati di accessibilità.
Componenti
Un contratto alimenta Studio, compilatore, documentazione, migrazione e controlli di maturità.
Registro delle fonti di dati
I DTOs autorizzati, visualizzati in sola lettura, sostituiscono azioni arbitrarie SQL o dinamiche.
Un rendering
Preview e public output share compilation, sanificazione, budget e stati runtime.
Definire un pacchetto di componenti
Utilizzare un nome minuscolo IDspaziale e versione semantica. Fornire entrambi i nomi di proprietà compatibili visualizzati perché l'ispezione dei pacchetti e la convalida della sicurezza eseguire controlli indipendenti.
{
"schema_version": 1,
"id": "acme.support_health",
"slug": "acme-support-health",
"name": "Support health",
"version": "1.0.0",
"entry": "renderer.php",
"renderer": "server",
"server_renderer": "renderer.php",
"public_renderer": "public.js",
"schema": {
"type": "object",
"properties": {
"heading": {"type": "string", "maxLength": 120},
"showSla": {"type": "boolean", "default": true}
},
"additionalProperties": false
},
"permissions": ["tickets.read"],
"data_scopes": ["tickets.mine"],
"accessibility": {
"landmark": "section",
"nameFrom": "heading",
"emptyState": true,
"errorState": true
},
"performance": {"max_js_bytes": 12000, "max_css_bytes": 8000},
"performance_budget": {"js": 12000, "css": 8000, "requests": 0}
}
Forma del nodo
{
"id": "node-support-health",
"type": "custom.acme_support_health",
"props": {"heading": "Support health", "showSla": true},
"bindings": {"requests": {"source": "tickets.mine", "limit": 5}},
"responsive": {"mobile": {"padding": "16px"}, "desktop": {"padding": "24px"}},
"conditions": [{"field": "identity.signed_in", "operator": "equals", "value": true}],
"a11y": {"label": "Support health"}
}
- Gli ID rimangono stabili tra modifiche e migrazioni.
- Le proprietà rifiutano i campi non dichiarati e non sono sicure HTML.
- Ogni visualizzazione a portata di dati definisce il caricamento, vuoto, autorizzazione e uscita retryable-error.
- I componenti del contenitore nominano le loro fessure; le foglie non possono accettare bambini arbitrari.
- Maturazione di marca onestamente: blocchi pianificati, beta avverte, GA richiede prove complete.
Utilizzare DTO per il permesso
- Scegliere un ID punteggiato esistente, come
tickets.mine,knowledge.featuredocustomer.profile. - Solo i campi dichiarati dalla sua versione DTO. Le fonti sconosciute non riescono con
data_source.unknown. - Passare il contesto Portal già autorizzato; non accettare mai l'identità workspace/customer da una proprietà non attendibile.
- I limiti di lista sono bloccati a1–100. Normalizzare i valori di paginazione, localizzazione e ricerca.
- Se una nuova fonte è inevitabile, aggiungere la sua definizione stabile, mappatura sicura, autorizzazioni, comportamento vuoto e l'anteprima insieme.
{
"success": true,
"source": "tickets.mine",
"contract_version": 1,
"items": [
{"id": 42, "number": "REQ-42", "subject": "Example", "status": "open"}
]
}
Restare all'interno dei confini della fiducia
| Confine | Comportamento richiesto |
|---|---|
| Spazio di lavoro | Risolvere dal fidato host/route/sessione, quindi discutere ogni lettura e scrittura prima dell'esecuzione. |
| HTML | Utilizzare il Portal sanitizer/parser consentlist. Mai concatenare attributi non attendibili, URLs, CSS o script. |
| Anteprima | Richiedere la finestra di origine dello stesso-origine, la versione del canale firmata e nonce. Ignora i messaggi non richiesti. |
| Identità | Tenere segreti fuori documenti. SCIM è portatore-autentico, senza sessione e spazio di lavoro-bound. |
| Pacchetti | Respingere percorsi traversali, percorsi assoluti, link/file speciali, archivi oversize, errore di checksum/signature e autorizzazioni sconosciute. |
| Errori | Restituzione codice stabile, messaggio sicuro, retryability, bonifica e correlazione ID; log eccezioni private lato server. |
| Conoscenza | Leggere tramite HelpCenterBridge. Non autorizzate mai o duplicate gli articoli del Centro assistenza in un'estensione. |
{
"success": false,
"error": {
"code": "studio.permission_denied",
"message": "You do not have permission to publish the Portal.",
"retryable": false,
"correlation_id": "ps_…",
"meta": {"capability": "publish"}
}
}
Ispezione, installazione e aggiornamento atomico
- Mettiti in mezzo.
component.jsonalla radice ZIP e mantenere ogni percorso relativo. - Eseguire l'ispezione prima. L'installatore caps archivi a 500 voci e 25 MB estratto; la validazione della sicurezza aggiunge limiti indipendenti.
- Verificare il previsto SHA-256 e la firma del pacchetto nel processo di rilascio.
- Installare una directory versioned. Non modificare mai la versione installata in posizione.
- Fornire migrazioni di proprietà per rompere i cambiamenti dello schema e preservare campi di compatibilità sconosciuti.
- Aprire il componente in un progetto, eseguire ogni stato / vista / persona fissa e pubblicare attraverso la governance.
- Rollback attiva il rilascio di componenti/documenti prima immutabili; conserva le sue prove di riproducibilità.
Prove l'estensione sullo stesso hash di rilascio
php tools/portal_studio_certify.php --source-only --json
php tools/test_portal_studio_contract.php
php tools/test_portal_one_renderer.php
php tools/test_portal_studio_engineer.php
php tools/test_portal_component_contracts.php
php tools/test_portal_one_renderer.php
php tools/test_portal_shell_contract.php
php tools/test_portal_knowledge_contract.php
node node_modules/@playwright/test/cli.js test tests/e2e/portal-studio-shell-visual-contract.spec.js tests/e2e/portal-custom-code-runtime.spec.js
I gate di origine sono necessari, non sufficienti. Attacca database/migrazione, reale-browser visual, identitÃ-provider, isolamento-autorizzazione, accessibilità, performance, coda / corona, mail / allegato, backup / ripristino e l'implementazione delle prove allo stesso hash immutabile rilascio.
- Unità: schema, sanificazione, forma DTO, condizioni, migrazioni e guasti digitati.
- Contratto: carico/vuoto/rischio/successo, maturità, slot, binding e parità di un creditore.
- Browser: tastiera, messa a fuoco, semantica, RTL, zoom/riflusso, movimento ridotto e ogni punto di rottura.
- Sicurezza: sonde trasversali, azioni forgiate, attacchi di pacchetto, spoofing di anteprima e perdita segreta.
- Operazioni: progresso durevole, congedo / ritorno, arresto / ripasso/riprova, battito cardiaco scheduler e rollback.
Risoluzione dei problemi tramite ID stato e correlazione
| Stato | Cosa fare |
|---|---|
| Permesso | Richiedi la capacità di nome. L'interfaccia utente nascosta è convenienza; il backend lo applica sempre. |
| Validazione | Aprire la pagina/nodo/campo, correggerla e poi rifare il preflight. |
| Conflitto | Ricaricare l'ultima revisione, confrontare i cambiamenti e riapplicare intenzionalmente. Mai forza sovrascrittura. |
| Offline / riprova | Mantenere il progetto, ripristinare la connettività, riprovare attraverso l'azione e verificare lo stato di lavoro durevole. |
| Fatale / non disponibile | Copiare l'ID di correlazione e il timestamp per supporto. Non incollare mai segreti o testo di eccezione privata. |
| Pubblicazione fallita | Ispezionare l'output preflight/job, riprova solo le fasi di lavoro retrò, o tornare all'ultima versione sana. |
| SCIM 401/403 | Confermare endpoint/workspace, token del portatore, stato e rotazione abilitati; non utilizzare mai un cookie di sessione del browser. |
| La conoscenza è stallo | Verificare la localizzazione/pubblicazione in Centro assistenza, quindi ispezionare l'invalidità della cache e il percorso localizzato pulito. |
Questa guida è pronta per la stampa. Usa Stampa → Salva come PDF per una copia offline controllata.