Wiesz, co Studio posiada
Portal Studio posiada powłokę zwróconą do klienta: strony, umieszczenie komponentu, znaki marki, zachowanie reagujące, nawigacja, stopka, prezentacja tożsamości, podróże biletów i wydania. Centrum pomocy posiada języki, kategorie, sekcje i zawartość artykułu. Studio konsumuje tę treść przez chroniony most; nigdy nie tworzy drugiego sklepu artykułów.
Pełna gotowość przed głębokim budową
- Otwórz Portal Studio → Start → Ciepłość.
- Potwierdź adres kanoniczny portalu i otwórz go w osobnej zakładce.
- Ustaw logo, ikonę przeglądarki, ikonę dotyku, wizerunek społeczny i kolor motywu.
- Potwierdź języki Help Center; zmień autorytet językowy w Help Centre, nie Studio.
- Skonfiguruj nawigację i globalną stopę przedsiębiorstwa.
- Wybierz podróż biletu i skonfiguruj co najmniej jeden formularz wniosku.
- Należy zachować co najmniej jeden bezpieczny sygnał w metodzie aktywnego i przeglądu tożsamości.
- Uruchom Jakość i ustal podpisane podpowiedzi handshake.
- Utwórz pierwsze regulowane wydanie po każdym zablokowaniu jest jasne.
Procent gotowości oblicza się z zapisanych danych i stanu podglądu. Wybór trasy elementu bezpośrednio do jego panelu posiadania.
Tworzenie stron i sekcje wielokrotnego użytku
- Otwórz Budowanie → Strony i wybrać stronę systemu chronionego lub utworzyć własną stronę.
- Ustaw trasę, tytuł, tryb dostępu i zachowanie locale. Chronione trasy systemowe nie mogą być usunięte.
- Otwórz Elementy, filtrować według pracy lub dojrzałości i umieścić komponent w kompatybilnym szczelinie.
- Używaj inspektora do tworzenia treści, wyglądu, wiązania, widoczności i dostępności.
- Używać wzorów wielokrotnego użytku dla powtarzających się struktur; zachować różnice organizacyjne lub marki w wariantach.
- Zapisz projekt i ćwiczenia ładowania, puste, błąd, gość i signed- w stanach w podglądzie.
Podgląd prawdziwych podróży, ani jednego szczęśliwego ekranu
- Wybierz wsparcie gości, signed- w bilecie, usługi rozliczeniowe, organizacja lub przekazanie wiedzy.
- Przełącz personas, organizację, rolę i Pomoc Center język.
- Sprawdź mobilne, duże mobilne tablety, laptopy, pulpit, szerokie i ultraszerokie punkty graniczne.
- Sprawdź wartości odziedziczone, przekroczone i zresetowane; unikaj niepotrzebnego powielania punktów zerwania.
- Uruchom klawiaturę, RTL, reduced- motion, ładowanie, puste, niedostępne i zezwolenia stany.
- Przed przeglądem należy wykorzystać test Lab do uzyskania dostępności, ładunku, trasy, wiązania i renderowania.
Uruchom centrum pomocy na poziomie Zendesk- bez duplikatu treści
- Tworzenie kategorii, sekcji, artykułów, tłumaczeń, załączników i szablonów w Centrum pomocy.
- Włącz tam języki; zlokalizowane ślimaki, wyszukiwanie, kanały, SEO i chrom artykułu podążają za tym samym autorytetem.
- W Studio, wyszukiwania wiedzy o miejscu, kategorii / sieci zasobów, kanałów, akordeon tematu, artykuł, tabela treści, opinie, powiązane i poprzednie / następne komponenty.
- Konfiguracja wyświetlanych, popularnych i ostatnio dostępnych kanałów; wykorzystanie sugestii kontekstowych w przepływach biletów.
- Podgląd wyników, długich artykułów, załączników, informacji zwrotnych, zegarków / subskrypcji i przekazania biletów.
- Sprawdzić czyste trasy lokalne, kanoniczne / hreflang, dane ustrukturyzowane i unieważnienie pamięci podręcznej po publikacji.
Konfiguracja sygna-in bezpiecznie
- Otwórz Tożsamość i organizacje → Tożność i utrzymać co najmniej jeden znak na ścieżce włączone.
- Wybierz metodę domyślną, politykę rejestracji, czas trwania sesji, SSO- egzekwowanie domeny i zachowanie odkrywania.
- Dodawanie dostawców z polami routingu wizualnego: typ, domeny, priorytet, prezentacja, stan włączony i zweryfikowany. Tajemnice pozostają w podsystemie tożsamości.
- Dla SCIM, włącz tworzenie rezerw, skopiuj dokładny punkt końcowy przestrzeni roboczej i obróć token.
- Mapy roszczeń i członkostwa w organizacji, następnie test tworzenia, aktualizacji, członkostwo grupy i deaktywacji z najemcą testowym.
- Przed publikacją można obejrzeć gości, klientów, organizację delegowaną i zablokowane państwa.
Utwórz pełną podróż wsparcia
- Wybierz bezpośredni formularz, kreatora, wyszukiwarkę - pierwszy, punkt lub miejsce na biurku.
- Utwórz nazwany, zmodyfikowany formularz wniosku z sekcjami i dostępnymi etykietami pola.
- Zbuduj warunki wizualne, routing, SLA i etapy zatwierdzania; zaawansowane JSON jest tylko dla zrewidowanych zmian deweloperskich.
- Konfiguracja listy, szczegółów, wątku, linii czasu, mocowania, zatwierdzenia, SLA i powierzchni odpowiedzi.
- Sprawdzić, czy gość jest w stanie sprawdzić, czy nie ma żadnych żądań, widoczności organizacji, niepowodzenia wysyłania wiadomości e-mail i odchylenia wiedzy.
- Zapisz projekt; publikować tylko po adapterze trasy i ścieżka powiadomienia przejść przed lotem.
Przesuń przez sterowane wydanie
- Uruchom walidację i test Lab. Napraw ustalenia blokujące; uznać dozwolone ostrzeżenia z kontekstem.
- Dodaj notatki wydania i recenzję prośby. Recenzenci komentarz na stabilnej stronie / ścieżkach węzłów.
- Aprobatorzy sprawdzają różnice, podgląd podróży, zmiany pozwolenia i dowodów.
- Publikuj lub rozpisuj przez pracownika tła. Opuszczenie Studio nie anuluje trwałego zatrudnienia.
- Obserwuj postęp, zdrowie i identyfikator korelacji. Zatrzymaj / ponownie tylko z kontroli pracy.
- Sprawdź krytyczne trasy, tożsamość, bilety i wiedzę. Wznawiaj z powrotem do niezmiennego wcześniejszego wydania, gdy jest to wymagane.
| Zdolność | Cel |
|---|---|
| Widok / Edycja | Sprawdzić lub zmienić projekty bez upoważnienia do wydania. |
| Przegląd / zatwierdzenie | Oddzielne informacje zwrotne i zatwierdzenie od autora. |
| Harmonogram / Publish / Rollback | Niezależne kontrole produkcji. |
| Tożsamość / SCIM / Migracja / Składniki / Diagnostyka | Zakaz wrażliwych operacji specjalistycznych. |
Migracja z dowodami i sposobem powrotnym
- Wybierz projekt dostawcy i utworzyć suchy bieg.
- Przegląd odkrytych ustawień, nieodwzorowanych wartości, ilości treści i wizualne ujęcia parytetu.
- Kompletne bezpieczne mappings i ponownie uruchomić ustrukturyzowany diff.
- Stosować do szkicu, godzić się liczy i podgląd każdej chronionej podróży.
- Zapis autoryzowanej akceptacji; nigdy nie nadpisz bieżącego publikowanego wydania podczas importu.
- Publikować poprzez zarządzanie i przechowywać raport migracji, wydać ID i punktów zwrotnych razem.
Rozwijanie kontraktów, nie szablonów
Bezpieczne rozszerzenie rejestruje stabilny typ komponentu i schemat, deklaruje uprawnienia i potrzeby danych, renderuje za pośrednictwem kanonicznego kompilatora, a także dostarcza stabilnych elementów / testów. Nie zapytania arbitralne tabele, edytor wstrzyknięć JavaScript do portalu publicznego, tworzenia innego repozytorium artykułów lub omijania bramy wydania.
Portal dokumentu v2
Strony zawierają stabilne węzły, szczeliny, właściwości, wiązania, reagujące nadjazdy, warunki i metadane dostępności.
Rejestr komponentów
Jedna umowa karmi Studio, kompilator, dokumentacja, migracja i dojrzałość kontroli.
Rejestr źródeł danych
Dopuszczalne, tylko do odczytu, DTO z opcją oceny zastępują arbitralne SQL lub działania dynamiczne.
Jeden najemca
Podgląd i public output skompilowanie, oczyszczanie, budżety i stany w czasie pracy.
Określić pakiet komponentów
Użyj małego rozmiaru nazwy w wersji ID i semantycznej. Dostarcz zarówno nazwy właściwości kompatybilności, które zostały pokazane, ponieważ kontrola pakietu i walidacja zabezpieczeń przeprowadzają niezależne kontrole.
{
"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}
}
Kształt węzła
{
"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"}
}
- Identyfikatory pozostają stabilne w czasie edycji i migracji.
- Właściwości odrzucają nierejestrowane pola i niebezpieczne HTML.
- Każdy widok związany z danymi definiuje wczytywanie, opróżnianie, pozwolenie i wyjście błędu.
- Składniki kontenera nadają nazwę swoim szczelinom; liście nie mogą przyjmować arbitralnych dzieci.
- Zaznacz dojrzałość szczerze: planowane bloki, beta ostrzega, GA wymaga pełnego dowodu.
Użyj DTO-bezpieczny
- Wybierz istniejący identyfikator kropkowany, taki jak
tickets.mine,knowledge.featuredlubcustomer.profile. - Związane tylko pola zadeklarowane przez jego modyfikowane DTO. Nieznane źródła nie powiodły się z
data_source.unknown. - Podaj już autoryzowany kontekst Portal; nigdy nie akceptuj tożsamości klienta / miejsca pracy z niezaufanej nieruchomości.
- Limity listy są przymocowane do1–100. Normalizacja wartości paginacji, locale i wyszukiwania.
- Jeśli nowe źródło jest nieuniknione, dodaj jego stabilną definicję, bezpieczne mapowanie, uprawnienia, puste zachowanie i podgląd oprawy razem.
{
"success": true,
"source": "tickets.mine",
"contract_version": 1,
"items": [
{"id": 42, "number": "REQ-42", "subject": "Example", "status": "open"}
]
}
Zostań w granicach zaufania.
| Granica | Wymagane zachowanie |
|---|---|
| Przestrzeń robocza | Rozwiązanie z zaufanego hosta / trasy / sesji, następnie zakres każdego odczytu i zapisu przed wykonaniem. |
| HTML | Używaj portala do czyszczenia / parser allowlist. Nigdy nie konkatenuuj niezaufanych atrybutów, URLs, CSS lub scenariusz. |
| Podgląd | Wymagane jest samo-pochodzenie okna źródłowego, podpisane wersje kanału i nonce. Ignoruj niezamówione wiadomości. |
| Tożsamość | SCIM jest beorer- uwierzytelniony, bez sesji i pracy-space. |
| Pakiety | Odrzucenie przechodzenia, ścieżki bezwzględne, linki / pliki specjalne, archiwa o rozmiarach nadrzędnych, niedopasowanie sumy kontrolnej / podpisu i nieznane uprawnienia. |
| Błędy | Zwróć stabilny kod, bezpieczną wiadomość, możliwość regeneracji, korektę i identyfikator korelacji; zaloguj prywatne wyjątki po stronie serwera. |
| Wiedza | Czytaj poprzez HelpCenterBridge. Nigdy nie pisz ani nie duplikuj artykułów Centrum Pomocy w rozszerzeniu. |
{
"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"}
}
}
Sprawdzić, zainstalować i uaktualnić atomicznie
- Umieść
component.jsonprzy korzeniu ZIP i zachować każdą ścieżkę względną. - Uruchom najpierw inspekcję. Instalator caps archiwa w 500 wpisy oraz 25 MB ekstrahowane; walidacja bezpieczeństwa dodaje niezależne limity.
- Weryfikacja oczekiwanego SHA-256 i podpisu pakietu w procesie wydania.
- Instaluj do katalogu z wersją. Nigdy nie mutuj zainstalowanej wersji na miejscu.
- Zapewnić migracje nieruchomości do łamania zmian schematów i zachować nieznanych pól kompatybilności.
- Otwórz element w projekcie, uruchom każdy stan / punkt widzenia / personal i opublikuj za pośrednictwem zarządzania.
- Rollback aktywuje wcześniejsze nieskazitelne zwolnienie komponentu / dokumentu; zachowuje swoje dowody odtwarzalności.
Udowodnij rozszerzenie na tym samym haszu wydania
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
Bramy źródłowe są niezbędne, nie wystarczy. Dołącz bazę danych / migrację, real- browser wizualny, identyfikator-dostawca, autoryzacja- izolacja, dostępność, wydajność, kolejka / cron, mail / załącznik, kopię zapasową / przywracanie i wprowadzenie dowodów do tego samego niezmiennego haszu wydania. Nieznany wymagany dowód musi nie doprowadzić do wydania.
- Jednostka: schemat, sanityzacja, kształt DTO, warunki, migracje i błędy na maszynie.
- Kontrakt: załadunku / pustego / błędu / sukcesu, dojrzałości, szczeliny, wiązania i jednorenderowania parytetu.
- Przeglądarka: klawiatura, ostrość, semantyka, RTL, zoom / reflep, redukcja ruchu i każdy punkt przełomowy.
- Bezpieczeństwo: sondy przestrzeni roboczej, podrobione działania, ataki pakietów, podgląd wyciek i tajny.
- Operacje: trwały postęp, urlop / powrót, zatrzymanie / ponowna próba / wznowienie, tętno i zwroty.
Rozwiązywanie problemów według stanu i ID korelacji
| Państwo | Co robić |
|---|---|
| Zezwolenie | Poproś o nazwaną zdolność. Ukryty interfejs jest wygodą; backend zawsze go wzmacnia. |
| Walidacja | Otwórz stronę / węzeł / pole, poprawij je, a następnie ponownie uruchom przed lotem. |
| Konflikt | Wczytaj najnowszą wersję, porównuj zmiany i ponownie zastosuj umyślnie. Nigdy nie wymusz nadpisywania. |
| Offline / retry | Zachowaj projekt, przywróć łączność, ponownie przećwicz działanie i zweryfikuj stan pracy. |
| Śmiertelne / niedostępne | Kopiuj identyfikator korelacji i znacznik czasu dla wsparcia. Nigdy nie wklej sekretów lub tekstu prywatnego wyjątku. |
| Publikuj nieudany | Sprawdź wyjście przed lotem / pracą, ponownie spróbować tylko do ponownego testowania etapów lub wrócić do ostatniego zdrowego wydania. |
| SCIM 401/403 | Potwierdź punkt końcowy / miejsce pracy, token na okaziciela, stan włączony i rotacja; nigdy nie używaj cookie sesji przeglądarki. |
| Wiedza jest nieświeża | Sprawdź locale / publikacja w Centrum Pomocy, a następnie sprawdź unieważnienie cache i czyste trasy zlokalizowane. |
Ten przewodnik jest print- ready. Użyj Drukuj → Zapisz jako PDF do kontrolowanej kopii offline.