Haluatko laatia lomakkeita Salesforce Platformissa? Sinulla on useita vaihtoehtoja, jotka kattavat koko alhaisen koodin prosekoodin jatkuvuuden. Alhaisen koodin edustavat dynaamiset lomakkeet Lightning ja ruutukulut Flow Builderissa. Jatkuvuuden keskellä on kyky laajentaa ruutukulkuja LWC-laitteilla ja laatia asiakaskohtaisia lomakkeita OmniStudiolla. Pro-code edustaa myös LWC-kehystä ja sen jatkuvasti kasvavaa peruskomponenttien kirjastoa.
Vaihtoehdot ovat hyviä, mutta miten määrität, mikä vaihtoehto (tai mikä yhdistelmä) on oikea vaihtoehto? Juuri tähän tämä opas kuuluu.
- Takeaway #1: Kun luot/muokkaat/tarkastelet Lightning-sivujen asetteluita, käytä dynaamisia lomakkeita. Saatat huomata, että tämän oppaan vertailutaulukoista puuttuu sivuasetteluita. Suositeltu tapa määrittää tietueiden lisätietosivuja on käyttää dynaamisia lomakkeita Lightning. Katso lisätietoja siitä, miksi emme halua parantaa niitä tarkemmin kohdasta Sivuasettelut.
- Takeaway #2: Jos sinun täytyy luoda luonti- tai muokkauslomake tarkalleen yhdelle objektille, aloita Lightning-sivuilla ja dynaamisilla lomakkeilla. Tämä on yksinkertaisin tapa laatia lomakkeita Salesforce Platformissa. Se tarjoaa myös joitakin lisäominaisuuksia, kuten kyky hallita kenttien näkyvyyttä. Jos vaatimuksesi ovat edistyneempiä, jatka lukemista. Ruutukulku, OmniStudio tai Lightning (LWC) saattavat soveltua paremmin.
- Takeaway #3: Jos olet luomassa monisivuista lomaketta tai ohjattua toimintoa, mutta sinulla ei ole tarkkoja käyttöliittymän tai brändäyksen vaatimuksia, aloita ruutukulku. Ruutukulut tarjoavat lineaarisen navigointikehyksen useiden lomakkeiden orkestroimiseen yhdessä. Voit käyttää LWC:ää rakentaaksesi oman kehyksen lomakkeiden välillä navigointiin, mutta suosittelemme, että annat kulun tehdä kovia töitä puolestasi, jotta voit keskittyä lomakkeisiin itse sen sijaan, että huolehdit lomakkeen tilasta.
- Takeaway #4: Jos tarvitset lisää logiikkaa tai toimintoja lomakkeen takana, käytä ruutukulkua, OmniStudiota tai LWC:ää. Kaikki kolme työkalua tarjoavat tapoja, joilla ratkaisusi voi tehdä enemmän kuin luoda tai muokata yhtä tietuetta. Tämä ”enemmän” voi olla edistyneempi logiikka, kuten haarautuminen tai iterointi, tai se voi olla enemmän toimintoja, kuten ulkoisten järjestelmien integrointi, sähköpostien lähettäminen tai ilmoitusten lähettäminen käyttäjän mobiilisovellukseen.
- Takeaway #5: Onko sinulla monimutkaisia käyttöliittymän vaatimuksia? Tarvitseeko sinun käsitellä dynaamisesti enemmän kuin näkyvyyttä? Käytä LWC- tai Omniscript-protokollaa. Jos vaatimuksesi voidaan täyttää yksinkertaisilla teemoilla ja sarakkeisiin perustuvilla asetteluilla, voit laatia lomakkeesi suoraan vähäisen koodin rakentajassa. Tarvitset LWC:n täydellisen joustavuuden hallitaksesi lomakkeesi tyyliä tarkemmin. Jos olet Industries-asiakas ja tarvitset täydellistä brändäystä tai sinulla on monimutkaisia hierarkkisia tietoja, käytä OmniStudiota, joka sallii sinun laatia kuluttajaluokkien lomakkeita, jotka voivat käsitellä monimutkaisia liiketoimintalogiikoita ja datan transformaatioita.
- Takeaway #6: Jos tarvitset testien automatisointia, aloita Lightning-verkkokomponenteilla. Voit kirjoittaa yksikkötestejä mille tahansa LWC:lle riippumatta siitä, mihin aiot upottaa sen. Näin voit luoda kestävämmän testistrategian, joka voi sisältää joukkotestit useilla tietueilla ja negatiiviset testit. Lisätietoja testien luomisesta, jotka auttavat sinua näkemään, miten hyvin lomakkeesi vastaavat toiminnallisia ja ei-toiminnallisia vaatimuksiasi, on kohdassa Salesforce Well-Architected - Testing Strategy.
Pidä mielessäsi, että valintasi ei tarvitse olla joko/tai - voit yhdistää useiden vaihtoehtojen tehon. Jos esimerkiksi tarvitset sekä kulun sisäänrakennettua navigointijärjestelmää että LWC:n tarjoamaa joustavaa tyyliä, käytä niitä yhdessä.
Alla oleva taulukko kuvaa työkalut, jotka ovat käytettävissä lomakkeiden laatimiseen Salesforcen kanssa, sekä vaaditut taidot ja lisensseissä huomioitavia asioita. Myöhemmin tutustumme tarkemmin kunkin työkalun tukemiin ominaisuuksiin sekä siihen, miten valita napsautuksiin perustuvat työkalut ja koodiin perustuvat työkalut (ja milloin yhdistää ne):
| Vaaditut taidot | Lisälisenssien vaatimukset | |
|---|---|---|
| Dynamiset lomakkeet | Matala koodi | Ei |
| Ruutukulku | Matala koodi | Ei |
| OmniStudio | Matala koodi + Pro-koodi | Vaatii Industries-paketin |
| Ruutukulku + Lightning-verkkokomponentit | Matala koodi + Pro-koodi | Ei |
| Lightning-verkkokomponentit | Pro-koodi | Ei |
Alla oleva taulukko sisältää yleiskatsauksen päätöspisteistä, jotka tulisi ottaa huomioon, kun teet tuotteiden valintoja, sekä kysymyksiä, joita sinun tulisi kysyä itseltäsi niistä jokaisesta. Syventymme näihin aiheisiin tämän oppaan lopussa.
| Objektin vaikutus | Määritä, toimitaanko lomakkeesi yhdelle objektille vai täytyyko se toimia useille objekteille. |
| Lomakkeen vaikutusalue ja navigointi | Määritä, soveltuvatko lomakkeesi kaikki kentät loogisesti yhteen ruutuun vai voivatko käyttäjät siirtyä useiden ruutujen välillä. |
| Sijainti | Valitse sijainti(t), johon haluat upottaa lomakkeen, joka voi vaihdella Salesforce-sovelluksen sisäisestä sijainnista mobiilisovellukseen tai jopa ulkoiseen verkkosivustoon. |
| Ohjain | Tunnista toiminnot tai logiikka, jotka täytyy suorittaa kulissien takana, kun käyttäjät käyttävät lomakettasi, mukaan lukien datan transformaatiot ja integraatiot ulkoisten järjestelmien kanssa. |
| Vahvistus | Määritä, onko sinulla lisävahvistuksen vaatimuksia, jotka ylittävät Salesforcen tarjoaman järjestelmätason vakiovahvistuksen. |
| Tietoturva | Määritä, tarkastavatko lomakkeesi käyttäjän käyttöoikeudet ennen tiettyjen toimintojen suorittamista, haluatko hallita, kuka voi käyttää lomaketta ja haluatko hallita, mihin lomake voidaan upottaa. |
| Vuorovaikutusten suunnittelu | Tunnista vuorovaikutusten tai ehtojen tyypit, joiden tulisi käynnistää dynaamisia vastauksia lomakkeessasi. |
| Tyyli | Määritä haluamasi tyylin ja CSS:n hienosäätötaso. |
| Asettelu | Tunnista lomakkeesi asettelun vaatimukset sen sarakkeiden, välilehtien ja harmonisointien vaatimasta määrästä sekä kyvystä näyttää toistuvia datalohkoja. |
| Käännös | Määritä, täytyykö lomakkeesi lokalisoida muille kielille. |
| UI-testien automatisointi | Määritä, vaativatko DevOps-prosessisi lomakkeesi automatisoitujen yksikkötestien tai automatisoitujen päätepisteiden testaamisen. |
| Tilastot | Tunnista tavat, joilla haluat seurata lomakkeesi käyttöä, mukaan lukien sivujen tarkastelukerrat, lomakkeeseen käytetty aika, suoritussuhteet ja onnistumissuhteet. |
| Pakkaus ja käyttöönotto | Määritä, miten haluat jakaa tai ottaa lomakkeesi käyttöön sen luomisen jälkeen. |
Alla on vertailutaulukoissa käytetyt termit ja niiden määritelmät:
- Käytettävissä: Toimii hyvin perustietojen kanssa.
- Ei ihanteellinen: Voi toimia, mutta ei ole optimaalinen työkalu.
- Aikataulu: Arvioitu tuki seuraavien 12 kuukauden aikana (kesäkuu 2025).
- Tulevaisuus: Arvioidaan tukeen seuraavien 12 kuukauden jälkeen.
- Ei käytettävissä: Emme aio tukea tätä ominaisuutta seuraavan 12 kuukauden aikana.
Aloitamme lupauksen mukaisesti syventymällä erilaisiin vertailupisteisiin ja toiminnallisiin eroavaisuuksiin dynaamisten lomakkeiden, ruutukulkujen, OmniStudion, ruutukulkujen ja upotettujen LWC-koneiden välillä sekä itse LWC-kehyksessä.
Jos lomakkeesi toimii yhden Salesforce-objektin kanssa, kaikki vertailemamme työkalut toimivat. Objektien ristikkäisillä lomakkeilla tai objektien välisillä lomakkeilla asiat muuttuvat hieman monimutkaisemmiksi. Objektien poissaololla tarkoitamme syötettyjä tietoja, joita ei ole kartoitettu mihinkään Salesforce-objektiin. Ehkä lomakkeesi edustaa datarakennetta, jonka lähetät ulkoiseen palveluun, kuten Stripe tai DocuSign. Tai ehkä käytät lomakkeessasi useita syötteitä laskeaksesi arvon ja sitouttaaksesi arvon tietokantaan.
- Mihin objekteihin lomake toimii?
- Onko kyseessä vain yksi objekti vai onko olemassa useita objekteja?
- Käytätkö tiettyjä objekteja (esim. Tili, Yhteyshenkilö, Mahdollisuus, Liidi ja Tapaus) vai täytyykö lomakkeesi toimia myös muiden objektien kanssa?
| Yksi objekti | Ristiobjekti | Object Agnostic | |
|---|---|---|---|
| Dynamic Forms | Käytettävissä | Käytettävissä | Ei käytettävissä |
| Ruutukulku | Käytettävissä | Käytettävissä | Käytettävissä |
| OmniStudio | Käytettävissä | Käytettävissä | Käytettävissä |
| Ruutukulku + LWC | Käytettävissä | Käytettävissä | Käytettävissä |
| LWC | Käytettävissä | Käytettävissä | Käytettävissä |
Kulku ja OmniStudio ovat molemmat kiinteitä vaihtoehtoja objektien ristikkäislomakkeille ja objektien välisille lomakkeille. Kulkuruuduissa käytettävissä olevat komponentit ovat luonteeltaan agnostisia, joten voit valita, mitä tehdä kyseisillä tiedoilla kulissien takana. Käytä esimerkiksi yhteen lomakkeeseen syötettyä dataa luodaksesi useita tietueita kulissien takana tai suorittaaksesi muita toimintoja, kuten luodaksesi Chatter, lähettääksesi Slack-viestejä, lähettääksesi sähköposteja tai muodostaaksesi yhteyden ulkoisiin palveluihin.
Yksinkertaisissa tapauksissa olemassa olevien LWC-komponenttien käyttäminen, kuten Lightning, voi olla yksinkertainen tapa alentaa koodia, joka tarvitaan kestävän ratkaisun tarjoamiseksi. Kulku tarjoaa kuitenkin kattavan hallinnan kaikille objekteille ja poistaa kehittäjien tarpeen selata monimutkaisia suhteita ja riippuvuuksia useita objekteja sisältävissä tilanteissa.
OmniStudio ottaa asiat askeleen pidemmälle ja on täysin objektien agnostinen — se erottaa käyttäjän näkemän lomakkeen sen perustana olevasta datamallista. Sen sijaan OmniStudio manipuloi sen perustana olevaa JSON-tiedostoa, joka kartoitetaan sitten Salesforce-objekteihin (tai ulkoiseen dataan) käyttämällä työkaluja, kuten Datan kartoitusikkuna ja integraatiotoimenpiteet. Datan kartoitus ja integrointitoimenpiteet ovat kaksi tärkeintä komponenttia, jotka yhdistävät OmniStudio-lomakkeesi Salesforcen sisäiseen ja ulkoiseen dataan. Vedä ja pudota -elementtien avulla voit työstää monimutkaista hierarkkista dataa ulkoisessa järjestelmässä ja muuntaa sitten datan tarpeisiisi sopivaksi riippuen siitä, mihin dataa tarvitaan. Niiden avulla voit myös käyttää kaavoja suorittaaksesi matematiikkaa ja logiikkaa array-taulukoille tai dataluetteloille, aivan kuten Apex.
Jos voit noutaa kaikki käyttäjiesi syöttämät tiedot yhdestä ruudusta, aloita dynaamisten lomakkeiden avulla. Tietuesivuilla olevat dynaamiset lomakkeet voivat kuitenkin käyttää Polku-ominaisuutta esittääkseen liiketoimintaprosessisi eri vaiheita vapaasti, mutta se ei välttämättä sovellu useimpiin käyttötarkoituksiisi.
- Tarvitsetko yhden ruudun vai täytyyko käyttäjän siirtyä useiden ruutujen välillä suorittaakseen tehtävän?
- Haluatko, että käyttäjäsi näkevät visuaalisen kuvan siitä, kuinka pitkälle he ovat täyttäneet lomakkeesi?
- Täytyykö käyttäjiesi täyttää kunkin ruudun tiedot tietyssä järjestyksessä vai voivatko he siirtyä ruutujen välillä tarvittaessa?
| Yksi näyttö | Usean ruudun lomake | Edistymisen osoittimet | Navigoinnin siirtäminen vaiheiden/ruutujen välillä | |
|---|---|---|---|---|
| Dynamic Forms | Käytettävissä | Ei käytettävissä | Käytettävissä | Ei käytettävissä |
| Ruutukulku | Käytettävissä | Käytettävissä | Käytettävissä | Ei käytettävissä |
| OmniStudio | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä |
| Ruutukulku + LWC | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä |
| LWC | Käytettävissä | Ei ihanteellinen | Ei ihanteellinen | Ei ihanteellinen |
Jos tarvitset enemmän toimintoja kuin mitä dynaamiset lomakkeet tarjoavat, kulun, OmniStudion ja LWC:n valinta riippuu myös muutamasta muusta kysymyksestä:
- Mitä taitoja tiimilläsi on? Jos organisaatiosi on raskaampi pääkäyttäjille, suosittelemme aloittamaan kululla. Jos sinulla on Industries-ratkaisuja, tiimisi tuntee jo OmniStudion ja projektillasi on tiukat käyttöliittymän vaatimukset, aloita OmniStudion avulla.
- Voiko navigointipalkin näyttää lomakkeesi alalaidassa? Jos ruutukulku ja Omniscript-navigointikokemus ovat epätoivottuja käyttöliittymiä, avaa LWC.
- Mitä lomakkeen takana täytyy tapahtua? Jos haluat, että pääkäyttäjä voi määrittää tämän toimintatavan, luo kulku tai — jos haluat tehdä perustavanlaatuisia muutoksia, kuten muuttaa kenttien otsikoita — Omniscript. Muussa tapauksessa luo monimutkaisille, usean objektin suhteille Omniscript tai LWC.
- Jos valitset kulun tai OmniStudion, sinun täytyy ehkä silti rakentaa LWC saavuttaaksesi oikean käyttöliittymän. Jos olet jo rakentamassa LWC-organisaatiota lomakkeesi tyylille oikein, harkitse, onko komponentin upottaminen kulkuun tarpeeton.
Jos ratkaisusi näyttää ohjatulta toiminnolta, jossa käyttäjä siirtyy useiden ruutujen välillä, harkitse kulkua tai OmniStudiota. Kulut ja OmniStudio sisältävät sisäänrakennetun navigointimallin, joten sinun ei tarvitse rakentaa ja ylläpitää yhteen sidottuja LWC-organisaatioita. Navigointi on lineaarista, eteenpäin siirrettyjä toimintoja, taaksepäin siirrettyjä toimintoja ja mekanismia lomakkeen tallentamiseen myöhempää käyttöä varten. Voit myös laatia lomakkeen, joka sisältää ei-lineaarisen navigoinnin, jos se sopii tarpeisiisi. Katso esimerkki ruutukulkujen käyttämisestä Salesforce Labsin Digital Store Audit -paketista.
OmniStudio tarjoaa tärkeän navigointiedun tarjoamalla edistymisen osoittimia tavallisesta navigoinnista, joka näyttää lomakkeessa ”vaiheita”. Tämä vaiheenäkymä näyttää automaattisesti, missä käyttäjä on määritetyssä monivaiheisessa lomakkeessa. Toisin kuin Kulku, se sallii käyttäjien siirtyä ruutujen välillä napsauttamalla lomakkeen eri vaiheita.
Varmista, että lomakkeesi on virtaviivaistettu, jotta käyttäjäsi voivat selata niitä helposti, riippumatta siitä, luotko yksittäisiä tai useita ruutuja sisältäviä lomakkeita.
Jos upotat lomakkeen vakiomuotoiseen Lightning, kaikki vertaamamme työkalut toimivat, mutta varoitus on, että dynaamiset lomakkeet ovat tällä hetkellä käytettävissä vain työpöytäversiossa. Jos kuitenkin haluat tarjota käyttökokemuksen, joka sallii käyttäjien käyttää lomakkeita muista sijainneista, sinun täytyy ehkä harkita vaihtoehtoisia vaihtoehtoja.
- Tarvitseeko käyttäjien käyttää lomaketta tietokoneella, mobiililaitteella vai molemmilla?
- Voivatko käyttäjät käyttää lomaketta mistä tahansa sovelluksesi apupalkista?
- Haluatko käyttää pikatoimintoja, jotta käyttäjät voivat täyttää lomakkeesi poistumatta sivulta, jolla he ovat tällä hetkellä?
- Täytyykö lomakkeesi olla käytettävissä ulkoisella verkkosivustolla?
| Lightning | Lightning tai sovellussivu | Aura Experience Cloud -sivustot | LWR Experience Cloud -sivustot | Upotetut Snap | Apupalkki | Objektikohtainen toiminto | Globaali toiminto | Salesforce-mobiilisovellus** | Field Service Mobile | Mobile SDK (Mobiili-SDK) | Ulkoiset sivustot ja sovellukset | Mukautettu LWC | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dynamic Forms | Käytettävissä | Ei käytettävissä | Ei käytettävissä | Ei käytettävissä | Ei käytettävissä | Ei käytettävissä | Ei käytettävissä | Ei käytettävissä | Käytettävissä | Ei käytettävissä | Ei käytettävissä | Ei käytettävissä | Ei käytettävissä |
| Ruutukulku | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Etenemissuunnitelma | Käytettävissä | Käytettävissä*** | Ei käytettävissä | Etenemissuunnitelma | Käytettävissä |
| OmniStudio | Käytettävissä | Käytettävissä | Käytettävissä | Ei käytettävissä | Ei käytettävissä | Käytettävissä | Ei käytettävissä | Ei käytettävissä | Käytettävissä | Ei käytettävissä | Ei käytettävissä | Käytettävissä | Käytettävissä |
| Ruutukulku + LWC | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Etenemissuunnitelma | Käytettävissä | Ei käytettävissä | Ei käytettävissä | Ei ihanteellinen | Käytettävissä |
| LWC | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Etenemissuunnitelma | Etenemissuunnitelma | Käytettävissä | Etenemissuunnitelma | Etenemissuunnitelma | Käytettävissä | Käytettävissä |
| *Kulut voidaan upottaa LWR Experience Cloud -sivustoihin, mutta niissä on huomioitavia asioita, jotka sinun täytyy pitää mielessäsi. **Salesforce-mobiilisovellus tukee kulkuja ja LWC-kulkuja, mutta Salesforce-mobiilisovellus ei tue kaikkia kulkujen ja LWC-kulkujen upottamista. Esimerkiksi objektikohtaisia toimintoja tuetaan mobiililaitteilla, mutta apupalkin kohteita ei. ***Field Service Mobile -sovellus ei tue useita uusimpia kulkujen ominaisuuksia, koska se on suunniteltu vanhemmista Flow Engine- ja Screen Flow Runtime -ominaisuuksista. |
|||||||||||||
Dynaamisia lomakkeita tuetaan vain Lightning, koska ne vaativat tietueiden asiayhteyden. Dynaamisia lomakkeita ei kuitenkaan tueta Experience Cloud -sivuilla. Tämä rajoitus on voimassa, koska Experience Cloud ei käytä perustana olevaa kehysjärjestelmää, johon dynaamiset lomakkeet ovat riippuvaisia: Lightning. Arvioimme tätä Experience Cloudin dynaamisten lomakkeiden pyyntöjen perusteella.
Voit luoda kulkuja, jotka vaativat tietueen asiayhteyden, tai kulkuja, jotka toimivat globaalisti. Näin voit upottaa kulkuja useisiin sijainteihin. Jos kyseessä on tietueeseen liittyvä kulku, se voi olla Lightning, Experience Cloud -tietuesivu, objektikohtainen toiminto tai Toiminnot ja suositukset -käyttöönotto. Jos käytät globaalia kulkua, se voi olla apupalkki, muut Lightning- tai Kokemusten rakentajan sivut, Snap-in tai ulkoinen sovellus. Kulkuja ei tueta tällä hetkellä globaaleina toimintoina, mutta voit ratkaista ongelman pakkaamalla kulun Aura-komponenttiin.
OmniStudio sallii sinun laatia yhdistettäviä FlexCards- ja Omniscripts-kortteja, joita voit sijoittaa lähes mihin tahansa kohtaan, johon voit asettaa kulun. Niitä ei voi kuitenkaan pakata, vaikka niitä voidaan kirjoittaa.
LWC tukee korkeaa uudelleenkäytettävyysastetta, koska luot komponentteja, jotka voidaan liittää tavoitteisiin metadatan kautta Salesforcessa, yhteisöissä ja jopa avoimien lähdekoodien projekteissa. LWC-komponentteja voidaan upottaa myös omalle verkkosivustollesi Lightning Outin kautta.
Lightning Out ulkoisissa sivustoissa
Lightning ei tueta tällä hetkellä pikatoimintoina (objektikohtaisina tai globaaleina), mutta voit ratkaista ongelman pakkaamalla LWC-komponentin Aura-komponenttiin (kuten kulkujen kanssa). LWC-komponentit voivat myös käynnistää kulkuja käyttämällä Lightning-kulkukomponenttia.
OmniStudio on erinomainen näyttämään sisältöä ulkoisille sivustoillesi OmniOut-ominaisuuden avulla. OmniStudion ja OmniOut-sovelluksen avulla voit yhdistää Omniscript-lomakkeesi ja FlexCard-komponenttisi vakiokomponentteihin ja suorittaa ne sovellusalustan ulkopuolella kolmansien osapuolten sivustoilla tai sovelluksissa.
Minkään tässä oppaassa kuvattujen lomakkeiden teknologioista ei tueta virallisesti Mobile SDK -malleissa tänään. Jos Mobile SDK on välttämätön käyttötarkoituksesi kannalta, sinun kannattaa laatia lomakkeesi mobiilisovelluksessasi tai laatia Visualforce-sivu, mutta pidä mielessäsi Salesforcen Hyvin rakennettuja lomakkeen osatekijöitä koskevat ohjeet.
Roadmap Note: Mobile SDK -tiimi tukee aktiivisesti LWC-versioita Visualforce.
Dynaamiset lomakkeet ovat täydellinen vaihtoehto, jos sinun täytyy käyttää lomakkeessa olevia arvoja tietueen luomiseen tai päivittämiseen. Sinun täytyy hyödyntää Kulku-, OmniStudio- tai LWC-ominaisuuksia, jotta voit käyttää näitä ominaisuuksia. Näihin ominaisuuksiin voi sisältyä päätös- tai iterointikerros tai Slack-viestien tai -sähköpostien luominen lomakkeen syötteistä.
- Mitä toimintoja tai logiikkaa haluat suorittaa kulissien takana?
- Sisältääkö datamallisi hierarkkista dataa?
- Täytyykö lomakkeesi suorittaa toiminnot yhdessä tapahtumassa vai useissa tapahtumissa?
- Täytyykö sinun integroida ulkoisiin järjestelmiin?
- Mitkä ovat uudelleenkäytettävyyden ja modulariteetin vaatimukset?
| Lokit ja toiminnot | Hierarkkinen datan hallinta | Toimi yhdessä transaktiossa | Useiden transaktioiden työstäminen | Integraatio | Modulaarinen suunnittelu ja uudelleenkäyttö | Pakkaaminen | |
|---|---|---|---|---|---|---|---|
| Dynamic Forms | Ei käytettävissä | Ei käytettävissä | Ei käytettävissä | Ei käytettävissä | Ei käytettävissä | Ei käytettävissä | Käytettävissä |
| Ruutukulku | Käytettävissä | Etenemissuunnitelma | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä |
| OmniStudio | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Ei käytettävissä |
| Ruutukulku + LWC | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä |
| LWC | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä |
Kulku tarjoaa vakiotoimintoja Slackiin lähettämiseen, sähköpostin lähettämiseen ja Quip käyttämiseen, joten sinun ei tarvitse kirjoittaa koodia näille toiminnoille. LWC tarjoaa kattavia vuorovaikutuksia yksittäisten tietueiden ja niihin liittyvien objektien kanssa käyttämällä langallisia sovittimia, jotka vuorovaikuttavat User Interface API:n kanssa. LWC voi myös vuorovaikuttaa useiden tietueiden kanssa, kun käytät johtoa getListInfoByName -kenttään.
Lightning-verkkokomponenttien vuorovaikutus langattomien sovittimien kautta
Kuten yllä mainittiin, OmniStudio käyttää integraatiotoimenpiteitä ja datan kartoitinta kerätäkseen ja muuntaakseen Salesforcen ulkoista ja sisäistä dataa helposti. Se leijuttaa ja laajentaa datajoukkoja eri suhteiden tasoilla useiden koodittomien toimintojen ansiosta, joita voit käyttää.
Roadmap Note: Kulku tukee pian tietueiden kokoelmien laajentamista ja hierarkiatietojen hallintaa.
Kulku, OmniStudio ja LWC integroituvat kaikki Apexiin, joten voit sulkea kaikki aukot helposti valitsemassasi ratkaisussa. Jos esimerkiksi haluat suodattaa tietueita LWC:stä, voit aina käyttää Apex luodaksesi monimutkaisia SOQL-kyselyitä. Jos napsautuksiin perustuva tarina kiinnostaa sinua, harkitse kulun tai OmniStudion käyttämistä toimivina vaihtoehtona Apex palvelinpuolisia tarpeitasi varten.
Toissijainen kysymys on, haluatko sitouttaa toimintoja välittömästi vai lykätä niitä lomakkeesi tiettyyn osaan. Tämä on erityisen tärkeää, jos käytät monisivuista lomaketta. Kulku tekee useiden lomakkeiden (kulkuruutujen) syötteiden yhdistämisestä helppoa ja käyttää niitä paljon myöhemmin ohjatussa toiminnossa (kulussa) suorittaakseen joitakin toimintoja. Itse asiassa suosittelemme suunnittelemaan kulkuja juuri tällä tavalla — suorittamaan lopuksi toimintoja — jos käyttäjä hyppää ruudun välillä ja muuttaa vastauksiaan.
Transaktiot ja hallintarajoitukset ovat elämäntapa Salesforce Platformissa. Jos käyttötarkoituksesi on melko yksinkertainen, ei välttämättä ole niin tärkeää hallita, missä transaktiossa tietty toiminto tapahtuu. On kuitenkin muutama käyttötapa, joissa saatat haluta yhdistää useita operaatioita yhdeksi transaktioksi sen sijaan, että suorittaisit niitä useille transaktioille. Joitakin esimerkkejä:
- Rullback tai ei rollback: Tämä on kysymys. Oletetaan esimerkiksi, että lomakkeesi luo useita tietueita kulissien takana. Jos kolmannen tietueen luonti epäonnistuu, tulisiko kaksi ensimmäistä tietuetta peruuttaa? Jos toiminnot ovat toisistaan riippumattomia, voit suorittaa ne erillisissä transaktioissa. Jos ne ovat kuitenkin riippuvaisia ja haluat, että yhden epäonnistuminen heikentää myös muita, suorita ne yhdessä tapahtumassa. Jos lomakkeesi on kulussa, voit käyttää vikapolun Peruuta-elementtiä peruuttaaksesi transaktion ja varmistaaksesi datan eheyden.
- Downstream-vaikutus hallintarajoituksiin: Kun lomakkeesi luo tai päivittää tietueen, ota huomioon kyseisen toiminnon seuraukset. Mitkä prosessit, työnkulkusäännöt, kulunkäynnistimet, Apex tai muut tallennustilauksen kohteet käynnistyvät tämän tietueen muutoksen perusteella? Ja miten nämä kollektiiviset muutokset vaikuttavat transaktion kuluttamiin hallintarajoituksiin? Jos tietyn tietueen muutos aiheuttaa paljon alempia muutoksia, jotka vaikuttavat rajoituksiisi, harkitse tietueen muutoksen erottamista omaksi tapahtumaksi.
- Erän käsittely: Jopa käyttöliittymän kontekstissa sinun täytyy ehkä erätä useita päivityksiä yhteen. Oletetaan esimerkiksi, että usean ruudun lomakkeesi iteroituu suurelle tietueiden ryhmälle. Sen sijaan, että sitouttaisit tietueen päivityksen jokaisen ruudun jälkeen, odota, kunnes olet kerännyt päivitykset kaikille tietueille ja lähetä yksi pyyntö päivittääksesi kaikki tietueet.
Kun käytät dynaamisia lomakkeita tietueen luomiseen tai muokkaamiseen, suoritat vain yhden toiminnon, joka on aina uuden nettotapahtuman alku.
Kun rakennat ruutukulkua, voit hallita merkittävästi, mitä tietyssä transaktiossa tapahtuu. Ruudut ja paikalliset toiminnot toimivat transaktioiden välisinä rajoina. Alla on yleinen yhteenveto siitä, miten transaktioita hallitaan ruutukulkujen arkkitehtuurissa.
- Loppukäyttäjä käyttää ruutua ja napsauttaa sitten Seuraava.
- Asiakassovellus lähettää pyynnön API:hun syötettyjen tietojen kera.
- API vastaanottaa pyynnön ja transaktio- ja tietokantayhteys avataan. API kutsuu sitten kulkujen järjestelmää kutsumaan pyyntöä.
- Kulkujärjestelmä ottaa kulun määritelmässä olevan polun haltuun ja seuraa sitä, kunnes se saavuttaa Ruutu- tai Paikallinen toiminto -noodin. Järjestelmä palauttaa sitten kyseisen noodin tiedot API:lle.
- API luo vastausobjektin, joka sisältää seuraavan renderöitävän ruudun lisätiedot, ja palauttaa objektin asiakassovellukselle. Tässä vaiheessa tietokannan muutokset sitoutetaan (seuraa tallennustilauksen suorittamista) ja tietokannan yhteys ja transaktio suljetaan.
- Asiakassovellus käyttää API-vastausta renderöidäkseen seuraavan ruudun, jonka kanssa käyttäjä voi vuorovaikuttaa.
- Toista vaihe 1.
Toisin sanoen ruudut ”tapahtumat”. Kun näin tapahtuu, kaikki odottavat toiminnot tai DML sitoutetaan, edellinen transaktio suljetaan ja uusi transaktio käynnistyy.
Oikea rakenne — mitä operaatioita ryhmität tiettyyn transaktioon — on puhelu. Nyt tutustumme joihinkin esimerkkeihin.
Vasemmalta näet kulun, joka kerää syötetyt tiedot useista ruuduista ja suorittaa sitten useita toimintoja yhteen transaktioon.
Oikeanpuoleinen kulku suorittaa jokaisen toiminnon erillisessä transaktiossa.
Kulun tiimi esitteli äskettäin uuden elementin: Roll Back Records -elementti sallii sinun peruuttaa koko transaktion, jos yksi toiminto epäonnistuu useissa tietokantaoperaatioissa.
Oletetaan esimerkiksi, että sinulla on kulku, joka luo tietueita, päivittää tietueita ja luo sitten enemmän tietueita — niin kuin oikeanpuoleisessa seuraavassa kulussa on kuvattu.
Tässä skenaariossa, jos kaksi ensimmäistä elementtiä onnistuvat ja toinen epäonnistuu, kaksi ensimmäistä DML-operaatiota luovat ja päivittävät kyseiset tietueet, kun taas kolmas ei.
Kun käytät Peruuta tietueita takaisin -elementtiä, voit varmistaa, että koko transaktio peruutetaan, jos kaikki kolme operaatiota täytyy suorittaa yhdessä — niin kuin vasemmalla olevassa lopullisessa kulussa näkyy.
Lisätietoja on kohdissa Kulkujen kulut transaktioissa ja kulkujen bulkkaaminen transaktioissa. Salesforce Well-Architectedin Automatisoitu-osiossa käsitellään myös tätä asiaa tarkemmin kohdassa Datan käsittely.
Kykysi hallita transaktiota LWC:stä riippuu sen perustana olevista palveluista, joita LWC käyttää toimintojensa suorittamiseen. Jos käytät Lightning peruskomponenttia, sen perustana oleva toiminto (tietueen luominen tai päivittäminen) tapahtuu erillisessä transaktiossa, kun lomake lähetetään.
Yleisesti ottaen seuraavat säännöt ovat voimassa:
- Jokainen käyttöliittymän API-kutsu on eristetty omiin transaktioihinsa.
- Jos sinun täytyy suorittaa useita toimintoja yhdessä transaktiossa, lähetä syötetyt tiedot palvelinpuoleiseen teknologiaan, kuten Apex tai kulkuun. Teknologian säännölliset transaktiosäännöt ovat voimassa.
Kulku, OmniStudio ja LWC tukevat kaikkia sovellusalustan tapahtumia (tapahtumiin perustuvaa arkkitehtuuria) ja API-integraatioita. Mukautetun Apex lisäksi kulku ja OmniStudio tukevat deklaratiivisia mekanismeja API:n integroimiseksi.
Jos sinun täytyy muodostaa yhteys Mulesoft API- tai RPA-bottiin, käytä Mulesoft-palveluita. Tämä luo ulkoisen palvelun.
_ Ulkoiset integraatiot Mulesoft API -rajapintojen ja RPA-bottien kautta_
Jos API:lla on OpenAPI-skeema, luo ulkoinen palvelu.
Ulkoiset integraatiot API-rajapintoihin OpenAPI-skeemoilla
Käytä muussa tapauksessa HTTP-callout-ominaisuutta kulussa tai HTTP-toimintoa OmniStudiossa. Ulkoiset palvelut -ominaisuus tarjoaa kulun HTTP-callout-kutsun.
Ulkoiset integraatiot HTTP:n kautta
OmniStudio sisältää runsaasti integrointiominaisuuksia, jotka voivat kutsua ulkoisia järjestelmiä integrointitoimenpiteillä ja muuntaa dataa Datan kartoitus -työkalulla. (Lisätietoja on kohdassa Objektin vaikutus).
Riippumatta siitä, toteutatko sen mukautetulla Apexilla vai ulkoisella palvelulla, callout on callout. Tässä kaikki, mitä sinun täytyy tietää.
- Callout voi kestää kauan.
- Kun callout suoritetaan synkronoidusti, se suoritetaan, kun tietokantatransaktio on auki.
- Salesforce ei salli sinun pitää tietokantatransaktiota avoinna, jos sinulla on odottavia tietokantaoperaatioita.
Pidä mielessäsi tärkein rajoitus on niin kutsuttujen _ likaisten transaktioiden_ vaara, jossa suoritat luonti-, päivitys- tai poisto-toiminnon ja suoritat sitten samassa transaktiossa callout-kutsun. Tämä kuvio ei ole sallittu yllä olevan huomautuksen # 3 vuoksi, joka on tietenkin olemassa huomautusten # 1 ja # 2 vuoksi.
Voit välttyä tältä rajoitukselta kulussa rikkomalla transaktion. Muista, että ruudut ja paikalliset toiminnot palauttavat selaimen kontekstin, mikä rikkoo transaktion. Vaikka voit käyttää ruutuja ja paikallisia toimintoja, kun käytät ulkoisia callout-kutsuja, suosittelemme ottamaan transaktioiden hallinta käyttöön kutsuttavissa lisäasetuksissa. Transaktion hallinta on kutsuttavien toimintojen ominaisuus, jonka avulla voit lopettaa transaktion automaattisesti ennen kuin kutsu tehdään. Voit ottaa transaktioiden hallinnan käyttöön valitsemalla kutsutun toiminnon Lisäasetukset-osiosta Aloita aina uusi transaktio.
Callout-kutsujen vaikutus transaktioon on vähemmän monimutkainen LWC:n kanssa. Tavallisesti suoritat datatoimintoja käyttämällä Lightning Data Service (LDS) -palvelua ja käytät sitten Apex ulkoisen callout-kutsun tekemiseen. Tämä rakenne suojaa sinua likaisilta transaktioilta, koska LDS-kutsu on eristetty omassa transaktiossaan erillään Apex.
Lisätietoja Apex-callout-kutsuista, ulkoisista palveluista ja datan integrointiominaisuuksista yleensä on Arkiteetin opas datan integrointiin Salesforcen kanssa.
Dynaamiset lomakkeet eivät tue uudelleenkäyttöä. Jokainen dynaaminen lomake on sidottu tiettyyn Lightning tietylle objektille (vaikka voit kohdistaa kyseisen Lightning useisiin sovelluksiin, profiileihin jne.).
Voit kirjoittaa kirjastoja, apukohteita ja komponentteja, joita on tarkoitettu käytettäväksi useissa muissa komponenteissa, mutta voit käyttää samankaltaisia rakennekuvioita, kun luot kulkuja, jotka käyttävät alamikulujen tehoa. Tallenna kulkusi pienempiin ja modulaarisempiin kategorioihin ja kutsu niitä sitten muista kuluista käyttämällä Alakulku-elementtiä. Jos suunnittelusi vaatii sitä, voit laatia kulun, joka on erillinen ja hyödyllinen toisen kulun alakuluksi.
OmniStudio on luotu luonnostaan modulariteettia varten. Datakartoittimet, Omniscripts, FlexCards ja Integration Procedures on rakennettu erillään ja ne toimivat toistensa kanssa. Lisäksi FlexCards voidaan rakentaa LWC-komponentteina, jotka voidaan upottaa muihin LWC-organisaatioihin, Omniscripteihin, tietuesivuille ja Experience Cloud -sivustoille.
Ruutukulkuja, Omniscripte-objekteja ja LWC-objekteja voidaan rakentaa uudelleenkäyttöä varten ja upottaa useisiin sijainteihin, mukaan lukien ulkoisiin sivustoihin ja Lightning Out -sovelluksiin. Kun suunnittelet ratkaisusi olemaan yhdistettävissä, saat lisäetuja, kuten mukautettavuutta ja vakautta.
Kaikki tietueen luomiseen tai päivittämiseen käytetyt teknologiat noudattavat järjestelmätason vahvistusta – olivatpa ne sitten klassisia vahvistussääntöjä tai mukautettua vahvistusta, joka on rakennettu Apex. Riippumatta siitä, mitä tekniikkaa käytät tietueen muutoksen suorittamiseen, kaikki muutokset tehdään tallennustilauksessa. Tämä tarkoittaa, että vahvistussääntöjen lisäksi tietueen muutos käsitellään minkä tahansa määrän ennen tai jälkeen tallennusta, ennen tai jälkeen käynnistimiä, eskalointisääntöjä, kohdistussääntöjä ja paljon muuta. Jos et ole jo tehnyt niin, muista lisätä se kirjanmerkkeihisi ja tutustua Apexin suoritusjärjestykseen.
- Onko lomakkeellasi järjestelmätason vahvistuksen lisäksi muita vaatimuksia?
- Täytyykö sinun määrittää kentät pakollisiksi tai Vain luku -muotoisiksi dynaamisesti lomakkeessa?
| Järjestelmätason vahvistuksen noudattaminen | Tähän lomakkeeseen liittyvä mukautettu kenttätason vahvistus | Mukautettu kenttätason vahvistus | |
|---|---|---|---|
| Dynamic Forms | Käytettävissä | Ei käytettävissä | Ei käytettävissä |
| Ruutukulku | Käytettävissä | Ei käytettävissä | Etenemissuunnitelma |
| OmniStudio | Käytettävissä | Käytettävissä | Käytettävissä |
| Ruutukulku + LWC | Käytettävissä | Käytettävissä | Käytettävissä |
| LWC | Käytettävissä | Käytettävissä | Käytettävissä |
Kulkuruudussa tai Omniscript-vaiheessa syötetyt tiedot eivät ole luonteeltaan sidonnaisia, joten itse lomake ei noudata oletusarvoisesti tiettyyn objektiin liittyvää järjestelmätason vahvistusta. Tietueiden luomiseen tai päivittämiseen käyttämäsi arvot käsitellään kuitenkin tallennustilauksessa, mikä tarkoittaa, että ne läpäisevät objektin järjestelmätason vahvistuksen. Huomaa kuitenkin, että kaikki ruutukulkujen komponentit eivät tue input-vahvistusta. Summer '24 -julkaisusta alkaen muut ruutukomponentit, jotka eivät tue syötteen vahvistusta, ovat Valintapainikkeet, Valintaluettelo, Monivalintaluettelo, Valintaruuturyhmä ja Valintavaihtoehto-haku.
Dynaamiset lomakkeet sallivat sinun määrittää pakollisuuden ja Vain luku -tilan sivuasetteluiden tavoin. Et voi kuitenkaan korvata järjestelmätason asetuksia.
Kulku tarjoaa joustavuutta lomakkeen input-arvojen vahvistuksen mukauttamiseen. Vaikka jotkin tarkistukset suoritetaan asiakassovelluksessa (kuten merkitsemällä puuttuvat pakolliset kentät tai yhteensopimattomat arvot), mikään asiakassovelluksen vahvistus ei estä käyttäjää yrittämästä navigointia. Todellinen vahvistus tapahtuu palvelimella. Kun käyttäjä napsauttaa Seuraava, kulku lähettää syötetyt tiedot palvelimelle vahvistusta varten. Jos syötettyjä tietoja palautetaan virheellisinä, navigointi estetään ja asiaankuuluva virhe näytetään. Palvelin vahvistaa syötetyt tiedot valitsemalla:
- Syötteen pakollisuusasetus tai onko syötetty arvo yhteensopiva perustana olevan datatyypin kanssa.
- Mukautettu vahvistus kyseiselle input-arvona: Useat vakiokomponentit (valintaruutu, Valuutta, Päivämäärä, Päivämäärä/aika, Pitkä tekstialue, Numero, Salasana ja Teksti) tukevat mukautettua vahvistusta ruudun mukaan. Syötä totuusarvo-kaavalauseke ja virheviesti, joka näytetään, kun kaavalauseke ei täyty.
- Peruskomponentin mukautettu vahvistus: Jos olet rakentamassa kululle mukautettua LWC-koodia, lisää oma vahvistuskoodisi validate()-metodiin.
OmniStudio tarjoaa muotoillun virheiden ja vahvistusten käsittelyn Määritä virhe -toiminnon kautta yhdessä Ehdollisten näkymien ja Viestintä-komponentin kanssa.
LWC-puolella useimmat peruskomponentit suorittavat omat asiakassivun vahvistuksensa. Esimerkiksi Lightning noudattaa järjestelmätason vaatimuksia, mutta ei sivutason vaatimuksia. Voit rakentaa mukautetuille komponenteillesi Build Your Own vahvistusmekanismeja.
Kentät, jotka vaativat käyttäjiä syöttämään tietoja, tulisi näyttää etukäteen lomakkeissasi. Vahvista käyttäjien asiakassivulta syöttämät tiedot ennen lomakkeiden lähettämistä aina, kun se on mahdollista. Lisätietoja lomakkeiden virtaviivaistamiseen tarkoitetuista käytännöistä on Salesforcen Well-Architected - Engaging -osiossa olevassa lomakkeiden ohjeessa.
Tietoturva on yleisesti monimutkainen aihe, ja lomakkeiden laatimiseen liittyy useita huomioitavia asioita, joita et ehkä ole edes ajatellut. Perustasolla haluat varmistaa, että lomake suoritetaan oikeassa asiayhteydessä ja että käyttäjillä on sen perustana olevan datan käyttöoikeudet. Tämän lisäksi saatat myös haluta ryhtyä ylimääräisiin toimenpiteisiin poistaaksesi mahdollisesti haitallisia koodeja tai URL-osoitteita muotoillun tekstin kentistä, estääksesi tiettyjä käyttäjiä käyttämästä lomaketta tai rajoittaaksesi niiden paikkojen tyyppejä, joihin pääkäyttäjät voivat upottaa lomakkeen tulevaisuudessa. Muista dokumentoida tietoturvavavavaatimuksesi huolellisesti ennen työkalun valitsemista. Salesforcen hyvin rakennettu suojauskäytännön malli sisältää ohjeita tämäntyyppiselle dokumentaatiolle.
- Täytyykö lomakkeen tarkastaa käyttäjän käyttöoikeudet ennen tiettyjen toimintojen suorittamista?
- Pitäisikö käyttäjien syöttämiä tietoja puhdistaa?
- Haluatko hallita, kuka voi käyttää lomaketta?
- Haluatko hallita, mihin lomake voidaan upottaa?
| Käyttöoikeuksien nostaminen | Hallitse, kenellä on käyttöoikeus | Sallittujen sijaintien rajoittaminen | |
|---|---|---|---|
| Dynamic Forms | Ei käytettävissä | Käytettävissä | Ei käytettävissä |
| Ruutukulku | Käytettävissä | Käytettävissä | Ei käytettävissä |
| OmniStudio | Ei käytettävissä | Käytettävissä | Ei käytettävissä** |
| Ruutukulku + LWC | Käytettävissä | Käytettävissä | Ei käytettävissä |
| LWC | Käytettävissä* | Käytettävissä | Käytettävissä |
| *Vaatii Apexin **Vaikka Omniscripteillä ei voi olla määritettyjä kohdesijainteja, FlexCardsilla voi. |
|||
Kun jokin suoritetaan käyttäjäkontekstissa, Salesforce suorittaa useita käyttöoikeustarkistuksia, mukaan lukien kenttätason suojauksen, CRUD-käyttöoikeuksien ja tietueiden käyttöoikeuksien vahvistaminen organisaatiosi jakosääntöjen perusteella. Käyttäjät voivat esimerkiksi suorittaa tapauksen päivityslomakkeen vain, jos he voivat päivittää tapauksia, käyttää asiaankuuluvaa kenttätason suojausta ja käyttää kyseistä tietuetta. Entä jos haluat käyttäjien voivan suorittaa tietyn toiminnon lomakkeessasi, mutta ei missään muussa lomakkeessa tai vuorovaikutuksessa?__ Juuri tähän **_järjestelmäkonteksti_** vaikuttaa.
Järjestelmäkonteksti on tapa nostaa suorittavan käyttäjän käyttöoikeuksia istunnon keston ajan, jotta käyttäjän ei tarvitse esimerkiksi päivittää tapausobjektin käyttöoikeutta suorittaakseen tapauksen päivityslomakkeen onnistuneesti. Tämä on hyödyllistä varsinkin todentamattomille yhteisöille. Sen sijaan, että myöntäisit vieraskäyttäjille mahdollisesti vaarallisia kykyjä, määritä lomakkeesi suoritettavaksi järjestelmäkontekstissa.
Järjestelmän konteksti on tietysti kaksinkertainen miekka, ja sinun tulisi käyttää sitä vain tarvittaessa. Kun lomake suoritetaan järjestelmäkontekstissa, jokainen CRUD-operaatio ohittaa objektin ja kenttätason suojauksen ja jakamisen — eikä vain tiettyä sinua koskevaa operaatiota. Huomaa myös, että järjestelmän asiayhteys ei vaikuta siihen, kuka Salesforce pitää toimijana, eli nimeä, jonka näet Edellinen muokkaaja -kentässä. Jokaisen lomakkeesi suorittaman toiminnon, kuten tapauksen päivityksen, suorittava käyttäjä on tekijä, vaikka lomake suoritetaan eri asiayhteydessä.
Dynaamiset lomakkeet, Omniscriptit ja LWC:t suoritetaan aina käyttäjäkontekstissa, eikä tätä toimintatapaa voi korvata.
Ruutukulut suoritetaan oletusarvoisesti käyttäjän asiayhteydessä, mutta voit määrittää ne järjestelmän asiayhteydessä. Sinä päätät, myöntääkö kulku käyttöoikeuden kaikkiin tietoihin vai käyttääkö se edelleen tietuetason käyttöoikeuksia, kuten jakamista.
- Jos upotat Lightning kulkuun, joka suoritetaan järjestelmän asiayhteydessä, kulku ei korvaa komponentin asiayhteyttä. Jos sinun täytyy ohittaa käyttäjien käyttöoikeustarkistukset, suosittelemme käyttämään kulkua suorittaaksesi kyseisiä toimintoja ja välittääksesi asiaankuuluvia tietoja Lightning tai ulos. Jotkin käyttövalmiit komponentit (kuten Haku) eivät voi toimia järjestelmäkontekstissa.
- Jos kulkusi kutsuu Apex, sinun kannattaa ymmärtää muutama muu seikka. Jos Apex on määritetty peritty jakaminen, se suoritetaan järjestelmäkontekstissa jakamisen kanssa riippumatta siitä, mihin kulkuun kulku on määritetty. Jos luokalla ei ole erillistä jakolauseketta, se suoritetaan järjestelmäkontekstissa ilman jakamista riippumatta kulun määrityksistä. Jos luokaksi on määritetty jakamisen kanssa tai ilman, se tekee niin ja korvaa kulun kontekstin.
Tietueiden hakeminen järjestelmäkontekstissa Experience Cloud -sivustoilla:
Jos suoritat kulun järjestelmäkontekstissa Experience Cloud -sivustolla, erityisesti todentamattomilla, suosittelemme tallentamaan Nouda tietueita -elementteihin vain tietyt kentät. Kun työstät kulkua ja välität Nouda tietueita -elementin tulokset alakulkuun, kutsuttavaan toimintoon tai Lightning, kaikki objektin kentät voidaan tarkastaa selaimen kehitystyökalujen avulla. Tämä saattaa sallia kenttien käytön Experience Cloud -sivuston käyttäjille, joita et ehkä halua. Määrittämällä tietyt kentät Nouda tietueita -elementteihin voit varmistaa, että vain oikeat kentät näytetään, vaikka järjestelmäkonteksti olisi käytössä.
Huomaa, että Omniscript-logiikka suoritetaan asiakassivulla, mikä sallii hyökkääjien muokata Omniscriptin odotettua suorituskertaa ja tarkastella integraatiotoimenpiteisiin, datakartoituksiin ja Apex-metodiin liittyviä vastauksia selaimen kehitystyökalujen avulla. Kun käytät Omniscriptia, suosittelemme suorittamaan liiketoimintalogiikkaa palvelinpuolelta aina, kun se on mahdollista, ja ottamaan käyttöön syöttövahvistussääntöjä kaikille Apex-metodeille, jotka näytetään @InvocableMethod-annotaation kautta.
Sanitointipisteet:
Harkitse myös syötteen puhdistamista suojellaksesi organisaatiotasi huonoilta tekijöiltä. Oletetaan esimerkiksi, että sinulla on julkisesti käytettävissä oleva lomake, joka voidaan kartoittaa organisaatiosi muotoillun tekstin kenttään. Saatat haluta harkita automatisointia, joka poistaa kaikki HTML-koodit, jotka voivat piilottaa pahantahtoisia URL-osoitteita. Tavallisesti tämän sanitoinnin toteuttaminen lomaketasolla ei ole ihanteellista, koska näihin kenttiin voi kirjoittaa paljon lähteitä. Suosittelemme luomaan nopean kenttäpäivityskulun (ennen tallennusta) tai käyttämään objektin olemassa olevaa Apex poistaaksesi tai muokataksesi lomakkeeseen syötettäviä mahdollisia HTML-koodeja.
Suositeltuja käytäntöjä:
- Anna kulkujen suorittaa oletusarvoisessa asiayhteydessä, ellet tarvitse nostaa oletuskäyttäjän käyttöoikeuksia tietylle toiminnolle.
- Vältä suorittamasta kulkuja järjestelmän asiayhteydessä vieraskäyttäjille tietoturvasyistä. Luo käyttöoikeusjoukkoja, joilla on rajoitetut kenttien käyttöoikeudet Experience Cloud -sivuston vieraskäyttäjäprofiilille sen sijaan.
- Kun kyselet tietueita Experience Cloud -sivustojen järjestelmän kontekstikulkuissa, tallenna vain tarvitsemasi kentät Nouda tietueita-elementtiin tai Kutsuttavat toiminnot -ominaisuuteen.
- Jos kulku suorittaa useita toimintoja eikä kaikki niistä vaadi korkeampaa käyttöoikeutta, käytä alakulkuja eristääksesi toimintoja, jotka tulisi suorittaa järjestelmäkontekstissa.
- Jos aiot upottaa lomakkeen ulkoiseen verkkosivulle, harkitse käyttäjien syöttämien tietojen puhdistamista poistaaksesi HTML-koodin käyttämällä Kentän nopea päivitys -kulkua tai Apex-käynnistintä, jos ne kartoitetaan lopulta muotoillun tekstin kenttiin välttyäksesi mahdollisilta tietojen kalasteluhyökkäyksiltä huonolta toimijalta.
- Omniscripts-, FlexCards- ja LWC-objektit suoritetaan oletusarvoisesti käyttäjäkontekstissa.
- LWC:t suoritetaan oletusarvoisesti käyttäjäkontekstissa ja kulut suoritetaan käyttäjäkontekstissa, mutta voit korvata sen Apex.
- Käyttöliittymän API:n kautta suoritetut operaatiot suoritetaan käyttäjäkontekstissa.
- Apex kautta suoritetut operaatiot riippuvat kyseisestä luokasta. Jos haluat suorittaa nämä toiminnot järjestelmätilassa, määritä Apex jakaminen tai jakaminen ilman.
Jos sinun täytyy hallita, kuka voi käyttää lomakettasi, voit usein tarkastella säiliötä, johon lomake on upotettu. Voit esimerkiksi kohdistaa Lightning, jotka ovat käytettävissä tietyille sovelluksille, tietuetyypeille tai profiileille. Jos lomakkeessasi syötetyt tiedot ovat luottamuksellisia, käytä näkyvyyssääntöjä hallitaksesi tarkemmin, mitä kenelle näytetään. Tämä ominaisuus koskee dynaamisia lomakkeita ja ruutukulkuja.
Voit rajoittaa kulun tiettyihin profiileihin tai käyttöoikeusjoukkoihin samalla tavalla kuin Apex-luokkaan tai Visualforce-sivulle. Kulkuja ei ole oletusarvoisesti rajoitettu, mikä tarkoittaa, että kaikki käyttäjät, joilla on kulkujen suoritusoikeus, voivat suorittaa niitä.
Jos käytät OmniStudiota, voit määrittää Apex-luokkien käyttöoikeuksien tarkistuksen varmistaaksesi, että käyttäjät tarvitsevat suoran käyttöoikeuden Apex-luokkaan, joka hallitsee Omniscriptista, Flexcardista, Classic-kortista tai REST API:sta kutsutettua etätoimintoa.
- Huomaa, että Apex käyttöoikeustarkistukset ovat oletusarvoisesti käytössä uusille komentosarjoille. Ne täytyy kuitenkin ottaa käyttöön manuaalisesti olemassa oleville komentosarjoille.
- Huomaa myös, että Apex käyttöoikeustarkistukset koskevat vain Apex. Suosittelemme määrittämään profiilitason käyttöoikeudet myös integraatiotoimenpiteille ja datakartoittajille.
Lisätietoja vieraskäyttäjien käyttöoikeuksista ja suositeltuja käytäntöjä on kohdassa
- Vierailukäyttäjien tietueiden käyttöoikeudet -ominaisuuden suositellut käytännöt
- Suojattujen sivustojen kehittäminen: Todennetut ja vieraskäyttäjät
Parhaat käytännöt:
- Jos olet paljastamassa kulkua vieraskäyttäjille, myönnä vieraskäyttäjäprofiilille vain heidän tarvitsemansa kulut. Vaikka voit lisätä kulkujen suorituskulkuja vieraskäyttäjäprofiiliin, pidämme sitä riskittömänä käytäntönä.
- Ole erityisen varovainen järjestelmäkontekstissa toimivissa kuluissa. Suosittelemme vahvasti, että rajoitat kyseiset kulut tietyille käyttäjille, koska heillä on vähemmän tarkastuksia ja tasapainoja tietojesi suojaamiseksi.
- Varmista, että kaikki Omniscript-tiedostot, jotka käyttävät Apexia vieraskäyttäjien yhteisössä, sisältävät Apex-luokan määritelmässä ”jaon kanssa”.
- Kohdista Vieraskäyttäjä-profiilissasi vain Apex-luokat, joita haluat vieraskäyttäjien voivan kutsua, sillä muutoin voit vahingossa paljastaa vieraskäyttäjille ylimääräistä liiketoimintalogiikkaa.
Voit tarkastaa suorittavalle käyttäjälle kohdistetut käyttöoikeudet tarkastaaksesi, onko hänellä tietty vakiomuotoinen tai mukautettu käyttöoikeus. Voit tuoda Salesforce-käyttöoikeuksia suoraan JavaScriptista @salesforce/userPermission- ja @salesforce/customPermission-vaikutusalueiden moduuleista. Voit myös käyttää Apexia tarkastaaksesi saman.
Lightning-verkkokomponentit ovat käytettävissä tietyssä sijainnissa vain, kun ne on lisätty kelvolliseksi kohteeksi. Voit esimerkiksi tehdä komponentista käytettävän tietuesivuilla, mutta et apupalkin kohteena.
Kun ruutukulku on aktivoitu, se on käytettävissä kaikissa sijainneissa, joissa ruutukulkuja tuetaan riippumatta siitä, haluatko sen olevan käytettävissä kaikkialla vai et. Flow Builder tukee siis monentyyppisiä ruutuja sisältäviä kulkuja. Leipää ja voita -tyyppi on Ruutukulku, mutta on muutamia muita erikoistuneita tyyppejä, jotka on rajoitettu tiettyihin sijainteihin. Esimerkiksi Field Service Mobile -sovellus tukee vain Field Service Mobile -kulkuja – arvasit sen. Sama koskee yhteydenottopyyntöjen kulkuja, joita tuetaan vain Experience Cloudissa.
Kulun tyypistä riippumatta kulun suorittava henkilö ei voi hallita, mihin kulku voidaan upottaa. Kulku on käytettävissä kaikissa kulkutyypille tuetuissa sijainneissa.
Jos käytät Salesforce Industriesia, Omniscriptissa on pieni varoitus: Et voi määrittää tavoitetta Omniscriptille, mutta voit määrittää tavoitteen FlexCards-kortille, jonka haluat ehkä upottaa siihen.
Staattiset lomakkeet kuuluvat menneisyyteen. Tänään lomakkeen dynaaminen päivittäminen oikeilla ominaisuuksilla ja arvoilla on tärkeää tälle käyttäjälle, tällä kertaa tälle paikalle. Nyt puhumme siitä, mitä Salesforcen lomakkeiden laatutyökalut voivat tehdä tällä tavalla.
- Minkätyyppisten vuorovaikutusten tai ehtojen tulisi käynnistää dynaamisia vastauksia lomakkeessasi?
- Täytyykö sinun suorittaa ruudun ulkopuolisia toimintoja taustalla, kun lomakettasi täytetään?
- Täytyykö sinun määrittää kentät näkyviksi, pakollisiksi, Vain luku -muotoisiksi tai pois käytöstä tai muuttaa muotoilua lomakkeiden syöttämien tietojen perusteella?
| Suorita datatoimintoja ruudun ulkopuolella | Ehdolliset arvot ja laskennat | Ehdollinen näkyvyys | Ehdollinen pakollinen | Ehdollinen muotoilu | Ehdollinen Vain luku -tila | Ehdollisesti käytöstä poistettu -tila | |
|---|---|---|---|---|---|---|---|
| Dynamic Forms | Ei käytettävissä | Ei käytettävissä | Käytettävissä | Ei käytettävissä | Etenemissuunnitelma | Ei käytettävissä | Ei käytettävissä |
| Ruutukulku | Käytettävissä | Käytettävissä** | Käytettävissä | Käytettävissä* | Ei käytettävissä | Käytettävissä** | Käytettävissä** |
| OmniStudio | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä |
| Ruutukulku + LWC | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä |
| LWC | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä |
| *Rajoitettu komponentteihin, jotka käyttävät resurssin valitsinta, eivät staattista valintaruutua **Rajoitettu beta |
|||||||
Ruutukulkujen interaktiivisuus on nyt todellisuutta reaktiivisten ruutujen ansiosta. Uudelleenaktivointi sallii kulkuruudun yksittäisten komponenttien kommunikoida keskenään, mikä tekee ruutukulkuista äärettömän tehokkaita.
Suorita datatoimintoja ruudun ulkopuolella: Ruutukulut tarjoavat deklaratiivisen tavan noutaa dataa samalta ruudulta ruututoimintojen avulla. Ruututoimintojen avulla voit käynnistää automaattisesti käynnistyviä kulkuja ruudun muutoksille tai kun käyttäjä napsauttaa Toimintopainike-komponenttia. Voit sitten kartoittaa näiden automaattisesti käynnistyvien kulkujen tulokset samaan ruutuun, jolloin käyttäjien ei tarvitse siirtyä toiseen ruutuun.
LWC tarjoaa täyden valikoiman langallisia sovittimia, joiden avulla voit käyttää Salesforce-dataa täyttääksesi lomakkeesi komponenttien dataa dynaamisesti, ja joiden avulla kehittäjät voivat päivittää, poistaa ja luoda tietueita Apex avulla.
Lightning-verkkokomponenttien ulkoiset datatoiminnot
Näkyvyys: Näkyvyyttä voi hallita dynaamisesti kaikissa lomakkeiden rakentamisen työkaluissa. Dynaamiset lomakkeet, Flow Builder ja OmniStudio korjaavat tämän komponenttien näkyvyysominaisuuksien avulla. Tämän avulla voit näyttää tai piilottaa kenttiä deklaratiivisesti lomakkeen muiden arvojen perusteella tai sen perusteella, onko käyttäjä mobiililaitteella vai ei.
- Dynaamisten lomakkeiden avulla näkyvyyttä voi hallita tietueen kenttäarvojen, hakukenttien kautta liittyvien tietueiden ja laitetyyppien perusteella.
- Kulun avulla voit perustaa näkyvyyssäännön muihin ruudulla syötettyihin tietoihin sekä muihin kulussa aiemmin täytettyihin resursseihin, kuten kaavoihin tai arvoihin muista tietueista.
- Laitteisiin perustuvat säännöt: Se ei ole itsestään selvää alusta alkaen, mutta voit käyttää kaavaa näyttääksesi tai piilottaaksesi tietyn kentän, kun käyttäjä on mobiililaitteella. Kirjoita kulun kaava, joka tarkastaa $User.UIThemeDisplayed-globaalin muuttujan arvon. Jos arvo on Theme4t, käyttäjä on Salesforce-mobiilisovelluksessa.
- Muiden resurssien arviointi: Manuaaliset muuttujat ja kaavojen viitteet arvioidaan vain palvelimella. Joten mikä tahansa arvo resurssilla on ruudun ensimmäisellä renderöinnillä on sen arvo, kunnes siirryt toiseen ruutuun. Navigoinnin aikana kulun suorituksen aika lähettää pyynnön kulun järjestelmälle (palvelimelle) ja noutaa manuaalisten muuttujien ja kaavojen uusimmat arvot. Jos odotat näkyvyyssääntösi päivittyvän, kun käyttäjä käy läpi yhden ruudun (esimerkiksi piilottaminen), varmista, että viittaat vain muiden ruudulla olevien komponenttien arvoihin.
- OmniStudion avulla voit ehdollisesti näyttää tai piilottaa komponentteja määrittämällä Ehdollisen näkymän ominaisuuden. Et voi kuitenkaan lisätä input-arvona useampaa kuin yhtä ehdollisen näkymän ominaisuutta.
Ehdolliset input-tilat: Jos sinun täytyy hallita muita ominaisuuksia dynaamisesti, kuten onko kenttä pakollinen, poistettu käytöstä vai Vain luku, sinulla on muutama vaihtoehto. LWC tarjoaa sinulle odotetulla tavalla täydellisen, reagoivan hallinnan syötetystä tilastasi. Reaktiivisten Ruutukulku-komponenttien avulla voit hallita dynaamisesti komponenttien attribuutteja, kuten Vain luku, Käytöstä poistettu ja Pakollinen, vakiokomponenteille, jotka tukevat sitä, kun taas OmniStudio tukee komponenttikohtaisten attribuuttien koko valikoimaa. Jos vaatimuksesi määrittävät, että tarvitset kulun, eikä komponentti tue tiettyä attribuutin tilaa, voit luoda upotettavan LWC:n dynaamisen syöttötilan saavuttamiseksi.
Jos sinun täytyy hallita muita ominaisuuksia dynaamisesti, esimerkiksi onko kenttä pakollinen vai Vain luku -muotoinen, paras vaihtoehto lyhyellä aikavälillä on LWC, jossa voit hallita sitä täysin. Tämä pätee varsinkin, jos sinulla on mukautettuja vaatimuksia peittämisen tai napsauttamisen käsittelemiseen.
Reaktiiviset LWC-organisaatiot ruutukulkuissa: Kun rakennat LWC:itä, jotka voivat reagoida ruutukulkuun ja muuttaa muita komponentteja, tutustu tähän LWC:n suositeltuihin käytäntöihin ruutukulkuille varmistaaksesi, että komponenttisi integroituvat hyvin kulun suorituksen aikaiseen järjestelmään ja toimivat odotetulla tavalla tulevaisuudessa.
| Vakiomuotoinen tapahtumien käsittely (mykistäminen, onfokus) | Mukautetun tapahtuman käsittely | |
|---|---|---|
| Dynamic Forms | Ei käytettävissä | Ei käytettävissä |
| Ruutukulku | Ei käytettävissä | Ei käytettävissä |
| OmniStudio | Ei käytettävissä | Käytettävissä* |
| Ruutukulku + LWC | Käytettävissä | Käytettävissä |
| LWC | Käytettävissä | Käytettävissä |
| *OmniStudio Standard Runtime ei tue Pub/Sub-versiota, mutta tukee Windowsin postMessage-versiota | ||
Nyt mukautetuille tapahtumille. Jos joidenkin syöttämiesi tietojen tai koko lomakkeen täytyy kommunikoida jonkin muun sivun kanssa, LWC on ainoa vaihtoehto.
- Jos haluat kommunikoida saman DOM-hakemiston sisällä, käytä CustomEvent-rajapintaa.
- Jos haluat kommunikoida DOM:n kautta, käytä Lightning Messaging -palvelua.
- Jos Lightning Messaging -palvelua ei tueta kohdesäiliössäsi, käytä pub/sub-moduulia.
- Lisätietoja on kohdassa Kommunikointi tapahtumien kanssa ja Kommunikointi DOM:n kautta kohdassa Lightning Web Components Dev Guide.
- Jos kyseessä on OmniStudio, katso lisätietoja kohdasta Kommunikoi Omniscriptin kanssa Lightning-verkkokomponentista.
Parhaan käyttökokemuksen tarjoamiseksi sinun täytyy varmistaa, että lomakkeesi tyyli on yhdenmukainen muiden sovellusten tai sivustojen kanssa, joissa se on upotettu. Tämän saavuttaminen voi tarkoittaa mitä tahansa, aina Salesforcen tarjoamien vakiomallien hyödyntämisestä ja mukautetun CSS:n luomisesta, joka hyödyntää täysin suunnittelun jokaista pikseliä tarjotakseen terävämmän ulkoasun.
- Kuinka hienostunut haluat tyylisi ja CSS:n olevan?
- Tarvitsetko mukautettua, täydellistä tyyliä tai oletko kunnossa vakiomuotoisten teemojen kanssa?
| Suora tyyli | Organisaation ja kokemusten rakentajan teemat | Pikseleiden täydellinen tyyli | |
|---|---|---|---|
| Dynamic Forms | Ei käytettävissä | Käytettävissä | Ei käytettävissä |
| Ruutukulku | Ei käytettävissä | Käytettävissä | Etenemissuunnitelma |
| OmniStudio | Käytettävissä* | Ei käytettävissä | Käytettävissä |
| Ruutukulku + LWC | Ei käytettävissä | Käytettävissä | Käytettävissä |
| LWC | Ei käytettävissä | Käytettävissä | Käytettävissä |
| *Vain Flex-kortit | |||
FlexCards on ainoa tässä oppaassa kuvattu tuote, jonka avulla voit hallita työkalussa luomasi käyttöliittymän tyyliä ja asettelua suoraan deklaratiivisesti – olipa kyse sitten marginaaleista ja täytöstä, typografiasta, väreistä jne.
Dynaamiset lomakkeet ja kulut noudattavat deklaratiivisten teemojen ominaisuuksia. Jos sinun täytyy hallita enemmän kuin mitä Salesforce-teemat, tai Kokemusten rakentajan brändäysjoukot tai LWR Experience Cloud -sivustot tukevat, harkitse ohjelmallista ratkaisua.
Jos tiimisi ovat tyytyväisiä CSS:n käyttämiseen, sinulla on muutama vaihtoehto:
- Kulut ja LWC:t perivät vakiomuotoiset design-valtuudet.
- Omniscripts ja FlexCards tukevat mukautettavaa suunnittelujärjestelmää: Newport.
- LWC:n avulla voit kirjoittaa omia komponenttejasi ja hallita niiden HTML- ja CSS-koodia täysin.
Suosittelemme käyttämään teemoja ja suunnittelujärjestelmiä aina, kun se on mahdollista, jotta ulkoasusi näkyy yhdenmukaisesti kaikessa sisällössäsi.
Muistutus: Voit upottaa Lightning kulkuihin. Jos siis haluat hallita lomakkeesi ulkoasua täydellisesti pikseleillä, mutta haluat käyttää muita kulkujen etuja, kuten navigointimallia, voit hyödyntää molempien maailmojen parhaita ominaisuuksia. Sama periaate koskee Omniscripteja ja FlexCardeja.
Hyvän asettelun valitseminen on tärkeää virtaviivaistettujen lomakkeiden suunnittelussa, jotka mahdollistavat nopean ja tehokkaan datan syöttämisen ja parantavat datan eheyttä. Lisätietoja tästä aiheesta on kohdassa Salesforce Well-Architected - Forms.
- Miten voit hyödyntää lomakkeesi asettelua optimoidaksesi käyttäjäkokemuksia?
- Miten voit esittää olemassa olevia tietoja käyttäjillesi siten, että heidän on helpompi syöttää uusia tietoja lomakkeisiisi?
| 2 saraketta | 4 saraketta | 4 sarakkeen jälkeen | Datalohkojen toistaminen | Välilehtien säiliöt | Laskossäiliöt | |
|---|---|---|---|---|---|---|
| Dynamic Forms | Käytettävissä | Ei käytettävissä | Ei käytettävissä | Ei käytettävissä | Käytettävissä | Käytettävissä |
| Ruutukulku | Käytettävissä | Käytettävissä | Ei käytettävissä | Käytettävissä | Ei käytettävissä | Käytettävissä |
| OmniStudio | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä* | Käytettävissä |
| Ruutukulku + LWC | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä |
| LWC | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä |
| *Välilehtiä voidaan käyttää, jos data upotetaan FlexCard-korttiin Omniscriptissa | ||||||
Dynaamiset lomakkeet tukevat kaksisarakkeisia asetteluita, ja ne voidaan jakaa yksittäisiin osioihin kenttien kera. Nämä osiot voidaan asettaa komponentteihin, kuten välilehtiin ja harmonisointeihin, luodakseen helppokäyttöisiä ja organisoituja asetteluita.
Kulut voidaan halutessasi renderöidä käyttämällä Osio-komponenttia. Osioiden avulla voit lisätä kulkuruudulle enintään neljä saraketta ja niin monta osiota kuin haluat. Komponentti reagoi myös näytön leveyteen, joten se toimii pienillä näytöillä. Lopuksi se sallii sinun soveltaa ehdollista näkyvyyttä koko osioon, jolloin näkyvyyttä on helpompi käyttää useisiin osioiden kenttiin kerralla. Kulkujen osiot tukevat myös sarakkeiden otsikoita ja tarjoavat yhdenmukaisen käyttökokemuksen, jossa käyttäjät voivat tiivistää koko osion napsauttamalla otsikkoa.
Omniscripts-komentosarjat sisältävät useita asetteluvaihtoehtoja kenttien ja tietojen näyttämiseen. Voit luoda datasta osioita, joissa on enintään 12 saraketta, mukaan lukien ehdollisesti tiivistettävät harmonikat.
LWC:n avulla voit hallita asettelua Lightning ja tukevalla Lightning|output]-kentällä. Ainoat asettelun rajoitukset ovat HTML/CSS-tiedostosta saatuja rajoituksia. Lightning noudattaa asiaankuuluvan sivuasettelun osiokokoonpanoa. Jos sivuasettelussa on esimerkiksi kaksi saraketta, komponentissa on kaksi saraketta.
Jos lomakkeesi ovat käytettävissä eri alueiden käyttäjille tai jotka puhuvat eri kieliä, sinun täytyy varmistaa, että sen laatimiseen käyttämäsi työkalu täyttää lokalisointivaatimuksesi. Lisätietoja ja suosituksia on kohdassa Salesforce Well-Architected - Localization. Tavallisesti lokalisointivaatimukset koskevat lomakkeiden tapauksessa tekstielementtien kääntämistä muille kielille.
- Käytetäänkö lomakettasi useammassa kuin yhdessä maassa tai alueessa?
- Täytyykö lomakkeesi teksti lokalisoida muille kielille?
| Rakentajaan syötetyt otsikot | Otsikot koodissa | |
|---|---|---|
| Dynamic Forms | Käytettävissä* | Ei käytettävissä |
| Ruutukulku | Käytettävissä | Käytettävissä |
| OmniStudio | Käytettävissä | Käytettävissä |
| Ruutukulku + LWC | Käytettävissä | Käytettävissä |
| LWC | Ei käytettävissä | Käytettävissä |
| *Vain Kenttäosion otsikot | ||
Jos olet lokalisoinut mukautetut kenttäsi, dynaamisten lomakkeiden käännetyt otsikot noudatetaan. Dynaamiset lomakkeet noudattavat myös komponenttien otsikoille ja attribuuteille kohdistamiasi mukautettuja otsikoita Lightning-sovellusrakentajassa.
Kulku tukee kaikkien vakiomuotoisten ja mukautettujen ruutukomponenttien käyttäjäkohtaisten otsikoiden kääntämistä käännöstyökalun avulla. Voit lokalisoida näiden ruutukomponenttien otsikot, ohjetekstit ja virheviestit: Teksti, Pitkä tekstialue, Numero, Valuutta, Valintaruutu, Valintapainikkeet, Valintaluettelo, Monivalintaluettelo, Valintaruuturyhmä, Salasana, Päivämäärä ja Päivämäärä/aika.
Käyttövalmiita toimintoja, kuten Lähetä sähköposti tai Lähetä viesti Chatteriin, ei tueta sisäänrakennetulla käännöstoiminnolla. Siitä on kuitenkin ratkaisu! Jos määrität käännetyt otsikot mukautetulla otsikolla, voit viitata kyseiseen mukautettuun otsikkoon toiminnossa tai komponentissa, kun määrität sen Flow Builderissa. Luo kulun kaava, joka viittaa mukautettuun otsikkoon, ja viittaa siihen kulun asiaankuuluvissa paikoissa.
Omniscriptit käyttävät käännöksissä mukautettuja otsikoita. Tutustu tähän ohjeasiakirjaan tehdäksesi Omniscripts-kielesi valmiiksi.
Nyt LWC:lle. Jotkin peruskomponentit perivät automaattisesti asiaan liittyvän objektin kenttien, ohjetekstin ja vahvistusviestien käännökset, jos ne on määritetty käännöstyökalussa (esimerkiksi Lightning).
Jos sinun täytyy lisätä koodissasi uusia käännettävissä olevia otsikoita, mukautetut otsikot ovat edelleen sanomaton sankari. Ilmoita tarvitsemasi mukautettu otsikko ja tuo se komponenttiisi @salesforce/otsikko-vaikutusalueella olevasta moduulista.
Saatavilla on useita testauksen automatisointityökaluja (esimerkiksi Selenium), joiden avulla voit simuloida, miten käyttäjä työskentelee lomakkeesi kanssa. Voit kirjoittaa nämä testit mille tahansa vakiomuotoiselle tai mukautetulle käyttöliittymälle, mukaan lukien Lightning ja ruutukulkuille. On kuitenkin tärkeää huomata, että nämä testityypit eivät voi vahvistaa suoritettavien metodien tuloksia. Muista ottaa tämä huomioon, kun mietit käyttöliittymän testauksen automatisointia koskevia vaatimuksiasi.
- Tarvitsetko lomakkeellesi automatisoitua testausta?
- Millaisia testejä sinun täytyy suorittaa?
- Minkä tarkkuuden tarvitset testien automatisoinneissa?
| Yksikkötestit | Päättymisen automatisointi | |
|---|---|---|
| Dynamic Forms | Ei käytettävissä | Käytettävissä* |
| Ruutukulku | Ei käytettävissä | Käytettävissä* |
| OmniStudio | Käytettävissä* | Käytettävissä* |
| Ruutukulku + LWC | Käytettävissä* | Käytettävissä* |
| LWC | Käytettävissä | Käytettävissä |
| *Vaatii koodin | ||
Ota huomioon käyttöliittymän testauksen automatisointivaatimuksesi.
Yksikköjen testit mahdollistavat tarkemman automatisoinnin ja vahvistuksen, joka toimii toimialan vakiomuotoisten CI/CD-järjestelmien ja -työkalujen kanssa, jotka voivat testata komponenttien liiketoimintalogiikkaa, sen JavaScript-ohjainta ja sen tuloksia. Jos käytät vain vähäistä koodia, et voi kirjoittaa testejä itse, mutta Salesforce testaa kokonaisvaltaisia tarjouksiamme huolellisesti.
Jos komponenttisi metodit ovat tarpeeksi monimutkaisia, jotta haluat testata niitä yksittäin, aseta metodit erillisiin JavaScript-tiedostoihin. Näin voit tuoda ne LWC-organisaatioon ja Jest-testiin esimerkiksi import { sort } from 'c/utils';.
Katso vertailu eri vaihtoehdoista, joita voit käyttää kokonaisvaltaisen automatisoinnin rakentamiseen Salesforcessa kohdasta UI-testiautomaatio Salesforcessa. Sisällytetään huomioitavia asioita koskien, milloin käyttää ilman koodia -ratkaisua ISV:stä, Build Your Own mukautettua testien automatisointiratkaisua tai käyttää avoimen lähdekoodin testikehystä, kuten Selenium WebDriver tai WebdriverIO. Nämä ratkaisut pätevät kaikkiin käyttöliittymän toimintoihin Salesforcessa, olipa kyseessä sitten dynaaminen lomake Lightning, ruutukulku apupalkissa tai pikatoiminnon kulun LWC.
Kun olet ottanut lomakkeesi käyttöön tuotantoympäristössä, haluat varmistaa, että sitä käytetään tehokkaasti. Riippuen käyttötarkoituksestasi, tämä voi tarkoittaa mitä tahansa, riippumatta siitä, kuinka monta kertaa se on täytetty, tai kuinka paljon aikaa käyttäjät käyttävät sen täyttämiseen ennen tietojen lähettämistä. Muista tunnistaa seurattavat KPI-mittarit ennen työkalun valitsemista.
- Täytyykö sinun seurata lomakkeesi käyttöä?
- Mitkä suorituskykyindikaattorit määrittävät, käytetäänkö lomakettasi tehokkaasti?
| Sivun tarkastelukerrat | Lomakkeessa käytetty aika | Lomakkeen valmistumisen seuraaminen | Seuraa onnistumissuhdetta | |
|---|---|---|---|---|
| Dynamic Forms | Käytettävissä** | Ei käytettävissä | Ei käytettävissä | Ei käytettävissä |
| Ruutukulku | Käytettävissä | Käytettävissä* | Käytettävissä | Käytettävissä |
| OmniStudio | Käytettävissä | Käytettävissä* | Käytettävissä | Käytettävissä |
| Ruutukulku + LWC | Käytettävissä | Käytettävissä* | Käytettävissä | Käytettävissä |
| LWC | Käytettävissä** | Käytettävissä* | Käytettävissä | Käytettävissä |
| *Käytettävissä, kun pakettiin perustuva OmniStudio Runtime on käytössä ** Saatavilla seuraamalla ylätason Lightning käyttöä |
||||
Jos sinun täytyy seurata lomakkeesi yleistä käyttöä ja sopeutumista, aloita alhaisen koodin työkaluilla. Dynaamisia lomakkeita ja ruutukulkuja voidaan seurata käyttövalmiilla mukautetuilla raporttityypeillä, mutta saat enemmän tietoja ruutukulkujen seurantaraportista. Jos sinun täytyy seurata LWC:n käyttöä, käyttövalmiin saatavuus riippuu siitä, missä käytät kyseistä LWC:ää. Jos se on Lightning, kaikki Lightning käytön seuraamiseen käytettävissä oleva koskee LWC-palvelua. Sama koskee kulkuihin upotettuja LWC-tuotteita.
Dynaamisia lomakkeita ei voi seurata käyttövalmiina, mutta voit seurata ylätason Lightning-sivun käyttöä Lightning-käyttöobjektien kautta. Jos haluat seurata vakiomuotoisia Lightning-sivuja, käytä mukautettua raporttityyppiä Käyttäjät, joilla on Lightningin käyttö sivutilastojen mukaan. Käytä mukautetuilla Lightning-sivuilla mukautettua raporttityyppiä Käyttäjät, joilla on Lightningin käyttö FlexiPage-tilastojen mukaan.
Kulku sallii sinun seurata tietyn lomakkeesi omaksumista (ei vain sen sivua). Käytä ”Esimerkkikulkuraporttia: Ruutukulut” vastaamaan kysymyksiin, kuten:
- Mikä on tämän lomakkeen suoritussuhde? Onko se hyväksytty oikein?
- Kuinka kauan käyttäjillä kestää täyttää tämä lomake?
- Millä näytöllä käyttäjät käyttävät eniten aikaa?
- Kuinka usein käyttäjät siirtyvät taaksepäin?
- Kuinka usein virheitä tapahtuu?
Jos vakioraportti ei vastaa tarpeitasi, kloonaa se tehdäksesi omia muutoksiasi tai Build Your Own käyttämällä ruutukulkujen raporttityyppiä.
Jos käytät paketteihin perustuvaa Omniscript runtimea, voit hyödyntää OmniStudio for Vlocity Tracking Service -palvelua. Tämä palvelu seuraa minkä tahansa tapahtuman tyyppiä. Voit esimerkiksi seurata, kuinka kauan Omniscriptin vaiheiden suorittaminen kestää tunnistaa prosessien parannuksia. OmniStudio-tiimin etenemissuunnitelma sisältää tämän palvelun tuen Standard OmniStudiossa.
Jos haluat seurata samaa LWC:lle, joka ei ole upotettu ruutukulkuun, Omniscript- tai Lightning, käyttövalmiita vaihtoehtoja ei ole. Voit laatia mukautetun ratkaisun käyttämällä Apexia.
Kun sinun täytyy ottaa ratkaisusi käyttöön korkeammissa ympäristöissä testausta tai käyttöönottoa varten tuotantoympäristössä, voit käyttää siihen muutosjoukkoja tai DevOps Centeria. Dynaamisia lomakkeita, kulkuja ja LWC-organisaatioita tuetaan täysin näissä käyttöönottovaihtoehdoissa. OmniStudio vaatii erillisen työkalun: IDX Workbench.
- Miten aiot ottaa lomakkeesi käyttöön?
- Jaetaanko lomakkeesi useampaan kuin yhteen Salesforce-organisaatioon?
| Ensimmäisen sukupolven hallitut paketit (1GP) | Toisen sukupolven hallitut paketit (2GP) | Lukitsemattomat paketit | Muutosjoukot | DevOps Center | |
|---|---|---|---|---|---|
| Dynamic Forms | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä |
| Ruutukulku | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä |
| OmniStudio | Ei käytettävissä | Ei käytettävissä | Ei käytettävissä | Ei käytettävissä* | Ei käytettävissä* |
| Ruutukulku + LWC | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä |
| LWC | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä | Käytettävissä |
| *Käytä IDX-työkalua ottaaksesi OmniStudio-ratkaisut käyttöön muissa organisaatioissa. | |||||
Jos olet palveluntarjoaja tai kumppani, joka aikoo pakata ratkaisusi jaettavaksi AppExchangessa, suosittelemme tutkimaan ensin dynaamiset lomakkeet, kulut ja LWC-palvelut. OmniStudio ei tue pakkaamista.
Tämä opas on keskittynyt auttamaan sinua ymmärtämään, mitä toimintoja ja mukautustasoja dynaamiset lomakkeet, ruutukulut, OmniStudio ja LWC voivat tarjota. Yleisellä tasolla:
- LWC on mukautettavin ja kestävämpi vaihtoehto lomakkeen rakentamiseen, mutta sillä on vähiten turvavyöhykkeitä. Sinä voit rakentaa komponentin tavalla, joka varmistaa sen turvallisuuden ja skaalattavuuden.
- Dynaamiset lomakkeet ovat vähiten joustavia, mutta virheiden mahdollisuuksia on paljon vähemmän.
- Kulku ja OmniStudio ovat jossain keskellä – tehokkaampia kuin dynaamiset lomakkeet, mutta eivät aivan LWC-tasolla. Saman valtuuden perusteella niillä on vähemmän vartioita kuin dynaamisilla lomakkeilla, mutta ne on vaikeampi rikkoa kuin mukautetulla koodilla.
Jos laskuun mahtuu useita työkaluja, päätös riippuu siitä, mikä työkalu sopii tiimillesi. Muissa arkkitehtien päätöspuodeissa esitetään muita huomioitavia näkökohtia, kun teet päätöstä.
Emme keskity näiden kaikkien näkökohtien yksityiskohtiin, mutta tulkitsemme ne tämän asiakirjan arvioimille työkaluille.
Erikoistuneet taidot: Kuinka paljon ammattitaitoa tiimilläsi on vertaamiisi työkaluihin? Kuinka moni luoja tuntee LWC:n tai JavaScriptin hyvin? Entä luojat, jotka ovat Flow Builderin asiantuntijoita tai jotka ovat ilmaisseet kiinnostuksensa sormien tarkastelemiseen? Tavallisesti dynaamisten lomakkeiden ja kulkujen taidot ovat helpommin saavutettavissa lomakkeita rakentaville ihmisille. Dynaamiset lomakkeet ovat deklaraatiotyökalu, joka on aina helpompi oppia kuin Kulku. Kulun tiimi on kuitenkin sitoutunut pitämään pylvään mahdollisimman alhaalla. Monimutkaisuuden kannalta OmniStudio sijaitsee jonkin verran Kulun ja LWC:n välissä ja tarjoaa merkittäviä lomakkeiden rakennusvoimia.
Toimituksen delegointi: Se, että jotkin vaatimuksistasi vaativat LWC:n, ei tarkoita, että koko ratkaisusi täytyy rakentaa LWC:llä. Mieti, miten voit rakentaa ratkaisusi modulaarisesti, jolloin LWC:tä vaativat osat on koodattu ja osat, joita ei ole rakennettu vähemmän koodia käyttävässä ratkaisussa. Tämä maksimoi monipuolisen tiimin tehokkuuden ja varmistaa, että jokainen henkilö ratkaisee erikoisalansa ongelmia.
Nyt puhumme kulusta ja LWC:stä. Reaktiivisten ruutukomponenttien avulla ruutukulkukomponentit voivat nyt keskustella keskenään samalla ruudulla ja avata uuden työkalurivin arkkitehdeille, pääkäyttäjille ja kehittäjille. Kehittäjät voivat nyt luoda tarkoituksenmukaisia, modulaarisia komponentteja, joita voidaan käyttää uudelleen koko organisaatiossa, mikä parantaa tuottavuutta kaikille tiimin jäsenille. Kehittäjät voivat keskittyä uusien haasteiden ratkaisemiseen ja säästää aikaa käyttämällä vakiomuotoisten ja mukautettujen kulkukomponenttien yhdistelmää muodon dynaamisuuden saavuttamiseksi. Kun kulku sisältää reagoivia komponentteja, kulkujen ja LWC:n yhdistäminen lomakkeisiin ei ole koskaan ollut sopivampaa.
Ylläpito ja pitkäaikainen omistajuus: Jos sinulla on monivaiheinen lomake, sinun kannattaa aloittaa kululla tai kulun ja LWC:n yhdistelmällä. Jos sinulla on vähäisen koodin tiimi, joka ylläpitää ratkaisua, mieti, miten voit tehdä ratkaisusta mahdollisimman määritettävän ja laajennettavan kyseiselle kohdeyleisölle. Järjestele ratkaisusi yhdistettäviksi yksiköiksi valitsemastasi työkalusta parantaaksesi ylläpitoa ja vakautta.
Suositeltu tapa määrittää tietueiden lisätietosivuja on käyttää dynaamisia lomakkeita Lightning käyttämällä Lightning. Sivuasetteluita on parannettu jo pitkään, ja tämä trendi jatkuu. Tässä syy:
- Dynaamiset lomakkeet ovat joustavampia – voit sijoittaa kenttiä ja osioita haluamaasi paikkaan suoraan Lightning, jossa voit hyödyntää osioita, välilehtiä ja harmonisointeja. Voit hallita kenttiesi ja osioidesi näkyvyyttä määrittämättä useita sivuasetteluita tai tietuetyyppejä, aivan kuin Lightning komponentteja.
- Laskos- ja Välilehti-komponenttien avulla voit rajoittaa alkuun näytettävien kenttien määrää. Arvaa mitä tämä tarkoittaa? Sivujen latausajat nopeutuvat.
- Asetteluiden hallinta on helpompaa Lightning, koska voit hallita kaikkia sivuihisi liittyviä tietoja Lightning, olipa kyse sitten sivun sisällöstä tai käyttäjistä, joilla on sivun käyttöoikeus. Sinun ei tarvitse enää tehdä sivuasettelusi päivityksiä tehdäksesi muutoksia Lightning. Näkyvyyssääntöjen avulla sinun ei tarvitse enää luoda useita sivuja (tai sivuasetteluita) hallitaksesi, kuka näkee kentät milloin. Tämä tarkoittaa myös, että sinun täytyy kohdistaa käyttäjille vain Lightning sen sijaan, että kohdistaisit heille Lightning ja sivuasettelun.
Suosittelemme käyttämään dynaamisia lomakkeita aina, kun se on mahdollista, ja palaamaan sivuasetteluihin vain tarvittaessa. Kuten aina, olemme tervetulleita ottamaan palautetta organisaatiosi parannuksista, jotka vaikuttaisivat eniten ideakeskukseen.
Kaikki dynaamisiin lomakkeisiin, ruutukulkuihin, OmniStudioon ja LWC:ään liittyvät suorituskykyyn liittyvät seikat keskittyvät siihen, missä kehyksessä nämä teknologiat itse sijaitsevat. LWC:ään perustuvat (LWC:n lisäksi tietenkin) toimivat paremmin kuin Auraan perustuvat. LWC-kehysjärjestelmä tarjoaa parempaa suorituskykyä, koska sen ydintoiminnot on otettu käyttöön verkkomoottoreissa JavaScriptin sijaan kehyksen abstraktioiden avulla. Jos et ole tuttu, anna tälle blogikirjoitukselle luku.
Vuonna 2019 teimme tapausten tutkimuksen, jossa verrattiin saman ominaisuuden suorituskykyä Aurassa ja LWC:ssä. Kun DreamHouse muunnettiin Aurasta LWC:hen, kehityskokemus vastaa nykyisiä verkkopohjaisia kehitysstandardeja ja -kuvioita huomattavasti, mutta suorituskyky parani merkittävästi. Lab-mitat osoittivat 2,4–24,7 prosenttia kylmävälimuistiin ja **31,83–****63,32 prosenttia** lämpimään välimuistiin samoilla kahdella sivulla.
Mitä kehysjärjestelmää lomakkeiden teknologiamme käyttävät? Toisin sanoen, mitä teknologioita tämä parempi suorituskyky hyödyntää?
- Dynaamiset lomakkeet, joka on integroitu Lightning metadataan, perustuu LWC-pinoon, jonka avulla voimme ottaa käyttöön joitakin kauan pyydettyjä ominaisuuksia. Dynaamiset lomakkeet käyttävät suorituskykybonuksena progressiivista renderöintiä, mikä parantaa sivujen latausaikoja sivuille, joilla on paljon kenttiä.
- Ruutukulut perustuvat LWC:ään, jossa suurin osa yksittäisistä käyttövalmiista komponenteista on nyt muunnettu LWC:ksi, pois lukien kaksi käyttövalmista komponenttia: Tiedoston lataaminen palvelimelle ja kuva. Vaikka kulun suorituksen aikainen asiakassovellus on muunnettu LWC:ksi ja useimmista sen komponenteista, asiakkaiden täytyy silti muuntaa Aura-ruutukomponenttinsa LWC:ksi. Salesforce tukee LWC-komponentteja vain ruutukulkujen uudessa reagoivassa komponenttikehyksessä. On olemassa erinomainen Trailhead, joka selittää, miten se tehdään: Lightning-verkkokomponentit Aura-kehittäjille. Se on itsestään selvää: Jos aiot laatia mukautetun komponentin ruutukululle tai muulle säiliölle, valitse aina LWC.
- OmniStudion versioita on muutama. Jos olet pitkäaikainen asiakas, saatat käyttää Angularia. Suosittelemme, että kaikki uudet asiakkaat aloittavat LWC-pohjaisten Omniscripts- ja FlexCards-tuotteiden käytön ja että nykyiset asiakkaat siirtyvät pois Angularista.
- LWC perustuu... LWC tietysti. Tämä on ilmainen palautus.
Arkkitehtiksi on tärkeää, että ymmärrät selkeästi kaikki käytettävissäsi olevat vaihtoehdot ja miten voit soveltaa niitä tiettyyn käyttötarkoitukseesi. Jos rakennat lomakkeita Salesforcessa, vaihtoehdot vaihtelevat alhaisen koodin (käyttämällä dynaamisia lomakkeita Lightning, ruutukulkuja Flow Builderissa ja Omniscripteja OmniStudiossa) ja pro-code-vaihtoehtoja (käyttämällä LWC-kehystä), joissa on ruutukulkujen tai Omniscriptien ja LWC:n yhdistelmä keskellä. Pidä tämä opas mielessäsi ja käytä sitä viitteenä, kun aiot laatia tai suunnitella lomakkeita uudelleen Salesforcessa. Jos etsit ohjeita virtaviivaistettujen ja hyödyllisten lomakkeiden suunnitteluun, katso lisätietoja kohdasta Salesforce Well-Architected: Osallistuminen.
Auta meitä varmistamaan, että julkaisemme sinulle tärkeimmät kohteet: kysele kyselyämme saadaksesi palautetta tästä sisällöstä ja kerro meille, mitä haluat nähdä seuraavaksi.
OmniStudio-integraatiot