-
Notifications
You must be signed in to change notification settings - Fork 9
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
✨ Backend model for Development Program #12099
Comments
For additional discussion: There should probably be a way for these programs to be hidden from applicants without deleting them. Perhaps an @JoshBeveridge has proposed combining this with the Training Opportunities advertised on the Instructor Led Training opportunities page, since they both represent training programs. This would mean merging the new model with the existing model:
We'd also have to migrate existing opportunities to belong to a community, and delegate responsibility for managing these opportunities to the CommunityAdmins. (If we don't plan to do that, I don't recommend merging the models). If we do that, we may want to consider #12086. (We made the decision to allow headers in our Rich Text editor with the explicit assumption that only Platform Admins would be using it.) Additionally, we'd probably to want to add some additional fields controlling where the Training Opportunity / Development Program appears:
|
An earlier, more complex version of the data model, saved for posterity: Data model
|
Thanks Tristan. This looks right to me. The list of classifications is for flagging eligibility. So "eligible classifications" or "target classifications" might serve as a better name. |
Status: Blocked ❌Issues blocking this PR:This comment was automatically written by the Blocking Issues bot, and this PR will be monitored for further progress. |
✨ Feature
Development Programs are training programs managed by a Community. They will start as a simple model, with relationships with Communities and Classifications. Users can express interest, which will be stored in a pivot table with their EmployeeProfile model. In a later ticket, it will be possible to nominate users for programs as well.
🕵️ Details
Development programs have:
Additionally, CommunityInterest has a belongsToMany relationship to Development Programs, with additional data in the pivot table:
There's no need to add a top-level query for DevelopmentPrograms or the pivot records, as long as they can be queried on Communities and from CommunityInterest respectively.
We'll need to add a mutation allowing users to add or update the programs connected to their profile. The mutation should allow for syncing, connecting and detaching of multiple records to an EmployeeProfile. It should check the
update-own-employeeProfile
permission.We can hold off on adding mutations to create the Development Programs themselves. I suspect the first batch will be added programmatically.
🎨 Design
@JoshBeveridge
Based on figma designs, though the current model has been simplified and I'm not sure if these designs are up to date yet.
Development Program from Applicant perspective
Development Program from Nominator perspective
📸 Screenshot
🙋♀️ Proposed Implementation
There's no need to add a top-level query for DevelopmentPrograms or the pivot records, they can be queried on Communities and on EmployeeProfiles.interestInCommunities respectively.
The mutation should allow for syncing, connecting and detaching of multiple records to a CommunityInterest record. It may be easiest to add fields to the mutation used in #12253 than to create a new mutation.
🌎 Localization
✅ Acceptance Criteria
🛑 Blockers
Blocked By
The text was updated successfully, but these errors were encountered: