In this section, it will be explained how to ‘fork’ an application. This will provide a basis for making modifications as well as checking an existing code or using it as training within mat|r.
Basically, the ‘fork’ process can be carried out in two ways. First, by means of an automatic fork, i.e., a fork of certain apps will directly happen when creating an account. The second way is the manual fork, where a mat|r developer fulfills this task. Both options are explained below.
What is “Fork” ?
In the field of technology information, ‘fork’ refers to the process of copying.
This way of forking apps is defined by a group of applications called ‘Starter Apps’ which are essentially specific apps whose purpose is to help the developer in the learning process of the mat|r language.
These have certain characteristics that differ from the traditional ones:
- They can be modified and saved.
- Forked applications have a reference to the original app from which the fork was done.
- The ownership of an application has it from the account creation, the user of it.
The process of manual fork starts in the mat|r hub. In this case, the developer can select an app and fork it. From that moment, he or she gets the ownership to modify it, to save it and, if wanted, to publish it.
Anyway, not all applications existing in the hub can be forked. When creating them, the developer can decide if they will be able to be forked or not in the future. This is going to be defined as an option for the user to decide whether or not making the app open source.
When forking it, the user will visualize a window where it should be specified which is the project to be forked. There is also an option for creating a new project in that part of the process.
In addition, the modeler allows creating environment variables which can be executed in the ‘Application Keys’ tab. These are composed of (name, type and value).
How can I fork?
The steps for forking an application are pretty simple. As mentioned before, not all apps allow to be forked. The ones allowing it are signaled with :
This means that after identifying which is the app to fork, the actions icon can be clicked on and the option ‘Fork this App’ will appear. When selecting it, the following window will open:
At this point, the application requests to enter the organization and project under which the forked app will be created. In case it is needed, a ‘Create New Project’ input is available. If the application to be forked is a library, a new slug will be required. This cannot exist in a previously created library.
Certain characteristics and options will not be available for forked applications. These are mentioned below:
- Due to the hub does not allow repeated applications, forked apps must have modifications carried out by the developer in order to be published.
- By default, all applications can be forked, unless otherwise specified by the developer.
- Applications called ‘starter apps’ are defined by the mat|r backoffice team.