Artikel-Referenz-Scanner

Szenario

Wir, der Informatik- und Netzwerkverein Ravensburg e.V sammelt Nachrichten und interessante Anleitungen und fügen als neue Synthese in unser Technologiepotal ein.

Man liest einen Artikel mit seinem Smartphone/Tablet und sendet eine Referenz an den Mail-Server.

Der Artikelreferenzscanner holt via IMAP4 eine E-Mail ab (Camel Mail) und transformiert sie in ein Zwischenformat. (Artikel Ref Scanner Prozessor-Component)

Alternativ kann mit unserer Camel Mail Erweiterung camel als SMTP-Server dienen und diese direkt die Mail in die Verarbeitung eingespeist werden.

Eine Dynamische Route analysiert das Zwischenformat. Falls ein Label erkannt wurde, wird dieser als Ziel genommen. Andernfalls wird das Subject mit einen Zuweiser-Service (extra Bundle, austauschbar) an ein Label zugewiesen.
Die dynamische Route lasst die Artikleref in ein html-Fragment konvertieren und orgnet es gemäß den Label in ein Verzeichnis ein.

Mittels eines Scriptes kann man dann eine HTML-Seite aus dem Verzeichnis zu einem Thema generieren lassen

Stand

Der Artikelreferenzscanner ist ein Experimentierprojekt für ESB auf Apache-Servicemix.

Mitmacher und Freunde können diesen Dienst

Input-Format

\S+://\S+
\s*
-> kapitel

Text, was hier wichtig ist.

-> ist optional, sonst sucht der Zuweiser das Subjekt nach Schlüsselbegriffswörtern ab.

Beispiel:
Subject: Eclipse 4.0: Inject your OWN Objects

http://toedter.com/2010/06/25/eclipse-4-0-inject-your-own-objects/

-> Eclipse

Beschreibung des Injezierungsmechnismus in Eclipse

Ausgabe

eine Verzeichnishierarchie unter camel/lage/html/ mit Dateien je Referenz
eine Datei hat z.B. folgendes Format:

<?xml version="1.0" encoding="UTF-8"?><htmlfrag>
<dt>
<A href="http://toedter.com/2010/06/25/eclipse-4-0-inject-your-own-objects/">Eclipse 4.0: Inject your OWN Objects</A>
</dt>
<dd>
Beschreibung des Injezierungsmechnismus in Eclipse
</dd>
</htmlfrag>

Zwischenformat XML

Fuer obige Nachricht wurde folgendes Zwischenformat erzeugt:


<?xml version="1.0" encoding="UTF-8"?>
<articleref>
<label>Eclipse</label>
<subject>Eclipse 4.0: Inject your OWN Objects</subject>
<url>http://toedter.com/2010/06/25/eclipse-4-0-inject-your-own-objects/</url>
<comment>
</comment>
<header>
  <Accept-Language>de-DE  </Accept-Language>
  <Content-Type>text/plain; charset="us-ascii"  </Content-Type>
  <Return-Path><rudolf.weber@iss-ag.com>  </Return-Path>
  <X-MS-TNEF-Correlator>  </X-MS-TNEF-Correlator>
  <X-Sieve>CMU Sieve 2.4  </X-Sieve>
  <Content-Language>de-DE  </Content-Language>
  <X-AV-Checked>[by regionetz.net] ClamAV using ClamSMTP  </X-AV-Checked>
  <Received>[from s4.intern ([unix socket])
	 by s4 (Cyrus ) with LMTPA;
	 Thu, 05 Mar 2015 21:25:14 +0100, from s4.intern (localhost [127.0.0.1])
	by s4.intern (Postfix) with ESMTP id A45E060
  <Thread-Topic>Eclipse 4.0: Inject your OWN Objects  </Thread-Topic>
  <MIME-Version>1.0  </MIME-Version>
  <Thread-Index>AdBXKuwN1bppQKXAT7Ol+FC0jMRo7w==  </Thread-Index>
  <Date>Thu, 5 Mar 2015 10:58:25 +0100  </Date>
  <Message-ID><AF6218C0-27B9-4FEA-AD09-81DA274A6259@iss-ag.com>  </Message-ID>
  <To>Ich <rw@infnet.verein.de>  </To>
  <X-MS-Has-Attach>  </X-MS-Has-Attach>
  <acceptlanguage>de-DE  </acceptlanguage>
  <breadcrumbId>ID-m8p-intern-50961-1425585402595-0-17  </breadcrumbId>
  <Content-Transfer-Encoding>quoted-printable  </Content-Transfer-Encoding>
  <Subject>Eclipse 4.0: Inject your OWN Objects  </Subject>
  <From>Rudolf Weber <Rudolf.Weber@xxxxxx.com>  </From>
</header>
</articleref>

Unter header wird der E-Mail-Header abgebildet. Die Verarbeitung k&ouuml;te noch mehr Informationen übertragen

Auch obige Ausgabe ist auch nur ein Zwischenergebnis, dass dann vom menschlichen Author eingeordnet wird.

Ideen

Urls (auch mehrere) sollten automatisch mit transformiert werden (Manual)

Dann könnten gleich mehrere Urls kommen usw.
→ dann ist das schon eine kleine Zusammenstellung - also eine kleine Arbeit, also ein vorläufiges Ergebnis.
Falls etwas vorhanden ist, muss dann das Ergebnis doch wieder fusioniert werden (vom Autor)

Fusionierung von Teillagen

Wenn man eine z.B. Hierarchie (Thematik/Thesen/Begründung) hat, wobei alles XML-Tags sind, kann könnte man solche XML-Dateien automatisch mischen und dann so ein intersubjektives Gesamtbild darstellen.

Installation

Karaf-shell (einmalig):
osgi:install -s 'mvn:commons-io/commons-io/2.4'

Probleme

Charakterendoding

<Content-Type>text/plain; charset="iso-8859-1"  </Content-Type>
<Content-Type>text/plain; charset="iso-8859-1"  </Content-Type>
<Content-Type>text/plain; charset="us-ascii"  </Content-Type>
<Content-Type>text/plain; charset="utf-8"  </Content-Type>
<Content-Type>text/plain; charset="Windows-1252"  </Content-Type>

muss ins normale charset konvertiert werden

Nutzt nun apache.commons-io: in Karaf:
osgi:install mvn:commons-io/commons-io/2.4

Charakterencoding im Subject

dieses wurde mit Mimeutils gelöst
Rudolf Weber Informatik- und Netzwerkverein Ravensburg e.V