elFinder CQRS Rollout and Operations¶
Summary¶
SkyCMS routes elFinder connector commands through CQRS handlers in production. A legacy path still exists as a safety fallback when mediator resolution is unavailable.
Current state¶
- All 15 supported elFinder commands are on CQRS by default.
- Routing is controlled by configuration with optional per-command overrides.
- If MediatR cannot be resolved, requests fall back silently to the legacy implementation.
Configuration¶
"ElFinder": {
"Cqrs": {
"Enabled": true
}
}
Per-command override:
"ElFinder": {
"Cqrs": {
"Enabled": true,
"Commands": {
"rm": false
}
}
}
| Key | Type | Purpose |
|---|---|---|
ElFinder:Cqrs:Enabled |
bool | Global CQRS switch for elFinder commands |
ElFinder:Cqrs:Commands:<cmd> |
bool | Per-command override (higher priority) |
Evaluation order¶
- Per-command key
ElFinder:Cqrs:Commands:<cmd> - Global key
ElFinder:Cqrs:Enabled - Query-string overrides (
__cqrs=1,__cqrs_<cmd>=1) for ad-hoc testing - Legacy path default
Ad-hoc testing flags¶
| Flag | Effect |
|---|---|
?__cqrs=1 |
Force all commands to CQRS |
?__cqrs_<cmd>=1 |
Force a specific command to CQRS |
Notes:
?__cqrs_<cmd>=0is not supported.- To disable a command, use
ElFinder:Cqrs:Commands:<cmd>=false.
Command handler inventory¶
| Command | Handler |
|---|---|
open |
OpenCommandHandler |
tree |
TreeCommandHandler |
ls |
LsCommandHandler |
mkdir |
MkdirCommandHandler |
mkfile |
MkfileCommandHandler |
rename |
RenameCommandHandler |
rm |
RmCommandHandler |
upload |
UploadCommandHandler |
get |
GetCommandHandler |
put |
PutCommandHandler |
paste |
PasteCommandHandler |
tmb |
TmbCommandHandler |
info |
InfoCommandHandler |
size |
SizeCommandHandler |
parents |
ParentsCommandHandler |
Rollback options¶
Disable a single command:
"ElFinder": {
"Cqrs": {
"Enabled": true,
"Commands": {
"rm": false
}
}
}
Disable all commands:
"ElFinder": {
"Cqrs": {
"Enabled": false
}
}
After config changes, restart the application so routing changes are applied consistently.