Currently, I am a Computer Science major at MSUPA University in Moscow, Russia.
I decided that it would be better to introduce myself to phpBB community after I have some progress. So, I am glad to tell that I have successfully installed and launched phpBB. Moreover, I created a dedicated website for it at zlavdinov.com. I think that it could be a convenient and easy way for me to discuss and iterate on changes in phpBB by updating it on my website. This would allow my mentors and other phpBB members easily see and evaluate my changes in action.
Also, as suggested at recommended steps for GSoC students, I read the Google's student guide and then I found an issue to fix. Having encountered the problem myself, while installing phpBB, I decided to work on Add Restart link to installer #15007. While trying to fix this issue, I got a better understanding of phpBB structure.
You can see implementation of my proposed fix at zlavdinov.com. There, I added steps of the installation process and the functionality to select any previous step. For the development and testing purposes, I created a block that stops continuation of the installation after all steps are filled. This way you you could check the installation process user interface yourself. To be able to do the installation you can enter the following information:
Code: Select all
The changes in code you can see on my GitHub here. I appreciate any comments on this implementation and what should be changed or added to prepare this change for a Pull Request.
Trying to fix this issue, I could not find the relevant documentation so I had to search and read the source code for this topic. During this time I learned the details of such classes and interfaces as ordered_service_collection, container_factory, iohandler_interface, navigation_provider, template, and others. Although the structure of phpBB seemed to me unconventional and a bit complicated, I think I have understood it well enough to continue working with it.
For User Mentions I think I could follow the steps below.
- Find the form responsible for sending of the message
- Add to this form a handler of the event change
- When a symbol "@" would be encountered, I would send an AJAX request to a separate route.
- From this route I would receive JSON formatted data about users, who have the mentioned username after the "@" symbol
- Then I would find the handler of the message sending
- There I will find the "@" symbols.
- Add the symbols to the new table
- This table would store data in the format of "user id", "user mentioned", "mentioned message", "is the message read".
- Whenever a user would open a page, messages would be analyzed
- Any unread messages directed to this user would be presented in a dialog popup window in the bottom right corner.
I am looking forward to spending this summer at phpBB.