Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Software

...

At Oregami we are using a bunch of open source software products, or commercial products that are freely available to open source projects like us to get things done. This blog post will tell you what we are using!

Development

IntelliJ IDEA

You are a Java developer? Chances are high that you are using Eclipse IDE which is available under a free license. I am using Eclipse now for many years myself, and I got "used to it".

Somehow I got aware of IntelliJ IDEA from Jetbrains, which they call "The Most Intelligent Java IDE". It is not completely available for free: they offer a free "Community Edition", but many useful features are only available if you buy the "Ultimate Edition". Fortunately, Jetbrains offers an Open Source License for the Ultimate Edition. IntelliJ IDEA is available for Mac, Linux and Windows.

...

bei Oregami

Wir beim Oregami-Projekt setzen eine Menge Software-Produkte ein - klassische Open-Source-Tools genauso wie kommerzielle, die für Open-Source-Projekte wie uns kostenlos verfügbar sind. Dieser Blogbeitrag zeigt euch, was wir einsetzen!

Entwicklung

IntelliJ IDEA

Du programmierst mit Java? Dann kennst du natürlich die Eclipse IDE, die unter einer freien Lizenz verfügbar ist. Ich nutze Eclipse nun schon seit mehreren Jahren und habe mich ganz gut daran gewöhnt.

Aber irgendwie stieß ich auf IntelliJ IDEA von der Firma Jetbrains, was dort als "Die intelligenteste Java IDE" bezeichnet wird, und bin dabei hängen geblieben. Diese Entwicklungsumgebung ist zunächst nicht wirklich kostenlos erhältlich, es gibt zwar eine kostenlose "Community Edition", aber sehr viele nützliche Features sind nur in der "Ultimate Edition" verfügbar. Wer jedoch wie wir ein Open-Source-Projekt betreibt, der bekommt die Ultimate Edition kostenlos! IntelliJ IDEA gibt es für Mac, Linux und Windows.

Als Eclipse-User muss man zu Beginn etwas umdenken: Der "Workspace" heißt hier "Project", "Projekte" sind hier "Module", auch die Tastaturkürzel sind anders. Natürlich kann man die konfigurieren, es wird sogar eine "Keymap" mitgeliefert, die das Verhalten von Eclipse nachstellt. Aber die Anwendung macht insgesamt einen sehr runden Eindruck, trotz der Umgewöhnung lernt man mit der Zeit die Benutzeroberfläche zu schätzen. Die tägliche Arbeit hinterlässt einen flüssigeren Eindruck, gerade die automatische Code-Completion ist wesentlich schneller als in Eclipse (und man muss gar keine Tastenkombination dafür betätigen, es wird einfach während des Tippens was vorgeschlagen). Auffällig (positiv) war aus meiner Sicht auch die fantastische Maven-Integration: Nie mehr "Update dependencies" und "Force update" mit minutenlangem Warten wie in Eclipse! IntelliJ verwaltet die Maven-Abhängigkeiten ziemlich zuverlässig automatisch.

Den guten Gesamteindruck von IntelliJ macht das folgende Zitat aus einer StackOverflow-Frage deutlich:

Panel

There is only one reason I use intellij and not eclipse: Usability

Whether it is debugging, refactoring, auto-completion.. Intellij is much easier to use with consistent key bindings, options available where you look for them etc. Feature-wise, it will be tough for intellij to catch up with Eclipse, as the latter has much more plugins available that intellij, and is easily extensible.

This is IntelliJ IDEA in actionHier seht ihr IntelliJ bei mir in Aktion:

If

you participate in the Oregami development, you can also use our IntelliJ IDEA license! Contact me if you want to know more about thisWer bei Oregami mit entwickelt, kann unsere Lizenz verwenden! Bei Interesse einfach bei mir nachfragen.

Webstorm

Also from Jetbrains comes the IDE Webstorm which is specialized in the development of Web applications. It supports things like JavaScript (auto-completion, error detection, refactoring) and especially frameworks like Ebenfalls von Jetbrains stammt Webstorm, eine Entwicklungsumgebung speziell für Web-Anwendungen. Webstorm unterstützt viele gängige Web-Technologien wie Java Script (Auto-completion, Fehlererkennung, Refactoring) und insbesondere NodeJS, AngularJS, Gulp and technologies like debugging, CSS and of course HTML. You should also not underestimate the integrated full text search, which is very fast because of the used fulltext index of the whole workspace. Check out the feature site for detailed information about Webstorm. We are using the product for free with the open source license offered for open source projects. It's available for Mac, Linux and Windows.

