You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Why?
* platform-plugin- is a standard backend plugin prefix which Tutor
recognizes.
* By including the word `sample`, it's more obvious for users of this
repo how to adapt it into their own backend plugin (by replacing
all occurances of "sample")
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|**Django App Plugin**| Add models, APIs, views, and business logic |[How to create a plugin app](https://docs.openedx.org/projects/edx-django-utils/en/latest/plugins/how_tos/how_to_create_a_plugin_app.html)|[`backend/`](./backend/)| Adding new functionality, APIs, or data models |
33
-
|**Events (Signals)**| React to platform events |[Open edX Events Guide](https://docs.openedx.org/projects/openedx-events/en/latest/)|[`backend/sample_plugin/signals.py`](./backend/sample_plugin/signals.py)| Integrating with external systems, audit logging |
34
-
|**Filters**| Modify platform behavior |[Using Open edX Filters](https://docs.openedx.org/projects/openedx-filters/en/latest/how-tos/using-filters.html)|[`backend/sample_plugin/pipeline.py`](./backend/sample_plugin/pipeline.py)| Customizing business logic, URL redirects |
32
+
|**Django App Plugin**| Add models, APIs, views, and business logic |[How to create a plugin app](https://docs.openedx.org/projects/edx-django-utils/en/latest/plugins/how_tos/how_to_create_a_plugin_app.html)|[`platform-plugin-sample/`](./platform-plugin-sample/)| Adding new functionality, APIs, or data models |
33
+
|**Events (Signals)**| React to platform events |[Open edX Events Guide](https://docs.openedx.org/projects/openedx-events/en/latest/)|[`platform-plugin-sample/openedx_sample_plugin/signals.py`](./platform-plugin-sample/openedx_sample_plugin/signals.py)| Integrating with external systems, audit logging |
34
+
|**Filters**| Modify platform behavior |[Using Open edX Filters](https://docs.openedx.org/projects/openedx-filters/en/latest/how-tos/using-filters.html)|[`platform-plugin-sample/openedx_sample_plugin/pipeline.py`](./platform-plugin-sample/openedx_sample_plugin/pipeline.py)| Customizing business logic, URL redirects |
Use the table above to identify which type of plugin matches your needs. You can combine multiple types in one plugin.
88
92
89
93
### 3. Study the Sample Code
90
-
-**Backend**: Start with [`backend/sample_plugin/apps.py`](./backend/sample_plugin/apps.py) to understand plugin registration
91
-
-**Events**: Examine [`backend/sample_plugin/signals.py`](./backend/sample_plugin/signals.py) for event handling patterns
92
-
-**Filters**: Review [`backend/sample_plugin/pipeline.py`](./backend/sample_plugin/pipeline.py) for behavior modification
94
+
-**Backend**: Start with [`platform-plugin-sample/openedx_sample_plugin/apps.py`](./platform-plugin-sample/openedx_sample_plugin/apps.py) to understand plugin registration
95
+
-**Events**: Examine [`platform-plugin-sample/openedx_sample_plugin/signals.py`](./platform-plugin-sample/openedx_sample_plugin/signals.py) for event handling patterns
96
+
-**Filters**: Review [`platform-plugin-sample/openedx_sample_plugin/pipeline.py`](./platform-plugin-sample/openedx_sample_plugin/pipeline.py) for behavior modification
93
97
-**Frontend**: Explore [`frontend/src/plugin.jsx`](./frontend/src/plugin.jsx) for UI customization
94
98
95
99
### 4. Run This Sample
@@ -103,9 +107,9 @@ Each directory contains detailed README.md files with adaptation guidance.
103
107
```
104
108
sample-plugin/
105
109
├── README.md # This file - overview and quick start
0 commit comments