langflow-ai / langflow

⛓️ Langflow is a visual framework for building multi-agent and RAG applications. It's open-source, Python-powered, fully customizable, LLM and vector store agnostic.
http://www.langflow.org
MIT License
18.48k stars 2.77k forks source link

[Feature Request] Collaborative/Access Control enhancement #1864

Open jaschahuisman opened 3 weeks ago

jaschahuisman commented 3 weeks ago

As discussed in issues #1735 and #1725, enhancing the collaborative capabilities of LangFlow can significantly improve user experience, particularly in team-based environments. This feature request outlines proposed improvements in authentication/role management, cross-account flow sharing, asynchronous updates, and flow version management.

Proposed Enhancements:

  1. Improved Authentication and Role Management:
    • Objective: Implement a more robust authentication system to support varying levels of user permissions.
    • Implementation:
    • Integrate OAuth2 with current authentication systems to enable more secure and flexible user management.
    • Develop roles such as Admin, Editor, and Viewer, each with different permissions regarding the creation, editing, and viewing of flows.
  2. Cross-Account Flow Sharing:
    • Objective: Enable users to share workflows across different accounts, enhancing collaborative efforts.
    • Implementation:
    • Create a sharing interface where users can invite others to access workflows by email or user ID.
    • Implement sharing permissions that allow users to set read-only or edit rights for each shared user.
  3. Asynchronous Updates and Notifications:
    • Objective: Allow users to receive updates on shared flows asynchronously, ensuring all collaborators are kept up-to-date.
    • Implementation:
    • Utilize WebSockets for real-time data transfer to enable live updates without requiring page refreshes.
    • Integrate a notification system that alerts users to changes or comments in shared flows.
  4. Flow Version Management:
    • Objective: Implement a version control system for flows to track changes over time and enable rollback to previous versions if needed.
    • Implementation:
    • Develop a version history feature that records each change made to a flow, along with the user who made the change and the time.
    • Provide an interface to view version history and revert to previous versions when necessary. Technical Considerations:

Ensure that all new features adhere to best practices in security and data privacy. Consider the scalability of the solution to accommodate a growing number of users and workflows.

Impact:

These enhancements will streamline collaborative efforts, improve security, and make LangFlow a more robust tool for both individual users and teams. They will also address current limitations noted by users, fostering a more efficient and user-friendly environment.

ogabrielluiz commented 3 weeks ago

Hey @jaschahuisman

These are awesome and some of them are in our (internal) roadmap.

We plan on using Casbin for the RBAC/ABAC.

Do you have the expertise for any of these? We can collaborate on them if you like.

jaschahuisman commented 3 weeks ago

No experience in Casbin here. Where can I find the roadmap? (curious 👀) @ogabrielluiz

disdonline commented 2 weeks ago

+1 on this.

"Utilize WebSockets for real-time data transfer to enable live updates without requiring page refreshes."

Would love this!