Expectations for Parallel Operation
The introduction of parallel operation allows you to work with selected YAML-based data models directly within VS Code. The Convert tool serves as the bridge between the traditional AOD-based project structure and the new YAML format, enabling a flexible local development experience.
Figure: Schematic representation of the Parallel Operation workflow
Workflow and Usage
During this phase, all public-facing project assets remain in AOD format. This includes Git repositories, published artifacts, and SSP systems.
Local Development Flow
Developers can utilize Parallel Operation by maintaining two local representations of the project:
- AOD Project: The primary project connected to Git, managed within the ADITO Designer.
- YAML Project: The local workspace for the ADITO ExtensionPack, managed within VS Code.
This workflow allows you to perform development tasks in the YAML-based environment and sync back to the AOD project when ready to commit or publish changes.
By working in YAML, you can leverage modern VS Code features such as advanced syntax highlighting, improved JavaScript support, and enriched YAML documentation. However, the AOD project remains the authoritative source for version control and deployment. Before committing changes to Git or initiating a deployment, you must use the Convert tool to translate your local YAML modifications back into the AOD format.
Integration and Limitations
While the Convert tool simplifies switching between formats, VS Code integration is currently focused on text-based editing. Please note the following limitations:
- Graphical Support: VS Code does not provide a graphical interface for data models. The ADITO Designer is still required for visual configuration.
- IntelliSense: While you benefit from standard YAML structure autocompletion, cross-model references (where one data model refers to another) are not yet supported within the VS Code completion engine.
- Build Pipeline: Transpilation and deployment processes are not yet integrated into the YAML workflow. These actions must be executed through the ADITO Designer using the AOD data models.
Some specific issues that you might encounter during development are listed as known issues.
Impact on Existing Workflows
Parallel operation is strictly optional. Developers who prefer not to use the YAML conversion tools can currently continue working within the ADITO Designer and AOD environment without any changes to their existing routines. For those opting in, this phase provides an early opportunity to benefit from the VS Code ecosystem while influencing future development through active feedback.
Overview of Currently Supported and Unsupported Features in Visual Studio Code
| Feature | Works? | Comment |
|---|---|---|
| Editing of XML Files | ✓* | Extension, no XSD provided. |
| Editing of YAML Files | ✓* | Extension, no cross-referencing supported. |
| CrossReferencing inside YAML Files | ✗ | No AutoCompletion currently supported. Textual input works. |
| Creation/Editing of Process Data Models in YAML | ✓ | |
| Creation/Editing of Entity Data Models in YAML | ✗ | will be supported later |
| Creation/Editing of other Data Models in YAML | ✗ | will be supported later |
| Modularization for YAML: Creation of Modifications | ✗ | will be supported later |
| Modularization for YAML: Graphical Display | ✗ | will be supported later |
| Programming JavaScript | ✓ | |
| AutoCompletes / IntelliSense in JDito Processes | ✓ | needs latest Devtools for declaration files and improved jsconfig |
AutoCompletes for $field, $sys, ... variables | ✗ | currently not supported, please use the ADITO Designer |
| Changing of JDito Processes in the Entity Data Model | ✓ | Plain JavaScript Editing is supported for every Data Model |
| Visual Editing for Neon Views | ✗ | currently not supported, please use the ADITO Designer |
| Visual Editing for Application (Global Menu) | ✗ | currently not supported, please use the ADITO Designer |
| Visual Editing for Dashboards | ✗ | currently not supported, please use the ADITO Designer |
| Editing of JasperReports | ✗ | will not be supported, please use other appropriate tools instead |
| GUI for Data Models | ✗ | currently not supported, please use the ADITO Designer |
| Language Files as YAML | ✗ | currently not supported, please use the ADITO Designer |
| Liquibase | ✓* | Extension with Liquibase 4.28 (Checksums may differ from Designer) |
| Writing AsciiDoc | ✓ | Extension |
| Node/NPM | ✓ | |
| Regex Creation and Previewing | ✓ | Extension |
| ESLint | ✓ | Extension |
| Git Integration and Version History | ✓ | native integrated |
| GitLab Integration | ✓ | Extension |
| Database Queries | ✓ | Extension |
| Postman Integration | ✓ | Extension |
Key Benefits
- Stakeholder Engagement: Test new tools and provide feedback early in the development cycle.
- User Agency: Use the environment that best suits your productivity needs.
- Workflow Flexibility: Choose the most efficient tool for the task at hand.