Giter Club home page Giter Club logo

reader's Introduction

Sismics Reader Build Status

Demo application: https://reader-demo.sismics.com (Username: demo / password: demo)

More screenshots

What is Reader?

Reader is an open source, Web-based aggregator of content served by Web Feeds (RSS, Atom).

Reader is written in Java, and may be run on any operating system with Java support.

Features

  • Supports RSS and Atom standards
  • Organize your feeds into categories and keep track of your favorite articles
  • Supports Web based and mobile user interfaces
  • Keyboard shortcuts
  • RESTful Web API
  • Full text search
  • OPML import / export
  • Skinnable
  • Android application

See http://www.sismics.com/reader/ for a list of features and benefits.

Downloads

Compiled installers are available here for each new versions: https://github.com/sismics/reader/releases

License

Reader is released under the terms of the GPL license. See COPYING for more information or see http://opensource.org/licenses/GPL-2.0.

Translations

  • English
  • French
  • Chinese by Ryan H. Wang
  • Danish by exaviore
  • Italian by Marco Narco
  • Japanese
  • Korean
  • German

How to run

Reader is packaged in several convenient formats. You can download an installer for your system on the Download Page.

If you use Docker, you can try Reader easily with the following command :

docker-compose -p reader -f reader-distribution-docker/docker-compose.yml up

How to build Reader from the sources

Prerequisites: JDK 8, Maven 3

Reader is organized in several Maven modules:

  • reader-core
  • reader-web
  • reader-web-common
  • reader-android

First off, clone the repository: git clone git://github.com/sismics/reader.git or download the sources from GitHub.

Launch the build

From the root directory:

mvn clean -DskipTests install

Run a stand-alone version

From the reader-web directory:

mvn jetty:run

Build a .war to deploy to your servlet container

From the reader-web directory:

mvn -Pprod -DskipTests clean install

You will get your deployable WAR in the target directory.

Build the Android app

Prerequisites :

  • Gradle
  • Android SDK
  • Environment variables pointing to the keystore (see build.gradle)

Then, from the reader-android directory:

gradlew build

The generated APK will be in app/build/apk/app-release.apk

reader's People

Contributors

camillebernier avatar dehenne avatar derekschrock avatar jendib avatar jlleitschuh avatar marcnause avatar naku avatar pacien avatar yangwenmai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

reader's Issues

Feed informations

  • Display an icon showing status of the synchronization, like Jenkins (Number of fail attempts on the last 10 synchronizations)
  • Latest sync with error message if any
  • Keep only last 100 sync

Like this:
image

Feed details : URL please

