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:
With flying colours – TrayRSS 1.1.0 is released!

TrayRSS 1.1.0 is available now! Besides some bugfixes it contains a major redesign of the configuration window. It is now seperated into three tabs containing general parameters, the feeds the tool should monitor and the time settings, where the user can specify the timeframes when TrayRSS monitors the feeds. As a new functionallity the user can disable the timeframes with a single click now, before he had to specify a timeframe from 0000 to 2359.
Take a look at the example pictures in the screenshot section. There you can find screenshots of the old configuration window too. A great change isn't it?
Inside TrayRSS there where a lot of changes too. In the build process Apache Ant was replaced with Apache Maven and the project is now splitted to some modules like the notification, the model, the monitor, the gui and so on.
A complete List of changes can be found in the Bug Tracker of TrayRSS
Download TrayRSS 1.1.0
Future prospects in developement will be the completion of the work with the localization to every text in the application. (I'm sorry that the language change doesn't affect the config window at the moment, this will be changed in 1.2.0). And the next step of the new Look and Feel of TrayRSS will be a redesign of the notifications, to match additional requirements like mark feedentries for later read
Have Fun using TrayRSS!
PS: If you are a Mac User, i would be very glad to get some response on how the application suits to your system, because i don't have the chance to test it myself right now.
Ähnliche Artikel:
TrayRSS 1.0.1 is here!
Hi there,
i’d like to announce the new Bugfixrelease of Trayrss! Besides bugfixing, I made some pretty interesting changes
Changes in 1.0.1
* performance refactoring
* event-dispatcher threads for gui
* log4j updated
* refactored the useage of log4j
+ task 00035: implementing maven
* fix 00033: timesets starttimes where set as endtime
+ task 00035: packaging by maven
+ task 00035: buildnumber
- task 00044: SWIXML menu removed
Changes
I’ve fixed some bugs in the event-dispatcher thread of the gui, so trayrss is now more stable. Also there was an error when monitoring feeds with an invalid timeframe. TrayRSS stopped monitoring without telling the user if the format of the timeframe could not be parsed correctly.
Besides the logging feature was updated too. This and some additional changes within the source should lead to a little performance increase.
Bugtracker
TrayRSS relied on Trac for about two years. But Trac has its limitations. Now MantisBT is used to track all the tasks that are required to improve the application. The relation between a sourcecode change and a task will be noticed in the changelog in future by adding the tasknumber. Also Trac was binded to sourceforge. Now it isn’t necessary to have a sourceforge-account anymore to report an bug or request.
In MantisBT there are some additional possibilites to create reports. Also better notifications and a easier way to manage milestones are provided by the new bugtracker.
Maven
Additionally TrayRSS developement steps ahead to the next major release 1.1 Some major changes will be part of this release and the first step was also shipped with this Bugfixrelease: TrayRSS moved from ant to maven to manage the build process and to collect all the dependencies. That offers TrayRSS some important possibilities for the future such as managing multimodule projects, improves reusability, convention over configuration and so on. Some details about the migration will be described in future on nullpointer.at.
Hope you enjoy the new release
Kind regards!
Ä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.


