fulldecent / fulldecent/moodle-local_plugin_template
Suggested improvements
- Dominant language
- PHP
- Stars
- 2
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
## Required Files for the Plugin:
- **version.php**
- **Language string file**
The additional files are not strictly required, but they can be significantly helpful for starting plugin development based on the **High Five** template. As a Moodle developer, I believe that a local plugin template should include useful files like [these](https://github.com/fulldecent/moodle-local_plugin_template/pull/20) to motivate me to use it. With just a few required files and a GitHub workflow, I could easily add them without utilizing the template.
## Improvements in README
I believe the **Features** section should only include the provided features. Currently, it has a list of various features, some of which are marked, making the README longer. I kept the part after *"But if you need these kinds of features, they are implemented here as an example"* to show what can be added to make the template more useful. However, in the future, it would be better to include only what is actually in the template.

## Question: Do You Really Need `install.php` if We Have `install.xml`?
In Moodle, both install.php and install.xml serve different purposes
- **install.xml**
Primarily used to define the database schema and relationships that Moodle will automatically create during the plugin installation.
- **install.php**
This optional PHP file is for executing additional setup tasks that are not handled by `install.xml` (e.g., default configuration settings, pre-loading initial data, etc.).
Having an `install.php` file allows you to handle complex installation logic efficiently.
## Why the added in pull request DB Folder is Helpful
- **Installation Support**: The **install.xml** file defines the database structure that Moodle automatically sets up during installation. This ensures that all necessary tables and fields are created correctly.
- **Optional Setup**: The **install.php** file allows you to run additional setup tasks that **install.xml** can't handle, like setting default values or pre-loading data. This gives more control over the installation process.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.