GSoC 2011’s first week coding time has over. In this week, I mostly worked on feature to remember table’s sorting in browsing mode.
Here are things I did this week:
- I finalized the “recently used tables” feature. I did most of this feature in community bonding period and worked on this have helped me to be familiar with phpMyAdmin code base. In the start of this week, I did some changes on the javascript for this feature. I remove the inline javascript and use jQuery instead. This feature have been merged to the official master branch. Thanks to my mentor, Marc, for merging this.
- Several things regarding table’s sorting:
- I added functionality to remember table’s sorting when browsing tables. So, when we browse a table, click a column header to sort, go to other page, and back to the browse page, we will get the table sorted as last time we sorted it.
- By default, this feature is enabled. To disable this feature, I added a checkbox field in Settings page under Main frame -> Browse mode -> Remember sorting.
- I added checking, so table sorting feature will only work in “Browse” tab. So, it won’t work when user execute the SELECT FROM query from SQL tab.
- I created new table in phpMyAdmin database to store table sorting preferences persistently. This table have 4 columns: username, db_name, table_name, prefs. The preferences is stored per user and per table. I planned to use this table to store other preferences for other browsing-related features.
- I added new function for PMA_Table class, to load and store the sorting preferences. The functions can be used again for managing other browsing-related preferences.
- I added documentation for the new functions and feature.
- I started working on the next feature: column resizing. Currently, we can resize column when browsing tables. You may try this in the demo page. But, at the moment, this feature is not working if we sorted the table or goto next page on table’s pagination. This is because the ajax issue. I will work on this next week.
What I will do next week:
- Continue working on column resizing feature.
- Start working on column reordering.
That’s for this week report. Have a nice weekend, everybody! 🙂
P.S.: I separated my work on several branch: recent, tablesort, and colresize. And I merged them in my master branch. Hope this will be easier to manage my work.