Cloudogu Logo

Hello, we are Cloudogu!

Experts in Software Lifecycle Management and process auto­mation, supporter of open source soft­ware and developer of the Cloudogu EcoSystem.

featured image Update for the Git Wiki
11/23/2018 in EcoSystem

Update for the Git Wiki

Daniel Huchthausen
Daniel Huchthausen

IT Consultant

Not long ago, we released a new version of our wiki “Smeagol”. The differences might not seem to be a lot on the outside, but you could say that we changed almost everything “under the hood”.

The Wiki for Git Repositories

Just in case you have never heard of Smeagol, let’s start with some general information: Smeagol is a wiki that we developed and integrated into Cloudogu EcoSystem, because we think that a project’s documentation should be stored with the code – therefore inside a Git repository. Originally we used the open-source wiki Gollum and wrapped a frontend around it. We already introduced Smeagol’s main functions in the first post about it. Now it’s time for an update, because we made some major changes.

Try it yourself and install a complete toolchain in less than 30 minutes:
Cloudogu EcoSystem quickstart guide
Get started with the Cloudogu EcoSystem

The reasons for the changes

Of course, the saying “Never change a running system!” is true, but the first version of Smeagol had some flaws that could not be fixed with some minor changes. When we first developed Smeagol, we used Gollum, as already mentioned. That was an acceptable solution to start with, but led to several restrictions:

  • Long reaction times – Gollum is not build to handle several repositories, authentication, several users, etc. To compensate for that, we had to implement many adjustments. Unfortunately, those led to a weak performance.
  • Not so much flexibility when it comes to changes, because we didn’t want to make individual changes to the core of Gollum.
  • Immature search
  • The preview of the WYSIWYG editor and the actual page didn’t always look the same, because Gollum and the frontend used different renderers

That is why we decided to give Smeagol a complete makeover.

The changes to the Wiki

To correct the inconveniences mentioned above, we made the following changes:

  • We implemented a hexagonal architecture with bounded contexts
  • Smeagol now has a Java backend and a React frontend with Redux as state container
  • Gollum is no logner used
  • Wiki and WYSIWYG editor do now use the same rederer and both use the same design
  • The search now uses Lucene and provides a fulltext search.

Thanks to all that, Smeagol is now a lot faster, resource efficient and easier to use.

A few impressions of the new design

As before, the repository browser shows all repositories that the user has access to in SCM-Manager.

Smeagol repository browser

Hint: To group repositories, you have to use “groupname/repository_name” as name of repositories in SCM-Manager.

The UI offers you all the important options like search, edit, new, rename, page overview, …

Wiki functionalities

And, last but not least, the new WYSISWG editor uses the same renderer as the wiki viewer. Therefore there won’t be any bad surprises in the future once you hit the “Save” button.

What you see is what you get editor

Try the wiki yourself

If you already use Cloudogu EcoSystem, you simply have to get the latest version of the Smeagol container. If you don’t have an EcoSystem of your own yet, we could show it to you, no strings attached.

Cloudogu EcoSystem

Convince yourself of the advantages of the Cloudogu Ecosystem. Use the modern DevOps platform now for free.

Learn more about it
Icon Cloudogu EcoSystem