common-domain-model
common-domain-model copied to clipboard
Resources for pre-requisite technical skills required to start working on the CDM
One of the most common questions we have received is about how to get started with working on the CDM. This is mostly asked in relation to the technology - not the modelling - and currently the focus is more about how to get the model and install it, and then how to make and contribute changes back again.
The main CDM landing page has basic instructions on how to contribute changes but we do make assumptions about the skillset of the people who are hoping to work on the CDM. To this end I think it would be useful if we could list out what we believe to be the technologies/applications that people should have an understanding of, what level of understanding is expected, and provide some links to tutorials that will help people get started.
To get the ball rolling the main technologies/applications that I have had questions asked about recently are the following:
- github - including gitCLI, Github Desktop, git for Windows
- Maven
- java - mostly about what to actually update in the java for a PR
- guice
- python
If you have some suggestions or comments about what level of expertise should be expected then please add your comments below. If we can accumulate a list with some suggested resources then we could publish this either in the CDM Documentation page or on the main CDM github landing page.
Hi @maoo, I'm sure lots of questions about github have probably been asked on many a FINOS project, so do you have any links that you generally pass on to help people get started? Thanks!
Hi @chrisisla ! We have quite extensive documentation around "Collaboration Infrastructure" at FINOS on https://community.finos.org/docs/collaboration-infrastructure
More in general, the whole "Project Collaboration" section could actually be useful, as it dives more into details around validation, CI/CD and releases.
Hope this helps; if you see something missing, please let me know!
Thank you @maoo !!! I will check out the link and let you know 😃
Hi @maoo,
There is indeed some good stuff on the Collaboration site 👍 I especially liked:
Github 101: https://docs.github.com/en/get-started/quickstart/hello-world If someone has never used git before this would be a good intro - they can then read the instructions on the "Collaboration Infrastructure" page for more specific details on how to work with FINOS projects, and then the CDM Readme.md on the main common-domain-model github page for details on using git for making changes.
Maven: https://community.finos.org/docs/development-infrastructure/continuous-integration/java Plenty of information on this page, probably not required for your average user though.
For the CDM I think we probably need additional project specific details about working with guice, but I think a good start would be to add links to the CDM Readme.md for the main FINOS Collaboration site and possibly the github 101 page.
Thanks for your help!
Chris- I agree. Can we get these written into the readme.md and work with Eteri to find a home in the microsite- all of our documentation should ideally be there. Perhaps we need a getting started page. This can include the information suggested on https://github.com/finos/common-domain-model/discussions/2350#discussioncomment-6873002 Hoping a lot can be agreed in next week's steering group then promoted to the microsite
Closing this item has content has been adopted for the forthcoming CDM Adoption Guide.