Posts mit dem Label Projekt_Idee werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Projekt_Idee werden angezeigt. Alle Posts anzeigen

Montag, 14. Mai 2007

Session Management: Django und Zope

Die beiden Frameworks Django und Zope sind in der selben Sprache geschrieben und werden oft parallel eingesetzt, Zope immer dann, wenn es um hierarchische Datenverwaltung geht, Django für relationale Daten.
Beide Frameworks verfügen über eine eigene Userverwaltung und ein Session Management, wobei Zope in der Lage ist, die User auch aus einer relationalen Datenbank wie PostgreSQL abzufragen.

Nun wird die Implementierung einer Schnittstelle gesucht, die das jeweilige Session Management des einen Frameworks mit dem anderen verbindet, so dass bei Webprojekten, die beide Frameworks einsetzen, für User die Wirkung eines Single Sign Ons entsteht.

Die Schnittstelle muss also in beide Richtungen funktionieren, entsprechend sicher agieren und soll in Python geschrieben werden.

Kenntnisse: Python Kentnisse, grundlegendes Verständnis für Webprogrammierung, Grundkenntnisse PostgreSQL

Montag, 30. April 2007

Agenten im Jabber Netzwerk

XMPP / Jabber ist eine offener Instant-Messaging Standard, der von verschiedenen Servern und Clients implementiert wird. In diesem Umfeld sind verschiedene Projekte möglich.

Z.B. könnte man einen "Agenten" programmieren, der sich mit einem normalen Jabber Account einloggt und mit-protokolliert, Anfragen beantwortet usw. Denkbar wäre etwa ein Vokabeltrainer der nach dem Karteikarten-Prinzip Vokabeln abfrägt usw.

(Vorschlag eines Diskutanten im Kommentar)

Freitag, 27. April 2007

ODF - OpenXML Converter

Das Open Document Format (ODF) des OASIS Konsortium beschreibt einen offenen Dateistandard für Officedokumente. Dabei handelt es sich um XML-Dateien die in einem gezippten Archiv abgelegt sind.

Microsoft Office 2007 speichert Daten in einem neuen Dokumentenformat ab: OpenXML. Das Format ist in ECMA 376 spezifiziert. OpenXML verwendet den gleichen technologischen Ansatz wie ODF: XML-Dateien in gezippten Archiven.

Ziel des Projektes ist, Konverter für die verfügbaren Anwendungen zu erstellen.
  • Writer <-> Word
  • Calc <-> Excel
  • Impress <-> PowerPoint
  • Data <-> Access
Im Wesentlichen handelt es sich um einen Schema-Konverter. Daten werden entsprechend dem Input Schema übernommen und gemäss dem Output Schema abgelegt (Microsoft behält sich vor, binäre Versionen des Dokumentes ebenfalls einzubinden. Im ersten Schritt sollen diese proprietären Blobs nicht analysiert und konvertiert werden).

Skills: Programmiersprache C++ | C# | Python, XML

Montag, 23. April 2007

Evince Erweiterungen

Evince ist ein Dokumentenviewer unter Gnome, der PDF, PS, djvu, TIFF und DVI-Formate anzeigen kann.

Evince unterstützt derzeit noch kein
  • gnome-vfs (damit auch keinen Zugriff auf Dokumente in heterogenen Netzwerken) und keine
  • PDF-Formulare (damit schwierig im Bereich E-Government einsetzbar)
Ziel ist, Evince zu erweitern:
  • Bearbeiten und speichern von PDF-Formularen (Inhalte, nicht Layout)
  • Umstellung der Filezugriffe auf gnome-vfs
Skills: C/C++, Gnome-API, gnome-vfs

Sodoku lernen

Es gibt viele Sudoku Softwarepakete, meist liefern sie aber nur Aufgabenstellung, Prüfungen oder Lösungen. Ziel dieses Sudoku Paketes ist es bestimmte Suchstrategien gut interaktiv üben zu können. Es soll möglich sein auf verschiedenen Schwierigkeitsgraden, das System prüfen zu lassen, ob im Rahmen einer Suchstrategie etwas übersehen wurde.

Generierung von Eingabe Webseiten

Die Generierung von Web -Interfaces aus Daten ist ein wichtiges Element, um einfach Erweiterungen zu ermöglichen. Basierend auf XML-Definition sollen Eingabeseiten mit modalen Dialogen generiert werden. Es ist sowohl die XML-Struktur als auch der Generator zu entwickeln, der die Webseite zur Verfügung stellt und die Ergebnisse dann übernimmt.

Skills: Java oder .Net, XML

Mittwoch, 11. April 2007

OpenFire Chat Server: Gesprächs Logging

OpenFire ist ein leistungsfähiger Instant Messaging Server der mit dem Jabber XMPP Protokoll arbeitet. Leider gibt es in der Open Source Variante keine vernünftige Möglichkeit Chats (v.a. Groupchats) zu protokollieren und im Nachhinein nachzuverfolgen. Es gibt nur ein komerzielles Plugin mit dieser Funktionalität.

