Actions

Difference between revisions of "Finder Integration Working Group"

From Joomla! Documentation

(Status)
(Updated status)
Line 13: Line 13:
 
* Where possible, queries formed using JDatabaseQuery to enable multi-database compatibility
 
* Where possible, queries formed using JDatabaseQuery to enable multi-database compatibility
 
* Migrate existing command line method to extend JCli
 
* Migrate existing command line method to extend JCli
 +
 +
===Collaboration===
 +
All work on the migration of Finder is being performed from a [https://github.com/Finder-Integration/Finder GitHub repository].  In the repository is a simple Phing script to enable those who check out the repository to package the extension suite for easy installation.  Feel free to fork the repo and work to resolve [https://github.com/Finder-Integration/Finder/issues known issues] then submit a pull request to merge those changes in.  If you are interested in being added to the GitHub organization (which allows commit access to the main repo), send a message to [https://github.com/inbox/new/mbabker Michael Babker].
  
 
===Status===
 
===Status===
Below is the status as of 31 August 2011:
+
Below is the status as of 5 September 2011:
  
 
* Administrator Component
 
* Administrator Component
 
** All of the code has been converted to follow the native MVC structure
 
** All of the code has been converted to follow the native MVC structure
** The indexer is working with the exception of a known conflict with the loadmodule plugin; it must be disabled for the indexer to work with articles
+
** Indexer:
 +
*** The indexer is working with the exception of a known conflict with the loadmodule plugin; it must be disabled for the indexer to work with articles
 +
*** When setting the batch size to a value larger than the default of 50, the indexer fails just over halfway through the batch (tested with a batch size of 100) ([https://github.com/Finder-Integration/Finder/issues/8 Issue 8])
 +
*** Only one Finder plugin can be enabled at a time currently; the indexer goes into an endless loop upon completion of processing through the first enabled plugin ([https://github.com/Finder-Integration/Finder/issues/13 Issue 13])
 +
*** There is no indexer for com_newsfeeds and a method needs to be established as to how to index this data ([https://github.com/Finder-Integration/Finder/issues/17 Issue 17])
 
* Administrator Module
 
* Administrator Module
 
** The status module appears to be working as intended
 
** The status module appears to be working as intended
 
* Site Component
 
* Site Component
** The site component has had a quick overview of the code completed, however, major refactoring and testing has not yet been conducted
+
** Basic search functionality is working, but there are numerous errors:
 +
*** Highlighter is only highlighting the first instance of searched text then generates a "function not found" error ([https://github.com/Finder-Integration/Finder/issues/9 Issue 9])
 +
*** The suggestions script appears to not be working with Firefox 6 Stable or Firefox 7 Beta ([https://github.com/Finder-Integration/Finder/issues/14 Issue 14])
 +
*** Multi-word searches do not work ([https://github.com/Finder-Integration/Finder/issues/18 Issue 18])
 +
*** The menu item ID is lost when searching ([https://github.com/Finder-Integration/Finder/issues/20 Issue 20])
 
* Site Module
 
* Site Module
** Testing has not yet been conducted
+
** The module appears to be working as intended
 
* System Plugin
 
* System Plugin
** The plugin has had a basic review but has not been tested
+
** The plugin has had a basic review but has not been thoroughly tested
 
* Finder plugins
 
* Finder plugins
 
** Each of the plugins for core methods have had basic review and refactoring to allow the indexer to run correctly
 
** Each of the plugins for core methods have had basic review and refactoring to allow the indexer to run correctly

Revision as of 23:39, 4 September 2011

The purpose of the Finder Integration Working Group is to migrate JXtended's Finder extension package to be compatible with Joomla! 1.7+ in order to allow it to be considered for inclusion in a future release of the Joomla! CMS. At present, a realistic goal for this inclusion would be for Joomla! 3.0, scheduled for release in July 2012.

Contents

What is Finder?

Finder is an advanced search extension for Joomla! 1.5. The full package includes the Finder component, a front-end search module, a back-end status module, a group of plugins for processing data from core components, and a system plugin. Finder includes features such as term highlighting, suggestions, and allows for taxonomy support. Finder is used to power the search on extensions.joomla.org.

Goals

The ultimate goal is to enable Finder to be integrated into the Joomla! CMS, replacing the existing search component. Below are additional goals that should be met during the migration process:

  • Component follows proper MVC structure
  • All old version code updated to current supported version (for example, MooTools based script)
  • Meets code style standards as defined in the Joomla! Platform
  • Uses no deprecated methods (i.e. JRequest)
  • Where possible, queries formed using JDatabaseQuery to enable multi-database compatibility
  • Migrate existing command line method to extend JCli

Collaboration

All work on the migration of Finder is being performed from a GitHub repository. In the repository is a simple Phing script to enable those who check out the repository to package the extension suite for easy installation. Feel free to fork the repo and work to resolve known issues then submit a pull request to merge those changes in. If you are interested in being added to the GitHub organization (which allows commit access to the main repo), send a message to Michael Babker.

Status

Below is the status as of 5 September 2011:

  • Administrator Component
    • All of the code has been converted to follow the native MVC structure
    • Indexer:
      • The indexer is working with the exception of a known conflict with the loadmodule plugin; it must be disabled for the indexer to work with articles
      • When setting the batch size to a value larger than the default of 50, the indexer fails just over halfway through the batch (tested with a batch size of 100) (Issue 8)
      • Only one Finder plugin can be enabled at a time currently; the indexer goes into an endless loop upon completion of processing through the first enabled plugin (Issue 13)
      • There is no indexer for com_newsfeeds and a method needs to be established as to how to index this data (Issue 17)
  • Administrator Module
    • The status module appears to be working as intended
  • Site Component
    • Basic search functionality is working, but there are numerous errors:
      • Highlighter is only highlighting the first instance of searched text then generates a "function not found" error (Issue 9)
      • The suggestions script appears to not be working with Firefox 6 Stable or Firefox 7 Beta (Issue 14)
      • Multi-word searches do not work (Issue 18)
      • The menu item ID is lost when searching (Issue 20)
  • Site Module
    • The module appears to be working as intended
  • System Plugin
    • The plugin has had a basic review but has not been thoroughly tested
  • Finder plugins
    • Each of the plugins for core methods have had basic review and refactoring to allow the indexer to run correctly
    • All dependencies on section data have been broken
    • Still needs further review and refactoring
  • JavaScript
    • All of the MooTools based code has been reviewed and most deprecated/removed methods from 1.2 have been replaced with the appropriate 1.3 methods
    • All script needs to be tested
    • Script needs to be reviewed and, where available, replaced with existing scripts from the system library

Further Information

Work on conversion is being conducted from a GitHub repository until the extension package is 100% converted and ready to be feature requested into the CMS. At that point, the repository will move to a branch of the SVN where the package will be integrated into the core CMS installation.