What I had planned for the second week of coding was the feature named 'Find and replace by column' requested in feature requests #487 and #1405. Reading through the feature requests it is evident that this feature was a quite needed one.
I approached this one by planning the user interface for the feature. I chose 'table search' tab to be the most suited one to include the UI for the new feature. 'Table search' tab already had a second level of tabs for 'ordinary table search' and 'zoom search'. So I added another secondary level tab for the new 'find and replace' feature. The new UI looks like the image below.
The initial UI facilitates entering a phrase to look for and a phrase to replace the original one. The column drop down facilitate choosing the column in which this operation is to be performed. Only the columns which has a text type is listed in the drop down as this operation in not valid for others.
When the user submits the form, having entered the above parameters, a case sensitive search is performed and a preview of replacement to be done is shown. Achieving a case sensitive search was problematic as some collations are case insensitive. However I overcame this hurdle by converting the collation to a case sensitive one in the same character set. Here is a screenshot of the preview.
Upon confirmation the matched string are replaced with the given string.
For the next week I have planned to implement 'Configurable menus' feature requested in #316. What is requested in the RFE is a basic mode with limited features exposed to the user. However, I would like to implement this in a more generic way where this feature would let the admin configure profiles and assign users to them. These profiles will have limited access defined and the logged in users would only see menus related to these features.