Giter VIP home page Giter VIP logo

news's Introduction

ownCloud News app

irc Join the chat at https://gitter.im/owncloud/news

Build Status Scrutinizer Code Quality

The News app is an RSS/Atom feed aggregator. It offers a RESTful API for app developers. The source code is available on GitHub

For further developer and user documentation please visit the wiki

Sync Clients

are listed on the ownCloud apps overview

Dependencies

  • 64bit operating system and PHP
  • PHP >= 5.6
  • ownCloud >= 9.0
  • libxml >= 2.7.8 (2.9 recommended)
  • php-curl
  • iconv
  • SimpleXML

Build Dependencies

These Dependencies are only relevant if you want to build the source code:

  • make
  • which
  • Node.js >= 6
  • npm
  • composer

Supported Browsers

  • Newest Firefox (Desktop, Android, Firefox OS)
  • Newest Chrome/Chromium (Desktop, Android)

Supported Databases

  • PostgreSQL >= 9.4 (recommended)
  • MariaDb >= 5.5
  • SQLite (discouraged)

Bugs

Please read the appropriate section in the contributing notices

Installation/Update

Before you install/update the News app

Before you install the app do the following:

Then proceed to install the app either from an archive (zip/tar.gz) or clone it from the repository using git

Installing from the app store

This is the easiest solution: Simply go the the apps page and enable the News app