I'd like to have more details when I click on the "edit" button of a feed.
For instance, there are two feeds for XKCD (Atom and RSS) and I have no idea which one I subscribed to (see Issue #31).
What if the URL of a feed suddenly changes ? I'd lose all "history" if I had to subscribe to the new one and delete the old one.

Focus lost after scrolling items

Environment : Chrome on Window 7.
After scrolling a few pages using pagedown and stopping for a second, pagedown doesn't respond anymore.

How to reproduce:

  1. add http://linuxfr.org/journaux.atom
  2. show all articles
  3. click on the articles pane to focus
  4. press pagedown 8 times quickly
  5. wait 1 sec
  6. press pagedown again -> no effect

.deb package not working

When trying to install from the .deb dpkg fails with this error

root@ip-10-212-109-128:/home/ubuntu# dpkg -i reader-1.1.1.deb 
dpkg: error processing reader-1.1.1.deb (--install):
  parsing file '/var/lib/dpkg/tmp.ci/control' near line 2 package 'reader':
  error in Version string '${reader.version}': version number does not start with digit
Errors were encountered while processing:
  reader-1.1.1.deb

Android app - crash after setup

Steps To Reproduce:

  1. Download app
  2. Enter Server URL (e.g reader.mydomain.com)
  3. Enter correct username and password
  4. login

Expected Result:
The app shows me a list of my feeds

Actual Result:
The app crashes immediately. Only the menubar is shown for a couple of seconds (before the app force closes).

Notes:
I tried different URLs (with/without http, with path to unread feeds etc) but nothing helped. No matter how I try to access the server, the app crashes.

Infos:
Server: 1.1.1 on debian
App Version: 1.0.0
Device: Asus Padfone 2
Android Version: 4.1.1

Few pom.xml still refer to 1.0-SNAPSHOT in version tag

I ran into this issue trying to build the debian package using mvn. It seems the steps to build the package is (1) build reader-web (2) build reader-distribution-standalone (3) build reader-distribution-debian.

  1. First I build reader-web, which produces reader-web version 1.2-SNAPSHOT:
    cd reader-web
    mvn -DskipTests clean install
  2. Then I build reader-distribution-standalone
    cd reader-distribution-standalone
    mvn -DskipTests clean install

Step 2 results in an error trying to find reader-web version 1.0-SNAPSHOT. I took a peak in the pom.xml file in reader-distribution-standalone which happens to refer to 1.0-SNAPSHOT instead of 1.2-SNAPSHOT. Changing the version information let me continue to build.

In the root project directory, grep -R '1.0-SNAPSHOT' * shows that reader-distribution-standalone/pom.xml and reader-parent/pom.xml both still refer to 1.0-SNAPSHOT. Not sure if this is intended...but seems like a mistake to me.

Android app : server over https, nothing happens

Hello

I've set up my personal reader in an https (notwithstanding a self-signed certificate) container (Tomcat), installed the Android app, set it up (URL, user, password) and... nothing ! It shows an infinite "loading" animation.
The reader works just fine when accessed through a web browser.
I've tried "adb logcat" but the app doesn't seem to log anything.

What is supposed to be entered in the "server" box ? An URL ? A "servername:port" string ?
Does the app support HTTPS ?

Database locked when restarting Tomcat

I use Tomcat as a container for the reader, and when I shut it down it seems that the lock on the database is not removed.
This is what I get when I try to restart Tomcat :

05 Jul 2013 15:43:04,110 ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper.logExceptions(SqlExceptionHelper.java:144) The database is already in use by another process: org.hsqldb.persist.NIOLockFile@c3bae008[file =/usr/share/tomcat/webapps/reader/sismicsreader/db/reader.lck, exists=true, locked=false, valid=false, fl =null]: java.lang.Exception: checkHeartbeat(): lock file [/usr/share/tomcat/webapps/reader/sismicsreader/db/reader.lck] is presumably locked by another process.
Jul 05, 2013 3:43:04 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error filterStart
Jul 05, 2013 3:43:04 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/reader] startup failed due to previous errors
Jul 05, 2013 3:43:04 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
SEVERE: The web application [/reader] registered the JDBC driver [org.hsqldb.jdbcDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

rm /usr/share/tomcat/webapps/reader/sismicsreader/db/reader.lck
I restart Tomcat and it works.

Danish translation.

Hi there,
I made a danish translation of the messages.js file. How do I send it to you?

Mark as read on the mobile webapp

On the mobile webapp when scrolling down in collapsed mode, the user should be able to mark a "batch" of articles as read. This is usefull when having 100s of articles to catch up with and skimming over the titles.

Add a "Mark previous items as read" every 20 items.

Also: Add a "Mark all as read" action at the very bottom of the list, near the "No more unread article" label.

Deb package fails to install on Ubuntu 12.04.2

root@oban:~# wget "http://downloads.sourceforge.net/project/sismicsreader/release/1.1.1/reader-1.1.1.deb?r=http%3A%2F%2Fwww.sismics.com%2Freader%2F&ts=1372273323&use_mirror=iweb" -O reader.deb
--2013-06-26 19:02:23--  http://downloads.sourceforge.net/project/sismicsreader/release/1.1.1/reader-1.1.1.deb?r=http%3A%2F%2Fwww.sismics.com%2Freader%2F&ts=1372273323&use_mirror=iweb
Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.34.181.59
Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://iweb.dl.sourceforge.net/project/sismicsreader/release/1.1.1/reader-1.1.1.deb [following]
--2013-06-26 19:02:23--  http://iweb.dl.sourceforge.net/project/sismicsreader/release/1.1.1/reader-1.1.1.deb
Resolving iweb.dl.sourceforge.net (iweb.dl.sourceforge.net)... 70.38.0.134, 2607:f748:10:12::5f:2
Connecting to iweb.dl.sourceforge.net (iweb.dl.sourceforge.net)|70.38.0.134|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 21453268 (20M) [application/x-debian-package]
Saving to: `reader.deb'

100%[======================================>] 21,453,268  3.87M/s   in 5.7s

2013-06-26 19:02:29 (3.59 MB/s) - `reader.deb' saved [21453268/21453268]

root@oban:~# dpkg -i reader.deb
dpkg: error processing reader.deb (--install):
 parsing file '/var/lib/dpkg/tmp.ci/control' near line 2 package 'reader':
 error in Version string '${reader.version}': version number does not start with digit
Errors were encountered while processing:
 reader.deb

"title" attribute gets eaten

I subscribed to an XKCD feed ( https://xkcd.com/atom.xml ) which contains IMG elements. Those elements, in the feed, have a "title" attribute which is not present when visualizing the articles.
The "alt" attribute, on the other hand, is still there.
Do you have any idea why the "title" attribute disappears ?

Great work and help

This is a great reader, I do mean it, thank you guys
Can you show how to deploy it on one's own web hosting, is there a doc or some guide, thx~

Error

Linux Mint 15 Xfce

crismlinux@linuxmint~/Descărcări $ sudo dpkg -i reader-1.1.1.deb
[sudo] password for crismlinux:
dpkg: error processing reader-1.1.1.deb (--install):
parsing file '/var/lib/dpkg/tmp.ci/control' near line 2 package 'reader':
eroare în șirul Version „${reader.version}”: version number does not start with digit
Erori întâlnite în timpul prelucrării:
reader-1.1.1.deb

Mozilla typeaheadfind and keyboard shortcuts.

When you have typeaheadfind in Firefox keyboard shortcuts do not work. (Google Reader by some means is able to not kick off typeaheadfind).

You can turn on typeaheadfind by typing "about:config" in the URL bar then search for "typeaheadfind". Make sure accessibility.typeaheadfind is set to "true". A double click will toggle the value.

I can use the following testcase to test typeaheadfind testing if the user hit the 't' key:
https://gist.github.com/derekschrock/eac0c7e2a9f94b06520b

I don't know how much this differs from what I think is the code that sets the event in reader:
....
$(document).on('keydown', function(e) {....

PS: I'm using the demo site to test this. Should that matter?

Keyboard shortcuts

One feature I'm missing from Google Reader arethe 'n' and 'p' keys to get to the next/previous article.
I'm trying to read your JavaScript to see if I can use your "delegates" to bind keypresses to actions, but everything is inlined (closures FTW !) so it's going to be a little bit complicated.
Do you have time to get your inline functions out of the init() functions ?
I can copy/paste them but it's not going to be pretty :-p

Focus on the feed panel after an action

After doing an action such as executing a search, clicking on "all" or "unread" buttons, it's impossible to use the arrow keys or pageup/down to scroll (I have to click on the feed panel first).

The keyboard focus should be set immediately on the feed panel after such an action to facilitate the navigation.

Deployment of ROOT.war to OpenShift JBossAs 7 fails

Part of the server log is below, I can post the entire log if required. I'm not sure if this is what is causing my problem, but basically after putting ROOT.war in the deployments folder and starting jboss, visting the application page just displays a blank page.

2013/07/03 05:31:32,537 ERROR [org.jboss.msc.service.fail](MSC service thread 1-4) MSC00001: Failed to start service jboss.deployment.unit."ROOT.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."ROOT.war".POST_MODULE: Failed to process phase POST_MODULE of deployment "ROOT.war"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25]
at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011232: Only one JAX-RS Application Class allowed. com.sun.jersey.api.core.ClasspathResourceConfig com.sun.jersey.api.core.ClassNamesResourceConfig com.sun.jersey.api.core.ClasspathResourceConfig com.sun.jersey.api.core.ScanningResourceConfig com.sun.jersey.api.core.ResourceConfig com.sun.jersey.api.core.PackagesResourceConfig com.sun.jersey.api.core.PackagesResourceConfig com.sun.jersey.api.core.ScanningResourceConfig com.sun.jersey.api.core.ResourceConfig com.sun.jersey.api.core.ApplicationAdapter com.sun.jersey.api.core.servlet.WebAppResourceConfig com.sun.jersey.api.core.ApplicationAdapter com.sun.jersey.api.core.DefaultResourceConfig com.sun.jersey.server.impl.application.DeferredResourceConfig com.sun.jersey.api.core.ClassNamesResourceConfig com.sun.jersey.server.impl.application.DeferredResourceConfig com.sun.jersey.api.core.DefaultResourceConfig
at org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.scan(JaxrsScanningProcessor.java:209)
at org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.deploy(JaxrsScanningProcessor.java:105)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
... 5 more

Report bug button

Add a button which redirect to GitHub issues page to easily submit a new bug

Slashdot feed has no comments

Do you filter IFRAME elements ? If so, is it possible to allow them for Slashdot's feed ?
The comments are sometimes much more interesting than the article / summary...

Google Takeout starred articles import

  • Check memory usage with a large JSON file
  • Check if the user is subscribed to a starred article feed before synchronizing
  • JSON article/origin/title can be empty

HTTPS support for standalone version

It would be great to have https support for the web service. Cert and keys can be generated for installing purposes, then the user can setup their own.

Data lost when upgrading

Please do not store the data inside the webapp directory, or store it there by default but leave an option to configure where it can be stored.
I've just built a "snapshot" version, built the WAR, replaced the old (1.1.1) WAR and ... everything was lost.

Was there something to do in order to keep my data when upgrading ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.