Request Tracker: Highlight tickets based on due dates

A while ago we’ve announced a new extension for Request Tracker which allows to highlight tickets in search results even better.

Next to “last updated by” and custom field conditions, we’ve now added a requirement from production:

  • light red coloring for tickets with a due date in 3 days
  • dark red coloring for everything where the due date already passed

When there’s a ticket which matches one of the other conditions, due date wins over “last updated by” which itself wins over custom field conditions.

v2.0.0 is available on GitHub. Consider asking our sales engineers when building a new RT instance in NWS 🙂

Michael Friedrich
Michael Friedrich
Senior Developer

Michael ist seit vielen Jahren Icinga-Entwickler und hat sich Ende 2012 in das Abenteuer NETWAYS gewagt. Ein Umzug von Wien nach Nürnberg mit der Vorliebe, österreichische Köstlichkeiten zu importieren - so mancher Kollege verzweifelt an den süchtig machenden Dragee-Keksi und der Linzer Torte. Oder schlicht am österreichischen Dialekt der gerne mit Thomas im Büro intensiviert wird ("Jo eh."). Wenn sich Michael mal nicht in der Community helfend meldet, arbeitet er am nächsten LEGO-Projekt oder geniesst...

RequestTracker: Optimize Session Handling

To provide features like login or persistence to the user, stateless protocols like HTTP depend heavily on sessions. Almost every web application is using it.

An easy job you would say? Of course! But what about high availability setups with hundreds of concurrent users? And sessions need to be shared between application servers so that that users do not lose their current login session.

RT’s vanilla way is to put this in MySQL which produces queries on every request. Second bad thing is the created GET_LOCK query which slows down the environment after a while.

Better way is to use files because file sessions are extremely fast. No network overhead and not greatly influenced by differential IO. But then you have to share sessions between application servers and you should say good bye to that idea because we do not live in an ideal world and shared file systems are terribly slow.

What Next?

I opt for Redis. Meanwhile available on every system, fast as the LHC in Geneva and rock-solid like carbon. Redis is so adorable simple that you only can fall in love with this single-core-minimal-footprint-key-value-store thingy. But I’ll stop hallowing now.

RequestTracker uses Apache::Session::* default implementation and we choose the NoSQL module from there which provides access to Apache Cassandra and Redis.

Configuration Examples

# Annouce Redis to RequestTracker
Set($WebSessionClass, "Apache::Session::Redis");

# Single server
Set(%WebSessionProperties,
  server => '127.0.0.1:6379'
);

# Sentinel
Set(%WebSessionProperties,
  sentinels => [ '127.0.0.1:26379' ],
  service => 'mymaster',
  sentinels_cnx_timeout => 0.1,
  sentinels_read_timeout => 1,
  sentinels_write_timeout => 1
);

You can find more information in the product documentation.

Conclusion

It’s just a glimpse, but there a lot of ways to bring RequestTracker to enterprise level with more than 300 concurrent users and millions of tickets and attachments. Of course, highly available and scaled in every direction. You only need to ask us how to do!

Marius Hein
Marius Hein
Head of Development

Marius Hein ist schon seit 2003 bei NETWAYS. Er hat hier seine Ausbildung zum Fachinformatiker absolviert, dann als Application Developer gearbeitet und ist nun Leiter der Softwareentwicklung. Ausserdem ist er Mitglied im Icinga Team und verantwortet dort das Icinga Web.

Willkommen zurück, wir freuen uns auf Euch!

Es ist nun doch anzunehmen, dass es die überwiegende Mehrheit wieder so langsam in die Arbeit geschafft hat. Ja, es ist nicht einfacher geworden und der ein oder andere musste am Morgen ganz schön beherzt zugreifen, um den Gürtel im Vorjahresloch einzuhaken. Natürlich nutzen wir noch die Chance Euch nur das Beste für 2019 zu wünschen. Angeblich soll es jetzt noch möglich sein, jedoch verstreicht das Zeitfenster wegen der anstehenden Ostervorbereitungen bald.

Wir waren in den letzten Wochen bzw. Monaten richtig fleissig und freuen uns, Euch auf der neuen Website von NETWAYS zu begrüssen. So haben wir endlich Blog und Website in einem System vereint und werden Euch natürlich weiterhin hier im Blog-“Teil” mit dem Neusten aus unserer Welt auf dem Laufenden halten.

Nehmt Euch doch ein bisschen Zeit, um Euch auf der neuen Website umzusehen. Lernt das Team näher kann, bestellt 100 Tage Consulting (haben wir eigentlich in 2019 nicht mehr frei) und 300 OSDC Tickets. Jetzt geht so ziemlich alles in einer Plattform und das macht es uns und hoffentlich Euch in Zukunft einfacher bei uns. Apropos, Schulungen könnt ihr natürlich auch noch buchen. Eigentlich bedarf es keiner weiteren Erklärung und wir freuen uns natürlich sehr über Feedback.

Macht was aus 2019 und in diesem Sinn – Ready, set, go!

And of course we have most of the content in English as well. Click the button in the upper right corner of the website to see what’s going on “there”.

Bernd Erk
Bernd Erk
CEO

Bernd ist Geschäftsführer der NETWAYS Gruppe und verantwortet die Strategie und das Tagesgeschäft. Bei NETWAYS kümmert er sich eigentlich um alles, was andere nicht machen wollen oder können (meistens eher wollen). Darüber hinaus startet er das wöchentliche Lexware-Backup und investiert seine ganze Energie in den Rest der Truppe und versucht für kollektives Glück zu sorgen. In seiner Freizeit macht er mit sinnlosen Ideen seine Frau verrückt und verbündet sich dafür mit seinem Sohn.

OpenStack Summit Berlin 2018

Vom 13. bis zum 15. November 2018 fand in Berlin der OpenStack Summit statt, der etwa 2700 Interessierte aus aller Welt in die deutsche Hauptstadt lockte. Entsprechend der Releasezyklen des OpenStack Softwareprojekts, wird diese Veranstaltung alle sechs Monate an wechselnden Orten rund um den Globus abgehalten. Der nächste Summit steigt Ende April 2019 in Denver – dann jedoch unter dem neuen Namen „Open Infrastructure Summit“, was den universellen Anspruch von OpenStack deutlich macht.
Dass mit Berlin zum ersten mal ein Austragungsort in Deutschland gewählt wurde, liegt auch an der großen OpenStack Nutzergemeinde hierzulande. Gemessen an den Nutzerzahlen ist Deutschland laut User Survey eine der Top 3 „OpenStack-Nationen“. Als große Anwender wären unter anderem die Deutsche Telekom, BMW und VW zu nennen, die allesamt auf der Konferenz vertreten waren.
Auch bei Netways ist Openstack seit einiger Zeit produktiv im Einsatz. Folgerichtig ließ sich das Team von Netways Web Services dieses Event „vor der eigenen Haustür“ nicht entgehen. Auf dem Programm standen mehr als hundert Workshops und Vorträge auf dem Gelände des CityCube Berlin.
Besonders interessant war eine Keynote über den Einsatz von OpenStack im Bereich Network Functions Virtualization (NFV). AT&T eröffnete dem Publikum, dass OpenStack eine zentrale Rolle bei der Bereitstellung der Infrastruktur für den Mobilfunkstandard 5G spielt. Das Software-definierte Kernnetz läuft auf einer Openstack Undercloud, die komplett containerisiert ist und mithilfe von Airship verwaltet wird. Zur Demonstration der Verlässlichkeit des Systems startete der Referent von AT&T ein Videotelefonat mit einem Kollegen in den USA, der über ein 5G Testnetzwerk verbunden war. Die Virtuelle Maschine, auf der diese Session lief, wurde daraufhin heruntergefahren. Innerhalb eines Augenblicks übernahm eine andere VM diese Session, so dass das Videotelefonat ohne eine besondere Beeinträchtigung aufrecht erhalten werden konnte.
Ein weiterer eindrucksvoller Vortrag hatte den Anwendungsfall AI/Machine Learning zum Thema. Mit dem PCI Passthrough Feature von Nova werden PCI Geräte wie GPUs und FPGAs als Hardwareressourcen über die Cloud verfügbar gemacht, die dann vom Nutzer per REST API dynamisch angefordert werden können. So können aufwändige Machine Learning Anwendungen über die Cloud hardwarebeschleunigt werden. Die Spracherkennung und Übersetzung eines kurzen Videoausschnitts erfolgte in der Demo dank GPU-Hardwarebeschleunigung doppelt so schnell wie bei der alleinigen Nutzung von CPU. Im zweiten Beispiel verwendete man FPGAs zur Beschleunigung von Gesichtserkennungssoftware. Wichtige Funktionen hierzu liefert Cyborg, womit FPGAs in der Cloud verwaltet und programmiert werden können.
Wer es nicht zum Summit nach Berlin geschafft hat, kann sich hier Mitschnitte der Vorträge anschauen.

Dominik Seidel
Dominik Seidel
Junior Systems Engineer

Dominik ist seit Kurzem Azubi in der Abteilung Managed Services. Er interessiert sich für Geschichte, die Natur, und hört und macht gerne Musik. Wenn er nicht arbeitet, spielt er Gitarre oder wandert durch heimische Wälder.

Startup Days bei Netways Vol. II

Dass Bernd einen gewissen Hang zum TrashTV hat, dürfte allgemein bekannt sein. Was würde also näher liegen, als sich von einem ehemaligen (stv.) Mitglied im Kunstbeirat des Deutschen Bundestages aus Nürnberg inspirieren zu lassen und seine Netways-Familie in eine selbstkonzipierte Löwenhöhle zu schicken.

Letztes Jahr wurde das Projekt initial gepitcht und dabei fiel unser neues Konferenzbuchungssystem raus.

Bis repetita non placent, könnte man meinen, aber dieses Jahr treten wir mit noch mehr Ideen an als schon 2017.
Zwischen Oktober 2018 und heute kamen etwa 100 Commits auf unsere Wiki-Page und brachten somit 12 Projekte zu Stande.
Zwar wird gibt es hier nochmal einen weed out, aber hier ein kurzer Abriss über die Projekte mit der höchsten Resonanz bisher:
Christian möchte weiter an seinem Windows Monitoring Konzept mit Icinga schrauben und sammelt hierfür Wünsche und Vorschläge.
Marius und Eric planen die Weltherrschaft bis Merz per automatisertem Aktientrading und hoffen auf mehr als 39,24% bzw. 48,52 % in der Endabstimmung.
Max verfolgt einen technischeren Ansatz und will mit seinem “SkyNET(ways)” heute das Office und morgen die Welt automatisiert kontrollieren.

(what could possibly go wrong)

Vanessa dagegen möchte etwas für unsere Gesundheit zu tun, wobei sie fachkundig von Julia unterstützt wird.
Nicole geht mit ihrem Projekt in eine Produktevaluation von Tinkerforge um unser Shop-Portfolio eventuell zu erweitern.
Wie die/der eine oder andere mitbekommen hat, sind wir dabei, in neue Buroräume zu ziehen. Die dort neue Dachterasse versuche ich, unter anderem mit Daniel, in eine Spielwiese für Urban Gardening und Gartenautomation umzuwandeln.
Wie man sehen kann, sind die Interessen bei Netways nicht ausschließlich technisch ausgerichtet.
Unseren Projektverläufen folgen kann man auf twitter: #lifeatnetways und #startupdays
Wer nächstes Jahr mitmachen möchte, darf gerne auf jobs.netways.de vorbeikommen!

Tim Albert
Tim Albert
System Engineer

Tim kommt aus einem kleinen Ort zwischen Nürnberg und Ansbach, an der malerischen B14 gelegen. Er hat in Erlangen Lehramt und in Koblenz Informationsmanagement studiert, wobei seine Tätigkeit als Werkstudent bei IDS Scheer seinen Schwenk von Lehramt zur IT erheblich beeinflusst hat. Neben dem Studium hat Tim sich außerdem noch bei einer Werkskundendienstfirma im User-Support verdingt. Blerim und Sebastian haben ihn Anfang 2016 zu uns ins Managed Services Team geholt, wo er sich nun insbesondere...

Neuheiten beim IntelliJ-Update

Ob Java12, Kotlin 1.3 oder Neuerungen für Git oder Editor-Features wie mehrzeilige To-do-Kommentare. Das alles erwartet einen in dem neuen großen Update der Entwicklungsumgebung: IntelliJ Idea.

Die Publisher von Jetbrains haben mit der neuesten Version 2018.3 das nächste große Update von Intellji Idea eingeleitet. Mit der Erneuerung kommen neben der Unterstützung von Programmiersprachenversionen noch viele andere Features, die folgende Inhalte liefern.

Neue Features für Java 12 und Kotlin 1.3

