For developers
This chapter documents the programmatic surface of the profile editing: the events it dispatches around every write of the editor.
Which classes of this extension are public API, and what that promises, is
stated for all academic extensions on the extension points page of
academic_base.
The three controllers of the editor are
final
and
@internal
, so
the events are the way to take part in a write.
Events
| Event | Dispatched | What a listener can change | Owner |
|---|---|---|---|
| BeforeProfileEditingWriteEvent | once for every write the editor accepted, right before anything of it is stored | refuse the write with a reason the person is shown, or replace the values it stores, which are validated again | this extension |
| AfterProfileUpdateEvent | once after a write was stored, for a profile edited in the default language of the site | react to the change. The profile, its site and the origin are read only | academic_persons |
The profile editing does not dispatch
Modify of
academic_base, which the plugins of the other academic extensions
dispatch. Its views are rendered once and then driven by the editor script, so
what a project needs to change about a write is offered by the write event
instead.