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
|**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/platform_plugin_sample/signals.py`](./platform-plugin-sample/platform_plugin_sample/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/platform_plugin_sample/pipeline.py`](./platform-plugin-sample/platform_plugin_sample/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)|[`backend-plugin-sample/`](./backend-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/)|[`backend-plugin-sample/openedx_plugin_sample/signals.py`](./backend-plugin-sample/openedx_plugin_sample/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-plugin-sample/openedx_plugin_sample/pipeline.py`](./backend-plugin-sample/openedx_plugin_sample/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.
91
89
92
90
### 3. Study the Sample Code
93
-
-**Backend**: Start with [`platform-plugin-sample/platform_plugin_sample/apps.py`](./platform-plugin-sample/platform_plugin_sample/apps.py) to understand plugin registration
94
-
-**Events**: Examine [`platform-plugin-sample/platform_plugin_sample/signals.py`](./platform-plugin-sample/platform_plugin_sample/signals.py) for event handling patterns
95
-
-**Filters**: Review [`platform-plugin-sample/platform_plugin_sample/pipeline.py`](./platform-plugin-sample/platform_plugin_sample/pipeline.py) for behavior modification
91
+
-**Backend**: Start with [`backend-plugin-sample/openedx_plugin_sample/apps.py`](./backend-plugin-sample/openedx_plugin_sample/apps.py) to understand plugin registration
92
+
-**Events**: Examine [`backend-plugin-sample/openedx_plugin_sample/signals.py`](./backend-plugin-sample/openedx_plugin_sample/signals.py) for event handling patterns
93
+
-**Filters**: Review [`backend-plugin-sample/openedx_plugin_sample/pipeline.py`](./backend-plugin-sample/openedx_plugin_sample/pipeline.py) for behavior modification
96
94
-**Frontend**: Explore [`frontend-plugin-sample/src/plugin.jsx`](./frontend-plugin-sample/src/plugin.jsx) for UI customization
97
95
98
96
### 4. Run This Sample
@@ -106,9 +104,9 @@ Each directory contains detailed README.md files with adaptation guidance.
106
104
```
107
105
sample-plugin/
108
106
├── README.md # This file - overview and quick start
109
-
├── platform-plugin-sample/
107
+
├── backend-plugin-sample/
110
108
│ ├── README.md # Backend plugin detailed guide
111
-
│ ├── platform_plugin_sample/
109
+
│ ├── openedx_plugin_sample/
112
110
│ │ ├── apps.py # Django plugin configuration
113
111
│ │ ├── models.py # Database models example
114
112
│ │ ├── views.py # REST API endpoints
@@ -138,10 +136,10 @@ sample-plugin/
138
136
- Add API endpoints in `views.py`
139
137
- Implement event handlers in `signals.py`
140
138
- Create filters in `pipeline.py`
141
-
3.**Testing**: `cd platform-plugin-sample && make test`
142
-
4.**Quality**: `cd platform-plugin-sample && make quality`
139
+
3.**Testing**: `cd backend-plugin-sample && make test`
140
+
4.**Quality**: `cd backend-plugin-sample && make quality`
143
141
144
-
**Detailed Guide**: See [`platform-plugin-sample/README.md`](./platform-plugin-sample/README.md)
142
+
**Detailed Guide**: See [`backend-plugin-sample/README.md`](./backend-plugin-sample/README.md)
145
143
146
144
### Frontend Plugin Development
147
145
@@ -167,7 +165,7 @@ This sample shows how backend and frontend plugins work together:
167
165
### Backend + Frontend Integration
168
166
169
167
```python
170
-
#platform-plugin-sample/platform_plugin_sample/views.py - Provides API
168
+
#backend-plugin-sample/openedx_plugin_sample/views.py - Provides API
0 commit comments