Alamin kung ano ang pag - aari ng Studio
Ang Portal Studio ang nagmamay-ari ng customer-facing shell: mga pahina, sangkap na paglagay, markang pananda, tumutugong pag-uugali, nabigasyon, footer, representasyon ng pagkakakilanlan, paglalakbay at pagpapalabas ng tiket. Ang Help Center ay nagmamay-aring mga wika, kategorya, seksiyon at nilalamang artikulo. inaubos ng Studyo ang nilalamang iyon sa pamamagitan ng isang protektadong tulay; hindi ito lumilikha ng pangalawang tindahan ng artikulo.
Maging handang - handa bago magtayo nang malalim
- Buksan Portal Studio → Magsimula → Pagiging Handa.
- Tiyakin ang kanonikal na direksiyong Portal at buksan ito sa isang hiwalay na tab.
- Ilagay ang logo, browser icon, touch icon (larawang pang-ekonomiya), larawan sa lipunan at ang kulay ng tema.
- Kumpilan ang mga wikang Help Center; baguhin ang awtoridad ng wika sa Help Sentro, hindi sa Studio.
- Ang paglalayag sa pamamagitan ng mga kahon at ang global conbuilt footer.
- Pumili ng tiket at isaayos ang kahit isang anyong kahilingan.
- Panatilihing aktibo ang kahit isang ligtas na sign-in method at repasuhin ang pag-aaklas ng pagkakakilanlan.
- Tumawid sa Kalidad at tiyakin ang nakapirmang pakikipagkamay.
- Gumawa ng unang demand release matapos malinaw ang bawat bagay na pangharang.
Ang mga advance porsyento ay kinakalkula mula sa nasagip na datos ng workspace at preview state. pagpili ng isang item ruta direkta sa kanyang sariling panel.
Gumawa ng mga pahina at muling - gamitin
- Buksan Magtayo → Mga Pahina at pumili ng isang pahina ng protektadong sistema o lumikha ng isang customy page.
- Magtakda ng ruta, titulo, access mode at locame role.
- Buksan Mga Komponente, salain sa pamamagitan ng trabaho o pagkamaygulang, at ilagay ang isang sangkap sa isang magkabagay na slot.
- Gamitin ang inspektor para sa nilalaman, hitsura, pagtatali, nakikita at madaling daanan.
- Gumamit ng mga disenyong maaaring gamiting muli para sa paulit - ulit na mga istraktura; panatilihin ang organisasyon o pagkakaiba - iba ng tatak sa iba't ibang uri.
- Iligtas ang draft at ehersisyo na nagkarga, walang laman, error, bisita at signed-in states sa preview.
Isipin ang tunay na mga paglalakbay, hindi ang isang masayang iskrin
- Pumili ng suportang panbisita, pumirma-in tiket, billing care, organisasyon o kaalamang manu-sup.
- Stwitch personas, organisasyon, papel at wikang Help Center.
- Sa spectable mobile, malaking mobile, tablet, laptop, desktop, malawak at napakalawak na mga breakpoint.
- Suriin ang minana, nangingibabaw at nakaayos na mga pamantayan; iwasan ang di - kinakailangang pagbuwag ng mga ari - arian.
- Run keyboard, RTL, nabawasang-motion, pagkarga, bakante, walang trabaho at mga estadong may pahintulot.
- Gamitin ang Test Lab para sa accessable, payload, ruta, pag-aanalisa at pagbibigay ng mga natuklasan bago repasuhin.
Operate isang Zendesk-level Help Center nang walang nagayang nilalaman
- Gumawa ng mga kategorya, seksiyon, artikulo, salin, kagamitan at template Sentro ng Tulong.
- Ang mga wikang madaling gamitin doon; ang lokal na glue, paghahanap, pagpapakain, SEO at artikulo ay sumusunod sa iisang awtoridad.
- Sa Studio, ilagay ang kaalaman sa paghahanap, kategorya/resource grids, pagpapakain, top perpendition, artikulo, mesa ng nilalaman, feedback, kaugnay at naunang/next na mga bahagi.
- Ang konfigure ay nagtatampok, popular at kamakailan lamang ay nagpakain; gumamit ng kontekstong mga mungkahi sa daloy ng tiket.
- Preview no-results, mahahabang artikulo, mga nakakabit, mga feedback, relo/suprition at handoff ng tiket.
- Ibalik-pantay ang malinis na mga ruta ng locale, kanonikal/hreflang, naka-ayos na datos at cache infigration matapos ilathala.
Configure sign-in ligtas
- Buksan Pagkakakilanlan at mga organisasyon → Pagigingidentidad at panatilihin ang kahit isang sign-in path ay nakapagdurulot.
- Pumili ng default method, patakaran sa pagpaparehistro, sesyon, SSO-domain ang pagpapatupad at pagtuklas ng gawi.
- Ang mga provider na may nakikitang glovating fields: type, domains, prioridad, presentasyon, maketo at makumpirmang estado. Ang mga lihim ay nananatili sa subsistema ng pagkakakilanlan.
- Sapagkat SCIM, nakapagbibigay-kaya, kumopya ng eksaktong workspace endpoint at umiikot sa token. i-imbak ang one-time token sa IdP.
- Ang mga pag-aangkin ng Mapa at kasapi sa organisasyon, pagkatapos ay ang pagsubok ay lumilikha, nag-apruba, miyembro ng grupo at deaktibsyon na may test tenant.
- Bago ilathala, ang mga panauhing preview, parokyano ay nag-aatas ng organisasyon at mga estadong barado bago ang paglalathala.
I - adjust ang buong biyahe para sa suporta
- Pumili ng direktang anyo, wank, search-first, stain o service-desk inclusion.
- Gumawa ng pangalan, na may bersyong anyong request na may mga seksiyon at madaling makuhang etiketa sa larangan.
- Gumawa ng mga visual na kalagayan, paglupig, SLA at pagsang - ayon; sumulong JSON ay para lamang sa mga pagbabagong ginawa sa pamamagitan ng review.
- Kabihasnan, detalye, sinulid, timeline, pagkabit, pagsang-ayon, SLA at tugon ay lumilitaw.
- Tumungo sa viewup, signed-in requests, visual, upload failure, email notification at kaalaman division.
- Magtipid ng draft; ilathala lamang pagkatapos na ang ruta ay pumasa sa preflight (pag - aayos) at notasyon.
Maglakad sa pamamagitan ng isang pinamamahalaang paglaya
- Mag - ingat sa mga natuklasan; kilalanin ang ipinahihintulot na mga babala taglay ang konteksto.
- Idagdag ang mga release notes at request review. Ang mga taga-review ay nagkokomento sa matatag na pahina/node pathways.
- Sinusuri ng mga sumasang - ayon ang daambakal, patiunang nakikita ang mga paglalakbay, pinapayagan ang mga pagbabago at katibayan.
- Ang paglisan sa Studio ay hindi nagkansela ng matibay na trabaho.
- Mag-ingat sa pagsulong, kalusugan at correlation ID. top/retry lamang mula sa mga kontrol sa trabaho.
- Ibalik sa dati ang mga rutang kritikal, pagkakakilanlan, tiket at kaalaman. Igulong sa isang hindi nagbabagong premise release kapag kinakailangan.
| May Kakayahan | Layunin |
|---|---|
| Larawan / Kagit | Inspeksiyunin o baguhin ang mga draft nang walang inilabas na awtoridad. |
| Repaso / Sinasang - ayunan | Ibukod ang impormasyon at pagsang - ayon mula sa awtor. |
| Iskedyul / Publish / Rollback | Independiyenteng mga kontrol sa produksiyon. |
| Pagkakakilanlan / SCIM / Nandayuhan / Mga Konsepsiyoniko / Diagnostiko | Huwag mag - opera nang sensitibo. |
Nandayuhan na taglay ang ebidensiya at daan pabalik
- Pumili ng provider plan at gumawa ng dry run.
- Natuklasan ng Review ang mga setting, hindi naitatakdang mga halaga, nilalaman at nakikitang pagkakapareho.
- Kumpletuhin ang ligtas na mga pagsasamapa at muling itakbo ang nakaayos na diff.
- Sa pamamagitan ng pag - iikid, pakikipagkasundo at patiunang pagsusuri sa bawat protektadong paglalakbay.
- Isulat ang awtorisadong pagtanggap; huwag kailanman isulat ang kasalukuyang inilathalang inilabas sa panahon ng pag - aangkat.
- Pumunta sa governence at panatilihin ang ulat ng pandarayuhan, ilabas ang ID at rollback point nang magkasama.
Mga kontratang may mahabang haba, hindi mga template
Ang isang ligtas na extension ay nagtatala ng isang matatag na composure type at schema, nagpapahayag ng mga pahintulot at mga pangangailangan sa datos, nag-eensayo sa pamamagitan ng kanonikal na tagatipon, at suplay deterministic integrates/testests. Huwag mag-query dialect ng mga mesa, iiniksiyon ng editor JavaScript sa publikong Portal, lumikha ng isa pang artikulo, o lumampas sa tarangkahang labasan.
Portal Document va2
Ang mga pahina ay naglalaman ng matatag na nodes, slots, mga katangian, mga pagtatali, tumutugong mga surpasiyo, mga kondisyon at accessable metadata.
Kahusayan sa Pagrerehistro
Ang isang kontrata ay nagbibigay ng mga tseke sa Studio, pagtitipon, dokumentasyon, pandarayuhan at pagkamaygulang.
Muling Pagrehistro ng Pinagmumulan ng Data
Pinapahintulutan, basahin-lamang, palitan ng pahintulot-scoped DTOs ang hindi tanggap na kagustuhan SQL o dinamikong pagkilos.
Isang tagapamahagi
Ang preview at pampublikong output ay nagbabahagi ng mga competment, sanitization, budgets at runtime states.
Itakda ang isang paketeng bahagi
Gumamit ng mas mababang case namespaced ID at semantikong bersyon. supply kapwa competition propety show dahil ang inspeksiyunasyon ng pakete at seguridad ay gumagawa ng independiyenteng mga tseke.
{
"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}
}
Hugis node
{
"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"}
}
- Nananatiling matatag ang mga ID sa mga pagsasaayos at pandarayuhan.
- Itinatakwil ng mga matuwid ang di - ipinahayag na mga larangan at hindi ligtas HTML.
- Ang bawat data-bound na pananaw ay nagbibigay ng kahulugan sa pagkarga, bakante, pahintulot at retryable-error output.
- Ang mga bahaging may sangkap na lalagyan ay bumabanggit ng kanilang mga slot; ang mga dahon ay hindi maaaring tumanggap ng di - makatuwirang mga bata.
- Mapagkakatiwalaang tandaan: isinaplanong mga bloke, babala ng beta, ang GA ay nangangailangan ng ganap na katibayan.
Gamitin ang permit-ligtas na DTOs
- Pumili ng isang uncented na ID gaya ng
tickets.mine,knowledge.featuredocustomer.profile. - Ang mga bundante lamang na ipinahayag ng bersyon nito na DTO. ang hindi kilalang mga mapagkukunan ay nabibigo sa
data_source.unknown. - Pasahin ang na-indibidwal na kontekstong Portal; huwag kailanman tanggapin ang workspace/customer identity mula sa isang hindi ipinagkatiwalang propesyunal.
- Ang mga limitasyon sa listahan ay tinatakdaan1–100. Normalisado ang pograsyon, lokale at paghahanap ng mga halaga.
- Kung ang isang bagong pinagmumulan ay hindi maiiwasan, idagdag pa ang matatag na kahulugan nito, ligtas na pagsasama - sama ng mapa, mga pahintulot, walang - katuturang paggawi at patiunang pag - iisip na magkasama.
{
"success": true,
"source": "tickets.mine",
"contract_version": 1,
"items": [
{"id": 42, "number": "REQ-42", "subject": "Example", "status": "open"}
]
}
Manatili sa loob ng mga hangganan ng pagtitiwala
| hangganan | Kailangang paggawi |
|---|---|
| Lugar ng Trabaho | Pagpasiya mula sa pinagkakatiwalaang host/route/pag-aalsa, pagkatapos ay saklawin ang bawat pagbasa at pagsusulat bago patayin. |
| HTML | Gamitin ang Portal sanitizer/parser pinahihintulutan ang olist. Huwag kailanman i-contate ang mga hindi ipinagkatiwalang katangian, URLs, CSS o iskrip. |
| Patiunang Pag - isipan | Hinihiling ang parehong-origin source window, nilagdaan channel bersyon at mga disposable. ipagwalang-bahala ang hindi hinihinging mga mensahe. |
| Pagkakakilanlan | Itago ang mga lihim sa labas ng mga dokumento. SCIM ay bearer-authenticated, converseless at workspace-bound. |
| Mga pakete | Itakwil ang mga daanan, absolutong landas, link/special files, oversize archives, checkum/signature mismatch at hindi alam na pinahihintulutan. |
| Mga Pagkakamali | Ibalik ang matatag na kodigo, ligtas na mensahe, muling pag-aaral, rekombinasyon at correlation ID; log pribadong eksepsiyon server-side. |
| Kaalaman | Basahin sa isang karugtong ang mga artikulo ng HelpCenterBridge. |
{
"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"}
}
}
Sa pag-spect, i-install at i-upgrade ng atomicly
- Ilagay
component.jsonsa ugat ng ZIP at pinananatili ang bawat landas na kamag-anak. - Una muna'y siyasatin ang mga arkibo ng installer capes 500 Mga Kabilang at 25 MB Hinango; ang segmentasyon ng seguridad ay nagdaragdag ng mga independiyenteng limitasyon.
- Verify the expected SHA-256 and package signature in the release process.
- Iluklok sa isang versioned directory. Huwag na huwag i-stat ang naka-install na bersyon sa lugar.
- Maglaan ng mga pandarayuhang pag-aari para sa pagkasira ng mga pagbabagong schema at pagpapanatili ng hindi kilalang mga larangang pang-kompetensiya.
- Buksan ang sangkap sa isang draft, patakbuhin ang bawat estado/viewport/persona instructed at ilathala sa pamamagitan ng governance.
- Pinatatakbo ng Rollback ang naunang di-nababagong sangkap/dokumentong pagpapalabas; panatilihin ang ebidensiyang reproduktibo nito.
Patunayan ang extension sa parehong release hash
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
Ang mga pintuan ng pagkukunan ay kinakailangan, hindi sapat. Attach database/migration, real-bowser visual, identity-provider, inference-isolation, accessable, performance, queue/cron, mail/attachment, backup/restore at depostment na katibayan sa parehong immutable release hash. Ang di kilalang kailangan na ebidensiya ay dapat mabigo ang release.
- Unit: schema, sanitization, hugis DTO, kondisyon, pandarayuhan at mga stailed failure.
- Kontrata: pagkarga/walang-sala/error/tagumpay, kagulangan, slots, friget at isang-render paridad.
- Browser: keyboard, pokus, semantiks, RTL, zoom/reflow, nabawasang paggalaw at bawat breakpoint.
- Seguridad: cross-workspace probes, mga pekeng aksiyon, mga atake ng pakete, itsek ang spoofing at lihim na pag-screase.
- Mga operasyon: matibay na pagsulong, leave/return, top/retry/resume, regulator tibok ng puso at rollback.
Kaguluhang pinaputukan ng estado at correlation ID
| Kalagayan | Kung ano ang gagawin |
|---|---|
| Pagpapahintulot | Ang paghiling ng pangalan. Naka-rerelaks ang nakatagong UI; laging ipinatutupad ito ng backend. |
| Pagsasaayos | Buksan ang iniulat na pahina/node/field, ituwid ito, pagkatapos ay muling tumakbo bago ang stage. |
| Labanan | I - download ang pinakabagong rebisyon, ikumpara sa iba ang mga pagbabago at gawin ito nang tama. |
| Offline / puwedeng baguhin | Panatilihin ang draft, ibalik ang pagiging magkakaugnay, muling ayusin sa pamamagitan ng aksiyon at tiyakin ang matatag na kalagayan ng trabaho. |
| Nakamamatay ba ang mga Ito? | Kopyahin ang correlation ID at pamamagitan para sa suporta. Huwag kailanman i-steats o pansariling eksepsiyon na teksto. |
| Bigo ang Publish | Iprinising preflight/job output, muling bigyan ng panibagong-buhay na mga yugto lamang, o gumulong pabalik sa huling malusog na paglabas. |
| SCIM 401/403 | Ang tiyak na endpoint/workspace, tagapagdala ng token, ay nakapagdulot ng estado at ikot; hindi kailanman gumamit ng browser session cookie. |
| Ang kaalaman ay wala nang bisa | Ibalik-tanaw ang lokale/publication sa Help Center, pagkatapos ay inspeksiyunin ang cache defiction at ang malinis na lokalisadong ruta. |
Ang gabay na ito ay limbag-handa. Gamitin ang Palimbagan → Save bilang lisensya PDF para sa isang kontroladong kopya ng offline.