Right way in development process

Hi,
surely someone more expert than me can give the right way to do this.

I am developing some new modules(module builder) which involves also customization into existing ones(studio).
Of course, in module builder we cannot prepare logic, custom views etc. so currently if a new logic needs to be done then i will modify/copy manually changes into “custom/modulebuilder/packages”.

The tasks becomes hard when a new modification is needed in modulebuilder and it needs also to be re-deployed, this cause loosing of logic hooks etc. I see in forum some tricks for example to set as readonly some files but the problem comes also in the needs to combine all modifications into a single packages(both made with MB and Studio).

Currently i have created 2 packages which contains some modules each.
In order to deploy everything the task to be accomplish is:

  1. deploy the 2 bundle packages
  2. deploy customization exported with studio
  3. update fields_meta_data table with new fields

Choosing, instead, to create a single manual manifest file(with pre-scripts and post-scripts) could be an option, the only difficult task is to track and update any changes made during development phases.

In summary i would like to have your suggestion about which is the better/safe and right way in development process taken from your personal experience.

Many thanks for every comment posted.

@rainolf
I don’t use Module Builder and Studio. I create packages and modify them manually.

Thanks for your opinion…is there any guide in order to do it manually without wasting lot of time in reverse engineering?
Layouts…Metadata etc are clear for me but what about notifying suite about new module present and so on?

@rainolf
Look at the documentation:

Hi,
Essentially there are 5 locations , where everything exists.

  1. custom/Extension/modules/your_module
  2. custom/modules/your_module
  3. modules/your_module
  4. custom/metadata/new_relationships
  5. custom/Extension/applications/

So Manually copy everything and a simple manifest will work which can have 2 copy instructions, modules=>modules and custom=>custom.