I have a super basic question on organizing extens...
# suitecommerce
j
I have a super basic question on organizing extension development for a very customized project… Any good tips for deciding between Multiple Extensions and One Mega Extension With Multiple Modules? One Mega Extension seems easier for keeping local and netsuite environments in sync, but is that too messy or create a risk for a single point of failure? This project’s customizations will involve all three sca applications (shopping, checkout, myaccount) so I was thinking about creating 3 separate Extensions. However, some changes will involve all three applications, so it might be better to create an extension for each feature instead to help keep the related code centralized. How do you decide?
s
Hey Jerry, good question. We recommend splitting up big customisations into separate modules with an extension, and then big customisation projects into separate extensions. Without knowing the details of your customisation project, I can't say conclusively. If you're splitting up by application, then extensions are more than capable of handling that; for example, you can assign different files and entry points by simply modifying your manifest file.
j
Thanks @Steve Goldberg! Those posts are helpful. For some reason I couldn’t find them this morning. I think I’ll head down the path of one extension with multiple modules for now. I can always break them out later, but maybe the customizations are not as complex as I’m anticipating so I should keep it simple until I have to change.
s
I think it's fair to have an extension called something like MySiteCustomisations and then modularising your customisations. It depends on how much they interact and depend on each other
Ideally, you want to minimise one extension depending on another, but it's fine for a module to depend on another
j
Ah that makes sense. Thanks!
k
Jerry, I find that have lots of extensions are more difficult to manage. For example, each one has to be deployed separately and you keep track of them separately in the activation. If you are customizing a single website, I think it’s easier to follow Steve’s idea of the “MySiteCustomizations” and maintain multiple modules within one extension.
👍 1
p
In my opinion, it depends on customization types. I've been in the past guilty of the "too many extensions" syndrome too, but i'd say things that have nothing in common shouldn't go in the same extension. You lose the ability to quickly fire up a reference instance + 1 extension by creating a "one and only large extension". And that helps a lot if you have a dev team, in the development process.
👍 2
s
You should have enable/disable configuration options on all of your modules 😉
👍 2
p
Yes, indeed, but i see those things as complementary, not one being the replacement of the other.
k
I agree with Pablo - separate extensions are easier to develop/test/troubleshoot. Generally I see grouping extensions that are related as a good and organized approach, too. The repo helps keep things managed.