-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create a way to have a top-level project #357
Comments
@falknes would you mind explaining this a bit, since you have the same requirement? |
I don't know about them, but here is our problem, in a more detailed way. We have a cloud-based, SAAS solution. So all users connect to the same server, all clients share the same database. We define clients/customers/companies in the back office, they have contracts with options etc. Let's say A Building Company (ABC) has several thousand projects, some handled by our solution, some by our competitors. So the company has multiple projects: let's say ABC builds a school, an office, and a railway, using our solution. These are what we call "workspaces". Inside these workspaces there are what we call "documents", basically, files with metadata. For instance, a school can have multiple buildings ; each building will have their own document, but they can also be split in sub-documents for architecture, structure, electricity, etc. Each document can have a separate review where notes are created ("there's a problem here") and comments are made on these notes. Our assumption is that what we call "documents" are what BCF calls "projects". It's the only mapping that makes sense, at least with our client's use cases. What we call "notes" are "BCF topics". There is no BCF concept for our workspaces. As a side note, lots of workspaces have several tens of thousands of documents, and very large projects are split into multiple workspaces. Now, most users (physical person) will have a single workspace. The problem arises with "power users", experts in their field, that work on multiple project for multiple clients: they handle thousands of documents across dozens of workspaces, and since they are experts, they are likely to do a project review, and thus, use the BCF API. So, these users must have a way to distinguish between "BCF projects": calling The way I see it, there are two possibilities. One: consider that most cloud-based/SAAS solutions will have the same problem, and break existing routes. For example, you could prefix all routes with Two: keep the existing routes, but:
This would require the least amount of modifications for an API client (a new route and a new parameter), but it's also less "clean". In all cases, the exposed information for a project is not enough. At the very least it should have a code and a creation date, and allow filtering and pagination. |
As the API stands, a project seem to correspond to different parts of a construction project: project A is the west wing of the building, project B is the east wing. Or a railway would be split into stations, rail sections, etc.
There is a problem when we have users intervening for multiple clients. For instance, a superviser could work for both a school for client A and a railway for client B. Both clients could have split their work into several hundreds (or even thousands) "projects". How would that work out for the user? Either they see all projects of all clients they work with, and in that case, there is not enough information in the returned data to filter (just a name and ID ???). Or there could have some parameter to filter the projects for a client.
The text was updated successfully, but these errors were encountered: