Multiple Feature Requests #25
Replies: 2 comments 4 replies
-
Thank you for reaching out! I moved this from Issues to Discussions as there were multiple high-level ideas here. Authentication / login systemI've added a new HTTP basic auth Docker demo today. It shows how to do simple user management with an external web app ("htadmin"). It might even be enough for some small real-world deployments. See https://github.com/elonen/clapshot#multi-user-demo-with-http-basic-authentication for details. Modern IAM is such a complex topic that trying to add built-in user management would almost certainly result in security holes, tons of extra research to do, code to maintain and requests for endless auth method variations. In fact, auth inflexibility of some existing alternatives was one of the main motivations to start this project in the first place! That's why I made a decision to keep login / user management stuff out of Clapshot itself as much as possible, having admins do it on in Nginx (HTTP/Websocket level) according to their own policies and protocols. I know it makes casual deployment a lot harder, but it also has allowed me to concentrate much more on core features. Authorization granularity / roles and permissionsAs you correctly point out, Clapshot currently doesn't have any notion of projects, folders, labels, tags, private or public files etc. It works ok(ish) without them in the ongoing project I mostly designed it for, so other features are more important for now. There have been some requests about this from other users, too, but I haven't yet formed a clear picture on how it exactly this organization/authorization stuff should ideally be designed to strike a balance between functional generalization and usability. Granular access control needs to also be easily integrated with LDAP ACL groups and other external authorization schemes. In addition to taking care of auth, Nginx also currently streams video files directly to the browser without Clapshot API server acting as an HTTP relay, and I'd really like to keep it that way. These points mean it would probably have to map project/folder/label names to URI paths in some way, so as to make authz lookups possible on Nginx level. How to do it best is not quite obvious to me yet, so I've been waiting for more user experiences and discussions before making any architectural decisions. Workflow automationCould you give some examples on what exactly you'd like to see here? Some kind of scripting framework should be doable, but the design philosophy will have to be much more decoupled and low level than in large commercial products such as Ftrack. I'm pretty wary about complicating the codebase so it doesn't become too unwieldy. Descriptions of real-world priority use cases would help to figure out a minimalistic interface to make them possible. |
Beta Was this translation helpful? Give feedback.
-
Thank you, these concrete examples were really useful.
The current idea is that when a user opens their main page, Clapshot server would invoke Python, that would in turn then return a JSON that tells the frontend how it should render the video listing. In the default/example script I'll probably just lookup user's private folder tree from the new Your custom kanban style workflow could then be visualized either by showing a virtual folder per process stage, adding a tag to the video UI element or something else, depending on your needs. Your Python script could pull this workflow information (along with user's workflow stage transition privileges) either from Clapshot's props-table, or some external source like your own project SQL database, LDAP etc. Or perhaps calculate it on the fly based on some project-dependent criteria. Do you think this architecture would work in your use case? Next I'll need to implement folders and other UX elements on the frontend. There are quite a few different ways to make them, so if you have preferences, now would be the perfect time to draw a UI mockup picture or two. :) |
Beta Was this translation helpful? Give feedback.
-
Hey Elonen,
I hope this message finds you well. I wanted to reach out regarding your project. I think clapshot is a great addition to the open-source and I believe a lot of people will benefit from it.
I have a few suggestions for features that I believe would further enhance the project. I would love to see the following added in the future:
A login system to secure user data and content
An admin panel with roles and permissions to manage users and content effectively
The ability to assign folders to specific users for efficient content management
Workflow automation to streamline processes and improve productivity
Thank you again for your dedication and hard work. I am excited to see what the future holds for this project.
Thank you!
Beta Was this translation helpful? Give feedback.
All reactions