Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ go.work.sum

# local mkdocs.yml copy in the root directory
/mkdocs.yml
/.venv

.timetracker
local/
Expand All @@ -42,4 +43,4 @@ ctRestClient*
coverage.*

*.kdbx
.vscode
.vscode
5 changes: 4 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.PHONY: test alltest coverage coverage-html coverage-func generate lint build clean help
.PHONY: test alltest coverage coverage-html coverage-func generate lint build mkdocs clean help

test:
go test -coverprofile=coverage.out $$(go list ./... | grep -v fakes | grep -v ./tests/end2end)
Expand Down Expand Up @@ -26,6 +26,9 @@ build:
generate:
./scripts/generate_fakes

mkdocs:
./scripts/run_mkdocs.sh

clean:
rm -f coverage.out coverage.html
rm -rf dist/
36 changes: 34 additions & 2 deletions docs/manual-de.md.tmp
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

**Wichtig**: Ohne `keepassxc-cli` im PATH kann ctRestClient nicht auf die Token-Datenbank zugreifen!

2. **ChurchTools-Zugang**:
2. **ChurchTools-Zugang**:
- Gültiger API-Token für jede ChurchTools-Instanz
- Berechtigung zum Lesen der entsprechenden Gruppen

Expand Down Expand Up @@ -116,7 +116,7 @@ Erstellen Sie die Datei `data/persons/sexId.yml`:

**Konfiguration:**
```yaml
fields:
fields:
- id
- firstName
- lastName
Expand Down Expand Up @@ -340,6 +340,38 @@ Detaillierte Informationen über die Ausführung finden Sie in der `ctRestClient
- Fehlermeldungen mit Details
- Performance-Informationen

## Serienbrief-Automation

Um die exportierten CSV-Dateien komfortabel in Adobe InDesign für Serienbriefe zu verarbeiten, enthält das `ctRestClient_<version>.tar.gz`-Archiv das InDesign-Skript `create_serial_letters.jsx` im Verzeichnis `jsx`.
Vor der ersten Verwendung muss dieses Skript zunächst in das entsprechende InDesign-Skriptverzeichnis kopiert werden.

Bei der Ausführung des Skripts in InDesign werden Sie aufgefordert, ein Verzeichnis mit CSV-Dateien auszuwählen.
Das Skript verarbeitet die exportierten CSV-Dateien mithilfe der benötigten InDesign-Vorlagen zu Serienbriefen.
Die erforderlichen InDesign-Vorlagen werden im Verzeichnis `templates` erwartet. Dieses `templates`-Verzeichnis muss auf derselben Ebene wie das `exports`-Verzeichnis verfügbar sein.
Die erzeugten Serienbriefdokumente werden im `serial_letters`-Verzeichnis abgelegt. Innerhalb des `serial_letters`-Verzeichnisses wird ein datumsbasiertes Unterverzeichnis angelegt, das dem Datumsverzeichnis der verwendeten CSV-Dateien entspricht.

Das Script geht davon aus, dass `exports`, `templates` und `serial_letters` im Benutzerverzeichnis liegen. Falls diese Verzeichnisse an einem anderen Ort abgelegt sind, müssen diese Pfade im Skript verändert werden.

Nachfolgend ist die gesamte Verzeichnisstruktur dargestellt.
```
exports/
└── 2025.08.06_14-30-15/ // Dieses Verzeichnis kann als Quelle für CSV-Dateien ausgewählt werden
├── ctRestClient.log
└── ihre-kirche.krz.tools/ // Alternativ kann auch dieses Verzeichnis als Quelle gewählt werden
├── Konfirmanden.csv
└── Eltern_von_Konfirmanden.csv

templates/
└── ihre-kirche.krz.tools/ // Die Vorlagen müssen vor der Skriptausführung bereitgestellt werden
├── Konfirmanden.indd // Die Namen der Vorlagen müssen mit den CSV-Dateien übereinstimmen
└── Eltern_von_Konfirmanden.indd

serial_letters/ // Alle Daten in diesem Verzeichnis werden vom Skript generiert
└── 2025.08.06_14-30-15/
├── ihre-kirche_Konfirmanden_merged.indd
└── ihre-kirche_Eltern_von_Konfirmanden_merged.indd
```

## Best Practices

### Sicherheit
Expand Down
39 changes: 37 additions & 2 deletions docs/manual-en.md.tmp
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

**Important**: Without `keepassxc-cli` in PATH, ctRestClient cannot access the token database!

2. **ChurchTools Access**:
2. **ChurchTools Access**:
- Valid API token for each ChurchTools instance
- Permission to read the relevant groups

Expand Down Expand Up @@ -114,7 +114,7 @@ Create the file `data/persons/sexId.yml`:

**Configuration:**
```yaml
fields:
fields:
- id
- firstName
- lastName
Expand Down Expand Up @@ -338,6 +338,41 @@ Detailed information about execution can be found in the `ctRestClient.log` file
- Error messages with details
- Performance information

## Mail Merge Automation

To conveniently process exported CSV files for mail merges in Adobe InDesign, the `ctRestClient_<version>.tar.gz` archive includes the InDesign script `create_serial_letters.jsx` in the `jsx` directory.
Before first use, this script must be copied to the appropriate InDesign scripts directory.

When executing the script in InDesign, you will be prompted to select a directory containing CSV files.
The script processes the exported CSV files using the required InDesign templates to generate mail merge documents.
The necessary InDesign templates are expected in the `templates` directory. This `templates` directory must be available at the same level as the `exports` directory.
The generated mail merge documents are saved in the `serial_letters` directory. Within the `serial_letters` directory, a date-based subdirectory is created, corresponding to the date directory of the CSV files used.

**Note**:
The script assumes that the `exports`, `templates`, and `serial_letters` directories are located in the user directory. If these directories are stored elsewhere, the paths must be adjusted in the script.

Directory Structure

```
exports/
└── 2025.08.06_14-30-15/ // This directory can be selected as the source for CSV files
├── ctRestClient.log
└── your-church.krz.tools/ // Alternatively, this directory can also be selected as the source
├── Confirmation_Class.csv
└── Parents_of_Confirmation_Class.csv

templates/
└── your-church.krz.tools/ // Templates must be provided before running the script
├── Confirmation_Class.indd // Template names must match the CSV files (without extension)
└── Parents_of_Confirmation_Class.indd

serial_letters/ // All data in this directory is generated by the script
└── 2025.08.06_14-30-15/
├── your-church_Confirmation_Class_merged.indd
└── your-church_Parents_of_Confirmation_Class_merged.indd
```


## Best Practices

### Security
Expand Down
Loading
Loading