3.1 Explore extensions and the extension framework in F&O apps Flashcards
Why can’t MS models be modified/overlayered?
To reduce build time and ensure that you’re always running the latest version of F&O apps
How are F&O apps customized?
Through the use of extensions, which allow you to add functionality to model elements and source code in AOT using VS
What to do if customization can’t be completed using extensions?
Submit an extensibility request support ticket
Why should overlayering be used with caution?
While it can take less time to modify base code, you could end up spending much more time later fixing code after an update or a hotfix is rolled out to the application
Why create extension models?
Simplify and improve the performance of builds, test automation, deployments, and delivery to customers
Common element types used in extensions?
Labels
Enums
EDTs
Tables
Data entities
Forms
Menus
Why extend labels?
Modify the values of label, add new labels, or add new languages
Why extend enums?
If “IsExtensible” property is true, enum can be extended to add new values to it
Why extend EDTs?
Modify properties for an EDT, such as label, string size, or help text
Why extend tables?
To add new fields, indexes, or relations, modify properties.
Implement event handlers
Why extend data entities?
Provide a de-normalized version of underlying table schemas
Why extend forms?
To add a new data source, add new control, modify properties, also implement event handlers
Why extend menus?
To add new menu items, submenus, menu references, hide any of the items
One of main obstacles that could increase the continuous upgrade costs?
Intrusive customizations
Guidelines to follow to ensure customization is not intrusive?
Type should not be changed
Model’s author should remain in control of encapsulated code and types
Adding new behaviors is encouraged and is enabled by using extensions
Event handler?
A way to write or copy code to an element that runs when certain event occurs, such as field being modified
What is CoC?
Chain of Command
Chain of Command?
Is a design pattern where a request is handled by a series of receivers
Restrictions when wrapping methods?
Wrapper method must have the same signature as the base method
Only root-level methods can be wrapped
What method must be called within a method to ensure CoC?
next()
Several ways to run-time consuming operations?
Batch processes
Run Async to avoid AOS disconnect and freezes
SysOperationSandbox framework which will implement the long running process in separate session in async mode
SysOperationSandbox?
Run sync operation on the async session that is happening on the web client.
Runs two client sessions in parallel
SysOperationSanbox client session one purpose?
Async session that runs the business logic in static class
SysOperationSanbox client session two purpose?
Communicates with the UI to keep it live without allowing a timeout.