Skip to content

Commit 3703b63

Browse files
committed
docs: Multilingual documentation cleanup and CHANGELOG
- Added English versions of new docs (PLUGIN-STORE-CHECKLIST_EN.md, WOLTLAB-VERSIONS_EN.md) - Created CHANGELOG.md (English only for releases) - Moved internal docs to .github/docs/ (GITHUB-WORKFLOWS.md, GITHUB-WORKFLOW-TEST.md) - Deleted WSPACKAGER-ANALYSE.md (internal analysis) - Updated README_EN.md with new features and documentation links - Improved multilingual documentation structure (DE + EN parallel)
1 parent cfbc907 commit 3703b63

File tree

6 files changed

+728
-0
lines changed

6 files changed

+728
-0
lines changed
Lines changed: 222 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,222 @@
1+
# GitHub Workflow Testen - Anleitung
2+
3+
**Copyright (c) 2025 SunnyCueq**
4+
5+
---
6+
7+
## Übersicht
8+
9+
Der GitHub Workflow wird automatisch ausgelöst, wenn du einen Git-Tag mit dem Format `v*` (z.B. `v1.1.1`) pusht. Diese Anleitung erklärt, wie du den Workflow manuell testest.
10+
11+
---
12+
13+
## Methode 1: Tag erstellen und pushen (empfohlen)
14+
15+
### Schritt 1: Tag erstellen
16+
17+
**Im Terminal (im Projekt-Verzeichnis):**
18+
19+
```bash
20+
# Wechsle ins Projekt-Verzeichnis
21+
cd /home/benny/Dokumente/simple-woltlab-plugin-manager
22+
23+
# Erstelle einen neuen Tag (z.B. v1.1.1)
24+
git tag -a v1.1.1 -m "test: GitHub Workflow Test - v1.1.1"
25+
```
26+
27+
**Was passiert?**
28+
- Ein neuer Git-Tag wird lokal erstellt
29+
- `-a` erstellt einen "annotated tag" (mit Nachricht)
30+
- `-m` fügt eine Nachricht hinzu
31+
32+
**Alternative (ohne Nachricht):**
33+
```bash
34+
git tag v1.1.1
35+
```
36+
37+
### Schritt 2: Tag pushen
38+
39+
**Im Terminal:**
40+
41+
```bash
42+
# Pushe den Tag zu GitHub
43+
git push origin v1.1.1
44+
```
45+
46+
**Was passiert?**
47+
- Der Tag wird zu GitHub gepusht
48+
- GitHub Actions erkennt den neuen Tag
49+
- Der Workflow startet automatisch
50+
51+
### Schritt 3: Workflow prüfen
52+
53+
**Im Browser:**
54+
55+
1. Öffne: https://github.com/SunnyCueq/simple-woltlab-plugin-manager/actions
56+
2. Du siehst den laufenden Workflow "chore: Version auf 1.1.1 erhöht"
57+
3. Klicke darauf, um Details zu sehen
58+
4. Warte, bis der Workflow fertig ist (ca. 1-2 Minuten)
59+
60+
**Was der Workflow macht:**
61+
- ✅ Checkt den Code aus
62+
- ✅ Setzt PHP 8.1 auf
63+
- ✅ Extrahiert Version und Package-Name aus package.xml
64+
- ✅ Parst package.xml dynamisch
65+
- ✅ Erstellt das Plugin-Package
66+
- ✅ Erstellt ein GitHub Release mit dem Package
67+
68+
---
69+
70+
## Methode 2: Bestehenden Tag pushen
71+
72+
Falls du bereits einen Tag lokal hast:
73+
74+
```bash
75+
# Zeige alle lokalen Tags
76+
git tag -l
77+
78+
# Pushe einen bestimmten Tag
79+
git push origin v1.1.0
80+
81+
# Oder pushe alle Tags
82+
git push origin --tags
83+
```
84+
85+
---
86+
87+
## Workflow-Status prüfen
88+
89+
### Im Terminal:
90+
91+
```bash
92+
# Prüfe ob der Tag auf GitHub ist
93+
git ls-remote --tags origin | grep v1.1.1
94+
```
95+
96+
### Im Browser:
97+
98+
1. **Actions-Seite:**
99+
- https://github.com/SunnyCueq/simple-woltlab-plugin-manager/actions
100+
- Zeigt alle Workflow-Runs
101+
102+
2. **Releases-Seite:**
103+
- https://github.com/SunnyCueq/simple-woltlab-plugin-manager/releases
104+
- Zeigt alle erstellten Releases
105+
106+
3. **Tags-Seite:**
107+
- https://github.com/SunnyCueq/simple-woltlab-plugin-manager/tags
108+
- Zeigt alle Tags
109+
110+
---
111+
112+
## Troubleshooting
113+
114+
### "Tag existiert bereits"
115+
116+
**Problem:**
117+
```
118+
error: tag 'v1.1.1' already exists
119+
```
120+
121+
**Lösung:**
122+
```bash
123+
# Lösche den lokalen Tag
124+
git tag -d v1.1.1
125+
126+
# Oder verwende eine andere Version
127+
git tag -a v1.1.2 -m "test: GitHub Workflow Test"
128+
```
129+
130+
### "Workflow startet nicht"
131+
132+
**Mögliche Ursachen:**
133+
1. Tag-Format falsch (muss `v*` sein, z.B. `v1.1.1`)
134+
2. Workflow-Datei hat Syntax-Fehler
135+
3. GitHub Actions ist deaktiviert
136+
137+
**Prüfen:**
138+
```bash
139+
# Prüfe ob der Tag gepusht wurde
140+
git ls-remote --tags origin | grep v1.1.1
141+
142+
# Prüfe die Workflow-Datei
143+
cat .github/workflows/release.yml
144+
```
145+
146+
### "Workflow schlägt fehl"
147+
148+
**Prüfe die Logs:**
149+
1. Gehe zu: https://github.com/SunnyCueq/simple-woltlab-plugin-manager/actions
150+
2. Klicke auf den fehlgeschlagenen Run
151+
3. Klicke auf "build" Job
152+
4. Prüfe die Fehlermeldungen
153+
154+
**Häufige Fehler:**
155+
- `package.xml` nicht gefunden → Prüfe ob package.xml im Repository ist
156+
- Scripts nicht gefunden → Prüfe ob `scripts/parse-package-xml.sh` existiert
157+
- PHP-Version → Workflow verwendet PHP 8.1
158+
159+
---
160+
161+
## Beispiel: Kompletter Test-Ablauf
162+
163+
```bash
164+
# 1. Ins Projekt-Verzeichnis wechseln
165+
cd /home/benny/Dokumente/simple-woltlab-plugin-manager
166+
167+
# 2. Aktuellen Stand prüfen
168+
git status
169+
170+
# 3. Tag erstellen
171+
git tag -a v1.1.1 -m "test: GitHub Workflow Test - v1.1.1"
172+
173+
# 4. Tag pushen
174+
git push origin v1.1.1
175+
176+
# 5. Workflow prüfen (im Browser)
177+
# https://github.com/SunnyCueq/simple-woltlab-plugin-manager/actions
178+
```
179+
180+
---
181+
182+
## Wichtige Hinweise
183+
184+
### Tag-Namen
185+
186+
-**Richtig:** `v1.1.1`, `v2.0.0`, `v1.2.3-beta`
187+
-**Falsch:** `1.1.1`, `version-1.1.1`, `test`
188+
189+
Der Workflow erwartet Tags, die mit `v` beginnen!
190+
191+
### Tag löschen (falls nötig)
192+
193+
**Lokal:**
194+
```bash
195+
git tag -d v1.1.1
196+
```
197+
198+
**Auf GitHub:**
199+
```bash
200+
git push origin :refs/tags/v1.1.1
201+
```
202+
203+
**⚠️ Vorsicht:** Gelöschte Tags können Probleme verursachen, wenn sie bereits verwendet wurden!
204+
205+
---
206+
207+
## Nächste Schritte
208+
209+
Nach erfolgreichem Workflow-Test:
210+
211+
1. ✅ Workflow funktioniert → Du kannst echte Releases erstellen
212+
2. ❌ Workflow schlägt fehl → Prüfe die Fehlermeldungen und korrigiere sie
213+
214+
**Für echte Releases:**
215+
- Verwende `scripts/version.sh` für Repository-Versionen
216+
- Verwende `scripts/plugin-version.sh` für Plugin-Versionen
217+
- Oder erstelle Tags manuell wie oben beschrieben
218+
219+
---
220+
221+
**Letzte Aktualisierung:** 2025-11-08
222+
File renamed without changes.

CHANGELOG.md

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
---
9+
10+
## [Unreleased]
11+
12+
### Added
13+
- WoltLab 6.0/6.1/6.2 compatibility validation
14+
- Plugin Store compliance checks in `validate-plugin.sh`:
15+
- Translation validation (DE/EN mandatory)
16+
- Minversion validation (6.0/6.1/6.2)
17+
- Package server prohibition check
18+
- Excludedpackages recommendation
19+
- SQL injection pattern detection
20+
- XSS risk detection in templates
21+
- Debug code detection (var_dump, console.log, test credentials)
22+
- WoltLab API best practices (HTTPRequest/Guzzle)
23+
- New documentation files:
24+
- `PLUGIN-STORE-CHECKLIST.md` / `PLUGIN-STORE-CHECKLIST_EN.md` - Complete submission guide
25+
- `WOLTLAB-VERSIONS.md` / `WOLTLAB-VERSIONS_EN.md` - Version compatibility guide
26+
- `CHANGELOG.md` - This file
27+
28+
### Changed
29+
- `README.md` and `README_EN.md` - Added new features and documentation links
30+
- `validate-plugin.sh` - Removed strict error handling to allow warnings
31+
- Moved `GITHUB-WORKFLOWS.md` and `GITHUB-WORKFLOW-TEST.md` to `.github/docs/`
32+
33+
### Removed
34+
- `WSPACKAGER-ANALYSE.md` - Internal analysis file (not user-relevant)
35+
36+
---
37+
38+
## [1.4.3] - 2025-11-08
39+
40+
### Changed
41+
- Version bump for workflow testing
42+
43+
---
44+
45+
## [1.4.2] - 2025-11-08
46+
47+
### Fixed
48+
- GitHub Actions workflow for toolkit repository
49+
50+
### Changed
51+
- Updated all dates to 2025-11-08
52+
53+
---
54+
55+
## [1.4.1] - 2025-11-08
56+
57+
### Added
58+
- Multilingual issue templates (DE/EN)
59+
- `CONTRIBUTING.md` with contribution guidelines
60+
61+
### Changed
62+
- Updated version and dates in README files
63+
64+
### Removed
65+
- Question template from GitHub issues
66+
- `.cursorrules` from repository (local only)
67+
68+
---
69+
70+
## [1.4.0] - 2025-11-08
71+
72+
### Added
73+
- Complete logging system for all scripts
74+
- Error handling with detailed error messages
75+
- `validate-plugin.sh` - Plugin structure validation
76+
- Troubleshooting documentation (DE/EN)
77+
78+
### Changed
79+
- Massively improved `install.sh` with:
80+
- Path validation
81+
- WoltLab Core validation
82+
- Max retries to prevent endless loops
83+
- Comprehensive logging
84+
- Enhanced all scripts with logging and error handling
85+
86+
---
87+
88+
## [1.0.0] - 2025-01-01
89+
90+
### Added
91+
- Initial release
92+
- Interactive installation script
93+
- Generic build scripts (extract, update, create-release)
94+
- Workspace templates for Cursor/VSCode
95+
- IDE setup with Intelephense configuration
96+
- Example plugin based on WoltLab Getting Started
97+
- Comprehensive documentation (DE/EN)
98+
- Multi-root workspace support
99+
- Automatic version management scripts
100+
101+
---
102+
103+
## Release Notes
104+
105+
### Version Scheme
106+
This project uses [Semantic Versioning](https://semver.org/):
107+
- **MAJOR** version for incompatible API changes
108+
- **MINOR** version for new functionality in a backward compatible manner
109+
- **PATCH** version for backward compatible bug fixes
110+
111+
### Support
112+
- **Maintained versions:** Latest release only
113+
- **WoltLab Suite:** 6.0, 6.1, 6.2
114+
- **PHP:** 8.0+
115+
116+
---
117+
118+
**Copyright (c) 2025 SunnyCueq**
119+
**License:** MIT (Open Source)
120+
**Repository:** https://github.com/SunnyCueq/simple-woltlab-plugin-manager

README_EN.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,11 @@ code woltlab-plugin-dev.code-workspace
9797
- **🏗️ Workspace Templates:** Pre-configured multi-root workspaces for Cursor/VSCode
9898
- **🧠 IDE Setup:** Automatic configuration of Intelephense for WoltLab classes
9999
- **🚀 Release Management:** Create releases with a single command
100+
- **🔒 Security Validation:** Automatic checks for SQL injection and XSS risks
101+
- **✅ Plugin Store Compliance:** Automatically checks all Plugin Store requirements
102+
- **🌍 Translation Check:** Validates German + English (mandatory)
103+
- **🎯 API Best Practices:** Checks WoltLab API usage (cloud-compatible)
104+
- **🧹 Quality Checks:** Finds debug code, test credentials, inefficient patterns
100105
- **📖 Comprehensive Documentation:** Guides for different operating systems and IDEs (EN/DE)
101106

102107
## 📚 Documentation
@@ -142,6 +147,9 @@ code woltlab-plugin-dev.code-workspace
142147
- **[DEVELOPER-TOOLS.md](docs/DEVELOPER-TOOLS.md)** - Developer tools and debug options
143148
- **[PACKAGING.md](docs/PACKAGING.md)** - Complete packaging workflow (Development → Package → Release)
144149
- **[PIP-TYPES.md](docs/PIP-TYPES.md)** - Supported PIP types and default filenames
150+
- **[PLUGIN-STORE-CHECKLIST_EN.md](docs/PLUGIN-STORE-CHECKLIST_EN.md)** - 🆕 Checklist for Plugin Store submission
151+
- **[WOLTLAB-VERSIONS_EN.md](docs/WOLTLAB-VERSIONS_EN.md)** - 🆕 WoltLab 6.0/6.1/6.2 compatibility
152+
- **[CHANGELOG.md](CHANGELOG.md)** - 🆕 Project changelog (release notes)
145153

146154
### ⚙️ For Experts
147155

0 commit comments

Comments
 (0)