I am writing with hope that I will get your forgiveness for sending
this introduction as a GSoC candidate so late.
My name is Tsolo Tsolov and I'm a Bulgarian "TECHNICAL UNIVERSITY OF
SOFIA" student with about 3 years of experience in professional web
development.
My experience is mainly in modifying and creating plugins for CMS. In
the beginning of my PMA experience it was pretty hard for me, because
I get really confused of the great various of the interface options.
And from there came my idea:
It is about making a “lite” interface for inexperienced users. My idea
about the Lite version is to have its own folder called “lite” and to
use as much as possible the PMA source. The possibilities in this
interface will be only the basic ones that will be useful for the
beginners.
The other idea that I have and I can attach like a patch (in early
version) is DHTML tree menu for the navigation frame. The tree menu
will have easy CSS template styling and functionality to group tables
by prefix.
Please give me your opinion about that interface, because I am really
keen on its development even if it’s not for the GSoC program.
Best regards
Tsolo Tsolov
Hello Everyone,
I have been using phpMyAdmin a lot for my development work on PHP/ MySQL and
it really fascinates. It creates such a simple interface for regular people
to manage their database.
I very much liked the idea of server status page for PMA.
Using GD2 library (PHP) would be the most convenient option.
We can build graphs for volumes, errors, traffic inflows, server downtime
due to high volume, highlight server alerts, breakdown, etc
Anybody here to discuss the idea?
------
Regards,
Neeraj Agarwal
Here's the current version of my proposal, just wondering what people's thoughts are.
Thanks everyone
Aaron Maturen
Revamping phpMyAdmin to utilize MVC architecture
Name:
Aaron Maturen
Location:
Saginaw, Michigan, United States of America ( GMT -5 )
Education:
Pursuing BS in Computer Science & BA in French
Email :
atmature(a)svsu.edu
Website:
http://www.aaronmaturen.com
Synopsis:
My proposal is to rewrite the architecture of phpMyAdmin with the model-view-controller(MVC) design pattern. With this pattern we will be able to separate all the code into three parts:
The Model. This is where the business logic goes. All the code to connect to the database resides here. If we code the adapter pattern here we could potentially give PMA the ability to work with other RDBMS with simple plugins.
The View. This is where the template system goes. Implementing a complete template system and recreating themes for PMA is beyond the scope of the
The Controller. Links the Model(all the data) with the View(what the user sees)
Additional Design Patterns that could be implemented:
Singleton:
For handling sessions. makes sure that there is only ever one instance.
Strategy:
For handling languages. allows different languages/themes to be easily interchanged.
Prototype:
For handling the presentation system. Consists of concrete forms of presenting data for example; html, csv, pdf, svg, etc.
We can easily add an AJAX library into this to allow the MVC framework to utilize AJAX and be able to transfer data between the classes without a page refresh. Although it would be useful to have an AJAX library in the code, utilizing it for most things would be out of the scope of this proposal.
Benefits to the users: The MVC architecture will better support scalability and ease modification and maintenance(due to the separation of tasks). Also with the template system and business logic located in separate files comes the separation of the front and back end of the website; resulting in a more robust website.
The separation of the design and applications layers allow for increased levels of interactivity without compromising security. By using MVC Architecture and working in an Object oriented format, the website becomes increasingly modular where users can easily add new modules without disturbing the rest of the application.
Project Details:
A more detailed description.
Deliverables:
What will be the final output from your project?
Project Schedule:
Week I (and before) - Start Breaking down phpMyAdmin into logical groups and design patterns. Publish my goals to PMA listserv and get feedback on my plans.
Week II - Continue to break current code down in design patterns. Implement the MVC skeleton and start to implement user system.
Week III - Language system. Implement strategy pattern to allow for localization. Since this is done before any text gets typed to be displayed we won't have to go back and re-implement it.
Week IV - Database Connection/Manipulation. Start to implement talking to the database using the adapter and porting the existing code
Week V - Continue Database porting.
Week VI (MIDPOINT) - Implement template system.
Week VII - Have MVC completed with all current functionality restored.
Week VIII - Work on the presentation data to allow for different presentation modes: ie) web, print
Week IX - Test current version. Finish any part needed for soft finish that ran behind.
Week X - Soft Finish. Leave last 2 weeks for tweaking the application and fixing bugs.
Week XI - Tweak App, Fix Bugs.
Week XII (END) - Finish.
Time:
My only commitment this summer is my job at Audio Central Alarm in Saginaw, Michigan where I work as a dispatcher. Normally this entails sitting in front of a computer for 8 hours on third shift getting paid to do my homework. This summer I am not planning on taking any spring/summer courses so I am able to devote 50+ hours a week to this project.
Bio:
I started programming HTML in 2001 when I was in 7th grade, my friend got me interested in it. From there I kept trying different things; in 8th grade I vaguely remember dabbling with Java. When I got into high school in 2002 I joined the FIRST Robotics team and that first year I was on the animation team. After that year the only student who knew how to program was graduating so I sat down over the summer and learnt pBasic, a version of Basic for the Parallax BASIC stamp microcontroller. But, I never got a chance to use it. Soon as the next season started up they announced that they had switched controllers to Microchip’s PIC controllers, which were programmed in C instead of being programmed in pBasic. I continued to spend the remaining three years on the FIRST Robotics team programming in C. During this time I was also part of the Lemelson-MIT InvenTeam from my school where I programmed a vector-based autonomous field striper, and created a Socio-economic model for robots to follow which took 4th place at the Intel International Science and Engineering fair for team Projects.
But, even though I spent a lot of concentration on those projects thats through High School it was around this time that I started diving deeper into web programming with MySQL, PHP, and CSS. And I’ve been playing with it since then.
Experiences:
Recently I have been working on my own website using MVC architecture. It started out as a bet from my friend that I couldn’t make a site similar to facebook in a week. I did that but he argued that even though I had classes in my design that it wasn’t object-orientated. This inspired me to evolve the site to the next level with MVC architecture and design patterns. While its still and progress the site can be viewed at http://www.zoebabin.com and the source code for it can be found at http://www.aaronmaturen.com/mvc.zip. I have been using PHP and MySQL for 6 years now and I’m always trying to expand my knowledge on them. Currently I am studying for my MySQL 5.0 DBA certification which I am hoping to have by May. Also during this last semester I helped run a study group on design patterns where we went through the Gang of Four book and the Headfirst into Design patterns and went over 3 of the design patterns every week.
Also I am currently working on a research project with biology professor, Dr. Gary Lange and a fellow student at Saginaw Valley State University where we are designing a program to record events in controlled lab experiments. We’re using Java to program it in order to ensure that the program will be able to be ported easily to several different operating systems.
In regards to programs I have done for class; my favorite one was coding Dijksta’s shortest path algorithm into a flight management system. It was with this program that I was able to become the most comfortable with the standard template library in C++.
Open source:
In preparing for Google Summer of Code for 2010 I started looking at projects that have been part of it in the past; mainly XBMC. I got as far as using svn to copy the trunk and install all of the dependancies for it to be compiled, but unfortunately before I was able to complete any pre-qualification tasks the projects were announced and XBMC isn’t one of them.
Hi everyone,
I'm an undergrad in Human-Computer Interaction at the University of Toronto
and am very interested in improving the usability of the PMA interface as a
GSoC project. I have been looking through the list of feature requests and
taking some of them into account when considering what changes could be
made.
I'm wondering if it would be beneficial to include an explanation and
mock-up of the changes I would like to make as a part of my proposal.
If anyone has any other comments or suggestions about this idea, I would
love to hear them.
--
Thanks,
Lori
Hi,
in libraries/header_scripts.inc.php all the loading of .js adds the
timestamp of the file as a parameter. This produces in my Apache log
file a 304 request for each file. It's true that the .js file itself is
not transmitted but couln't we avoid those requests?
Maybe it's intended for developers who don't want to remember clearing
their browser cache, more than for users?
--
Marc Delisle
http://infomarc.info
Hi,
jquery.js 1.4.2 (minified) is now in the /js directory. I converted the
slider effect. I am learning jQuery and am pleased so far, but I have
two issues with the changes I did:
* under MSIE 8, there is no "+" and "-" appearing in front of the link
* in the Search page, animation is jumpy (could be related to [0])
Next job I'll do will be the color picker.
[0]
http://blog.pengoworks.com/index.cfm/2009/4/21/Fixing-jQuerys-slideDown-eff…
--
Marc Delisle
http://infomarc.info
Hi all
My name is Cristian Mircea Messel and I am perusing my bachelor in IT
Engineering at VIA University Denmark.
I have been using phpMyAdmin for ages now, ever since I found out what a
database is. I am really interested in php and mysqla development, them
being the main fields I worked in.
Several ideas caught my eye: User interface cleanup, oop and ajax. I have
previous experience in developing a forum that also wasn't oop. And
converted some of it but that was a long time ago. Also I worked in
developing the front end for some audio hardware, where ajax programming
was required. The idea is that phpMyAdmin helped me in a lot of ways and
now I see a clear pathway for me to give something back.
A link to my blog: blog.welcome-to-the-world.com
(not that popular)
After reading a little more on phpMyAdmin I will post the questions I have
Best regards,
Cristian
hello sir..
i am a student pursuing graduation in information technology in India. I am
interested in contributing to phpmyadmin projects' by coding but i am a
beginner in this field and i have no idea about how to begin with. if you
could please help me by suggesting me some area i can work on. I have
learned programming in C/C++ and also done an academic project in php and
mysql. I will be highly grateful to you.
eagerly awaiting for your positive response!!!
thank you
Hi All,
This is my second post i am planning to participate in GSOC 10 i would love
to do charts in server status page.
I have one question i hope you guys will give me feedback on that. Adding
graphs to run time information is good will help DBA a lot but how about
adding certain diagnostic tools like combining explain with this charts
showing what mysql parameters one can change like buffer size, indexes for
queries and giving ballpark range of how this can improve the performance of
certain resource intensive queries and showing all this in a bar graph.
Basically comparing the query time at present with query time if the changes
are done. I see this can help because when some large query is run on tables
with millions of data many times DBA have problem to pin point why server
response time is low and what corrective measures he has to take.
Thanks and Regards,
Shreyas
Hello Everyone,
My proposal is to rewrite the architecture of phpMyAdmin with the model-view-controller(MVC) design pattern.
With this pattern we will be able to separate all the code into three parts:
1) The Model. This is where the business logic goes. All the code to connect to the database resides here. If we code the adapter pattern here we could potentially give PMA the ability to work with other RDBMS with simple plugins.
2) The View. This is where the template system goes.
3) The Controller. Links the Model(all the data) with the View(what the user sees)
Secondary Design Patterns that could be implemented alongside the MVC framework:
Singleton:
for handling sessions. makes sure that there is only ever one instance.
Strategy:
for handling languages. allows different languages/themes to be easily interchanged.
We can easily add the jQuery library into this to allow the MVC framework to utilize AJAX and be able to transfer data between the classes without a page refresh.
Benefits to the users: The MVC architecture will better support scalability and ease modification and maintenance(due to the separation of tasks). Also with the template system and business logic located in separate files comes the separation of the front and back end of the website; resulting in a more robust website.
The separation of the design and applications layers allow for increased levels of interactivity without compromising security. By using MVC Architecture and working in an Object oriented format, the website becomes increasingly modular where users can easily add new modules without disturbing the rest of the application.
you can view a sample website that I am in the process of transferring to MVC architecture at http://www.ivorypenguin.com/mvc and you can find the source code at http://www.ivorypenguin.com/mvc/mvc.zip I've just got module to allow users to log in. But the architecture is more or less done.
Thank You For Your time,
Aaron Maturen
atmature(a)svsu.edu
aaron.maturen(a)gmail.com