IntelliJ unterstützt jetzt das Preview-Feature für die Raw-String-Literale. (Bild: Jetbrains)
(Prewiew-Feature für die Raw-String-Literale)
Intellij Idea beinhaltet zukünftig mit der Version 2018.3 die Unterstützung der kommenden Java-12-Features. Eine Vorschau für die neue Raw-String-Literale kommt mit der im März 2019 neu erscheinenden Version der Programmiersprache. Die neue Anpassung der Java-IDE unterstützt die Funktion bereits auch mit entsprechenden Quick-Fixes, sprich ein Stück Code der durch diese Fix-Funktion markiert wird und entsprechende Lösungen vorschlägt. Doppelter und somit redundanter Code kann ab sofort auch in komplizierten Situationen erkannt werden. Solche Duplikate sind dann im Diff-Viewer einsehbar.
Redundante Bedingungen werden jetzt noch besser erkannt. (Bild: Jetbrains)
(Redundante Bedingungen werden jetzt noch besser erkannt.)
Jetbrains hat einige weitere Quick-Fix-Optionen ergänzt um redundanten Code zu beheben. Unter anderem zählt dazu der überflüssige Sortieraufruf bei einer darauffolgenden Nutzung der Min-Funktion, bei der der Java-Stream-API genauso wie die Erkennung bei vorangegangenen überflüssigen Bedingungen, die bereits durch eine darauffolgende verknüpfte Bedingung abgedeckt ist. Zudem erkennt Intellij mit der neuen Version die redundante Verwendung von Annotations für unterdrückte Inspektionen.
IntelliJ bietet bei einigen Code-Stellen eine automatische Migration zum neuen Kotlin 1.3. (Screenshot: Jetbrains)
(IntelliJ bietet bei einigen Code-Stellen eine automatische Migration zum neuen Kotlin 1.3.)
Zu den Java-Neuerungen hinzu kommt auch noch die Unterstützung von Kotlin 1.3. Damit die Migration des Projekts zur neuen Version vereinfacht werden kann, greift Intellij einem unter die Arme. Zum Beispiel kann man Imports und Kotlin-Dependencies automatisch anpassen lassen. Ebenso gibt es auch für Kotlin Inspektions- und Quick-Fix-Optionen sowie eine verbesserte Unterstützung für Multiplattformprojekte.

Verbesserung der Editor-Funktionen und Git-Integration

Der Editor selbst hat auch einige neue Neuerungen mitgebracht, z.B mehrzeilige To-do-Kommentare(siehe Bild/GIF) oder dass in der Statusbar die verwendete Anzahl an Leerzeichen für Einrückungen angezeigt wird. Falls die Einrückung nicht mit der Projekteinstellung übereinstimmt, wird dies entsprechend markiert und eine Lösung vorgeschlagen. Zusätzlich kommt Ihr über das Pop-up direkt zu den Editor-Config-Dateien für die jetzt auch Syntax-Highlighting sowie Code-Vervollständigung unterstützt wird.

Auch mehrzeilige To-Do-Kommentare sind mit der aktuellen IntelliJ-Version kein Problem mehr. (Bild: Jetbrains)
Bei Git hat sich auch einiges geändert wie zum Beispiel, dass Intellij jetzt Github-Pull-Requests unterstützt und die Funktion „History up to Here“ die gesamte Historie aufzeigt. Auch nützlich dürfte die Funktion sein, die es erlaubt, eine Datei aus einem anderem Branch zu kopieren. Einfach ein Rechtsklick auf die ausgewählte Datei und schon gelangt man ins Compare-Branches-Fenster.(siehe Bild)
Mit wenigen Mausklicks kann jetzt eine Datei von einem anderen Branch kopiert werden. (Screenshot: Jetbrains)
Neben der überarbeiteten Funktion zum Durchsuchen des gesamten Projekts hat Jetbrains einige weitere kleinere Neuerungen zur Verfügung gestellt. Das betrifft Kubernetes, Javascript und Maven. Alle Neuerungen diesbezüglich findet Ihr auf der Internetseite von Jetbrains unter diesem Blog.

Niko Martini
Niko Martini
Junior Developer

Egal ob zu Hause oder bei NETWAYS, Niko hockt gern vor dem PC. Ab und zu fährt er auch mal mit seinem Dad auf eine Fahrradtour quer durch Deutschland. Nach seinen ersten Tagen bei uns, in denen er NETWAYS, die Kollegen und Tools näher kennengelernt hat, freut er sich besonders auf die kommenden Jahre.