<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/cli/do-install.php, branch 1.17.0</title>
<subtitle>Customized version of FreshRSS, a self-hosted RSS feed aggregator</subtitle>
<id>https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.17.0</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.17.0'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2020-07-08T10:11:55+00:00</updated>
<entry>
<title>Add a migration system (#2760)</title>
<updated>2020-07-08T10:11:55+00:00</updated>
<author>
<name>Marien Fressinaud</name>
<email>dev@marienfressinaud.fr</email>
</author>
<published>2020-07-08T10:11:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=8619cf6fa65bbd90871e7b7fe29816092a9d6c33'/>
<id>urn:sha1:8619cf6fa65bbd90871e7b7fe29816092a9d6c33</id>
<content type='text'>
* 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): https://github.com/FreshRSS/FreshRSS/commit/cc0db9af4f980829faa4bf0960617807b32fb4fa#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 &lt;alexandre@alapetite.fr&gt;

* Perform a low-cost migration versions comparaison

* Clarify version numbers concerning the migration system

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<entry>
<title>Modify shebang to be more portable (#3038)</title>
<updated>2020-06-06T17:04:21+00:00</updated>
<author>
<name>Alexis Degrugillier</name>
<email>aledeg@users.noreply.github.com</email>
</author>
<published>2020-06-06T17:04:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=1694264e2ca454a0cc51064ed09a6ed1a759cb01'/>
<id>urn:sha1:1694264e2ca454a0cc51064ed09a6ed1a759cb01</id>
<content type='text'>
The new shebang is a portable way to find the php interpreter. It works
on Mac, GNU/Linux and BSD.</content>
</entry>
<entry>
<title>Fix wrong getHeader refactoring (#2749)</title>
<updated>2020-01-04T22:35:42+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2020-01-04T22:35:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=2aff347b2e942286292b21e0b20d93ab85220a17'/>
<id>urn:sha1:2aff347b2e942286292b21e0b20d93ab85220a17</id>
<content type='text'>
* Fix wrong getHeader refactoring

Fix regression introduced by
https://github.com/FreshRSS/FreshRSS/pull/2373
The refactoring required a call to init() even for static functions,
which is most of the time not done.
Removed premature abstraction of `$_SERVER`, which was the root cause of
the bug.
https://github.com/FreshRSS/FreshRSS/issues/2748#issuecomment-569898931

* Refactoring: Move serverIsPublic to Minz_Request

* Add mitigations for wrong configurations

Due to the regression, we have some existing configurations with a bad
base_url

* Forgot one instance
</content>
</entry>
<entry>
<title>Fix CLI install for SQLite (#2648)</title>
<updated>2019-11-09T00:47:58+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2019-11-09T00:47:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=6a643d180ec7e05deb4d86a4a8d128dda0360345'/>
<id>urn:sha1:6a643d180ec7e05deb4d86a4a8d128dda0360345</id>
<content type='text'>
One forgotten condition. Related to
https://github.com/FreshRSS/FreshRSS/pull/2646 and
https://github.com/FreshRSS/FreshRSS/pull/2635</content>
</entry>
<entry>
<title>Fix database autocreate at install (#2635)</title>
<updated>2019-11-06T14:16:00+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2019-11-06T14:16:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=22030155f8fd5cab102ddd897a914cf1a0ffd183'/>
<id>urn:sha1:22030155f8fd5cab102ddd897a914cf1a0ffd183</id>
<content type='text'>
* Fix database autocreate at install

Several bugs prevented the auto-creation of the database in Web and CLI
installs.
Fix
https://github.com/YunoHost-Apps/freshrss_ynh/issues/84#issuecomment-549818408

* initDb

https://github.com/FreshRSS/FreshRSS/pull/2635#discussion_r343107795
</content>
</entry>
<entry>
<title>PDO refactoring for code simplification (#2522)</title>
<updated>2019-09-29T14:22:50+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2019-09-29T14:22:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=e3e5954394f4523850c78e80e496f1b916622677'/>
<id>urn:sha1:e3e5954394f4523850c78e80e496f1b916622677</id>
<content type='text'>
* PDO refactor

* Automatic prefix when using the syntax `_tableName`
* Uniformity: MySQL is now PDO::ATTR_EMULATE_PREPARES = false just like SQLite and PostgreSQL, with consequences such as only one statement per query
* Use PDO methods exec(), query(), prepare() + execute() in a more efficient way
* Remove auto-update SQL code for versions older than FreshRSS 1.5 (3 years old)
* The name of the default category is set in PHP instead of in the DB (simplies SQL and allows changing the name according to the FreshRSS language)
* Rename `-&gt;bd` to `-&gt;pdo` (less of a frenshism, and more informative)
* Fix some requests, which were not compatible with MySQL prepared statements

* Whitespace

* Fix syntax for PostgreSQL sequences

+ MySQL install

* Minor formatting

* Fix lastInsertId for PostgreSQL

* Use PHP 5.6+ const

Take advantage of https://github.com/FreshRSS/FreshRSS/pull/2527
https://www.php.net/manual/en/migration56.new-features.php

* A bit of forgotten PHP 5.6 simplification for cURL

* Forgotten $s

* Mini fix custom user config

https://github.com/FreshRSS/FreshRSS/pull/2490/files#r326290346

* More work on install.php but not finished

* install.php working

* More cleaning of PDO in install

* Even more simplification

Take advantage of PDO-&gt;exec() to run multiple statements

* Disallow changing the name of the default category

https://github.com/FreshRSS/FreshRSS/pull/2522#discussion_r326967724
</content>
</entry>
<entry>
<title>Add an option validation on cli commands (#2278)</title>
<updated>2019-03-19T19:27:06+00:00</updated>
<author>
<name>Alexis Degrugillier</name>
<email>aledeg@users.noreply.github.com</email>
</author>
<published>2019-03-19T19:27:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=71b4226dc721bc0f23cc594760329f29e51defac'/>
<id>urn:sha1:71b4226dc721bc0f23cc594760329f29e51defac</id>
<content type='text'>
If an option used on cli is not recognized, the command
aborts and displays an error message.
If the typed option is similar to one of the recognized
options, a hint is displayed.

At the moment, there is a limitation on long options.
Short options are not validated at the moment.

See #2046</content>
</entry>
<entry>
<title>Better test if server has public address (#2010)</title>
<updated>2018-09-08T22:50:24+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2018-09-08T22:50:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=aafb1cd0e484813541b4eb0ba2a93d9083b1d2fc'/>
<id>urn:sha1:aafb1cd0e484813541b4eb0ba2a93d9083b1d2fc</id>
<content type='text'>
* Better test if server has public address

* Wrong trailing slash in documentation
</content>
</entry>
<entry>
<title>Use __DIR__ for relative include and require</title>
<updated>2017-12-11T20:11:34+00:00</updated>
<author>
<name>Alexandre Alapetite</name>
<email>alexandre@alapetite.fr</email>
</author>
<published>2017-12-11T20:11:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=52d09886558361bd818182da9ddc204e83f618ba'/>
<id>urn:sha1:52d09886558361bd818182da9ddc204e83f618ba</id>
<content type='text'>
For uniformity, and to avoid having PHP searching in include_path.
http://php.net/manual/function.include.php
https://github.com/FreshRSS/FreshRSS/pull/1715
https://github.com/FreshRSS/FreshRSS/pull/1711#issuecomment-350581350
</content>
</entry>
<entry>
<title>Check requirement in CLI script (#1711)</title>
<updated>2017-12-10T21:09:54+00:00</updated>
<author>
<name>Kevin Papst</name>
<email>kevinpapst@users.noreply.github.com</email>
</author>
<published>2017-12-10T21:09:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=5c52d9b34bb1f1285f92dd557bb8b8cb222b50f4'/>
<id>urn:sha1:5c52d9b34bb1f1285f92dd557bb8b8cb222b50f4</id>
<content type='text'>
* check requirements in actualize_script before executing, fixes #1710

* removed empty whiteline

* testing all requirements

* incorporated code review feedback

* removed code that is already executed in _cli.php

* added newline at eof

* fixed include problems

* fixed include problems
</content>
</entry>
</feed>
