Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Control Unified Search availability through Policy Workbench

Aperta
#9,070 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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

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

backend enhancement frontend javascript php

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 returning null when the provider should be hidden.
  • Enforce availability independently in search() using the IUser supplied 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.php
  • lib/Service/Policy/Provider/PolicyProviders.php
  • lib/Service/Policy/PolicyService.php
  • src/views/Settings/PolicyWorkbench/settings/confetti/realDefinition.ts
  • src/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

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di LibreSign/libresign

Tutte le issue di LibreSign/libresign

Issue simili

Altre issue su PHP

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.