Created: 06-08-2018 · Last updated: 05-09-2026
CDSL web-backend repository in the Sanskrit Lexicon project — the plain-PHP
API endpoints (getword, dispitem, salt_entries, …) plus the Python/JS
tooling behind sanskrit-lexicon.uni-koeln.de. There is no Composer/npm/Mako
project here; CI
lints what exists (PHP php -l, Python ruff warn-only, YAML).
Several core display files are hand-synced forks shared with
csl-websanlexicon:
basicadjust.php,
basicdisplay.php,
and getword_data.php.
Edits are made in csl-websanlexicon first, then transferred here via that repo's
apidev_copy.sh — see readme1_websanlexicon.txt.
Keep the two copies in sync (drift check: /cologne-fork-sync-check).
- Operator manual —
docs/WEB_BACKEND_MANUAL.md: the one-stop map + runbook to run, extend, and fork-sync this backend (endpoint catalogue, local data staging, Salt surface status, scan serving, security posture, deploy reality, symptom→cause→cure).
API endpoint docs live in doc/. Of note:
- Salt API — a C-SALT-compatible REST + GraphQL
interface over the existing dictionary data, so a client written for the C-SALT APIs
uses the same endpoint shapes against
sanskrit-lexicon.uni-koeln.de, with Phase 1 caveats documented in the Salt specs. Endpoint specs:salt_entries,salt_ids,salt_graphql,salt_multidict; Phase 1 controller skeleton in csl-apidev#46. The normative contract, schemas, and roadmap live in csl-standards#2. - Clean-URL permalinks roadmap — path-based direct links to
dictionary entries, e.g.
/MW/bAQaor/MW/144239(COLOGNE#249); the HTML and collision-safe-routing face of the Salt permalink. - Unified web interface (
app/) — the redesigned front end that consolidates the classic Basic / List / Advanced / Mobile / Simple pages into one responsive search, plus a catalogue homepage and dictionary-detail route. Implements the ruled Proposal A (Research Workbench); design docs indoc/ux-redesign/. Additive layer, existing endpoints and production URLs unchanged.
The Salt API's live entry-point is api1/salt_entries.php,
documented in doc/salt_entries.md. A real,
already-verified request (checked live against sanskrit-lexicon.uni-koeln.de
per the doc):
https://sanskrit-lexicon.uni-koeln.de/dicts/mw/restful/entries?field=headword_slp1&query=agni&query_type=term
which returns the C-SALT-compatible JSON envelope the controller builds —
salt_entries.php wraps the existing getword data as {"data":{"entries":[...]}}
(see the handler in api1/salt_entries.php lines 15–18).
The permalink form of the same lookup:
https://sanskrit-lexicon.uni-koeln.de/MW/agni # by headword
https://sanskrit-lexicon.uni-koeln.de/MW/144239 # by lnum
field also accepts id, sense, re_headwords_slp1, created, xml; query_type
accepts term, fuzzy, match, match_phrase, prefix, wildcard, regexp
(Phase 1 implements headword_slp1/term only — see the doc for the full parameter table).
Total: 47 | Open: 22 | Closed: 25 (as of 11-07-2026)
| Milestone | Open | Closed | Total |
|---|---|---|---|
| User Experience | 18 | 19 | 37 |
| API Stability | 2 | 2 | 4 |
| Community | 1 | 3 | 4 |
| Developer Experience | 1 | 1 | 2 |
pie title Issues by Type
"enhancement" : 24
"bug" : 11
"question" : 4
"security" : 2
"tech-debt" : 2
"performance" : 1
"feature" : 1
pie title Issues by Severity
"minor" : 37
"trivial" : 5
"major" : 5
Follows the Cologne tooling-repo taxonomy:
- 9 type labels: bug, feature, enhancement, performance, tech-debt, security, documentation, infrastructure, question
- 4 severity levels: trivial, minor, major, critical
- 5 milestones: API Stability, User Experience, Data Quality, Developer Experience, Community
- Org Project: Tooling Roadmap
See CLAUDE.md for full definitions.
Issue-taxonomy scaffold generated by the Cologne Tooling Runbook (2026-05-15); issue statistics refreshed live 11-07-2026.
Dr. Mārcis Gasūns