TrayRSS Sideproject: RssSearch Version 0.0.2
Hallo da draußen!
Vor nicht all zu langer Zeit trat ein Besucher meiner Webseite mit einer Frage an mich heran:
Für mich ist es wichtig Schlagworte und Phrasen auch auf (oder gerade nur auf) der original News-Webseite zu finden. [...] Kennst du Programme die das leisten?
Zu dem gegebenen Zeitpunkt musste ich dies verneinen. Waren weder TrayRSS noch die mir bekannten Konkurrenz Programme dazu im Stande. Sogleich habe ich diese Funktionalität in die Roadmap von TrayRSS aufgenommen.
http://trayrss.nullpointer.at/bug/roadmap_page.php?version_id=30
Doch leider wird bis dahin noch einiges an Zeit vergehen, stehen, damit alles gut zusammenspielt, doch noch einige andere Änderungen an TrayRSS ins Haus, wie zB. die grafisch überarbeitete Notifikation (Geplant für 1.3.0 - Roadmap von TrayRSS). Diese soll unter anderem leichter um zusätzliche Funktionen erweiterbar sein, um zukünftig mit dem angedachten Feedbrowser, zur Anzeige und Sortierung sämtlicher Feedeinträge, zusammenspielen zu können.
Ohne diesen Feedbrowser wäre eine entsprechende Suchfunktion meiner Meinung nach nicht sinnvoll umzusetzen. Daher habe ich mich diese Woche hingesetzt und für Alle die eine ähnliche Funktion suchen ein kleines Tool geschrieben:
RssSearch
Dieses Tool ist denkbar simpel gehalten und war ein Vorabtest der Möglichkeiten und der beanspruchten Zeit für eine Tiefensuche. Es bietet dem Benutzer die Möglichkeit Feeds nach einem oder mehreren Schlagwörtern zu durchsuchen.
Geschrieben wurde es in Java und setzt daher ein installiertes Oracle JRE, mindestens in Verison 1.6, voraus. Wenn dies noch nicht vorhanden ist, kann man es hier beziehen.
Das Tool ist rein kommandozeilenbasierend und wird folgendermaßen benutzt:
java -jar RssSearch.jar -o|-a <keyword1> <keyword2> <...> -f <feed1> <feed2> <....>
Wobei -o für ein or - oder - steht und man damit einen oder mehrere Feeds nach nur einer vorhandenen Stelle eines einzelnen der gesamt gegebenen Keywords absucht.
Mit -a für and - und - erhält man nur diejenigen Treffer, die alle angegebenen Keywords enthalten.
Das Programm schreibt dann die Links zu allen Feedeinträgen an, die den angegebenen Kriterien entsprechen. Wurde mit -o gesucht wird zusätzlich noch das gefundene Keyword angegeben.
Damit hoffe ich meinem Besuchern vorab helfen zu können, würde mich aber dennoch freuen, euch bald als TrayRSS User begrüßen zu können. Sobald ich die Suchfunktionimplementiert habe, versteht sich ;)
Natürlich ist auch RssSearch wieder als OpenSource Software unter der GPL 3 verfügbar, die Sourcen können auf GitHub unter https://github.com/thefake/at.nullpointer.rsssearch eingesehen werden.
Selbst bauen kann man sich das Tool mittels Maven. Für diejenigen die sich die Finger daran nicht schmutzig machen wollen hier noch ein Download Link:
Na denn, happy searching!
Und noch für die englisch sprachigen unter euch:
A few days ago, a visitor of my website contacted me, regarding his problem with searching rss feeds. He wants to find keywords or keyphrases within the source of the feed entry, not only in the entry itself.
TrayRSS couldn't fullfil this requirements at the given time. That's why i've added this feature request to the roadmap of trayrss.
http://trayrss.nullpointer.at/bug/roadmap_page.php?version_id=30
As you can see, in the complete roadmap, it will take some time till it gets implemented. There are some other major changes going on. As an example, the new notification window has to be redesigend, to fit the requirements of a feedbrowser. In my opinion, without a feedbrowser, showing the entries of the feeds in a sorted way, it isn't possible to implement any kind of search in a user friendly way.
RssSearch
I made this simple tool to test the requested search method for possible restrictions and excessive timing for a deep search withing an feed entry. It offers the user the possibility to search for one or more keywords.
Written in Java it requires the Oracle JRE installed, in version 1.6 or higher. You can get it here.
It is a command line tool, and i'd like to show you how it can be used:
java -jar RssSearch.jar -o|-a <keyword1> <keyword2> <...> -f <feed1> <feed2> <....>
The option -o stands for or and it offers those feed entrys that matches a single of the given keywords
With -a meaning and the tool will show only those feeds, that matches all of the given keywords.
As the result the link to every given feed entry matching the conditions will be displayed to the user. If searched with the -o parameter, the matching keywords will be displayed too.
Hopefully this will help my users searching within feeds. And as soon as i can offer this function in TrayRSS i'm hoping to gain you as a user of it.
RssSearch is published under the GPL 3 as Open Source. If you would like to see the sources, just visit GitHub https://github.com/thefake/at.nullpointer.rsssearch.
You can build the tool on your own with Maven out of the sources, but for faster results, just get it here:
So long, happy searching!
Ähnliche Artikel:
Maven Repository auf Sourceforge
Projektabhängigkeiten
Entwickelt man ein Software-Projekt, kommt man wie ich zu dem Punkt, an dem die eigene Software von fremden Bibliotheken abhängig ist. Im Falle von TrayRSS ist das zum Beispiel: hibernate, jdom, rom, junit, log4j. Lauter namhafte Bibliotheken, die auch in den öffentlichen Repositories von Maven verfügbar sind. TrayRSS setzt seit kurzem auf Maven um alle Abhängigkeiten zu sammeln. Doch TrayRSS setzt auch auf Bibliotheken die vielleicht weniger bekannt sind:
- jCalendar unter LGPL von Kai Toedter http://www.toedter.com/en/jcalendar/index.html zur Darstellung der Datepicker
- jNotification unter GPL 2.0 http://www.jutzig.de/java/jnotification/ als Hilfe bei der Benachrichtigung von neuen Treffern
Leider sind beide Librarys in keinem Repository vertreten, sodass diese Abhängigkeiten nicht ohne weiteres über Maven aufgelöst werden können.
Damit es nun einem dem Projekt Fremden dennoch möglich ist den Code aus dem Versionierungssystem beziehen und das Projekt zu bauen, kann man ihm natürlich die Bibliotheken oder die Links dazu zur Verfügung stellen. So ist jeder für sich in der Lage die fehlenden Sourcen nachzuziehen und manuell ins lokale Repository zu laden. Ein Aufwand, der dank den Möglichkeiten eines eigenen Webspaces, wie ihn auch Sourceforge bietet, vermieden werden kann.
Aufbau eines Maven Repository
Ein Maven Repository ist eigentlich nichts anderes als ein Haufen Ordner mit ein paar Dateien, die nach folgendem Schema aufgebaut sind:
/gruppe/artefakt/version/artefakt-version.jar
Dabei entspricht die Gruppe den Regeln, die wir schon von Java Packages kennen. Jedes Unterpaket getrennt durch einen Punkt entspricht einem eigenen Verzeichnis. Der Bezeichner Artefakt entspricht der ArtefaktID welches im POM der jeweiligen Bibliothek definiert ist. Versionsnummer und Artefakt kombiniert ergibt die Benennung des Jar Files, welches darin enthalten ist.
Für die Auflösung der Abhängigkeiten des jeweiligen Artefakts liegt neben der Jar Datei auch eine POM Datei auf, in der die entsprechenden Informationen bereitgestellt werden. Beispielhaft der Inhalt einer solchen POM Datei:
<?xml version="1.0" encoding="ISO-8859-1"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>at.nullpointer</groupId>
<artifactId>paketname</artifactId>
<version>0.0.1</version>
<packaging>jar</packaging>
<name>paketname</name>
<description>
Beschreibung des Pakets
</description>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.4.3</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
Hier lässt sich auch die Information zur Ordnerstruktur hervorragend auslesen.
Zusätzlich können noch diverse zusätzliche Datein vorhanden sein um zB die md4 Checksum zu verifizieren oder ähnliches.
Internes Repository im Projekt Web
TrayRSS ist ein Open Source Projekt und wird auf Sourceforge gehostet. Damit wir nun unsere Bibliotheken allen Usern zur Verfügung stellen können greifen wir auf die Möglichkeiten von Sourceforge zurück. Hier wird unter anderem Webspace zum Hosten der Projektseite angeboten, auf den man projektrelevante Daten ablegen kann. Also auch unser Repository.
Wie man sich über SFTP dorthin verbindet wird in folgendem Wikieintrag von Sourceforge aufgezeigt: http://sourceforge.net/apps/trac/sourceforge/wiki/Project%20web
SFTP fähige Clients unter Windows sind z.B. WinSCP und Filezilla. Wenn noch nicht installiert findet man unter Linux ein entsprechendes Commandline Tool in der Paketverwaltung der bevorzugten Distribution.
Nun wird einfach ein Verzeichnis unter htdocs angelegt z.B. mit dem Namen repository. In dieses Verzeichnis spielen wir nun wie oben dargestellt eine entsprechende Maven Verzeichnisstruktur ein.
Hier die Beispielhafte Verzeichnis- und Dateistruktur für jNotification:
repository ----de --------jutzig ------------jnotification ----------------0.3 --------------------jnotification-0.3.jar --------------------jnotification-0.3.pom
Zugang zum Repository
Dann fehlt nur noch ein Eintrag ins POM des Projektes nach folgendem Beispiel:
<repositories>
<repository>
<id>projekt-repository</id>
<name>projekt Repository</name>
<url>http://projekt.sourceforge.net/repository/</url>
</repository>
</repositories>
Nun noch die Abhängigkeiten ganz normal in Maven eingetragen und Maven kann diese nun z.B. mit mvn eclipse:eclipse aus dem Internen Repository auslesen und das Projekt erfolgreich bauen.
Ähnliche Artikel:
Webpage launched
Hi there!
I'm glad to announce you that TrayRSS now has it's own Webpage. You can find it under http://trayrss.nullpointer.at . Some content still has to be moved from the wiki to the new page, and it will grow a bit in the future (screenshots, features, ...).
If you need support or further information on the project, or simply wish to download the newest version visit the page and it will redirect you to your goal.
Kind regards
thefake
Ähnliche Artikel:
Redesign finished
Due to some developement problems, Alpha 0.3 was aborted to perform a redesign. After collecting the basic requirements and transform them into use cases and a class diagram, the project will now move on to the next sagte. A restart of the developement, so stay tuned for Alpha 0.4, which will be a GUI Prototype of TrayRSS
To take a deeper look at the design decisions check this link:
http://apps.sourceforge.net/trac/trayrss/wiki/Design
best wishes
thefake