Installing from archive

  • Go to the ownCloud News GitHub releases page and download the latest release/archive to your server

  • Starting with 8.0.0, there are two different releases: news.tar.gz and Source code. The first one requires no additional steps, the second one requires you to install the dependencies and compile the JavaScript. Choose the first one if you don't want to work on the code. If you want to install a version prior to 8.0.0, choose the Source code download.

  • On your server, check if there is a folder called owncloud/apps/news. If there is one, delete it.

  • Extract the downloaded archive to the owncloud/apps/ folder.

  • Remove the version from the extracted folder (e.g. rename owncloud/apps/news-4.0.3/ to owncloud/apps/news/

  • If you are a version greater than or equal to 8.0.0 and downloaded the Source code zip or tar.gz, you need to install the JavaScript and PHP dependencies and compile the JavaScript first. On your terminal, change into the owncloud/apps/news/ directory and run the following command (requires node >5.6, npm, curl, make and which):

      sudo -u www-data make  # www-data might vary depending on your distribution
    
  • Finally make sure that the owncloud/apps/news directory is owned by the web server user

      sudo chown -R www-data:www-data owncloud/apps/news  # www-data:www-data might vary depending on your distribution
    
  • Activate the News app in the apps menu

Installing from Git (development version)

  • The master branch will always be stable in conjunction with the latest master branch from ownCloud

  • JavaScript and PHP libraries are not included anymore since 8.0.0 and will require you to run make after updating/installing the app

  • In your terminal go into the owncloud/apps/ directory and then run the following command:

      git clone https://github.com/owncloud/news.git
      cd news
      make
    
  • If you are using a stable ownCloud release, stay with the latest git tag release which is running on your version. To get an overview over all existing tags run:

      git tag
    

You can switch to a release which will be supported on your installation by running:

  git checkout tags/TAG
  make  # if News version >= 8.0.0

For instance to use the 5.2.8 release, run:

  git checkout tags/5.2.8
  • Activate the News app in the apps menu

To update the News app use change into the owncloud/apps/news/ directory using your terminal and then run:

git pull --rebase origin master
make

Performance Notices

Updating Notices

To receive notifications when a new News app version was released, simply add the following Atom feed in your currently installed News app:

https://github.com/owncloud/news/releases.atom

FAQ

My browser shows a mixed content warning (Connection is Not Secure)

If you are serving your ownCloud over HTTPS your browser will very likely warn you with a yellow warnings sign about your connection not being secure.

Chrome will show no green HTTPS lock sign, Firefox will show you the following image Mixed Passive Content

Note that this warning is not red and won't block the page like the following images which signal a serious issue:

Untrusted Cert Mixed Active Content

What is the cause of the (yellow) error message

This warning is caused by mixed passive content and means that your page loads passive resources from non HTTPS resources, such as:

  • Images
  • Video/Audio

This allows a possible attacker to perform a MITM (man-in-the-middle) attack by serving you different images or audio/video.

Why doesn't the News app fix it

The News app fully prevents mixed active content by only allowing HTTPS iframes from known locations; other possible mixed active content elements such as <script> are stripped from the feed. Because images and audio/video are an integral part of a feed, we can not simply strip them.

Since an attacker can not execute code in contrast to mixed active content, but only replace images/audio/video in your feed reader, this is not considered to be a security issue. If, for whatever reason (e.g. feed which would allow fishing), this is a security problem for you, contact the specific feed provider and ask him to serve his feed content over HTTPS.

Why don't you simply use an HTTPS image/audio/video proxy

For the same reason that we can't fix non HTTPS websites: It does not fix the underlying issue but only silences it. If you are using an image HTTPS proxy, an attacker can simply attack your image proxy since the proxy fetches insecure content. Even worse: if your image proxy serves these images from the same domain as your ownCloud installation you are vulnerable to XSS via SVG images. In addition people feel save when essentially they are not.

Since most people don't understand mixed content and don't have two domains and a standalone server for the image proxy, it is very likely they will choose to host it under the same domain.

Because we care about our users' security and don't want to hide security warnings, we won't fix (aka silence) this issue.

The only fix for this issue is that feed providers serve their content over HTTPS.

I am getting: Doctrine DBAL Exception InvalidFieldNameException: Column not found: 1054 Unknown column some_column Or BadFunctionCallException: someColumn is not a valid attribute

The exception name itself will give you a hint about what is wrong:

  • BadFunctionCallException: Is usually thrown when there are more columns in the database than in the code, e.g.:

    BadFunctionCallException, Message: basicAuthUser is not a valid attribute
    

    means that the attribute basicAuthUser was retrieved from the database but could not be found on the corresponding data object (item.php/feed.php/folder.php) in the db/ folder

  • InvalidFieldNameException: Is usually thrown when there are more columns in the code than the database

One reason for this error could be old files which were not overwritten properly when the app was upgraded. Make sure that all files match the files in the release archive! Most of the time however this is caused by users trying to downgrade (not supported!!!) or by failed/timed out database migrations. To prevent future timeouts use

php -f owncloud/occ upgrade

instead of clicking the upgrade button on the web interface.

If you have made sure that old files are not the cause of this issue, the solution is to either automatically or manually remove or add columns to your database. The automatic way to do this is to trigger a database migration. The manual way is to manually check which database columns have to be removed from or added to the News database tables.

Triggering a database migration

Databases are migrated when a newer version is found in appinfo/info.xml than in the database. To trigger a migration you can therefore simply increase that version number and refresh the web interface to run an update:

First, get the current version by executing the following Sql query:

SELECT configvalue FROM oc_appconfig WHERE appid = 'news' and configkey = 'installed_version';

This will output something like this:

7.1.1

Then edit the appinfo/info.xml and increase the number on the farthest right in the version field by 1, e.g.:

<?xml version="1.0"?>
<info>
    <!-- etc -->
    <version>7.1.2</version>
    <!-- etc -->
</info>

Now run the update in the web interface by reloading the page.

Finally set back the old version number in the database, so the next News app update will be handled propery, e.g.:

UPDATE oc_appconfig SET configvalue = '7.1.1' WHERE appid = 'news' and configkey = 'installed_version';

Manually adding/removing the field

Instead of triggering an automatic migration, you can of course also add or remove the offending columns manually.

To find out what you need to add or remove, check the current appinfo/database.xml and compare it to your tables in the database and add/remove the appropriate fields.

Some hints:

  • type text is usually an Sql VARCHAR
  • type clob is usually an Sql TEXT
  • length for integer fields means bytes, so an integer with length 8 means its 64bit

I am getting: Exception: Some\Class does not exist erros in my owncloud.log

This is very often caused by missing or old files, e.g. by failing to upload all of the News app' files or errors during installation. Before you report a bug, please recheck if all files from the archive are in place and accessible.

How do I reset the News app

Delete the folder owncloud/apps/news/ and owncloud/data/news/, then connect to your database and run the following commands where oc_ is your table prefix (defaults to oc_)

DELETE FROM oc_appconfig WHERE appid = 'news';
DROP TABLE oc_news_items;
DROP TABLE oc_news_feeds;
DROP TABLE oc_news_folders;

App is stuck in maintenance mode after failed update

Check the owncloud/data/owncloud.log for hints why it failed. After the issues are fixed, turn off the maintenance mode by editing your owncloud/config/config.php by setting the maintenance key to false:

"maintenance" => false,

Feeds are not updated

Feeds can be updated using ownCloud's system cron or any program that implements the News app's updater API, most notably ownCloud News Updater. The feed update is not run in Webcron and AJAX cron mode!

System Cron:

  • Check if the config.ini in owncloud/data/news/config/config.ini contains useCronUpdates = true
  • Check if you are using the system cron (Cron) setting on the admin page. AJAX and Web cron will not update feeds
  • Check if the cronjob exists with crontab -u www-data -e (replace www-data with your httpd user)
  • Check the file permissions of the cron.php file and if www-data (or whatever your httpd user is called like) can read and execute that script
  • Check if you can execute the cron with sudo -u www-data php -f owncloud/cron.php (replace www-data with your httpd user)
  • Check your data/owncloud.log for errors
  • Check if the cronjob is ever executed by placing an error_log('updating'); in the background job file. If the cronjob runs, there should be an updating log statement in your httpd log.
  • If there is no updating statement in your logs check if your cronjob is executed by executing a different script
  • If your cron works fine but owncloud's cronjobs are never executed, file a bug in core

ownCloud News Updater:

  • Check if the config.ini in owncloud/data/news/config/config.ini contains useCronUpdates = false

  • Start the updater in loglevel info mode and check if the feed update urls are polled, e.g.:

    owncloud_news_updater --loglevel info -c /path/to/config.ini

  • Check your data/owncloud.log for errors

Adding feeds that use self-signed certificates

If you want to add a feed that uses a self-signed certificate that is not signed by a trusted CA the request will fail with "SSL certficate is invalid". A common solution is to turn off the certificate verification which is wrong and makes your installation vulnerable to MITM attacks. Therefore turning off certificate verification is not supported.

If you have control over the feed in question, consider signing your certificate for free on one of the following providers:

If you do not have control over the chosen feed, you should download the certificate from the feed's website and add it to your server's trusted certificates. The exact procedure however may vary depending on your distribution.

Configuration

All configuration values are set inside owncloud/data/news/config/config.ini and can be edited in the admin panel.

The configuration is in INI format and looks like this:

autoPurgeMinimumInterval = 60
autoPurgeCount = 200
maxRedirects = 10
maxSize = 104857600
feedFetcherTimeout = 60
useCronUpdates = true
exploreUrl =
  • autoPurgeMinimumInterval: Minimum amount of seconds after deleted feeds and folders are removed from the database. Values below 60 seconds are ignored
  • autoPurgeCount: Defines the maximum amount of articles that can be read per feed which won't be deleted by the cleanup job; if old articles reappear after being read, increase this value; negative values such as -1 will turn this feature off completely
  • maxRedirects: How many redirects the updater should follow
  • maxSize: Maximum feed size in bytes. If the RSS/Atom page is bigger than this value, the update will be aborted
  • feedFetcherTimeout: Maximum number of seconds to wait for an RSS or Atom feed to load. If a feed takes longer than that number of seconds to update, the update will be aborted
  • useCronUpdates: To use a custom update/cron script you need to disable the cronjob which is run by ownCloud by default by setting this to false
  • exploreUrl: If given that url will be contacted for fetching content for the explore feed

news's People

Contributors

bartv2 avatar bastei avatar bbbowser avatar benedikt-s avatar bluehaze avatar brummbq avatar chaotix- avatar cosenal avatar david-development avatar davidak avatar deepdiver1975 avatar emerzh avatar houqp avatar ibboard avatar icewind1991 avatar izzy avatar jakobsack avatar jancborchardt avatar jerrykan avatar keinkurt avatar kgraefe avatar loki3000 avatar lukasreschke avatar morrisjobke avatar phedlund avatar rakshazi avatar sub avatar tanghus avatar vgezer avatar xefir 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  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

news's Issues

Postgresql : update feed with cron failed

I've got Owncloud 5.0 with postGreSQL 9.1 on Debian Squeeze. Appframework and news app are pulled from the latest github master branch.

Adding feed is fine, as well as folders, but cron.php says:

PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[23502]: Not null violation: 7 ERROR:  null value in column "feed_id" violates not-null constraint' in /var/www/owncloud/lib/db.php:963
Stack trace:
#0 /var/www/owncloud/lib/db.php(963): PDOStatement->execute(Array)
#1 /var/www/owncloud/apps/appframework/db/mapper.php(191): PDOStatementWrapper->execute(Array)
#2 /var/www/owncloud/apps/appframework/db/mapper.php(102): OCA\AppFramework\Db\Mapper->execute('INSERT INTO `*P...', Array)
#3 /var/www/owncloud/apps/news/bl/feedbl.php(122): OCA\AppFramework\Db\Mapper->insert(Object(OCA\News\Db\Item))
#4 /var/www/owncloud/apps/news/bl/feedbl.php(99): OCA\News\Bl\FeedBl->update(1, 'luc')
#5 /var/www/owncloud/apps/news/backgroundjob/task.php(37): OCA\News\Bl\FeedBl->updateAll()
#6 [internal function]: OCA\News\Backgroundjob\Task::run()
#7 /var/www/owncloud/lib/backgroundjob/worker.php(47): call_user_func(Array)
#8 /var/www/owncloud/cron.php(97): OC_BackgroundJob_Worker::doAllSteps()
#9 {main}
  thrown in /var/www/owncloud/lib/db.php on line 963
Unexpected error!

And postGres says :

2013-03-27 21:55:18 CET ERROR:  null value in column "feed_id" violates not-null constraint
2013-03-27 21:55:18 CET STATEMENT:  INSERT INTO "oc_news_items"("status","url","title","guid","guid_hash","body","pub_date","last_modified","author","feed_id") VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9,$10)

