|
Until yesterday, I had not written any line of serious code for JResearch. By serious code, I mean something that runs and can be tested. Although my timeline said I should be busy with design stuff, I could not resist and needed an excuse for writing code. I found it: my timeline does not mention anything about the search plugin for JResearch. Back then, I did not know how to integrate new types of records in searches; someone in Joomla forums explained that fact during the student's brainstorm phase, so I decided to include this plugin for my formal data design release.
The task was not difficult as documentation is clear. I checked an example about an authentication plugin in Joomla developers documentation but the key was to study the code in content and categories search plugins. Once understood how to write plugins, I worked in the SQL queries for every type of record (publications, projects, theses, research areas and staff members). At that time I had a doubt: the content component implemented the search of categories, sections and content in different plugins, why?. As JResearch will not be a core extension, a search plugin for every entity is not a good idea. Fortunately, Joomla Forums helped. In the plugin, each entity is dealt in a different function and the one attached to the onSearch event collects these results, invoking the publications function first. I just included one parameter, the maximum number of retrieved results. I entered 5 or 6 of records in my Joomla installation tables (yes, I installed the skeleton) and tested the queries with initial success. The next step is to rewrite this code to use object oriented paradigm. I did it not before because I took the article search plugin as code base, but I am sure it will not take me much time and effort.
Installing Eclipse with PDT took me several days. I installed Eclipse 3.2 from Ubuntu repositories but installing Subclipse and PDT brought to an infinite stack of unsatisfied dependencies where pop() method was seldom invoked. Finally, I read that next versions of Eclipse will include Subversive plugin as part of the core distribution for integration with Subversion repositories. I gave up Eclipse 3.2 and Subclipse and tried Eclipse 3.3 with success. I used to be an Eclipse detractor. As I told Neri, my first experience with Eclipse was with an earlier Ubuntu version in my old Toshiba laptop (Pentium IV, 1GB de RAM) and was really disappointing due to a really bad performance. The problem seemed to be SWT had problems in Gnome desktop. But again I changed my mind and discovered a powerful and REALLY extensible tool, plugin oriented with an acceptable performance this time and an extremely long list of available plugins. A Eclipse's weakness is the incompatibility of several extensions for versions with different minor number considering their release cycle is short (certain plugins have a different version for Eclipse 3.2 and 3.3 for example, I would really appreciate to focus a little more in backwards compatibility), but fortunately plugin database is so various that you probably will find a substitute extension. I also dislike the presence of deep dependency paths. My current job (see Neri's last blog) required me to use Eclipse as our main development suite so I had to install plugins for C/C++, Qt4, Python, Subversive and PHP. I had to deal with A LOT of unsatisfied dependencies but I could use this effort for all my current responsibilities. I tested CDT Plugin (the one for C/C++) with a couple of unit testing frameworks and I consider it an excellent option for developing in those languages Unfortunately, I wrote the search plugin code in gedit so I cannot give you my impressions about PDT, but be patient, they are coming soon. Be sure I will use it more often, GREAT tool!!!. At this moment, I am looking for UML tools with Eclipse integration.
As common, the summary of pending activities:
- Rewrite JResearch search plugin in an OO style
- (URGENT)Start with TinyMCE. I suspect this task will take time. I look forward to starting
- Refresh my knowledge in DHTML (I am worried because this task has been in all my reviews)
- Check my detailed data design again as during this week I had to make a couple of minor changes. There are still pending details.
Comments welcome :-)
|
Thursday, 12 June 2008
Wednesday, 11 June 2008