-
-
Notifications
You must be signed in to change notification settings - Fork 102
Description
Is your feature request related to a problem? Please describe.
Create a GitHub issue proposing the implementation of Nextcloud's ISetupCheck interface in LibreSign. This requires refactoring ConfigureCheckService.php into 6 specialized check classes (Java, JSignPdf, PDFtk, Poppler, Imagick, CertificateEngine) that implement ISetupCheck. The issue should categorize checks by criticality and include priority levels, since some (Java, PDFtk, JSignPdf, CertificateEngine) are mandatory for LibreSign functionality, while others (Poppler, Imagick) are optional.
Describe the solution you'd like
-
Define issue scope and motivation – Explain what ISetupCheck provides (admin panel visibility, CLI integration via
occ setupchecks) and why implementing it improves UX for Nextcloud administrators managing LibreSign. -
Create priority table – Map the 6 checks (Java, JSignPdf, PDFtk, Poppler, Imagick, CertificateEngine) with columns: check name, current location in
ConfigureCheckService, priority (must-have/nice-to-have), and dependencies. -
Include implementation details – Outline the refactoring approach: create
lib/SetupCheck/folder, extract logic fromConfigureCheckServicemethods, convertConfigureCheckHelperresults toSetupResultobjects, register checks inApplication::register(). -
Link reference documentation – Include links to Nextcloud ISetupCheck documentation and examples from the codebase (PhpModules, CodeIntegrity, SecurityHeaders, MaintenanceWindowStart, WebdavEndpoint).
-
Add conditional logic notes – Document that CFSSL-dependent checks (CertificateEngine) need conditional status handling and explain how optional checks (Poppler, Imagick) should return
info()vserror()severity. -
Specify testing and Git requirements – Note that LibreSign requires Conventional Commits, sign-off (
git commit -s), and focused test runs with--filterflag (per copilot-instructions.md).
Describe alternatives you've considered
-
Backward compatibility – Should
ConfigureCheckService.phpremain for existing code/tools, or be deprecated once ISetupCheck classes are in place? Recommend keeping for now. -
Category assignments – Most checks are "system" severity; only CertificateEngine should be "security". Confirm this aligns with LibreSign's security model.
-
Visibility control – Should checks be conditional (only visible when LibreSign is configured)? Current implementation in setup/install flows may differ from always-visible admin panel.
Additional context
- If you have questions, feel free to ask in this issue.
- Give a ⭐️ star to this repository
This task is suitable for first-time contributors!
Metadata
Metadata
Assignees
Labels
Type
Projects
Status