Moving the open-source stuff from phab.mmmk2410 to GitLab

The journey started in early 2016 when I decided to move my open-source projects and their management away from GitHub. First I launched a cgit instance for viewing the code and set up a gitolite for repository hosting. After a short time I moved the repositories to a self-hosted Phabricator instance at phab.mmk2410.org, because with that platform I had the possibilities for project management like issues or workboards.

But this concept also didn’t last for long.  A few month later I decided to move the repos again. This time to GitLab. And concurrently to this move I set up a mirroring system to display the repositories at my Phabricator instance as well as on my GitHub profile. Since I couldn’t import the GitLab public key into GitHub (“This key is already used by someone else”) and a password authentication did not succeed (don’t ask why, I don’t know) I decided to use Phabricator for that. Phabricator has the ability to observe another repository and pull the changes from the remote repo but it also has the ability to mirror a repository to another remote repository. And luckily it can do both with the same repository. This mirroring system is also further in use to display all my repositories not only on my GitLab but also on my GitHub profile.

Now, after one and a half year, I decided to also move the tasks and wiki articles from Phabricator to GitLab. This should reduce the need for two accounts on two platforms and also the problem, that some people are creating issues on the “wrong” platform. Now contributors can also make use of the referencing abilities of GitLab.

I declined moving everything back when I moved the repositories because I liked (and still like) the way Phabricator works. Instead of GitLab or GitHub it is not repository-centered but project-centered (but not strictly). While in  GitLab or GitHub you create a repository and in this repository you have your complete project management stuff, the wiki, the bug tracker, the CI, etc., in Phabricator, each is its own application and can be used without the need of a repository. For access control or grouping things you can use project, but you don’t have to. Everything also works perfectly on its own. But what is the advantage of it? Well, for some of my projects, like the writtenMorse project, I have several repositories for the different applications. Where would you report, say, a missing code? In Phabricator I had a writtenMorse project and you could create an issue and add the writtenMorse project tag to it. To realize the same thing in GitLab or GitHub you would need a meta-repository for general issues or for wiki articles. This is also the reason why I keep my Phabricator instance running for private purposes.

If you once created an account on phab.mmk2410 and don’t work on any private projects with me, your account was either disabled if you interacted with the platform in some way, or removed in case you didn’t.

The migration is already completed and everything can be accessed on GitLab. The former tasks and wiki pages are still accessible at phab.mmk2410 and are more or less directly linked to the new corresponding GitLab object.

Rangitaki Version 1.4.4

Today I announce 1.4.4 of the Rangitaki blogging engine. It brings an important bug fix concerning the feed creation. Starting from 1.4.0 the feed creation server-side script failed with a 500 internal server error because it was not converted to the new YAML configuration (due to a bug – to be exact: a missing slash – in the .gitignore).

While working on fixing this issue, I also upgraded to the latest version of the feed generator (PicoFeed). The generated feeds will now contain all feed information.

The update script works only from 1.4.3. So I your using an older version of Rangitaki, please upgrade first to 1.4.3.

Update script

As usual: Download the script, place it in the root folder of your Rangitaki installation, make it executable chmod +x and run it.

Rangitaki Version 1.4.3

Since the release of Rangitaki 1.4.0 two weeks ago there where three point releases. 1.4.1 and 1.4.2 brought changes to the authentication of the RCC and the RCC API. Caused by these changes you have to rerun php bin/init_rcc.php. To read more about this change habe a look at: https://phab.mmk2410.org/T116

Version 1.4.3 brings the following bugfixes:

  • [FIX] Missing space in drawer between "Blogs on" and blogname
  • [FIX] Background layer was not removed if drawer was closed

Besides these fixes Rangitaki 1.4.3 includes the theme of my own blog, nextDESIGN:

Rangitaki using the nextDESIGN theme

Since the three releases where in a very short time frame I decided to write the update script to let you update every Rangitaki 1.4 installation (1.4.0, 1.4.1, 1.4.2) to 1.4.3.

Update script

Rangitaki Version 1.4

Yesterday I released Rangitaki version 1.4 with the following new features and
fixes:

  • Three new scripts in the bin folder to simplify the maintenance and setup. Read more below.
  • Rangitaki API for working with your Rangitaki installation from other apps. Read on how to use the API in the documentation
  • SASS and CoffeeScript capabilities for writing extensions and themes. These files are compiled and minimized using Gulp.
  • Open links in articles in a new tab.
  • Switch to YAML as language for the configuration. Rangitaki 1.4 and above cannot be used without a setup YAML configuration file at config.yaml. Read more below.
  • Fix: Atom feeds didn’t contain any text

Continue reading Rangitaki Version 1.4

Rangitaki Version 1.1.90 Beta Release

The next step on the way to 1.2, the beta release.

Changes:

  • BUGFIX: ArticleGenerator error when no tags set
  • Pagination: Localized strings

Concerning the localized string: the new string are already added into the shipped english and german language files. If you use your own language file, you have to update your language file with the following strings:

 "Next Page" => "Localized next page", "Previous Page" => "Localized previous page",

To update yout blog – keep in mind that this is not a stable release, so don’t use it in production – download the update script, make it executable (chmod +x 1-1-2_1-1-90.sh) and run it (./1-1-2_1-1-90.sh). If you’re coming from 1.0 you have to run all update scripts. I only provide scripts from pre-release to pre-release and from stable to stable.

Update Script: https://raw.githubusercontent.com/mmk2410/rangitaki/master/update-scripts/1-1-2_1-1-90.sh

Rangitaki Version 1.1.2 Development Release

I’m glad to announce another milestone an the way to Rangitaki 1.2.

This time it’s quite a small one, which brings a few code style improvements and one new feature called pagination, which can split your blog into several pages, each with a set amount of posts.

Pagination is disabled by default. It can enabled through setting:

$pagination = number

The integer is the amount of posts you wan’ to show on each page. E.g. if you set

$pagination = 4

you will see four posts on every site.

Warning: If you use your own theme and want to use pagination: You have to update your theme by styling pag_buttons, button, pag_next and pag_prev. Have a look at the themes shipped with Rangitaki.

You can update your installation again with the update script: https://raw.githubusercontent.com/mmk2410/rangitaki/master/update-scripts/1-1-1_1-1-2.sh

Rangitaki Version 1.1.0 Development Release

It is time for another Rangitaki release and on this way to 1.2 , I release today the first Developmen release 1.1.0, which comes with following changes:

  • RCC: Write blog posts
  • RCC: Media Upload
  • Drawer: Key listener (‘ESC’ to close, ‘m; to open)
  • Drawer: Highlight Blogs when hovering
  • Drawer: ‘X’ button
  • Metatags / Title based on subblog and / or article
  • Script for updatig from 1.0.0 to 1.1.0

I strongly advise you not to update, since this is an untestet development release, if you are willing to risk it, download the update script from this link, make it executable and run it in your rangitaki home directory.