Banner Bild - Quelltext

Open Source

Viele kommerzielle Softwareprojekte basieren auf so genannter Open Source Software aus verschiedensten Quellen. Unter diesen Open Source Projekten gibt es etliche, welche ein komplettes Framework für einen bestimmten Einsatzzweck bieten, mit der Absicht die Softwareentwicklung in diesem Bereich erheblich zu vereinfachen. Andere bieten Bibliotheken mit hoch spezialisierten Algorithmen an, welcher die Einbindung spezieller Funktionen in eigene Projekte ermöglichen. Auch viele der häufig verwendeten Programmiersprachen sowie die zugehörigen Compiler und Interpreter sind überwiegend unter einer entsprechenden Lizenz veröffentlicht.

Unsere Projekte basieren ebenso auf verschiedenster Open Source Software. Im Laufe unserer vergangenen Projekte haben wir dabei bei einigen Open Source Projekten mitgewirkt, um dort Fehler zu beheben oder neue Funktionen zu ermöglichen. Zudem haben wir selbst kleine Projekte unter Open Source Lizenzen erstellt, welche wir auf dieser Seite vorstellen.

django Logo

-Pakete:

django-pluggableappsettings

Bei der Entwicklung von Django Projekten hatten wir häufiger das Problem, dass wir den Benutzern einer App die Möglichkeit geben wollten bestimmte Einstellungen für die App in der zentralen settings.py des Projektes vorzunehmen. Die übliche Vorgehensweise wäre zur Laufzeit des Programms zu schauen ob die Einstellung gesetzt ist und falls nicht, den gewählten Standardwert zu verwenden. Dies muss an jeder Stelle im Code geschehen an der die Einstellung verwendet werden soll.

Die django-pluggableappsettings-App bietet eine einfache Möglichkeit in einer App-eigenen Einstellungsklasse die benötigten Einstellungen zu definieren und ihnen Standardwerte zuzuweisen. Sobald aus dem Code das erste Mal auf eine Einstellung zugegriffen wird, lädt die Einstellungsklasse diese aus der settings.py des Projektes oder, falls sie nicht definiert ist den Standartwert und gibt diesen zurück.

Zusätzlich ermöglicht das Projekt eine Typenüberprüfung des gegebenen Einstellungswertes, sodass zum Beispiel sichergestellt ist, dass es sich bei dem eingestellten Wert um eine Ganzzahl handelt. Außerdem kann die Einstellung vorbearbeitet werden, sodass beispielsweise ein Dotted-Path zu einer Python Klasse in die genannte Klasse umgewandelt werden kann.

Durch die Benutzung dieser App kann der Entwickler sicher stellen, dass die Einstellung garantiert einem bestimmten Muster entspricht und muss die entsprechenden Überprüfungen nicht an verschiedenen Stellen im Code selbst implementieren.

Programmiersprache: Framework: Lizenz: Verfügbarkeit & Dokumentation:
Python logo Django logo

MIT

Github logo

django-appregistration

Von Haus aus ist es Apps in Django Projekten nicht möglich sich dynamisch untereinander zu verknüpfen. Stattdessen müssen jegliche Verknüpfungen immer statisch einprogrammiert werden. In manchen Fällen ist es aber wünschenswert den Apps eine dynamische Registrierung von einzelnen Komponenten anhand der Verfügbarkeit von anderen Apps zu gewähren.

Ein Beispiel für eine solche Anwendung wäre eine App welche für die angezeigte Seite ein Menü zur Verfügung stellt und es anderen Apps ermöglichen möchte ebenfalls Menüelemente und gegenenenfalls Unterseiten hinzuzufügen.

Die django-appregistration-App bietet eine einfache Infrastruktur für solche Anwendungsfälle. Die erweiterbare App muss dafür nur eine Registry als Unterklasse der zur Verfügung gestellten Registry-Arten erstellen und wenige Optionen auf dieser Registry konfigurieren. Greift der Code dann das erste Mal auf die Registry zu um sich die Registrierten Elemente zu holen, geht die Registry automatisch alle INSTALLED_APPS durch und lädt die dort zur Verfügung gestellten Inhalte auf die dann zugegriffen werden kann.

Durch die Verwendung dieser Registries wird es möglich ein hoch dynamisches Django-Projekt zu erstellen welches die Inhalte anhand der installierten Apps dynamsich anpasst ohne, dass der Code jedes mal angepasst werden muss. Dadurch können beispielsweise Module welche auf manchen Installationen nicht vorhanden sein sollen einfach weggelassen werden, ohne dass Änderungen am Code notwendig werden.

Programmiersprache: Framework: Lizenz: Verfügbarkeit & Dokumentation:
Python logo Django logo

MIT

Github logo

django-splitdate

Dieses Projekt stellt ein Widget für Formulare in Django zur Verfügung mit welchem die Eingabe von Daten in getrennten Textfeldern für Tag, Monat und Jahr ermöglicht wird. Die Reihenfolge der Felder kann dabei frei vom Programmierer definiert werden.

Programmiersprache: Framework: Lizenz: Verfügbarkeit & Dokumentation:
Python Logo Django Logo

MIT

Github Logo
Stacks logo

Stacks für RapidWeaver Stacks 3:

DotSpacer Stack

Mit dem DotSpacer Stack lassen sich stilvolle Abgrenzungen innerhalb von Webseiten erzeugen. Der Stack erstellt einen Abstandshalter mit einem Punkt in der Mitte.

Der Abstandshalter kann komplett angepasst werden: Neben der Größe des Punktes und seiner Farbe kann der vertikale Abstand zu den umgebenden Elementen eingestellt werden.

Programmiersprache: Framework: Lizenz: Verfügbarkeit & Dokumentation: Download:
HTML & CSS Stacks Logo
Stacks 3 für RapidWeaver

MIT

Github Logo Download

Frosted Stack

Mit dem Frosted Stack lässt sich ein Frosted-Glass Effekt als Hintergund für Stacks erstellen. Elemente die hinter dem Frosted stack liegen, scheinen unscharf und aufgehellt durch den stack durch.

Achtung: Dieser Stack verwendet die backdrop-filter css eigenschaft die noch nicht von allen aktuellen Browsern unterstützt wird. Nicht unterstützte Browser zeigen einfach einen weißen, halbtransparenten Hintergrund.

Programmiersprache: Framework: Lizenz: Verfügbarkeit & Dokumentation: Download:
HTML & CSS Stacks Logo
Stacks 3 für RapidWeaver

MIT

Github Logo Download

Weitere OpenSource Projekte zu denen wir etwas beigetragen haben:

Easy Thumbnails

A powerful, yet easy to implement thumbnailing application for Django 1.4+

Programmiersprache: Framework: Lizenz: Verfügbarkeit & Dokumentation:
Python Logo Django Logo

MIT

Github Logo

django-leaflet

Allows you to use Leaflet in your Django projects.

Programmiersprache: Framework: Lizenz: Verfügbarkeit & Dokumentation:
Python Logo Django Logo

MIT

Github Logo

jQuery PhotoRoller Plugin v1.1.0

A mouseover cycle-through photo gallery (iPhoto-like).

Programmiersprache: Framework: Lizenz: Verfügbarkeit & Dokumentation:
JavaScript jQuery

MIT

Github Logo

pyowm

A Python wrapper around the OpenWeatherMap web API

Programmiersprache: Lizenz: Verfügbarkeit & Dokumentation:
Python Logo

MIT

Github Logo