Hi,

I have the feeling that the first approch is a step to move on second.

Create a tree structure for plugins would be necessary and implement it
the resolve installed plugins without framework change for each new sub
directory seems a mandatory way to keep it simple.

Nicolas

On 30/07/2020 18:53, Pawan Verma wrote:
> Thanks Mridul and Jacques for the valuable feedback.
>
> I also agree with your proposition. My vote is also for approach #1.
>
> Best
> Pawan
>
> On Thu, Jul 30, 2020, 9:32 PM Jacques Le Roux <jacques.le.r...@les7arts.com>
> wrote:
>
>> Hi,
>>
>> Like Mridul, I also suggested  the 2nd approach. I eventually tend to
>> agree with Mridul. Having clearly separated packages, even with a bit of
>> redundancy, simplifies and consolidate things.
>>
>> Jacques
>>
>> Le 30/07/2020 à 17:37, Mridul Pathak a écrit :
>>> Hi Pawan,
>>>
>>> Though few years ago I was advocate of the approach #2 that you have
>> suggested here, now I think that #1 is the best approach. In real time
>> implementations the idea of plugins is to be able to use only what you
>> need. Like for payment integrations you selectively use the gateways,
>> mostly one. So it should be as easy to drop the plugin for your preferred
>> gateway and use it, you shouldn’t need to unnecessarily have to code of all
>> other payment integrations that you don’t need. Also, from maintenance
>> perspective even though some of these third party integrations could be
>> categorised but still each of them have their own API specification,
>> configurations and they need to be maintained separately. So, my vote would
>> be to #1 that is to create separate plugins for each third party
>> integration.
>>> Thanks.
>>> --
>>> Mridul Pathak
>>>
>>>
>>>> On 30-Jul-2020, at 8:34 PM, Pawan Verma <pawan.ve...@hotwaxsystems.com>
>> wrote:
>>>> Hi Pritam,
>>>>
>>>> I am also more inclined to not create a different repository for
>>>> third-party-plugins. As we can have any number of plugins in OFBiz and
>>>> Users can set up required plugins as per their need.
>>>>
>>>> I would suggest creating separate plugins for each third-party
>> integration
>>>> like ups, firstdatapaymentgateway, etc that way if the user wants only a
>>>> specific gateway or plugins can have only that one.
>>>>
>>>> I suggest two approaches:
>>>> #1: Create a separate plugin for each integration and put them into the
>>>> plugins directory.
>>>>
>>>> #2: Club all the related plugins into one directory and can add that
>> parent
>>>> directory in base/config/component-load.xml. The benefit of this
>> approach
>>>> is we can have all payment or other gateways in one place and also don't
>>>> need to create a separate repository for the third-party-plugins.
>>>> Example for shipping gateways:
>>>>
>>>>    1. Club all shipping gateways into the plugins/shipping-gateway
>> directory
>>>>    2. Add this shipping-gateway into base/config/component-load.xml
>>>>    as <load-components parent-directory="plugins/shipping-gateway"/>
>>>>
>>>> If we follow the #2 approach we may need to improve our plugin setup
>> Gradle
>>>> target i.e. pullPluginSource.
>>>>
>>>> Please let me know your thoughts and I can provide more detail if
>> needed.
>>>> Best
>>>> Pawan
>>

Attachment: pEpkey.asc
Description: application/pgp-keys

Reply via email to