Backward Compatibility
Overview
As of Sugar® 7, modules are built using the Sidecar framework. Any modules that still use the MVC architecture and have not yet migrated to the Sidecar framework are set in what Sugar refers to as "backward compatibility" (BWC) mode.
For the list of Studio-enabled modules in backward compatibility for your version of Sugar, please refer to the User Interface (Legacy Modules) documentation for your version of Sugar.
Deprecation Scope
In Sugar 26.2, deprecation applies to legacy BWC screens for stock modules that use Sidecar by default and are included in the BWC_DEPRECATED_MODULES registry. The registered actions are index, ListView, DetailView, and EditView; action matching is case-insensitive. The Sidecar versions remain supported. A module having a Sidecar view is not sufficient to trigger the warning. Custom modules and stock modules that remain BWC by default are outside this deprecation scope.
Audit links and custom entry paths that force these registered stock modules into BWC, and move those experiences to the corresponding Sidecar routes and extension points. The visible deprecation banner is limited to full HTML pages; it is suppressed for print views and responses without a page header, including AJAX/JSON, exports, and body-only fragments. This change does not establish a removal release.
URL Differences
There are some important differences between the legacy MVC and Sidecar URLs. When a module is set in backward compatibility, the URL will contain "/#bwc/" in the path and use query string parameters to identify the module and action. An example of the Sidecar BWC URL is shown below.
http://{site url}/#bwc/index.php?module=<module>&action=<action>
You can see that this differs from the standard route of:
http://{site url}/#<module>/<record id>
Studio Differences
There are some important differences between the legacy MVC modules and Sidecar modules. When a module is in backward compatibility mode, an asterisk is placed next to the modules name in Studio. Modules in backward compatibility will use the legacy MVC metadata layouts, located in ./modules/<module>/metadata/, as follows:
- Layouts
- Edit View
- Detail View
- List View
- Search
- Basic Search
- Advanced Search
These layouts differ from Sidecar in many ways. The underlying metadata is very different and you should notice that the MVC layouts have a separation between the Edit View and Detail View whereas the Sidercar layouts make use of the Record View. The Sidecar metadata for Sugar is located in ./modules/<module>/clients/base/views/.
- Layouts
- Record View
- List View
- Search
- Search