Hunter Gatherer Flashcards
Fundamental terms for Orion
What does XFC stand for? Fundamental problem to resolve?
Cross-frame communications. A custom XFC library written in JS allows communication between component and framework. Embedded component does not match the requesting application and is blocked by security protocols. “Uncaught SecurityError: Blocked a frame with origin “http://localhost:3000” from accessing a frame with origin “null”. The frame requesting access has a protocol of “http”, the frame being accessed has a protocol of “file”. Protocols must match.”
Basic structure of web-enabled component?
iFrame content in HTML document.
Importance of Node.js architecture to XFC?
EventEmitter = part of Node.js event-driven architecture. Used to communicate between O component and MP framework. (node ref: “Much of the Node.js core API is built around an idiomatic asynchronous event-driven architecture in which certain kinds of objects (called “emitters”) emit named events that cause Function objects (“listeners”) to be called.”)
How are parameters passed between component and MP framework?
Query parameters or path, i.e., the URL passed to the embedded component. (header information cannot be passed)
What is result of authentication? What 3 services participate in initial authentication?
User authentication creates a required Session ID. The component establishes Mill authentication via 1) Mill OAuth Cache 2) Alva Local Service 3)Cloud OAuth.
What services handle O refresh authorization?
Refresh is managed by Mill OAuth Cache only. ‘Preauth’ state created from stored GUID.
What is the ‘embedded server’ ?
Millennium Plus Services = embedded server layer between MP Framework and the component. (Generally not important for developers’ purposes)
How does the EMR access the user auth from a component?
The EMR stores GUID associated to Mil OAuth access token. The identifier is retrieved through the EMR’s COM control MPAGESAUTH. It is then passed as a query parameter within the URL configured for the O component
Web protocol required for embedded components?
HTTPS - required for OAuth security model
Bedrock component options for embedded web component?
orion-web-component-fusion = (aka web component) MP framework component created from base class. Generic options 1-20 offer limited functionality. Special features require custom implementations, extending base, etc.
How do components find the embedded server’s endpoint?
DM_INFO entry called “EMBEDDED_BASE_URL” – retrieved as a shared resource for all web components. Config only needs to be retrieved once (via .prg) for use by multiple components.
What is the embedded content engine?
Project with the necessary code needed to enable consumers and providers to securely frame the content. It’s using XFC JavaScript library. (Ruby) Developers need to be aware of version changes, compatibility (ex: including features, npm)
Identify the consumer and provider in the web-enabled content
Consumer = requesting application (ex: MP framework) Provider = component
Name of component base class that creates iFrame and communicates with provider
orion-mpage-component-fusion
What is embedded-content.js?
Wrapper for open-source XFC library. Insulates component dev from impact of library changes.