Das Projekt sollte ein Plugin für OpenFire erzeugen, das etwa über folgende Funktionalität verfügt:
  • Chat Konferenzen zu protokollieren
  • Diese am Server abzulegen
  • In den Protokollen zu suchen
  • Die Protokolle vernünftig im Web-Client aufzulisten (Datum, ...)
Skills: Java, XML, Instant Messaging

Montag, 9. April 2007

Start-Up Zeit von JSF im Development verbessern

Apache MyFaces, die erste freie Open Source Implementierung von JavaServer Faces, dem Standard für die Entwicklung von Web-Anwendungen in Java, bringt eine Konfigurationsdatei und mehrere Properties-Dateien mit. Wann immer es notwendig ist, Änderungen in dieser Konfigurationsdatei vorzunehmen, muss der Server neu gestartet werden, damit die Änderungen sichtbar werden. Das Projektziel soll sein, dass dieser Schritt nicht mehr notwendig ist. Zusätzlich soll die Möglichkeit bestehen, Internationalisierungs-Dateien zu verändern, ohne dass ein Server-Restart erfolgen muss.

Skills: Java, Web-Entwicklung mit JSF

Gepostet von Alexander Schatten für Martin Marinschek (Irian, myFaces Projekt)

MS Project Format für Gnome Planner

Planner ist ein Werkzeug zur Projektplanung unter Gnome. Es verfügt über ausreichende Funktionalität um produktiv eingesetzt zu werden. Für den Datenimport besteht die Möglichkeit, MS Projekt XML Daten zu importieren. Für den Datenexport gibt es keine einfache Möglichkeit, Daten für MS Projekt abzuspeichern.

Ziel: Erweitern der Import/Export-Funktionen um MS Projekt Formate (ev. auch OpenXML).

Skills: C++, OpenXML

Sonntag, 8. April 2007

Ansprechende Symbole für Dia

Dia ist ein Grafikprogram zur Erzeugung vektorbasierter technischer Illustrationen. In seiner Funktion ähnelt es Miicrosoft Visio. Dia ist ein Gnome-Projekt.

Das Programm wird mit rudimentären Symbolbibliotheken ausgeliefert. Diese sind nicht besonders ästhetisch oder umfangreich.

Ziel ist, eigene Symbolbiblliotheken für Dia zu erzeugen. Die Symbole sind dabei PNG oder SVG-Dateien. Die Funktionalität wird durch Python scripts hergestellt.

Skills: Grafik-Design, SVG, Python

Donnerstag, 5. April 2007

OpenOffice MailMerge Wizard II

Über die Unzulänglichkeiten des MailMerge Wizard in OO habe ich bereits im vorigen Post geschrieben. Eine Verbesserung wäre, die Adressbücher von Thunderbird, Evolution und Outlook als Datenrepository nutzen zu können.

Ziel: MailMerge an die Empfänger in einem Adresscontainer.

Skills: Python, Kenntnis von OOo SDK und URE

Mittwoch, 4. April 2007

OpenOffice MailMerge Wizard

OpenOffice verfügt über einen Wizard für MailMerge. Dieser Wizard ist in allen bisherigen Versionen fehlerhaft. Datenbankfelder werden nicht angezeigt, eine ordentliche Merge Preview ist nicht möglich. Ausdrucke sind nur mittels Workaround möglich.

Ziel des Projektes ist, einen funktionierenden Mailmerge Modul zu erstellen, der mittels Wizard folgende Schritte abdeckt:
  • Auswahl der Datenquelle
  • Einfügen der Merge-Felder per Drag-and-Drop oder über Auswahl
  • Verknüpfung oder Bearbeitung der Felder mittels Scripting
  • Voransicht
  • Selektion von Datensätzen die nicht gemerged werden sollen (enumerativ oder durch Bereichsgrenzen)
  • Auswahl des Ausgabemediums (Drucker, File oder Email, bei Email Eingabemöglichkeit von Subject)
  • Voransicht mit Ausgabemöglichkeit
Im Zuge der Entwicklung könnte der Datenbankstub (.odb) statt im Ordner "Eigene Dateien" (unter Windows) in dem Verzeichnis des Mergetemplates gespeichert werden. Alternativ könnte der Stub auch im odt als ODF Extension abgelegt werden.

Skills: Python, Kenntnis von OOo SDK und URE

Dienstag, 3. April 2007

animierter interface-agent

für ein studien-projekt eines informatik-studenten soll ein animierter interface-agent gestaltet und gezeichnet werden.

die software wird von logopäden verwendet, um eine bestimmte art von lesestörung bei kindern zu prüfen bzw. zu behandeln. zwischendurch soll eine freundliche figur (tier? zwerg?) erscheinen und feedback über den fortschritt geben ("gut gemacht"", "weiter so"", "ein bisserl besser gehts noch!" etc.).

das projekt umfasst den entwurf und die verwirklichung dieses characters (im sinne von digitalisierten bildern). die implementierung in die software übernimmt der student. als ansprechpartner stehen der student, sein betreuuer (peter purgathofer = mentor) sowie von fall zu fall eine logopädin zur verfügung.

