How to create a custom module from scratch?

HI! I am learning suiteCRM and I trying to build some custom modules and I found some resources from some blogs and books, But I am not pretty sure that those are the exact way to build custom modules. Can anyone please provide me some resources or tutorials to build Custom Module from scratch.

Thank You!

If you go to admin then click the module builder icon it’s a fairly simple process. It will ask you what you want to name your package and the key you want to use for it. A package can contain multiple modules or just one and the key is used at the start of all the database table names to try to prevent any of your table names conflicting with existing tables.

After that to create a new module just click the new module icon and then select what type of module you want. The different options come with different default fields. If none of the other options seem relevant to you then choose basic which is a minimal module.

You can add fields and edit the different views (what fields are on the edit screen, what fields should be on the list screen etc) in here. When you are happy with it save your changes then when you go back into module builder and select your package there is an option to deploy the package.

After you have deployed your module it should appear in the menu by default. If it doesn’t do a repair and rebuild then go into display modules and subpanels and check its not hidden.

After you have deployed your module you can still add fields and relationships to it in studio, but it is difficult to edit existing fields. I tend to deploy a module with minimal fields then use studio to create them afterwards for this reason.

You can add logic hooks and workflows to your module to add extra functionality in the same way you’d add them to any other module. The best guide to making advanced customisations to Suite is my colleague Jim’s book SuiteCRM for Developers which you can purchase here:
https://leanpub.com/suitecrmfordevelopers

We are currently working on improving the documentation for SuiteCRM, but the code is based on SugarCRM so most Sugar tutorials and documentation will also be relevant to suite.

We do have a userguide here that covers the main functionality (though doesn’t really go into customising Suite I’m afraid)
https://suitecrm.com/wiki/index.php/Userguide#What_is_in_the_User_Guide.3F

2 Likes

Thank You Very Much. Yes I have done that using studio. But What I mean is , building custom modules without using of studio , then where should I start from?
I found these are the basic folder structure to a custom module

TestApp/language
TestApp/language/en_us.lang.php
TestApp/Forms.php
TestApp/index.php
TestApp/TestApp.php

But it is not working, ? How can I do this?

To be honest I can’t give you a good answer as I would never try to do it from scratch myself when there is a nice user friendly GUI that will create all the files and make and database insertions required for you.

Is there something in particular you’re trying to achieve that you don’t think can be done using the module builder or are you just wanting to do this to learn?

Yes I have to practice in order to learn , and after learning so I can use the module builder to create custom modules

Just create a module in module builder then export it. This will create an installable package in zip format which will contain all the files required for creating a custom module from scratch. Simply pick it apart and you will have your answer.

2 Likes

Thank you very much Andy and ewanmcrobert.