appsmithorg / appsmithorg/appsmith
[Feature] DB Plugin Contributor Experience
- Lenguaje dominante
- TypeScript
- Estrellas
- 40.9k
- Forks
- 4.8k
- Merge medio
- 1 d 22 h
- PR fusionados (30 d)
- 45
Descripción
## Description
DB Plugin Contributors need a better experience to add new plugins. They need
- Clear Requirements
- Better Coding Experience
## User Story
A user browsing appsmith notices that their DB is not available on the product. They go ahead and see a CTA to Request a new Plugin. They fill out a form that sends an Email to us and prompts them to consider contributing to the platform. They Opt to contribute and are taken to our Plugin Contribution Document.
The Plugin Contribution Document outlines the contribution process and contains instructions to
- Install the appsmith CLI
- Run the command to setup appsmith locally
- Run the command to generate a plugin template
The generate template command asks the user
- Enter the type of plugin you wish to contribute
- SQL / NoSQL / File Storage / SAAS
- Enter the name of the plugin you wish to generate
- Enter the name of the entity in the plugin, you want to query (Table / Row / Bucket / File / Collection)
The command generates a set of files at the location of the appsmith repo. The Files generated are
- Plugin Authentication UI File
- Plugin Authentication File
- Plugin Entity CRUD File
- Plugin Entity UI File
- Plugin Entity Test File
The user goes through the Plugin Authentication file and implements the methods to
- Authenticate the plugin
- Test the Authentication
- Fetch the structure
The user also configures the authentication UI by editing the JSON
The user goes through the Entity CRUD File and implements the unified methods mentioned in
https://www.notion.so/appsmith/Unified-Query-Interface-For-DB-Plugins-cca4b0c8669949568a00f1e516b62fa8
The user opens the Entity UI File and sees the default template names specified for each of the methods. She runs the plugin locally and the default test cases of the entity type are run against the plugin letting the user know if their plugin works and if all the cases are implemented. The user can add additional test cases if needed but the platform already has the mandatory test cases for the CRUD methods out of the box.
The user now pushes their code and raises a pull request tagging the issue # of the plugin. The user also submits a video documenting how the plugin works. The documentation for the CRUD Methods is auto-generated. A server-side deploy preview is generated for the plugin.
Appsmith team verifies the plugin against some test credentials and approves / requests for changes. The plugin is merged and new users can install the plugin on the fly
The user now wants to add a custom method that does not fall into the auto-generated requirements of the plugin. The user runs the template generation command to add a custom plugin method.
The command asks the user
- Enter the name of the plugin
The command generates
- Plugin CustomMethod File
- Plugin Custom UI File
- Plugin Custom Doc File
The user implements the Custom Method and the Custom UI File. The user writes the documentation for the custom method as well.
Guía de contribución
Evaluación
Este issue todavía no se ha evaluado.