- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
FirstSpirit Third-Party-Preview API Integration with Salesforce Lightning Community
Hallo zusammen,
wir prรผfen aktuell, ob eine Integration des Omnichannel Managers รผber den CaaS in eine Salesforce Lightening Community mรถglich ist und sind dabei auf technische Hรผrden gestoรen.
Hautproblem ist, dass das snap.js CSS Objekte als eingebettete Blob-URIs nachlรคdt und dies offensichtlich zumindest aktuell nicht von den Salesforce CSPs unterstรผtzt wird.
The CSP Trusted Sites configuration of Salesforce does not accept just blob: as a trusted site URL. So the Blob support cannot be added like a usual external domain
Eine mรถgliche Lรถsung fรผr das Problem, kรถnnte sein, dass das von OCM benรถtigte CSS รผber einen anderen Weg (z.B. externe URI) in die Salesforce Seite geladen wird. (z.B. per CMS Connect Funktion)
Wir fรผrchten darรผber hinaus, dass es auch noch zu anderen Problemen kommen kรถnnte, da Salesforce seine Inhalte/Komponenten sehr stark kapselt und man bestimmte DOM-Elemente nicht nach belieben abfragen o. manipulieren kann. Das mรผsste wir aber noch genauer verifizieren.
Leider sind wir da bei Salesforce nicht so flexibel wie bei einer selbst entwickelten Webanwendung, daher wรคre die Frage wie flexibel das snap.js auf solche spezifischen Sicherheitsanforderungen noch angepasst werden kann und ob wir auf Grund dieser Einschrรคnkungen erst einmal auf den OCM/TPP im Zusammenspiel mit Salesforce Community bei der weiteren Planung verzichten mรผssen.
Im Anhang befinden sich noch weitere technische Details unserer Analysen.
- Labels:
-
OCM
-
Third Party Preview
-
TPP
- Tags:
- ocm
- salesforce
- tpp
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ich habe noch einmal versucht das umschlieรende DIV mit folgender ID zu umschlieรen:
previewId(element: #global.page.body("content_top"))
Leider klappt das dennoch nicht.
Ich schaue mal parallel, ob ich noch Fehler in der HTML Struktur finde:
Der aktuelle Output liegt hier:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Anhand des HTMLs kann ich keinen Fehler erkennen. Der Button ist disabled, wenn kein mรถglicher Zielknoten gefunden wird. Mรถgliche Zielknoten sind der Seiten-Knoten, Body-Knoten und Absatz-Knoten (jeweils ausgezeichnet รผber die entsprechende data-preview-id). Geprรผft wird dabei, ob das Template des Absatzes in dem entsprechendem Body erlaubt ist bzw. bei dem Seiten-Knoten im ersten Body.
Wenn dir das nicht weiterhilft, dann wรผrde ich vorschlagen, das du uns das Projekt zukommen lรคsst, damit wir das Problem weiter eingrenzen kรถnnen. Dafรผr am besten ein Ticket bei unserem TechSupport รถffnen und auf die Diskussion hier verweisen.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ich habe mal ein Support Ticket erstellt (#41264). Was mich noch wundert ist, dass das Anlegen neuer Absรคtze รผber die CC Widgets funktioniert und an der richtigen Stelle eingefรผgt wird. Mir fehlt noch etwas der Hinweis wie man die CC Funktionen z.B. รผber die WE_API oder Snap dahingehend in der Browser-Console debuggen kรถnnte. Eine weitere Vermutung von mir wรคre, dass mรถglicherweise Salesforce die Kontrolle auf die DOM Absatzelemente innerhalb der Community Seite einschrรคnkt. Ich konnte dazu allerdings bisher keinen Hinweis in der Browser-Console erkennen.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Zum Debuggen kannst du die Snap-Funktionen auch รผber die Browser-Konsole aufrufen (Doku: snap Documentation). Achtung, dafรผr muss der App-Frame in der Browser-Konsole ausgewรคhlt sein!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ich habe schon versucht ein bisschen mit der API zu experimentieren. Mit den Befehl .moveSection hatte ich aber weder in den Demo-Seiten noch in der Salesforce Einbindung Erfolg.
Hier mal meine Versuche.
TPP_SNAP.moveSection("eyJkYXRhLWZzLWF0dHJzIjoiZXlKc1lXNW5kV0ZuWlVGaVluSmxkbWxoZEdsdmJpSTZJa1JGSW4wPSIsImRhdGEtZnMtaWQiOiJleUpwWkNJNk1URXpOemdzSW5OMGIzSmxJam9pVUVGSFJWTlVUMUpGSW4wPSJ9","eyJkYXRhLWZzLWF0dHJzIjoiZXlKc1lXNW5kV0ZuWlVGaVluSmxkbWxoZEdsdmJpSTZJa1JGSW4wPSIsImRhdGEtZnMtaWQiOiJleUpwWkNJNk1URXpOemtzSW5OMGIzSmxJam9pVUVGSFJWTlVUMUpGSW4wPSJ9", {before:false, copy:false, result:false});
Promise {<rejected>: ReferenceError: getElementStatus is not defined
at h.actions.moveSection (https://devgew1-demosโฆ}
aura_prod.js:930 null ReferenceError: getElementStatus is not defined
at h.actions.moveSection (index.js:674)
at <anonymous>:1:10
(anonymous) @ aura_prod.js:930
He.e.$$lwcEventWrapper$$ @ aura_prod.js:1
index.js:674 Uncaught (in promise) ReferenceError: getElementStatus is not defined
at h.actions.moveSection (index.js:674)
at <anonymous>:1:10
moveSection @ index.js:674
(anonymous) @ VM644:1
TPP_SNAP.getElementStatus("eyJkYXRhLWZzLWF0dHJzIjoiZXlKc1lXNW5kV0ZuWlVGaVluSmxkbWxoZEdsdmJpSTZJa1JGSW4wPSIsImRhdGEtZnMtaWQiOiJleUpwWkNJNk1URXpOemdzSW5OMGIzSmxJam9pVUVGSFJWTlVUMUpGSW4wPSJ9")
Promise {<pending>}__proto__: Promise[[PromiseStatus]]: "resolved"[[PromiseValue]]: Object
TPP_SNAP.getElementStatus("eyJkYXRhLWZzLWF0dHJzIjoiZXlKc1lXNW5kV0ZuWlVGaVluSmxkbWxoZEdsdmJpSTZJa1JGSW4wPSIsImRhdGEtZnMtaWQiOiJleUpwWkNJNk1URXpOemtzSW5OMGIzSmxJam9pVUVGSFJWTlVUMUpGSW4wPSJ9")
Promise {<pending>}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Stimmt, die API-Methode "moveSection" wirft in der aktuellen Version diesen Fehler. Ich habe ein Ticket dafรผr geรถffnet: OCM-368.
Das Verschieben รผber den Standard-Button ist aber unabhรคngig davon und funktioniert auch auf unserem Testsystem.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Leider รผberschreibt das JavaScript der Salesforce Lightning Community die Funktionen von "document", so dass diese keine Ergebnisse liefern fรผr document.querySelectorAll('[data-preview-id]'). Damit findet die von uns mitgelieferten Funktion "Absatz-Verschieben" keine Verschiebe-Ziele und ist deaktiv.
astember Kannst du das hier dann als "gelรถst" kennzeichnen?
Zu dem anderen Problem: Den Fix fรผr OCM-368 liefern wir dann wahrscheinlich mit der nรคchsten Freigabe aus.


- ยซ Previous
-
- 1
- 2
- Next ยป
- ยซ Previous
-
- 1
- 2
- Next ยป