Skip to content

Commit 57a1d2f

Browse files
committed
Add a plan
1 parent 26a062f commit 57a1d2f

1 file changed

Lines changed: 51 additions & 0 deletions

File tree

docs/concepts/plan.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# MVP Plan: Doodle Addon for Plone
2+
3+
This document outlines the atomic steps for implementing a minimal Doodle-like addon for Plone, focusing on folderish and date content types, permissions, and a doodle-style view.
4+
5+
---
6+
7+
## Atomic Commit Steps
8+
9+
1. **Add schema interface for `experimental.doodle.folder`**
10+
- File: `src/experimental/doodle/interfaces.py`
11+
2. **Implement `experimental.doodle.folder` content type**
12+
- File: `src/experimental/doodle/content/folder.py`
13+
3. **Register `experimental.doodle.folder` in ZCML**
14+
- File: `src/experimental/doodle/configure.zcml`
15+
4. **Add type info XML for folder**
16+
- File: `src/experimental/doodle/profiles/default/types/experimental.doodle.folder.xml`
17+
5. **Add custom permissions for folder**
18+
- File: `src/experimental/doodle/permissions.zcml`
19+
6. **Add schema interface for `experimental.doodle.date`**
20+
- File: `src/experimental/doodle/interfaces.py`
21+
7. **Implement `experimental.doodle.date` content type**
22+
- File: `src/experimental/doodle/content/date.py`
23+
8. **Register `experimental.doodle.date` in ZCML**
24+
- File: `src/experimental/doodle/configure.zcml`
25+
9. **Add type info XML for date**
26+
- File: `src/experimental/doodle/profiles/default/types/experimental.doodle.date.xml`
27+
10. **Add custom permissions for date**
28+
- File: `src/experimental/doodle/permissions.zcml`
29+
11. **Implement user selection logic (`participants` field) in date type**
30+
12. **Implement doodle-style browser view**
31+
- File: `src/experimental/doodle/browser/doodleview.py`
32+
13. **Add tests for type creation and permissions**
33+
14. **Update documentation**
34+
- Files: `README.md`, `docs/concepts/plan.md`
35+
36+
---
37+
38+
## Key Decisions
39+
- Two types: `experimental.doodle.folder` (folderish), `experimental.doodle.date` (date, non-folderish)
40+
- `participants` field for user selection
41+
- Custom permissions for each type
42+
- Doodle-style view for folder
43+
44+
---
45+
46+
## Verification
47+
- Addon installs, both types available
48+
- Permission separation works
49+
- Dates can be added, users can select dates
50+
- Doodle view displays sorted dates and user selections
51+
- Tests and lint pass after each step

0 commit comments

Comments
 (0)