Efficient Deployment Ideas

Last modified 22 Apr 2021 17:31 +02:00

This page contains notes about ideas that are supposed to make midPoint deployment more efficient.

Product Improvements

  • User interface support to resolve "disputed" situation.

  • Visual mapping editor

  • ML recommender for probabilistic correlation.

  • Validation of script statements when importing object, not only XML/JSON/YAML. Currently the object can be imported even with syntax errors in Groovy

  • Ability to disable mappings or attributes in schema handling/object template instead of commenting/removing them

  • Search gui with auto completion (a’la JIRA) to create query

  • Eclipse/IntelliJ plugin

    • Unification of query playground and eclipse plugin.

    • MidPoint Studio - maybe even consider abandoning eclipse and move to IntelliJ. But Jasper and Directory Studio may prohibit that.

    • Improve error handling (e.g. reference resolution fails with error 500 while Import from GUI shows the error)

    • Validation of script statements when importing object, not only XML/JSON/YAML. Currently the object can be imported even with syntax errors in Groovy

    • Support for diff-ing objects in a more user-friendly way (currently possible to diff local and remote object with delta results)

    • Simulation: e.g. to run a mapping or functionLibrary with some repository data or user provided data and see the results without storing anywhere

  • Resource wizard

    • Make it really a wizard, not just configuration GUI

    • Integrate resource configuration samples as templates

    • Better handling of association definitions

  • Improve error handling and reporting in midPoint (but how exactly?)

  • JSON/YAML tooling: data conversion GUI, better doc, samples (automatic conversion), etc.

  • Automatic reload (without restart)

    • Extension schema

    • Connectors

  • Better "preview changes"

    • For each value show where it came from: inbound/outbound/template, which specific mapping produced it

  • Better error messages

    • XML errors: indicate the line number of the problem

    • Script errors: show line number in the XML file

    • Note: Sometimes, both will refer to line numbers of the object stored in repository, which may be different that source line numbers. But better than nothing.

      • Maybe showing also in which mapping/attribute this error in script happened, would help (if we’re not showing that already)

  • Object import/validation

    • XML import/validation that does not care about ordering of elements

    • Validate scripts, whether they are compilable: MID-5343

  • Add Connectors page to Resources part of GUIMID-5332

  • Data quality validation:

    • Validation expressions, e.g. "Only one first name", "Does not contain national characters", etc.

    • Mark invalid data (Can we use "provenance"?)

    • Prohibit use of invalid data (e.g. in case that the data got "broken" in the feed). Do not use such data for provisioning. Q: what to use? Old value?

    • Report invalid data to people responsible for data source (e.g. HR)

    • Protect against big unexpected changes, e.g. "empty feed problem". Can we use thresholds here?

    • Mark "suspicious" records in the feed, e.g. HR accounts that were not updated for several years

  • Incremental deployment

    • Connect target system in steps: 1. create only, 2. create+update, 3. create+update+disable/delete. Easy way how to configure this.

    • Report data discrepancies. E.g. run reconciliation, but do NOT correct the data. Just record the problems and report them.

      • Account situation report (assume the accounts are assigned, but do not create/delete them, just report discrepancies)

      • Attribute/association differences

  • Notifications

    • How to resend failed e-mail notifications?

    • In-app notifications?

    • Notification log?

  • Audit

    • Often used for diagnostics/visibility

    • Audit log viewer UX - rework the search paradigm? Align with ordinary search widget?

  • Query language

    • Make it better (non-XML)

  • Reporting

    • Get rid of Jasper

    • How to do integrations? How to export/import report data to other tools?

Process Improvements

  • Better samples. Samples from practice, not just "theoretical" and testing samples.

Unsorted

  • Documentation generator (e.g. from resources, to generate technical documentation about setup, mappings etc.)