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

Dienstag, 17. April 2007

Bewertungskriterien für den Contest

Die Beiträge des Open Source Software Contest werden nach folgenden Kriterien ausgewählt und bewertet:

Thema
  • Keine diskriminierenden Beiträge oder Software
  • Keine Beiträge oder Software, die gesetzliche Bestimmungen verletzt
  • Keine Beiträge oder Software, die nicht jugenfreie Elemente enthält
Teilnehmer
  • Alter maximal 27 Jahre
  • Schülergruppen mit Lehrern sind willkommen
Abgabekriterien

Open Source
  • Das Projekt ist als Sourceforge Projekt zur Verfügung zu stellen und muss unter einer der dort angebotenen Lizenzen stehen (keine selbstdefinierte)
Umfeld
  • Das Projekt muss jederzeit von der Jury generierbar, testbar und prüfbar sein, oder es muss auf eine andere Weise glaubhaft gemacht werden, dass das Projekt den beabsichtigten Zweck erfüllt (z.B. durch einen anderen Experten oder Mentor)
  • Spezielle Entwicklungswerkzeuge zur Generierung sind beizustellen
  • Spezielle Hardware muss für die Überprüfung der Funktionalität zugänglich gemacht werden
  • Dokumentation für die Herstellung einer lauffähigen Version (falls dies das Ergebnis des Projektes ist)
  • Icons, und Sounds sind diese in installierbaren Formaten bereitzustellen
  • Themes sind installierbar bereitzustellen
Dokumentation
  • Kurzbeschreibung des Projektes (für den Abschlussbericht, ca. 1 Seite A4):
    • Thema
    • Zielsetzung und Motivation
    • Projektumfeld (Mitarbeiter, Mentor, Entwicklungswerkzeuge, sonstige Tools)
    • Beschreibung der Umsetzung, inkl. Architekturskizze
    • Beschreibung von Hindernissen, Problemen und Lösungsstrategien
    • Beschreibung, was weiter gemacht werden sollte
  • Kurzbericht des Mentors als Anleitung für die Jury
    • Wo sind die Teilnehmer über sich hinausgewachsen
    • Wo liegt der spezielle Nutzen
Bewertungskriterien für die Preisverleihung
  • Technische Innovation
    • Nutzen von Bestehendem zur Lösung neuer Probleme
    • Schaffung neuer Werkzeuge zur einfacheren Lösung bestehender Probleme
    • Schaffung neuer Werkzeuge zur Lösung neuer Probleme
    • Schaffung neuer Probleme zur Erzeugung neuer Werkzeuge
  • Komplexität / Zeitaufwand
    • Komplexität der Problemstellung
    • Einfachheit der Lösung
    • Eingesetzter Zeitaufwand
  • Nutzen für die Community
    • Grad der Problemlösung (wie viele Nutzer werden davon positiv betroffen, ist das Problem vollständig oder teilweise gelöst)
    • Nebenwirkungen (positive wie einschränkende)
    • Integration in bestehende (OSS-) Lösungen
  • Pepp (alles was künstlerisch und nicht technisch messbar ist)
    • der "Cool-Faktor"
  • Angemessenheit
    • Abdeckung der Bedürfnisse der Anwender und ihrer Arbeitssituation
    • Schafft das Produkt neue Möglichkeiten der produktiven Nutzung
  • Qualität der Umsetzung
    • Lesbarkeit, Wartbarkeit und Erweiterbarkeit des Codes
    • Stabilität, Verlässlichkeit und Verfügbarkeit
    • Resourcenverbrauch
    • Grad der Wiederverwendbarkeit
    • Dokumentation der Umsetzung

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).