Repository navigation
Conversation
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
Admin status report of personal/project/vault spaces, storage usage, quota alerts and orphaned spaces, with PDF/Markdown/CSV export and saving the report to the personal space. Signed-off-by: Samuel Schumacher <schumacher@b1-systems.de>
555cd15 to
4862bda
Compare
|
@LukasHirt Could you have a look and give some feedback on this? |
|
Thank you @blicknix looks like a great and useful extension! Before I dive deeper into the review, I'd like to address two topics first. 1. New dependenciesA few quick notes:
I would personally suggest to omit these dependencies for the first version. However, I am open to discussing this in case there is a specific reasoning/use case behind it. 2. Custom code to call APIsIs there any specific reason for not using |
|
good points. I will remove the pdf dependencies and just make it markdown. PDF can then be handled through the browser via printing. The reason was to be able to share the report within ocis as a pdf and save an extra step to do so. The own API calls where created to be able to make a report for all storage providers. I think the use case is 99% only for non vault spaces anyway, so I will change that for easier maintainability. |
I'd like to contribute an admin extension, "Space report". It shows:
Reports can be exported as PDF, Markdown and CSV, or saved to the admin's personal space. It uses only existing Graph endpoints (
/graph/v1beta1/drives,/graph/v1.0/users,/graph/v1.0/groups) and needs no server changes.New dependencies:
jspdf(MIT) andjspdf-autotable(MIT) generate the PDF in the browser. The bundle grows to about 460 kB (150 kB gzip). It is a single file, because Web loads extensions via requirejs. The alternative would be dropping PDF and keeping only Markdown, CSV and browser print. Is adding these OK?#606
Note for oCIS:
GET /graph/v1.0/usersand/groupsare read without paging. With an LDAP size limit the lists come back truncated without any indication. The extension works around this by confirming every missing ID withGET /users/{id}. Proper paging or a truncation flag in Graph would help other admin tools too.Implementation is ready (lint, types, unit and e2e tests pass); happy to open the PR once the dependency question is settled.