<feed xmlns='http://www.w3.org/2005/Atom'>
<title>FreshRSS (Customized)/docs/en/developers/03_Backend, branch 1.18.1</title>
<subtitle>Customized version of FreshRSS, a self-hosted RSS feed aggregator</subtitle>
<id>https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.18.1</id>
<link rel='self' href='https://git.rdnlsmith.com/fresh-rss-custom/atom?h=1.18.1'/>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/'/>
<updated>2021-02-17T15:34:54+00:00</updated>
<entry>
<title>Add user maintenance hooks (#3440)</title>
<updated>2021-02-17T15:34:54+00:00</updated>
<author>
<name>Alexis Degrugillier</name>
<email>aledeg@users.noreply.github.com</email>
</author>
<published>2021-02-17T15:34:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=787e8fa463a2a9d24876aa1040d90e43ba122e34'/>
<id>urn:sha1:787e8fa463a2a9d24876aa1040d90e43ba122e34</id>
<content type='text'>
The new hook allows to add maintenance extensions at the user level.

See #3398</content>
</entry>
<entry>
<title>Add comprehensive user configuration in extensions (#3397)</title>
<updated>2021-02-01T23:03:09+00:00</updated>
<author>
<name>Alexis Degrugillier</name>
<email>aledeg@users.noreply.github.com</email>
</author>
<published>2021-02-01T23:03:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=8285f1df43ce19bbd533c70c3fd1487908883725'/>
<id>urn:sha1:8285f1df43ce19bbd533c70c3fd1487908883725</id>
<content type='text'>
Before, the extension configuration was handled by its author. There
was discrepancies between extensions on how the configuration was
stored.
Now, we could rely on a single way of storing configuration. This won't
invalidate how the extensions are storing their configuration but will
allow authors to focus on what is important.</content>
</entry>
<entry>
<title>Update extension documentation (#3352)</title>
<updated>2021-01-13T17:42:57+00:00</updated>
<author>
<name>Alexis Degrugillier</name>
<email>aledeg@users.noreply.github.com</email>
</author>
<published>2021-01-13T17:42:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=b43b94dff8b2d7e8f052907f2459d2ad54b5cb68'/>
<id>urn:sha1:b43b94dff8b2d7e8f052907f2459d2ad54b5cb68</id>
<content type='text'>
Before the extension documentation was not very clear about the methods
in the extension and how to use them. I hope that now it makes more
sense.</content>
</entry>
<entry>
<title>Update and add to documentation (#3348)</title>
<updated>2021-01-10T19:50:54+00:00</updated>
<author>
<name>ldv8434</name>
<email>65482502+ldv8434@users.noreply.github.com</email>
</author>
<published>2021-01-10T19:50:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=bf344cd30230edbb06fbdaa482a86d3592dc4aa0'/>
<id>urn:sha1:bf344cd30230edbb06fbdaa482a86d3592dc4aa0</id>
<content type='text'>
* remove outdated mailing list information

* add information about normal view

* add information about global and reader view

* fix import section header

* reorder documentation to reflect menu's order

* clarify setting as default in normal view

* add info about reading section for config

* fix heading levels, add info about archive + profile sections

* unfix heading levels

* move section on feed-specific settings to the subscription management page

* update information about adding feeds, add information about feed management

* fix link to security page in installation

* fix broken links

* fix broken link to install page

* add lighttpd from project readme

* add php modules to step 4, add horizontal line to better separate steps from footnotes visually

* fix broken link

* add index page for easier access of other pages

* move first steps document

* make dedicated bug reporting page

* make index page for linking to other pages

* moved fever API to relevant location, linked to index

* remove outdated mailing list information

* add information about normal view

* add information about global and reader view

* fix import section header

* reorder documentation to reflect menu's order

* clarify setting as default in normal view

* add info about reading section for config

* fix heading levels, add info about archive + profile sections

* unfix heading levels

* move section on feed-specific settings to the subscription management page

* update information about adding feeds, add information about feed management

* fix link to security page in installation

* fix broken links

* fix broken link to install page

* add lighttpd from project readme

* add php modules to step 4, add horizontal line to better separate steps from footnotes visually

* fix broken link

* add index page for easier access of other pages

* move first steps document

* make dedicated bug reporting page

* make index page for linking to other pages

* moved fever API to relevant location, linked to index

* re-fix link

* remove mention of defunct mailing list

* grammar fix

* replace stream with feed

* add optional items, replace stream with feed

* replace stream with feed

* fix word choice

Co-authored-by: Frans de Jonge &lt;fransdejonge@gmail.com&gt;

* fix word choice

better reflect age of project

Co-authored-by: Frans de Jonge &lt;fransdejonge@gmail.com&gt;

* grammar fixes

Co-authored-by: Frans de Jonge &lt;fransdejonge@gmail.com&gt;

* remove double headings

Co-authored-by: Frans de Jonge &lt;fransdejonge@gmail.com&gt;

* change single quote to double quote for consistency

* add subreddit link

* change php module list to Dockerfile link

* fix link to developer index, change html links to md for consistency

* update css selector terms

Co-authored-by: Frans de Jonge &lt;fransdejonge@gmail.com&gt;

Co-authored-by: Frans de Jonge &lt;fransdejonge@gmail.com&gt;</content>
</entry>
<entry>
<title>Add class autoload for extension (#3350)</title>
<updated>2021-01-09T19:49:45+00:00</updated>
<author>
<name>Alexis Degrugillier</name>
<email>aledeg@users.noreply.github.com</email>
</author>
<published>2021-01-09T19:49:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=f5fdbb9e8211500ce8ffc959808b7891646f9f3c'/>
<id>urn:sha1:f5fdbb9e8211500ce8ffc959808b7891646f9f3c</id>
<content type='text'>
When an extension defines an `autoload` method, it will be registered
automatically before enabling the extension.
For the extension creator, it's easier because there is no need to
register it manually.</content>
</entry>
<entry>
<title>two new hooks (#3342)</title>
<updated>2021-01-07T20:45:48+00:00</updated>
<author>
<name>Clemens Neubauer</name>
<email>cn-tools@gmx.at</email>
</author>
<published>2021-01-07T20:45:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=ef458992c12438f88780c52076cf105e3de8a60e'/>
<id>urn:sha1:ef458992c12438f88780c52076cf105e3de8a60e</id>
<content type='text'>
* add two new hooks

I develop a new extension and i need 2 new hooks for it

* update EN documentation

* Correct typing errors

* Update app/views/helpers/javascript_vars.phtml

Co-authored-by: Alexandre Alapetite &lt;alexandre@alapetite.fr&gt;</content>
</entry>
<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>Add support for extensions in Docker environment (#3042)</title>
<updated>2020-06-10T21:16:14+00:00</updated>
<author>
<name>Alexis Degrugillier</name>
<email>aledeg@users.noreply.github.com</email>
</author>
<published>2020-06-10T21:16:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=0910cf34c735d6b59b495e0b0dfff08d21fce7ac'/>
<id>urn:sha1:0910cf34c735d6b59b495e0b0dfff08d21fce7ac</id>
<content type='text'>
By default, the container starts without extensions. But if for some reasons,
you need to add them without copying or moving some code, you can embed them
while starting the container. The syntax is:
```
make start extensions="/full/path/to/extension/1 /full/path/to/extension/2"
```</content>
</entry>
<entry>
<title>Add documentation for i18n (#2978)</title>
<updated>2020-05-21T10:21:20+00:00</updated>
<author>
<name>Marien Fressinaud</name>
<email>dev@marienfressinaud.fr</email>
</author>
<published>2020-05-21T10:21:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=df9d3ab468602da384edccfcadc55ada96ebfdd9'/>
<id>urn:sha1:df9d3ab468602da384edccfcadc55ada96ebfdd9</id>
<content type='text'>
* doc: Write proper doc for internationalization

* Apply suggestions from code review

Co-authored-by: Frans de Jonge &lt;fransdejonge@gmail.com&gt;

* Update docs/en/internationalization.md

Co-authored-by: Frans de Jonge &lt;fransdejonge@gmail.com&gt;

Co-authored-by: Frans de Jonge &lt;fransdejonge@gmail.com&gt;</content>
</entry>
<entry>
<title>[i18n] Add documentation for new hooks (#2815)</title>
<updated>2020-02-29T18:13:02+00:00</updated>
<author>
<name>Frans de Jonge</name>
<email>fransdejonge@gmail.com</email>
</author>
<published>2020-02-29T18:13:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rdnlsmith.com/fresh-rss-custom/commit/?id=8b1ccdac42b5e354a5048b3316d56fce0b5ca194'/>
<id>urn:sha1:8b1ccdac42b5e354a5048b3316d56fce0b5ca194</id>
<content type='text'>
See &lt;https://github.com/FreshRSS/FreshRSS/pull/2704#issuecomment-592950971&gt;.</content>
</entry>
</feed>
