Skip to content

Port/dev-to-future#1223

Open
1nf0rmagician wants to merge 48 commits into
futurefrom
port/dev-to-future
Open

Port/dev-to-future#1223
1nf0rmagician wants to merge 48 commits into
futurefrom
port/dev-to-future

Conversation

@1nf0rmagician
Copy link
Copy Markdown
Member

Summary

Ports xtensions form the current release to MORYX 12

Linked Issues

Ports:
#1185
#1206

Breaking Changes

Documented in the Migration guide

Checklist for Submitter

  • I have tested these changes locally
  • I have updated documentation as needed
  • I have added or updated tests as appropriate
  • I have used clear and descriptive commit messages

Review

Typical tasks

  • Merge request is well described
  • Critical sections are documented in code
  • Tests are extended
  • Documentation is created / updated
  • Running in test environment
  • Ports to other maintained versions are created

Clean code

  • All unused references are removed
  • Clean code rules are respected with passion (naming, ...)
  • Avoid copy and pasted code snippets

1nf0rmagician and others added 30 commits April 5, 2026 22:20
Introduce ResolverFn implementations to trigger
loading of product information on navigation.
This removes distributed and duplicated loading
attempts. Also the logix to trigger loading and to
use session storage information was moved to the
same place. An implementation of CanActivateFn is
utilized to trigger redirects when necessary.

Also some unused code was removed and simplified.
- Adds a RouteResolver for recipes defining a single point of truth for which recipe is currently handled
- Removes old, complex route analysis logic
- Fixes issues with recipe changes not stashed in the WIP product as object references of the signals hadn't changed
- Simplifies component structure by replacing some inputs with service references
- Simplifies some signals
- Simplified handling of successful product duplication just navigating to the new product
- Removed redundant divs from the dom and simplified the styling
- Replaced CommonModule with usage of simple css elipsis styling
- Unified naming of resolvers
- Removed unused code and imports
- Added clickable indicator for product references and actually linked the event
- Unifies handling of the currently active elements between references, recipes and parts
- Defines the route as the single point of truth for the selected partlink and part
- Simplifies routing logic in components
The body wasn't cast to the actual body type leaving an error in a parameter name undetected. Hence all types where shown in the selection dialog.
- Remove unnecessary divs
- Remove oversized headers for partlinks which did not provide additional information
- Remove unnecessary explainatory text which looked out of place on the ui anyway
- Added preview of configured partlinks to collapsed panels
- Removed duplicate rendering of default part views for collapsed panels
- Replaced input parameters for details view with service references
- Fixed issues with part link configuration and handling

Amend: Fix issue with single custom part links
When editing a newly added recipe or part, cancelling caused the UI state to be reset by an api call outside of the route resolver (which was not nice in itself) but the route was left untouched leading to an inconsistent state and violating the route as single point of truth.
We add a cancellation component to fully reactivate the currently selected product. Other options were considered but not feasible.
Before the products tree was manipulated purely based on the return value of the API call itself. We now refresh the whole products tree which also allows to handle updates to products within an importer.

Also resolves a minor issue when cancelling/aborting edit mode.
Allows for navigating from a product part link directly to the referenced product. Works for lists of part links on each list element and as part of the actions row for single part links.
- Format files
- Add routerlink
Resolve several issues with user interactions in the products web UI
- Replaces select with autocomplete element in order creation dialog for products & recipes
- Require selection on the autocomplate elements
- Transform api calls to pure signal based infrastructure
- Also prepare shared styling for all dialogs
- Adjusts order & product context information styling
- Removes unused stylings
- Shares styling for dialogs in reused file
- Moved adr directory out of articles
- Removed unused template directory
- Remove manual tests for unfinished/unpublished process data UI prototype
- Remove outdated content from README.md
Content of the side drawer showing messages, parts, etc. was not scrollable but extended over the screen edges instead.
…duct-selection

Multiple UX improvement on orders UI
Updated the Capabilities documentation link to match the correct folder structure under Abstractions/Processing
Update index.md for fix the broken documentation link capabilities pages
- Defines the intend and concept of feature specifications for MORYX
- Defines the process of creating and maintaining feature specifications
- References inspirations from the Open Source community
- Defines the structure of a feature specification document in a template
- Defines Personas to be used in feature specifications
Introduce feature specifications for components in the MORYX-Framework
* apply AI format
* Add to ADR to index
ADR to document how we handle date and time values
…ernally.

The CollectionChanged event for Reference collections was not called when the collection was modified by an endpoint or the ResourceLinker, because they use the UnderlyingCollection directly.

This change tries to enforce locking and raising CollectionChanged after the fact, to make the behavior more consistent.

Note: DriverResult_ThrowsException_ShouldNotDisruptModule is flaky, but it appears unrelated
Remove unnecessary indirection and sorting
If all parents are deleted we can delete the subproduct too.

(cherry picked from commit 2af969a38876fe9464091abcaac804e9dbec2f9c)
1nf0rmagician and others added 12 commits May 11, 2026 16:00
…roller back to the ModelToResourceConverter.

* Fix lock being held during UnderlyingCollectionChanged.
Resolve several issues in lMORYX Launcher
Introduce SBOM generation to comply with the Cyber Resilience Act,
which requires a Software Bill of Materials (SBOM) for every release.

This is implemented using Microsoft's 'sbom-tool'.

Each generated NuGet package now includes a '_manifest' folder containing:
- the SBOM
- its SHA256 hash

This ensures compliance with regulatory requirements and improves supply chain transparency.

Co-authored-by: Jonathan Hoffmann <jonathan.hoffmann@phoenixcontact.com>
Co-authored-by: Jano Hassebrock <168213427+Krypt0n08@users.noreply.github.com>
…ailing-logfile

Add the functionality write error logs for resource initializer.
…t-UI-constructor

Add parameterless constructor to fix AxisMovement UI.
…ot-called

Fix: Collection changed is not called when Resource References are changed through the UI
@1nf0rmagician 1nf0rmagician added the port Indicates that the changes in this PR were originally discussed and merged in a prior release label May 18, 2026
@1nf0rmagician 1nf0rmagician self-assigned this May 18, 2026
@1nf0rmagician 1nf0rmagician added this to the Framework 12.0.0 milestone May 18, 2026
@andreniggemann
Copy link
Copy Markdown
Contributor

I have no technical complaints about this.
Just a heads up: I talked to Dennis about possibly restructuring how the ResourceCollection works in MORYX 12. #1216

andreniggemann
andreniggemann previously approved these changes May 18, 2026
dbeuchler
dbeuchler previously approved these changes May 20, 2026
@1nf0rmagician 1nf0rmagician dismissed stale reviews from dbeuchler and andreniggemann via 9402021 May 20, 2026 09:03
andreniggemann
andreniggemann previously approved these changes May 20, 2026
@1nf0rmagician 1nf0rmagician force-pushed the port/dev-to-future branch 2 times, most recently from 6fda106 to 32f48c7 Compare May 21, 2026 04:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

port Indicates that the changes in this PR were originally discussed and merged in a prior release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants