Commit Graph

8 Commits

Author SHA1 Message Date
Marien Fressinaud
8619cf6fa6 Add a migration system (#2760)
* Add a Minz_Migrator class

Until now, we updated the database structure somewhere in the code but
it wasn't always consistent and somehow complicated to find. Also, this
code was always checked for nothing.

The Migrator aims to improve and ease the creation of migrations. It
should improve the way we apply the updates, making the update server
almost useless.

References:

- example of migration (before Migrator): cc0db9af4f (diff-11a53443fa81512b128c66b065df0679R10)
- update server: https://github.com/FreshRSS/update.freshrss.org
- PR moving the code of the update server to the core: https://github.com/FreshRSS/FreshRSS/pull/1760

* Automatically apply migrations

For now, administrators are used to have nothing to do during an update
else than getting the new code. I suggest to keep this behaviour and
automatically apply migrations if we detect new ones.

Another solution would be to create a CLI command and ask admins to call
it after getting the new code. It could hide migrations errors to end
users, but admin can forget to apply migrations since there are not used
to it.

* Add documentation for Minz Migrator

* Execute migrations even if next ones are applied

* Change mechanism to prevent multiple update at once

* Use mkdir to create the lock and to test it exists

Reference: https://stackoverflow.com/a/731634

* Append .lock to applied_migrations_path

There are no needs to define another file to serve as a lock.

* Change migrations naming convention

* Apply suggestions from code review

Co-Authored-By: Alexandre Alapetite <alexandre@alapetite.fr>

* Perform a low-cost migration versions comparaison

* Clarify version numbers concerning the migration system

Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2020-07-08 12:11:55 +02:00
Marien Fressinaud
82851d2039 Make master the rolling release branch (#2705)
* Change default TAG in Makefile

We are going to drop the `dev` branch. The Docker tag `dev-*` are based
on this branch and so there will be no longer be generated. We must use
images based on the `master` branch (i.e. `latest`, `alpine` and `arm`).

* Remove references to dev branch in documentation

* Synchronize French documentation
2019-12-15 14:08:49 +01:00
Frans de Jonge
705318aa39 Translate docs with po4a (#2590)
* [i18n] Add docs po4a script

* Add proof of concept

* Add a few more translations

* Hush ShellCheck and shfmt

* Make that list po4a-friendly

* drat, this document could've probably been auto-generated

* Definitive proof that it's translated from French ;-)

* Add some brand spanking new French translation

* More translation

* Mostly finish that config page

* Fix up FAQ

* More contributing

* Dev first steps

* Let's ignore that admin stuff at the very least for now

* Translate release new version, make French the source first and copy all translations

Then replace French with English in the source.

Much quicker than any alternative route.

* And add the English translation

* Minor stylistic leftover from French

* Most of first steps

* Forgot the extensions

* Use po4a 0.56 to get rid of way too many newlines

* Fix up those newlines

* No point linking to Firefox integration anymore from the new user guide

* Start on main view

* A bunch of main view stuff

* More main view

* And some subscriptions before going to bed

* First steps for devs

* More dev first steps

* Incomplete French → English dev/GH translation

Because I need to ask about that mailing list thing

* Fix typo in docs/en/developers/02_Github.md

* Translate & complete devs/github to English

* Fix up most of extensions

* Is that supposed to be a non-breaking space? Let's see

* Match up some users/mobile access

* More users/mobile access

* Add fresh French translation to Fever API

* Fix typo

* Match frontend todo thingies

* Fix a typo

* Some extensions strings

* Remove Fx subscription service from the docs

Cf. https://github.com/FreshRSS/FreshRSS/pull/2606

* Add translation for https://github.com/FreshRSS/FreshRSS/pull/2643

* fix typo as per https://github.com/FreshRSS/FreshRSS/pull/2643#discussion_r345433009

* Add some more French translations

* Update French translation as per @aledeg comment https://github.com/FreshRSS/FreshRSS/pull/2590#discussion_r345465909

* Translate some of the meaningless stuff

* Translate the rest of contributing.md to French

* Fix conflicts

* Translate Docker first steps to French

* Update with change from #2665

* Add @aledeg corrections

* Overlooked a couple @aledeg corrections thanks to GitHub autohide

* Latest @aledeg suggestions
2019-12-03 22:37:40 +01:00
Alexandre Alapetite
37b52b7361 Trim whitespace (#2544) 2019-10-01 18:12:21 +02:00
Marien Fressinaud
ad44ff8169 tec: Add Makefile and Docker conf for development (#2492)
Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com>

Co-Authored-By: Alexandre Alapetite <alexandre@alapetite.fr>
2019-08-29 11:59:32 +02:00
Alexandre Alapetite
fd33d92d41 Require PHP 5.5+ (#2495)
* Require PHP 5.5+

https://github.com/FreshRSS/FreshRSS/issues/2469#issuecomment-522255093
I think it would be reasonable to require PHP 5.5+ for the core of
FreshRSS after all.

As Frenzie said, WordPress currently requires PHP 5.6.20+, and it is the
most popular PHP application.

We would loose about 20% of the PHP servers according to
https://w3techs.com/technologies/details/pl-php/5/all but I expect this
number to drop fast after the release of CentOS 8 (CentOS accounts for
17% of Linux servers
https://w3techs.com/technologies/details/os-linux/all/all ).

Distributions:
* no impact on Ubuntu, Fedora, Alpine, OpenWRT, FreeBSD, OpenSuze,
Mageia, as all active versions have PHP > 7
* no impact on OpenSuze, Synology, as all active versions have PHP > 5.5
* we drop Debian 8 Jessie (-2020) - we keep supporting Debian 9 Stretch
(2017-06) - current is Debian 10 Buster
* we drop Red Hat 7 (-2024) - we keep supporting RHEL 8 (2019-05)
* we drop CentOS 7 (-2024) - we will support CentOS 8 (to be released
soonish)

When dropping older versions, I can better like when it is for a good
reason, and there is actually one with PHP 5.5, namely generators
(yield) https://php.net/language.generators.overview which I consider
using.

* Version note for JSON.php

* hex2bin

* Update .travis.yml

Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com>
2019-08-20 14:55:43 +02:00
Kevin Papst
b562639155 Documentation updates (#1697)
* added documentation about updating FreshRSS
moved Installation to admin directory
linked some already existing documentation files
2017-12-02 13:43:28 +01:00
Marien Fressinaud
afc38e43ec Provide documentation under ./docs 2017-04-24 23:08:43 +02:00