Since I’m working with Atlassian Confluence addons, I always have the problem that I need to start a local Confluence standalone instance in a specific version. This is often annoying, because you always have to download the zip file, unzip it and adjust some settings files (of course you can use the Atlassian Plugin SDK, but this has some drawbacks if you want to reproduce bugs). For example you have to add a home directory where Confluence stores the application data or add a line to be able to debug the Confluence addon you’re developing. The way I did it was very error prone, because I had to follow a few steps manually. Then a few weeks ago I got the idea to create a script for it. The problem was/is: I don’t like native bash/shell scripts that much. So what’s the alternative? I decided to create a NodeJS module using some external libs and provide a command line tool. Make sure to check out the project and test it: confluence-starter Bitbucket Repository.
With the confluence-starter CLI you can select a Confluence version which will be downloaded, unzipped and prepared in terms of developer settings like (debug) port, application context path, batching, minification, etc. and it will be started automatically:
# Downloads, unzips, prepares and starts Confluence instance on default port 1990
$ conf-starter start 5.9.6
You can also set some other settings by adding optional parameters to the command or list the already downloaded versions:
# add optional parameters: port, context path and debug port
$ conf-starter start 5.9.6 -p 1991 -c /conf -d 5005
# list already downloaded versions
$ conf-starter list
# clear home directory of a downloaded version
$ conf-starter clean 5.9.6
If you have any problems, please raise an issue in the repository. The next step is to push it to NPM and also create a GUI for it, so wait for an update! 🙂
The last weeks my website was not available due to some problems with my Apache server. When I opened my website it took me more than 5 minutes to get any answer. I first thought my Virtual Server had a defect, so I restarted it. It didn’t help. I had to investigate this problem a little bit more.
AngularJS provides several ways to use URL parameters in order to serve different views to a user or hand over information by using the URL. In this tutorial I will explain the different options you can use, e.g. for a URL like “/path/:param/with/query?foo=bar”.
With this blog post I want to provide an example webapp using Spring and AngularJS since both are very popular technologies. The webapp is created using Spring Initializr, Spring Boot and an example AngularJS project. It’s a step-by-step tutorial with some explanations. The repository can be found in this repository: https://github.com/seeebiii/SpringAngularExample.
A few weeks ago I’ve asked a friend how he has integrated icons for his different web profiles to his homepage, because I don’t like most of the default icons from such business or social websites. He told me about Font Awesome and I said “Wow that’s what I was searching for”! Scalable and customizable icons for nearly everything (over 400 icons available): from web profile icons like facebook and twitter over business networks like xing and linkedin to icons for a document, camera, etc. Today I added three of them to the right sidebar of my website as you can see, but without using the available zip file directly. Why? Because I’ve found a WordPress Plugin for Font Awesome which is quite nice. It supports you with an editor to style your icons. After finishing the icon styling, you can copy & paste the code to wherever you want to use your icon. You can also save your code and click “Publish” and that’s the only thing I don’t really like, because it’s like a new blog post though it’s not available in the main blog post list, but if you know the URL, you have access to them unless you set visibility to private… Nevertheless I like Font Awesome 🙂 I hope you will find it useful, too!
Yesterday I wanted to add Spring to my Pandoc project and I had a lot of trouble with it. My problem was that I wanted to split my FXML files into multiple files and make each file controlled by a separate controller. This is – without Spring – not a real problem, because you just create your controller classes, add fx:controller=”YourController” to each FXML file and everything’s fine. But problems arise if you now want to have some objects to be autowired by Spring. I read a lot of tutorials about the topic, but every tutorial just showed the problem if you have only one main controller for your root FXML file. By the way this and this are nice tutorials to get in touch with the problem.
Today I want to write about my first steps with JavaFX and try to go through my first application step by step. I only provide some examples and in this case it’s not a copy-and-run example! You must read the documentation which is mentioned below. In order to see the full code of the application, browse the sources in my GitHub project: https://github.com/seeebiii/PandocGUI
This week I had a small problem: I had to convert some wiki pages from a GitHub project from markdown format to another format like *.docx. So, I remembered a friend told me a few weeks ago about Pandoc which can convert a lot of documentation formats to a lot more of documentation formats. I gave it a try: searched for “Pandoc download” and found an installer for Windows. Unfortunately I’m a person who prefers GUIs, thus I was a little bit disappointed as I realized that I had to use the console for conversion. But after converting I was fascinated that it worked pretty well and fast, I only had to do a few changes, because if you want to convert multiple input files, Pandoc merges all input files together to one file. A few hours later I decided to create a GUI and started a JavaFX project.
Do you know GitLab.com ? It’s like an extension of the famous Git version control. This week I thought about giving it a try on my 1und1 server, but first I wanted to try to install it on my Raspberry Pi 2. I did some research and soon found this blog article: https://about.gitlab.com/2015/04/21/gitlab-on-raspberry-pi-2/ They’ve created a so called Omnibus package (also for Debian, Ubuntu and CentOS) which does all the installation stuff for you. All you need to do is download the package and install it – very easy! If you don’t have openssh-server and postfix installed on your Pi, you need to run the following two commands before:
sudo apt-get install openssh-server
sudo apt-get install postfix
Important: Choose “Internet Site” when postfix installation asks you.
Source: https://about.gitlab.com/downloads/ Then you can install GitLab. After a successful installation, you can reach it by accessing you Raspberry on port 80. You can then add a project and start coding 🙂
I’ve found an interesting offer last december where you get a server/homepage for your project if you’re a student. The ones of you who are german students, can take advantage of the 1und1 Campus Code program which offers students from Germany the opportunity to get their own Homepage, WordPress-Site, Linux- or Windows-Server for 1€/year.
I’ve ordered a (virtual) server there which isn’t that cheap, but only costs 1€/month. It’s shipped with CentOs 6 and offers Plesk Software to manage your server. Additionally you can order a free domain for your server, I’ve registered www.sebastianhesse.com, but that it’s free is only available for the virtual server product I think. Nevertheless you can pay for additional domains or so. After completing the registration, the server has been available after a few minutes, the domain availability took a little bit longer as usual.
Now here are the things I want to realize with the server:
- Deepen my Linux skills
- Install some development software like webserver, subversion/git software, maven repository and a CI server to create my “own” continuous delivery chain
- Do some experiments
My progress will be posted here on my blog 😉
I hope this offer is interesting for some of you 🙂 I think this is a good way and opportunity to start some experiments or small projects while studying and you don’t spend too much money on a product you’re probably not using every day.