fulldecent / fulldecent/moodle-local_plugin_template

Suggested improvements

Open
#21 0 comments 0 reactions 0 assignees View on GitHub
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.

![Screenshot from 2024-11-05 16-37-31](https://github.com/user-attachments/assets/2e1cbdcc-5a65-461a-b636-248109f65ef0)

## 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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.