Idea:
Being one of the most renowned open source software for MySQL administrator, phpMyAdmin is a widely used tool. It has matured with many new features and improvements for many years, with the contribution of the open source community. But there is always a tendency for issues such as, similar kind of features being implemented, code duplication and eventually degradation of the code quality. The intention of this project is to address these issues under several aspects and improve its quality.
Benefits to the users:
Outcomes of this project will benefit not only the end users but also the contributors.
End users:
Considering the tasks of this project, one GUI for designing and integrated exporting functionalities will make the end user’s life lot easier.
Contributors:
Removing code duplicates and adhering to OOP concepts will help contributors by enhancing the extendibility, maintainability and eventually readability of the code.
The whole project is categorized under 5 major tasks:
Task 1: Provide single GUI editor for schema
There are two schema editors present in the current system; the ‘Designer’ and the ‘Relational Schema Editor’. However, they have some overlapping functionalities. So the idea of this task is to bring those two editors together and have a more improved version alone.
Task 2: Direct export of schema from editor
The idea is to add the schema exporting functionality to the new ‘Designer’ page, which will be created from the first task.
Task 3: Usability of designer
The intention here is to allow user to use the ‘Designer’ without configuring the phpMyAdmin specific tables.
Task 4: Reduce huge duplication of code in schema handling
This task involves two main sections:
- Reduce/remove code duplications in schema handling classes:
- Proper implementation of OOP concepts:
Task 5: OOPing Designer code
PHP files that are responsible for handling the ‘Designer’ (pma_ prefixed files) contain mostly functional code. I will work on porting these codes to an Object Oriented class hierarchy that would allow us to use the benefits of OOP.
No comments:
Post a Comment