Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow users to create custom Mandr object types with custom frontend views #123

Closed
augustebaum opened this issue Jul 31, 2024 · 1 comment
Labels
question Further information is requested

Comments

@augustebaum
Copy link
Contributor

It should be possible for users to plug in their own types and displays without contributing directly to Mandr.

This could also provide a springboard for community building.


Context:
In the first Mandr iteration, the user was free to write Python functions outputting HTML, which could then be used to display Mandr objects in the frontend by way of Jinja templates.

In the next iteration, we have a set of valid object types (markdown, integer, number...) and we intend to provide more complex types (e.g. cv_results from the output of sklearn.model_selection.cross_validate, roc_curve...) and the display of each object is handled in Vue components (which we call "widgets"). The data transfer between the backend and the frontend is formalized in a JSONSchema document. Typing objects will make it possible to aggregate them and will enable further intelligence features.
However, adding a type consists in:

  • updating the data transfer schema with the new type (in JSONSchema)
  • writing the backend code to export objects of the new type following the schema (in Python, possibly according to some conventions)
  • writing a widget to handle objects of the new type (in Vue)
@augustebaum augustebaum added the question Further information is requested label Jul 31, 2024
@tuscland
Copy link
Member

tuscland commented Sep 5, 2024

With upcoming changes, more specifically the limitation of input types (described in #303), I don't believe this is still relevant.

In technical terms, I don't see an easy solution for users to provide their own custom frontend objects.

Finally, in product terms, I would like to control the set of report widgets, like for example in Notion. We might explore the concept of third-party integration, but that's for later.

@tuscland tuscland closed this as completed Sep 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants