summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2016-07-23 22:02:21 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2016-07-23 22:02:21 +0200
commit38e657a5d5791919937ca8e0deb2460aaa103883 (patch)
tree9ed2ac42065fe483606d3236cf0c4ad1c1077935
parentcb8f28b4d0b005d3e915b6d027683084739df3bb (diff)
removing owncloud references and updating links
-rw-r--r--.gitignore1
-rw-r--r--CONTRIBUTING.md83
-rw-r--r--Makefile12
-rw-r--r--README.md38
-rw-r--r--appinfo/info.xml11
-rw-r--r--composer.json11
-rw-r--r--css/app.css2
-rw-r--r--css/content.css2
-rw-r--r--css/explore.css2
-rw-r--r--css/navigation.css2
-rw-r--r--css/settings.css4
-rw-r--r--docs/explore/README.md20
-rw-r--r--docs/externalapi/Legacy.md8
-rw-r--r--docs/plugins/README.md2
-rw-r--r--issue_template.md6
-rw-r--r--js/bower.json6
-rw-r--r--js/package.json10
-rw-r--r--lib/Config/Config.php2
-rw-r--r--lib/Service/FeedService.php2
-rw-r--r--templates/admin.php4
-rw-r--r--templates/part.content.cronwarning.php4
-rw-r--r--templates/part.content.explore.php2
-rw-r--r--templates/part.settings.php4
-rw-r--r--tests/Unit/Service/FeedServiceTest.php8
24 files changed, 91 insertions, 155 deletions
diff --git a/.gitignore b/.gitignore
index 1adeb65fe..c574792b9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,7 +17,6 @@ PKG-INFO
*~
__pycache__
bin/updater/dist/
-owncloud_news_updater.egg-info
bin/updater/build
# just sane ignores
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 8140046e5..f0cd60db9 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -20,10 +20,10 @@ This section is split into two section:
* Get the latest version of the News app
* Disable all browser add-ons to make sure that it's not a plugin's fault (adblockers!)
* Clear your PHP opcode cache if you use any by restarting your webserver. This affects any version of PHP >=5.5
-* [Check if they have already been reported](https://github.com/owncloud/news/issues?state=open)
-* [Check if your problem is covered in the FAQ section](https://github.com/owncloud/news#faq)
+* [Check if they have already been reported](https://github.com/nextcloud/news/issues?state=open)
+* [Check if your problem is covered in the FAQ section](https://github.com/nextcloud/news#faq)
-If you are not able to add a feed because its XML *does not validate* (see [this issue](https://github.com/owncloud/news/issues/133) for an example),
+If you are not able to add a feed because its XML *does not validate* (see [this issue](https://github.com/nextcloud/news/issues/133) for an example),
check if:
* It is a valid RSS by running it through the [W3C validator](http://validator.w3.org/feed/)
@@ -33,7 +33,7 @@ check if:
### When reporting bugs
* Enable debug mode in your **config/config.php**:
- * ownCloud >=8.2: Add the **debug** attribute to config array (if not already present) and set it to **true**:
+ * Add the **debug** attribute to config array (if not already present) and set it to **true**:
```php
<?php
$CONFIG = array(
@@ -42,14 +42,6 @@ check if:
'debug' => true,
);
```
- * ownCloud < 8.2: Add **DEFINE('DEBUG', true);** at the end of the file
- ```php
- <?php
- $CONFIG = array(
- // options
- );
- DEFINE('DEBUG', true);
- ```
* Reproduce the Problem
* Check **data/owncloud.log**
@@ -58,7 +50,7 @@ check if:
Please provide the following details so that your problem can be fixed:
* **data/owncloud.log** (important!)
-* ownCloud version
+* Nextcloud version
* News version
* Browser and version
* PHP version
@@ -79,17 +71,17 @@ is much more helpful than just writing:
For translations in other languages than English, we rely on the [Transifex](https://www.transifex.com/) platform.
-If you want to help with translating the app, please do not create a pull request. Instead, head over to https://www.transifex.com/projects/p/owncloud/resource/news/ and join the team of your native language.
+If you want to help with translating the app, please do not create a pull request. Instead, head over to https://www.transifex.com/projects/p/nextcloud/resource/news/ and join the team of your native language.
If approved, the translation will be automatically ported to the code within 24 hours.
## Explore feeds section
-You can help to improve our explore feeds section by [providing more feeds](https://github.com/owncloud/news/wiki/Explore-Feed-Section)
+You can help to improve our explore feeds section by [providing more feeds](https://github.com/nextcloud/news/tree/master/docs/explore)
## Fulltext configurations
-ownCloud News uses [picoFeed web scrapers](https://github.com/fguillot/picoFeed/blob/master/docs/grabber.markdown). Simply create a new configuration file if needed and open a pull request on their repository. The News app syncs regularely with the most recent changes.
+Nextcloud News uses [picoFeed web scrapers](https://github.com/fguillot/picoFeed/blob/master/docs/grabber.markdown). Simply create a new configuration file if needed and open a pull request on their repository. The News app syncs regularly with the most recent changes.
## Development
@@ -99,11 +91,11 @@ That way we can talk about the problem first and discuss the implementation (and
### How to set up a development environment
-To get started after [cloning the repository](https://github.com/owncloud/news#installing-from-git-development-version), install the [build dependencies](https://github.com/owncloud/news#development-dependencies) and run:
+To get started after [cloning the repository](https://github.com/nextcloud/news#installing-from-git-development-version), install the [build dependencies](https://github.com/nextcloud/news#development-dependencies) and run:
make
-in the app directory to fetch all dependencies and compile the JavaScript. The News app uses Composer for PHP dependencies, Gulp for building the JavaScript "binary" and Bower/npm as JavaScript package manager. For more information on JavaScript development [check out the README.md in the js folder](https://github.com/owncloud/news/blob/master/js/README.md)
+in the app directory to fetch all dependencies and compile the JavaScript. The News app uses Composer for PHP dependencies, Gulp for building the JavaScript "binary" and Bower/npm as JavaScript package manager. For more information on JavaScript development [check out the README.md in the js folder](https://github.com/nextcloud/news/blob/master/js/README.md)
For running all tests suites you can run:
@@ -115,15 +107,10 @@ Packaging is done via:
The packages are inside the top level **build/artifacts** folder
-### Stuff To Work On
-
-Check [the plugin section on the wiki](https://github.com/owncloud/news/wiki#requested-and-needs-contributors) for finding ideas to work on which should be realized separately via a plugin or app.
-
### Contact Us!
-We usually hang out on **irc.freenode.net** in the **#owncloud-news** and **#owncloud-dev** chat room. Just ping [BernhardPosselt](https://github.com/BernhardPosselt/) or [cosenal](https://github.com/cosenal) or write us a mail directly. Mail addresses are listed on our GitHub profiles.
+We usually hang out on **irc.freenode.net** in the **#nextcloud-news** and **#nextcloud-dev** chat room. Just ping [BernhardPosselt](https://github.com/BernhardPosselt/) or [cosenal](https://github.com/cosenal) or write us a mail directly. Mail addresses are listed on our GitHub profiles.
-You can also send a mail to the [owncloud-devel mailing list](https://mailman.owncloud.org/mailman/listinfo/devel).
### Coding Style Guidelines
@@ -139,51 +126,5 @@ You can also send a mail to the [owncloud-devel mailing list](https://mailman.ow
* Place a space before and after the parameter block for if, else, for, foreach, function
* Everything should be in pascalCase except classes which should be in CamelCase
-* For linting JavaScript, a [jshint file](https://github.com/owncloud/news/blob/master/js/.jshintrc) is used that is run before compiling the JavaScript
-
-### Project Structure
-The project is structured in the following way:
-
-* **admin/**: Admin related parts which hook up the News app in the admin area. The HTML is in **templates/admin.php** folder, the JavaScript is in **js/admin/Admin.js**, CSS in **css/admin.css**. Both CSS and JavaScript don't need to be recompiled unlike everything else. The controller that hooks up the template is located in **controller/admincontroller.php**. **admin/admin.php** is just there to wire up the controllers on the admin page which does not support the App Framework.
-
-* **appinfo/**: Contains metadata related things, like names, versions, database structure, routes and the container that tells ownCloud how the app is assembled
-
-* **bin/**: Git hooks and the custom Python updater
-
-* **build/**: The folder where complete archives are saved when running make appstore
-
-* **config/**: The code that reads the news config.ini file which is located in the data directory and can also be edited in the admin interface
-
-* **controller/**: The stuff that reacts when a request comes in to a certain URL. URLs are defined in **appinfo/routes.php** and link to controllers.
-
-* **cron/**: The code that is run when the ownCloud cron is being called.
-
-* **css/**: All the CSS used in the project. Except the admin.css file everything needs to be minified first using Grunt, see the **js/README.md** file for more information
-
-* **db/**: SQL queries and data objects. The database schema is stored in **appinfo/database.xml**
-
-* **explore/**: Code that allows you to hook up custom explore pages and JSON configuration files what is displayed on the default explore page
-
-* **fetcher/**: The code part that receives the feed url and uses picoFeed to fetch the content. Then things are mapped to Feed and Item objects that can be stored in the database.
-
-* **hooks/**: Code to react to changes in ownCloud, e.g. what to do when a user is deleted
-
-* **http/**: Custom response classes, e.g. to download a textfile
-
-* **img/**: Pictures for thumbnails and icons
-
-* **js/**: All the JavaScript files, libs and tests. Needs to be compiled using Grunt first, instructions are in the **js/README.md** file. The app is built using [Angular](https://angularjs.org/)
-
-* **l10n/**: Automatically generated translation files. Don't edit them directly, instead go to Transifex which is a web interface that handles our translations, e.g. the German translation page is located here: [https://www.transifex.com/projects/p/owncloud/translate/#de/news/36802042](https://www.transifex.com/projects/p/owncloud/translate/#de/news/36802042). For other languages just replace the language code in the url.
-
-* **plugin/**:
-
-* **service/**: The most important part. Contains the app logic and validation, like what happens when you add or update a feed.
-
-* **templates/**: All the HTML that is used in the app
-
-* **upgrade/**: Migrations and hooks that are run when upgrading the app to a newer version
-
-* **utility/**: Stuff that did not fit anywhere, mostly factories that are needed to deal with 3rdparty libraries like picoFeed, but also OPML exporters and updater classes
+* For linting JavaScript, a [jshint file](https://github.com/nextcloud/news/blob/master/js/.jshintrc) is used that is run before compiling the JavaScript
-* **vendor/**: 3rdparty libraries that are managed using composer.
diff --git a/Makefile b/Makefile
index ec122a16b..1b11b75ae 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
# @author Bernhard Posselt <dev@bernhard-posselt.com>
# @copyright Bernhard Posselt 2016
-# Generic Makefile for building and packaging an ownCloud app which uses npm and
+# Generic Makefile for building and packaging a Nextcloud app which uses npm and
# Composer.
#
# Dependencies:
@@ -52,12 +52,12 @@ composer=$(shell which composer 2> /dev/null)
# code signing
# assumes the following:
-# * the app is inside the owncloud/apps folder
-# * the private key is located in ~/.owncloud/news.key
-# * the certificate is located in ~/.owncloud/news.crt
+# * the app is inside the nextcloud/apps folder
+# * the private key is located in ~/.nextcloud/news.key
+# * the certificate is located in ~/.nextcloud/news.crt
occ=$(CURDIR)/../../occ
-private_key=$(HOME)/.owncloud/$(app_name).key
-certificate=$(HOME)/.owncloud/$(app_name).crt
+private_key=$(HOME)/.nextcloud/$(app_name).key
+certificate=$(HOME)/.nextcloud/$(app_name).crt
sign=php -f $(occ) integrity:sign-app --privateKey="$(private_key)" --certificate="$(certificate)"
sign_skip_msg="Skipping signing, either no key and certificate found in $(private_key) and $(certificate) or occ can not be found at $(occ)"
ifneq (,$(wildcard $(private_key)))
diff --git a/README.md b/README.md
index f0e94fb4b..432706aa4 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
The News app is an RSS/Atom feed aggregator. It offers a [RESTful API](https://github.com/nextcloud/news/tree/master/docs/externalapi) for app developers. The source code is [available on GitHub](https://github.com/nextcloud/news)
-![](https://apps.owncloud.com/CONTENT/content-pre1/168040-1.png)
+![](https://raw.githubusercontent.com/nextcloud/news/master/screenshots/1.png)
## Maintainers
@@ -63,9 +63,9 @@ Please read the [appropriate section in the contributing notices](https://github
### Before you install/update the News app
Before you install the app do the following:
-* Check that your **owncloud/data/** directory is owned by your webserver user and that it is write/readable
+* Check that your **nextcloud/data/** directory is owned by your web server user and that it is write/readable
* Check that your installation fulfills the [requirements listed in the README section](https://github.com/nextcloud/news#dependencies)
-* [Set up Nextcloud Background Jobs](https://doc.owncloud.org/server/8.0/admin_manual/configuration_server/background_jobs_configuration.html) to enable feed updates. A recommended timespan for feed updates is 15-30 Minutes.
+* [Set up Nextcloud Background Jobs](https://docs.nextcloud.org/server/9/admin_manual/configuration_server/background_jobs_configuration.html#cron) to enable feed updates. A recommended timespan for feed updates is 15-30 Minutes.
Then proceed to install the app either from an archive (zip/tar.gz) or clone it from the repository using git
@@ -75,23 +75,23 @@ This is the easiest solution: Simply go the the apps page and enable the News ap
### Installing from archive
* Go to the [Nextcloud News GitHub releases page](https://github.com/nextcloud/news/releases) 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):
+* On your server, check if there is a folder called **nextcloud/apps/news**. If there is one, delete it.
+* Extract the downloaded archive to the **nextcloud/apps/** folder.
+* Remove the version from the extracted folder (e.g. rename **nextcloud/apps/news-4.0.3/** to **nextcloud/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 **nextcloud/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
+* Finally make sure that the **nextcloud/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
+ sudo chown -R www-data:www-data nextcloud/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 Nextcloud
* 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:
+* In your terminal go into the **nextcloud/apps/** directory and then run the following command:
git clone https://github.com/nextcloud/news.git
cd news
@@ -112,7 +112,7 @@ This is the easiest solution: Simply go the the apps page and enable the News ap
* 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:
+To update the News app use change into the **nextcloud/apps/news/** directory using your terminal and then run:
git pull --rebase origin master
make
@@ -178,7 +178,7 @@ The exception name itself will give you a hint about what is wrong:
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
+ php -f nextcloud/occ upgrade
instead of clicking the upgrade button on the web interface.
@@ -230,7 +230,7 @@ Some hints:
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 the folder **nextcloud/apps/news/** and **nextcloud/data/news/**, then connect to your database and run the following commands where **oc\_** is your table prefix (defaults to oc\_)
```sql
DELETE FROM oc_appconfig WHERE appid = 'news';
@@ -241,7 +241,7 @@ 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:
+Check the **nextcloud/data/owncloud.log** for hints why it failed. After the issues are fixed, turn off the maintenance mode by editing your **nextcloud/config/config.php** by setting the **maintenance** key to false:
"maintenance" => false,
@@ -249,18 +249,18 @@ Check the **owncloud/data/owncloud.log** for hints why it failed. After the issu
Feeds can be updated using Nextcloud's system cron or any program that implements the [News app's updater API](https://github.com/nextcloud/news/tree/master/docs/externalapi), most notably [Nextcloud News Updater](https://github.com/nextcloud/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 the config.ini in **nextcloud/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 if you can execute the cron with **sudo -u www-data php -f nextcloud/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](https://github.com/nextcloud/news/blob/master/cron/updater.php#L28). 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 Nextcloud's cronjobs are never executed, file a bug in [core](https://github.com/nextcloud/core/)
[Nextcloud News Updater](https://github.com/nextcloud/news-updater):
-* Check if the config.ini in **owncloud/data/news/config/config.ini** contains **useCronUpdates = false**
+* Check if the config.ini in **nextcloud/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.:
nextcloud_news_updater --loglevel info -c /path/to/config.ini
@@ -282,13 +282,13 @@ If you do not have control over the chosen feed, you should [download the certif
By appending **?subscribe_to=SOME_URL** to your News app URL, you can launch the News app with a pre-filled URL, e.g.:
- https://yourdomain.com/owncloud/index.php/apps/news?subscribe_to=https://github.com/nextcloud/news/releases
+ https://yourdomain.com/nextcloud/index.php/apps/news?subscribe_to=https://github.com/nextcloud/news/releases
Configuration
-------------
-All configuration values are set inside **owncloud/data/news/config/config.ini** and can be edited in the admin panel.
+All configuration values are set inside **nextcloud/data/news/config/config.ini** and can be edited in the admin panel.
The configuration is in **INI** format and looks like this:
diff --git a/appinfo/info.xml b/appinfo/info.xml
index bf73ed6d4..c0432a0de 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -10,14 +10,13 @@
<author>Jan-Christoph Borchardt</author>
<namespace>News</namespace>
<documentation>
- <user>https://github.com/owncloud/news/wiki#user-documentation</user>
- <admin>https://github.com/owncloud/news#readme</admin>
- <developer>https://github.com/owncloud/news/wiki#developer-documentation</developer>
+ <admin>https://github.com/nextcloud/news#readme</admin>
+ <developer>https://github.com/nextcloud/news/tree/master/docs</developer>
</documentation>
<category>multimedia</category>
- <website>https://github.com/owncloud/news</website>
- <bugs>https://github.com/owncloud/news/issues</bugs>
- <repository type="git">https://github.com/owncloud/news.git</repository>
+ <website>https://github.com/nextcloud/news</website>
+ <bugs>https://github.com/nextcloud/news/issues</bugs>
+ <repository type="git">https://github.com/nextcloud/news.git</repository>
<discussion>https://help.nextcloud.com/t/news-app-discussion</discussion>
<screenshot>https://raw.githubusercontent.com/nextcloud/news/master/screenshots/1.png</screenshot>
<screenshot>https://raw.githubusercontent.com/nextcloud/news/master/screenshots/2.png</screenshot>
diff --git a/composer.json b/composer.json
index c8954a867..155867c07 100644
--- a/composer.json
+++ b/composer.json
@@ -1,8 +1,8 @@
{
"type": "project",
"license": "AGPL-3.0",
- "description": "An RSS/Atom feed reader. Requires ownCloud backgroundjobs or an updater script to be enabled to update your feeds. See the README.md in the apps top directory",
- "homepage": "https://github.com/owncloud/news",
+ "description": "An RSS/Atom feed reader. Requires Nextcloud backgroundjobs or an updater script to be enabled to update your feeds. See the README.md in the apps top directory",
+ "homepage": "https://github.com/nextcloud/news",
"authors": [
{
"name": "Bernhard Posselt",
@@ -24,10 +24,9 @@
}
],
"support": {
- "irc": "irc://irc.freenode.org/owncloud-news",
- "issues": "https://github.com/owncloud/news/issues",
- "wiki": "https://github.com/owncloud/news/wiki",
- "source": "https://github.com/owncloud/news/"
+ "irc": "irc://irc.freenode.org/nextcloud-news",
+ "issues": "https://github.com/nextcloud/news/issues",
+ "source": "https://github.com/nextcloud/news/"
},
"require": {
"ezyang/htmlpurifier": "4.7",
diff --git a/css/app.css b/css/app.css
index e1732a7fd..229cee81a 100644
--- a/css/app.css
+++ b/css/app.css
@@ -1,5 +1,5 @@
/**
- * ownCloud - News
+ * Nextcloud - News
*
* This file is lic