Going into the fourth week of Hacktoberfest. Update in regards to my PHP and Laurel self-learning process: I did not get much progress done. Lots of family matters got in the way this week and the PR I was working on required a lot of relearning and learning of the technologies they used, Angular and EJS, respectively.
This week, I decided to contribute to the Pagermon, a client/server framework used pager messages. The issue was an enhancement to the website that added the ability to hide, show, and rename column headings in the table of pager messages from the settings.
Before implementing the changes, I needed to relearn the framework for Angular and look into EJS which looked like the two frameworks that made up the parts relevant to the enhancement. I just breezed through some tutorials to familiarize myself with the syntax. After an hour, I was ready to contribute.
To implement my feature, I set some nconf key values to retain the settings for the column names and visibility status. Next, I added controls for those values into the settings page. To make sure the formatting was the same as the other settings on the page, I just copy and pasted the code blocks and replaced their text and controls. I tested changes to make sure the settings appeared and retained properly when saved. Afterwards, I edited the EJS scripts, wrapping each column in the table with EJS conditions that removed the code blocks when their corresponding settings were set to hide. And then I was done and submitted my pull request!
Not going to lie, spent a lot of time playing around with the HTML containers to get the settings to look just right since none of the existing setting options had the style I needed, a label with an input field and a checkbox. The was also an issue with improper table formatting were the size of columns are very disproportionate to one another when some columns are hidden. I added a comment about that in my PR as I was not sure if I was also suppose to handle it for this issue. Just waiting for a reviewer to have a look now.
This was an enjoyable issue to work on. I felt like I contributed something useful and it was a great Angular refresher, which I have not touched for a year. EJS was also new and seemed like a very useful technology which I will keep in mind for the future. This week, I plan to finish two PRs so look forward to their outcomes as I am definitely looking forward to working on them!