[GSoC] Ilya Zlavdinov

Discuss general development subjects that are not specific to a particular version like the versioning control system we use or other infrastructure.
Post Reply
zlavdinov
Registered User
Posts: 2
Joined: Sun Mar 12, 2017 12:10 pm

[GSoC] Ilya Zlavdinov

Post by zlavdinov »

Hello! My name is Ilya Zlavdinov and this topic I would like to introduce myself. I am not sure if this is the right forum to write a GSOC student introductions. If this is the case, please direct me to the right place for it.

Currently, I am a Computer Science major at MSUPA University in Moscow, Russia.

I am interested in phpBB for two main reasons: being able to help and to get valuable experience. As phpBB software is actively used by lots of people, I would love to work on something what would actually improve experience of many real users. Since I am excited about PHP, JavaScript and front end development, I think I could have a valuable contribution to phpBB. I can imagine saving users' time, as they launch their phpBB applications, and easing the process of getting new forums up and running. Personally, I could also learn a great deal about developing process in a larger scale applications and in a professional team.

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

removed
I think there is room for further improvement in the interface. That includes the ability to freely move across navigation steps. However, that would require more significant changes in installer.js, which may be not worth it.

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.

At phpBB, I am most interested about Core Ideas at Web area, which require PHP and JavaScript development. I really like and would love to spend my summer on the ideas including Push Notifications, Converter Framework, and Moderator Tools. However, the idea that fascinates me the most is User Mentions. They seem to me as very important improvements in User Interface that would noticeable improve the Experience of phpBB users. Moreover, I think I the skills required for their implementation greatly match with my web development experience. During the last 5 years, one of my main activities was development of several big web applications in PHP and JavaScript.

For User Mentions I think I could follow the steps below.
  1. Find the form responsible for sending of the message
  2. Add to this form a handler of the event change
  3. When a symbol "@" would be encountered, I would send an AJAX request to a separate route.
  4. From this route I would receive JSON formatted data about users, who have the mentioned username after the "@" symbol
  5. Then I would find the handler of the message sending
  6. There I will find the "@" symbols.
  7. Add the symbols to the new table
  8. This table would store data in the format of "user id", "user mentioned", "mentioned message", "is the message read".
  9. Whenever a user would open a page, messages would be analyzed
  10. Any unread messages directed to this user would be presented in a dialog popup window in the bottom right corner.
Although this implementations seems to me quite straightforward, I would love to hear any comments on it. Before submitting the proposal I would like to discuss what would be the best approach to the problem. I hope you could help me find the right way to do it.


I am looking forward to spending this summer at phpBB.

Sincerely,
Ilya.
Last edited by zlavdinov on Sat Mar 25, 2017 10:53 pm, edited 2 times in total.

User avatar
JimA
Former Team Member
Posts: 66
Joined: Sun Aug 24, 2008 2:29 pm

Re: [GSoC] Ilya Zlavdinov

Post by JimA »

Hi, welcome to phpBB's Area51! :)

First of all, thanks for your interest in the project and Google Summer of Code. We appreciate your efforts.

I have removed the database information in your post though as the data could be used in a harmful way to yourself.
I realise it was meant as a way to test your implementation, but we prefer not to have this type of sensitive data available in public.
Image Jim Mossing Holsteyn - Moderator Team Member
Knowledge Base | Documentation | Board rules

No support here on Area51, please visit the Support forums over at phpBB.com

zlavdinov
Registered User
Posts: 2
Joined: Sun Mar 12, 2017 12:10 pm

Re: [GSoC] Ilya Zlavdinov

Post by zlavdinov »

Thank you, JimA!
If there would be a way for me to show my implementation to others, I would be happy to do it!

User avatar
hanakin
Front-End Dev Team Lead
Front-End Dev Team Lead
Posts: 968
Joined: Sat Dec 25, 2010 9:02 pm
Contact:

Re: [GSoC] Ilya Zlavdinov

Post by hanakin »

once you submit a PR then we can test it on our own servers
Donations welcome via Paypal Image

User avatar
pierredu
Registered User
Posts: 44
Joined: Sat Dec 05, 2015 7:21 am

Re: [GSoC] Ilya Zlavdinov

Post by pierredu »

In the first post, both links to zlavdinov.com are broken.

Post Reply