How to create a new Module for nethserver

Hello, I have seen that some of you have create new modules to download and install on nethserver.

Is there any kind of guide on how to do this?

4 Likes

Hi Daniele,

welcome to Nethserver Community! Seems we get some dev support :sunglasses:

Here are the official developer docs:

http://docs.nethserver.org/projects/nethserver-devel/en/v7/

Thereā€™s much info in the wiki:

https://wiki.nethserver.org/doku.php?id=developer

Some tips I got when I started that really helped (including a template to start with):

Nethserver on Github:

If you have questions, donā€™t be shy to askā€¦

6 Likes

Hi @dpal80
Good to see you are interested in creating new modules.
For the NethServer project we have a very pragmatic approach towards creating new functionality and modules.

  • Do a feature request for a specific application that you want to have integrated in NethServer. You start a feature request by opening a new topic in the feature catagory of our forums. In this topic we will discuss the request and investigate what options there are to accomplish the request. Think of alternative solutions and already implemented solutions. Although choice is a great thing, reinventing the wheel is something we should avoid. We love cherrypickingā€¦ :wink:
  • Create a howto by making a step-by-step procedure of installing your requested application. As soon this howto is 100% reproducable, it can be converted to an official howto in our wiki
  • Develop a NethServer integrated module/RPM. This is probably the most challenging part. Be assured that we have some skilled community developers like @mrmarkuz and @stephdl and ofcourse the rest of our @dev_team ready to guide you with this proces.
    As soon the module is ready, it can be uploaded to the Nethforge-testing repository so others can test the module. When it is fully tested and stable, it can become an official module and moved to the Nethforge ropsitory, the repository where community created modules are available.
6 Likes

Create a web app could be simple, it is just some perl templates to write the configuration file. When you need to create a GUI, then you need to use PHP and dive in Nethgui (the framework for the server-manager)

Obviously the GUI could be harder to code than the template backendā€¦but it is a matter of taste or skill. When I create the backend I think in the same time what I will expose or hide to the user .

The best advice I could give is to read the developer documentation and go to github for discovering some modules until you understand each piece of code and what they did.

5 Likes