SuiteCRM8+ Module Development

Hello,

We are developing some SuiteCRM 8 modules. We don’t want to run our codes in ‘compatibility mode’.
Therefore, I have some questions:

  1. When (which version) is SuiteCRM dropping compatibility mode?
  2. Let’s say SuiteCRM 9 will drop compatibility mode, will we still have /public/legacy folder?
  3. Let’s say SuiteCRM 9 will drop compatibility mode, how will we install new modules? Will the functionality of ModuleLoader migrated to the new Symfony architecture or it will stay in the legacy code?
  4. Do you have a simple SuiteCRM8 package guidelines (using the new architecture), best practices? Will there still be SuiteCRM7 controllers, views, tps (using smarty)?

The goal is we already have SuiteCRM7 modules working in compatibility mode, they are working as should. But instead of adding new features like sidewidgets,… We are planning to rework our modules from scratch using ONLY the new architecture that SuiteCRM8+ provides. Therefore, our goal is to understand the new architecture, and therefore develop the new module directly on the new way of development using dependency injection, namespace, composer, make,… .

I understand that I have asked many questions, but till now, there is no documentation about the new architecture, and a roadmap about the future releases in terms of deprecated architecture…

Thanks for taking the time to answer us.

Regards

@clemente.raposo , can i have more information about this please? Regards

@samus-aran @c.panton

Hi @Edun, @cherub-chum,

Thank you for your questions/feedback.

I’ve raised this internally. Instead of replying here we think that it is best to release a more structured overview of whats to come in the near future. This will probably go on the website.

Hi @clemente.raposo , thanks for replying.

Do you have a specific timeframe for when we can have these information please? This will allow us to take some strategic decisions regarding our modules.

Have a great day.

Regards,

This doesn’t answer all your questions but it does contain some interesting information:

Thanks you for your questions everyone, generally we are hoping to have put up more detail information, which will likely later this month. But for now to give some insights:-

We are going to be though several phases during the development of SuiteCRM 8, currently we are in phase 2 of 4, levelling up, where we are working to close the feature gap between SuiteCRM 7 and 8. Basically meaning anything you can do in S7, aside from the few things we are deprecating, can be achieved in S8 either by using legacy or new code where required. So along side creating a migration path from 7 to 8, this is bulk of the work that is happening at the moment and we hope to complete this by Q3 2022.

Thereafter, in subsequent phases we will be focusing on new features and replacing existing functionality in legacy in the new SuiteCRM 8 codebase, with the key idea being you could still revert to legacy somehow if needed, e.g. by optionally using the legacy handler or new code. This will likely be a longer and more gradual process and will likely bring many challenges and we can’t guarantee backward compatibility support in all areas. But our general aim is to make it a smooth journey for everyone.

So likely as you say the plan would be in a supposed SuiteCRM 9, if that is the way we go. We would drop legacy entirely, but we have a lot to go through before we get there. So at the moment you may still have to partially depend on legacy. Anything you develop will likely still need to have a legacy part to it, but we will gradually move away from that.

For now the best thing to refer to is the new SuiteCRM 8 developer documentation to understand what you can do in Suite8 currently and make use of legacy where required. → Developer Guide :: SuiteCRM Documentation. We will be continuing to build the SuiteCRM 8 developer resource and have more updates coming very soon.

2 Likes

Thank you very much for your response @Matt . We shall wait for Q3 or upcoming versions of SuiteCRM to start getting an overview of the new architecture. one that is independent of all the legacy code.

Regards,