Great initiative Nicolas.

I remember once trying to extend the functionality of performFind but it
contained so much logic that I couldn't reuse it in any reasonable way. The
entire implementation of find services needs heavy refactoring or
replacement because it tries to do everything (searching, parsing,
paginating, displaying, validating). It's just one big monster

I would recommend instead of creating new services, trying to replace the
existing ones (if possible and you go the energy). I think we need multiple
separate components (parser, renderer, paginator, searcher, etc ...). It
would be really great to have small specialized classes or groovy scripts
that split the responsibility instead of this painful implementation we
have at the moment.

On Fri, Feb 17, 2017 at 11:04 AM, Nicolas Malin <nicolas.ma...@nereide.fr>
wrote:

> I opened the issue https://issues.apache.org/jira/browse/OFBIZ-9217
>
> It's not finish yet but already usefull ;)
>
> Nicolas
>
> Le 17/02/2017 à 06:24, Rishi Solanki a écrit :
>
>> +1
>>
>>
>> On Thu, Feb 16, 2017 at 3:31 PM, Nicolas Malin <nicolas.ma...@nereide.fr
>> <mailto:nicolas.ma...@nereide.fr>> wrote:
>>
>>     Hello, I want just sharing a small improvement realized  yesterday.
>>
>>     During a travel, I was bored on the train I tried to replace the
>>     old ftl FindGeneric screen to display and search all entity by an
>>     xml form with auto-attribute-entity.
>>
>>     The main problem came from it's impossible to create a xml file
>>     with use dynamiclay an entityName for the element
>>     <auto-fields-entity> (for cache/performance reason) so I tried to
>>     generate on the fly by groovy the xml flow, and call without cache
>>     the rendering, like this :
>>     *****
>>     String dynamicAutoEntityFieldForm = '<?xml version="1.0"
>>     encoding="UTF-8"?><forms
>>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>     <http://www.w3.org/2001/XMLSchema-instance>
>>     xmlns="http://ofbiz.apache.org/Widget-Form";
>>     <http://ofbiz.apache.org/Widget-Form>
>>     xsi:schemaLocation="http://ofbiz.apache.org/Widget-Form
>>     http://ofbiz.apache.org/dtds/widget-form.xsd";
>>     <http://ofbiz.apache.org/Widget-Formhttp://ofbiz.apache.org/
>> dtds/widget-form.xsd>>'
>>
>>
>>             '<form name="FindGeneric" type="single"
>>     target="FindGeneric">' +
>>             '<auto-fields-entity entity-name="' + entityName + '"
>>     default-field-type="find"/>' +
>>             '<field name="noConditionFind"><hidden value="Y"/></field>' +
>>             '<field name="entityName"><hidden value="' + entityName +
>>     '"/></field>' +
>>             '<field name="searchButton" title="' +
>>     UtilProperties.getMessage("CommonUiLabels",
>>     "FormFieldTitle_searchButton", locale) + '"><submit/></field>' +
>>             '</form></forms>'
>>         Document dynamicAutoEntityFieldFormXml =
>>     UtilXml.readXmlDocument(dynamicAutoEntityFieldForm, true, true)
>>         [...]
>>         dynamicAutoEntitySearchFormRenderer.render(writer, context)
>>     ****
>>     and on the ftl
>>     ****
>>     ${dynamicAutoEntitySearchForm?string}
>>     ****
>>     I realized this on the search and list form so now I can use
>>     complex search operator and the performFind for all entity. What
>>     do you thinks about that ?
>>
>>     I will open an issue.
>>
>>     Nicolas
>>
>>
>>     --     logoNrd <https://nereide.fr/>
>>         Nicolas Malin
>>     The apache way <http://theapacheway.com/> : *Openness* Technical
>>     decisions are made publicly
>>     informat...@nereide.fr <mailto:informat...@nereide.fr>
>>     8 rue des Déportés 37000 TOURS, 02 47 50 30 54
>>
>>     Apache OFBiz <http://ofbiz.apache.org/>|The Apache Way
>>     <http://theapacheway.com/>|ofbiz-fr
>>     <http://www.ofbiz-fr.org/>|réseau LE
>>     <http://www.libre-entreprise.org/>
>>
>>
>>
>

Reply via email to