]> git.immae.eu Git - github/wallabag/wallabag.git/blob - docs/en/developer/paywall.rst
Merge pull request #3120 from aaa2000/fix-delete-annotation-user
[github/wallabag/wallabag.git] / docs / en / developer / paywall.rst
1 Articles behind a paywall
2 =========================
3
4 wallabag can fetch articles from websites which use a paywall system.
5
6 Enable paywall authentication
7 -----------------------------
8
9 In internal settings, as a wallabag administrator, in the **Article** section, enable authentication for websites with paywall (with the value 1).
10
11 Configure credentials in wallabag
12 ---------------------------------
13
14 Edit your ``app/config/parameters.yml`` file to edit credentials for each website with paywall. For example, under Ubuntu:
15
16 ``sudo -u www-data nano /var/www/html/wallabag/app/config/parameters.yml``
17
18 Here is an example for some french websites (be careful: don't use the "tab" key, only spaces):
19
20 .. code:: yaml
21
22 sites_credentials:
23 mediapart.fr: {username: "myMediapartLogin", password: "mypassword"}
24 arretsurimages.net: {username: "myASILogin", password: "mypassword"}
25
26 .. note::
27
28 These credentials will be shared between each user of your wallabag instance.
29
30 Parsing configuration files
31 ---------------------------
32
33 .. note::
34
35 Read `this part of the documentation <http://doc.wallabag.org/en/master/user/errors_during_fetching.html>`_ to understand the configuration files, which are located under ``vendor/j0k3r/graby-site-config/``. For most of the websites, this file is already configured: the following instructions are only for the websites that are not configured yet.
36
37 Each parsing configuration file needs to be improved by adding ``requires_login``, ``login_uri``,
38 ``login_username_field``, ``login_password_field`` and ``not_logged_in_xpath``.
39
40 Be careful, the login form must be in the page content when wallabag loads it. It's impossible for wallabag to be authenticated
41 on a website where the login form is loaded after the page (by ajax for example).
42
43 ``login_uri`` is the action URL of the form (``action`` attribute in the form).
44 ``login_username_field`` is the ``name`` attribute of the login field.
45 ``login_password_field`` is the ``name`` attribute of the password field.
46
47 For example:
48
49 .. code::
50
51 title://div[@id="titrage-contenu"]/h1[@class="title"]
52 body: //div[@class="contenu-html"]/div[@class="page-pane"]
53
54 requires_login: yes
55
56 login_uri: http://www.arretsurimages.net/forum/login.php
57 login_username_field: username
58 login_password_field: password
59
60 not_logged_in_xpath: //body[@class="not-logged-in"]
61
62 Last step: clear the cache
63 --------------------------
64
65 It's necessary to clear the wallabag cache with the following command (here under Ubuntu): ``sudo -u www-data php /var/www/html/wallabag/bin/console cache:clear -e=prod``