-
-
Notifications
You must be signed in to change notification settings - Fork 10
Google Summer of Code Project Report

This page gives a detailed report on the "Command Line Plone Tools" project under GSoC 2018.
Blogs for a weekly break-up of my progress and core details on few of the improvements.
I'm Kumar Akshay studing Electronics and Telecommuniction at Shri G.S. Institute of Technology and Science, Indore.
My proposal for GSoC 2018 was to implement/improve subtemplates for bobtemplates.plone and improve plonecli.
| Week # | Issues/Features/Bug Fixes | PR Links |
|---|---|---|
| Week I | Hide filter options in FTI settings, when dexterity_type_base_class is 'Item' | #289 |
| Week II | If global_allow is False, ask for parent containter content_type | #284 |
| Week III | Add version option | #24 |
| Week IV | Add conditional test for content_type sub-template | #290 |
| Week IV | Create custom to_boolean jinja filter | #292 |
| Week IV | Prepare package for mockup pattern development | #291 |
| Week V | Prepare package for mockup pattern development | #297 |
| Week V | Add configure command to set user defaults for mrbob | #26 |
| Week V | shift changes from buildout to addon | #297 |
| Week VI | Add buildout script to create/update locales | #304 |
| Week VII-VIII | Add sub-template "view" to create views | #299 |
| Week IX | Add a sub-template "viewlet" | #281 |
| Week X | Replace stringcase library by case_conversion library | #312 |
| Week X | Create portlet | #308 |
| Week XI | Add -t and -s option to the test command | #31 |
| Week XI | ConfigParser.NoOptionError: No option 'package.git.init' in section: 'variables' | #35 |
| Week XI | UnicodeDecodeError on plonecli config | #35 |
| Week XII | Write proper unit tests, aim for 100% unit test coverage | -- |
During this period, we mainly discussed the scope of the project and added doable tasks, arranged in order of difficulty/time involved, in the Progress Board.
There was a little confusion in adding docker support to plonecli as the exact feature was not clear at that time. So we shifted that part of the project and added few other issues, as well as, removed those issues which were already fixed.
During this period, I mainly worked on content_type subtemplate to have following improvements
- hide filter options in FTI settings, when dexterity_type_base_class is 'Item'
- If global_allow is False, ask for parent container content_type
- tests inside the generated package which also includes robot test.
we made a release of these new features in bobtemplates.plone v3.3.0
During this phase, I worked on a variety of tasks from plonecli as well as bobtemplates.plone
- Added
plonecli -Vcommand in plonecli. - Added few conditional tests for content_type in bobtemplates.plone.
- Added custom filter in jinja environment for tests.
- extended .gitignore and buildout.cfg in addon subtemplate.
- worked on implementing a cross-platform script to add/update locale as previous methods doesn't work in Windows.
- started to work on adding view subtemplate to bobtemplates.plone.
During this phase, I majorly worked on bobtemplates.plone
- Continued work on view subtemplate.
- Added viewlet subtemplate.
we made a release of both plonecli v0.2.1 and bobtemplates.plone v3.4.1
- worked on adding portlet subtemplate.
- worked on fixing few bugs which went unnoticed in the release
- ConfigParser.NoOptionError: No option 'package.git.init' in section: 'variables'
- UnicodeDecodeError on plonecli config
- ConfigParser.NoOptionError: No option 'package.git.init' in section: 'variables'
- worked on adding test specific commands like
plonecli test -a,plonecli test -t,plonecli test -sor multiple combinations of these three.
- write proper unit tests, aim for 100% unit test coverage
Unit tests for all new features are already at 92% but there is some work required for other parts that were introduced before the GSoC period.
I am grateful to work with my mentors Maik Derstappen, Encolpe Degoute and Alexander Loechel for this project. They helped me throughout summers in every possible way. I am really thankful to the Plone community for giving me this opportunity to work on this project.
Daily LogBook : https://github.com/plone/plonecli/wiki/Logbook
Weekly Blog : https://medium.com/@k.akshay9721/
Project Progress Board : https://github.com/orgs/plone/projects/2
Discussions : https://gitter.im/plone/plonecli