Contributor: Sanju Raj
Mentor: Rick McGowan
Project Size: Small (~60 hours)
Project link: project-submission
Project Proposal: Proposal
This project aims to develop a suite of command-line interface (CLI) modules tailored for Linux environments, enabling automation of common Google Groups operations. These modules, predominantly in sh, Perl, and Python, will leverage various Google APIs to facilitate tasks seamlessly. Primarily, the tool will serve as a bridge between Little Green Light (LGL), Unicode's central contact management system, and Google Groups. By integrating with LGL's daily reports, the tool will enable automatic updates to Google Groups based on constituent data changes, ensuring that Google Groups remain synchronized with the single source of truth provided by LGL.
Expected outcomes encompass a robust CLI toolset capable of:
- Adding members to groups.
- Removing members from groups.
- Modifying member roles within groups.
- Validating membership status based on email addresses.
- Efficiently removing members from all groups.
- Listing groups in the organization linked to specific individuals.
By automating these tasks, the project aims to save significant time and effort previously spent on manual group management processes. The tool's modular design will facilitate easy integration into existing workflows, enabling seamless execution via cron jobs and shell scripts.
This project simplifies the management of Google Groups by automating common tasks. It uses LGL reports as the primary data source to ensure accuracy. Through a user-friendly console interface, the tool efficiently synchronizes groups, reducing manual effort.
- Adding members to groups.
- Removing members from groups.
- Modifying member roles within groups.
- Validating membership status based on email addresses.
- Efficiently removing members from all groups.
- Listing groups in the organization linked to specific individuals.
Commit | Description |
---|---|
5d4f1f7 | Added script for managing group members using Google Admin SDK |
3383f08 | Added a .gitignore file |
2abc7c0 | Added scripts for adding members to group, Removing members from group,modifying member roles within groups,and validating membership status. |
d4c9218 | Added the set_no_mail.py script |
6da428e | Added the listgroups.py script |
b4b4bc5 | Added the group_info.py script |
96dca4e | added input as a command line argument |
384fb00 | Updated Readme to include all the requirements and setup process |
7eddb48 | Added a unittest script |
70fd514 | Updated the Readme |
I have completed almost all the goals we decided on during the community bonding period. I thoroughly enjoyed the work and would be thrilled to keep contributing. I tried getting into open source a few times before and hit a dead end. Participating in GSoC gave me the right confidence and skill to make meaningful contributions. Now, instead of feeling overwhelmed by a big codebase, I have the skills to handle it.
Thanks to Google, Unicode, and my mentor for this opportunity. I will be forever indebted to my mentor and Unicode community for their constant support and guidance.