What’s New¶
UCC 6¶
This section describes the changes introduced in version 6.0.0 of addonfactory-ucc-generator. The main emphasis of this update is on eliminating outdated, deprecated, and discouraged features. These changes help streamline the codebase, improve maintainability, and ensure that only supported and recommended functionality remains available for developers.
List of Changes¶
- Dropped support for Python 3.7
- Removed support for the
.uccignorefeature - Removed
--ui-source-mapoption from the UI - Removed custom menu component from the UI
- Removed AMD
requirefor custom components - Removed
oauth_fieldparameter in OAuth entities from the UI - Removed
placeholderusage
Dropped support for Python 3.7¶
Current version supports Python 3.9 and above. Related libraries and dependencies have also been updated accordingly.
python = ">=3.9,<3.14"
jinja2 = ">=3.1.6,<4"
jsonschema = "^4.25.0"
packaging = ">=25.0"
Removed support for .uccignore¶
This feature was deprecated starting from v5.53.0 and has now been removed in UCC 6.
Attempting to use it will result in a build error and the process will exit with code 1.
Equivalent functionality can be achieved using additional_packaging.py, specifically with the cleanup_output_files feature to remove files after the source code is copied.
Removed support for --ui-source-map flag¶
The --ui-source-map build command flag is no longer supported.
Removed custom UI menu component¶
Feature was deprecated and removed as it can be replaced by Multilevel Menu feature.
Previous configuration:
{
"inputs": {
"title": "Inputs",
"description": "Manage your data inputs",
"services": [],
"table": {
"actions": ["edit", "delete", "clone"],
"header": [],
"moreInfo": []
},
"menu": {
"src": "custom_menu",
"type": "external"
}
}
}
and example code:
class CustomMenu {
/**
* Custom Menu
* @constructor
* @param {Object} globalConfig - Global configuration.
* @param {element} el - The element of the custom menu.
* @param {function} setValue - set value of the custom field.
*/
constructor(globalConfig, el, setValue) {
this.globalConfig = globalConfig;
this.el = el;
this.setValue = setValue;
this.services = {};
}
render() {
this.el.innerHTML = '<button type="button">Click Me! I am a button for custom menu</button>'
this.el.onclick = () => {
this.setValue({
service: "example_input_one" // The value of service can be the name of any services, specified in the globalConfig file.
})
}
}
}
export default CustomMenu;
Similar effect can be achieved with groupsMenu feature.
"groupsMenu": [
{
"groupName": "example_input",
"groupTitle": "Click Me! I am a button for custom menu"
}
],
Removed AMD require for custom components¶
We do not recommend to use requireJS approach anymore. Since new version we recommend to use only Standard or Context approach.
As a result of this update, custom references must now include both the src and type properties and be structured as follows:
{
"src": "component_file_name",
"type": "external"
}
Removal of oauth_field parameter from OAuth¶
The oauth_field is no longer needed in oauth entities, as right now everything is based on field property itself.
We advise to remove oauth_field property from globalConfig.json but if it will end up there, we will remove it during building process.
Removed placeholder¶
The placeholder attribute has been removed. We recommend using the “help” attribute as an alternative.