Now it is time to prepare all necessary docs for application.
Questions we should answer first:
Who is willing to participate as mentor? It would be nice if you provide a project ideas that you are willing to mentor. If you have potential student who can carry the project - please mention that too.
Help to discuss ideas for student’s projects. See list from previous year - Ideas List — Synfig developers docs documentation.
Remember that we can accept idea only if there are someone who is willing to mentor it. In any case, post your crazy ideas in this thread and get fellow devs interested.
Prepare list of simple issues to test skills of aspiring students. We need to examine list of existing issues in our tracker and mark some of them with “good-first-issue”, “help-wanted” and “Easy” labels. Adding simple issues is also appreciated.
Hey my name is shehab khaled. I am a computer engineering student at my third year at cairo university. I am really intrested in contributing to synfig how could i get started?
Hello Shehab, you can check the issues on Github. Some have labels like “easy”, and “good first issue”. Go through them, find one that seems suitable, and work on it : ).
Also you can check the dev docs. It has various sections for contribution guidelines, and building synfig that could be quite helpful.
Hi Iam Nassar khaled ,I am looking forward to participating in GSoC specifically the plugin dialog box project, I do have previous experience in 3d graphics with Blender and 2d After Effect which gave me adequate experience ,so I got used to blender ADD-ONs dialogue box which has the same concept of this project. I have dedicated my time to know more and understand the code. That’s why I want to be part of the team ,and that’s why I think this is the place where I want to be
Hi, @mohamed.Adhamc, I have contributed to a good-first-issue on the repository earlier and have one other PR for enhancement raised. And discussing other active issues. I kindly request your assistance with the following:
Actually, I’m currently working remotely as a part-time software developer, and will definitely be able to dedicate 6+ hours daily. Am I eligible for application?
If so, should I keep contributing to the existing issues on the repository as much as possible, and will we be using the forum for the communication channel, in case required?
Please add usage instructions so that new user can know how to use these scripts.
Try to use minimum dependencies as possible (the main idea here is to learn git tools better). The best option is to implement both approaches: first - using external dependencies, second - using only system calls to git tool.
Add system requirements: required Python version, OS.
I am Ahmed Khaled, a second-year Computer Science Student from Egypt,
I am thrilled about the opportunity to contribute to Synfig through the GSoC “Automated release notes generator” Project, the idea of working on something related to git is very exciting for me since my latest project using C++ was a game that helps people learn git
I will begin working on the commit message extraction task listed in the project description, Any additional clarification on how the expected output looks would be appreciated, Should I list each merge commit’s message and PR description under each other and do that for all commits?
Thanks in advance, I am looking forward to contributing!
It was planned to make 2 modes for extracting commit information: short and full.
Simple will be used to generate short summary for weekly notes.
Only git subject (PR title) is required.
(Here you may still need integration with Github API, because we can make some changes to the PR description after it was already merged).
Full will be used to generate detailed changelog which is used to make Release notes (with images and detailed descriptions).
Here are some visual ideas of what a simple changelog should look like:
Sounds great!
Thanks a lot for the additional information,
Based on the info in the project description and the extra info you provided, I will plan to do the following currently as an exercise (Let me know if you think this is suitable),
I will create a simple well-documented C++ script that
Extracts a number of “regular commits” or “merge commits” based on user input
Groups these commits based on the message type (fix, feat, docs, etc.)
If the user-chosen option was “merge commits”, I use the suitable extraction mode based on user input, Short (extract only PR title) or Full (Extract PR title and description)
I output the extracted data inside a markdown file (While I’ll keep it simple for now, I’m excited to discuss ideas for enhancing the presentation of release notes later on)
As for the project size, I have sufficient time available to undertake the 350-hour version. While I possess expertise in git, markdown, and HTML, I lack familiarity with AppImage. Therefore, I currently lean towards the 175-hour version. Nevertheless, I am open to obtaining the necessary skills to tackle the 350-hour version. Therefore, I am open to learning about AppImage, Debian, and Flatpak packages. I would greatly appreciate any guidance on how to prepare myself to work with them.
Also, last note, when I finish the above script and later on for feedback on my proposal, Is there a private way to contact the mentors?, or how should I approach getting feedback on things like these?
Thank you once again for your guidance and support!
I have added usage instructions and system requirements as well.
To implement system calls to git tool, I have used subprocess module.
But to use only system calls, the repository has to be local.
Is the goal to track local repos or remote repos directly from github?
I will use my current functions to create 2 modes based on user input.
Simple - PR Title (Git subject)
Full - Detailed Changelog
Use Conventional Commits to start grouping commits on the basis of type.
Output formatting - can be saved to txt or md files
Regarding the project size, I have chosen the 350-hour version.
I have basic knowledge of AppImage, Flatpak and Debian images, and I will work to improve my understanding of the requirements accordingly.
Thank you!
I am unable to post links as my posts have been flagged by the community. Can you please look into this?
Any feedback for this?
I’ll be trying out a detailed changelog and maybe use the GitHub API as well.
Also, could you give additional information about the debian and flatpak images?
You’re welcome, no worries. It’s just usually when a new user signs up and posts links immediately the system marks it as some sort of potential “spam”. Because usually there are spam posts and comments that follow the same pattern.
Hello Mentors,
I am Akshat, I’ve been contributing to the Synfig repo under the name Afterdie since July, 2023. I’ve got multiple PRs merged and many more up for review, I look forward to adding much more value to the community.
I had some doubts
I have been looking at some old issues and some of them are easy fixes however I believe Synfig would benefit greatly if these issues were worked on for a longer duration and could get a full revamp. So is it possible to submit an idea that adds to a given issue ?
Can the forum be used as a channel for communication for discussing the PRs and giving updates?
I have finished the exercise script that I mentioned in the message I am replying to,
You can test the script and see all its details in the following GitHub repo.
I’ve invested considerable effort into documenting the script and ensuring the code is well-documented and as clean as possible, so I believe you’ll easily find all the info you need in the repo’s readme, I am looking forward to hearing your feedback!
Having finished the exercise script, I am curious about a few details:
You mentioned outputting the release notes in HTML format, will the HTML look exactly like the Markdown, or will it have the same look as your website with specific CSS, or how do you expect this to be done?
You also mentioned adding this script to CI pipeline, any additional clarification on this point would be appreciated
Also, I would greatly appreciate any additional clarification on what next steps I should currently take, until your reply, I will be browsing the Synfig repo to get a better understanding of the whole software,
Thanks again and I am looking forward to hearing from you!
I am Yash, a final year UG CSE student from India. I’m excited to share that I have completed the task for the Automated release notes generator and packaging script fixes for Google Summer of Code 2024. My work is available on GitHub at GitHub - Onyx2406/Synfig_LogChange. I would be glad if Mentors could review the submission and suggest any improvements or feedback on how to proceed further. I would start working on the proposal and other tasks upon your approval.
I was also a mentee in GSoC 2023 with the Mifos Initiative, I’ve contributed to enhancing security and functionality across several open source projects. My journey through open-source contributions spans various technologies, including JavaScript, ReactJS, and C++.
As I move forward, I have a few questions to ensure clarity and alignment with the project goals:
Can you provide more details on how the Conventional Commits are currently being used in the workflow?
Are there any dependencies or configurations that need to be considered for the automated Debian and Flatpak packages? @rodolforg
I look forward to hearing from you.
This is not an issue. We want you to learn something new for yourself in this summer. The planned time should be sufficient to become familiar with the technology and successfully complete the task.
You can contact me or @rodolforg or @mohamed.Adhamc in PM here on forums.
But it’s preferable to just post here so more people from the community can respond to your answer.