maximus Posted 16 hours ago Posted 16 hours ago Hi everyone, I’m releasing the first public version of Files, a ProcessWire module for building a private, self-hosted file library. The module takes inspiration from Seafile, kDrive and MyCloud while staying fully integrated with ProcessWire users, roles and permissions. Main features Private file storage outside the public web root Folders and nested subfolders Large-file uploads using AJAX chunks Upload progress and automatic retry List and grid views Search and file-type filters Authenticated previews for images, PDF, text, audio and video Optional read-only ONLYOFFICE previews Public sharing links for files and folders Direct sharing with a selected ProcessWire user Password-protected links Expiration dates and download limits Revocable sharing links Granular ProcessWire permissions MCPServer integration FileServer migration support Folder shares represent a live subtree. If a new file is added inside a shared folder, it automatically becomes available through the existing folder share. All sharing is currently read-only. Permissions Files provides separate permissions for: files-use files-download files-upload files-folders files-share files-delete files-manage This makes it possible to create roles that can browse and download files without being able to upload, share or delete them. File previews The built-in viewer supports: JPG, PNG, GIF and WebP PDF TXT, Markdown, CSV, JSON and XML MP3, WAV and M4A MP4, WebM and MOV Office documents can optionally be displayed through an external ONLYOFFICE Document Server. The integration uses signed, short-lived source URLs and opens documents in read-only mode. Large uploads Large files are transferred through sequential AJAX chunks sized according to the current PHP limits. Upload sessions are private, bound to the initiating ProcessWire user and protected by CSRF validation. The completed file is size-checked, MIME-inspected and SHA-256 hashed before it is added to the library. A conventional multipart upload remains available as a JavaScript-free fallback. MCP Server integration Files can act as a provider for a compatible MCP Server module. The integration offers bounded tools for: navigating and searching the library; reading metadata and file content; creating folders; uploading files; finding recipients; staging and publishing shares; revoking shares; guarded permanent deletion. Every MCP operation is restricted by both the client scope and the permissions of a dedicated ProcessWire service user. Repository and documentation GitHub: https://github.com/mxmsmnv/Files The repository includes: installation and feature documentation; complete PHP and MCP API reference; Olivia/AI-agent integration guidance; security and lifecycle notes. This is the first public release, so feedback, testing and bug reports are very welcome. Thanks! 5
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now