SCM-Manager 2 Development – UI and Plugins
Since our last update about the development of SCM-Manager 2, many things have happened. We’ve spent most of our time with the migration of plugins and main SCM-Manager features. In addition to that, we have also implemented some new features like the support of readme files and namespace strategies. To ensure a high security of the application we even used Sonatype Lifecycle to analyze the application and to inform us about potential risks of artifacts that we utilized. Based on the results we then took the appropriate measures.
SCM-Manager 2 Features
As mentioned before, so far our focus was not only on the migration of features from SCM-Manager v1 to the new version. It was also on the implementation of new features. Therefore, we would like to some of the new features that are already implemented:
Before we’ll get into details, first things first: we are more than happy to present the new SCM-Manager to you!
It was our goal to make the frontend a lot cleaner and easier to navigate. As mentioned in a previous post, the new frontend is based on React and Redux. We hope you like it!
A new feature of SCM-Manager 2 will be the support of readme files. If you have a readme file in the root folder of your repository, the content of the file will be displayed in the repository overview. The file can be named README, README.md or README.markdown and the name is not case sensitive.
Thanks to this feature it will be a lot easier to share information about a repository and hence to improve the collaboration. This could especially be helpful for larger organizations with many repositories, because it makes it a lot easier to get information about the repositories without having to take a look at the sources.
Another new feature of SCM-Manager 2 is the option to select a “namespace strategy”. This allows you to modify the path to your repositories on creation. The namespace represents the first level of a repository’s path, which is “/namespace/name”. The namespace also has impact on the grouping in the repository overview. It is important to know that changes to the namespace strategy only affect newly created repositories; namespaces of repositories that were already existing are not affected and they cannot be changed in retrospect.
You can choose between “Repository type”, “Current year”, “Username” and “Custom”. “Custom” allows you to set an individual namespace for each repository.
By now, we have migrated most of the plugins. That includes the issue tracker plugins for Jira and Redmine, the authentication plugins LDAP and CAS and others like Git SSH, DirectFileLink, Notify, Branch WP, Mail, Jenkins and Script. Most of them offer the same functionality as before, but we’ve also enhanced some of them. The new version of the script plugin for example will allow you to execute scripts based on events. The old version of the plugin does not have that option; you had to execute the scripts manually or with cron jobs. In addition to the migrated plugins, there are new ones like the review plugin that we’ve already mentioned in the last post. The review plugin will allow you to create pull requests, comment pull requests, merge or reject them.
Another new plugin is the gitSSH plugin, which will allow access to Git repositories via SSH with KeyAuth.
As you can see, a lot of development has happened since the last news update, but there is still a lot to do before we can release SCM-Manager v2. One big topic is the plugin backend that is still missing, another one is the migration of the REST API and extensions to improve the collaboration. The Review plugin will get several functions for comments, we are planning a Continuous Integration plugin which will show the build status in SCM-Manager and we still have to figure out an automated migration from SCM-Manager v1 to v2 that will make it possible to keep “old” UI links.
We will keep you posted!