Montag, 2. April 2007

JAXB 2.0 implementation for Castor XML

A few weeks ago, the Castor project has started working on providing a JAXB 2.0 implementation that builds on top of Castor XML. This non-trivial activity can be broken down into several smaller tasks as outlined below:

  1. Templating prototype (Java, XML, XSD, JAXB2) - Prototype the use of templating (using e.g. Velocityor a similar template engine) within the XML code gernator
  1. Facilitate annotation processing ( Java, XML, XSD, JAXB2) -Integrate a framework/library to facilitate extraction and enlistment of (JAXB) annotations from domain objects (this should be coordinated with the functionality required for JPA above);
  1. JAXB annotations for JAXB code generator (Java, XML, XSD, JAXB2) -Enhance XML code generator to facilitate generation of JAXB annotations for the domain classes generated.
  1. Support for JAXB bindings (Java, XML, XSD, JAXB2) -Add support for JAXB bindings to XML code generator (processing, loading)
  1. XML schema generator (Java, XML, XSD, JAXB2) - Add XML schema generator (starting from java domain classes, based upon annotations)

In addition, being an open source project and as such in need for additional resources, the existing HTML documentation needs some serious improvement(s), incl. addition of (fully working) samples and HOW-Tos.

The idea is to rework the existing samples by making them better or write some new ones. The exact scope of this task package is subject of further discussions with the project mentor(s).

Freitag, 30. März 2007

Next generation package management in Linux

Currently there are several efforts going on to create some "next generation" package management tool for Linux. Two prominent examples are YUM (http://linux.duke.edu/projects/yum/) and SMART (http://labix.org/smart). Both claim
to be extendible and reusable. On YUM there is some terse documentation on how to do this, for SMART there seems to be no documentation about this at all.
Goal of the project would be:
-- Compare these two tools in functionality and extensibility
-- Document extension and reuse of these tools by building a (two) small
application(s) using both package management tools as basis.

Helpful Knowledge: Python, Linux, package management

Adding pie/bar charts for statistics to Trac

This is actually a project on the Trac "helpWanted" List. The description there:

Hi,

Being a S/W development project manager I'd love to see graphical statistics (bar/pie charts) on various things such as:
  • Number of issues at various stages of completion in different file/modules
  • Trend graphs on number of new bugs vs fixed ones over the last day, week, month...
  • Number of bugs assigned to the various project developers
  • Number of subversion commits per file/module (file/module vs other files/modules or for one particular file/module over its historical time span etc) - etc, etc!
There are loads of interesting statistical information that could be visualized graphically very nicely!

/Magnus

This is the answer of the Trac core team:

There are some simple charts for the milestones where you can see open/closed tickets grouped by different attributes, including owner.

I think there's a use for this information in Trac, though I'd suggest experimenting with it in a plugin first. I don't think this is going to be a high priority for the Trac core at this time, but if someone puts some concrete implementations into a plugin we could look at if/how this would integrate with the core.


Helpful Knowledge: Python, Trac, Graphics

Adding Checkout/Checkin Support to TRAC

From the Trac Web Page:
"Trac is an enhanced wiki and issue tracking system for software development projects. Trac uses a minimalistic approach to web-based software project management. Our mission is to help developers write great software while staying out of the way. Trac should impose as little as possible on a team's established development process and policies."
Trac also includes a facility for viewing a subversion repository. But Checkin/Checkout is not directly supported by Trac. The project shall enhance this basic functionality with Checkin/Checkout functions.

Helpful Knowledge: Python, subversion, the Python API for subversion, Trac

Freitag, 23. März 2007

Apache Cocoon samples and documentation overhaul

The Apache Cocoon project will release version 2.2 very soon. Unfortunately the design of the provided samples is boring and some of them are inconsistent or even misleading.

The idea is to rework the existing samples by making them better or write some new ones and provide a new skin. The exact extend of this project is subject of further discussions with the project mentor.

Donnerstag, 22. März 2007

Bluefish Web preview

Bluefish ist ein Web Editor unter Linux. Er unterstützt die Erstellung von Websites mit unterschiedlichen Scriptsprachen. Die visuelle Kontrolle muss derzeit noch über den Umweg eines Webservers und Browsers erfolgen.


Ziel ist, Bluefish um eine Rendering-Engine zu erweitern, um die visuelle Ergebniskontrolle bereits aus dem Editor heraus durchzuführen.

Bluefish ist auf SourceForge unter http://sourceforge.net/projects/bluefish/ zu finden.

Bluefish Erweiterung um C#, ASP.NET, Mono

Bluefish ist ein Web Editor unter Linux der eine Reihe von Scriptingsprachen unterstützt. Nicht unterstützt werden C#, Mono und ASP.NET.

Ziel ist, den Editor um die Syntax von C#, ASP.NET und Mono-Unterstützung zu erweitern.

Dazu sind Sprach- und Seitentemplates zu erstellen, in Bluefish zu integrieren und die Dokumentation dazu zu ergänzen.

Bluefish ist auf SourceForge unter: http://sourceforge.net/projects/bluefish zu finden.