A server of module references is a repository manager of shared modules. It is also called GeneXus Knowledge Matrix, for its feature of storing assets with knowledge, and will be referred so, or simply as Matrix, in this documentation.
This article shows how to create or define a Matrix, publish assets (modules) on it, catalog it in GeneXus, and install those assets in your KB.
A Matrix, as a repository manager, stores assets, handles versioning of those assets, and also dependency management among versions of different assets.
It holds those assets with the purpose of sharing them among GeneXus users, that is, members of a project's team, a company, an ecosystem, a region in the world or even sharing those assets globally to the whole GeneXus community.
You can use Nexus Repository OSS as a repository manager for this.
Follow these steps
1) Install Nexus OSS
The main options to install Nexus are:
2) Once installed, create a maven hosted repository. You can also use the already built-in 'maven-releases' repository.
3) Configure your Nexus to allow anonymous access for browsing and downloading assets.
1) Download Maven and install it.
2) Define credentials for Publishing
You need the credentials of a user who has permission to publish on the Matrix.
Create or modify the following file: %USERPROFILE%\.m2\settings.xml. The credentials defined in that file will be used when you publish your modules on that Matrix.
For that, go to the GeneXus Menu > Knowledge Manager> Manage Module References, Then with the mouse do a right-click and select the option 'Add'
- Select Nexus in the Server Type
- Choose a name for your server (ie: Example Matrix). Note that it has to be the same name you identified in the settings.xml in the previous section.
- Choose the repository URL. (ie: http://mymatrix.mycompany.com/repository/maven_releases/)
- Make sure that the module is in the local module repository. (Go to GeneXus Menu > Knowledge Manager > Manage Module References > Select the server: Local)
- Select the module to publish in the Matrix
- Select in the combo box that appears to the right of the Publish button and select 'Example Matrix'
- Press Publish
Now GeneXus calls Maven to proceed to Deploy the module to the Matrix 'Example Matrix'!
If the process finishes successfully, then select 'Example Matrix' and you will see your asset there on 'Example Matrix', ready to be installed.
Refer to Manage Module References for more information related to installing and managing packaged modules.
As of June 2020, there is a GeneXus Global Matrix in alpha state. Its purpose is to be a repository for modules shared all over the world to the whole GeneXus community. You still can't publish modules on that Matrix, but if you want to share it, get prepared, package your module, and share them with your teammates through your own Matrix.
Probably because the settings.xml file that indicates the key is not correct. Make sure that with that user and password you can log in on Nexus.
Probably this is due to the fact that when configuring the Server Source the full URL of a Nexus repository was not set.