WORK IN PROGRESS - long-term plan
Strategic Tasks
- Reduce dependencies on old Sun XML libraries.
- This may mean moving away from JAXB completely, including the code-generation plugins
- It may also mean moving away from XSD completely
- Prism API
- GUI API
Schema Improvements
- Remove <extension>
- May cause UPA problem in XSD, but we may get rid of XSD anyway
- Primitive type for definition/schema
- Use in: resource schema, role schema, archetype schema
- Get rid of the JAXB-induced dichotomies
- PolyString vs PolyStringType
- Dynamic schema, e.g. archetype schema
Support for "map", e.g. {en => foo, sk => fú, ... }
- Support for "list" or ordered values.
- 100% namespace-free operation
- QName and URI are the same thing.
- Namespaces and versioning
- It is not a good idea to have version in the namespace. We need more sophistication in versioning and compatibility.
- PolyString as container.
- Every structured data as container.
- New schema language?
- We are hitting the limits of XSD for a long time already. Maybe it is time for next step?
See also Prism 5 Notes
Decisions To Make
- Audit log: the path through SIEM/DWH seems to be a failure. What to do to make logs usable? Create our own small warehouse? Use Elastic?
- Reporting: Jasper or no Jasper?
- Primary development/configuration tool: IntelliJ IDEA?
- What to do with resource wizard? Keep in GUI? Rework? Move to IDE?
- Repository: Special implementation for Postgres? Get rid of hibernate?
- What to do with ConnId? Work on ConnId2? Create a new framework to replace ConnId?
- How to improve troubleshooting?