Control Unified Search availability through Policy Workbench
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 22/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- php, typescript
- Ambito
- authorization, backend, frontend, search
Direzione di ricerca
Start with the policy framework in lib/Service/Policy/PolicyService.php and lib/Service/Policy/Provider/PolicyProviders.php, then read lib/Service/Policy/Provider/Confetti/ConfettiPolicy.php as the model for a boolean policy. The search side is FileSearchProvider::getOrder() and its search() method, and the settings UI is in src/views/Settings/PolicyWorkbench/settings/realDefinitions.ts. Done means a disabled policy hides the provider and returns an empty completed result for direct searches, with PHP and frontend tests covering allowed and denied states; coordinate with #8916 on system default enforcement first.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Goal
Allow administrators to control the availability of LibreSign documents in Nextcloud Unified Search through the existing Policy Workbench.
Proposed policy contract
- Key:
search_provider_enabled - Type: boolean
- Default: enabled
- Lifecycle: runtime
- Scopes: system, group and user
- Request-level override: unsupported
- Delegation and inheritance: existing LibreSign policy framework
The final implementation must remain consistent with #8916, which addresses explicit system policies that enforce their default value.
Backend
- Register the policy through the existing policy providers.
- Resolve policy state for the effective authenticated user.
- Respect Nextcloud's global provider controls.
- Change
FileSearchProvider::getOrder()to support returningnullwhen the provider should be hidden. - Enforce availability independently in
search()using theIUsersupplied by Nextcloud. - A disabled policy must prevent document queries and return an empty completed result.
- Direct requests must not bypass the policy.
- Policy failures must not disclose unauthorized results.
- Disabling search must not change underlying document permissions or LibreSign internal lists.
Frontend
Use the existing Policy Workbench under System behavior.
Proposed setting title: LibreSign search results
Description: Control whether LibreSign documents appear in Nextcloud Unified Search. This does not change document permissions or internal LibreSign file lists.
Reuse existing boolean rule editors, inheritance behavior, permissions and save/reset actions.
Starting points
lib/Service/Policy/Provider/Confetti/ConfettiPolicy.phplib/Service/Policy/Provider/PolicyProviders.phplib/Service/Policy/PolicyService.phpsrc/views/Settings/PolicyWorkbench/settings/confetti/realDefinition.tssrc/views/Settings/PolicyWorkbench/settings/realDefinitions.ts
Acceptance criteria
- Default, enabled, disabled, inherited and explicitly enforced policy states work.
- Only authorized administrators can modify the relevant rules.
- Provider discovery reflects the effective policy.
- Direct provider searches enforce the same policy.
- Existing Nextcloud provider restrictions are respected.
- Document permissions and signing workflows are unchanged.
- PHP and frontend tests cover allowed and denied behavior.
- The interface is accessible and translated.
- The PR includes a screenshot or short video without sensitive data.
- User/admin documentation is updated through the documentation work.
- Lingua principale
- PHP
- Stelle
- 835
- Fork
- 167
- Merge medio
- 1g 1h
- PR unite (30g)
- 384
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di LibreSign/libresign
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 83/100
LibreSign/libresign#9007 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
backend enhancement php
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
LibreSign/libresign#8284 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
backend php
Difficoltà 4/5 3-5 giorni Idoneità per principianti 53/100
I maintainer di solito rispondono entro 1 giorno
-
backend php
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di LibreSign/libresign
Issue simili
-
Awaiting Triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
I maintainer di solito rispondono entro 1 giorno
-
tui: PHP code blocks without `<?php` are not syntax highlightedForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertareproduced
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
anomalyco/opencode#58664 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 87/100
WordPress/phpunit-test-runner#364 ·
I maintainer di solito rispondono entro 4 giorni
-
domain/framework Platform(Default) priority/high
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 2 giorni