Skip to content

AlphOne 0.10.0

Choose a tag to compare

@SirLouen SirLouen released this 13 Aug 09:57
· 335 commits to main since this release
ae5a1e2

AlphOne lets an operator define contact fields at runtime, with no rebuild and no release.

Added

  • Contact fields defined from the Fields screen on a running server, in six kinds: Text, Long text, Number, Yes or no, Date and Choice. See Fields.
  • Every field becomes a real field on Contact in the GraphQL API under the name you chose, so { contacts { edges { node { name birthDate } } } } answers a moment after you save it.
  • A Fields panel on the contact screen edits the values, each checked against the kind its definition declares.
  • Archiving a field takes it out of the schema and the screen at once and keeps its stored values, so defining it again with the same name and kind brings them back.
  • A plugin can contribute a panel to the contact screen through the frontend SDK.
  • make dev-watch rebuilds and restarts the server on save.

Notes

  • internal/dyngraph widens the compiled schema with the fields a plugin declares and rewrites each incoming query onto a carrier field the generated executor already knows.
  • Core keeps name as the one fixed contact field. The catalogue, the values, the admin screen and the seed are all the fields plugin.
  • The kind cannot be changed once a field exists, because stored values would no longer fit.
  • Choice holds a short line for now. A fixed option list is a later release.
  • The plugin migrates itself on start, so an existing install needs no action.
  • Sorting or filtering the contact list by a field, and importing CSV columns onto fields, are not in this release.