Hello,
Following the recent changes in the Fedora codebase, I have noticed an
increased general interest toward a more compact application core
focused on a minimal set of features. I am glad to see this, which means
a greater focus on critical aspects such as stability, maintainability
and durability.
However, most of the not explicitly supported features we have been
building upon at AIC so far, some of which are not recommended in the
4.0 release, are critical for us and we want to make an effort to
maintain these features as close as possible to the repository layer.
These include content modeling, structural and data type validation,
event-driven automation and custom connectors. So I have been
thinking about how functionality can be added to a minimal Fedora system in the
most manageable way.
One interesting project I have noticed in the early development stages of F4 are webhooks and other Event-driven APIs [1]. These could be an interesting starting point for event-based automation on post-commit events; other functionality may be based on pre-commit or pre-retrieval events or need synchronous operation, such as validation, custom UID
minting, etc.
If some event hooks could be formalized either in the core codebase or in a
separate add-on, and a set of synchronous and asynchronous event APIs were developed, would this be a good way for the community to build
features on top of the minimal Fedora code that are not critical for
Fedora itself, but can be critical for some implementations of it?
These APIs would be ideally either part of the core, or designed and developed under the Fedora committers'
coordination, in order for them to be stable and easily maintainable
by a larger group of committers.
I know this might not be the ideal time for this type of discussion, as all
eyes are pointed at the imminent 4.0 release. But I'd like to just drop
these ideas here until someone picks them up.