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 >>
pEpkey.asc
Description: application/pgp-keys