[Phpmyadmin-devel] GSoC 2011:phpMyAdmin OOP

Dieter Adriaenssens dieter.adriaenssens at gmail.com
Sun Mar 27 13:55:24 CEST 2011


Hi Mateusz,

2011/3/27 Mateusz Lewandowski <gandalfml at 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&group_id=23067&atid=377411
> 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 at 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 at gmail.com>
>>>
>>> Hi Mateusz,
>>>
>>> 2011/3/24 Mateusz Lewandowski <gandalfml at 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 at gmail.com>
>>> >>
>>> >> 2011/3/22 Mateusz Lewandowski <gandalfml at 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 at 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 at 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 at 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 at 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 at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/phpmyadmin-devel
>
>



-- 
Groetjes,

Dieter Adriaenssens




More information about the Developers mailing list