:(

Coffeescript?

Does the news apps really need node.js!? Is that clever in a PHP-project?

news does not start since 13/03/19

Looking through the apache's err log i've found the next issue:

PHP Fatal error: Class 'OCA\AppFramework\Db\Mapper' not found in /var/www/owncloudcur/apps/news/db/newsmapper.php on line 3

Database: Postgresql 9.2.3
http server: apache 2.4.3
php: 5.4.12
OS: Fedora 18 x86_64

Thank you in advance!

local caching

It would be great for better responsiveness if the feeds and entries would be cached locally in the browser, say using localStorage or IndexedDB. That means after a page reload the entries would be there in a snap (also offline) and new entries would be fetched from the server in the background. Of course with the appropriate feedback spinner that something is fetched.

This is similar to the planned client-side cache in Mail, maybe there can be a general solution because making ownCloud more offline-capable is really important: https://github.com/owncloud/mail/issues/4

General error: 1 unrecognized token

I updated news from git and now I get this error when switching to News application:

{"app":"PHP","message":"SQLSTATE[HY000]: General error: 1 unrecognized token: \"\"id = ? \" at \/var\/www\/oc\/lib\/db.php#386","level":4,"time":1364993624}

folder deletion

Currently you can click the x on a folder and just delete all of it, with all the feeds.

This can lead to data loss and frustration. Deleting a folder should only be possible once it’s empty, meaning that the x for folders should only be shown for empty folders.

(As discussed with @Raydiation and @zimba12)

Prefetch attachements

An option to prefetch attachements on the feed (mp3, mpeg, jpeg) and serve the files from owncloud instead from the source.

Reason: It sucks if an item goes down (slashdotted) and you can't see the images anymore.
You can listen to a podcast instantly (no need to download the file first)

suggested sites

To help people get started, we could show some feed packs/folders on the blank slate page to readily subscribe to. They could also show if everything is read.

Design

Programming
*

ownCloud

  • owncloud.com blog
  • owncloud.org planet
  • Alessandro’s blog
  • Frank’s blog
  • Klaas's Blog
  • Danimo's Blog
  • MTGap’s blog

I think just hardcoding them in the News app is easiest and will do no harm. We’ll update regularly anyway, and having a central server to pull these packs from would be super big brothery.

Add a tool to get a full feed

Many feeds are offered by sites in summary, forcing users to access the site, it will be convenient to have a tool to make it as complete ulltextrssfeed.com

PostgreSQL: Adding news failed

I´ve fetched the latest version from git master branch today (both news and appframework) to give it a try and get this error when trying to add a news feed.

owncloud.log

{"app":"PHP","message":"SQLSTATE[22007]: Invalid datetime format: 7 ERROR: invalid input syntax for type timestamp: \"1364370721\" at \/var\/www\/owncloud\/lib\/db.php#963","level":4,"time":1364371145}

postgresql.log

2013-03-27 08:59:05 CET ERROR: invalid input syntax for type timestamp: "1364370721"
2013-03-27 08:59:05 CET STATEMENT: INSERT INTO "oc_news_items"("status","url","title","guid","guid_hash","body","pub_date","last_modified","feed_id") VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9)

Implement mark as read algorithm

Currently the algorithm assumes that everything above the viewport is read. This is wrong since new feeds loaded up top are not read.

The algorithm should be improved so that only feed items which have been in the viewport (simple comparison between viewport y value and title y value) for, say, 500ms.

Updating throws PDOException

Trying to add planet.gnome.org/ux I get an error in the interface and also in the Apache log:

Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 19 oc_news_items.feed_id may not be NULL' in /home/user/owncloud/lib/db.php:965\nStack trace:\n#0 /home/user/owncloud/lib/db.php(965): PDOStatement->execute(Array)\n#1 /home/user/owncloud/apps/appframework/db/mapper.php(191): PDOStatementWrapper->execute(Array)\n#2 /home/user/owncloud/apps/appframework/db/mapper.php(102): OCA\\AppFramework\\Db\\Mapper->execute('INSERT INTO `*P...', Array)\n#3 /home/user/owncloud/apps/news/bl/feedbl.php(122): OCA\\AppFramework\\Db\\Mapper->insert(Object(OCA\\News\\Db\\Item))\n#4 /home/user/owncloud/apps/news/bl/feedbl.php(99): OCA\\News\\Bl\\FeedBl->update(1, 'jan')\n#5 /home/user/owncloud/apps/news/backgroundjob/task.php(37): OCA\\News\\Bl\\FeedBl->updateAll()\n#6 [internal function]: OCA\\News\\Backgroundjob\\Task::run()\n#7 /home/user/owncloud/lib/backgroundjob/worker.php(88): call_user_func(Array)\n#8 /home/user/owncloud/cron.php(109): OC_BackgroundJob_Worker::doNextStep()\n#9 {main}\n  thrown in /home/user/owncloud/lib/db.php on line 965, referer: http://localhost/owncloud/index.php/apps/news/

cc @Raydiation

news + bookmarks + read-it-later

Instead of just blindly following what other projects do (»a news reader«, »a bookmarks app«), let’s think about how we can innovate. Keep in mind it’s just a braindump at this point and probably takes a bunch of work to implement, but I’m thinking if it makes sense to combine the News and Bookmarks app (because they are so similar), and some more:

With saving stories for later + #1 local caching, we kind of have a »read it later« mechanism, similar to Pocket. We would also need an extra bookmarklet so you can star any article online so it will be added to your News app. cc @radiation @zimba12

With graceful handling of feed parsing errors (#9), essentially any site can be added to News, even when it doesn’t have a feed. It will be like Bookmarks, and some will be »Live Bookmarks«. cc @eMerzh

What do you think? Also cc @raghunayyar @gpaumier

import and new feed integration doesn't work

I get following errors when import or add a new feed

Warning PHP include(): Failed opening 'news/settings/admin.php' for inclusion (include_path='/var/www/owncloud/lib:/var/www/owncloud/config:/var/www/owncloud/3rdparty:/var/www/owncloud/apps:/var/www/owncloud/lib:.:/usr/share/php:/usr/share/pear:/var/www/owncloud:/var/www/owncloud/apps/search_lucene/3rdparty') at /var/www/owncloud/lib/app.php#616 05.04.2013 11:54:11

Warning PHP include(news/settings/admin.php): failed to open stream: No such file or directory at /var/www/owncloud/lib/app.php#616

gracefully handle feed parsing errors

Be it for adding a site or importing your feeds, people should never be greeted with »can’t add feed«, for whatever reason.

The fallback for not being able to add a feed should be to add the site in the list, and somehow communicate it can’t be read – give the row a yellowish background for example. It should be retried every time the app is opened, but at the least work as a bookmark to that site.

When the entry is clicked, the main view could say »Sorry, we couldn’t find the feed. This might be because it doesn’t exist anymore or because it’s broken. In any case, here’s the direct link to the website: [LINK] Cheers!«

(This kind of moves over owncloud-archive/apps#67, but feed parsing should still be improved of course.)

problems with updating feeds

following stack trace was loged in error log after accessing owncloud

use mysql and final appframework and news from master branch.

PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'feed_id' cannot be null' in /var/www/owncloud-5.0.0/lib/db.php:963\nStack trace:\n
#0 /var/www/owncloud-5.0.0/lib/db.php(963): PDOStatement->execute(Array)\n
#1 /var/www/owncloud-5.0.0-apps/appframework/db/mapper.php(191): PDOStatementWrapper->execute(Array)\n
#2 /var/www/owncloud-5.0.0-apps/appframework/db/mapper.php(102): OCA\AppFramework\Db\Mapper->execute('INSERT INTO `*P...', Array)\n
#3 /var/www/owncloud-5.0.0-apps/news/bl/feedbl.php(121): OCA\AppFramework\Db\Mapper->insert(Object(OCA\News\Db\Item))\n
#4 /var/www/owncloud-5.0.0-apps/news/bl/feedbl.php(98): OCA\News\Bl\FeedBl->update(2, 'chrissto')\n
#5 /var/www/owncloud-5.0.0-apps/news/backgroundjob/task.php(36): OCA\News\Bl\FeedBl->updateAll()\n
#6 [internal function]: OCA\News\Backgroundjob\Task::run()\n
#7 /var/www/owncloud-5.0.0/lib/backgroundjob/worker.php(88): call_user_func(Array)\n
#8 /var/www/owncloud-5.0.0/cron.php(107): OC_BackgroundJob_Worker::doNextSt in /var/www/owncloud-5.0.0/lib/db.php on line 963, referer: /index.php/apps/news/