Image Removed

And the same here: contact me if you want to support Oregami development and use our Webstorm license.

SourceTree

All our source code is placed at GitHub. When we have changed files locally during development, these changes must be sent to the corresponding GitHub repository. While it's always possible to work with Git on the command line, it is more comfortable to do these things through a nice user interface. And although most IDEs like IntelliJ, Webstorm and Eclipse contain tools or plugins for version control, I am using the application SourceTree by Atlassian. SourceTree gives a very nice user experience for the many (complicated) Git operations! And it's available for free, you just have to register after 30 days (for free). Sadly there is no Linux client, but you can get it for Mac and Windows.

Image Removed

Postman

Our server application is REST-based, that means you can make HTTP requests with every browser or a command line tool like curl to receive data in JSON or a similar format. But that's not very convenient during development, so I searched for a tool that supports making complex REST calls easily. And I found Postman! It's a Chrome plugin that lets you make REST calls against your (local or remote) server, you can manipulate things like headers, authorization or the request body comfortably. You can save your calls in collections to replay them again later with a single mouse click. Postman is available for free, you can purchase a license for 10$ with some extended features like automatic replay of collections and extended testing. A new feature is Newman, a command line and build integration for Postman collections!

Image Removed

Public Website

JIRA

Although we do not yet have the concrete demand for bug tracking, we installed and used JIRA from the beginning of our project. One reason is that JIRA is not only a bug tracker but rather a general issue tracking system that can be also used for project management. For example, we started to collect features with JIRA that we want to support with our game database.
JIRA is another one of many tools for developers provided by Atlassian. For open source projects like Oregami they offer a free license, and in fact they offer this license for all of their tools!
Image Removed

Confluence

Three years ago, when we started Oregami, we used the famous software Mediawiki, which is also used for Wikipedia, to collect our ideas for our project. Very soon we recognized that this wiki software lacks multiple things, e.g. good user and rights management or a WYSIWYG editor. So we switched to Confluence, which also comes from Atlassian like JIRA (under the same free license for open source projects). Confluence is a very comprehensive online collaboration tool with many great features, one of them is the superb JIRA integration (user management and content). Check out what we already wrote down in the Oregami wiki!

Image Removed

phpBB

The most active part of our website is the discussion board. We are using phpBB, one of the most widespread PHP boards worldwide. The software is really very stable and it's free, that's why so many sites are using it!

Image Removed

Redaxo

Our public webpage with information about our goals and our approach is somehow static, but was always meant to be available in multiple languages and should be easily maintained. For this we are using the content management system Redaxo, which is available under the GNU GPL.

Image Removed

Conclusion

It's great to use great software from other people and companies, one day we will be able to give something back! und natürlich CSS und HTML. Beeindruckend ist auch die integrierte Volltextsuche, die durch die Indizierung sehr schnell ist. Alle Details über die Features findet ihr auf der entsprechenden Produkt-Webseite. Wir verwenden es ebenfalls über die Open-Source-Lizenz. Und genau wie IntelliJ gibt es Webstorm für Mac, Linux und Windows.

Image Added

Auch hier gilt: wer bei uns mithelfen möchte, kann unsere Lizenz verwenden. Kontaktiert mich!

SourceTree

Unser kompletter Quellcode liegt bei GitHub. Wer auf dem eigenen Rechner Dateien während der Entwicklung modifiziert, muss die Änderungen anschließend in das entsprechende GitHub Repository senden. Während es immer möglich ist, mit GIT auf der Kommandozeile zu arbeiten, wünscht man sich natürlich lieber den Komfort einer Benutzeroberfläche. Und obwohl die meisten Entwicklungsumgebungen wie IntelliJ, Webstorm und Eclipse Features oder Erweiterungen enthalten, um mit GIT zu arbeiten, setze ich selber eine spezialisierte Anwendung für den Umgang mit GIT-Repositories ein: SourceTree von Atlassian. SourceTree unterstützt mit einer schicken Oberfläche alle notwendigen Basis- und Profi-Fähigkeiten von GIT. Und es ist noch dazu kostenlos verfügbar, man muss sich nach 30 Tagen lediglich registrieren. Leider wird SourceTree nur für Mac und Windows angeboten - eine Linux-Version sucht man vergeblich.

