[Admin: This content comes from the original mobile-friendly PDF.]
Implementing UX: What are the key challenges?
But if you remember, our classic framework doesn’t fully apply the “separation of responsibilities”. Components are too tightly coupled.
Here are a few examples:
- Records are bound to a single specific form.
- Form sections and fields are tied to BO sections and fields.
- Forms cannot be replaced without breaking workflows.
- The Modify Metadata task in the workflow is tied to a single form.
So, if we redraw the basic MVC diagram with this lack of separation, our TRIRIGA framework might look like this. This is where UX comes in!
At the same time, let’s be clear where UX doesn’t come in.
Because there’s no automatic or direct path from key classic concepts to new UX concepts, the term “upgrade” doesn’t really apply. In the words of Ryan Koppelman, our manager of TRIRIGA platform development, “certain concepts do not align, and thus cannot be [directly] upgraded.” So instead, we’ll take each concept and compare their approaches.
|Modify Metadata Task||Classic applications typically use workflows with Modify Metadata tasks to hide and show form tabs, sections, and fields, or to change the text or text color of a label.||In UX, there is no concept of a Modify Metadata task.
Instead, a variety of layout components, field elements, and action-button elements are available to render a dynamic view.
|State Transition Actions||Classic applications typically use state transition actions that call workflows with Modify Metadata tasks to hide and show form tabs, sections, and fields, based on the state of a record.||In UX, there is no concept of a Modify Metadata task.
Again, a variety of layout components, field elements, and action-button elements are available to render a dynamic view.
|Query Sections||Classic applications typically use query sections to show a collection of records.
Query sections can also trigger workflows with Modify Metadata tasks.
|In UX, query interactions rely on Query data sources, which can be pulled into table (grid) layout components.
Again, there is no concept of a Modify Metadata task.
|Query Actions||Section actions and query sections with Find actions are found throughout our classic applications.
Find queries also offer an option to add new records.
|In UX, there is no concept of section actions or a Find action for query sections.
Instead, action-button elements are available to render actions as needed.
Also, search interactions rely on Query data sources, which can be pulled into table (grid) layout components, list layout components, or search field elements.
|Popup Forms||Popup forms are found throughout our classic applications.
Popup forms also display different elements or in different sizes, based on what is selected in the parent form.
|In UX, there is no concept of a popup form, which is designed for desktop screens not mobile displays.
Instead, different data sources are pulled into their respective components or elements within the same view as needed.
|Data Validation||Classic forms rely on Get Temp Record tasks and Modify Metadata tasks to show Attention messages.||In UX, validation relies on in-memory business objects and modal dialogs.
This validation approach is significantly different from the classic approach.
|Mobile Design||Classic applications were designed for a full desktop experience, not for today’s mobile experience with smaller screens and simplified interfaces.||In UX, code that leverages built-in features of Google Polymer elements is “mobile responsive” out-of-the-box.
This responsive-design approach is significantly different from the classic approach.
As you can see, while the UX framework tackles the key challenges in decoupling our classic framework into its separate MVC components, it also isn’t meant to automatically “upgrade” our classic framework.
As observed by Casey Cantwell, our lead QA engineer on the TRIRIGA platform team, we have “a unique opportunity to develop a framework for next generation applications.” This innovative freedom is key. With this in mind, let’s dig deeper into the UX metadata concepts. Are you ready?