Database Update fails on Update to ownCloud 5.0.3

After Updating ownCloud to 5.0.3 from 5.0.0 I get this error:

Failed to update database structure (MDB2 Error: unknown error, _doQuery: [Error message: Could not execute statement] [Last executed query: ALTER TABLE oc_news_folders CHANGE id id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, CHANGE parent_id parent_id INT DEFAULT 0, CHANGE opened opened TINYINT(1) DEFAULT 1 NOT NULL] [Native code: 1068] [Native message: Multiple primary key defined] )

Only way to get ownCloud working is to disable the news app through MySQL

Background job does not work since v5.0.0

Expected behaviour

The background job should download all feeds (cliStep()) or one feed at a time (webStep()).

Actual behaviour

The feeds are not updated.

Steps to reproduce

Try to update feed with cronjob

Reason

OCA\News\Backgroundjob::cliStep() and OCA\News\Backgroundjob::webStep() expects

  new FeedMapper();

to return a FeedMapper object for all users. With the current implementation it returns an FeedMapper object for the user with id=null.

Possible fix

Create a list with all feeds by creating a FeedMapper object for each user. Suggested untested code:

    $feeds = array();
    foreach( \OCP\User::getUsers() as $user ){
        $feedmapper = new FeedMapper( $user );
        $feeds = array_merge( $feeds, $feedmapper->findAll());
    }

Improve feed show algorithm

Currently it updates the feed and folder show conditions everytime something changes in the left area. This should be reduced to updating of unreadCount, changing of folders and toggling the showall button.

unread count jumping

Currently in the feed list, every site has an unread count to the right. When you hover it or when you open the feed, this unread count will jump a bit to the left to put the delete button on the far right.

This is a tough one. Delete functions are usually on the right (Files, Users, etc) and it makes sense there. But when there’s just the unread count in the entry (not hovering / not open), it also looks best floating to the right.

Another issue here is that you might want to hover the entry (the unread count specifically) to mark everything as read. Then the number switches to a delete button and you might accidentally delete the feed.

Of course there should be an undo function for deletions, but we should solve this layout problem. I don’t have an idea how to now, but some options I don’t really like:

  • put the delete x left of the unread count when hovering (so it will be kind of in the middle of the site entry)
  • put the delete x instead of the favicon when hovering or having the feed open (crap, because the favicon is important)
  • by default move the unread count a bit to the left so there’s no jumping when you hover
  • put the delete function somewhere in the right content (makes 0 sense)

Other ideas? @Raydiation @zimba12

titles for feed actions

The feed actions »Rename«, »Mark as read« and »Delete« should get tipsy titles to make more obvious what they do.

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.