SCM-Manager 2 news update
When we first stepped into the SCM-Manager project and hence the development of SCM-Manager 2, we announced that we would keep you posted about the latest development. Of course we want to keep our promise and that is why we are now posting the first update about the latest changes.
Open Source Continuous Integration Environment
It was one of our first steps to set up a Continuous Integration environment for SCM-Manager, its plugins and our other Open Source projects and to move the projects there. Now, SCM-Manager, SCM-Manager 2, all SCM-Manager plugins and other projects are being build under https://oss.cloudogu.com/jenkins/job/scm-manager/. This is only partly related to the development of SCM-Manager 2, but it is an important step for the project as a whole.
Development of SCM-Manager 2
In terms of the further development of SCM-Manager 2, we are currently implementing essential functionalities of the application in it’s front- and backend. So far we are mostly finished with these interfaces:
- the repository overview
- the global configuration
- permissions for repositories and the user- and group management.
Thanks to that, we have already created the foundation for the implementation of all the other features of SCM-Manager. Nevertheless, there’s still lot’s to do before we can release a feature complete version of SCM-Manager 2.
Next steps - implementation of repository UI
Now that we have already developed the general interfaces, we are focusing on the development of repository functionalities. The next step will be to implement these features:
- Commit history,
- diff- viewer,
- source- viewer and
- file history
Additionally, we will work on other general features like editing user profiles and autocomplete for user- and groupnames. Many of these functionalities are alredy prepared and implemented in the backend. That means we “only” have to develop the frontend for them.
New features - Repository paths, HATEOAS and Cloud- native
Even though we are currently working on the implementation of SCM-Manager 1 features in the new version, that does not mean that SCM-Manager 2 will be exactly the same as the old version, only with a new UI design. SCM-Manager 2 will also contain new features and changed processes in the background:
- In SCM-Manager 1, the URLs for clone and push and the URLs for access through the UI are different. That is why you only get a reduced UI if you use the clone URL in your browser (depending on the repository type). In SCM-Manager 2 the URLs will be identical. This will lead to a much better usability, because you will always be able to use the same, feature complete UI and you will be able to use the same URLs in your SCM client (git, svn, hg).
- Because the identical URLs were very important for us we decided to limit the depth of repository paths to two levels. On the first level you can pick the namespace either from a predefined list (username, year, repositry type) or pich an individual name. The second level will always be individual. We think, that this is a good compromise between the freedom of choice and the improved usability thanks to the identical URLs for clone, push and UI.
- As announced in the first post, SCM-Manager 2 will have a level 3 REST API thanks to HATEOAS
- SCM-Manager 2 will be cloud- native! The repository does already contain a first version of a helm-chart, which will allow you to comfortably deploy SCM-Manager on a Kubernetes cluster.
You can see that we already achieved a lot, but there is still lots to do before we can release a feature complete version of SCM-Manager 2.
So stay tuned!