Skip to content

Commit 5bee2d0

Browse files
committed
docs: add Strapi update strategy documentation
1 parent 7fe4232 commit 5bee2d0

4 files changed

Lines changed: 186 additions & 0 deletions

File tree

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,10 @@ STRAPI_PUBLIC_URL=http://0.0.0.0:1337
181181

182182
Choose the option that best fits your workflow to start the server without Docker. Once the server is running, you can access the application from your browser.
183183

184+
## Strapi Updates
185+
186+
For detailed information about updating Strapi (currently v4.25.8), including migration steps, testing strategy, and troubleshooting, see the [Strapi Update Strategy](./STRAPI_UPDATE_STRATEGY.md) guide.
187+
184188
## FAQ
185189

186190
### I Have Issues with Building the Project or Starting the Server

STRAPI_UPDATE_STRATEGY.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# Strapi Update Strategy
2+
3+
This document outlines the process for updating Strapi from the current version (v4.25.8) to newer versions.
4+
5+
## Pre-Update Checklist
6+
7+
### 1. Review Official Documentation
8+
9+
- **Critical**: Check the [Strapi Migration Guide](https://docs-v4.strapi.io/dev-docs/migration-guides) for breaking changes
10+
- Review the [Strapi Changelog](https://github.com/strapi/strapi/releases) for all versions between current and target version
11+
- Pay special attention to any database migration requirements
12+
13+
### 2. Plugin Version Alignment
14+
15+
- Ensure all standard Strapi plugins match the target Strapi version
16+
- Update plugin versions in `package.json` to align with the new Strapi version
17+
- Check compatibility of custom plugins with the new version
18+
19+
## Update Process
20+
21+
### 3. Homepage Customization (patch-package)
22+
23+
We currently override the Strapi homepage using patch-package. After each update:
24+
25+
1. **Locate Homepage Files**: Navigate to `node_modules/@strapi/admin/dist/chunks/`
26+
2. **Find Homepage Chunks**: Look for homepage-related files (may be multiple files for different locales)
27+
- File names may change between versions
28+
- Search for files containing homepage components
29+
3. **Apply Customizations**: Modify the homepage files as needed
30+
4. **Update Patch File**:
31+
32+
```bash
33+
# Remove old patch file
34+
rm patches/@strapi+admin+*.patch
35+
36+
# Generate new patch file
37+
npx patch-package @strapi/admin
38+
```
39+
40+
### 4. React Version Compatibility
41+
42+
If Strapi requires React updates:
43+
44+
- Test the Strapi dashboard thoroughly
45+
- Pay special attention to non-standard Strapi plugins
46+
- Verify compatibility with custom-developed plugins
47+
48+
## Testing Strategy
49+
50+
### Core Testing
51+
52+
- [ ] Content Manager (create, edit, delete, publish)
53+
- [ ] Media Library upload and management
54+
- [ ] Users & Permissions and admin authentication
55+
- [ ] API endpoints and GraphQL schema
56+
- [ ] Frontend data fetching and authentication flows
57+
58+
### Plugin Testing
59+
60+
- [ ] strapi-plugin-config-sync
61+
- [ ] `@frameless/strapi-plugin-uniform-product-name`
62+
- [ ] `@frameless/strapi-tiptap-editor`
63+
- [ ] Custom field types and validation
64+
- [ ] All other installed plugins
65+
66+
## Post-Update Verification
67+
68+
- [ ] Local and Docker environments (dev/prod)
69+
- [ ] All project variants (PDC, VTH)
70+
- [ ] Database migrations completed
71+
- [ ] Configuration and environment variables valid
72+
73+
## Rollback Plan
74+
75+
If issues are discovered:
76+
77+
1. Revert to previous Strapi version in `package.json`
78+
2. Restore previous patch files from version control
79+
3. Run `yarn install` to reinstall previous versions
80+
4. Test functionality to ensure rollback success
81+
82+
## Documentation Updates
83+
84+
After successful update:
85+
86+
- [ ] Update version numbers in documentation
87+
- [ ] Update any version-specific instructions
88+
- [ ] Document any new configuration requirements
89+
- [ ] Update environment variable documentation if needed
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# Strapi Update Strategy
2+
3+
This document outlines the process for updating Strapi from the current version (v4.25.8) to newer versions.
4+
5+
## Pre-Update Checklist
6+
7+
### 1. Review Official Documentation
8+
9+
- **Critical**: Check the [Strapi Migration Guide](https://docs-v4.strapi.io/dev-docs/migration-guides) for breaking changes
10+
- Review the [Strapi Changelog](https://github.com/strapi/strapi/releases) for all versions between current and target version
11+
- Pay special attention to any database migration requirements
12+
13+
### 2. Plugin Version Alignment
14+
15+
- Ensure all standard Strapi plugins match the target Strapi version
16+
- Update plugin versions in `package.json` to align with the new Strapi version
17+
- Check compatibility of custom plugins with the new version
18+
19+
## Update Process
20+
21+
### 3. Homepage Customization (patch-package)
22+
23+
We currently override the Strapi homepage using patch-package. After each update:
24+
25+
1. **Locate Homepage Files**: Navigate to `node_modules/@strapi/admin/dist/chunks/`
26+
2. **Find Homepage Chunks**: Look for homepage-related files (may be multiple files for different locales)
27+
- File names may change between versions
28+
- Search for files containing homepage components
29+
3. **Apply Customizations**: Modify the homepage files as needed
30+
4. **Update Patch File**:
31+
32+
```bash
33+
# Remove old patch file
34+
rm patches/@strapi+admin+*.patch
35+
36+
# Generate new patch file
37+
npx patch-package @strapi/admin
38+
```
39+
40+
### 4. React Version Compatibility
41+
42+
If Strapi requires React updates:
43+
44+
- Test the Strapi dashboard thoroughly
45+
- Pay special attention to non-standard Strapi plugins
46+
- Verify compatibility with custom-developed plugins
47+
48+
## Testing Strategy
49+
50+
### Core Testing
51+
52+
- [ ] Content Manager (create, edit, delete, publish)
53+
- [ ] Media Library upload and management
54+
- [ ] Users & Permissions and admin authentication
55+
- [ ] API endpoints and GraphQL schema
56+
- [ ] Frontend data fetching and authentication flows
57+
58+
### Plugin Testing
59+
60+
- [ ] strapi-plugin-config-sync
61+
- [ ] `@frameless/strapi-plugin-uniform-product-name`
62+
- [ ] `@frameless/strapi-tiptap-editor`
63+
- [ ] Custom field types and validation
64+
- [ ] All other installed plugins
65+
66+
## Post-Update Verification
67+
68+
- [ ] Local and Docker environments (dev/prod)
69+
- [ ] All project variants (PDC, VTH)
70+
- [ ] Database migrations completed
71+
- [ ] Configuration and environment variables valid
72+
73+
## Rollback Plan
74+
75+
If issues are discovered:
76+
77+
1. Revert to previous Strapi version in `package.json`
78+
2. Restore previous patch files from version control
79+
3. Run `yarn install` to reinstall previous versions
80+
4. Test functionality to ensure rollback success
81+
82+
## Documentation Updates
83+
84+
After successful update:
85+
86+
- [ ] Update version numbers in documentation
87+
- [ ] Update any version-specific instructions
88+
- [ ] Document any new configuration requirements
89+
- [ ] Update environment variable documentation if needed

apps/strapi.frameless.io/docs/developers/readme.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,10 @@ TRANSFER_TOKEN_SALT=
238238

239239
Choose the option that best fits your workflow to start the server without Docker. Once the server is running, you can access the application from your browser.
240240

241+
## Strapi Updates
242+
243+
For detailed information about updating Strapi (currently v4.25.8), including migration steps, testing strategy, and troubleshooting, see the [Strapi Update Strategy](./STRAPI_UPDATE_STRATEGY.md) guide.
244+
241245
## FAQ
242246

243247
### I Have Issues with Building the Project or Starting the Server

0 commit comments

Comments
 (0)