Image Added

Postman

Da unsere Server-Anwendung nach dem REST-Prinzip aufgebaut ist, kann man gewöhnliche HTTP-Anfragen mit dem Browser oder über die Kommandozeile mit Tools wie curl abschicken, um Informationen aus unserer Datenbank im JSON-Format zu erhalten. Aber das ist während der Entwicklung nicht wirklich praktisch, also machte ich mich auf die Suche nach einem Tool, das die Ausführung von REST-Anfragen vereinfacht. Und ich fand es: Postman, ein Plugin für den Chrome-Browser. Mit Postman kann man beliebige HTTP-Anfragen erstellen, durchführen und für eine spätere "Ein-Klick-Ausführung" abspeichern. Dinge wie einzelne HTTP-Header, Basic- und OAuth-Authentifizierung und URL-Parameter können bequem über die Oberfläche eingestellt werden. Typische Header-Kombinationen können sogar als "Presets" gespeichert werden, um sie bei ähnlichen Anfragen wiederzuverwenden. Postman kann kostenlos heruntergeladen werden, für 10$ gibt es eine erweiterte Version, mit der man dann z.B. Sammlungen von Anfragen in einem Rutsch abspielen und die Ergebnisse überprüfen kann. Ein recht neues Feature ist die Erweiterung Newman, mit der man über die Kommandozeile und auch in Build-Jobs (z.B. in Jenkins) Postman-Abfragen durchführen kann.

Image Added

Öffentliche Website

JIRA

Obwohl wir bisher noch gar keine Bugs in unserer Software managen, haben wir von Anfang an JIRA auf unserem Server installiert. Einer der Gründe dafür ist, dass JIRA eben nicht nur ein Bug-Tracker ist, sondern vielmehr ein allgemeines Issue-Tracking-System, dass auch für die Projektplanung eingesetzt werden kann. So haben wir zum Beispiel angefangen, eine Feature-Sammlung für unsere Spieledatenbank zu erfassen.

JIRA ist eines der vielen Entwickler-Tools der Firma Atlassian. Für Open-Source-Projekte wie Oregami stellt dieses Unternehmen seine Anwendungen unter einer speziellen Lizenz kostenlos zur Verfügung.
Image Added

Confluence

Als wir vor vier Jahren mit Oregami begonnen haben, setzten wir zunächst die bekannte Software Mediawiki ein, die wohl jeder von Wikipedia kennt. Aber wir merkten schnell, dass Mediawiki einige wichtige Dinge nicht oder nicht zufriedenstellend unterstützt, wie z.B. beim Benutzermanagement und (nicht vorhandenem) WYSIWYG-Editor. Daher wechselten wir schnell zu Confluence, welches genau wie JIRA von Atlassian kommt und unter der gleichen Lizenz kostenlos für uns verwendbar ist. Confluence ist eine sehr umfassende Wiki-Software, die auch zur Kommunikation und zum Wissensaustausch in Unternehmen und Organisationen verwendet wird. Für uns besonders praktisch ist die wunderbare Jira-Integration (Benutzer-Management und Inhalte). Am besten einfach mal selber anschauen, was wir bisher alles im Oregami-Wiki erfasst haben!

Image Added

phpBB

Der momentan aktivste Bereich unseres Projektes ist unser Diskussionsforum. Wir setzen phpBB ein, die wohl bekannteste Forums-Software weltweit. Besonders schätzen wir die Stabilität, darum setzen es wohl auch so viele andere Webseiten ein.

Image Added

Redaxo

Unsere öffentliche Webseite mit Informationen über unseren Ansatz und unsere Ziele ist relativ statisch, aber sie sollte von Anfang an in Englisch und Deutsch verfügbar sein und die Inhalte sollten bei Bedarf komfortabel zu bearbeiten sein. Für diese Zwecke entdeckte ich das Content-Management-System Redaxo, dass unter der GNU-GPL-Lizenz verfügbar ist.

Image Added

Fazit

Es ist großartig, dass wir so tolle Software-Produkte von anderen Personen und Firmen einfach so verwenden können! Eines Tages werden hoffentlich auch wir unseren Beitrag an die Open-Source-Community zurückgeben.  (smile)