Hi Mateusz,
2011/3/27 Mateusz Lewandowski gandalfml@gmail.com:
Hi again,
Now I can tell that I understand phpMyAdmin structure of code and generally how it works:) The first part of code that I'm going to turn into OOP is libraries, there is a horrible disorder in this part, and when you wont use some of library function you must make a big effort to do it well. Also scripts witch are used to initialised phpMyAdmin should be turn into OOP. Next step that I'm going to make is, as I wrote before, to separate out the logic of application and the view layer, when this will have been done, there will be easy work to port the rest code into OOP. I'll have three mounts only for this job, I think that it is possible to turn whole code of phpMyAdmin into OOP, maybe I'm wrong, but I'm going to try do it.
Rewriting all the code of phpMyAdmin into OOP is beyond the scope of GSoC, for several reasons.
Firstly, I don't think it can be done, even if you are a very efficient coder. Take into account that you should not just code during those 12 weeks, but also, test it and write documentation. Have you made a week to week plan yet of what you're going to do when?
Secondly, you won't be the only GSoC student working on phpMyAdmin, so if you would manage to rewrite everything during those 12 weeks, it would be impossible to merge either yours or their work with the current codebase.
For those reasons, it would be better to focus on a smaller part of the current code to turn into OOP. Like libraries, or init script, like you proposed. I'm looking forward to you proposal.
About MVC, just keep it in mind as a general idea, but don't focus to much on it. I mean, if it is possible to create a class where you seperate html (or other output) from the logic, do it. F.e. in a table class, if there is a function to get all columns, return an array of columns and not an <ul> or <table> (or something else) list, so that this function can be used by several parts of phpMyAdmin, even the ones that don't output html. (Very simple example, I know, but I just wanted to make clear what I meant) But rewriting the entire codebase of phpMyAdmin, enforcing a seperation of View and Logic, is again out of scope for GSoC, for the same reasons as mentioned above.
I have a question in matter of patch that I should sent with my proposal. Here http://sourceforge.net/tracker/index.php?func=detail&aid=2937379&gro... is written that "Currently SQL pretty printer shows documentation links", where are this links? Maybe I overlook something, but can you explain me about what exactly is this Feature Request?
For further info, I propose to ask for it in comment on the feature request. As for the links : if you execute a query (select, show, insert, ...), it is shown on top of the screen after execution, showing the result of the query. f.e. when you look at the contents of a table. In case of a SELECT statement, the 'SELECT' keyword is a link to the MySQL documentation.
Kind regards,
Dieter
Thank you Mateusz Lewandowski
2011/3/26 Mateusz Lewandowski gandalfml@gmail.com
Hi,
That's why I wrote that I am not going to implement ORM.
I already downloaded the phpMyAdmin code from git repository and I started to learn how the phpMyadmin works. I had a look at the reported bugs, I'll try to fix some of them this weekend.
By the way of MVC, my friend will apply for User interface cleanup and if her proposal turns out to be successful, it will be possible that we can separate out the code into controller and view layers together, so that work will be more effective.
Thank you Mateusz Lewandowski
2011/3/26 Dieter Adriaenssens dieter.adriaenssens@gmail.com
Hi Mateusz,
2011/3/24 Mateusz Lewandowski gandalfml@gmail.com:
Hi again, Thanks for the answer. I have big experience in design patterns. In my PHP project I use MCV model. I'll try to implement this model into phpMyAdmin, but in my opinion there is no point in full implementation of ORM, I'm going to limit this layer of MVC to minimum or just leave it. Do you think that this is a good idea?
By ORM, I guess you mean Object-relational mapping? I don't know much about it, but after a quick glance, I think it would overcomplicate things. MVC is OK, the idea is to create classes that can be (re)used in different parts of phpMyAdmin, anyway, the useroutput (View) should not be in those general classes. Do you have an idea yet of what part of phpMyAdmin you would turn into a class?
I'm not going to look for another job for summer, so that I'll have enough time for this project, 12 weeks and 40 hours per week are not a problem, and if needed, I'll be able to make more time for it.
GSoC is a summer job. ;)
I already looked into application guide. I'll send my proposal on 28th March as it's written in timeline of GSoC.
Remember to submit a patch by then as well.
Kind regards,
Dieter
Thank you Mateusz Lewandowski 2011/3/23 Dieter Adriaenssens dieter.adriaenssens@gmail.com
2011/3/22 Mateusz Lewandowski gandalfml@gmail.com:
Hello,
My name is Mateusz Lewandowski, I'm studying computer science and I'm on the forth term of my studies. I have very strong background in OOP, especially in C++ and Java, but I also have some experience in php(I finish one individual project which is written using Symfony framework an now is available on http://www.biuro-lewandowscy.pl/ ). I'm very interested in phpMyAdmin OOP project and I'll get familiar with code of phpMyAdmin as soon as possible in this week. I think that porting existing code into object orientated structure should be easy for me.
Hi Mateusz,
Thanks for your interest in GSoC and in particular the OOP idea.
It's nice to hear you have some experience with OOP and PHP, do you have experience with Design Patterns? Please take into account we expect you to make a proposal to turn a part of phpMyAdmin code into OOP. Refactoring of the code into a class, implementing it in the rest of the codebase, testing and documenting should be done in about 12 weeks of 40 working hours.
Did you take a look at the application guide [0] yet? We expect you to submit a patch before the end of the application period, to have an idea of your skills and understanding of phpMyAdmin code.
Good luck with GSoC and with submitting your application.
Kind regards,
Dieter Adriaenssens
[0] http://wiki.phpmyadmin.net/pma/GSoC_2011_Applicant_Guide
regards, Mateusz Lewandowski
Enable your software for Intel(R) Active Management Technology to meet the growing manageability and security demands of your customers. Businesses are taking advantage of Intel(R) vPro (TM) technology - will your software be a part of the solution? Download the Intel(R) Manageability Checker today! http://p.sf.net/sfu/intel-dev2devmar _______________________________________________ Phpmyadmin-devel mailing list Phpmyadmin-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel
-- Groetjes,
Dieter Adriaenssens
Enable your software for Intel(R) Active Management Technology to meet the growing manageability and security demands of your customers. Businesses are taking advantage of Intel(R) vPro (TM) technology - will your software be a part of the solution? Download the Intel(R) Manageability Checker today! http://p.sf.net/sfu/intel-dev2devmar _______________________________________________ Phpmyadmin-devel mailing list Phpmyadmin-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel
Enable your software for Intel(R) Active Management Technology to meet the growing manageability and security demands of your customers. Businesses are taking advantage of Intel(R) vPro (TM) technology - will your software be a part of the solution? Download the Intel(R) Manageability Checker today! http://p.sf.net/sfu/intel-dev2devmar _______________________________________________ Phpmyadmin-devel mailing list Phpmyadmin-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel
-- Groetjes,
Dieter Adriaenssens
Enable your software for Intel(R) Active Management Technology to meet the growing manageability and security demands of your customers. Businesses are taking advantage of Intel(R) vPro (TM) technology - will your software be a part of the solution? Download the Intel(R) Manageability Checker today! http://p.sf.net/sfu/intel-dev2devmar _______________________________________________ Phpmyadmin-devel mailing list Phpmyadmin-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel
Enable your software for Intel(R) Active Management Technology to meet the growing manageability and security demands of your customers. Businesses are taking advantage of Intel(R) vPro (TM) technology - will your software be a part of the solution? Download the Intel(R) Manageability Checker today! http://p.sf.net/sfu/intel-dev2devmar _______________________________________________ Phpmyadmin-devel mailing list Phpmyadmin-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel