Happy Dev Paris label is probably the name of the client app. We use it on the OIDC permission page in the question: Do you allow Happy Dev Paris to access xyz?. Should be reusable I guess :)
Associé label can be fixed for now.
Their values should be part of the Project model, making it even more Happy Dev specific...
We discussed that from a back-end perspective it's better to have one Contributor model, which could be a collective, a business provider etc depending on the server, and on the project.. this would change the UI design so that it was more flexible/generic, and involved more connecting forms. I've drawn up a mock-up to show what I mean:
I might be wrong, and it might be obvious for everyone but me, but the question here is: how do we architecture that feature so that it works in a federated way.
I'd like at least to have your GO@balessan on the solution proposed by @calummackervoy, so that we are all on the same page that this works in a federated world, and that it is the right way to architecture it.
Then there is a UX question indeed, but that's not the core of the discussion I believe.
By Alexandre on 2020-02-11T21:13:38 (imported from GitLab project)
I'd like at least to have your GO@balessan on the solution proposed by @calummackervoy, so that we are all on the same page that this works in a federated world, and that it is the right way to architecture it.
This is the first time the word federated appears in that discussion, so I am not convinced it is still related. Anyway, if you create dedicated Contributor and ContributorType models, you should then be able to use the federated sources mechanism to properly source the data accross your federation when needed.
Need some testing though. What do you think @jbpasquier, do you see any limitations ?
But asking the question clearly before proposing a call would sure help everybody understand the exact topic :-)
@balessan Sorry, I thought the topic was clear. And as you said, maybe it is obvious and discussing it some more is just a waste of time. I just think that for the first cases of federation in such models, I'd feel more comfortable knowing the framework team validated our choices. It can be quick I believe.
So... call tomorrow at 5pm?
By Alexandre on 2020-02-11T21:31:17 (imported from GitLab project)
Shouldn't we use Dbpedia for the contributor types?
At least for Skills it bears some value to share a common list so that we are searching for the same thing. Here it looks like a label, I don't think it has to be shared between instances.
@sylvain To have a consolidated view later on, like "Here is the list of projects of Happy Dev Paris" or "Here are the projects that owe you a finder's fee".
By Alexandre on 2020-02-12T09:13:06 (imported from GitLab project)
I am struggling a bit to follow here and bring answers.
Generally speaking, I think we haven't worked yet the UX of the federation in detail.
This prototype was designed at the time for the Happy Dev Paris community and the federation aspect of it was not considered so much. So now that the project evolved, there is probably a need to work the UX of the federation. We have talked about it this morning with @rachel and will dedicate some time to it soon.
I spoke to @sophie about this.. There is a balance here for it being easy to make a project (e.g. in Happy Dev use case, I always want these 3 types of contributor to be included), and flexible (e.g. I may be paying third party business provider's fees)
We discussed having another model ProjectConfiguration, so that above "Add a contributor" in the project-edit form I can select a configuration "Happy Dev Project" which populates the form with 3 contributors of type Associate, Collective, BusinessProvider
En plus, when I try to think about this in a federated sense it gives me a headache..
It seems wrong for each federation to have its own copy of identical ContributorType, but inflexible to hardcode these, or to have a central server storing ContributorType and ProjectConfiguration
If I create a local Happy Dev Paris Contributor instead of referencing Happy Dev Paris' version, then it will be treated as a different object, and later when I access the view with all of Happy Dev Paris' projects, I will actually only receive a subset depending on which copy I submitted (maybe the collective is implicit in which server holds the project)
Arf... Sorry for some reason I see this one just now. I really screwed up with Projects for many reasons:
We should not have prioritized it. Today only Happy Dev is asking for it
The mockups are very Happy Dev centric, and it gives you headaches :)
I see two ways out of this:
a.) We do simplify the mockup like crazy, but a Project ends up being a Circle, and then what's the point of shipping Projects at all, let's just ship Circles and job done. Project will come later on.
b.) We ship Projects later on
To make matters simpler, it is now @rachel's call to prioritize the roadmap wisely. I just wanted to express clearly here how I feel about this feature. I'll see with @jbpasquier and @rachel what makes sense for us now. Let's do damage control :-)
It seems wrong for each federation to have its own copy of identical ContributorType, but inflexible to hardcode these, or to have a central server storing ContributorType and ProjectConfiguration
We can still point every client to the same source. Or create a "federated" source containing only one server. Like we'll do for skills.
If I create a local Happy Dev Paris Contributor instead of referencing Happy Dev Paris' version, then it will be treated as a different object, and later when I access the view with all of Happy Dev Paris' projects, I will actually only receive a subset depending on which copy I submitted (maybe the collective is implicit in which server holds the project)
Don't do that. :) Maybe we can add some js candy "It already exists on your federation" or something like that.
We discussed having another model ProjectConfiguration, so that above "Add a contributor" in the project-edit form I can select a configuration "Happy Dev Project" which populates the form with 3 contributors of type Associate, Collective, BusinessProvider
I'm not sure to understand what the purpose of ProjectConfiguration?