= Refactor harvesting = || '''Date''' || 2011/03/21 || || '''Contact(s)''' || Mathieu, Julien || || '''Last edited''' || || || '''Status''' || draft || || '''Assigned to release''' || probably 2.7 || || '''Resources''' || || == Overview == Here is a proposal for harvesting part refactoring. This module is quite old, with a lot of duplicate code (ie. "align" methods). Moreover, the client side is quite complex with lots of Ajax query, XSL transformations on the client side, old javascript librairies used... === Proposal Type === * '''Type''': GUI Change, Core Change * '''App''': !GeoNetwork * '''Module''': Harvester, Kernel, Data Manager === Voting History === * Vote proposed by X on Y, result was +/-n (m non-voting members). ---- == Motivations == Remove duplicate code. Use librairies up to date. Store harvesting task into specific model. == Proposal == Both server side and client will be refactored based on an object model and on JSON object. We try to think this new model as generic as it could be in order to be easily extended by any new harvester. This new model uses specifics tables in the database to store information about harvesters (HarvestingTask, HarvestingTaskResults...). For now, we did a new interface based on ExtJs only for the OAI PMH harvester and we only move this harvester to the new model, there is some work to move all harvesters and to get them working into the trunk. === Backwards Compatibility Issues === === New libraries added === JSON librairies (Jackson) http://jackson.codehaus.org/ Guava for Utils on Java objects. http://code.google.com/p/guava-libraries/ == Risks == == Participants == * Mathieu, Julien * OpenWIS project.