Web portal - Plone - Python - Javascript


Integratedbrands (a show case of strategic communications) basiert auf Plone und wurde von XHOSTPLUS im Auftrag von Beakbane Marketing Inc. realisiert.

Umsetzung

  • Einteilung des Projektes in mehrere Haupt- sowie Unterpunkte.
  • Einrichten des Projektes in unserer web-basierenden Projektverwaltung.
  • Umsetzen des Designs als installierbares Plone Theme.
  • Programmierung der externen Loginfunktionalität, der projektspezifischen Datentypen sowie der Workflows inkl. Tests.
  • Installation und Konfiguration einer Testumgebung.
  • Einpflegen von Testdaten und Testen der Gesamtfunktionalität.
  • Aufsetzen einer zweiten Testumgebung inkl. Proxy Cache und Loadbalancer.
  • Tägliche Replikation des Projektes auf einen zweiten Server.
  • Installation des Portals am Livesystem und "Going Live".
  • Betreuung des Linuxservers und der Replikation.
  • Folgeaufträge:
    • Programmierung eines Blogs als installierbares Plugin für Plone
    • Integration eines neuen Designs
  • Link zum Portal

Online video - Plone - Python - Javascript


Ein sehr interessantes Projekt war die Website für den Regionalsender KULT1, welche die Videos des Senders über das Internet zur Verfügung stellt.

Umsetzung

  • Als Basis haben wir uns dafür entschieden, das Open Source CMS Plone einzusetzen. Damit ist die einfache Handhabung der Artikel, Bilder und News sowie die Vergabe von bestimmten Rechten an unterschiedliche Personen schon mal gegeben.
  • Programmierung eines Plugin für Plone zur Verwaltung von Videos. Dieses Plugin konvertiert die hochgeladenen Filme automatisch in das WebM und H.264 Format.
  • Da es schon eine Website gab, wurde das Design übernommen, in gewissen Bereichen angepasst und daraus ein Plone Theme entwickelt.
  • Es gab mehr als 400 bestehende Videos. Aus diesem Grund war es unablässig, diese automatisiert in die neue Videodatenbank zu importieren. Dafür wurde ein entsprechendes Programm geschrieben, welches die Videos konvertiert, mit den notwendigen Metadaten ausstattet und in der Datenbank speichert.
  • Link zur Website

Website - Django CMS - Python - CSS


Eine bestehende, auf dem CMS Plone basierende, Website soll erneuert werden und auch für mobile Endgeräte, wie Smartphone und Tablets, tauglich gemacht werden.

Auf Grund des Umfanges und der gewünschten Funtionalität der Website, war klar, dass Plone diesmal nicht mehr zum Einsatz kommen wird.

Schließlich fiel die Entscheidung auf Django CMS. Da wir ohnehin Django Power User sind, war es naheliegend, ein auf Django basierendes CMS einzusetzen.

Die Integration des Designs in das CMS gestaltete sich recht einfach. Um eine responsive Website zu gewährleisten, war noch zusätzlicher Aufwand nötig.

Die Programmierung von drei kundenspezifischen Plugins (Add-Ons) erleichterten das Einpflegen der Daten sowie das Aktualisieren der Website durch den Kunden.

Link zur Website

Intranetlösung - Pyhon - Django - Javascript - AJAX - CSS


Während eines Consultingprojekts, trat der Kunde an mich heran und fragte, ob ich die Hardwareverwaltung web-basierend machen könnte.

Umsetzung

Eines der wichtigsten Dinge bei Datenbank basierenden Projekten ist das Datenmodell. Wenn dieses unvollständig ist, wird das Programmieren problematisch bzw. lassen sich bestimmte Anwendungfälle (Use cases) gar nicht realisieren. Daher war eine der ersten Aufgaben sich mit den Anwendern der Applikation zusammen zu setzen, um die Anforderungen zu analysieren. Daraus konnte in weiterer Folge das Datenbankmodell abgeleitet werden.

Bestimmte Hardware wurde dabei hierarchisch in Form von Einheit-A beinhaltet Einheit-B, welche wiederum Einheit-C,D und F beinhaltet, inkl. Attribute modelliert. Diese "Kontainer" wurden dann zu logischen Einheiten zusammengefasst. Dieser Use case war anfänglich langsam, konnte aber durch den Einsatz von AJAX extrem beschleunigt werden.

Nachdem die Hardware, für die das System zu Anfang programmiert wurde, integriert war, wurden weitere Hardwaretypen aufgenommen. So ein System ist eigentlich nie komplett fertig, denn es wächst stetig. Und wo Wachstum ist, gibt es stetige Veränderung.

Eckdaten

  • Django Webframework
  • PostgreSQL Datenbank
  • Python, Javascript
  • AJAX
  • HTML, CSS
  • Versionskontrolle mit Git
  • Testautomatisierung und Releasing mit Jenkins CI
    • Funktionale tests (Django Testframework)
    • UI tests mit Selenium
  • Linux Hosting.

Linux - Netzwerktechnik - DMZ


Eine Lieferfirma bringt einem Kunden einen PC, der im Verkaufslokal auf einem Monitor Werbung einspielen soll.

Administriert wird der PC vom Lieferanten selbst. Das bedeutet, der Lieferant muss über das Internet Zugriff auf den PC haben, welcher im Netzwerk des Kunden eingebunden werden soll.

Umgesetzt wurde diese Anforderung durch die Installation einer DMZ (siehe unten), indem der bereits bestehende Linux-Server zusätzlich als Router sowie als Firewall eingesetzt wird.

Da es nicht in Frage kommt, dass sich der externe PC im selben Netzwerksegment wie die Kunden-PCs befindet, wird der bestehende Linux-Server (aktuell für die aktive Datensicherung verantwortlich) als Router inkl. Firewall konfiguriert.

Dafür wird eine zweite Netzwerkkarte im Linux-Server benötigt. Da dieser aber nur eine hat, wird die zweite Netzwerkkarte mittels eines USB auf Ethernet-Adapter realisiert. Dieser Adapter wird von Linux sofort als eigene Netzwerkschnittstelle erkannt.

Abschließend noch die entsprechende Konfiguration der Routingfunktion inkl. Firewall und der externe Werbe-PC ist für den Lieferanten über das Internet erreichbar, ohne diesem Zugriff auf das lokale Netzwerk zu gewähren.


DMZ - Demilitarized Zone

Mit DMZ wird der Teil eines Computernetzwerkes bezeichnet, der sicherheitstechnisch abgeschottet ist. Das bedeutet, die Netzwerkteilnehmer in der DMZ haben keinen Zugriff auf das interne Netzwerk ("Lokales Netzwerk" in der Abbildung). Die DMZ wird vom internen Netzwerk durch eine Firewall getrennt. In diesem Fall ist die Firewall ein Computer, auf dem als Betriebssystem Linux installiert ist.

Linux - Netzwerktechnik - VPN


Das Mobiltelefon läutete während der Siegerehrung vom Schulskitag unseres Sohnes und am anderen Ende der "Leitung" war ein Mitarbeiter eines bestehenden Kunden.

Bei der Firma XY ist der Server "eingegangen". Könnt ihr da etwas anbieten? Und ein VPN wäre auch nicht schlecht...

Momentan arbeiten sie auf der Serverplatte, die in ein USB-Gehäuse gesteckt wurde und an einen Arbeitsplatz-PC angeschlossen ist. Kannst Du das übernehmen inkl. VPN für Teleworking?

Der Scanner vom Multifunktionsdrucker geht auch nicht mehr, seit der Server weg ist, ebenso das Adressenverwaltungsprogramm.

Umsetzung

Der bürokratische Teil konnte schnell geklärt werden, sowie die eine oder andere technische Frage. Server gekauft, Ubuntu Linux mit Long Term Support installiert, entsprechend den Anforderungen konfiguriert und ins Netzwerk eingebunden.

Alle Mitarbeiter arbeiten wieder auf dem Server. Datensicherung war sofort aktiv, VPN und Firwall folgten nach.

Impressum

ECG

Erwin Ambrosch
Dipl.-Ing. (FH)
Sonnenstrasse 19
9544 Feld am See
Österreich