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?
* frontend-plugin- is a fairly common prefix for plugins using
Frontend Plugin Framework
* 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")
* When we include a frontend-base "plugin", we'll use the prefix
frontend-app- (note that, in frontend-base all plugins are actually
just apps).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ This sample plugin showcases the **Open edX Hooks Extension Framework**, which a
32
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
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
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 |
# Add env.config.jsx and module.config.js (see frontend/README.md)
58
+
npm install $PWD/frontend-plugin-sample
59
+
# Add env.config.jsx and module.config.js (see frontend-plugin-sample/README.md)
60
60
npm start
61
61
```
62
62
@@ -94,7 +94,7 @@ Use the table above to identify which type of plugin matches your needs. You can
94
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
95
-**Events**: Examine [`platform-plugin-sample/openedx_sample_plugin/signals.py`](./platform-plugin-sample/openedx_sample_plugin/signals.py) for event handling patterns
96
96
-**Filters**: Review [`platform-plugin-sample/openedx_sample_plugin/pipeline.py`](./platform-plugin-sample/openedx_sample_plugin/pipeline.py) for behavior modification
97
-
-**Frontend**: Explore [`frontend/src/plugin.jsx`](./frontend/src/plugin.jsx) for UI customization
97
+
-**Frontend**: Explore [`frontend-plugin-sample/src/plugin.jsx`](./frontend-plugin-sample/src/plugin.jsx) for UI customization
98
98
99
99
### 4. Run This Sample
100
100
Follow the [Quick Start Guide](#quick-start-guide) to see everything working together.
@@ -118,7 +118,7 @@ sample-plugin/
118
118
│ │ ├── settings/ # Plugin settings configuration
119
119
│ │ └── urls.py # URL routing
120
120
│ └── tests/ # Comprehensive test examples
121
-
├── frontend/
121
+
├── frontend-plugin-sample/
122
122
│ ├── README.md # Frontend plugin detailed guide
123
123
│ ├── src/
124
124
│ │ ├── plugin.jsx # React component for MFE slot
@@ -148,11 +148,11 @@ sample-plugin/
148
148
149
149
1.**Setup**: Follow frontend setup in [Quick Start](#quick-start-guide)
150
150
2.**Development**:
151
-
- Modify React components in `frontend/src/`
151
+
- Modify React components in `frontend-plugin-sample/src/`
152
152
- Test with local MFE development server
153
153
3.**Testing**: Integration testing with MFE
154
154
155
-
**Detailed Guide**: See [`frontend/README.md`](./frontend/README.md)
155
+
**Detailed Guide**: See [`frontend-plugin-sample/README.md`](./frontend-plugin-sample/README.md)
156
156
157
157
### Full-Stack Plugin Development
158
158
@@ -174,7 +174,7 @@ class CourseArchiveStatusViewSet(viewsets.ModelViewSet):
174
174
```
175
175
176
176
```jsx
177
-
// frontend/src/plugin.jsx - Consumes API
177
+
// frontend-plugin-sample/src/plugin.jsx - Consumes API
0 commit comments