FluidFramework | Library for building distributed , real-time collaborative | Websocket library
kandi X-RAY | FluidFramework Summary
kandi X-RAY | FluidFramework Summary
Library for building distributed, real-time collaborative web applications
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of FluidFramework
FluidFramework Key Features
FluidFramework Examples and Code Snippets
Community Discussions
Trending Discussions on FluidFramework
QUESTION
The Riddler service does not have explicit documentation at the package level and is not addressed in the Routerlicious service.
There is some code level documentation
Riddler manages the tenants and then gives them to server for Alfred and Historian.
How should I be thinking about Riddler? Especially in relation to Alfred and Historian.
...ANSWER
Answered 2021-Mar-07 at 12:20Riddler manages Tenants. In Routerlicious a tenant is a secret key & unique identifier pair. A tenant is usually a company or user group. The secret key is used to sign JWT tokens and the unique identifier identifies the tenant.
For example, during a hackathon we would give each hackathon team a different tenant. If we had a production service, we would give each company a different tenant.
Riddler lets you create and manage these tenants in Routerlicious.
In contrast, Historian and Alfred consume this tenant information. Historian and Alfred are not responsible for creating new tenants (new secret key, unique identifier pairs).
QUESTION
Fluid looks really nice if all collaborators are equal (allowed to change the same resources), but what I don't understand is how the server can prevent certain actions for certain users. As much of the logic as possible is on the client-side right? Maybe I haven't searched good enough, but I couldn't find a resource or readme that explained that part.
Example:
User A can edit the whole markdown document.
User B can edit the whole markdown document.
Both users can lock paragraphs they've created to be read-only, which only they can unlock again.
On the Fluid FAQ it states the following:
Turn-based games?
DDSes can be used to distribute state for games, including whose turn it is. It’s up to the client to enforce the rules of a game so there may be some interesting problems to solve around preventing cheating but the Fluid team has already prototyped several games.
If there is no solution for this problem, please let me know where I should start would I fix this myself. For a fun hobby project, I'm in the middle of deciding to build something new or to use fluid (which can save me a lot of work).
...ANSWER
Answered 2020-Nov-10 at 19:53Right now, Fluid doesn't have the concept of Access Control, but we could include some related features as DDS features, we could implement some features as server-hosted Fluid Bot filters, and we could implement basic ACLs at the server layer as Storage ACLs.
As DDS FeaturesI wrote the "OwnedMap DDS" to show this concept, where users reject invalid changes from other users. This could be extended to include your "paragraph lock" concept, but I'm not sure it's rigorously secure.
I think it'd be interesting to build a library of "OwnedDDS" or DDS with filter methods on them to prevent invalid changes".
server-hosted Fluid Bot filtersAnother option is to have a server side client, so a non-user client that joins the session that is not a malicious actor. This Bot could validate that changes are legitimate and then "consent" to the changes. This breaks some optimistic insert constraints, but would add more security and is more rigorously secure.
With this approach, you may still need to modify DDSs so that they're consensus based instead of optimistic, but the only consensus would be that the Bot agrees the change is valid.
Storage & Server level ACLsYou could imagine modifications to the routerlicious reference service where you need a user login to access specific containers. This is not as find grained as your request, but would clearly work!
QUESTION
On the FAQ page for Fluid Framework https://fluidframework.com/docs/faq/#what-browsers-are-supported it says that Fluid will only work on Safari for Mac. To me this means that it will not work on iOS or the iPadOS. I don't think I need to explain why this is a problem for adoption.
So, why won't Fluid Framework work on iOS or iPadOS and is there anything that can be done about it?
...ANSWER
Answered 2020-Sep-13 at 21:19Fluid Framework does work on iOS and iPadOS, but the framework doesn't get significant test coverage on those browsers. I just tested a few examples on iOS and they worked (DraftJS, brainstorm.) That language in the FAQ should be changed to reflect that there is no automated testing for iOS, but the team intends for Fluid to work.
In fact, Fluid should work in any JavaScript engine. The requirement is that the JS runtime can load the client libraries (written in JS/TS), load the container, and make a connection to the service.
There are even some (fairly hidden) Node examples in the repo, although there isn't automated testing on those examples yet either.
Full Disclosure: I work on the Fluid team
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install FluidFramework
Learn more about the Fluid Framework
Build a Fluid object
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page