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
>
>

Reply via email to