aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs
diff options
context:
space:
mode:
authorNicolas Lœuillet <nicolas@loeuillet.org>2017-05-16 13:09:40 +0200
committerNicolas Lœuillet <nicolas@loeuillet.org>2017-05-16 13:09:40 +0200
commit322c270b6590d0d0bf5025f4782ffe7cdea0f8b0 (patch)
treee9b900edfa1ca5364820e2b326f77fb689ec6710 /docs
parentd168fff7a9aedb19db05a95a3264e548748126c1 (diff)
downloadwallabag-322c270b6590d0d0bf5025f4782ffe7cdea0f8b0.tar.gz
wallabag-322c270b6590d0d0bf5025f4782ffe7cdea0f8b0.tar.zst
wallabag-322c270b6590d0d0bf5025f4782ffe7cdea0f8b0.zip
Removed embedded documentation
Diffstat (limited to 'docs')
-rw-r--r--docs/de/conf.py55
-rw-r--r--docs/de/developer/api.rst272
-rw-r--r--docs/de/developer/asynchronous.rst159
-rw-r--r--docs/de/developer/docker.rst57
-rw-r--r--docs/de/developer/documentation.rst10
-rw-r--r--docs/de/developer/paywall.rst56
-rw-r--r--docs/de/developer/testsuite.rst10
-rw-r--r--docs/de/developer/translate.rst57
-rw-r--r--docs/de/index.rst53
-rw-r--r--docs/de/requirements.txt2
-rw-r--r--docs/de/user/android.rst102
-rw-r--r--docs/de/user/articles.rst113
-rw-r--r--docs/de/user/backup.rst25
-rw-r--r--docs/de/user/configuration.rst131
-rw-r--r--docs/de/user/configuring_mobile.rst12
-rw-r--r--docs/de/user/create_account.rst41
-rw-r--r--docs/de/user/errors_during_fetching.rst28
-rw-r--r--docs/de/user/faq.rst52
-rw-r--r--docs/de/user/filters.rst54
-rw-r--r--docs/de/user/import.rst152
-rw-r--r--docs/de/user/installation.rst349
-rw-r--r--docs/de/user/parameters.rst95
-rw-r--r--docs/de/user/query-upgrade-21-22.rst984
-rw-r--r--docs/de/user/tags.rst2
-rw-r--r--docs/de/user/upgrade.rst140
-rw-r--r--docs/en/conf.py55
-rw-r--r--docs/en/developer/api.rst271
-rw-r--r--docs/en/developer/asynchronous.rst160
-rw-r--r--docs/en/developer/console_commands.rst30
-rw-r--r--docs/en/developer/docker.rst51
-rw-r--r--docs/en/developer/documentation.rst12
-rw-r--r--docs/en/developer/front_end.rst33
-rw-r--r--docs/en/developer/paywall.rst65
-rw-r--r--docs/en/developer/testsuite.rst10
-rw-r--r--docs/en/developer/translate.rst60
-rw-r--r--docs/en/index.rst53
-rw-r--r--docs/en/requirements.txt2
-rw-r--r--docs/en/user/android.rst95
-rw-r--r--docs/en/user/articles.rst117
-rw-r--r--docs/en/user/backup.rst26
-rw-r--r--docs/en/user/configuration.rst132
-rw-r--r--docs/en/user/configuring_mobile.rst13
-rw-r--r--docs/en/user/create_account.rst42
-rw-r--r--docs/en/user/errors_during_fetching.rst37
-rw-r--r--docs/en/user/faq.rst55
-rw-r--r--docs/en/user/filters.rst54
-rw-r--r--docs/en/user/import.rst159
-rw-r--r--docs/en/user/installation.rst365
-rw-r--r--docs/en/user/parameters.rst96
-rw-r--r--docs/en/user/query-upgrade-21-22.rst984
-rw-r--r--docs/en/user/tags.rst2
-rw-r--r--docs/en/user/upgrade.rst148
-rw-r--r--docs/fr/conf.py55
-rw-r--r--docs/fr/developer/api.rst271
-rw-r--r--docs/fr/developer/asynchronous.rst160
-rw-r--r--docs/fr/developer/console_commands.rst30
-rw-r--r--docs/fr/developer/docker.rst50
-rw-r--r--docs/fr/developer/documentation.rst12
-rw-r--r--docs/fr/developer/front-end.rst33
-rw-r--r--docs/fr/developer/paywall.rst65
-rw-r--r--docs/fr/developer/testsuite.rst10
-rw-r--r--docs/fr/developer/translate.rst62
-rw-r--r--docs/fr/index.rst54
-rw-r--r--docs/fr/requirements.txt2
-rw-r--r--docs/fr/user/android.rst96
-rw-r--r--docs/fr/user/articles.rst124
-rw-r--r--docs/fr/user/backup.rst26
-rw-r--r--docs/fr/user/configuration.rst134
-rw-r--r--docs/fr/user/configuring_mobile.rst12
-rw-r--r--docs/fr/user/create_account.rst42
-rw-r--r--docs/fr/user/errors_during_fetching.rst37
-rw-r--r--docs/fr/user/faq.rst42
-rw-r--r--docs/fr/user/filters.rst55
-rw-r--r--docs/fr/user/import.rst155
-rw-r--r--docs/fr/user/installation.rst316
-rw-r--r--docs/fr/user/parameters.rst95
-rw-r--r--docs/fr/user/query-upgrade-21-22.rst984
-rw-r--r--docs/fr/user/tags.rst2
-rw-r--r--docs/fr/user/upgrade.rst140
-rw-r--r--docs/img/user/2FA_form.pngbin11013 -> 0 bytes
-rw-r--r--docs/img/user/activated_account.pngbin13519 -> 0 bytes
-rw-r--r--docs/img/user/android_configuration_connection_test.de.pngbin82341 -> 0 bytes
-rw-r--r--docs/img/user/android_configuration_connection_test.en.pngbin80965 -> 0 bytes
-rw-r--r--docs/img/user/android_configuration_connection_test_success.de.pngbin83238 -> 0 bytes
-rw-r--r--docs/img/user/android_configuration_connection_test_success.en.pngbin82290 -> 0 bytes
-rw-r--r--docs/img/user/android_configuration_feed_credentials_automatically_filled_in.de.pngbin111017 -> 0 bytes
-rw-r--r--docs/img/user/android_configuration_feed_credentials_automatically_filled_in.en.pngbin106816 -> 0 bytes
-rw-r--r--docs/img/user/android_configuration_filled_in.de.pngbin97206 -> 0 bytes
-rw-r--r--docs/img/user/android_configuration_filled_in.en.pngbin98558 -> 0 bytes
-rw-r--r--docs/img/user/android_configuration_get_feed_credentials.de.pngbin83141 -> 0 bytes
-rw-r--r--docs/img/user/android_configuration_get_feed_credentials.en.pngbin81325 -> 0 bytes
-rw-r--r--docs/img/user/android_configuration_saved_feed_update.de.pngbin52034 -> 0 bytes
-rw-r--r--docs/img/user/android_configuration_saved_feed_update.en.pngbin53196 -> 0 bytes
-rw-r--r--docs/img/user/android_configuration_screen.de.pngbin91377 -> 0 bytes
-rw-r--r--docs/img/user/android_configuration_screen.en.pngbin93709 -> 0 bytes
-rw-r--r--docs/img/user/android_configuration_scroll_bottom.de.pngbin103860 -> 0 bytes
-rw-r--r--docs/img/user/android_configuration_scroll_bottom.en.pngbin98160 -> 0 bytes
-rw-r--r--docs/img/user/android_unread_feed_synced.de.pngbin108605 -> 0 bytes
-rw-r--r--docs/img/user/android_unread_feed_synced.en.pngbin89415 -> 0 bytes
-rw-r--r--docs/img/user/android_welcome_screen.de.pngbin47710 -> 0 bytes
-rw-r--r--docs/img/user/android_welcome_screen.en.pngbin51580 -> 0 bytes
-rw-r--r--docs/img/user/annotations_1.pngbin34930 -> 0 bytes
-rw-r--r--docs/img/user/annotations_2.pngbin28142 -> 0 bytes
-rw-r--r--docs/img/user/annotations_3.pngbin27277 -> 0 bytes
-rw-r--r--docs/img/user/download_article.pngbin6958 -> 0 bytes
-rw-r--r--docs/img/user/download_articles.pngbin7093 -> 0 bytes
-rw-r--r--docs/img/user/export_v1.pngbin10213 -> 0 bytes
-rw-r--r--docs/img/user/export_v2.pngbin7440 -> 0 bytes
-rw-r--r--docs/img/user/export_wllbg_1.pngbin10954 -> 0 bytes
-rw-r--r--docs/img/user/export_wllbg_2.pngbin7703 -> 0 bytes
-rw-r--r--docs/img/user/filters.pngbin28654 -> 0 bytes
-rw-r--r--docs/img/user/import_wallabagv1.pngbin13396 -> 0 bytes
-rw-r--r--docs/img/user/import_wllbg.pngbin11803 -> 0 bytes
-rw-r--r--docs/img/user/login_form.pngbin9595 -> 0 bytes
-rw-r--r--docs/img/user/refetch.pngbin1956 -> 0 bytes
-rw-r--r--docs/img/user/registration_form.pngbin17126 -> 0 bytes
-rw-r--r--docs/img/user/sent_email.pngbin16441 -> 0 bytes
-rw-r--r--docs/img/user/share.pngbin9435 -> 0 bytes
-rw-r--r--docs/img/user/topbar.pngbin1475 -> 0 bytes
-rw-r--r--docs/img/wallabag.pngbin2605 -> 0 bytes
-rw-r--r--docs/it/conf.py55
-rw-r--r--docs/it/developer/api.rst269
-rw-r--r--docs/it/developer/asynchronous.rst162
-rw-r--r--docs/it/developer/docker.rst41
-rw-r--r--docs/it/developer/documentation.rst12
-rw-r--r--docs/it/developer/paywall.rst52
-rw-r--r--docs/it/developer/testsuite.rst6
-rw-r--r--docs/it/developer/translate.rst55
-rw-r--r--docs/it/index.rst53
-rw-r--r--docs/it/requirements.txt2
-rw-r--r--docs/it/user/android.rst107
-rw-r--r--docs/it/user/articles.rst116
-rw-r--r--docs/it/user/backup.rst30
-rw-r--r--docs/it/user/configuration.rst103
-rw-r--r--docs/it/user/configuring_mobile.rst12
-rw-r--r--docs/it/user/create_account.rst38
-rw-r--r--docs/it/user/errors_during_fetching.rst37
-rw-r--r--docs/it/user/faq.rst53
-rw-r--r--docs/it/user/filters.rst45
-rw-r--r--docs/it/user/import.rst115
-rw-r--r--docs/it/user/installation.rst346
-rw-r--r--docs/it/user/parameters.rst93
-rw-r--r--docs/it/user/upgrade.rst102
143 files changed, 0 insertions, 11106 deletions
diff --git a/docs/de/conf.py b/docs/de/conf.py
deleted file mode 100644
index 1bc39d4c..00000000
--- a/docs/de/conf.py
+++ /dev/null
@@ -1,55 +0,0 @@
1# -*- coding: utf-8 -*-
2#
3# wallabag documentation build configuration file, created by
4# sphinx-quickstart on Fri Oct 16 06:47:23 2015.
5
6import sys
7import os
8
9extensions = []
10templates_path = ['_templates']
11source_suffix = '.rst'
12master_doc = 'index'
13project = u'wallabag-fr'
14copyright = u'2013-2017, Nicolas Lœuillet - MIT Licence'
15version = '2.3.0'
16release = version
17exclude_patterns = ['_build']
18pygments_style = 'sphinx'
19html_theme = 'default'
20html_static_path = ['_static']
21htmlhelp_basename = 'wallabagdedoc'
22
23latex_elements = {
24}
25
26latex_documents = [
27 ('index', 'wallabag-de.tex', u'wallabag Documentation',
28 u'Nicolas Lœuillet', 'manual'),
29]
30
31man_pages = [
32 ('index', 'wallabagde', u'wallabag Documentation',
33 [u'Nicolas Lœuillet'], 1)
34]
35
36texinfo_documents = [
37 ('index', 'wallabag', u'wallabag Documentation',
38 u'Nicolas Lœuillet', 'wallabag', 'wallabag is an opensource read-it-later.',
39 'Miscellaneous'),
40]
41
42##### Guzzle sphinx theme
43
44import guzzle_sphinx_theme
45html_translator_class = 'guzzle_sphinx_theme.HTMLTranslator'
46html_theme_path = guzzle_sphinx_theme.html_theme_path()
47html_theme = 'guzzle_sphinx_theme'
48
49# Custom sidebar templates, maps document names to template names.
50html_sidebars = {
51 '**': ['logo-text.html', 'globaltoc.html', 'searchbox.html']
52}
53
54# Register the theme as an extension to generate a sitemap.xml
55extensions.append("guzzle_sphinx_theme")
diff --git a/docs/de/developer/api.rst b/docs/de/developer/api.rst
deleted file mode 100644
index 7a18afde..00000000
--- a/docs/de/developer/api.rst
+++ /dev/null
@@ -1,272 +0,0 @@
1API Dokumentation
2=================
3
4Dank dieser Dokumentation werden wir sehen, wie wir mit der wallabag API interagieren.
5
6Voraussetzungen
7---------------
8
9* wallabag frisch (oder nicht) installiert auf http://localhost:8000
10* ``httpie`` installiert auf deinem Computer (`siehe Projektwebsite <https://github.com/jkbrzt/httpie>`__). Beachte, dass du die Kommandos auch mit curl oder wget nutzen kannst.
11* alle API Methoden sind hier dokumentiert http://localhost:8000/api/doc
12
13Einen neuen API Client erstellen
14--------------------------------
15
16In deinem wallabag Account, kannst du einen neuen API Client unter dieser URL http://localhost:8000/developer/client/create erstellen.
17
18Gib dazu nur die Umleitungs-URL deiner Appliaktion an und erstelle deinen Client. Wenn deine Applikation eine Desktopapplikation ist, trage die URL, die dir am besten passt, ein.
19
20Du bekommst Informationen wie diese:
21
22::
23
24 Client ID:
25
26 1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc
27
28 Client secret:
29
30 636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4
31
32
33Einen Aktualisierungstoken erhalten
34-----------------------------------
35
36Für jeden API Aufruf brauchst du einen Token. Lass uns einen erstellen mit diesem Kommando (ersetze ``client_id``, ``client_secret``, ``username`` und ``password`` mit ihren Werten):
37
38::
39
40 http POST http://localhost:8000/oauth/v2/token \
41 grant_type=password \
42 client_id=1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc \
43 client_secret=636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4 \
44 username=wallabag \
45 password=wallabag
46
47Du bekommst folgendes zurück:
48
49::
50
51 HTTP/1.1 200 OK
52 Cache-Control: no-store, private
53 Connection: close
54 Content-Type: application/json
55 Date: Tue, 05 Apr 2016 08:44:33 GMT
56 Host: localhost:8000
57 Pragma: no-cache
58 X-Debug-Token: 19c8e0
59 X-Debug-Token-Link: /_profiler/19c8e0
60 X-Powered-By: PHP/7.0.4
61
62 {
63 "access_token": "ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA",
64 "expires_in": 3600,
65 "refresh_token": "OTNlZGE5OTJjNWQwYzc2NDI5ZGE5MDg3ZTNjNmNkYTY0ZWZhZDVhNDBkZTc1ZTNiMmQ0MjQ0OThlNTFjNTQyMQ",
66 "scope": null,
67 "token_type": "bearer"
68 }
69
70Wir werden mit dem ``access_token`` Wert in unseren nächsten Aufrufen arbeiten.
71
72cURL Beispiel:
73
74::
75
76 curl -s "https://localhost:8000/oauth/v2/token?grant_type=password&client_id=1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc&client_secret=636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4&username=wallabag&password=wallabag"
77
78Existierende Einträge erhalten
79------------------------------
80
81Dokumentation für diese Methode: http://localhost:8000/api/doc#get--api-entries.{_format}
82
83Da wir auf einer neuen wallabag Installation arbeiten, bekommen wir keine Ergebnisse mit diesem Kommando:
84
85::
86
87 http GET http://localhost:8000/api/entries.json \
88 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
89
90gibt zurück:
91
92::
93
94 HTTP/1.1 200 OK
95 0: application/json
96 Cache-Control: no-cache
97 Connection: close
98 Content-Type: application/json
99 Date: Tue, 05 Apr 2016 08:51:32 GMT
100 Host: localhost:8000
101 Set-Cookie: PHPSESSID=nrogm748md610ovhu6j70c3q63; path=/; HttpOnly
102 X-Debug-Token: 4fbbc4
103 X-Debug-Token-Link: /_profiler/4fbbc4
104 X-Powered-By: PHP/7.0.4
105
106 {
107 "_embedded": {
108 "items": []
109 },
110 "_links": {
111 "first": {
112 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
113 },
114 "last": {
115 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
116 },
117 "self": {
118 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
119 }
120 },
121 "limit": 30,
122 "page": 1,
123 "pages": 1,
124 "total": 0
125 }
126
127Das Array ``items`` ist leer.
128
129cURL Beispiel:
130
131::
132
133 curl --get "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
134
135Deinen ersten Eintrag hinzufügen
136--------------------------------
137
138Dokumentation für diese Methode: http://localhost:8000/api/doc#post--api-entries.{_format}
139
140::
141
142 http POST http://localhost:8000/api/entries.json \
143 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA" \
144 url="http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html"
145
146gibt zurück:
147
148::
149
150 HTTP/1.1 200 OK
151 0: application/json
152 Cache-Control: no-cache
153 Connection: close
154 Content-Type: application/json
155 Date: Tue, 05 Apr 2016 09:07:54 GMT
156 Host: localhost:8000
157 Set-Cookie: PHPSESSID=bjie40ck72kp2pst3i71gf43a4; path=/; HttpOnly
158 X-Debug-Token: e01c51
159 X-Debug-Token-Link: /_profiler/e01c51
160 X-Powered-By: PHP/7.0.4
161
162 {
163 "_links": {
164 "self": {
165 "href": "/api/entries/1"
166 }
167 },
168 "content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readability, le logiciel Wallabag permet de mémoriser des articles pour les lire plus tard. Sa nouvelle version apporte une multitude de nouvelles fonctionnalités.</p><p>Si vous utilisez Firefox comme navigateur web, vous avez peut-être constaté l’arrivée d’<a href=\"http://www.numerama.com/magazine/33292-update-firefox.html\">une fonctionnalité intitulée Pocket</a>. Disponible autrefois sous la forme d’un module complémentaire, et sous un autre nom (Read it Later), elle est depuis le mois de juin 2015 directement incluse au sein de Firefox.</p>\n<p>Concrètement, Pocket sert à garder en mémoire des contenus que vous croisez au fil de la navigation, comme des articles de presse ou des vidéos, afin de pouvoir les consulter plus tard. Pocket fonctionne un peu comme un système de favoris, mais en bien plus élaboré grâce à ses options supplémentaires.</p>\n<p>Mais <a href=\"https://en.wikipedia.org/wiki/Pocket_%28application%29#Firefox_integration\" target=\"_blank\">Pocket fait polémique</a>, car il s’agit d’un projet propriétaire qui est intégré dans un logiciel libre. C’est pour cette raison que des utilisateurs ont choisi de se tourner vers d’autres solutions, comme <strong>Wallabag</strong>, qui est l’équivalent libre de Pocket et d’autres systèmes du même genre, comme Instapaper et Readability.</p>\n<p>Et justement, Wallabag évolue. C’est ce dimanche que la <a href=\"https://www.wallabag.org/blog/2016/04/03/wallabag-v2\" target=\"_blank\">version 2.0.0 du logiciel</a> a été publiée par l’équipe en  charge de son développement et celle-ci contient de nombreux changements par rapport aux moutures précédentes (la <a href=\"http://doc.wallabag.org/fr/v2/\" target=\"_blank\">documentation est traduite</a> en français), lui permettant d’apparaître comme une alternative à Pocket, Instapaper et Readability.</p>\n<p><img class=\"aligncenter size-medium wp-image-160439\" src=\"http://www.numerama.com/content/uploads/2016/04/homepage-680x347.png\" alt=\"homepage\" width=\"680\" height=\"347\" srcset=\"//www.numerama.com/content/uploads/2016/04/homepage-680x347.png 680w, //www.numerama.com/content/uploads/2016/04/homepage-1024x523.png 1024w, //www.numerama.com/content/uploads/2016/04/homepage-270x138.png 270w, //www.numerama.com/content/uploads/2016/04/homepage.png 1286w\" sizes=\"(max-width: 680px) 100vw, 680px\"/></p>\n<p>Parmi les principaux changements que l’on peut retenir avec cette nouvelle version, notons la possibilité d’écrire des annotations dans les articles mémorisés, de filtrer les contenus selon divers critères (temps de lecture, nom de domaine, date de création, statut…), d’assigner des mots-clés aux entrées, de modifier le titre des articles, le support des flux RSS ou encore le support de plusieurs langues dont le français.</p>\n<p>D’autres options sont également à signaler, comme l’aperçu d’un article mémorisé (si l’option est disponible), un guide de démarrage rapide pour les débutants, un outil d’export dans divers formats (PDF, JSON, EPUB, MOBI, XML, CSV et TXT) et, surtout, la possibilité de migrer vers Wallabag depuis Pocket, afin de convaincre les usagers de se lancer.</p>\n \n \n <footer class=\"clearfix\" readability=\"1\"><p class=\"source\">\n Crédit photo de la une : <a href=\"https://www.flickr.com/photos/bookgrl/2388310523/\">Laura Taylor</a>\n </p>\n \n <p><a href=\"http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html?&amp;show_reader_reports\" target=\"_blank\" rel=\"nofollow\">Signaler une erreur dans le texte</a></p>\n \n</footer> <section class=\"related-article\"><header><h3>Articles liés</h3>\n </header><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/magazine/34444-firefox-prepare-l-enterrement-des-vieux-plugins.html\" title=\"Firefox prépare l'enterrement des vieux plugins\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135\" srcset=\"&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w,&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox prépare l'enterrement des vieux plugins\"/></div>\n <h4> Firefox prépare l'enterrement des vieux plugins </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/131636-activer-navigation-privee-navigateur-web.html\" title=\"Comment activer la navigation privée sur son navigateur web\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135\" srcset=\"&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w,&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Comment activer la navigation privée sur son navigateur web\"/></div>\n <h4> Comment activer la navigation privée sur son navigateur web </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/144028-firefox-se-mettra-a-jour-regulierement.html\" title=\"Firefox se mettra à jour un peu moins régulièrement\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135\" srcset=\"&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w,&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox se mettra à jour un peu moins régulièrement\"/></div>\n <h4> Firefox se mettra à jour un peu moins régulièrement </h4>\n </a>\n <footer class=\"span12\">\n </footer></article>\n</section>\n",
169 "created_at": "2016-04-05T09:07:54+0000",
170 "domain_name": "www.numerama.com",
171 "id": 1,
172 "is_archived": 0,
173 "is_starred": 0,
174 "language": "fr-FR",
175 "mimetype": "text/html",
176 "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
177 "reading_time": 2,
178 "tags": [],
179 "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
180 "updated_at": "2016-04-05T09:07:54+0000",
181 "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html",
182 "user_email": "",
183 "user_id": 1,
184 "user_name": "wallabag"
185 }
186
187Wenn du jetzt das vorherige Kommando (siehe **Existierende Einträge erhalten**), wirst du Daten erhalten.
188
189cURL Beispiel:
190
191::
192
193 curl "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA&url=http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html"
194
195Eintrag löschen
196-----------------
197
198Dokumentation für diese Methode: http://localhost:8000/api/doc#delete--api-entries-{entry}.{_format}
199
200::
201
202 http DELETE http://localhost:8000/api/entries/1.json \
203 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
204
205gibt zurück:
206
207::
208
209 HTTP/1.1 200 OK
210 0: application/json
211 Cache-Control: no-cache
212 Connection: close
213 Content-Type: application/json
214 Date: Tue, 05 Apr 2016 09:19:07 GMT
215 Host: localhost:8000
216 Set-Cookie: PHPSESSID=jopgnfvmuc9a62b27sqm6iulr6; path=/; HttpOnly
217 X-Debug-Token: 887cef
218 X-Debug-Token-Link: /_profiler/887cef
219 X-Powered-By: PHP/7.0.4
220
221 {
222 "_links": {
223 "self": {
224 "href": "/api/entries/"
225 }
226 },
227 "annotations": [],
228 "content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readability, le logiciel Wallabag permet de mémoriser des articles pour les lire plus tard. Sa nouvelle version apporte une multitude de nouvelles fonctionnalités.</p><p>Si vous utilisez Firefox comme navigateur web, vous avez peut-être constaté l’arrivée d’<a href=\"http://www.numerama.com/magazine/33292-update-firefox.html\">une fonctionnalité intitulée Pocket</a>. Disponible autrefois sous la forme d’un module complémentaire, et sous un autre nom (Read it Later), elle est depuis le mois de juin 2015 directement incluse au sein de Firefox.</p>\n<p>Concrètement, Pocket sert à garder en mémoire des contenus que vous croisez au fil de la navigation, comme des articles de presse ou des vidéos, afin de pouvoir les consulter plus tard. Pocket fonctionne un peu comme un système de favoris, mais en bien plus élaboré grâce à ses options supplémentaires.</p>\n<p>Mais <a href=\"https://en.wikipedia.org/wiki/Pocket_%28application%29#Firefox_integration\" target=\"_blank\">Pocket fait polémique</a>, car il s’agit d’un projet propriétaire qui est intégré dans un logiciel libre. C’est pour cette raison que des utilisateurs ont choisi de se tourner vers d’autres solutions, comme <strong>Wallabag</strong>, qui est l’équivalent libre de Pocket et d’autres systèmes du même genre, comme Instapaper et Readability.</p>\n<p>Et justement, Wallabag évolue. C’est ce dimanche que la <a href=\"https://www.wallabag.org/blog/2016/04/03/wallabag-v2\" target=\"_blank\">version 2.0.0 du logiciel</a> a été publiée par l’équipe en  charge de son développement et celle-ci contient de nombreux changements par rapport aux moutures précédentes (la <a href=\"http://doc.wallabag.org/fr/v2/\" target=\"_blank\">documentation est traduite</a> en français), lui permettant d’apparaître comme une alternative à Pocket, Instapaper et Readability.</p>\n<p><img class=\"aligncenter size-medium wp-image-160439\" src=\"http://www.numerama.com/content/uploads/2016/04/homepage-680x347.png\" alt=\"homepage\" width=\"680\" height=\"347\" srcset=\"//www.numerama.com/content/uploads/2016/04/homepage-680x347.png 680w, //www.numerama.com/content/uploads/2016/04/homepage-1024x523.png 1024w, //www.numerama.com/content/uploads/2016/04/homepage-270x138.png 270w, //www.numerama.com/content/uploads/2016/04/homepage.png 1286w\" sizes=\"(max-width: 680px) 100vw, 680px\"/></p>\n<p>Parmi les principaux changements que l’on peut retenir avec cette nouvelle version, notons la possibilité d’écrire des annotations dans les articles mémorisés, de filtrer les contenus selon divers critères (temps de lecture, nom de domaine, date de création, statut…), d’assigner des mots-clés aux entrées, de modifier le titre des articles, le support des flux RSS ou encore le support de plusieurs langues dont le français.</p>\n<p>D’autres options sont également à signaler, comme l’aperçu d’un article mémorisé (si l’option est disponible), un guide de démarrage rapide pour les débutants, un outil d’export dans divers formats (PDF, JSON, EPUB, MOBI, XML, CSV et TXT) et, surtout, la possibilité de migrer vers Wallabag depuis Pocket, afin de convaincre les usagers de se lancer.</p>\n \n \n <footer class=\"clearfix\" readability=\"1\"><p class=\"source\">\n Crédit photo de la une : <a href=\"https://www.flickr.com/photos/bookgrl/2388310523/\">Laura Taylor</a>\n </p>\n \n <p><a href=\"http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html?&amp;show_reader_reports\" target=\"_blank\" rel=\"nofollow\">Signaler une erreur dans le texte</a></p>\n \n</footer> <section class=\"related-article\"><header><h3>Articles liés</h3>\n </header><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/magazine/34444-firefox-prepare-l-enterrement-des-vieux-plugins.html\" title=\"Firefox prépare l'enterrement des vieux plugins\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135\" srcset=\"&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w,&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox prépare l'enterrement des vieux plugins\"/></div>\n <h4> Firefox prépare l'enterrement des vieux plugins </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/131636-activer-navigation-privee-navigateur-web.html\" title=\"Comment activer la navigation privée sur son navigateur web\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135\" srcset=\"&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w,&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Comment activer la navigation privée sur son navigateur web\"/></div>\n <h4> Comment activer la navigation privée sur son navigateur web </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/144028-firefox-se-mettra-a-jour-regulierement.html\" title=\"Firefox se mettra à jour un peu moins régulièrement\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135\" srcset=\"&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w,&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox se mettra à jour un peu moins régulièrement\"/></div>\n <h4> Firefox se mettra à jour un peu moins régulièrement </h4>\n </a>\n <footer class=\"span12\">\n </footer></article>\n</section>\n",
229 "created_at": "2016-04-05T09:07:54+0000",
230 "domain_name": "www.numerama.com",
231 "is_archived": 0,
232 "is_starred": 0,
233 "language": "fr-FR",
234 "mimetype": "text/html",
235 "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
236 "reading_time": 2,
237 "tags": [],
238 "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
239 "updated_at": "2016-04-05T09:07:54+0000",
240 "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html",
241 "user_email": "",
242 "user_id": 1,
243 "user_name": "wallabag"
244 }
245
246Und wenn du die existierenden Einträge nun listen willst (siehe **Existierende Einträge erhalten**), ist das Array wieder leer.
247
248cURL Beispiel:
249
250::
251
252 curl --request DELETE "https://localhost:8000/api/entries/1.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
253
254Andere Methoden
255---------------
256
257Wir werden nicht für jede API Methode Beispiele schreiben.
258
259Wirf einen Blick in die Liste http://localhost:8000/api/doc, um alle Methode kennenzulernen.
260
261
262Drittanbieter Ressourcen
263------------------------
264
265Einige Applikationen oder Bibliotheken nutzen unsere API. Hier ist eine nicht abschließende Aufzählung von ihnen:
266
267- `Java wrapper for the wallabag API <https://github.com/di72nn/wallabag-api-wrapper>`_ von Dmitriy Bogdanov.
268- `.NET library for the wallabag v2 API <https://github.com/jlnostr/wallabag-api>`_ von Julian Oster.
269- `Python API for wallabag <https://github.com/foxmask/wallabag_api>`_ von FoxMaSk, für sein Projekt `Trigger Happy <https://blog.trigger-happy.eu/>`_.
270- `A plugin <https://github.com/joshp23/ttrss-to-wallabag-v2>`_ entworfen für `Tiny Tiny RSS <https://tt-rss.org/gitlab/fox/tt-rss/wikis/home>`_, das die wallabag v2 API nutzt. Von Josh Panter.
271- `Golang wrapper for the wallabag API <https://github.com/Strubbl/wallabago>`_ von Strubbl, für seine Projekte `wallabag-stats Graph <https://github.com/Strubbl/wallabag-stats>`_ und das Kommandozeilentool `wallabag-add-article <https://github.com/Strubbl/wallabag-add-article>`_.
272- Tool, um automatisiert wallabag Artikel auf den lokalen PC oder ebook reader zu laden `wallabako <https://gitlab.com/anarcat/wallabako>`_ von anarcat.
diff --git a/docs/de/developer/asynchronous.rst b/docs/de/developer/asynchronous.rst
deleted file mode 100644
index 742dd3e5..00000000
--- a/docs/de/developer/asynchronous.rst
+++ /dev/null
@@ -1,159 +0,0 @@
1Asynchrone Aufgaben
2===================
3
4Um große asynchrone Aufgaben zu starten (etwa für große Importe), können wir RabbitMQ oder Redis nutzen.
5
6Installation von RabbitMQ für asynchrone Aufgaben
7-------------------------------------------------
8
9Voraussetzungen
10^^^^^^^^^^^^^^^
11
12Du musst RabbitMQ auf deinem Server installiert haben.
13
14Installation
15^^^^^^^^^^^^
16
17.. code:: bash
18
19 wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
20 apt-key add rabbitmq-signing-key-public.asc
21 apt-get update
22 apt-get install rabbitmq-server
23
24Konfiguration und Start
25^^^^^^^^^^^^^^^^^^^^^^^
26
27.. code:: bash
28
29 rabbitmq-plugins enable rabbitmq_management # (useful to have a web interface, available at http://localhost:15672/ (guest/guest)
30 rabbitmq-server -detached
31
32RabbitMQ stoppen
33^^^^^^^^^^^^^^^^
34
35.. code:: bash
36
37 rabbitmqctl stop
38
39RabbitMQ für wallabag konfigurieren
40^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
41
42Bearbeite deine ``app/config/parameters.yml``-Datei, um die RabbitMQ-Parameter zu ändern. Die Standardwerte sollten in Ordnung sein:
43
44.. code:: yaml
45
46 rabbitmq_host: localhost
47 rabbitmq_port: 5672
48 rabbitmq_user: guest
49 rabbitmq_password: guest
50 rabbitmq_prefetch_count: 10 # lesen http://www.rabbitmq.com/consumer-prefetch.html
51
52RabbitMQ in wallabag aktivieren
53^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
54
55In den internen Einstellungen, aktiviere RabbitMQ im Import-Abschnitt mit dem Wert 1.
56
57Starte den RabbitMQ-Consumer
58^^^^^^^^^^^^^^^^^^^^^^^^^^^^
59
60Abhängig davon, über welchen Service du importieren möchtest, musst du den entsprechenden (oder mehrere) Cronjob aktivieren:
61
62.. code:: bash
63
64 # für den Pocket-Import
65 bin/console rabbitmq:consumer -e=prod import_pocket -w
66
67 # für den Readability-Import
68 bin/console rabbitmq:consumer -e=prod import_readability -w
69
70 # für den Instapaper-Import
71 bin/console rabbitmq:consumer -e=prod import_instapaper -w
72
73 # für den wallabag v1-Import
74 bin/console rabbitmq:consumer -e=prod import_wallabag_v1 -w
75
76 # für den wallabag v2-Import
77 bin/console rabbitmq:consumer -e=prod import_wallabag_v2 -w
78
79 # für den Firefox-Import
80 bin/console rabbitmq:consumer -e=prod import_firefox -w
81
82 # für den Chrome-Import
83 bin/console rabbitmq:consumer -e=prod import_chrome -w
84
85Redis für asynchrone Aufgaben installieren
86------------------------------------------
87
88Um große asynchrone Aufgaben zu starten (etwa für große Importe), können wir auch Redis nutzen.
89
90Voraussetzungen
91^^^^^^^^^^^^^^^
92
93Du musst Redis auf deinem Server installiert haben.
94
95Installation
96^^^^^^^^^^^^
97
98.. code:: bash
99
100 apt-get install redis-server
101
102Start
103^^^^^
104
105Der Server kann bereits nach der Installation laufen, falls nicht, kannst du ihn wie folgt starten:
106
107.. code:: bash
108
109 redis-server
110
111
112Redis für wallabag konfigurieren
113^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
114
115Bearbeite deine ``app/config/parameters.yml``-Datei, um die Redis-Parameter zu ändern. Die Standardwerte sollten in Ordnung sein:
116
117.. code:: yaml
118
119 redis_host: localhost
120 redis_port: 6379
121
122Redis in wallabag aktivieren
123^^^^^^^^^^^^^^^^^^^^^^^^^^^^
124
125In den internen Einstellungen, aktiviere Redis im Import-Abschnitt mit dem Wert 1.
126
127Starten des Redis-Consumer
128^^^^^^^^^^^^^^^^^^^^^^^^^^
129
130Abhängig davon, über welchen Service du importieren möchtest, musst du den entsprechenden (oder mehrere) Cronjob aktivieren:
131
132.. code:: bash
133
134 # für den Pocket-Import
135 bin/console wallabag:import:redis-worker -e=prod pocket -vv >> /path/to/wallabag/var/logs/redis-pocket.log
136
137 # für den Readability-Import
138 bin/console wallabag:import:redis-worker -e=prod readability -vv >> /path/to/wallabag/var/logs/redis-readability.log
139
140 # für den Instapaper-Import
141 bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-instapaper.log
142
143 # für den wallabag v1-Import
144 bin/console wallabag:import:redis-worker -e=prod wallabag_v1 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v1.log
145
146 # für den wallabag v2-Import
147 bin/console wallabag:import:redis-worker -e=prod wallabag_v2 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v2.log
148
149 # für den Firefox-Import
150 bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log
151
152 # für den Chrome-Import
153 bin/console wallabag:import:redis-worker -e=prod chrome -vv >> /path/to/wallabag/var/logs/redis-chrome.log
154
155Wenn du den Import nur für einige Artikel nutzen willst, kannst du die Nummer festlegen (hier: 12) und der Consumer wird nach dem zwölften Artikel aufhören:
156
157.. code:: bash
158
159 bin/console wallabag:import:redis-worker -e=prod pocket -vv --maxIterations=12
diff --git a/docs/de/developer/docker.rst b/docs/de/developer/docker.rst
deleted file mode 100644
index 9948fe8c..00000000
--- a/docs/de/developer/docker.rst
+++ /dev/null
@@ -1,57 +0,0 @@
1Lasse wallabag in docker-compose laufen
2=======================================
3
4Um deine eigene Entwicklungsinstanz von wallabag laufen zu lassen,
5möchtest du vielleicht die vorkonfigurierten docker compose Dateien
6nutzen.
7
8Voraussetzungen
9---------------
10
11Stelle sicher `Docker
12<https://docs.docker.com/installation/ubuntulinux/>`__ und `Docker
13Compose <https://docs.docker.com/compose/install/>`__ auf deinem
14System verfügbar und aktuell zu haben.
15
16Wechsel des DBMS
17----------------
18
19Standardmäßig startet wallabag mit einer SQLite Datenbank.
20Da wallabag Unterstützung für Postgresql und MySQL bietet, gibt es
21auch docker Container für diese.
22
23In der ``docker-compose.yml`` kommentierst du für das gewählte DBMS
24aus:
25
26- die Container Definition (``postgres`` oder ``mariadb`` root
27 Level Block)
28- den Container Link in dem ``php`` Container
29- die Container Umgebungsdatei in dem ``php`` Container
30
31Um mit Symfony Kommandos auf deinem Host auszuführen (wie z.B.
32``wallabag:install``), sollst du außerdem:
33
34- die richtige Umgebungsdatei auf deiner Kommandozeile einlesen,
35 sodass Variablen wie ``SYMFONY__ENV__DATABASE_HOST`` existieren
36- eine Zeile ``127.0.0.1 rdbms`` in deiner ``hosts`` Datei auf dem
37 System erstellen
38
39wallabag laufen lassen
40----------------------
41
42#. Forke und klone das Projekt
43#. Bearbeite ``app/config/parameters.yml`` um ``database_*``
44 Eigenschaften mit den kommentierten zu ersetzen (mit Werten
45 mit ``env.`` Präfix)
46#. ``composer install`` die Projektabhängigkeiten
47#. ``php bin/console wallabag:install``, um das Schema zu erstellen
48#. ``docker-compose up`` um die Container laufen zu lassen
49#. Schließlich öffne http://localhost:8080/, um dein frisch
50 installiertes wallabag zu finden.
51
52In den verschiedenen Schritten wirst du vielleicht in verschiendene
53Probleme laufen wie UNIX Berechtigungsprobleme, falschen Pfaden im
54generierten Cache, etc.…
55Operationen wie das Löschen der Cachedateien oder das Ändern der
56Dateibesitzer können öfter gebraucht werden, darum habe keine Angst
57sie anzupassen.
diff --git a/docs/de/developer/documentation.rst b/docs/de/developer/documentation.rst
deleted file mode 100644
index 41e19363..00000000
--- a/docs/de/developer/documentation.rst
+++ /dev/null
@@ -1,10 +0,0 @@
1Wirke an dieser Dokumentation mit
2=================================
3
4Quellen der Dokumentation sind hier zu finden https://github.com/wallabag/wallabag/tree/master/docs
5
6Wir nutzen `ReadTheDocs <https://readthedocs.org>`__, um sie zu generieren.
7
8Seiten werden in `reStructuredText <https://de.wikipedia.org/wiki/ReStructuredText>`__ geschrieben. Du kannst Onlinetools wie http://rst.aaroniles.net/ oder http://rst.ninjs.org/ nutzen, um eine Vorschau deiner Artikel zu betrachten.
9
10Wenn du eine neue Seite erstellst, vergiss nicht die `index.rst <https://raw.githubusercontent.com/wallabag/wallabag/master/docs/en/index.rst>`__ zu bearbeiten, um dort einen Link für die Seitenleiste hinzuzufügen.
diff --git a/docs/de/developer/paywall.rst b/docs/de/developer/paywall.rst
deleted file mode 100644
index 365027b4..00000000
--- a/docs/de/developer/paywall.rst
+++ /dev/null
@@ -1,56 +0,0 @@
1Articles behind a paywall
2=========================
3
4wallabag can fetch articles from websites which use a paywall system.
5
6Enable paywall authentication
7-----------------------------
8
9In internal settings, in the **Article** section, enable authentication for websites with paywall (with the value 1).
10
11Configure credentials in wallabag
12---------------------------------
13
14Edit your ``app/config/parameters.yml`` file to edit credentials for each website with paywall. Here is an example for some french websites:
15
16.. code:: yaml
17
18 sites_credentials:
19 mediapart.fr: {username: "myMediapartLogin", password: "mypassword"}
20 arretsurimages.net: {username: "myASILogin", password: "mypassword"}
21
22.. note::
23
24 These credentials will be shared between each user of your wallabag instance.
25
26Parsing configuration files
27---------------------------
28
29.. note::
30
31 Read `this part of the documentation <http://doc.wallabag.org/en/master/user/errors_during_fetching.html>`_ to understand the configuration files.
32
33Each parsing configuration file needs to be improved by adding ``requires_login``, ``login_uri``,
34``login_username_field``, ``login_password_field`` and ``not_logged_in_xpath``.
35
36Be careful, the login form must be in the page content when wallabag loads it. It's impossible for wallabag to be authenticated
37on a website where the login form is loaded after the page (by ajax for example).
38
39``login_uri`` is the action URL of the form (``action`` attribute in the form).
40``login_username_field`` is the ``name`` attribute of the login field.
41``login_password_field`` is the ``name`` attribute of the password field.
42
43For example:
44
45.. code::
46
47 title://div[@id="titrage-contenu"]/h1[@class="title"]
48 body: //div[@class="contenu-html"]/div[@class="page-pane"]
49
50 requires_login: yes
51
52 login_uri: http://www.arretsurimages.net/forum/login.php
53 login_username_field: username
54 login_password_field: password
55
56 not_logged_in_xpath: //body[@class="not-logged-in"]
diff --git a/docs/de/developer/testsuite.rst b/docs/de/developer/testsuite.rst
deleted file mode 100644
index b2b16cdc..00000000
--- a/docs/de/developer/testsuite.rst
+++ /dev/null
@@ -1,10 +0,0 @@
1Testsuite
2=========
3
4To ensure wallabag development quality, we wrote tests with `PHPUnit <https://phpunit.de>`_.
5
6If you contribute to the project (by translating the application, by fixing bugs or by adding a new feature), please write your own tests.
7
8To launch wallabag testsuite, you need to install `ant <http://ant.apache.org>`_.
9
10Then, execute this command ``make test``.
diff --git a/docs/de/developer/translate.rst b/docs/de/developer/translate.rst
deleted file mode 100644
index 10544e31..00000000
--- a/docs/de/developer/translate.rst
+++ /dev/null
@@ -1,57 +0,0 @@
1Übersetze wallabag
2==================
3
4wallabag Webapplikation
5-----------------------
6
7Übersetzungsdateien
8~~~~~~~~~~~~~~~~~~~
9
10.. note::
11
12 Da wallabag hauptsächlich von einem französischem Team entwickelt wird, betrachte
13 die französische Übersetzung als die aktuellste und kopiere sie, um deine eigene Übersetzung zu starten.
14
15Du kannst die Übersetzungsdateien hier finden: https://github.com/wallabag/wallabag/tree/master/src/Wallabag/CoreBundle/Resources/translations.
16
17Du musst die ``messages.CODE.yml`` und ``validators.CODE.yml`` erstellen, wobei CODE
18der ISO 639-1 Code deiner Sprache ist (`siehe Wikipedia <https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes>`__).
19
20Andere Dateien zum Übersetzen:
21
22- https://github.com/wallabag/wallabag/tree/master/app/Resources/CraueConfigBundle/translations.
23- https://github.com/wallabag/wallabag/tree/master/src/Wallabag/UserBundle/Resources/translations.
24
25Du musst die ``THE_TRANSLATION_FILE.CODE.yml`` Dateien erstellen.
26
27Konfigurationsdatei
28~~~~~~~~~~~~~~~~~~~
29
30Du musst die `app/config/config.yml <https://github.com/wallabag/wallabag/blob/master/app/config/config.yml>`__ bearbeiten,
31um deine Sprache auf der Konfigurationsseite in wallabag anzuzeigen (um Nutzern zu erlauben zu dieser neuen Übersetzung zu wechseln).
32
33Unter dem Abschnitt ``wallabag_core.languages`` musst du eine neue Zeile mit deiner Übersetzung hinzufügen. Zum Beispiel:
34
35::
36
37 wallabag_core:
38 ...
39 languages:
40 en: 'English'
41 fr: 'Français'
42
43
44Für die erste Spalte (``en``, ``fr``, etc.) musst du den ISO 639-1 Code deiner Sprache hinzufügen (siehe oben).
45
46Für die zweite Spalte trägst du den Namen deiner Sprache ein. Nur den.
47
48wallabag Dokumentation
49----------------------
50
51.. note::
52
53 Im Gegensatz zur Webapplikation ist die Hauptsprache für die Dokumentation Englisch.
54
55Documentationsdateien sind hier gespeichert: https://github.com/wallabag/wallabag/tree/master/docs
56
57Du musst die Ordnerstruktur des Ordners ``en`` beachten, wenn du deine eigene Übersetzung startest.
diff --git a/docs/de/index.rst b/docs/de/index.rst
deleted file mode 100644
index 6e725fbe..00000000
--- a/docs/de/index.rst
+++ /dev/null
@@ -1,53 +0,0 @@
1wallabag Dokumentation
2======================
3
4.. image:: ../img/wallabag.png
5 :alt: wallabag Logo
6 :align: center
7
8**wallabag** ist eine Read-it-later Applikation: es speichert Websites,
9indem es nur den Inhalt behält. Elemente wie Navigation oder Werbung werden gelöscht.
10
11Die Hauptdokumentation für diese Applikation ist in einigen Abschnitten organisiert:
12
13* :ref:`user-docs`
14* :ref:`dev-docs`
15
16Die Dokumentation ist in anderen Sprachen verfügbar :
17
18* `Documentation in english <http://doc.wallabag.org/en/master/>`_
19* `Documentation en français <http://doc.wallabag.org/fr/master/>`_
20
21.. _user-docs:
22
23.. toctree::
24 :maxdepth: 2
25 :caption: Nutzerdokumentation
26
27 user/installation
28 user/upgrade
29 user/configuration
30 user/import
31 user/create_account
32 user/articles
33 user/errors_during_fetching
34 user/filters
35 user/tags
36 user/configuring_mobile
37 user/android
38 user/parameters
39 user/backup
40 user/faq
41
42.. _dev-docs:
43
44.. toctree::
45 :maxdepth: 2
46 :caption: Entwicklerdokumentation
47
48 developer/api
49 developer/docker
50 developer/paywall
51 developer/documentation
52 developer/translate
53 developer/asynchronous
diff --git a/docs/de/requirements.txt b/docs/de/requirements.txt
deleted file mode 100644
index 06fc8973..00000000
--- a/docs/de/requirements.txt
+++ /dev/null
@@ -1,2 +0,0 @@
1Sphinx>=1.3.0,<1.4.0
2guzzle_sphinx_theme>=0.7.0,<0.8.0
diff --git a/docs/de/user/android.rst b/docs/de/user/android.rst
deleted file mode 100644
index 31509438..00000000
--- a/docs/de/user/android.rst
+++ /dev/null
@@ -1,102 +0,0 @@
1Android App
2===========
3
4
5Zweck dieses Dokuments
6----------------------
7
8Dieses Dokument beschreibt wie du deine Android App einrichtest, damit sie mit deiner Wallabaginstanz zusammenarbeitet. Es gibt hierbei keinen Unterschied im Vorgang - egal ob du Wallabag v1 oder v2 einsetzt.
9
10
11Schritte, um dein App zu einzurichten
12-------------------------------------
13
14Wenn du das erste Mal die App startest, siehst du den Willkommensbildschirm, wo du angewiesen wirst zunächst deine App mit deiner Wallabaginstanz einzurichten.
15
16.. image:: ../../img/user/android_welcome_screen.de.png
17 :alt: Willkommensbildschirm
18 :align: center
19
20Bestätige nur diese Nachricht und du wirst zum Einstellungsbildschirm weitergeleitet.
21
22.. image:: ../../img/user/android_configuration_screen.de.png
23 :alt: Einstellungsbildschirm
24 :align: center
25
26Trage deine Wallabagdaten ein. Du musst deine Wallabagadresse eintragen. **Es ist wichtig, dass die URL nicht mit einem Schrägstrich endet.** Füge auch deine Wallabagzugangsdaten in das Nutzer- und Passwortfeld ein.
27
28.. image:: ../../img/user/android_configuration_filled_in.de.png
29 :alt: Eingetragene Einstellungen
30 :align: center
31
32Nachdem du deine Daten eingetragen hast, drücke den Button Verbindung testen und warte auf das Fertigstellen des Tests.
33
34.. image:: ../../img/user/android_configuration_connection_test.de.png
35 :alt: Verbindungstest mit deinen Wallabagdaten
36 :align: center
37
38Der Verbindungstest sollte mit Erfolg ausgehen. Falls nicht, musst du zunächst deine Daten korrigieren bevor du zum nächsten Schritt gehst.
39
40.. image:: ../../img/user/android_configuration_connection_test_success.de.png
41 :alt: Verbindungstest war erfolgreich
42 :align: center
43
44Nach dem Verbindungstest erfolgreich war, kannst du den Button zum Feedzugangsdaten abholen drücken. Die App versucht nun sich bei deiner Wallabaginstanz einzuloggen und die Nutzer ID und den dazugehörigen Token für die Feeds zu laden.
45
46.. image:: ../../img/user/android_configuration_get_feed_credentials.de.png
47 :alt: Feedzugangsdaten abholen
48 :align: center
49
50Wenn der Prozess des Abholens deiner Feedzugangsdaten erfolgreich beendet wurde, siehst du eine Toastnachricht, dass die User ID und der Token automatisch in das Formular eingetragen wurden.
51
52.. image:: ../../img/user/android_configuration_feed_credentials_automatically_filled_in.de.png
53 :alt: Feedzugangsdaten erfolgreich abgeholt
54 :align: center
55
56Jetzt scrollst du bis zum unteren Rand des Einstellungsbildschirms. Natürlich kannst du die Einstellungen dort deinen Wünschen anpassen. Schließe die Einrichtung mit dem Drücken des Speicherbuttons ab.
57
58.. image:: ../../img/user/android_configuration_scroll_bottom.de.png
59 :alt: unterer Rand des Einstellungsbildschirms
60 :align: center
61
62Nachdem du den Speicherbutton gedrückt hast, kommst du in den folgenden Bildschirm. Die App schlägt vor, eine initiale Synchronisation der Artikelfeeds durchzuführen. Hier ist es empfohlen, dies zu bestätigen und Ja zu drücken.
63
64.. image:: ../../img/user/android_configuration_saved_feed_update.de.png
65 :alt: Einstellung erstmals gespeichert
66 :align: center
67
68Schließlich nach der ersten erfolgreichen Synchronisation, wird dir die Liste der ungelesenen Artikel präsentiert.
69
70.. image:: ../../img/user/android_unread_feed_synced.de.png
71 :alt: Gefüllte Artikellist da Feeds erfolgreich synchronisiert sind
72 :align: center
73
74
75
76Bekannte Limitierungen
77---------------------
78
79Zwei-Faktor-Authentifizierung (2FA)
80~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81
82Zur Zeit unterstützt die App keine Zwei-Faktor Authentifizierung. Du solltest sie deaktivieren damit die App funktioniert.
83
84
85Begrenzte Anzahl Artikel mit Wallabag v2
86~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87
88In deiner Wallabaginstanz kannst du einstellen, wie viele Artikel Teil deiner RSS Feeds sind. Diese Option existierte in Wallabag v1 nicht, wo immer alle Artikel Teil des Feeds waren. Also wenn du die Anzahl der Artikel, die in der App angezeigt werden sollen, größer einstellst als die Anzahl Artikel in deinem Feed, wirst du nur die Anzahl an Artikel deines Feeds sehen.
89
90
91SSL/TLS Verschlüsselung
92~~~~~~~~~~~~~~~~~~~~~~~
93
94Wenn du deine Wallabaginstanz per HTTPS erreichen kannst, solltest du das so konfigurieren. Besonders dann, wenn deine HTTP URL nach HTTPS umleitet. Im Moment kann die App mit dieser Weiterleitung nicht korrekt umgehen.
95
96
97Referenzen
98----------
99
100- `Quellcode der Android-App <https://github.com/wallabag/android-app>`_
101- `Android-App auf F-Droid <https://f-droid.org/repository/browse/?fdfilter=wallabag&fdid=fr.gaulupeau.apps.InThePoche>`_
102- `Android-App auf Google Play <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche>`_ \ No newline at end of file
diff --git a/docs/de/user/articles.rst b/docs/de/user/articles.rst
deleted file mode 100644
index b6893a2c..00000000
--- a/docs/de/user/articles.rst
+++ /dev/null
@@ -1,113 +0,0 @@
1Artikel
2=======
3
4Speichere deinen ersten Artikel
5-------------------------------
6
7Die Hauptzweck von wallabag ist es, Artikel aus dem Web zu speichern. Es gibt viele Wege, dieses Ziel zu erreichen.
8Wenn du denkst, dass ein Artikel falsch angezeigt wird, kannst du `diese Dokumentation lesen <http://doc.wallabag.org/de/master/user/errors_during_fetching.html>`_.
9
10Über ein Bookmarklet
11^^^^^^^^^^^^^^^^^^^^
12
13Auf der ``Howto``-Seite hast du einen ``Bookmarklet``-Tab. Ziehe das ``bag it!`` in die Lesezeichenleiste deines Browsers.
14Nun kannst du jedes Mal, wenn du einen Artikel speichern willst, auf den ``bag it!``-Link klicken, dann ist der Artikel gespeichert.
15
16Der klassische Weg
17^^^^^^^^^^^^^^^^^^
18
19In der oberen Leiste deines Fensters hast du auf der rechten Seite drei Symbole. Mit dem ersten Symbole, einem Plus-Zeichen, kannst du auf einfache Weise einen neuen Artikel speichern.
20
21.. image:: ../../img/user/topbar.png
22 :alt: Top bar
23 :align: center
24
25Klicke darauf, um ein neues Feld anzuzeigen, füge die Artikel-URL ein und drücke Enter. Dann wird der Artikel gespeichert.
26
27Über ein Browser-Addon
28^^^^^^^^^^^^^^^^^^^^^^
29
30Firefox
31"""""""
32
33Du kannst das `Firefox-Addon hier <https://addons.mozilla.org/firefox/addon/wallabagger/> herunterladen`_.
34
35Chrome
36""""""
37
38Du kannst das `Chrome-Addon hier <https://chrome.google.com/webstore/detail/wallabagger/gbmgphmejlcoihgedabhgjdkcahacjlj?hl=fr> herunterladen`_.
39
40Über das Smartphone
41^^^^^^^^^^^^^^^^^^^
42
43Android
44"""""""
45
46Du kannst die `Android-App hier <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche>`_ oder auf `F-Droid <https://f-droid.org/repository/browse/?fdid=fr.gaulupeau.apps.InThePoche>`_ herunterladen.
47
48Windows 10 in general
49"""""""""""""""""""""
50
51Du kannst die `Windows-App hier <https://www.microsoft.com/store/apps/9nblggh5x3p6> herunterladen`_.
52
53Artikel herunterladen
54---------------------
55
56Du kannst jeden Artikel in verschiedenen Formaten herunterladen: ePUB, MOBI, PDF, XML, JSON, CSV.
57
58Klicke in der Artikelansicht auf dieses Symbol in der Seitenleiste:
59
60.. image:: ../../img/user/download_article.png
61 :alt: Artikel herunterladen
62 :align: center
63
64Du kannst sogar eine ganze Kategorie (Ungelesen, Favoriten, Archiv) in diesen Formaten herunterladen:
65Beispielsweise kannst du auf der **Ungelesen**-Ansicht auf dieses Symbol in der oberen Leiste klicken:
66
67.. image:: ../../img/user/download_articles.png
68 :alt: Artikel herunterladen
69 :align: center
70
71Artikel teilen
72--------------
73
74Wenn du einen Artikel liest, kannst du ihn auch teilen. Klicke dazu einfach auf den Teilen-Button:
75
76.. image:: ../../img/user/share.png
77 :alt: Artikel teilen
78 :align: center
79
80Nun kannst du den Artikel teilen:
81
82- über eine öffentliche URL (es wird eine reduzierte Ansicht des Artikels zurückgegeben)
83- über einen Tweet
84- in deine Shaarli
85- in deine Scuttle
86- mit einem Beitrag auf Diaspora*
87- an Carrot
88- mit einer E-Mail
89
90Artikel-Anmerkungen
91-------------------
92
93In jedem Artikel, den du liest, kannst du Anmerkungen hinzufügen. Es ist einfacher mit ein paar Bilder erklärt.
94
95Wähle den Teil des Artikels aus, den du kommentieren willst und klicke auf den Bleistift:
96
97.. image:: ../../img/user/annotations_1.png
98 :alt: Wähle den Text
99 :align: center
100
101Schreibe deinen Kommentar:
102
103.. image:: ../../img/user/annotations_2.png
104 :alt: Schreibe deinen Kommentar
105 :align: center
106
107Der Text ist nun hervorgehoben und du kannst deine Anmerkung lesen, wenn du den Mauspfeil darüber fährst.
108
109.. image:: ../../img/user/annotations_3.png
110 :alt: lese deine Anmerkung
111 :align: center
112
113Du kannst so viele Anmerkungen erstellen wie du möchtest.
diff --git a/docs/de/user/backup.rst b/docs/de/user/backup.rst
deleted file mode 100644
index 521e17ad..00000000
--- a/docs/de/user/backup.rst
+++ /dev/null
@@ -1,25 +0,0 @@
1wallabag sichern
2================
3Da es manchmal vorkommen kann, dass dir ein Fehler mit deiner wallabag unterläuft und du Daten verlierst oder deine wallabag auf einen anderen Server verschieben willst, ist eine Sicherung der Daten sicher ratsam.
4Dieser Artikel beschreibt, was du für die Sicherung benötigst.
5
6Grundlegende Einstellungen
7--------------------------
8wallabag speichert grundlegende Parameter (etwa der SMTP-Server oder das Datenbank-Backend) in der Datei `app/config/parameters.yml`.
9
10Datenbank
11---------
12Da wallabag verschiedene Datenbank-Typen unterstützt, hängt der Weg der Sicherung von dem verwendeten Typ ab. Daher verweisen wir an dieser Stelle auf die entsprechenden Dokumentationen:
13
14Hier sind einige Beispiele:
15
16- MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html
17- PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html
18
19SQLite
20~~~~~~
21Um die SQLite-Datenbank zu sichern, ist es lediglich notwendig, das Verzeichnis `data/db` aus dem wallabag-Installations-Ordner zu kopieren.
22
23Bilder
24------
25Die Bilder, die von wallabag empfangen worden, sind unter `web/assets/images` gespeichert (der Bilder-Speicher wird in wallabag 2.2 implementiert).
diff --git a/docs/de/user/configuration.rst b/docs/de/user/configuration.rst
deleted file mode 100644
index 06cae7cb..00000000
--- a/docs/de/user/configuration.rst
+++ /dev/null
@@ -1,131 +0,0 @@
1Konfiguration
2=============
3
4Nun, da du eingeloggt bist, ist es Zeit, deinen Account so zu konfigurieren,
5wie du möchtest.
6
7Klicke auf ``Konfiguration`` im Menü. Du hast fünf Karteireiter: ``Einstellungen``,
8``RSS``, ``Benutzer-Informationen``, ``Kennwort`` und ``Tagging-Regeln``.
9
10Einstellungen
11-------------
12
13Theme
14~~~~~
15
16wallabag ist anpassbar. Du kannst dein bevorzugtes Theme hier auswählen. Das Standardtheme
17ist ``Material``, es ist das Theme, dass in den Dokumentationsbildschirmfotos genutzt wird.
18
19Artikel pro Seite
20~~~~~~~~~~~~~~~~~
21
22Du kannst die Anzahl der dargestellten Artikel pro Seite ändern.
23
24Lesegeschwindigkeit
25~~~~~~~~~~~~~~~~~~~
26
27wallabag berechnet die Lesezeit für jeden Artikel. Du kannst hier definieren, dank dieser Liste, ob du
28ein schneller oder langsamer Leser bist. wallabag wird die Lesezeit für jeden Artikel neu berechnen.
29
30Wohin möchtest du weitergeleitet werden, nach dem ein Artikel als gelesen markiert wurde?
31~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32
33Jedes Mal, wenn du eine Aktion ausführst (nach dem Markieren eines Artikels als gelesen oder Favorit, nach dem Löschen eines Artikels oder dem Entfernen eines Tag von einem Eintrag), kannst du weitergeleitet werden:
34
35- zur Homepage
36- zur aktuellen Seite
37
38Sprache
39~~~~~~~
40
41Du kannst die Sprache von der wallabag Benutzeroberfläche ändern.
42
43RSS
44---
45
46wallabag stellt RSS Feeds für jeden Artikelstatus bereit: ungelesen, Favoriten und Archiv.
47
48Als erstes musst du einen persönlciehn Token erstellen: Klicke auf ``Token generieren``.
49Es ist möglich deinen Token zu ändern, indem du auf ``Token zurücksetzen`` klickst.
50
51Jetzt hast du drei Links, einen für jeden Status: Füge sie in deinem liebsten Feedreader hinzu.
52
53Du kannst auch definieren wie viele Artikel du in deinem RSS Feed (Standardwert: 50) haben willst.
54
55There is also a pagination available for these feeds. You can add ``?page=2`` to jump to the second page.
56The pagination follow `the RFC <https://tools.ietf.org/html/rfc5005#page-4>`_ about that, which means you'll find the ``next``, ``previous`` & ``last`` page link inside the `<channel>` tag of each RSS feed.
57
58Benutzer-Informationen
59----------------------
60
61Du kannst deinen Namen ändern, deine E-Mail-Adresse und die Zwei-Faktor-Authentifizierung aktivieren.
62
63Zwei-Faktor-Authentifizierung (2FA)
64~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65
66 Die Zwei-Faktor-Authentifizierung (2FA) dient dem Identitätsnachweis eines Nutzers mittels der
67 Kombination zweier verschiedener und insbesondere unabhängiger Komponenten (Faktoren).
68
69 https://de.wikipedia.org/wiki/Zwei-Faktor-Authentifizierung
70
71**Warnung:** Das Aktivieren von 2FA über das Konfigurations-Interface ist nur möglich, wenn vorher in der `app/config/parameters.yml` die `twofactor_auth`-Eigenschaft auf `true` gesetzt wurde (nach der Konfiguration das Leeren des Cache mit `php bin/console cache:clear -e=prod` nicht vergessen).
72
73Wenn du 2FA aktivierst, erhälst du jedes Mal, wenn du dich bei wallabag einloggen willst, einen Code per
74Mail. Du musst den Code in das folgende Formular eingeben.
75
76.. image:: ../../img/user/2FA_form.png
77 :alt: Zwei-Faktor-Authentifizierung
78 :align: center
79
80Wenn du nicht jedes Mal, wenn du dich einloggen willst, einen Code zugesendet bekommen möchtest, kannst du
81die Checkbox ``Ich bin an einem persönlichen Computer`` anhaken: wallabag wird sich an dich für 15 Tage
82erinnern.
83
84Passwort
85--------
86
87Du kannst dein Passwort hier ändern (8 Zeichen Minimum).
88
89Tagging-Regeln
90--------------
91
92Wenn du automatisch einen Tag zu einem neuen Artikel zuweisen lassen möchtest, ist dieser Teil der
93Konfiguration, was du suchst.
94
95Was ist mit Tagging-Regeln gemeint?
96~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
97
98Dies sind Regeln, die von wallabag genutzt werden, um neue Artikel automatisch zu taggen
99Jedes Mal, wenn ein neuer Artikel hinzugefügt wird, werden alle Tagging-Regeln genutzt, um deine
100konfigurierten Tags hinzuzufügen, folglich um dir den Aufwand zu sparen, die Artikel manuell einzuteilen.
101
102Wie benutze ich sie?
103~~~~~~~~~~~~~~~~~~~~
104
105Nehmen wir an, du möchtest neuen Artikeln einen Tag *schnell gelesen*, wenn du die Lesezeit kleiner als
1063 Minuten ist.
107In diesem Fall solltest du in das Regelfeld "readingTime <= 3" eintragen und *schnell gelesen* in das Tags-Feld.
108Mehrere Tags können gleichzeitig hinzugefügt werden, wenn man sie mit einem Komma trennt:
109*schnell gelesen, Pflichtlektüre*.
110Komplexe Regeln können mit vordefinierten Operatoren geschrieben werden:
111Wenn *readingTime >= 5 AND domainName = "github.com"*, dann tagge als *lange zu lesen, github*.
112
113Welche Variablen und Operatoren kann ich zum Regeln schreiben nutzen?
114~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
115
116Die folgenden Variablen und Operatoren können genutzt werden, um Tagging-Regeln zu erstellen (sei vorsichtig, denn bei einigen Werten musst du Anführungszeichen hinzufügen, z.B. ``language = "de"``):
117
118=========== ============================================== ========== ==========
119Variable Bedeutung Operator Bedeutung
120----------- ---------------------------------------------- ---------- ----------
121title Titel des Artikels <= Kleiner gleich als…
122url URL des Artikels < Kleiner als…
123isArchived Ob der Artikel archiviert ist oder nicht => Größer gleich als…
124isStarred Ob der Artikel favorisiert ist oder nicht > Größer als…
125content Inhalt des Eintrags = Gleich zu…
126language Sprache des Eintrags != Nicht gleich zu…
127mimetype MIME-Typ des Eintrags OR Eine Regel oder die andere
128readingTime Die geschätzte Lesezeit in Minuten AND Eine Regel und die andere
129domainName Der Domain-Name des Eintrags matches Testet, dass ein Feld einer Suche (unabhängig von Groß- und Kleinschreibung) übereinstimmt. Z.B.: title matches "Fußball"
130 notmatches
131=========== ============================================== ========== ==========
diff --git a/docs/de/user/configuring_mobile.rst b/docs/de/user/configuring_mobile.rst
deleted file mode 100644
index c80320c9..00000000
--- a/docs/de/user/configuring_mobile.rst
+++ /dev/null
@@ -1,12 +0,0 @@
1Konfiguration mobiler Apps für wallabag
2=======================================
3
4Schritte zum Konfigurieren der App
5----------------------------------
6
7- Als Erstes erstellst du einen *neuen Client* in dem Abschnitt ``API Client Management``. Der Name deiner App ist dabei nicht so wichtig wie die ``Client-ID`` und das ``Client-Secret``. Schreib diese zwei Werte auf.
8- Wenn du eine mobile App herunterlädst, wird sie dich nach der Server-Adresse deiner wallabag-Instanz fragen. Zum Beispiel ist es ``https://app.wallabag.it`` bei wallabag.it.
9- Sie wird dich auch nach den zuvor genannten ``Client-ID`` und ``Client-Secret`` fragen. Bitte trage diese in die Textfelder ein, wenn du danach gefragt wirst.
10- Zuletzt musst du deinen ``Benutzernamen`` und ``Passwort`` bereitstellen. Diese Zugangsdaten sind die gleichen, die du zum Login bei wallabag nutzt.
11
12Bitte schaue auch auf die `Android <android.html>`_ Seite und dort insbesondere den Abschnitt *Bekannte Limitierungen*.
diff --git a/docs/de/user/create_account.rst b/docs/de/user/create_account.rst
deleted file mode 100644
index 14a7d006..00000000
--- a/docs/de/user/create_account.rst
+++ /dev/null
@@ -1,41 +0,0 @@
1Account erstellen
2=================
3
4Registrierungsformular
5----------------------
6
7Klicke auf der Loginseite auf den ``Registrieren`` Button-
8
9.. image:: ../../img/user/registration_form.png
10 :alt: Registrierungsformular
11 :align: center
12
13Du musst das Formular ausfüllen. Bitte stelle sicher, dass du eine gültige
14E-Mail-Adresse eingibst, wir werden dir eine Aktivierungsmail schicken.
15
16.. image:: ../../img/user/sent_email.png
17 :alt: E-Mail wurde gesendet, um Account zu aktivieren
18 :align: center
19
20Überprüfge deinen Posteingang, du hast jetzt eine neue Mail mit einem Link wie diesen
21``http://wallabag/register/confirm/Ba19wokGovN-DdBQNfg4YgRkUQWRP4-k2g0Bk-hBTX4``.
22Klicke auf den Link, um deinen Account zu aktivieren.
23
24Dein Account ist nun aktiviert.
25
26.. image:: ../../img/user/activated_account.png
27 :alt: Willkommen!
28 :align: center
29
30Anmeldung
31---------
32
33Glückwunsch, dein Account ist nun aktiviert!
34Um dich auf wallabag anzumelden, fülle das Formular auf der Login-Seite aus.
35
36Wenn du auf einem persönlichen Computer bist und angemeldet bleiben möchtest,
37kannst du ein Häkchen nach ``angemeldet bleiben`` setzen, wallabag wird sich ein Jahr an dich erinnern.
38
39.. image:: ../../img/user/login_form.png
40 :alt: Login form
41 :align: center \ No newline at end of file
diff --git a/docs/de/user/errors_during_fetching.rst b/docs/de/user/errors_during_fetching.rst
deleted file mode 100644
index 29621559..00000000
--- a/docs/de/user/errors_during_fetching.rst
+++ /dev/null
@@ -1,28 +0,0 @@
1Fehler während des Artikelladens
2================================
3
4Warum schlägt das Laden eines Artikels fehl?
5--------------------------------------------
6
7Das kann verschiedene Ursachen haben:
8
9- Netzwerkprobleme
10- wallabag kann den Inhalt aufgrund der Websitestruktur nicht laden
11
12Wie kann ich helfen das zu beheben?
13-----------------------------------
14
15- `indem du uns eine Mail mit der URL des Artikels sendest <mailto:hello@wallabag.org>`_
16- indem du versuchst das Laden des Artikels durch Erstellen einer Datei für den Artikel
17 selbst zu beheben
18 Du kannst `dieses Tool <http://siteconfig.fivefilters.org/>`__ nutzen.
19
20Wie kann ich versuchen, einen Artikel erneut zu laden?
21------------------------------------------------------
22
23Wenn wallabag beim Laden eines Artikels fehlschlägt, kannst du auf den erneut laden Button
24klicken (der dritte in dem unteren Bild).
25
26.. image:: ../../img/user/refetch.png
27 :alt: Inhalt neu laden
28 :align: center
diff --git a/docs/de/user/faq.rst b/docs/de/user/faq.rst
deleted file mode 100644
index c14cb3ef..00000000
--- a/docs/de/user/faq.rst
+++ /dev/null
@@ -1,52 +0,0 @@
1Häufig gestellte Fragen
2==========================
3
4Während der Installation sehe ich den Fehler ``Error Output: sh: 1: @post-cmd: not found``
5------------------------------------------------------------------------------------------
6
7Es scheint, dass du ein Problem bei deiner ``composer`` Installation hast. Versuche es zu deinstallieren und neu zu installieren.
8
9`Lies die Dokumentation über composer, um zu erfahren wie es installiert wird
10<https://getcomposer.org/doc/00-intro.md>`__.
11
12Ich kann das Registrierungsformular nicht validieren
13----------------------------------------------------
14
15Stelle sicher, dass alle Felder ausgefüllt sind:
16
17* valide E-Mail-Adresse
18* das gleiche Passwort in zwei Feldern
19
20Ich erhalte meine Aktivierungsmail nicht
21----------------------------------------
22
23Bist du sicher, dass deine eingegebene E-Mail-Adresse korrekt war? Hast du deinen Spamordner überprüft?
24
25Wenn du dann immer noch nicht deine Aktivierungsmail siehst, stelle bitte sicher, dass du einen MTA
26korrekt installiert und eingerichtet hast. Prüfe, dass deine Firewallregel existiert, z.B. für firewalld:
27
28::
29 firewall-cmd --permanent --add-service=smtp
30 firewall-cmd --reload
31
32Schließlich, falls du SELinux aktiviert hast, setze folgende Regel:
33
34``setsebool -P httpd_can_sendmail 1``
35
36Wenn ich den Aktivierungslink klicke, bekomme ich die Nachricht ``Der Nutzer mit dem Bestätigungstoken "DtrOPfbQeVkWf6N" existiert nicht``
37------------------------------------------------------------------------------------------------------------------------------------------
38
39Du hast deinen Account schon aktiviert oder die URL der Aktivierungsmail ist falsch.
40
41Ich habe mein Passwort vergessen
42--------------------------------
43
44Du kannst dein Passwort zurücksetzen, indem du auf den Link ``Kennwort vergessen?`` auf der Loginseite klickst. Fülle dann das Formular mit deiner E-Mail-Adresse oder deinem Nutzernamen aus
45und du wirst eine E-Mail zum Passwort zurücksetzen erhalten.
46
47Ich erhalte den Fehler ``failed to load external entity``, wenn ich wallabag installiere
48----------------------------------------------------------------------------------------
49
50Wie `hier <https://github.com/wallabag/wallabag/issues/2529>`_ beschrieben, bearbeite bitte deine Datei ``web/app.php`` und füge ihr diese Zeile ``libxml_disable_entity_loader(false);`` in Zeile 5 hinzu.
51
52Dies ist ein Doctrine / PHP Fehler - nichts, woran wir etwas ändern können.
diff --git a/docs/de/user/filters.rst b/docs/de/user/filters.rst
deleted file mode 100644
index 94b82b24..00000000
--- a/docs/de/user/filters.rst
+++ /dev/null
@@ -1,54 +0,0 @@
1Filter
2======
3
4Um Artikel leichter zu erreichen, kannst du sie filtern.
5Klicke auf das dritte Symbol in der oberen Leiste.
6
7.. image:: ../../img/user/topbar.png
8 :alt: Obere Leiste
9 :align: center
10
11Alle diese Filter können kombiniert werden.
12
13.. image:: ../../img/user/filters.png
14 :alt: Kombiniere alle Filter
15 :align: center
16
17Status
18------
19
20Nutze die Checkboxen, um einen archivierten oder favorisierten Artikel zu finden.
21
22Vorschaubild
23---------------
24
25Hake diesen Filter an, wenn du Artikel mit einem Vorschaubild erhalten willst.
26
27Sprache
28-------
29
30wallabag (via graby) kann die Artikelsprache erkennen. Es ist einfach für dich, Artikel
31in einer bestimmten Sprache zu filtern.
32
33HTTP status
34-----------
35
36You can retrieve the articles by filtering by their HTTP status code: 200, 404, 500, etc.
37
38Lesezeit
39--------
40
41wallabag schätzt wieviel Zeit du brauchst, um einen Artikel zu lesen. Mit diesem Filter
42kannst du zum Beispiel Artikel mit einer Lesezeit zwischen 2 und 5 Minuten finden.
43
44Domainname
45----------
46
47Dank dieses Filters, kannst ud Artikel von der gleichen Domain finden.
48Zum Beispiel tippst du in diesem Feld ``bbc.co.uk``, um Artikel dieser Website zu finden.
49
50Erstellungsdatum
51----------------
52
53Wenn du Artikel speicherst, merkt sich wallabag das aktuelle Datum. So praktisch, um Aritkel, die
54zwischen dem 1. und 31. Januar geschrieben sind, zu finden.
diff --git a/docs/de/user/import.rst b/docs/de/user/import.rst
deleted file mode 100644
index b4e89c39..00000000
--- a/docs/de/user/import.rst
+++ /dev/null
@@ -1,152 +0,0 @@
1Migration von einem Drittanbieter
2=================================
3
4In wallabag 2.x kannst du Daten von folgenden Anbietern importieren:
5
6- Pocket <#id1>`_
7- Readability <#id2>`_
8- Instapaper <#id4>`_
9- wallabag 1.x <#id6>`_
10- wallabag 2.x <#id7>`_
11
12Wir haben zusätzlich `ein Skript für die Migration per Kommandozeile <#import-via-command-line-interface-cli>`_ geschrieben.
13
14Da Importe eine Menge Zeit in Anspruch nehmen können, haben wir auch ein asynchrones Aufgabensystem entwickelt. `Du kannst die Dokumentation hier lesen <http://doc.wallabag.org/de/master/developer/asynchronous.html>`_ (für Experten).
15
16Pocket
17------
18
19Erstelle eine neue Applikation in Pocket
20~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21
22Um deine Daten von Pocket zu importieren, nutzen wir die Pocket API. Du musst
23eine neue Applikation auf ihrer Entwicklerwebsite erstellen, um fortzufahren.
24
25* Erstelle eine neue Applikation `auf der Entwicklerwebsite <https://getpocket.com/developer/apps/new>`_
26* Fülle die erforderlichen Felder aus: Name, Beschreibung, Berechtigungen (nur **abrufen**), Plattform
27 (**web**), akzeptiere die Nutzungsbedingungen und reiche deine neue Applikation ein
28
29Pocket wird dir einen **Consumer Key** geben (z.B. `49961-985e4b92fe21fe4c78d682c1`).
30Du musst den ``pocket_consumer_key`` in dem Abschnitt ``Import`` in dem ``Interne Einstellungen`` Menü
31konfigurieren.
32
33Jetzt ist alles in Ordnung, um von Pocket zu migrieren.
34
35Importiere deine Daten in wallabag 2.x
36~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37
38Klicke auf den ``Importieren`` Link im Menü, auf ``Inhalte importieren`` in dem Pocketabschnitt und
39dann auf ``Verbinde mit Pocket und importieren Daten``.
40
41Du musst wallabag erlauben, mit deinem Pocketaccount zu interagieren.
42Deine Daten werden importiert. Datenimport kann ein sehr anspruchsvoller Prozess für deinen Server
43sein (wir müssen daran arbeiten, um diesen Import zu verbessern).
44
45Von Readability
46----------------
47
48Exportiere deine Readability Daten
49~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50
51Auf der Seite Tools (`https://www.readability.com/tools/ <https://www.readability.com/tools/>`_), klicke auf "Exportiere deine Daten" in dem Abschnitt "Daten Export". Du wirst eine E-Mail empfangen, um eine JSON Datei herunterladen zu können (Datei endet aber nicht auf .json).
52
53Importiere deine Daten in wallabag 2.x
54~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55
56Klicke auf den ``Importieren`` Link im Menü, auf ``Importiere Inhalte`` in dem Readability Abschnitt und wähle dann deine JSON Datei aus und lade sie hoch.
57
58Deine Daten werden importiert. Der Datenimport can ein beanspruchender Prozess für deinen Server sein.
59
60Von Pinboard
61-------------
62
63Exportiere deine Pinboard Daten
64~~~~~~~~~~~~~~~~~~~~~~~~~
65
66Auf der Seite Backup (`https://pinboard.in/settings/backup <https://pinboard.in/settings/backup>`_), klicke auf "JSON" in dem Abschnitt "Lesezeichen". Eine JSON Datei wird heruntergeladen (z.B. ``pinboard_export``).
67
68Importiere deine Daten in wallabag 2.x
69~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70
71Klicke auf den ``Importieren`` Link im Menü, auf ``Importiere Inhalte`` in dem Pinboard Abschnitt und wähle dann deine JSON Datei aus und lade sie hoch.
72
73Deine Daten werden importiert. Der Datenimport can ein beanspruchender Prozess für deinen Server sein.
74
75Von Instapaper
76---------------
77
78Exportiere deine Instapaper Daten
79~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80
81Auf der Seite Einstellungen (`https://www.instapaper.com/user <https://www.instapaper.com/user>`_), klicke auf "Download .CSV Datei" in dem Abschnitt "Export". Eine CSV Datei wird heruntergeladen (z.B. ``instapaper-export.csv``).
82
83Importiere deine Daten in wallabag 2.x
84~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
85
86Klicke auf den ``Importieren`` Link im Menü, auf ``Importiere Inhalte`` in dem Instapaper Abschnitt und wähle dann deine JSON Datei aus und lade sie hoch.
87
88Deine Daten werden importiert. Der Datenimport can ein beanspruchender Prozess für deinen Server sein.
89
90wallabag 1.x
91------------
92
93Wenn du in der Vergangenheit wallabag 1.x genutzt hast, musst du deine Daten exportieren, bevor du auf wallabag 2.x umsteigst, da sich viel an der Anwendung und der Datenbank geändert hast. In deiner alten wallabag-installation kannst du deine Daten exportieren, indem du die Konfigurationsseite auf der alten wallabag-Instanz öffnest.
94
95.. image:: ../../img/user/export_v1.png
96 :alt: Export aus wallabag 1.x
97 :align: center
98
99.. note::
100 Wenn du mehrere Accounts auf der gleichen wallabag-Instanz hast, muss jeder Nutzer seine Daten aus 1.x exportieren und in 2.x importieren.
101
102.. note::
103 Falls während des Exports oder des Imports Probleme auftreten sollten, scheue dich nicht, den `Support zu kontaktieren <http://gitter.im/wallabag/wallabag>`__.
104
105Wenn du dann die JSON-Datei mit deinen Einträgen heruntergeladen hast, kannst du `wallabag 2 über die Standard-Prozedur installieren <http://doc.wallabag.org/en/master/user/installation.html>`__.
106
107Nach dem Erstellen des Benutzeraccounts auf deiner neuen "wallabag 2.x"-Instanz, navigiere auf den Import-Bereich und wähle `Aus wallabag v1 importieren`. Wähle deine JSON-Datei und lade sie hoch.
108
109.. image:: ../../img/user/import_wallabagv1.png
110 :alt: Import aus wallabag v1
111 :align: center
112
113wallabag 2.x
114------------
115
116Gehe auf der alten wallabag-Instanz, die du vorher genutzt hast, auf `Alle Artikel` und exportiere diese dann als JSON.
117
118.. image:: ../../img/user/export_v2.png
119 :alt: Export aus wallabag v2
120 :align: center
121
122Nach dem Erstellen des Benutzeraccounts auf deiner neuen "wallabag 2.x"-Instanz, navigiere auf den Import-Bereich und wähle `Aus wallabag v2 importieren`. Wähle deine JSON-Datei und lade sie hoch.
123
124.. note::
125 Falls während des Exports oder des Imports Probleme auftreten sollten, scheue dich nicht, den `Support zu kontaktieren <http://gitter.im/wallabag/wallabag>`__.
126
127Import über die Kommandozeile (CLI)
128-----------------------------------
129
130Falls du auf deinem Server Zugriff auf die Kommandozeile hast, kannst du den folgenden Befehl ausführen, um deine Daten aus wallabag v1 zu importieren:
131
132::
133
134 bin/console wallabag:import 1 ~/Downloads/wallabag-export-1-2016-04-05.json --env=prod
135
136Bitte ersetze die Werte:
137
138* ``1`` ist die Benutzer-ID in der Datenbank (die ID des ersten Benutzers ist immer 1)
139* ``~/Downloads/wallabag-export-1-2016-04-05.json`` ist der Pfad zu deiner wallabag v1-Exportdatei
140
141Wenn du alle Artikel als gelesen markieren möchtest, kannst du die ``--markAsRead``-Option hinzufügen.
142
143Um eine wallabag 2.x-Datei zu importieren, musst du die Option ``--importer=v2`` hinzufügen.
144
145Als Ergebnis wirst du so etwas erhalten:
146
147::
148
149 Start : 05-04-2016 11:36:07 ---
150 403 imported
151 0 already saved
152 End : 05-04-2016 11:36:09 ---
diff --git a/docs/de/user/installation.rst b/docs/de/user/installation.rst
deleted file mode 100644
index 7dd489b1..00000000
--- a/docs/de/user/installation.rst
+++ /dev/null
@@ -1,349 +0,0 @@
1Installation von wallabag
2=========================
3
4Voraussetzungen
5---------------
6
7wallabag ist kompatibel mit **PHP >= 5.6**, inkl. PHP 7.
8
9.. note::
10
11 To install wallabag easily, we create a ``Makefile``, so you need to have the ``make`` tool.
12
13wallabag nutzt eine große Anzahl an Bibliotheken, um zu funktionieren. Diese Bibliotheken müssen mit einem Tool namens Composer installiert werden. Du musst es installieren sofern du es bisher noch nicht gemacht hast.
14
15Composer installieren:
16
17::
18
19 curl -s https://getcomposer.org/installer | php
20
21Du kannst eine spezifische Anleitung `hier <https://getcomposer.org/doc/00-intro.md>`__ finden.
22
23Du benötigst die folgenden Extensions damit wallabag funktioniert. Einige von diesen sind vielleicht schon in deiner Version von PHP aktiviert, somit musst du eventuell
24nicht alle folgenden Pakete installieren.
25
26- php-session
27- php-ctype
28- php-dom
29- php-hash
30- php-simplexml
31- php-json
32- php-gd
33- php-mbstring
34- php-xml
35- php-tidy
36- php-iconv
37- php-curl
38- php-gettext
39- php-tokenizer
40- php-bcmath
41
42wallabag nutzt PDO, um sich mit der Datenbank zu verbinden, darum benötigst du eines der folgenden Komponenten:
43
44- pdo_mysql
45- pdo_sqlite
46- pdo_pgsql
47
48und dessen dazugehörigen Datenbankserver.
49
50Installation
51------------
52
53Auf einem dedizierten Webserver (empfohlener Weg)
54~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55
56Um wallabag selbst zu installieren, musst du die folgenden Kommandos ausführen:
57
58::
59
60 git clone https://github.com/wallabag/wallabag.git
61 cd wallabag && make install
62
63Um PHPs eingebauten Server zu starten und zu testen, ob alles korrekt installiert wurde, kannst du folgendes Kommando ausführen:
64
65::
66
67 make run
68
69und wallabag unter http://deineserverip:8000 erreichen.
70
71.. tip::
72
73 Um Parameter mit Umgebungsvariable zu definieren, musst du die Variable mit dem ``SYMFONY__`` Präfix setzen. Zum Beispiel ``SYMFONY__DATABASE_DRIVER``. Du kannst einen Blick die `Symfony Dokumentation <http://symfony.com/doc/current/cookbook/configuration/external_parameters.html>`__ werfen.
74
75Auf einem geteilten Webhosting
76~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77
78Wir stellen ein Paket inkl. aller Abhängigkeiten bereit.
79Die Standardkonfiguration nutzt SQLite für die Datenbank. Wenn du diese Einstellung ändern willst, ändere bitte ``app/config/parameters.yml``.
80
81Wir haben bereits einen Nutzer erstellt: Login und Passwort sind ``wallabag``.
82
83.. caution:: Mit diesem Paket überprüft wallabag nicht die von der Applikation gebrauchten Exentions (diese Tests werden während ``composer install`` durchgeführt wenn du einen dedizierten Webserver hast, siehe oben).
84
85Führe dieses Kommando aus, um das neueste Paket herunterzuladen und zu entpacken:
86
87.. code-block:: bash
88
89 wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-package
90
91Du findest die `md5 Hashsumme des neuesten Pakets auf unserer Website <https://static.wallabag.org/releases/>`_.
92
93Jetzt lies die Dokumentation, um einen Virtualhost zu erstellen, dann greife auf dein wallabag zu.
94Wenn du die Datenbankkonfiguration eingestellt hast, MySQL oder PostgreSQL zu nutzen, musst du einen Nutzer über das folgende Kommando erstellen ``php bin/console wallabag:install --env=prod``.
95
96Installation mit Docker
97~~~~~~~~~~~~~~~~~~~~~~~
98
99Wir stellen ein Docker Image zu Verfügung, um wallabag einfach zu installieren. Schaue in unser Repository in unserem `Docker Hub <https://hub.docker.com/r/wallabag/wallabag/>`__, um mehr Informationen zu erhalten.
100
101Kommando, um den Container zu starten
102^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
103
104.. code-block:: bash
105
106 docker pull wallabag/wallabag
107
108Cloudron Installation
109~~~~~~~~~~~~~~~~~~~~~~~~
110
111Cloudron bietet einfache Webapp Installation auf deinem Server, mit Fokus auf System Administrator Automatisierung und Updates.
112Ein Wallabag Paket ist direkt zur Installation durch den Cloudron Store verfügbar.
113
114`Installiere wallabag auf deinem Cloudron <https://cloudron.io/store/org.wallabag.cloudronapp.html>`__
115
116Virtualhosts
117------------
118
119Konfiguration von Apache
120~~~~~~~~~~~~~~~~~~~~~~~~
121
122Vergiss nicht, die *rewrite* mod von Apache zu aktivieren.
123
124.. code-block:: bash
125
126 a2enmod rewrite && systemctl reload apache2
127
128Angenommen du willst wallabag in das Verzeichnis ``/var/www/wallabag`` installieren und du willst PHP als Apache Modul nutzen, dann ist hier ein vhost für wallabag:
129
130::
131
132 <VirtualHost *:80>
133 ServerName domain.tld
134 ServerAlias www.domain.tld
135
136 DocumentRoot /var/www/wallabag/web
137 <Directory /var/www/wallabag/web>
138 AllowOverride None
139 Order Allow,Deny
140 Allow from All
141
142 <IfModule mod_rewrite.c>
143 Options -MultiViews
144 RewriteEngine On
145 RewriteCond %{REQUEST_FILENAME} !-f
146 RewriteRule ^(.*)$ app.php [QSA,L]
147 </IfModule>
148 </Directory>
149
150 # uncomment the following lines if you install assets as symlinks
151 # or run into problems when compiling LESS/Sass/CoffeScript assets
152 # <Directory /var/www/wallabag>
153 # Options FollowSymlinks
154 # </Directory>
155
156 # optionally disable the RewriteEngine for the asset directories
157 # which will allow apache to simply reply with a 404 when files are
158 # not found instead of passing the request into the full symfony stack
159 <Directory /var/www/wallabag/web/bundles>
160 <IfModule mod_rewrite.c>
161 RewriteEngine Off
162 </IfModule>
163 </Directory>
164 ErrorLog /var/log/apache2/wallabag_error.log
165 CustomLog /var/log/apache2/wallabag_access.log combined
166 </VirtualHost>
167
168Nach dem du Apache neugeladen oder neugestartet hast, solltest du nun wallabag unter http://domain.tld erreichen.
169
170Konfiguration von Nginx
171~~~~~~~~~~~~~~~~~~~~~~~
172
173Angenommen du willst wallabag in das Verzeichnis ``/var/www/wallabag`` installieren, dann ist hier ein Rezept für wallabag:
174
175::
176
177 server {
178 server_name domain.tld www.domain.tld;
179 root /var/www/wallabag/web;
180
181 location / {
182 # try to serve file directly, fallback to app.php
183 try_files $uri /app.php$is_args$args;
184 }
185 location ~ ^/app\.php(/|$) {
186 fastcgi_pass unix:/var/run/php5-fpm.sock;
187 fastcgi_split_path_info ^(.+\.php)(/.*)$;
188 include fastcgi_params;
189 # When you are using symlinks to link the document root to the
190 # current version of your application, you should pass the real
191 # application path instead of the path to the symlink to PHP
192 # FPM.
193 # Otherwise, PHP's OPcache may not properly detect changes to
194 # your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
195 # for more information).
196 fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
197 fastcgi_param DOCUMENT_ROOT $realpath_root;
198 # Prevents URIs that include the front controller. This will 404:
199 # http://domain.tld/app.php/some-path
200 # Remove the internal directive to allow URIs like this
201 internal;
202 }
203
204 # return 404 for all other php files not matching the front controller
205 # this prevents access to other php files you don't want to be accessible.
206 location ~ \.php$ {
207 return 404;
208 }
209
210 error_log /var/log/nginx/wallabag_error.log;
211 access_log /var/log/nginx/wallabag_access.log;
212 }
213
214Nach dem Neuladen oder Neustarten von nginx solltest du nun wallabag unter http://domain.tld erreichen.
215
216.. tip::
217
218 Wenn du eine große Datei in wallabag importieren willst, solltest du diese Zeile zu deiner nginx Konfiguration hinzufügen ``client_max_body_size XM; # allows file uploads up to X megabytes``.
219
220Konfiguration von lighttpd
221~~~~~~~~~~~~~~~~~~~~~~~~~~
222
223Angenommen du willst wallabag in das Verzeichnis ``/var/www/wallabag`` installieren, dann ist hier ein Rezept für wallabag (bearbeite deine ``lighttpd.conf`` und füge die Konfiguration dort ein):
224
225::
226
227 server.modules = (
228 "mod_fastcgi",
229 "mod_access",
230 "mod_alias",
231 "mod_compress",
232 "mod_redirect",
233 "mod_rewrite",
234 )
235 server.document-root = "/var/www/wallabag/web"
236 server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
237 server.errorlog = "/var/log/lighttpd/error.log"
238 server.pid-file = "/var/run/lighttpd.pid"
239 server.username = "www-data"
240 server.groupname = "www-data"
241 server.port = 80
242 server.follow-symlink = "enable"
243 index-file.names = ( "index.php", "index.html", "index.lighttpd.html")
244 url.access-deny = ( "~", ".inc" )
245 static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
246 compress.cache-dir = "/var/cache/lighttpd/compress/"
247 compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" )
248 include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
249 include_shell "/usr/share/lighttpd/create-mime.assign.pl"
250 include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
251 dir-listing.activate = "disable"
252
253 url.rewrite-if-not-file = (
254 "^/([^?]*)(?:\?(.*))?" => "/app.php?$1&$2",
255 "^/([^?]*)" => "/app.php?=$1",
256 )
257
258Rechte, um das Projektverzeichnis zu betreten
259---------------------------------------------
260
261Testumgebung
262~~~~~~~~~~~~
263
264Wenn wir nur wallabag testen wollen, führen wir nur das Kommando ``php bin/console server:run --env=prod`` aus, um unsere wallabag Instanz zu starten und alles wird geschmeidig laufen, weil der Nutzer, der das Projekt gestartet hat, den aktuellen Ordner ohne Probleme betreten kann.
265
266Produktionsumgebung
267~~~~~~~~~~~~~~~~~~~
268
269Sobald wir Apache oder Nginx nutzen, um unsere wallabag Instanz zu erreichen, und nicht das Kommando ``php bin/console server:run --env=prod`` nutzen, sollten wir dafür sorgen, die Rechte vernünftig zu vergeben, um die Ordner des Projektes zu schützen.
270
271Um dies zu machen, muss der Ordner, bekannt als ``DocumentRoot`` (bei Apache) oder ``root`` (bei Nginx), von dem Apache-/Nginx-Nutzer zugänglich sein. Sein Name ist meist ``www-data``, ``apache`` oder ``nobody`` (abhängig vom genutzten Linuxsystem).
272
273Der Ordner ``/var/www/wallabag/web`` musst dem letztgenannten zugänglich sein. Aber dies könnte nicht genug sein, wenn wir nur auf diesen Ordner achten, weil wir eine leere Seite sehen könnten oder einen Fehler 500, wenn wir die Homepage des Projekt öffnen.
274
275Dies kommt daher, dass wir die gleichen Rechte dem Ordner ``/var/www/wallabag/var`` geben müssen, so wie wir es für den Ordner ``/var/www/wallabag/web`` gemacht haben. Somit beheben wir das Problem mit dem folgenden Kommando:
276
277.. code-block:: bash
278
279 chown -R www-data:www-data /var/www/wallabag/var
280
281Es muss analog für die folgenden Ordner ausgeführt werden
282
283* /var/www/wallabag/bin/
284* /var/www/wallabag/app/config/
285* /var/www/wallabag/vendor/
286* /var/www/wallabag/data/
287
288durch Eingabe der Kommandos
289
290.. code-block:: bash
291
292 chown -R www-data:www-data /var/www/wallabag/bin
293 chown -R www-data:www-data /var/www/wallabag/app/config
294 chown -R www-data:www-data /var/www/wallabag/vendor
295 chown -R www-data:www-data /var/www/wallabag/data/
296
297ansonsten wirst du früher oder später folgenden Fehlermeldung sehen:
298
299.. code-block:: bash
300
301 Unable to write to the "bin" directory.
302 file_put_contents(app/config/parameters.yml): failed to open stream: Permission denied
303 file_put_contents(/.../wallabag/vendor/autoload.php): failed to open stream: Permission denied
304
305Zusätzliche Regeln für SELinux
306~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
307
308Wenn SELinux in deinem System aktiviert ist, wirst du zusätzliche Kontexte konfigurieren müssen damit wallabag ordentlich funktioniert. Um zu testen, ob SELinux aktiviert ist, führe einfach folgendes aus:
309
310``getenforce``
311
312Dies wird ``Enforcing`` ausgeben, wenn SELinux aktiviert ist. Einen neuen Kontext zu erstellen, erfordert die folgende Syntax:
313
314``semanage fcontext -a -t <context type> <full path>``
315
316Zum Beispiel:
317
318``semanage fcontext -a -t httpd_sys_content_t "/var/www/wallabag(/.*)?"``
319
320Dies wird rekursiv den httpd_sys_content_t Kontext auf das wallabag Verzeichnis und alle darunterliegenden Dateien und Ordner anwenden. Die folgenden Regeln werden gebraucht:
321
322+-----------------------------------+----------------------------+
323| Vollständiger Pfad | Kontext |
324+===================================+============================+
325| /var/www/wallabag(/.*)? | ``httpd_sys_content_t`` |
326+-----------------------------------+----------------------------+
327| /var/www/wallabag/data(/.*)? | ``httpd_sys_rw_content_t`` |
328+-----------------------------------+----------------------------+
329| /var/www/wallabag/var/logs(/.*)? | ``httpd_log_t`` |
330+-----------------------------------+----------------------------+
331| /var/www/wallabag/var/cache(/.*)? | ``httpd_cache_t`` |
332+-----------------------------------+----------------------------+
333
334Nach dem diese Kontexte erstellt wurden, tippe das folgende, um deine Regeln anzuwenden:
335
336``restorecon -R -v /var/www/wallabag``
337
338Du kannst deine Kontexte in einem Verzeichnis überprüfen, indem du ``ls -lZ`` tippst und alle deine aktuellen Regeln mit ``semanage fcontext -l -C`` überprüfst.
339
340Wenn du das vorkonfigurierte latest-v2-package installierst, dann ist eine weitere Regel während der Installation nötig:
341
342``semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/wallabag/var"``
343
344Nachdem du erfolgreich dein wallabag erreichst und die Installation fertiggestellt hast, kann dieser Kontext entfernt werden:
345
346::
347
348 semanage fcontext -d -t httpd_sys_rw_content_t "/var/www/wallabag/var"
349 retorecon -R -v /var/www/wallabag/var
diff --git a/docs/de/user/parameters.rst b/docs/de/user/parameters.rst
deleted file mode 100644
index 8d8f9206..00000000
--- a/docs/de/user/parameters.rst
+++ /dev/null
@@ -1,95 +0,0 @@
1Was bedeuten die Parameter?
2===========================
3
4Standardeinstellungen der `parameters.yml`
5------------------------------------------
6
7Dies ist die letzte standardisierte Version der `app/config/parameters.yml`-Datei. Stelle sicher, dass sich deine mit dieser ähnelt.
8Wenn du nicht weißt, welchen Wert du setzen sollst, belasse es bei dem Standardwert.
9
10.. code-block:: yml
11
12 parameters:
13 database_driver: pdo_sqlite
14 database_host: 127.0.0.1
15 database_port: null
16 database_name: symfony
17 database_user: root
18 database_password: null
19 database_path: '%kernel.root_dir%/../data/db/wallabag.sqlite'
20 database_table_prefix: wallabag_
21 database_socket: null
22 mailer_transport: smtp
23 mailer_host: 127.0.0.1
24 mailer_user: null
25 mailer_password: null
26 locale: en
27 secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
28 twofactor_auth: true
29 twofactor_sender: no-reply@wallabag.org
30 fosuser_registration: true
31 fosuser_confirmation: true
32 from_email: no-reply@wallabag.org
33 rss_limit: 50
34 rabbitmq_host: localhost
35 rabbitmq_port: 5672
36 rabbitmq_user: guest
37 rabbitmq_password: guest
38 redis_scheme: tcp
39 redis_host: localhost
40 redis_port: 6379
41 redis_path: null
42 redis_password: null
43
44Bedeutung von jedem Parameter
45-----------------------------
46
47.. csv-table:: Datenbankparameter
48 :header: "Name", "Standardwert", "Beschreibung"
49
50 "database_driver", "pdo_sqlite", "Sollte pdo_sqlite oder pdo_mysql oder pdo_pgsql sein"
51 "database_host", "127.0.0.1", "Hostadresse deiner Datenbank (normalerweise localhost oder 127.0.0.1)"
52 "database_port", "~", "Port deiner Datenbank (Du kannst ``~`` stehen lassen, um den Standardport zu nutzen)"
53 "database_name", "symfony", "Benenne deine Datenbank"
54 "database_user", "root", "Benutzer, der Schreibrecht in der Datenbank hat"
55 "database_password", "~", "Passwort des Benutzers"
56 "database_path", "``""%kernel.root_dir%/../data/db/wallabag.sqlite""``", "nur für SQLite, definiere, wo die Datenbankdatei abgelegt werden soll. Lass den Parameter leer für andere Datenbanktypen."
57 "database_table_prefix", "wallabag_", "alle wallabag Tabellen erhalten diesen Präfix im Namen. Du kannst einen ``_`` dafür im Präfix nutzen, um das zu verdeutlichen."
58 "database_socket", "null", "Wenn deine Datenbank einen Socket statt TCP nutzt, schreibe hier den Pfad zum Socket hin (andere Verbindungsparameter werden dann ignoriert."
59
60.. csv-table:: Konfiguration, um mit wallabag E-Mails senden zu können
61 :header: "Name", "Standardwert", "Beschreibung"
62
63 "mailer_transport", "smtp", "Die exakte Transportmethode, um E-Mails zuzustellen. Gültige Werte sind: smtp, gmail, mail, sendmail, null (was das Mailen deaktivert)"
64 "mailer_host", "127.0.0.1", "Der Host, zu dem sich verbunden wird, wenn SMTP als Transport genutzt wird."
65 "mailer_user", "~", "Der Benutzername, wenn SMTP als Transport genutzt wird."
66 "mailer_password", "~", "Das Passwort, wenn SMTP als Transport genutzt wird."
67
68.. csv-table:: Andere wallabag Optionen
69 :header: "Name", "Standardwert", "Beschreibung"
70
71 "locale", "en", "Standardsprache deiner wallabag Instanz (wie z.B. en, fr, es, etc.)"
72 "secret", "ovmpmAWXRCabNlMgzlzFXDYmCFfzGv", "Dieser String sollte einzigartig für deine Applikation sein und er wird genutzt, um sicherheitsrelevanten Operationen mehr Entropie hinzuzufügen."
73 "twofactor_auth", "true", "true, um Zwei-Faktor-Authentifizierung zu aktivieren"
74 "twofactor_sender", "no-reply@wallabag.org", "E-Mail-Adresse des Senders der Mails mit dem Code für die Zwei-Faktor-Authentifizierung"
75 "fosuser_registration", "true", "true, um die Registrierung für jedermann zu aktivieren"
76 "fosuser_confirmation", "true", "true, um eine Bestätigungsmail für jede Registrierung zu senden"
77 "from_email", "no-reply@wallabag.org", "E-Mail-Adresse, die im Absenderfeld jeder Mail genutzt wird"
78 "rss_limit", "50", "Artikellimit für RSS Feeds"
79
80.. csv-table:: RabbitMQ Konfiguration
81 :header: "Name", "Standardwert", "Beschreibung"
82
83 "rabbitmq_host", "localhost", "Host deines RabbitMQ"
84 "rabbitmq_port", "5672", "Port deines RabbitMQ"
85 "rabbitmq_user", "guest", "Benutzer, der die Queue lesen kann"
86 "rabbitmq_password", "guest", "Passwort dieses Benutzers"
87
88.. csv-table:: Redis Konfiguration
89 :header: "Name", "Standardwert", "Beschreibung"
90
91 "redis_scheme", "tcp", "Bestimmt das Protokoll, dass genutzt wird, um mit Redis zu kommunizieren. Gültige Werte sind: tcp, unix, http"
92 "redis_host", "localhost", "IP oder Hostname des Zielservers (ignoriert bei Unix Schema)"
93 "redis_port", "6379", "TCP/IP Port des Zielservers (ignoriert bei Unix Schema)"
94 "redis_path", "null", "Pfad zur Unix Domain Socket Datei, wenn Redis Unix Domain Sockets nutzt"
95 "redis_password", "null", "Kennwort, welches in der Redis-Server-Konfiguration definiert ist (Parameter `requirepass` in `redis.conf`)"
diff --git a/docs/de/user/query-upgrade-21-22.rst b/docs/de/user/query-upgrade-21-22.rst
deleted file mode 100644
index fa9835a8..00000000
--- a/docs/de/user/query-upgrade-21-22.rst
+++ /dev/null
@@ -1,984 +0,0 @@
1Migration 20161001072726
2------------------------
3
4MySQL
5^^^^^
6
7Migration up
8""""""""""""
9
10.. code-block:: sql
11
12 ALTER TABLE wallabag_entry_tag DROP FOREIGN KEY FK_C9F0DD7CBA364942
13 ALTER TABLE wallabag_entry_tag DROP FOREIGN KEY FK_C9F0DD7CBAD26311
14 ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
15 ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_tag FOREIGN KEY (tag_id) REFERENCES wallabag_tag (id) ON DELETE CASCADE
16 ALTER TABLE wallabag_annotation DROP FOREIGN KEY FK_A7AED006BA364942
17 ALTER TABLE wallabag_annotation ADD CONSTRAINT FK_annotation_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
18
19Migration down
20""""""""""""""
21
22We didn't write down migration for ``20161001072726``.
23
24PostgreSQL
25^^^^^^^^^^
26
27Migration up
28""""""""""""
29
30.. code-block:: sql
31
32 ALTER TABLE wallabag_entry_tag DROP CONSTRAINT fk_c9f0dd7cba364942
33 ALTER TABLE wallabag_entry_tag DROP CONSTRAINT fk_c9f0dd7cbad26311
34 ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
35 ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_tag FOREIGN KEY (tag_id) REFERENCES wallabag_tag (id) ON DELETE CASCADE
36 ALTER TABLE wallabag_annotation DROP CONSTRAINT fk_a7aed006ba364942
37 ALTER TABLE wallabag_annotation ADD CONSTRAINT FK_annotation_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
38
39Migration down
40""""""""""""""
41
42We didn't write down migration for ``20161001072726``.
43
44SQLite
45^^^^^^
46
47This migration can only be executed safely on MySQL or PostgreSQL.
48
49Migration 20161022134138
50------------------------
51
52MySQL
53^^^^^
54
55Migration up
56""""""""""""
57
58.. code-block:: sql
59
60 ALTER DATABASE wallabag CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
61 ALTER TABLE wallabag_user CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL;
62 ALTER TABLE wallabag_user CHANGE salt salt VARCHAR(180) NOT NULL;
63 ALTER TABLE wallabag_user CHANGE password password VARCHAR(180) NOT NULL;
64 ALTER TABLE wallabag_annotation CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
65 ALTER TABLE wallabag_entry CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
66 ALTER TABLE wallabag_tag CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
67 ALTER TABLE wallabag_user CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
68 ALTER TABLE wallabag_annotation CHANGE `text` `text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
69 ALTER TABLE wallabag_annotation CHANGE `quote` `quote` VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
70 ALTER TABLE wallabag_entry CHANGE `title` `title` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
71 ALTER TABLE wallabag_entry CHANGE `content` `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
72 ALTER TABLE wallabag_tag CHANGE `label` `label` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
73 ALTER TABLE wallabag_user CHANGE `name` `name` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
74
75Migration down
76""""""""""""""
77
78.. code-block:: sql
79
80 ALTER DATABASE wallabag CHARACTER SET = utf8 COLLATE = utf8_unicode_ci;
81 ALTER TABLE wallabag_annotation CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
82 ALTER TABLE wallabag_entry CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
83 ALTER TABLE wallabag_tag CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
84 ALTER TABLE wallabag_user CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
85 ALTER TABLE wallabag_annotation CHANGE `text` `text` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
86 ALTER TABLE wallabag_annotation CHANGE `quote` `quote` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci;
87 ALTER TABLE wallabag_entry CHANGE `title` `title` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
88 ALTER TABLE wallabag_entry CHANGE `content` `content` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
89 ALTER TABLE wallabag_tag CHANGE `label` `label` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
90 ALTER TABLE wallabag_user CHANGE `name` `name` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
91
92PostgreSQL and SQLite
93^^^^^^^^^^^^^^^^^^^^^
94
95This migration only apply to MySQL.
96
97Migration 20161024212538
98------------------------
99
100MySQL
101^^^^^
102
103Migration up
104""""""""""""
105
106.. code-block:: sql
107
108 ALTER TABLE wallabag_oauth2_clients ADD user_id INT NOT NULL
109 ALTER TABLE wallabag_oauth2_clients ADD CONSTRAINT IDX_user_oauth_client FOREIGN KEY (user_id) REFERENCES wallabag_user (id) ON DELETE CASCADE
110 CREATE INDEX IDX_635D765EA76ED395 ON wallabag_oauth2_clients (user_id)
111
112Migration down
113""""""""""""""
114
115.. code-block:: sql
116
117 ALTER TABLE wallabag_oauth2_clients DROP FOREIGN KEY IDX_user_oauth_client
118 ALTER TABLE wallabag_oauth2_clients DROP user_id
119
120PostgreSQL
121^^^^^^^^^^
122
123Migration up
124""""""""""""
125
126.. code-block:: sql
127
128 ALTER TABLE wallabag_oauth2_clients ADD user_id INT DEFAULT NULL
129 ALTER TABLE wallabag_oauth2_clients ADD CONSTRAINT IDX_user_oauth_client FOREIGN KEY (user_id) REFERENCES wallabag_user (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE
130 CREATE INDEX IDX_635D765EA76ED395 ON wallabag_oauth2_clients (user_id)
131
132
133Migration down
134""""""""""""""
135
136.. code-block:: sql
137
138 ALTER TABLE wallabag_oauth2_clients DROP CONSTRAINT idx_user_oauth_client
139 ALTER TABLE wallabag_oauth2_clients DROP user_id
140
141SQLite
142^^^^^^
143
144Migration up
145""""""""""""
146
147.. code-block:: sql
148
149 CREATE TEMPORARY TABLE __temp__wallabag_oauth2_clients AS SELECT id, random_id, redirect_uris, secret, allowed_grant_types, name FROM wallabag_oauth2_clients
150 DROP TABLE wallabag_oauth2_clients
151 CREATE TABLE wallabag_oauth2_clients (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, random_id VARCHAR(255) NOT NULL COLLATE BINARY, redirect_uris CLOB NOT NULL COLLATE BINARY, secret VARCHAR(255) NOT NULL COLLATE BINARY, allowed_grant_types CLOB NOT NULL COLLATE BINARY, name CLOB DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id), CONSTRAINT IDX_user_oauth_client FOREIGN KEY (user_id) REFERENCES wallabag_user (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE)
152 INSERT INTO wallabag_oauth2_clients (id, random_id, redirect_uris, secret, allowed_grant_types, name) SELECT id, random_id, redirect_uris, secret, allowed_grant_types, name FROM __temp__wallabag_oauth2_clients
153 DROP TABLE __temp__wallabag_oauth2_clients
154 CREATE INDEX IDX_635D765EA76ED395 ON wallabag_oauth2_clients (user_id)
155
156Migration down
157""""""""""""""
158
159.. code-block:: sql
160
161 DROP INDEX IDX_635D765EA76ED395
162 CREATE TEMPORARY TABLE __temp__wallabag_oauth2_clients AS SELECT id, random_id, redirect_uris, secret, allowed_grant_types, name FROM wallabag_oauth2_clients
163 DROP TABLE wallabag_oauth2_clients
164 CREATE TABLE wallabag_oauth2_clients (id INTEGER NOT NULL, random_id VARCHAR(255) NOT NULL COLLATE BINARY, redirect_uris CLOB NOT NULL COLLATE BINARY, secret VARCHAR(255) NOT NULL COLLATE BINARY, allowed_grant_types CLOB NOT NULL COLLATE BINARY, name CLOB DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
165 INSERT INTO wallabag_oauth2_clients (id, random_id, redirect_uris, secret, allowed_grant_types, name) SELECT id, random_id, redirect_uris, secret, allowed_grant_types, name FROM __temp__wallabag_oauth2_clients
166 DROP TABLE __temp__wallabag_oauth2_clients
167
168Migration 20161031132655
169------------------------
170
171MySQL
172^^^^^
173
174Migration up
175""""""""""""
176
177.. code-block:: sql
178
179 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('download_images_enabled', 0, 'misc')
180
181Migration down
182""""""""""""""
183
184.. code-block:: sql
185
186 DELETE FROM wallabag_craue_config_setting WHERE name = 'download_images_enabled';
187
188PostgreSQL
189^^^^^^^^^^
190
191Migration up
192""""""""""""
193
194.. code-block:: sql
195
196 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('download_images_enabled', 0, 'misc')
197
198Migration down
199""""""""""""""
200
201.. code-block:: sql
202
203 DELETE FROM wallabag_craue_config_setting WHERE name = 'download_images_enabled';
204
205SQLite
206^^^^^^
207
208Migration up
209""""""""""""
210
211.. code-block:: sql
212
213 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('download_images_enabled', 0, 'misc')
214
215Migration down
216""""""""""""""
217
218.. code-block:: sql
219
220 DELETE FROM wallabag_craue_config_setting WHERE name = 'download_images_enabled';
221
222Migration 20161104073720
223------------------------
224
225MySQL
226^^^^^
227
228Migration up
229""""""""""""
230
231.. code-block:: sql
232
233 CREATE INDEX IDX_entry_created_at ON wallabag_entry (created_at)
234
235Migration down
236""""""""""""""
237
238.. code-block:: sql
239
240 DROP INDEX IDX_entry_created_at ON wallabag_entry
241
242PostgreSQL
243^^^^^^^^^^
244
245Migration up
246""""""""""""
247
248.. code-block:: sql
249
250 CREATE INDEX IDX_entry_created_at ON wallabag_entry (created_at)
251
252Migration down
253""""""""""""""
254
255.. code-block:: sql
256
257 DROP INDEX idx_entry_created_at
258
259SQLite
260^^^^^^
261
262Migration up
263""""""""""""
264
265.. code-block:: sql
266
267 DROP INDEX created_at_idx
268 DROP INDEX IDX_F4D18282A76ED395
269 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
270 DROP TABLE wallabag_entry
271 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uuid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
272 INSERT INTO wallabag_entry (id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
273 DROP TABLE __temp__wallabag_entry
274 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
275 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
276 CREATE INDEX IDX_entry_created_at ON wallabag_entry (created_at)
277
278Migration down
279""""""""""""""
280
281.. code-block:: sql
282
283 DROP INDEX IDX_entry_created_at
284 DROP INDEX IDX_F4D18282A76ED395
285 DROP INDEX created_at_idx
286 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
287 DROP TABLE wallabag_entry
288 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uuid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
289 INSERT INTO wallabag_entry (id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
290 DROP TABLE __temp__wallabag_entry
291 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
292 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
293
294Migration 20161106113822
295------------------------
296
297MySQL
298^^^^^
299
300Migration up
301""""""""""""
302
303.. code-block:: sql
304
305 ALTER TABLE wallabag_config ADD action_mark_as_read INT DEFAULT 0
306
307Migration down
308""""""""""""""
309
310.. code-block:: sql
311
312 ALTER TABLE wallabag_config DROP action_mark_as_read
313
314PostgreSQL
315^^^^^^^^^^
316
317Migration up
318""""""""""""
319
320.. code-block:: sql
321
322 ALTER TABLE wallabag_config ADD action_mark_as_read INT DEFAULT 0
323
324Migration down
325""""""""""""""
326
327.. code-block:: sql
328
329 ALTER TABLE wallabag_config DROP action_mark_as_read
330
331SQLite
332^^^^^^
333
334Migration up
335""""""""""""
336
337.. code-block:: sql
338
339 ALTER TABLE wallabag_config ADD COLUMN action_mark_as_read INTEGER DEFAULT 0
340
341Migration down
342""""""""""""""
343
344.. code-block:: sql
345
346 DROP INDEX UNIQ_87E64C53A76ED395
347 CREATE TEMPORARY TABLE __temp__wallabag_config AS SELECT id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key FROM wallabag_config
348 DROP TABLE wallabag_config
349 CREATE TABLE wallabag_config (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, theme VARCHAR(255) NOT NULL COLLATE BINARY, items_per_page INTEGER NOT NULL, language VARCHAR(255) NOT NULL COLLATE BINARY, rss_token VARCHAR(255) DEFAULT NULL COLLATE BINARY, rss_limit INTEGER DEFAULT NULL, reading_speed DOUBLE PRECISION DEFAULT NULL, pocket_consumer_key VARCHAR(255) DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
350 INSERT INTO wallabag_config (id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key) SELECT id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key FROM __temp__wallabag_config
351 DROP TABLE __temp__wallabag_config
352 CREATE UNIQUE INDEX UNIQ_87E64C53A76ED395 ON wallabag_config (user_id)
353
354Migration 20161117071626
355------------------------
356
357MySQL
358^^^^^
359
360Migration up
361""""""""""""
362
363.. code-block:: sql
364
365 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('share_unmark', 0, 'entry')
366 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('unmark_url', 'https://unmark.it', 'entry')
367
368Migration down
369""""""""""""""
370
371.. code-block:: sql
372
373 DELETE FROM wallabag_craue_config_setting WHERE name = 'share_unmark';
374 DELETE FROM wallabag_craue_config_setting WHERE name = 'unmark_url';
375
376PostgreSQL
377^^^^^^^^^^
378
379Migration up
380""""""""""""
381
382.. code-block:: sql
383
384 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('share_unmark', 0, 'entry')
385 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('unmark_url', 'https://unmark.it', 'entry')
386
387Migration down
388""""""""""""""
389
390.. code-block:: sql
391
392 DELETE FROM wallabag_craue_config_setting WHERE name = 'share_unmark';
393 DELETE FROM wallabag_craue_config_setting WHERE name = 'unmark_url';
394
395SQLite
396^^^^^^
397
398Migration up
399""""""""""""
400
401.. code-block:: sql
402
403 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('share_unmark', 0, 'entry')
404 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('unmark_url', 'https://unmark.it', 'entry')
405
406Migration down
407""""""""""""""
408
409.. code-block:: sql
410
411 DELETE FROM wallabag_craue_config_setting WHERE name = 'share_unmark';
412 DELETE FROM wallabag_craue_config_setting WHERE name = 'unmark_url';
413
414Migration 20161118134328
415------------------------
416
417MySQL
418^^^^^
419
420Migration up
421""""""""""""
422
423.. code-block:: sql
424
425 ALTER TABLE wallabag_entry ADD http_status VARCHAR(3) DEFAULT NULL
426
427Migration down
428""""""""""""""
429
430.. code-block:: sql
431
432 ALTER TABLE wallabag_entry DROP http_status
433
434PostgreSQL
435^^^^^^^^^^
436
437Migration up
438""""""""""""
439
440.. code-block:: sql
441
442 ALTER TABLE wallabag_entry ADD http_status VARCHAR(3) DEFAULT NULL
443
444Migration down
445""""""""""""""
446
447.. code-block:: sql
448
449 ALTER TABLE wallabag_entry DROP http_status
450
451SQLite
452^^^^^^
453
454Migration up
455""""""""""""
456
457.. code-block:: sql
458
459 ALTER TABLE wallabag_entry ADD COLUMN http_status VARCHAR(3) DEFAULT NULL
460
461Migration down
462""""""""""""""
463
464.. code-block:: sql
465
466 DROP INDEX created_at_idx
467 DROP INDEX IDX_F4D18282A76ED395
468 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
469 DROP TABLE wallabag_entry
470 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uuid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
471 INSERT INTO wallabag_entry (id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
472 DROP TABLE __temp__wallabag_entry
473 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
474 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
475
476Migration 20161122144743
477------------------------
478
479MySQL
480^^^^^
481
482Migration up
483""""""""""""
484
485.. code-block:: sql
486
487 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('restricted_access', 0, 'entry')
488
489Migration down
490""""""""""""""
491
492.. code-block:: sql
493
494 DELETE FROM wallabag_craue_config_setting WHERE name = 'restricted_access';
495
496PostgreSQL
497^^^^^^^^^^
498
499Migration up
500""""""""""""
501
502.. code-block:: sql
503
504 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('restricted_access', 0, 'entry')
505
506Migration down
507""""""""""""""
508
509.. code-block:: sql
510
511 DELETE FROM wallabag_craue_config_setting WHERE name = 'restricted_access';
512
513SQLite
514^^^^^^
515
516Migration up
517""""""""""""
518
519.. code-block:: sql
520
521 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('restricted_access', 0, 'entry')
522
523Migration down
524""""""""""""""
525
526.. code-block:: sql
527
528 DELETE FROM wallabag_craue_config_setting WHERE name = 'restricted_access';
529
530Migration 20161122203647
531------------------------
532
533MySQL
534^^^^^
535
536Migration up
537""""""""""""
538
539.. code-block:: sql
540
541 ALTER TABLE wallabag_user DROP expired, DROP credentials_expired
542
543Migration down
544""""""""""""""
545
546.. code-block:: sql
547
548 ALTER TABLE wallabag_user ADD expired SMALLINT DEFAULT NULL, ADD credentials_expired SMALLINT DEFAULT NULL
549
550PostgreSQL
551^^^^^^^^^^
552
553Migration up
554""""""""""""
555
556.. code-block:: sql
557
558 ALTER TABLE wallabag_user DROP expired
559 ALTER TABLE wallabag_user DROP credentials_expired
560
561Migration down
562""""""""""""""
563
564.. code-block:: sql
565
566 ALTER TABLE wallabag_user ADD expired SMALLINT DEFAULT NULL
567 ALTER TABLE wallabag_user ADD credentials_expired SMALLINT DEFAULT NULL
568
569SQLite
570^^^^^^
571
572Migration up
573""""""""""""
574
575.. code-block:: sql
576
577 DROP INDEX UNIQ_1D63E7E5C05FB297
578 DROP INDEX UNIQ_1D63E7E5A0D96FBF
579 DROP INDEX UNIQ_1D63E7E592FC23A8
580 CREATE TEMPORARY TABLE __temp__wallabag_user AS SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, locked, expires_at, confirmation_token, password_requested_at, roles, credentials_expire_at, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted FROM wallabag_user
581 DROP TABLE wallabag_user
582 CREATE TABLE wallabag_user (id INTEGER NOT NULL, username VARCHAR(180) NOT NULL COLLATE BINARY, username_canonical VARCHAR(180) NOT NULL COLLATE BINARY, email VARCHAR(180) NOT NULL COLLATE BINARY, email_canonical VARCHAR(180) NOT NULL COLLATE BINARY, enabled BOOLEAN NOT NULL, salt VARCHAR(255) NOT NULL COLLATE BINARY, password VARCHAR(255) NOT NULL COLLATE BINARY, last_login DATETIME DEFAULT NULL, locked BOOLEAN NOT NULL, expires_at DATETIME DEFAULT NULL, confirmation_token VARCHAR(180) DEFAULT NULL COLLATE BINARY, password_requested_at DATETIME DEFAULT NULL, roles CLOB NOT NULL COLLATE BINARY, credentials_expire_at DATETIME DEFAULT NULL, name CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INTEGER DEFAULT NULL, twoFactorAuthentication BOOLEAN NOT NULL, trusted CLOB DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
583 INSERT INTO wallabag_user (id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, locked, expires_at, confirmation_token, password_requested_at, roles, credentials_expire_at, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted) SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, locked, expires_at, confirmation_token, password_requested_at, roles, credentials_expire_at, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted FROM __temp__wallabag_user
584 DROP TABLE __temp__wallabag_user
585 CREATE UNIQUE INDEX UNIQ_1D63E7E5C05FB297 ON wallabag_user (confirmation_token)
586 CREATE UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF ON wallabag_user (email_canonical)
587 CREATE UNIQUE INDEX UNIQ_1D63E7E592FC23A8 ON wallabag_user (username_canonical)
588
589Migration down
590""""""""""""""
591
592.. code-block:: sql
593
594 ALTER TABLE wallabag_user ADD COLUMN expired SMALLINT DEFAULT NULL
595 ALTER TABLE wallabag_user ADD COLUMN credentials_expired SMALLINT DEFAULT NULL
596
597Migration 20161128084725
598------------------------
599
600MySQL
601^^^^^
602
603Migration up
604""""""""""""
605
606.. code-block:: sql
607
608 ALTER TABLE wallabag_config ADD list_mode INT DEFAULT NULL
609
610Migration down
611""""""""""""""
612
613.. code-block:: sql
614
615 ALTER TABLE wallabag_config DROP list_mode
616
617PostgreSQL
618^^^^^^^^^^
619
620Migration up
621""""""""""""
622
623.. code-block:: sql
624
625 ALTER TABLE wallabag_config ADD list_mode INT DEFAULT NULL
626
627Migration down
628""""""""""""""
629
630.. code-block:: sql
631
632 ALTER TABLE wallabag_config DROP list_mode
633
634SQLite
635^^^^^^
636
637Migration up
638""""""""""""
639
640.. code-block:: sql
641
642 ALTER TABLE wallabag_config ADD COLUMN list_mode INTEGER DEFAULT NULL
643
644Migration down
645""""""""""""""
646
647.. code-block:: sql
648
649 DROP INDEX UNIQ_87E64C53A76ED395
650 CREATE TEMPORARY TABLE __temp__wallabag_config AS SELECT id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key FROM wallabag_config
651 DROP TABLE wallabag_config
652 CREATE TABLE wallabag_config (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, theme VARCHAR(255) NOT NULL COLLATE BINARY, items_per_page INTEGER NOT NULL, language VARCHAR(255) NOT NULL COLLATE BINARY, rss_token VARCHAR(255) DEFAULT NULL COLLATE BINARY, rss_limit INTEGER DEFAULT NULL, reading_speed DOUBLE PRECISION DEFAULT NULL, pocket_consumer_key VARCHAR(255) DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
653 INSERT INTO wallabag_config (id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key) SELECT id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key FROM __temp__wallabag_config
654 DROP TABLE __temp__wallabag_config
655 CREATE UNIQUE INDEX UNIQ_87E64C53A76ED395 ON wallabag_config (user_id)
656
657Migration 20161128131503
658------------------------
659
660MySQL
661^^^^^
662
663Migration up
664""""""""""""
665
666.. code-block:: sql
667
668 ALTER TABLE wallabag_user DROP locked, DROP credentials_expire_at, DROP expires_at
669
670Migration down
671""""""""""""""
672
673.. code-block:: sql
674
675 ALTER TABLE wallabag_user ADD locked SMALLINT DEFAULT NULL, ADD credentials_expire_at DATETIME DEFAULT NULL, ADD expires_at DATETIME DEFAULT NULL
676
677PostgreSQL
678^^^^^^^^^^
679
680Migration up
681""""""""""""
682
683.. code-block:: sql
684
685 ALTER TABLE wallabag_user DROP locked
686 ALTER TABLE wallabag_user DROP credentials_expire_at
687 ALTER TABLE wallabag_user DROP expires_at
688
689Migration down
690""""""""""""""
691
692.. code-block:: sql
693
694 ALTER TABLE wallabag_user ADD locked SMALLINT DEFAULT NULL
695 ALTER TABLE wallabag_user ADD credentials_expire_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL
696 ALTER TABLE wallabag_user ADD expires_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL
697
698SQLite
699^^^^^^
700
701Migration up
702""""""""""""
703
704.. code-block:: sql
705
706 ALTER TABLE wallabag_user ADD COLUMN locked SMALLINT DEFAULT NULL
707 ALTER TABLE wallabag_user ADD COLUMN credentials_expire_at DATETIME DEFAULT NULL
708 ALTER TABLE wallabag_user ADD COLUMN expires_at DATETIME DEFAULT NULL
709
710Migration down
711""""""""""""""
712
713.. code-block:: sql
714
715 DROP INDEX UNIQ_1D63E7E592FC23A8
716 DROP INDEX UNIQ_1D63E7E5A0D96FBF
717 DROP INDEX UNIQ_1D63E7E5C05FB297
718 CREATE TEMPORARY TABLE __temp__wallabag_user AS SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted, expired, credentials_expired FROM wallabag_user
719 DROP TABLE wallabag_user
720 CREATE TABLE wallabag_user (id INTEGER NOT NULL, username VARCHAR(180) NOT NULL COLLATE BINARY, username_canonical VARCHAR(180) NOT NULL COLLATE BINARY, email VARCHAR(180) NOT NULL COLLATE BINARY, email_canonical VARCHAR(180) NOT NULL COLLATE BINARY, enabled BOOLEAN NOT NULL, salt VARCHAR(255) NOT NULL COLLATE BINARY, password VARCHAR(255) NOT NULL COLLATE BINARY, last_login DATETIME DEFAULT NULL, confirmation_token VARCHAR(180) DEFAULT NULL COLLATE BINARY, password_requested_at DATETIME DEFAULT NULL, roles CLOB NOT NULL COLLATE BINARY, name CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INTEGER DEFAULT NULL, twoFactorAuthentication BOOLEAN NOT NULL, trusted CLOB DEFAULT NULL COLLATE BINARY, expired SMALLINT DEFAULT NULL, credentials_expired SMALLINT DEFAULT NULL, PRIMARY KEY(id))
721 INSERT INTO wallabag_user (id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted, expired, credentials_expired) SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted, expired, credentials_expired FROM __temp__wallabag_user
722 DROP TABLE __temp__wallabag_user
723 CREATE UNIQUE INDEX UNIQ_1D63E7E592FC23A8 ON wallabag_user (username_canonical)
724 CREATE UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF ON wallabag_user (email_canonical)
725 CREATE UNIQUE INDEX UNIQ_1D63E7E5C05FB297 ON wallabag_user (confirmation_token)
726
727Migration 20161214094402
728------------------------
729
730MySQL
731^^^^^
732
733Migration up
734""""""""""""
735
736.. code-block:: sql
737
738 ALTER TABLE wallabag_entry CHANGE uuid uid VARCHAR(23)
739
740Migration down
741""""""""""""""
742
743.. code-block:: sql
744
745 ALTER TABLE wallabag_entry CHANGE uid uuid VARCHAR(23)
746
747PostgreSQL
748^^^^^^^^^^
749
750Migration up
751""""""""""""
752
753.. code-block:: sql
754
755 ALTER TABLE wallabag_entry RENAME uuid TO uid
756
757Migration down
758""""""""""""""
759
760.. code-block:: sql
761
762 ALTER TABLE wallabag_entry RENAME uid TO uuid
763
764SQLite
765^^^^^^
766
767Migration up
768""""""""""""
769
770.. code-block:: sql
771
772 CREATE TABLE __temp__wallabag_entry (
773 id INTEGER NOT NULL,
774 user_id INTEGER DEFAULT NULL,
775 uid VARCHAR(23) DEFAULT NULL,
776 title CLOB DEFAULT NULL,
777 url CLOB DEFAULT NULL,
778 is_archived BOOLEAN NOT NULL,
779 is_starred BOOLEAN NOT NULL,
780 content CLOB DEFAULT NULL,
781 created_at DATETIME NOT NULL,
782 updated_at DATETIME NOT NULL,
783 mimetype CLOB DEFAULT NULL,
784 language CLOB DEFAULT NULL,
785 reading_time INTEGER DEFAULT NULL,
786 domain_name CLOB DEFAULT NULL,
787 preview_picture CLOB DEFAULT NULL,
788 is_public BOOLEAN DEFAULT '0',
789 http_status VARCHAR(3) DEFAULT NULL,
790 PRIMARY KEY(id)
791 );
792 INSERT INTO __temp__wallabag_entry SELECT id,user_id,uuid,title,url,is_archived,is_starred,content,created_at,updated_at,mimetype,language,reading_time,domain_name,preview_picture,is_public,http_status FROM wallabag_entry;
793 DROP TABLE wallabag_entry;
794 ALTER TABLE __temp__wallabag_entry RENAME TO wallabag_entry
795 CREATE INDEX uid ON wallabag_entry (uid)
796 CREATE INDEX created_at ON wallabag_entry (created_at)
797 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
798
799
800Migration down
801""""""""""""""
802
803.. code-block:: sql
804
805 CREATE TABLE __temp__wallabag_entry (
806 id INTEGER NOT NULL,
807 user_id INTEGER DEFAULT NULL,
808 uuid VARCHAR(23) DEFAULT NULL,
809 title CLOB DEFAULT NULL,
810 url CLOB DEFAULT NULL,
811 is_archived BOOLEAN NOT NULL,
812 is_starred BOOLEAN NOT NULL,
813 content CLOB DEFAULT NULL,
814 created_at DATETIME NOT NULL,
815 updated_at DATETIME NOT NULL,
816 mimetype CLOB DEFAULT NULL,
817 language CLOB DEFAULT NULL,
818 reading_time INTEGER DEFAULT NULL,
819 domain_name CLOB DEFAULT NULL,
820 preview_picture CLOB DEFAULT NULL,
821 is_public BOOLEAN DEFAULT '0',
822 http_status VARCHAR(3) DEFAULT NULL,
823 PRIMARY KEY(id)
824 );
825 INSERT INTO __temp__wallabag_entry SELECT id,user_id,uid,title,url,is_archived,is_starred,content,created_at,updated_at,mimetype,language,reading_time,domain_name,preview_picture,is_public,http_status FROM wallabag_entry;
826 DROP TABLE wallabag_entry;
827 ALTER TABLE __temp__wallabag_entry RENAME TO wallabag_entry
828 CREATE INDEX uid ON wallabag_entry (uid)
829 CREATE INDEX created_at ON wallabag_entry (created_at)
830 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
831
832Migration 20161214094403
833------------------------
834
835MySQL
836^^^^^
837
838Migration up
839""""""""""""
840
841.. code-block:: sql
842
843 CREATE INDEX IDX_entry_uid ON wallabag_entry (uid)
844
845Migration down
846""""""""""""""
847
848.. code-block:: sql
849
850 DROP INDEX IDX_entry_uid ON wallabag_entry
851
852PostgreSQL
853^^^^^^^^^^
854
855Migration up
856""""""""""""
857
858.. code-block:: sql
859
860 CREATE INDEX IDX_entry_uid ON wallabag_entry (uid)
861
862Migration down
863""""""""""""""
864
865.. code-block:: sql
866
867 DROP INDEX idx_entry_uid
868
869SQLite
870^^^^^^
871
872Migration up
873""""""""""""
874
875.. code-block:: sql
876
877 DROP INDEX IDX_F4D18282A76ED395
878 DROP INDEX created_at_idx
879 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
880 DROP TABLE wallabag_entry
881 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
882 INSERT INTO wallabag_entry (id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
883 DROP TABLE __temp__wallabag_entry
884 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
885 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
886 CREATE INDEX IDX_entry_uid ON wallabag_entry (uid)
887
888Migration down
889""""""""""""""
890
891.. code-block:: sql
892
893 DROP INDEX IDX_entry_uid
894 DROP INDEX created_at_idx
895 DROP INDEX IDX_F4D18282A76ED395
896 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
897 DROP TABLE wallabag_entry
898 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
899 INSERT INTO wallabag_entry (id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
900 DROP TABLE __temp__wallabag_entry
901 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
902 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
903
904Migration 20170127093841
905------------------------
906
907MySQL
908^^^^^
909
910Migration up
911""""""""""""
912
913.. code-block:: sql
914
915 CREATE INDEX IDX_entry_starred ON wallabag_entry (is_starred)
916 CREATE INDEX IDX_entry_archived ON wallabag_entry (is_archived)
917
918Migration down
919""""""""""""""
920
921.. code-block:: sql
922
923 DROP INDEX IDX_entry_starred ON wallabag_entry
924 DROP INDEX IDX_entry_archived ON wallabag_entry
925
926PostgreSQL
927^^^^^^^^^^
928
929Migration up
930""""""""""""
931
932.. code-block:: sql
933
934 CREATE INDEX IDX_entry_starred ON wallabag_entry (is_starred)
935 CREATE INDEX IDX_entry_archived ON wallabag_entry (is_archived)
936
937Migration down
938""""""""""""""
939
940.. code-block:: sql
941
942 DROP INDEX IDX_entry_starred
943 DROP INDEX IDX_entry_archived
944
945SQLite
946^^^^^^
947
948Migration up
949""""""""""""
950
951.. code-block:: sql
952
953 DROP INDEX uid
954 DROP INDEX created_at
955 DROP INDEX IDX_F4D18282A76ED395
956 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status FROM wallabag_entry
957 DROP TABLE wallabag_entry
958 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uid VARCHAR(23) DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', http_status VARCHAR(3) DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
959 INSERT INTO wallabag_entry (id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status) SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status FROM __temp__wallabag_entry
960 DROP TABLE __temp__wallabag_entry
961 CREATE INDEX uid ON wallabag_entry (uid)
962 CREATE INDEX created_at ON wallabag_entry (created_at)
963 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
964 CREATE INDEX IDX_entry_starred ON wallabag_entry (is_starred)
965 CREATE INDEX IDX_entry_archived ON wallabag_entry (is_archived)
966
967Migration down
968""""""""""""""
969
970.. code-block:: sql
971
972 DROP INDEX IDX_entry_archived
973 DROP INDEX IDX_entry_starred
974 DROP INDEX IDX_F4D18282A76ED395
975 DROP INDEX created_at
976 DROP INDEX uid
977 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status FROM wallabag_entry
978 DROP TABLE wallabag_entry
979 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uid VARCHAR(23) DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', http_status VARCHAR(3) DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
980 INSERT INTO wallabag_entry (id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status) SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status FROM __temp__wallabag_entry
981 DROP TABLE __temp__wallabag_entry
982 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
983 CREATE INDEX created_at ON wallabag_entry (created_at)
984 CREATE INDEX uid ON wallabag_entry (uid)
diff --git a/docs/de/user/tags.rst b/docs/de/user/tags.rst
deleted file mode 100644
index 8ddc0f40..00000000
--- a/docs/de/user/tags.rst
+++ /dev/null
@@ -1,2 +0,0 @@
1Tags
2==== \ No newline at end of file
diff --git a/docs/de/user/upgrade.rst b/docs/de/user/upgrade.rst
deleted file mode 100644
index fa2aac45..00000000
--- a/docs/de/user/upgrade.rst
+++ /dev/null
@@ -1,140 +0,0 @@
1wallabag-Installation aktualisieren
2===================================
3
4Du wirst hier mehrere Wege finden, um deine wallabag zu aktualisieren:
5
6- `von 2.1.x zu 2.2.x <#upgrade-von-2-1-x-zu-2-2-x>`_
7- `von 2.0.x zu 2.1.1 <#upgrade-von-2-0-x-zu-2-1-1>`_
8- `von 1.x zu 2.x <#upgrade-von-1-x>`_
9
10Upgrade von 2.1.x zu 2.2.x
11--------------------------
12
13Upgrade auf einem dedizierten Webserver
14^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
15
16**Von 2.1.x:**
17
18::
19
20 make update
21 php bin/console doctrine:migrations:migrate --no-interaction -e=prod
22
23**Von 2.2.0:**
24
25::
26
27 make update
28
29Erklärungen über die Datenbankmigration
30"""""""""""""""""""""""""""""""""""""""
31
32Während des Updates migrieren wir die Datenbank.
33
34Alle Datenbankmigrationen sind im Verzeichnis ``app/DoctrineMigrations`` gespeichert. Jede von ihnen kann einzeln ausgeführt werden:
35``bin/console doctrine:migrations:execute 20161001072726 --env=prod``.
36
37Dies ist die Migrationsliste von 2.1.x auf 2.2.0:
38
39* ``20161001072726``: Fremdschlüssel für das Zurücksetzen des Kontos hinzugefügt
40* ``20161022134138``: Datenbank zum ``utf8mb4``-Encoding ändern (nur für MySQL)
41* ``20161024212538``: ``user_id``-Spalte zu ``oauth2_clients`` hinzugefügt, um Benutzer davon abzuhalten, API-Clients anderer Nutzer zu löschen
42* ``20161031132655``: Interne Einstellung für das (de-)aktivieren vom Bilder-Download hinzugefügt
43* ``20161104073720``: ``created_at``-Index zur ``entry``-Tabelle hinzugefügt
44* ``20161106113822``: ``action_mark_as_read``-Feld zur ``config``-Tabelle hinzugefügt
45* ``20161117071626``: Interne Einstellung zum Teilen mit unmark.it hinzugefügt
46* ``20161118134328``: ``http_status``-Feld zur ``entry``-Tabelle hinzugefügt
47* ``20161122144743``: Interne Einstellung für das (de-)aktivieren zum Holen von Artikeln mit einer Paywall hinzugefügt
48* ``20161122203647``: ``expired``- und ``credentials_expired``-Feld aus der ``user``-Tabelle entfernt
49* ``20161128084725``: added ``list_mode`` field on ``config`` table
50* ``20161128131503``: dropped ``locked``, ``credentials_expire_at`` and ``expires_at`` fields on ``user`` table
51* ``20161214094402``: renamed ``uuid`` to ``uid`` on ``entry`` table
52* ``20161214094403``: added ``uid`` index on ``entry`` table
53* ``20170127093841``: added ``is_starred`` and ``is_archived`` indexes on ``entry`` table
54
55Upgrade auf einem Shared Hosting
56^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
57
58Sichere deine ``app/config/parameters.yml``-Datei.
59
60Lade das letzte Release von wallabag herunter:
61
62.. code-block:: bash
63
64 wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-package
65
66Du findest den `aktuellen MD5-Hash auf unserer Webseite <https://static.wallabag.org/releases/>`_.
67
68Extrahiere das Archiv in deinen wallabag-Ordner und ersetze die ``app/config/parameters.yml`` mit deiner.
69
70Bitte überprüfe, dass deine ``app/config/parameters.yml`` alle notwendigen Parameter enthält. Eine Dokumentation darüber `findest du hier <http://doc.wallabag.org/de/master/user/parameters.html>`_.
71
72Falls du SQLite nutzt, musst du außerdem deinen ``data/``-Ordner in die neue Installation kopieren.
73
74Leere den ``var/cache``-Ordner.
75
76Du musst einige SQL-Abfragen durchführen, um deine Datenbank zu aktualisieren. Wir gehen in diesem Fall davon aus, dass das Tabellenpräfix ``wallabag_`` ist.
77
78`You can find all the queries here <http://doc.wallabag.org/en/master/user/query-upgrade-21-22.html>`_.
79
80Upgrade von 2.0.x zu 2.1.1
81---------------------------
82
83.. warning::
84
85 Mache eine Sicherung deines Pocket-Consumer-Key, falls hinzugefügt, da dieser nach dem Upgrade erneut hinzugefügt werden muss.
86
87Upgrade auf einem dedizierten Webserver
88^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
89
90::
91
92 rm -rf var/cache/*
93 git fetch origin
94 git fetch --tags
95 git checkout 2.1.1 --force
96 SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
97 php bin/console doctrine:migrations:migrate --env=prod
98 php bin/console cache:clear --env=prod
99
100Upgrade auf einem Shared Hosting
101^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
102
103Sichere deine ``app/config/parameters.yml``-Datei.
104
105Lade das 2.1.1-Release von wallabag herunter:
106
107.. code-block:: bash
108
109 wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz
110
111(md5 hash of the 2.1.1 package: ``9584a3b60a2b2a4de87f536548caac93``)
112
113Extrahiere das Archiv in deinen wallabag-Ordner und ersetze die ``app/config/parameters.yml`` mit deiner.
114
115Bitte überprüfe, dass deine ``app/config/parameters.yml`` alle notwendigen Parameter enthält. Eine Dokumentation darüber `findest du hier <http://doc.wallabag.org/de/master/user/parameters.html>`_.
116
117Falls du SQLite nutzt, musst du außerdem deinen ``data/``-Ordner in die neue Installation kopieren.
118
119Leere den ``var/cache``-Ordner.
120
121Du musst einige SQL-Abfragen durchführen, um deine Datenbank zu aktualisieren. Wir gehen in diesem Fall davon aus, dass das Tabellenpräfix ``wallabag_`` ist und eine MySQL-Datenbank verwendet wird:
122
123.. code-block:: sql
124
125 ALTER TABLE `wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL;
126 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('share_public', '1', 'entry');
127 ALTER TABLE `wallabag_oauth2_clients` ADD name longtext COLLATE 'utf8_unicode_ci' DEFAULT NULL;
128 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_redis', '0', 'import');
129 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_rabbitmq', '0', 'import');
130 ALTER TABLE `wallabag_config` ADD `pocket_consumer_key` VARCHAR(255) DEFAULT NULL;
131 DELETE FROM `wallabag_craue_config_setting` WHERE `name` = 'pocket_consumer_key';
132
133Upgrade von 1.x
134---------------
135
136Es gibt kein automatisiertes Skript, um wallabag 1.x auf wallabag 2.x zu aktualisieren. Du musst:
137
138- deine Daten exportieren
139- wallabag 2.x installieren (Dokumentation <http://doc.wallabag.org/en/master/user/installation.html>`_ )
140- die Daten in die neue Installation importieren (`Dokumentation <http://doc.wallabag.org/en/master/user/import.html>`_ )
diff --git a/docs/en/conf.py b/docs/en/conf.py
deleted file mode 100644
index 5926f8c9..00000000
--- a/docs/en/conf.py
+++ /dev/null
@@ -1,55 +0,0 @@
1# -*- coding: utf-8 -*-
2#
3# wallabag documentation build configuration file, created by
4# sphinx-quickstart on Fri Oct 16 06:47:23 2015.
5
6import sys
7import os
8
9extensions = []
10templates_path = ['_templates']
11source_suffix = '.rst'
12master_doc = 'index'
13project = u'wallabag'
14copyright = u'2013-2017, Nicolas Lœuillet - MIT Licence'
15version = '2.3.0'
16release = version
17exclude_patterns = ['_build']
18pygments_style = 'sphinx'
19html_theme = 'default'
20html_static_path = ['_static']
21htmlhelp_basename = 'wallabagdoc'
22latex_elements = {
23
24}
25
26latex_documents = [
27 ('index', 'wallabag.tex', u'wallabag Documentation',
28 u'Nicolas Lœuillet', 'manual'),
29]
30
31man_pages = [
32 ('index', 'wallabag', u'wallabag Documentation',
33 [u'Nicolas Lœuillet'], 1)
34]
35
36texinfo_documents = [
37 ('index', 'wallabag', u'wallabag Documentation',
38 u'Nicolas Lœuillet', 'wallabag', 'wallabag is an opensource read-it-later.',
39 'Miscellaneous'),
40]
41
42##### Guzzle sphinx theme
43
44import guzzle_sphinx_theme
45html_translator_class = 'guzzle_sphinx_theme.HTMLTranslator'
46html_theme_path = guzzle_sphinx_theme.html_theme_path()
47html_theme = 'guzzle_sphinx_theme'
48
49# Custom sidebar templates, maps document names to template names.
50html_sidebars = {
51 '**': ['logo-text.html', 'globaltoc.html', 'searchbox.html']
52}
53
54# Register the theme as an extension to generate a sitemap.xml
55extensions.append("guzzle_sphinx_theme")
diff --git a/docs/en/developer/api.rst b/docs/en/developer/api.rst
deleted file mode 100644
index 80c96025..00000000
--- a/docs/en/developer/api.rst
+++ /dev/null
@@ -1,271 +0,0 @@
1API documentation
2=================
3
4Thanks to this documentation, we'll see how to interact with the wallabag API.
5
6Requirements
7------------
8
9* wallabag freshly (or not) installed on http://localhost:8000
10* ``httpie`` installed on your computer (`see project website <https://github.com/jkbrzt/httpie>`__). Note that you can also adapt the commands using curl or wget.
11* all the API methods are documented here http://localhost:8000/api/doc (on your instance) and `on our example instance <http://v2.wallabag.org/api/doc>`_
12
13Creating a new API client
14-------------------------
15
16In your wallabag account, you can create a new API client at this URL http://localhost:8000/developer/client/create.
17
18Just give the redirect URL of your application and create your client. If your application is a desktop one, put whatever URL suits you the most.
19
20You get information like this:
21
22::
23
24 Client ID:
25
26 1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc
27
28 Client secret:
29
30 636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4
31
32
33Obtaining a refresh token
34-------------------------
35
36For each API call, you'll need a token. Let's create it with this command (replace ``client_id``, ``client_secret``, ``username`` and ``password`` with their values):
37
38::
39
40 http POST http://localhost:8000/oauth/v2/token \
41 grant_type=password \
42 client_id=1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc \
43 client_secret=636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4 \
44 username=wallabag \
45 password=wallabag
46
47You'll have this in return:
48
49::
50
51 HTTP/1.1 200 OK
52 Cache-Control: no-store, private
53 Connection: close
54 Content-Type: application/json
55 Date: Tue, 05 Apr 2016 08:44:33 GMT
56 Host: localhost:8000
57 Pragma: no-cache
58 X-Debug-Token: 19c8e0
59 X-Debug-Token-Link: /_profiler/19c8e0
60 X-Powered-By: PHP/7.0.4
61
62 {
63 "access_token": "ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA",
64 "expires_in": 3600,
65 "refresh_token": "OTNlZGE5OTJjNWQwYzc2NDI5ZGE5MDg3ZTNjNmNkYTY0ZWZhZDVhNDBkZTc1ZTNiMmQ0MjQ0OThlNTFjNTQyMQ",
66 "scope": null,
67 "token_type": "bearer"
68 }
69
70We'll work with the ``access_token`` value in our next calls.
71
72cURL example:
73
74::
75
76 curl -s "https://localhost:8000/oauth/v2/token?grant_type=password&client_id=1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc&client_secret=636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4&username=wallabag&password=wallabag"
77
78Getting existing entries
79------------------------
80
81Documentation for this method: http://localhost:8000/api/doc#get--api-entries.{_format}
82
83As we work on a fresh wallabag installation, we'll have no result with this command:
84
85::
86
87 http GET http://localhost:8000/api/entries.json \
88 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
89
90returns:
91
92::
93
94 HTTP/1.1 200 OK
95 0: application/json
96 Cache-Control: no-cache
97 Connection: close
98 Content-Type: application/json
99 Date: Tue, 05 Apr 2016 08:51:32 GMT
100 Host: localhost:8000
101 Set-Cookie: PHPSESSID=nrogm748md610ovhu6j70c3q63; path=/; HttpOnly
102 X-Debug-Token: 4fbbc4
103 X-Debug-Token-Link: /_profiler/4fbbc4
104 X-Powered-By: PHP/7.0.4
105
106 {
107 "_embedded": {
108 "items": []
109 },
110 "_links": {
111 "first": {
112 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
113 },
114 "last": {
115 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
116 },
117 "self": {
118 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
119 }
120 },
121 "limit": 30,
122 "page": 1,
123 "pages": 1,
124 "total": 0
125 }
126
127The ``items`` array is empty.
128
129cURL example:
130
131::
132
133 curl --get "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
134
135Adding your first entry
136-----------------------
137
138Documentation for this method: http://localhost:8000/api/doc#post--api-entries.{_format}
139
140::
141
142 http POST http://localhost:8000/api/entries.json \
143 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA" \
144 url="http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html"
145
146returns
147
148::
149
150 HTTP/1.1 200 OK
151 0: application/json
152 Cache-Control: no-cache
153 Connection: close
154 Content-Type: application/json
155 Date: Tue, 05 Apr 2016 09:07:54 GMT
156 Host: localhost:8000
157 Set-Cookie: PHPSESSID=bjie40ck72kp2pst3i71gf43a4; path=/; HttpOnly
158 X-Debug-Token: e01c51
159 X-Debug-Token-Link: /_profiler/e01c51
160 X-Powered-By: PHP/7.0.4
161
162 {
163 "_links": {
164 "self": {
165 "href": "/api/entries/1"
166 }
167 },
168 "content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readability, le logiciel Wallabag permet de mémoriser des articles pour les lire plus tard. Sa nouvelle version apporte une multitude de nouvelles fonctionnalités.</p><p>Si vous utilisez Firefox comme navigateur web, vous avez peut-être constaté l’arrivée d’<a href=\"http://www.numerama.com/magazine/33292-update-firefox.html\">une fonctionnalité intitulée Pocket</a>. Disponible autrefois sous la forme d’un module complémentaire, et sous un autre nom (Read it Later), elle est depuis le mois de juin 2015 directement incluse au sein de Firefox.</p>\n<p>Concrètement, Pocket sert à garder en mémoire des contenus que vous croisez au fil de la navigation, comme des articles de presse ou des vidéos, afin de pouvoir les consulter plus tard. Pocket fonctionne un peu comme un système de favoris, mais en bien plus élaboré grâce à ses options supplémentaires.</p>\n<p>Mais <a href=\"https://en.wikipedia.org/wiki/Pocket_%28application%29#Firefox_integration\" target=\"_blank\">Pocket fait polémique</a>, car il s’agit d’un projet propriétaire qui est intégré dans un logiciel libre. C’est pour cette raison que des utilisateurs ont choisi de se tourner vers d’autres solutions, comme <strong>Wallabag</strong>, qui est l’équivalent libre de Pocket et d’autres systèmes du même genre, comme Instapaper et Readability.</p>\n<p>Et justement, Wallabag évolue. C’est ce dimanche que la <a href=\"https://www.wallabag.org/blog/2016/04/03/wallabag-v2\" target=\"_blank\">version 2.0.0 du logiciel</a> a été publiée par l’équipe en  charge de son développement et celle-ci contient de nombreux changements par rapport aux moutures précédentes (la <a href=\"http://doc.wallabag.org/fr/v2/\" target=\"_blank\">documentation est traduite</a> en français), lui permettant d’apparaître comme une alternative à Pocket, Instapaper et Readability.</p>\n<p><img class=\"aligncenter size-medium wp-image-160439\" src=\"http://www.numerama.com/content/uploads/2016/04/homepage-680x347.png\" alt=\"homepage\" width=\"680\" height=\"347\" srcset=\"//www.numerama.com/content/uploads/2016/04/homepage-680x347.png 680w, //www.numerama.com/content/uploads/2016/04/homepage-1024x523.png 1024w, //www.numerama.com/content/uploads/2016/04/homepage-270x138.png 270w, //www.numerama.com/content/uploads/2016/04/homepage.png 1286w\" sizes=\"(max-width: 680px) 100vw, 680px\"/></p>\n<p>Parmi les principaux changements que l’on peut retenir avec cette nouvelle version, notons la possibilité d’écrire des annotations dans les articles mémorisés, de filtrer les contenus selon divers critères (temps de lecture, nom de domaine, date de création, statut…), d’assigner des mots-clés aux entrées, de modifier le titre des articles, le support des flux RSS ou encore le support de plusieurs langues dont le français.</p>\n<p>D’autres options sont également à signaler, comme l’aperçu d’un article mémorisé (si l’option est disponible), un guide de démarrage rapide pour les débutants, un outil d’export dans divers formats (PDF, JSON, EPUB, MOBI, XML, CSV et TXT) et, surtout, la possibilité de migrer vers Wallabag depuis Pocket, afin de convaincre les usagers de se lancer.</p>\n \n \n <footer class=\"clearfix\" readability=\"1\"><p class=\"source\">\n Crédit photo de la une : <a href=\"https://www.flickr.com/photos/bookgrl/2388310523/\">Laura Taylor</a>\n </p>\n \n <p><a href=\"http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html?&amp;show_reader_reports\" target=\"_blank\" rel=\"nofollow\">Signaler une erreur dans le texte</a></p>\n \n</footer> <section class=\"related-article\"><header><h3>Articles liés</h3>\n </header><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/magazine/34444-firefox-prepare-l-enterrement-des-vieux-plugins.html\" title=\"Firefox prépare l'enterrement des vieux plugins\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135\" srcset=\"&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w,&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox prépare l'enterrement des vieux plugins\"/></div>\n <h4> Firefox prépare l'enterrement des vieux plugins </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/131636-activer-navigation-privee-navigateur-web.html\" title=\"Comment activer la navigation privée sur son navigateur web\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135\" srcset=\"&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w,&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Comment activer la navigation privée sur son navigateur web\"/></div>\n <h4> Comment activer la navigation privée sur son navigateur web </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/144028-firefox-se-mettra-a-jour-regulierement.html\" title=\"Firefox se mettra à jour un peu moins régulièrement\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135\" srcset=\"&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w,&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox se mettra à jour un peu moins régulièrement\"/></div>\n <h4> Firefox se mettra à jour un peu moins régulièrement </h4>\n </a>\n <footer class=\"span12\">\n </footer></article>\n</section>\n",
169 "created_at": "2016-04-05T09:07:54+0000",
170 "domain_name": "www.numerama.com",
171 "id": 1,
172 "is_archived": 0,
173 "is_starred": 0,
174 "language": "fr-FR",
175 "mimetype": "text/html",
176 "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
177 "reading_time": 2,
178 "tags": [],
179 "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
180 "updated_at": "2016-04-05T09:07:54+0000",
181 "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html",
182 "user_email": "",
183 "user_id": 1,
184 "user_name": "wallabag"
185 }
186
187Now, if you execute the previous command (see **Get existing entries**), you'll have data.
188
189cURL example:
190
191::
192
193 curl "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA&url=http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html"
194
195Deleting an entry
196-----------------
197
198Documentation for this method: http://localhost:8000/api/doc#delete--api-entries-{entry}.{_format}
199
200::
201
202 http DELETE http://localhost:8000/api/entries/1.json \
203 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
204
205returns
206
207::
208
209 HTTP/1.1 200 OK
210 0: application/json
211 Cache-Control: no-cache
212 Connection: close
213 Content-Type: application/json
214 Date: Tue, 05 Apr 2016 09:19:07 GMT
215 Host: localhost:8000
216 Set-Cookie: PHPSESSID=jopgnfvmuc9a62b27sqm6iulr6; path=/; HttpOnly
217 X-Debug-Token: 887cef
218 X-Debug-Token-Link: /_profiler/887cef
219 X-Powered-By: PHP/7.0.4
220
221 {
222 "_links": {
223 "self": {
224 "href": "/api/entries/"
225 }
226 },
227 "annotations": [],
228 "content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readability, le logiciel Wallabag permet de mémoriser des articles pour les lire plus tard. Sa nouvelle version apporte une multitude de nouvelles fonctionnalités.</p><p>Si vous utilisez Firefox comme navigateur web, vous avez peut-être constaté l’arrivée d’<a href=\"http://www.numerama.com/magazine/33292-update-firefox.html\">une fonctionnalité intitulée Pocket</a>. Disponible autrefois sous la forme d’un module complémentaire, et sous un autre nom (Read it Later), elle est depuis le mois de juin 2015 directement incluse au sein de Firefox.</p>\n<p>Concrètement, Pocket sert à garder en mémoire des contenus que vous croisez au fil de la navigation, comme des articles de presse ou des vidéos, afin de pouvoir les consulter plus tard. Pocket fonctionne un peu comme un système de favoris, mais en bien plus élaboré grâce à ses options supplémentaires.</p>\n<p>Mais <a href=\"https://en.wikipedia.org/wiki/Pocket_%28application%29#Firefox_integration\" target=\"_blank\">Pocket fait polémique</a>, car il s’agit d’un projet propriétaire qui est intégré dans un logiciel libre. C’est pour cette raison que des utilisateurs ont choisi de se tourner vers d’autres solutions, comme <strong>Wallabag</strong>, qui est l’équivalent libre de Pocket et d’autres systèmes du même genre, comme Instapaper et Readability.</p>\n<p>Et justement, Wallabag évolue. C’est ce dimanche que la <a href=\"https://www.wallabag.org/blog/2016/04/03/wallabag-v2\" target=\"_blank\">version 2.0.0 du logiciel</a> a été publiée par l’équipe en  charge de son développement et celle-ci contient de nombreux changements par rapport aux moutures précédentes (la <a href=\"http://doc.wallabag.org/fr/v2/\" target=\"_blank\">documentation est traduite</a> en français), lui permettant d’apparaître comme une alternative à Pocket, Instapaper et Readability.</p>\n<p><img class=\"aligncenter size-medium wp-image-160439\" src=\"http://www.numerama.com/content/uploads/2016/04/homepage-680x347.png\" alt=\"homepage\" width=\"680\" height=\"347\" srcset=\"//www.numerama.com/content/uploads/2016/04/homepage-680x347.png 680w, //www.numerama.com/content/uploads/2016/04/homepage-1024x523.png 1024w, //www.numerama.com/content/uploads/2016/04/homepage-270x138.png 270w, //www.numerama.com/content/uploads/2016/04/homepage.png 1286w\" sizes=\"(max-width: 680px) 100vw, 680px\"/></p>\n<p>Parmi les principaux changements que l’on peut retenir avec cette nouvelle version, notons la possibilité d’écrire des annotations dans les articles mémorisés, de filtrer les contenus selon divers critères (temps de lecture, nom de domaine, date de création, statut…), d’assigner des mots-clés aux entrées, de modifier le titre des articles, le support des flux RSS ou encore le support de plusieurs langues dont le français.</p>\n<p>D’autres options sont également à signaler, comme l’aperçu d’un article mémorisé (si l’option est disponible), un guide de démarrage rapide pour les débutants, un outil d’export dans divers formats (PDF, JSON, EPUB, MOBI, XML, CSV et TXT) et, surtout, la possibilité de migrer vers Wallabag depuis Pocket, afin de convaincre les usagers de se lancer.</p>\n \n \n <footer class=\"clearfix\" readability=\"1\"><p class=\"source\">\n Crédit photo de la une : <a href=\"https://www.flickr.com/photos/bookgrl/2388310523/\">Laura Taylor</a>\n </p>\n \n <p><a href=\"http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html?&amp;show_reader_reports\" target=\"_blank\" rel=\"nofollow\">Signaler une erreur dans le texte</a></p>\n \n</footer> <section class=\"related-article\"><header><h3>Articles liés</h3>\n </header><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/magazine/34444-firefox-prepare-l-enterrement-des-vieux-plugins.html\" title=\"Firefox prépare l'enterrement des vieux plugins\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135\" srcset=\"&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w,&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox prépare l'enterrement des vieux plugins\"/></div>\n <h4> Firefox prépare l'enterrement des vieux plugins </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/131636-activer-navigation-privee-navigateur-web.html\" title=\"Comment activer la navigation privée sur son navigateur web\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135\" srcset=\"&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w,&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Comment activer la navigation privée sur son navigateur web\"/></div>\n <h4> Comment activer la navigation privée sur son navigateur web </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/144028-firefox-se-mettra-a-jour-regulierement.html\" title=\"Firefox se mettra à jour un peu moins régulièrement\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135\" srcset=\"&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w,&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox se mettra à jour un peu moins régulièrement\"/></div>\n <h4> Firefox se mettra à jour un peu moins régulièrement </h4>\n </a>\n <footer class=\"span12\">\n </footer></article>\n</section>\n",
229 "created_at": "2016-04-05T09:07:54+0000",
230 "domain_name": "www.numerama.com",
231 "is_archived": 0,
232 "is_starred": 0,
233 "language": "fr-FR",
234 "mimetype": "text/html",
235 "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
236 "reading_time": 2,
237 "tags": [],
238 "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
239 "updated_at": "2016-04-05T09:07:54+0000",
240 "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html",
241 "user_email": "",
242 "user_id": 1,
243 "user_name": "wallabag"
244 }
245
246And if you want to list the existing entries (see **Get existing entries**), the array is empty.
247
248cURL example:
249
250::
251
252 curl --request DELETE "https://localhost:8000/api/entries/1.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
253
254Other methods
255-------------
256
257We won't write samples for each API method.
258
259Have a look on the listing here: http://localhost:8000/api/doc to know each method.
260
261Third party resources
262---------------
263
264Some applications or libraries use our API. Here is a non-exhaustive list of them:
265
266- `Java wrapper for the wallabag API <https://github.com/di72nn/wallabag-api-wrapper>`_ by Dmitriy Bogdanov.
267- `.NET library for the wallabag v2 API <https://github.com/jlnostr/wallabag-api>`_ by Julian Oster.
268- `Python API for wallabag <https://github.com/foxmask/wallabag_api>`_ by FoxMaSk, for his project `Trigger Happy <https://blog.trigger-happy.eu/>`_.
269- `A plugin <https://github.com/joshp23/ttrss-to-wallabag-v2>`_ designed for `Tiny Tiny RSS <https://tt-rss.org/gitlab/fox/tt-rss/wikis/home>`_ that makes use of the wallabag v2 API. By Josh Panter.
270- `Golang wrapper for the wallabag API <https://github.com/Strubbl/wallabago>`_ by Strubbl, for his projects `wallabag-stats graph <https://github.com/Strubbl/wallabag-stats>`_ and the command line tool `wallabag-add-article <https://github.com/Strubbl/wallabag-add-article>`_.
271- Tool to automatically download Wallabag articles into your local computer or Kobo ebook reader `wallabako <https://gitlab.com/anarcat/wallabako>`_ by anarcat.
diff --git a/docs/en/developer/asynchronous.rst b/docs/en/developer/asynchronous.rst
deleted file mode 100644
index 2e409e4a..00000000
--- a/docs/en/developer/asynchronous.rst
+++ /dev/null
@@ -1,160 +0,0 @@
1Asynchronous tasks
2==================
3
4In order to launch asynchronous tasks (useful for huge imports for example), we can use RabbitMQ or Redis.
5
6Install RabbitMQ for asynchronous tasks
7---------------------------------------
8
9Requirements
10^^^^^^^^^^^^
11
12You need to have RabbitMQ installed on your server.
13
14Installation
15^^^^^^^^^^^^
16
17.. code:: bash
18
19 wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
20 apt-key add rabbitmq-signing-key-public.asc
21 apt-get update
22 apt-get install rabbitmq-server
23
24Configuration and launch
25^^^^^^^^^^^^^^^^^^^^^^^^
26
27.. code:: bash
28
29 rabbitmq-plugins enable rabbitmq_management # (useful to have a web interface, available at http://localhost:15672/ (guest/guest)
30 rabbitmq-server -detached
31
32Stop RabbitMQ
33^^^^^^^^^^^^^
34
35.. code:: bash
36
37 rabbitmqctl stop
38
39
40Configure RabbitMQ in wallabag
41^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
42
43Edit your ``app/config/parameters.yml`` file to edit RabbitMQ configuration. The default one should be ok:
44
45.. code:: yaml
46
47 rabbitmq_host: localhost
48 rabbitmq_port: 5672
49 rabbitmq_user: guest
50 rabbitmq_password: guest
51 rabbitmq_prefetch_count: 10 # read http://www.rabbitmq.com/consumer-prefetch.html
52
53Enable RabbitMQ in wallabag
54^^^^^^^^^^^^^^^^^^^^^^^^^^^
55
56In internal settings, in the **Import** section, enable RabbitMQ (with the value 1).
57
58Launch RabbitMQ consumer
59^^^^^^^^^^^^^^^^^^^^^^^^
60
61Depending on which service you want to import from you need to enable one (or many if you want to support many) cron job:
62
63.. code:: bash
64
65 # for Pocket import
66 bin/console rabbitmq:consumer -e=prod import_pocket -w
67
68 # for Readability import
69 bin/console rabbitmq:consumer -e=prod import_readability -w
70
71 # for Instapaper import
72 bin/console rabbitmq:consumer -e=prod import_instapaper -w
73
74 # for wallabag v1 import
75 bin/console rabbitmq:consumer -e=prod import_wallabag_v1 -w
76
77 # for wallabag v2 import
78 bin/console rabbitmq:consumer -e=prod import_wallabag_v2 -w
79
80 # for Firefox import
81 bin/console rabbitmq:consumer -e=prod import_firefox -w
82
83 # for Chrome import
84 bin/console rabbitmq:consumer -e=prod import_chrome -w
85
86Install Redis for asynchronous tasks
87------------------------------------
88
89In order to launch asynchronous tasks (useful for huge imports for example), we can use Redis.
90
91Requirements
92^^^^^^^^^^^^
93
94You need to have Redis installed on your server.
95
96Installation
97^^^^^^^^^^^^
98
99.. code:: bash
100
101 apt-get install redis-server
102
103Launch
104^^^^^^
105
106The server might be already running after installing, if not you can launch it using:
107
108.. code:: bash
109
110 redis-server
111
112
113Configure Redis in wallabag
114^^^^^^^^^^^^^^^^^^^^^^^^^^^
115
116Edit your ``app/config/parameters.yml`` file to edit Redis configuration. The default one should be ok:
117
118.. code:: yaml
119
120 redis_host: localhost
121 redis_port: 6379
122
123Enable Redis in wallabag
124^^^^^^^^^^^^^^^^^^^^^^^^
125
126In internal settings, in the **Import** section, enable Redis (with the value 1).
127
128Launch Redis consumer
129^^^^^^^^^^^^^^^^^^^^^
130
131Depending on which service you want to import from you need to enable one (or many if you want to support many) cron job:
132
133.. code:: bash
134
135 # for Pocket import
136 bin/console wallabag:import:redis-worker -e=prod pocket -vv >> /path/to/wallabag/var/logs/redis-pocket.log
137
138 # for Readability import
139 bin/console wallabag:import:redis-worker -e=prod readability -vv >> /path/to/wallabag/var/logs/redis-readability.log
140
141 # for Instapaper import
142 bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-instapaper.log
143
144 # for wallabag v1 import
145 bin/console wallabag:import:redis-worker -e=prod wallabag_v1 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v1.log
146
147 # for wallabag v2 import
148 bin/console wallabag:import:redis-worker -e=prod wallabag_v2 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v2.log
149
150 # for Firefox import
151 bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log
152
153 # for Chrome import
154 bin/console wallabag:import:redis-worker -e=prod chrome -vv >> /path/to/wallabag/var/logs/redis-chrome.log
155
156If you want to launch the import only for some messages and not all, you can specify this number (here 12) and the worker will stop right after the 12th message :
157
158.. code:: bash
159
160 bin/console wallabag:import:redis-worker -e=prod pocket -vv --maxIterations=12
diff --git a/docs/en/developer/console_commands.rst b/docs/en/developer/console_commands.rst
deleted file mode 100644
index 85a8a092..00000000
--- a/docs/en/developer/console_commands.rst
+++ /dev/null
@@ -1,30 +0,0 @@
1Console Commands
2================
3
4wallabag has a number of CLI commands to manage a number of tasks. You can list all the commands by executing `bin/console` in the wallabag folder.
5
6Each command has a help accessible through `bin/console help %command%`.
7
8.. note::
9
10 If you're in a production environment, remember to add `-e prod` to each command.
11
12Notable commands
13----------------
14
15* `assets:install`: May be helpful if assets are missing.
16* `cache:clear`: should be run after each update (included in `make update`).
17* `doctrine:migrations:status`: Output the status of your database migrations.
18* `fos:user:activate`: Manually activate an user.
19* `fos:user:change-password`: Change a password for an user.
20* `fos:user:create`: Create an user.
21* `fos:user:deactivate`: Deactivate an user (not deleted).
22* `fos:user:demote`: Removes a role from an user, typically admin rights.
23* `fos:user:promote`: Adds a role to an user, typically admin rights.
24* `rabbitmq:*`: May be useful if you're using RabbitMQ.
25* `wallabag:clean-duplicates`: Removes all entry duplicates for one user or all users
26* `wallabag:export`: Exports all entries for an user. You can choose the output path of the file.
27* `wallabag:import`: Import entries to different formats to an user account.
28* `wallabag:import:redis-worker`: Useful if you use Redis.
29* `wallabag:install`: (re)Install wallabag
30* `wallabag:tag:all`: Tag all entries for an user using his/her tagging rules.
diff --git a/docs/en/developer/docker.rst b/docs/en/developer/docker.rst
deleted file mode 100644
index 5e4f2ce6..00000000
--- a/docs/en/developer/docker.rst
+++ /dev/null
@@ -1,51 +0,0 @@
1Run wallabag in docker-compose
2==============================
3
4In order to run your own development instance of wallabag, you may
5want to use the pre-configured docker compose files.
6
7Requirements
8------------
9
10Make sure to have `Docker
11<https://docs.docker.com/installation/ubuntulinux/>`__ and `Docker
12Compose <https://docs.docker.com/compose/install/>`__ availables on
13your system and up to date.
14
15Switch DBMS
16-----------
17
18By default, wallabag will start with a SQLite database.
19Since wallabag provides support for Postgresql and MySQL, docker
20containers are also available for these ones.
21
22In ``docker-compose.yml``, for the chosen DBMS uncomment:
23
24- the container definition (``postgres`` or ``mariadb`` root level
25 block)
26- the container link in the ``php`` container
27- the container env file in the ``php`` container
28
29In order to keep running Symfony commands on your host (such as
30``wallabag:install``), you also should:
31
32- source the proper env files on your command line, so variables
33 like ``SYMFONY__ENV__DATABASE_HOST`` will exist.
34- create a ``127.0.0.1 rdbms`` on your system ``hosts`` file
35
36Run wallabag
37------------
38
39#. Fork and clone the project
40#. Edit ``app/config/parameters.yml`` to replace ``database_*``
41 properties with commented ones (with values prefixed by ``env.``)
42#. ``composer install`` the project dependencies
43#. ``php bin/console wallabag:install`` to create the schema
44#. ``docker-compose up`` to run the containers
45#. Finally, browse to http://localhost:8080/ to find your freshly
46 installed wallabag.
47
48At various step, you'll probably run into UNIX permission problems,
49bad paths in generated cache, etc…
50Operations like removing cache files or changing files owners might
51be frequently required, so don't be afraid !
diff --git a/docs/en/developer/documentation.rst b/docs/en/developer/documentation.rst
deleted file mode 100644
index ab206479..00000000
--- a/docs/en/developer/documentation.rst
+++ /dev/null
@@ -1,12 +0,0 @@
1Contribute to this documentation
2================================
3
4Sources of our documentation are here https://github.com/wallabag/wallabag/tree/master/docs
5
6We use `ReadTheDocs
7<https://readthedocs.org>`__ to generate it.
8
9Pages are written in `Restructured Text
10<https://en.wikipedia.org/wiki/ReStructuredText>`__ format. You can use online tools like http://rst.aaroniles.net/ or http://rst.ninjs.org/ to preview your articles.
11
12If you create a new page, don't forget to edit the `index.rst <https://raw.githubusercontent.com/wallabag/wallabag/master/docs/en/index.rst>`__ file to add a link in the sidebar. \ No newline at end of file
diff --git a/docs/en/developer/front_end.rst b/docs/en/developer/front_end.rst
deleted file mode 100644
index 40f18a42..00000000
--- a/docs/en/developer/front_end.rst
+++ /dev/null
@@ -1,33 +0,0 @@
1Tips for front-end developers
2=============================
3
4Starting from version 2.3, wallabag uses webpack to bundle its assets.
5
6Dev mode
7--------
8
9If the server runs in dev mode, you need to run ``yarn run build:dev`` to generate the outputted javascript files for each theme. These are named ``%theme%.dev.js`` and are ignored by git. You need to relaunch ``yarn run build:dev`` for each change made to one of the assets files (js, css, pictures, fonts,...).
10
11Live reload
12-----------
13
14Webpack brings support for live reload, which means you don't need to regenerate the assets file for each change neither reload the page manually. Changes are applied automatically in the web page. Just set the ``use_webpack_dev_server`` setting to ``true`` in ``app/config/config.yml`` and run ``yarn run watch`` and you're good to go.
15
16.. note::
17
18 Don't forget to put back ``use_webpack_dev_server`` to ``false`` when not using the live reload feature.
19
20Production builds
21-----------------
22
23When you want to commit your changes, build them in production environment by using ``yarn run build:prod``. This will build all the assets needed for wallabag. To test that it properly works, you'll need to have a server in production mode, for instance with ``bin/console server:run -e=prod``.
24
25.. note::
26
27 Don't forget to generate production builds before committing !
28
29
30Code style
31----------
32
33Code style is checked by two tools : stylelint for (S)CSS and eslint for JS. ESlint config is based on the Airbnb base preset.
diff --git a/docs/en/developer/paywall.rst b/docs/en/developer/paywall.rst
deleted file mode 100644
index 153afa6f..00000000
--- a/docs/en/developer/paywall.rst
+++ /dev/null
@@ -1,65 +0,0 @@
1Articles behind a paywall
2=========================
3
4wallabag can fetch articles from websites which use a paywall system.
5
6Enable paywall authentication
7-----------------------------
8
9In internal settings, as a wallabag administrator, in the **Article** section, enable authentication for websites with paywall (with the value 1).
10
11Configure credentials in wallabag
12---------------------------------
13
14Edit 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
18Here 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
30Parsing 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
37Each 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
40Be careful, the login form must be in the page content when wallabag loads it. It's impossible for wallabag to be authenticated
41on 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
47For 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
62Last step: clear the cache
63--------------------------
64
65It'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``
diff --git a/docs/en/developer/testsuite.rst b/docs/en/developer/testsuite.rst
deleted file mode 100644
index b2b16cdc..00000000
--- a/docs/en/developer/testsuite.rst
+++ /dev/null
@@ -1,10 +0,0 @@
1Testsuite
2=========
3
4To ensure wallabag development quality, we wrote tests with `PHPUnit <https://phpunit.de>`_.
5
6If you contribute to the project (by translating the application, by fixing bugs or by adding a new feature), please write your own tests.
7
8To launch wallabag testsuite, you need to install `ant <http://ant.apache.org>`_.
9
10Then, execute this command ``make test``.
diff --git a/docs/en/developer/translate.rst b/docs/en/developer/translate.rst
deleted file mode 100644
index 1e5d5009..00000000
--- a/docs/en/developer/translate.rst
+++ /dev/null
@@ -1,60 +0,0 @@
1Translate wallabag
2==================
3
4wallabag web application
5------------------------
6
7Translation files
8~~~~~~~~~~~~~~~~~
9
10.. note::
11
12 As wallabag is mainly developed by a French team, please consider that french
13 translation is the most updated one and please copy it to create your own translation.
14
15You can find translation files here: https://github.com/wallabag/wallabag/tree/master/src/Wallabag/CoreBundle/Resources/translations.
16
17You have to create ``messages.CODE.yml`` and ``validators.CODE.yml``, where CODE
18is the ISO 639-1 code of your language (`see wikipedia <https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes>`__).
19
20Other files to translate:
21
22- https://github.com/wallabag/wallabag/tree/master/app/Resources/CraueConfigBundle/translations.
23- https://github.com/wallabag/wallabag/tree/master/src/Wallabag/UserBundle/Resources/translations.
24
25You have to create ``THE_TRANSLATION_FILE.CODE.yml`` files.
26
27Configuration file
28~~~~~~~~~~~~~~~~~~
29
30You have to edit `app/config/config.yml
31<https://github.com/wallabag/wallabag/blob/master/app/config/config.yml>`__ to display
32your language on Configuration page of wallabag (to allow users to switch to this new translation).
33
34Under the ``wallabag_core.languages`` section, you have to add a new line with
35your translation. For example:
36
37::
38
39 wallabag_core:
40 ...
41 languages:
42 en: 'English'
43 fr: 'Français'
44
45
46For the first column (``en``, ``fr``, etc.), you have to add the ISO 639-1 code
47of your language (see above).
48
49For the second column, it's the name of your language. Just that.
50
51wallabag documentation
52----------------------
53
54.. note::
55
56 Contrary to the web application, the main language for documentation is english.
57
58Documentation files are stored here: https://github.com/wallabag/wallabag/tree/master/docs
59
60You need to respect the ``en`` folder structure when you create your own translation.
diff --git a/docs/en/index.rst b/docs/en/index.rst
deleted file mode 100644
index 89f61d6d..00000000
--- a/docs/en/index.rst
+++ /dev/null
@@ -1,53 +0,0 @@
1wallabag documentation
2======================
3
4.. image:: ../img/wallabag.png
5 :alt: wallabag logo
6 :align: center
7
8**wallabag** is a read-it-later application: it saves a web page by
9keeping content only. Elements like navigation or ads are deleted.
10
11The main documentation for this application is organized into a couple sections:
12
13* :ref:`user-docs`
14* :ref:`dev-docs`
15
16The documentation is available in other languages:
17
18* `Documentation en français <http://doc.wallabag.org/fr/master/>`_
19* `Dokumentation in Deutsch <http://doc.wallabag.org/de/master/>`_
20
21.. _user-docs:
22
23.. toctree::
24 :maxdepth: 2
25 :caption: User documentation
26
27 user/installation
28 user/upgrade
29 user/configuration
30 user/import
31 user/create_account
32 user/articles
33 user/errors_during_fetching
34 user/filters
35 user/tags
36 user/configuring_mobile
37 user/android
38 user/parameters
39 user/backup
40 user/faq
41
42.. _dev-docs:
43
44.. toctree::
45 :maxdepth: 2
46 :caption: Developer documentation
47
48 developer/api
49 developer/docker
50 developer/paywall
51 developer/documentation
52 developer/translate
53 developer/asynchronous
diff --git a/docs/en/requirements.txt b/docs/en/requirements.txt
deleted file mode 100644
index 06fc8973..00000000
--- a/docs/en/requirements.txt
+++ /dev/null
@@ -1,2 +0,0 @@
1Sphinx>=1.3.0,<1.4.0
2guzzle_sphinx_theme>=0.7.0,<0.8.0
diff --git a/docs/en/user/android.rst b/docs/en/user/android.rst
deleted file mode 100644
index e286bb3b..00000000
--- a/docs/en/user/android.rst
+++ /dev/null
@@ -1,95 +0,0 @@
1Android application
2===================
3
4Purpose of this document
5------------------------
6
7This document describes how you can setup your Android application to work with your wallabag instance. There is no difference in this procedure for wallabag v1 or v2.
8
9Steps to configure your app
10---------------------------
11
12When you first start the app, you see the welcome screen, where you are adviced to configure the app for your wallabag instance at first.
13
14.. image:: ../../img/user/android_welcome_screen.en.png
15 :alt: Welcome screen
16 :align: center
17
18Just confirm that message and you get redirected to the settings screen.
19
20.. image:: ../../img/user/android_configuration_screen.en.png
21 :alt: Settings screen
22 :align: center
23
24Fill in your wallabag data. You need to enter your wallabag address. **It is important that this URL does not end with a slash**. Also add your wallabag credentials to the user name and password field.
25
26.. image:: ../../img/user/android_configuration_filled_in.en.png
27 :alt: Filled in settings
28 :align: center
29
30After you have filled in your data, push the button Connection test and wait for the test to finish.
31
32.. image:: ../../img/user/android_configuration_connection_test.en.png
33 :alt: Connection test with your wallabag data
34 :align: center
35
36The connection test should finish with success. If not, you need to fix this first until you proceed.
37
38.. image:: ../../img/user/android_configuration_connection_test_success.en.png
39 :alt: Connection test successful
40 :align: center
41
42After the connection test was successful, you can push the button to get your feed credentials. The app now tries to login to your wallabag instance and get the user id and the corresponding token for the feeds.
43
44.. image:: ../../img/user/android_configuration_get_feed_credentials.en.png
45 :alt: Getting the feed credentials
46 :align: center
47
48When the process of getting your feed credentials finishes with success you see a toast message that the user id and the token were automatically filled in to the form.
49
50.. image:: ../../img/user/android_configuration_feed_credentials_automatically_filled_in.en.png
51 :alt: Getting feed credentials successful
52 :align: center
53
54Now you need to scroll to the bottom of the settings menu. Of course you can adjust the given settings to your needs. Finish the configuration of your app with pushing the save button.
55
56.. image:: ../../img/user/android_configuration_scroll_bottom.en.png
57 :alt: Bottom of the settings screen
58 :align: center
59
60After hitting the save button, you get the following screen. The app proposes to initiate a synchronization process to update your feeds of articles. It is recommended to acknowledge this action and press Yes.
61
62.. image:: ../../img/user/android_configuration_saved_feed_update.en.png
63 :alt: Settings saved the first time
64 :align: center
65
66Finally after the synchronization finished successfully, you are presented to the list of unread articles.
67
68.. image:: ../../img/user/android_unread_feed_synced.en.png
69 :alt: Filled article list cause feeds successfully synchronized
70 :align: center
71
72Known limitations
73-----------------
74
75Two factor authentication (2FA)
76~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77
78Currently the Android application does not support two-factor authentication. You should disable that to get the application working.
79
80Limited amount of articles with wallabag v2
81~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
82
83In your wallabag web instance you can configure how many items are part of the RSS feed. This option did not exist in wallabag v1, where all articles were part of the feed. So if you set the amount of articles being displayed greater than the number of items being content of your RSS feed, you will only see the number of items in your RSS feed.
84
85SSL/TLS encryption
86~~~~~~~~~~~~~~~~~~
87
88If you can reach your wallabag web instance via HTTPS, you should use that. Especially if your HTTP URL redirects you to the HTTPS one. Currently, the app cannot handle that redirect properly.
89
90References
91----------
92
93- `Source code of the Android application <https://github.com/wallabag/android-app>`_
94- `Android Application on F-Droid <https://f-droid.org/repository/browse/?fdfilter=wallabag&fdid=fr.gaulupeau.apps.InThePoche>`_
95- `Android Application on Google Play <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche>`_
diff --git a/docs/en/user/articles.rst b/docs/en/user/articles.rst
deleted file mode 100644
index 862bba3e..00000000
--- a/docs/en/user/articles.rst
+++ /dev/null
@@ -1,117 +0,0 @@
1Articles
2========
3
4Save your first article
5-----------------------
6
7The main purpose of wallabag is to save web articles. You have many ways to do it. If you think that the article is wrong displayed, `you can read this documentation <http://doc.wallabag.org/en/master/user/errors_during_fetching.html>`_.
8
9By using a bookmarklet
10^^^^^^^^^^^^^^^^^^^^^^
11
12On the ``Howto`` page, you have a ``Bookmarklet`` tab. Drag and drop the ``bag it!``
13link to your bookmarks bar of your browser.
14
15Now, each time you're reading an article on the web and you want to save it,
16click on the ``bag it!`` link in your bookmarks bar. The article is saved.
17
18By using the classic form
19^^^^^^^^^^^^^^^^^^^^^^^^^
20
21In the top bar of your screen, you have 3 icons. With the first one, a plus sign,
22you can easily save a new article.
23
24.. image:: ../../img/user/topbar.png
25 :alt: Top bar
26 :align: center
27
28Click on it to display a new field, paste the article URL inside and press your
29``Return`` key. The article is saved.
30
31By using a browser add-on
32^^^^^^^^^^^^^^^^^^^^^^^^^
33
34Firefox
35"""""""
36
37You can download the `Firefox addon here <https://addons.mozilla.org/firefox/addon/wallabagger/>`_.
38
39Chrome
40""""""
41
42You can download the `Chrome addon here <https://chrome.google.com/webstore/detail/wallabagger/gbmgphmejlcoihgedabhgjdkcahacjlj?hl=fr>`_.
43
44By using your smartphone application
45^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
46
47Android
48"""""""
49
50You can download the `Android application here <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche>`_ or on `F-Droid <https://f-droid.org/repository/browse/?fdid=fr.gaulupeau.apps.InThePoche>`_.
51
52Windows Phone
53"""""""""""""
54
55You can downlaod the `Windows Phone application here <https://www.microsoft.com/store/apps/9nblggh5x3p6>`_.
56
57Download your articles
58----------------------
59
60You can download each article in several formats: ePUB, MOBI, PDF, XML, JSON, CSV.
61
62On the article view, click on this icon, in the sidebar:
63
64.. image:: ../../img/user/download_article.png
65 :alt: download article
66 :align: center
67
68You can also download a full category (unread, starred, archive) in these formats.
69For example, on **Unread** view, click on this icon in the top bar:
70
71.. image:: ../../img/user/download_articles.png
72 :alt: download articles
73 :align: center
74
75Share your articles
76-------------------
77
78When you're reading an article, you can share it. Just click on the share button:
79
80.. image:: ../../img/user/share.png
81 :alt: share article
82 :align: center
83
84Now, you can share the article:
85
86- with a public URL (you'll have a light view of the article)
87- with a tweet
88- into your Shaarli
89- into your Scuttle
90- with a post in Diaspora*
91- to Carrot
92- with an email
93
94Annotate your articles
95----------------------
96
97In each article you read, you can write annotations. It's easier to understand with some pictures.
98
99Select the part of the article that you want to annotate and click on the pencil:
100
101.. image:: ../../img/user/annotations_1.png
102 :alt: Select your text
103 :align: center
104
105Then, write your annotation:
106
107.. image:: ../../img/user/annotations_2.png
108 :alt: Write your annotation
109 :align: center
110
111The text is now highlighted and you can read your annotation if you move the mouse cursor over it.
112
113.. image:: ../../img/user/annotations_3.png
114 :alt: Read your annotation
115 :align: center
116
117You can create as many annotations as you wish.
diff --git a/docs/en/user/backup.rst b/docs/en/user/backup.rst
deleted file mode 100644
index f8b480a3..00000000
--- a/docs/en/user/backup.rst
+++ /dev/null
@@ -1,26 +0,0 @@
1Backup wallabag
2===============
3
4Because sometimes you may do a mistake with your wallabag and lose data or in case you need to move your wallabag to another server you want to backup your data.
5This articles describes what you need to backup.
6
7Basic settings
8--------------
9wallabag stores some basic parameters (like SMTP server or database backend) in the file `app/config/parameters.yml`.
10
11Database
12--------
13As wallabag supports different kinds of database, the way to perform the backup depends on the database you use, so you need to refer to the vendor documentation.
14
15Here's some examples:
16
17- MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html
18- PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html
19
20SQLite
21~~~~~~
22To backup the SQLite database, you just need to copy the directory `data/db` from the wallabag application directory.
23
24Images
25------
26The images retrieved by wallabag are stored under `web/assets/images` (the images storage will be implemented in wallabag 2.2).
diff --git a/docs/en/user/configuration.rst b/docs/en/user/configuration.rst
deleted file mode 100644
index 0f3ac38f..00000000
--- a/docs/en/user/configuration.rst
+++ /dev/null
@@ -1,132 +0,0 @@
1Configuration
2=============
3
4Now you're logged in, it's time to configure your account as you want.
5
6Click on ``Config`` menu. You have five tabs: ``Settings``, ``RSS``,
7``User information``, ``Password`` and ``Tagging rules``.
8
9Settings
10--------
11
12Theme
13~~~~~
14
15wallabag is customizable. You can choose your prefered theme here. The default theme is
16``Material``, it's the theme used in the documentation screenshots.
17
18Items per page
19~~~~~~~~~~~~~~
20
21You can change the number of articles displayed on each page.
22
23Reading speed
24~~~~~~~~~~~~~
25
26wallabag calculates a reading time for each article. You can define here, thanks to this list, if you are
27a fast or a slow reader. wallabag will recalculate the reading time for each article.
28
29Where do you want to be redirected after mark an article as read?
30~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31
32Each time you'll do some actions (after marking an article as read/favorite,
33after deleting an article, after removing a tag from an entry), you can be redirected:
34
35- To the homepage
36- To the current page
37
38Language
39~~~~~~~~
40
41You can change the language of wallabag interface.
42
43RSS
44---
45
46wallabag provides RSS feeds for each article status: unread, starred and archive.
47
48Firstly, you need to create a personal token: click on ``Create your token``.
49It's possible to change your token by clicking on ``Reset your token``.
50
51Now you have three links, one for each status: add them into your favourite RSS reader.
52
53You can also define how many articles you want in each RSS feed (default value: 50).
54
55There is also a pagination available for these feeds. You can add ``?page=2`` to jump to the second page.
56The pagination follow `the RFC <https://tools.ietf.org/html/rfc5005#page-4>`_ about that, which means you'll find the ``next``, ``previous`` & ``last`` page link inside the `<channel>` tag of each RSS feed.
57
58User information
59----------------
60
61You can change your name, your email address and enable ``Two factor authentication``.
62
63If the wallabag instance has more than one enabled user, you can delete your account here. **Take care, we delete all your data**.
64
65Two factor authentication (2FA)
66~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
67
68 Two-factor authentication (also known as 2FA) is a technology patented in 1984
69 that provides identification of users by means of the combination of two different components.
70
71 https://en.wikipedia.org/wiki/Two-factor_authentication
72
73**Warning**: enabling 2FA from the configuration interface is only possible if it has been authorized before in `app/config/parameters.yml` by setting the *twofactor_auth* property to `true` (do not forget to run `php bin/console cache:clear -e=prod` after modification).
74
75If you enable 2FA, each time you want to login to wallabag, you'll receive
76a code by email. You have to put this code on the following form.
77
78.. image:: ../../img/user/2FA_form.png
79 :alt: Two factor authentication
80 :align: center
81
82If you don't want to receive a code each time you want to login, you can check
83the ``I'm on a trusted computer`` checkbox: wallabag will remember you for 15 days.
84
85Password
86--------
87
88You can change your password here (8 characters minimum).
89
90Tagging rules
91-------------
92
93If you want to automatically assign a tag to new articles, this part
94of the configuration is for you.
95
96What does « tagging rules » mean?
97~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
98
99They are rules used by wallabag to automatically tag new entries.
100Each time a new entry is added, all the tagging rules will be used to add
101the tags you configured, thus saving you the trouble to manually classify your entries.
102
103How do I use them?
104~~~~~~~~~~~~~~~~~~
105
106Let assume you want to tag new entries as *« short reading »* when
107the reading time is inferior to 3 minutes.
108In that case, you should put « readingTime <= 3 » in the **Rule** field
109and *« short reading »* in the **Tags** field.
110Several tags can added simultaneously by separating them by a comma: *« short reading, must read »*.
111Complex rules can be written by using predefined operators:
112if *« readingTime >= 5 AND domainName = "github.com" »* then tag as *« long reading, github »*.
113
114Which variables and operators can I use to write rules?
115~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
116
117The following variables and operators can be used to create tagging rules (be careful, for some values, you need to add quotes, for example ``language = "en"``):
118
119=========== ============================================== ========== ==========
120Variable Meaning Operator Meaning
121----------- ---------------------------------------------- ---------- ----------
122title Title of the entry <= Less than…
123url URL of the entry < Strictly less than…
124isArchived Whether the entry is archived or not => Greater than…
125isStarred Whether the entry is starred or not > Strictly greater than…
126content The entry's content = Equal to…
127language The entry's language != Not equal to…
128mimetype The entry's mime-type OR One rule or another
129readingTime The estimated entry's reading time, in minutes AND One rule and another
130domainName The domain name of the entry matches Tests that a subject is matches a search (case-insensitive). Example: title matches "football"
131 notmatches Tests that a subject is not matches a search (case-insensitive). Example: title notmatches "football"
132=========== ============================================== ========== ==========
diff --git a/docs/en/user/configuring_mobile.rst b/docs/en/user/configuring_mobile.rst
deleted file mode 100644
index 7229aed6..00000000
--- a/docs/en/user/configuring_mobile.rst
+++ /dev/null
@@ -1,13 +0,0 @@
1Configuring mobile apps to work with wallabag
2=============================================
3
4Steps to configure the app
5--------------------------
6
7- First *create a new client* in the ``API clients management`` section. The name of your app doesn't matter as much as the ``Client ID`` and the ``Client secret``. Write these two values down.
8- When you download a mobile app, it's going to ask for the server address of the hosted wallabag instance. For example, with wallabag.it that is: ``https://app.wallabag.it``.
9- It's also going to ask for the aforementioned ``Client ID`` and ``secret``. Please insert those in the text fields, when asked.
10- Lastly you need to provide your ``username`` and ``password``. These are the same credentials you use to login in to wallabag.
11
12Please also have a look at `Android <android.html>`_ page. Especially the section on *known limitations*.
13
diff --git a/docs/en/user/create_account.rst b/docs/en/user/create_account.rst
deleted file mode 100644
index 8c43867d..00000000
--- a/docs/en/user/create_account.rst
+++ /dev/null
@@ -1,42 +0,0 @@
1Create an account and authentication
2====================================
3
4Register
5--------
6
7On the login page, click on ``Register`` button.
8
9.. image:: ../../img/user/registration_form.png
10 :alt: Registration form
11 :align: center
12
13You have to fill the form. Please sure to type a valid email address,
14we'll send you an activation email.
15
16.. image:: ../../img/user/sent_email.png
17 :alt: Email was sent to activate account
18 :align: center
19
20Check your inbox, you now have a new mail with a link like this
21``http://wallabag/register/confirm/Ba19wokGovN-DdBQNfg4YgRkUQWRP4-k2g0Bk-hBTX4``.
22Click on it to activate your account.
23
24Your account is now activated.
25
26.. image:: ../../img/user/activated_account.png
27 :alt: Welcome on board!
28 :align: center
29
30Login
31-----
32
33Your account is now enabled, congratulations!
34
35To login to wallabag, fill the form on login page.
36
37If you are on your personal computer and you want to stay connected,
38you can check the ``Keep me logged in`` checkbox: wallabag will remember you for one year.
39
40.. image:: ../../img/user/login_form.png
41 :alt: Login form
42 :align: center
diff --git a/docs/en/user/errors_during_fetching.rst b/docs/en/user/errors_during_fetching.rst
deleted file mode 100644
index c5e18d3b..00000000
--- a/docs/en/user/errors_during_fetching.rst
+++ /dev/null
@@ -1,37 +0,0 @@
1Errors during fetching articles
2===============================
3
4Why does the fetch of an article fail?
5--------------------------------------
6
7There may be several reasons:
8
9- network problem
10- wallabag can't fetch content due to the website structure
11
12How can I help to fix that?
13---------------------------
14
15You can try to fix this problem by yourself (so we can be focused on improving wallabag internally instead of writing siteconfig :) ).
16
17You can try to see if it works here: `http://f43.me/feed/test <http://f43.me/feed/test>`_ (it uses almost the same system as wallabag to retrieve content).
18
19If it works here and not on wallabag, it means there is something internally in wallabag that breaks the parser (hard to fix: please open an issue about it).
20
21If it doesn't works, try to extract a site config using: `http://siteconfig.fivefilters.org/ <http://siteconfig.fivefilters.org/>`_ (select which part of the content is actually the content). You can `read this documentation before <http://help.fivefilters.org/customer/en/portal/articles/223153-site-patterns>`_.
22
23You can test it on **f43.me** website: click on **Want to try a custom siteconfig?** and put the generated file from siteconfig.fivefilters.org.
24
25Repeat until you have something ok.
26
27Then you can submit a pull request to `https://github.com/fivefilters/ftr-site-config <https://github.com/fivefilters/ftr-site-config>`_ which is the global repo for siteconfig files.
28
29How can I try to re-fetch this article?
30---------------------------------------
31
32If wallabag failed when fetching an article, you can click on the reload button
33(the third on the below picture).
34
35.. image:: ../../img/user/refetch.png
36 :alt: Refetch content
37 :align: center
diff --git a/docs/en/user/faq.rst b/docs/en/user/faq.rst
deleted file mode 100644
index 0f995ce5..00000000
--- a/docs/en/user/faq.rst
+++ /dev/null
@@ -1,55 +0,0 @@
1Frequently Asked Questions
2==========================
3
4During the installation, I got the error ``Error Output: sh: 1: @post-cmd: not found``
5--------------------------------------------------------------------------------------
6
7It seems you have a problem with your ``composer`` installation. Try to uninstall and reinstall it.
8
9`Read the documentation about composer to know how to install it
10<https://getcomposer.org/doc/00-intro.md>`__.
11
12I can't validate the registration form
13--------------------------------------
14
15Ensure that all fields are properly filled:
16
17* valid email address
18* same passwords in two fields
19
20I'm not receiving my activation email
21-------------------------------------
22
23Are you sure your email address was correct? Did you check your spam folder?
24
25If you still don't see the activation email, please ensure that you have
26installed and properly configured a mail transfer agent. Be sure to include a
27firewall rule for SMTP. E.g., if using firewalld:
28
29::
30
31 firewall-cmd --permanent --add-service=smtp
32 firewall-cmd --reload
33
34Lastly, if you have SELinux enabled, set the following rule:
35
36``setsebool -P httpd_can_sendmail 1``
37
38When I click on the activation link, I've got this message: ``The user with confirmation token "DtrOPfbQeVkWf6N" does not exist``.
39----------------------------------------------------------------------------------------------------------------------------------
40
41You already enabled your account or the URL of the activation email is wrong.
42
43I forgot my password
44--------------------
45
46You can reset your password by clicking on ``Forgot your password?`` link,
47on the login page. Then, fill the form with your email address or your username,
48you'll receive an email to reset your password.
49
50I've got the ``failed to load external entity`` error when I try to install wallabag
51------------------------------------------------------------------------------------
52
53As described `here <https://github.com/wallabag/wallabag/issues/2529>`_, please edit your ``web/app.php`` file and add this line: ``libxml_disable_entity_loader(false);`` on line 5.
54
55This is a Doctrine / PHP bug, nothing we can do about it.
diff --git a/docs/en/user/filters.rst b/docs/en/user/filters.rst
deleted file mode 100644
index aae8a749..00000000
--- a/docs/en/user/filters.rst
+++ /dev/null
@@ -1,54 +0,0 @@
1Retrieve your articles thanks to filters
2========================================
3
4To retrieve articles easily, you can use filters.
5Click on the third icon in the top bar.
6
7.. image:: ../../img/user/topbar.png
8 :alt: Top bar
9 :align: center
10
11All these filters can be combined.
12
13.. image:: ../../img/user/filters.png
14 :alt: Combine all filters
15 :align: center
16
17Status
18------
19
20Use these checkboxes to find archived or starred articles.
21
22Preview picture
23---------------
24
25Check this filter if you want to retrieve articles with a preview picture.
26
27Language
28--------
29
30wallabag (via graby) can detect article language. It's easy to you to retrieve articles
31written in a specific language.
32
33HTTP status
34-----------
35
36You can retrieve the articles by filtering by their HTTP status code: 200, 404, 500, etc.
37
38Reading time
39------------
40
41wallabag estimates how many time you need to read an article. With this filter,
42you can for example find the articles with a reading time between 2 and 5 minutes.
43
44Domain name
45-----------
46
47Thanks to this filter, you can retrieve the articles from the same domain name.
48For example, in this field, type ``bbc.co.uk`` to retrieve the articles of this website.
49
50Creation date
51-------------
52
53When you save an article, wallabag stored the current date. So handful to retrieve articles written
54between 1st and 31th January for example.
diff --git a/docs/en/user/import.rst b/docs/en/user/import.rst
deleted file mode 100644
index f6aaa373..00000000
--- a/docs/en/user/import.rst
+++ /dev/null
@@ -1,159 +0,0 @@
1Migrate from ...
2================
3
4In wallabag 2.x, you can import data from:
5
6- `Pocket <#id1>`_
7- `Readability <#id2>`_
8- `Instapaper <#id4>`_
9- `wallabag 1.x <#id6>`_
10- `wallabag 2.x <#id7>`_
11
12We also developed `a script to execute migrations via command-line interface <#import-via-command-line-interface-cli>`_.
13
14Because imports can take ages, we developed an asynchronous tasks system. `You can read the documentation here <http://doc.wallabag.org/fr/master/developer/asynchronous.html>`_ (for experts).
15
16Pocket
17------
18
19Create a new application on Pocket
20~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21
22To import your data from Pocket, we use the Pocket API. You need to create
23a new application on their developer website to continue.
24
25* Create a new application `on the developer website <https://getpocket.com/developer/apps/new>`_
26* Fill in the required fields: application name, application description,
27 permissions (only **retrieve**), platform (**web**), accept the terms of service
28 and submit your new application
29
30Pocket will give you a **Consumer Key** (for example, `49961-985e4b92fe21fe4c78d682c1`).
31You need to configure the ``pocket_consumer_key`` in the ``Config`` menu.
32
33Now, all is fine to migrate from Pocket.
34
35Import your data into wallabag 2.x
36~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37
38Click on ``Import`` link in the menu, on ``Import contents`` in Pocket section
39and then on ``Connect to Pocket and import data``.
40
41You need to authorize wallabag to interact with your Pocket account.
42Your data will be imported. Data import can be a demanding process for your server.
43
44Readability
45-----------
46
47Export your Readability data
48~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49
50On the tools (`https://www.readability.com/tools/ <https://www.readability.com/tools/>`_) page, click on "Export your data" in the "Data Export" section. You will received an email to download a json (which does not end with .json in fact).
51
52Import your data into wallabag 2.x
53~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
54
55Click on ``Import`` link in the menu, on ``Import contents`` in Readability section
56and then select your json file and upload it.
57
58Your data will be imported. Data import can be a demanding process for your server.
59
60From Pinboard
61-------------
62
63Export your Pinboard data
64~~~~~~~~~~~~~~~~~~~~~~~~~
65
66On the backup (`https://pinboard.in/settings/backup <https://pinboard.in/settings/backup>`_) page, click on "JSON" in the "Bookmarks" section. A JSON file will be downloaded (like ``pinboard_export``).
67
68Import your data into wallabag 2.x
69~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70
71Click on ``Import`` link in the menu, on ``Import contents`` in Pinboard section
72and then select your json file and upload it.
73
74Your data will be imported. Data import can be a demanding process for your server.
75
76From Instapaper
77---------------
78
79Export your Instapaper data
80~~~~~~~~~~~~~~~~~~~~~~~~~~~
81
82On the settings (`https://www.instapaper.com/user <https://www.instapaper.com/user>`_) page, click on "Download .CSV file" in the "Export" section. A CSV file will be downloaded (like ``instapaper-export.csv``).
83
84Import your data into wallabag 2.x
85~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86
87Click on ``Import`` link in the menu, on ``Import contents`` in Instapaper section
88and then select your CSV file and upload it.
89
90Your data will be imported. Data import can be a demanding process for your server.
91
92wallabag 1.x
93------------
94
95If you were using wallabag v1.x, you need to export your data before migrating to wallabag v2.x, because the application and its database changed a lot. In your old wallabag installation, you can export your data, which can be done on the Config page of your old wallabag installation.
96
97.. image:: ../../img/user/export_v1.png
98 :alt: Exporting from wallabag v1
99 :align: center
100
101.. note::
102 If you have multiple accounts on the same instance of wallabag, each user must export from v1 and import into v2 its data.
103
104.. note::
105 If you encounter issues during the export or the import, don't hesitate to `ask for support <https://gitter.im/wallabag/wallabag>`__.
106
107When you have retrieved the json file containing your entries, you can install wallabag v2 if needed by following `the standard procedure <http://doc.wallabag.org/en/master/user/installation.html>`__.
108
109After creating an user account on your new wallabag v2 instance, you must head over to the `Import` section and select `Import from wallabag v1`. Select your json file and upload it.
110
111.. image:: ../../img/user/import_wallabagv1.png
112 :alt: Import from wallabag v1
113 :align: center
114
115wallabag 2.x
116------------
117
118From the previous wallabag instance on which you were before, go to `All articles`, then export these articles as json.
119
120.. image:: ../../img/user/export_v2.png
121 :alt: Export depuis wallabag v2
122 :align: center
123
124From your new wallabag instance, create your user account and click on the link in the menu to proceed to import. Choose import from wallabag v2 and select your json file to upload it.
125
126.. note::
127 If you encounter issues during the export or the import, don't hesitate to `ask for support <https://gitter.im/wallabag/wallabag>`__.
128
129Import via command-line interface (CLI)
130---------------------------------------
131
132If you have a CLI access on your web server, you can execute this command to import your wallabag v1 export:
133
134::
135
136 bin/console wallabag:import username ~/Downloads/wallabag-export-1-2016-04-05.json --env=prod
137
138Please replace values:
139
140* ``username`` is the user's username
141* ``~/Downloads/wallabag-export-1-2016-04-05.json`` is the path of your wallabag v1 export
142
143.. note::
144 If you want to mark all these entries as read, you can add the ``--markAsRead`` option.
145
146.. note::
147 To import a wallabag v2 file, you need to add the option ``--importer=v2``.
148
149.. note::
150 If you want to pass the user id of the user instead of it's username, add the option ``--useUserId=true``.
151
152You'll have this in return:
153
154::
155
156 Start : 05-04-2016 11:36:07 ---
157 403 imported
158 0 already saved
159 End : 05-04-2016 11:36:09 ---
diff --git a/docs/en/user/installation.rst b/docs/en/user/installation.rst
deleted file mode 100644
index f1146b49..00000000
--- a/docs/en/user/installation.rst
+++ /dev/null
@@ -1,365 +0,0 @@
1Install wallabag
2================
3
4Requirements
5------------
6
7wallabag is compatible with **PHP >= 5.6**, including PHP 7.
8
9.. note::
10
11 To install wallabag easily, we provide a ``Makefile``, so you need to have the ``make`` tool.
12
13wallabag uses a large number of PHP libraries in order to function. These libraries must be installed with a tool called Composer. You need to install it if you have not already done so and be sure to use the 1.2 version (if you already have Composer, run a ``composer selfupdate``).
14
15Install Composer:
16
17::
18
19 curl -s https://getcomposer.org/installer | php
20
21You can find specific instructions `here <https://getcomposer.org/doc/00-intro.md>`__.
22
23You'll also need the following extensions for wallabag to work. Some of these may already activated in your version of PHP, so you may not have to install all corresponding packages.
24
25- php-session
26- php-ctype
27- php-dom
28- php-hash
29- php-simplexml
30- php-json
31- php-gd
32- php-mbstring
33- php-xml
34- php-tidy
35- php-iconv
36- php-curl
37- php-gettext
38- php-tokenizer
39- php-bcmath
40
41wallabag uses PDO to connect to the database, so you'll need one of the following:
42
43- pdo_mysql
44- pdo_sqlite
45- pdo_pgsql
46
47and its corresponding database server.
48
49Installation
50------------
51
52On a dedicated web server (recommended way)
53~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
54
55To install wallabag itself, you must run the following commands:
56
57::
58
59 git clone https://github.com/wallabag/wallabag.git
60 cd wallabag && make install
61
62To start PHP's build-in server and test if everything did install correctly, you can do:
63
64::
65
66 make run
67
68And access wallabag at http://yourserverip:8000
69
70.. tip::
71
72 To define parameters with environment variables, you have to set these variables with ``SYMFONY__`` prefix. For example, ``SYMFONY__DATABASE_DRIVER``. You can have a look at `Symfony documentation <http://symfony.com/doc/current/cookbook/configuration/external_parameters.html>`__.
73
74On a shared hosting
75~~~~~~~~~~~~~~~~~~~
76
77We provide a package with all dependencies inside.
78The default configuration uses SQLite for the database. If you want to change these settings, please edit ``app/config/parameters.yml``.
79
80We already created a user: login and password are ``wallabag``.
81
82.. caution:: With this package, wallabag doesn't check for mandatory extensions used in the application (theses checks are made during ``composer install`` when you have a dedicated web server, see above).
83
84Execute this command to download and extract the latest package:
85
86.. code-block:: bash
87
88 wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-package
89
90You will find the `md5 hash of the latest package on our website <https://static.wallabag.org/releases/>`_.
91
92Now, read the following documentation to create your virtual host, then access your wallabag.
93If you changed the database configuration to use MySQL or PostgreSQL, you need to create a user via this command ``php bin/console wallabag:install --env=prod``.
94
95Installation with Docker
96~~~~~~~~~~~~~~~~~~~~~~~~
97
98We provide you a Docker image to install wallabag easily. Have a look at our repository on `Docker Hub <https://hub.docker.com/r/wallabag/wallabag/>`__ for more information.
99
100Command to launch container
101^^^^^^^^^^^^^^^^^^^^^^^^^^^
102
103.. code-block:: bash
104
105 docker pull wallabag/wallabag
106
107Installation on Cloudron
108~~~~~~~~~~~~~~~~~~~~~~~~
109
110Cloudron provides an easy way to install webapps on your server with a focus on sysadmin automation and keeping apps updated.
111wallabag is packaged as a Cloudron app and available to install directly from the store.
112
113`Install wallabag on your Cloudron <https://cloudron.io/store/org.wallabag.cloudronapp.html>`__
114
115Virtual hosts
116-------------
117
118Configuration on Apache
119~~~~~~~~~~~~~~~~~~~~~~~
120
121Do not forget to active the *rewrite* mod of Apache
122
123.. code-block:: bash
124
125 a2enmod rewrite && systemctl reload apache2
126
127Assuming you install wallabag in the ``/var/www/wallabag`` folder and that you want to use PHP as an Apache module, here's a vhost for wallabag:
128
129::
130
131 <VirtualHost *:80>
132 ServerName domain.tld
133 ServerAlias www.domain.tld
134
135 DocumentRoot /var/www/wallabag/web
136 <Directory /var/www/wallabag/web>
137 AllowOverride None
138 Order Allow,Deny
139 Allow from All
140
141 <IfModule mod_rewrite.c>
142 Options -MultiViews
143 RewriteEngine On
144 RewriteCond %{REQUEST_FILENAME} !-f
145 RewriteRule ^(.*)$ app.php [QSA,L]
146 </IfModule>
147 </Directory>
148
149 # uncomment the following lines if you install assets as symlinks
150 # or run into problems when compiling LESS/Sass/CoffeScript assets
151 # <Directory /var/www/wallabag>
152 # Options FollowSymlinks
153 # </Directory>
154
155 # optionally disable the RewriteEngine for the asset directories
156 # which will allow apache to simply reply with a 404 when files are
157 # not found instead of passing the request into the full symfony stack
158 <Directory /var/www/wallabag/web/bundles>
159 <IfModule mod_rewrite.c>
160 RewriteEngine Off
161 </IfModule>
162 </Directory>
163 ErrorLog /var/log/apache2/wallabag_error.log
164 CustomLog /var/log/apache2/wallabag_access.log combined
165 </VirtualHost>
166
167
168.. tip:: Note for Apache 2.4, in the section `<Directory /var/www/wallabag/web>` you have to replace the directives :
169
170::
171
172 AllowOverride None
173 Order Allow,Deny
174 Allow from All
175
176
177by
178
179::
180
181 Require All granted
182
183
184After reloading or restarting Apache, you should now be able to access wallabag at http://domain.tld.
185
186Configuration on Nginx
187~~~~~~~~~~~~~~~~~~~~~~
188
189Assuming you installed wallabag in the ``/var/www/wallabag`` folder, here's the recipe for wallabag :
190
191::
192
193 server {
194 server_name domain.tld www.domain.tld;
195 root /var/www/wallabag/web;
196
197 location / {
198 # try to serve file directly, fallback to app.php
199 try_files $uri /app.php$is_args$args;
200 }
201 location ~ ^/app\.php(/|$) {
202 fastcgi_pass unix:/var/run/php5-fpm.sock;
203 fastcgi_split_path_info ^(.+\.php)(/.*)$;
204 include fastcgi_params;
205 # When you are using symlinks to link the document root to the
206 # current version of your application, you should pass the real
207 # application path instead of the path to the symlink to PHP
208 # FPM.
209 # Otherwise, PHP's OPcache may not properly detect changes to
210 # your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
211 # for more information).
212 fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
213 fastcgi_param DOCUMENT_ROOT $realpath_root;
214 # Prevents URIs that include the front controller. This will 404:
215 # http://domain.tld/app.php/some-path
216 # Remove the internal directive to allow URIs like this
217 internal;
218 }
219
220 # return 404 for all other php files not matching the front controller
221 # this prevents access to other php files you don't want to be accessible.
222 location ~ \.php$ {
223 return 404;
224 }
225
226 error_log /var/log/nginx/wallabag_error.log;
227 access_log /var/log/nginx/wallabag_access.log;
228 }
229
230After reloading or restarting nginx, you should now be able to access wallabag at http://domain.tld.
231
232.. tip::
233
234 When you want to import large files into wallabag, you need to add this line in your nginx configuration ``client_max_body_size XM; # allows file uploads up to X megabytes``.
235
236Configuration on lighttpd
237~~~~~~~~~~~~~~~~~~~~~~~~~
238
239Assuming you install wallabag in the ``/var/www/wallabag`` folder, here's the recipe for wallabag (edit your ``lighttpd.conf`` file and paste this configuration into it):
240
241::
242
243 server.modules = (
244 "mod_fastcgi",
245 "mod_access",
246 "mod_alias",
247 "mod_compress",
248 "mod_redirect",
249 "mod_rewrite",
250 )
251 server.document-root = "/var/www/wallabag/web"
252 server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
253 server.errorlog = "/var/log/lighttpd/error.log"
254 server.pid-file = "/var/run/lighttpd.pid"
255 server.username = "www-data"
256 server.groupname = "www-data"
257 server.port = 80
258 server.follow-symlink = "enable"
259 index-file.names = ( "index.php", "index.html", "index.lighttpd.html")
260 url.access-deny = ( "~", ".inc" )
261 static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
262 compress.cache-dir = "/var/cache/lighttpd/compress/"
263 compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" )
264 include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
265 include_shell "/usr/share/lighttpd/create-mime.assign.pl"
266 include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
267 dir-listing.activate = "disable"
268
269 url.rewrite-if-not-file = (
270 "^/([^?]*)(?:\?(.*))?" => "/app.php?$1&$2",
271 "^/([^?]*)" => "/app.php?=$1",
272 )
273
274Rights access to the folders of the project
275-------------------------------------------
276
277Test environment
278~~~~~~~~~~~~~~~~
279
280When we just want to test wallabag, we just run the command ``make run`` to start our wallabag instance and everything will go smoothly because the user who started the project can access to the current folder naturally, without any problem.
281
282Production environment
283~~~~~~~~~~~~~~~~~~~~~~
284
285As soon as we use Apache or Nginx to access to our wallabag instance, and not from the command ``make run`` to start it, we should take care to grant the good rights on the good folders to keep safe all the folders of the project.
286
287To do so, the folder name, known as ``DocumentRoot`` (for apache) or ``root`` (for Nginx), has to be absolutely accessible by the Apache/Nginx user. Its name is generally ``www-data``, ``apache`` or ``nobody`` (depending on linux system used).
288
289So the folder ``/var/www/wallabag/web`` has to be accessible by this last one. But this may not be enough if we just care about this folder, because we could meet a blank page or get an error 500 when trying to access to the homepage of the project.
290
291This is due to the fact that we will need to grant the same rights access on the folder ``/var/www/wallabag/var`` like those we gave on the folder ``/var/www/wallabag/web``. Thus, we fix this problem with the following command:
292
293.. code-block:: bash
294
295 chown -R www-data:www-data /var/www/wallabag/var
296
297It has to be the same for the following folders
298
299* /var/www/wallabag/bin/
300* /var/www/wallabag/app/config/
301* /var/www/wallabag/vendor/
302* /var/www/wallabag/data/
303
304by entering
305
306.. code-block:: bash
307
308 chown -R www-data:www-data /var/www/wallabag/bin
309 chown -R www-data:www-data /var/www/wallabag/app/config
310 chown -R www-data:www-data /var/www/wallabag/vendor
311 chown -R www-data:www-data /var/www/wallabag/data/
312
313otherwise, sooner or later you will see these error messages:
314
315.. code-block:: bash
316
317 Unable to write to the "bin" directory.
318 file_put_contents(app/config/parameters.yml): failed to open stream: Permission denied
319 file_put_contents(/.../wallabag/vendor/autoload.php): failed to open stream: Permission denied
320
321Additional rules for SELinux
322~~~~~~~~~~~~~~~~~~~~~~~~~~~~
323
324If SELinux is enabled on your system, you will need to configure additional contexts in order for wallabag to function properly. To check if SELinux is enabled, simply enter the following:
325
326``getenforce``
327
328This will return ``Enforcing`` if SELinux is enabled. Creating a new context involves the following syntax:
329
330``semanage fcontext -a -t <context type> <full path>``
331
332For example:
333
334``semanage fcontext -a -t httpd_sys_content_t "/var/www/wallabag(/.*)?"``
335
336This will recursively apply the httpd_sys_content_t context to the wallabag directory and all underlying files and folders. The following rules are needed:
337
338+-----------------------------------+----------------------------+
339| Full path | Context |
340+===================================+============================+
341| /var/www/wallabag(/.*)? | ``httpd_sys_content_t`` |
342+-----------------------------------+----------------------------+
343| /var/www/wallabag/data(/.*)? | ``httpd_sys_rw_content_t`` |
344+-----------------------------------+----------------------------+
345| /var/www/wallabag/var/logs(/.*)? | ``httpd_log_t`` |
346+-----------------------------------+----------------------------+
347| /var/www/wallabag/var/cache(/.*)? | ``httpd_cache_t`` |
348+-----------------------------------+----------------------------+
349
350After creating these contexts, enter the following in order to apply your rules:
351
352``restorecon -R -v /var/www/wallabag``
353
354You can check contexts in a directory by typing ``ls -lZ`` and you can see all of your current rules with ``semanage fcontext -l -C``.
355
356If you're installing the preconfigured latest-v2-package, then an additional rule is needed during the initial setup:
357
358``semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/wallabag/var"``
359
360After you successfully access your wallabag and complete the initial setup, this context can be removed:
361
362::
363
364 semanage fcontext -d -t httpd_sys_rw_content_t "/var/www/wallabag/var"
365 retorecon -R -v /var/www/wallabag/var
diff --git a/docs/en/user/parameters.rst b/docs/en/user/parameters.rst
deleted file mode 100644
index d8a209e7..00000000
--- a/docs/en/user/parameters.rst
+++ /dev/null
@@ -1,96 +0,0 @@
1What is the meaning of the parameters?
2======================================
3
4Default `parameters.yml` file
5-----------------------------
6
7Here is the last version of the default `app/config/parameters.yml` file. Be sure that yours respects this one.
8If you don't know which value you need to set, please leave the default one.
9
10.. code-block:: yml
11
12 parameters:
13 database_driver: pdo_sqlite
14 database_host: 127.0.0.1
15 database_port: null
16 database_name: symfony
17 database_user: root
18 database_password: null
19 database_path: '%kernel.root_dir%/../data/db/wallabag.sqlite'
20 database_table_prefix: wallabag_
21 database_socket: null
22 mailer_transport: smtp
23 mailer_host: 127.0.0.1
24 mailer_user: null
25 mailer_password: null
26 locale: en
27 secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
28 twofactor_auth: true
29 twofactor_sender: no-reply@wallabag.org
30 fosuser_registration: true
31 fosuser_confirmation: true
32 from_email: no-reply@wallabag.org
33 rss_limit: 50
34 rabbitmq_host: localhost
35 rabbitmq_port: 5672
36 rabbitmq_user: guest
37 rabbitmq_password: guest
38 redis_scheme: tcp
39 redis_host: localhost
40 redis_port: 6379
41 redis_path: null
42 redis_password: null
43
44Meaning of each parameter
45-------------------------
46
47.. csv-table:: Database parameters
48 :header: "name", "default", "description"
49
50 "database_driver", "pdo_sqlite", "Should be pdo_sqlite or pdo_mysql or pdo_pgsql"
51 "database_host", "127.0.0.1", "host of your database (usually localhost or 127.0.0.1)"
52 "database_port", "~", "port of your database (you can leave ``~`` to use the default one)"
53 "database_name", "symfony", "name of your database"
54 "database_user", "root", "user that can write to this database"
55 "database_password", "~", "password of that user"
56 "database_path", "``""%kernel.root_dir%/../data/db/wallabag.sqlite""``", "only for SQLite, define where to put the database file. Leave it empty for other database"
57 "database_table_prefix", "wallabag_", "all wallabag's tables will be prefixed with that string. You can include a ``_`` for clarity"
58 "database_socket", "null", "If your database is using a socket instead of tcp, put the path of the socket (other connection parameters will then be ignored)"
59 "database_charset", "utf8mb4", "For PostgreSQL & SQLite you should use utf8, for MySQL use utf8mb4 which handle emoji"
60
61.. csv-table:: Configuration to send emails from wallabag
62 :header: "name", "default", "description"
63
64 "mailer_transport", "smtp", "The exact transport method to use to deliver emails. Valid values are: smtp, gmail, mail, sendmail, null (which will disable the mailer)"
65 "mailer_host", "127.0.0.1", "The host to connect to when using smtp as the transport."
66 "mailer_user", "~", "The username when using smtp as the transport."
67 "mailer_password", "~", "The password when using smtp as the transport."
68
69.. csv-table:: Other wallabag's option
70 :header: "name", "default", "description"
71
72 "locale", "en", "Default language of your wallabag instance (like en, fr, es, etc.)"
73 "secret", "ovmpmAWXRCabNlMgzlzFXDYmCFfzGv", "This is a string that should be unique to your application and it's commonly used to add more entropy to security related operations."
74 "twofactor_auth", "true", "true to enable Two factor authentication"
75 "twofactor_sender", "no-reply@wallabag.org", "email of the email sender to receive the two factor code"
76 "fosuser_registration", "true", "true to enable public registration"
77 "fosuser_confirmation", "true", "true to send a confirmation by email for each registration"
78 "from_email", "no-reply@wallabag.org", "email address used in From: field in each email"
79 "rss_limit", "50", "limit for RSS feeds"
80
81.. csv-table:: RabbitMQ configuration
82 :header: "name", "default", "description"
83
84 "rabbitmq_host", "localhost", "Host of your RabbitMQ"
85 "rabbitmq_port", "5672", "Port of your RabbitMQ"
86 "rabbitmq_user", "guest", "User that can read queues"
87 "rabbitmq_password", "guest", "Password of that user"
88
89.. csv-table:: Redis configuration
90 :header: "name", "default", "description"
91
92 "redis_scheme", "tcp", "Specifies the protocol used to communicate with an instance of Redis. Valid values are: tcp, unix, http"
93 "redis_host", "localhost", "IP or hostname of the target server (ignored for unix scheme)"
94 "redis_port", "6379", "TCP/IP port of the target server (ignored for unix scheme)"
95 "redis_path", "null", "Path of the UNIX domain socket file used when connecting to Redis using UNIX domain sockets"
96 "redis_password", "null", "Password defined in the Redis server configuration (parameter `requirepass` in `redis.conf`)"
diff --git a/docs/en/user/query-upgrade-21-22.rst b/docs/en/user/query-upgrade-21-22.rst
deleted file mode 100644
index fa9835a8..00000000
--- a/docs/en/user/query-upgrade-21-22.rst
+++ /dev/null
@@ -1,984 +0,0 @@
1Migration 20161001072726
2------------------------
3
4MySQL
5^^^^^
6
7Migration up
8""""""""""""
9
10.. code-block:: sql
11
12 ALTER TABLE wallabag_entry_tag DROP FOREIGN KEY FK_C9F0DD7CBA364942
13 ALTER TABLE wallabag_entry_tag DROP FOREIGN KEY FK_C9F0DD7CBAD26311
14 ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
15 ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_tag FOREIGN KEY (tag_id) REFERENCES wallabag_tag (id) ON DELETE CASCADE
16 ALTER TABLE wallabag_annotation DROP FOREIGN KEY FK_A7AED006BA364942
17 ALTER TABLE wallabag_annotation ADD CONSTRAINT FK_annotation_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
18
19Migration down
20""""""""""""""
21
22We didn't write down migration for ``20161001072726``.
23
24PostgreSQL
25^^^^^^^^^^
26
27Migration up
28""""""""""""
29
30.. code-block:: sql
31
32 ALTER TABLE wallabag_entry_tag DROP CONSTRAINT fk_c9f0dd7cba364942
33 ALTER TABLE wallabag_entry_tag DROP CONSTRAINT fk_c9f0dd7cbad26311
34 ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
35 ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_tag FOREIGN KEY (tag_id) REFERENCES wallabag_tag (id) ON DELETE CASCADE
36 ALTER TABLE wallabag_annotation DROP CONSTRAINT fk_a7aed006ba364942
37 ALTER TABLE wallabag_annotation ADD CONSTRAINT FK_annotation_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
38
39Migration down
40""""""""""""""
41
42We didn't write down migration for ``20161001072726``.
43
44SQLite
45^^^^^^
46
47This migration can only be executed safely on MySQL or PostgreSQL.
48
49Migration 20161022134138
50------------------------
51
52MySQL
53^^^^^
54
55Migration up
56""""""""""""
57
58.. code-block:: sql
59
60 ALTER DATABASE wallabag CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
61 ALTER TABLE wallabag_user CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL;
62 ALTER TABLE wallabag_user CHANGE salt salt VARCHAR(180) NOT NULL;
63 ALTER TABLE wallabag_user CHANGE password password VARCHAR(180) NOT NULL;
64 ALTER TABLE wallabag_annotation CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
65 ALTER TABLE wallabag_entry CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
66 ALTER TABLE wallabag_tag CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
67 ALTER TABLE wallabag_user CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
68 ALTER TABLE wallabag_annotation CHANGE `text` `text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
69 ALTER TABLE wallabag_annotation CHANGE `quote` `quote` VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
70 ALTER TABLE wallabag_entry CHANGE `title` `title` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
71 ALTER TABLE wallabag_entry CHANGE `content` `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
72 ALTER TABLE wallabag_tag CHANGE `label` `label` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
73 ALTER TABLE wallabag_user CHANGE `name` `name` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
74
75Migration down
76""""""""""""""
77
78.. code-block:: sql
79
80 ALTER DATABASE wallabag CHARACTER SET = utf8 COLLATE = utf8_unicode_ci;
81 ALTER TABLE wallabag_annotation CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
82 ALTER TABLE wallabag_entry CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
83 ALTER TABLE wallabag_tag CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
84 ALTER TABLE wallabag_user CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
85 ALTER TABLE wallabag_annotation CHANGE `text` `text` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
86 ALTER TABLE wallabag_annotation CHANGE `quote` `quote` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci;
87 ALTER TABLE wallabag_entry CHANGE `title` `title` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
88 ALTER TABLE wallabag_entry CHANGE `content` `content` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
89 ALTER TABLE wallabag_tag CHANGE `label` `label` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
90 ALTER TABLE wallabag_user CHANGE `name` `name` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
91
92PostgreSQL and SQLite
93^^^^^^^^^^^^^^^^^^^^^
94
95This migration only apply to MySQL.
96
97Migration 20161024212538
98------------------------
99
100MySQL
101^^^^^
102
103Migration up
104""""""""""""
105
106.. code-block:: sql
107
108 ALTER TABLE wallabag_oauth2_clients ADD user_id INT NOT NULL
109 ALTER TABLE wallabag_oauth2_clients ADD CONSTRAINT IDX_user_oauth_client FOREIGN KEY (user_id) REFERENCES wallabag_user (id) ON DELETE CASCADE
110 CREATE INDEX IDX_635D765EA76ED395 ON wallabag_oauth2_clients (user_id)
111
112Migration down
113""""""""""""""
114
115.. code-block:: sql
116
117 ALTER TABLE wallabag_oauth2_clients DROP FOREIGN KEY IDX_user_oauth_client
118 ALTER TABLE wallabag_oauth2_clients DROP user_id
119
120PostgreSQL
121^^^^^^^^^^
122
123Migration up
124""""""""""""
125
126.. code-block:: sql
127
128 ALTER TABLE wallabag_oauth2_clients ADD user_id INT DEFAULT NULL
129 ALTER TABLE wallabag_oauth2_clients ADD CONSTRAINT IDX_user_oauth_client FOREIGN KEY (user_id) REFERENCES wallabag_user (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE
130 CREATE INDEX IDX_635D765EA76ED395 ON wallabag_oauth2_clients (user_id)
131
132
133Migration down
134""""""""""""""
135
136.. code-block:: sql
137
138 ALTER TABLE wallabag_oauth2_clients DROP CONSTRAINT idx_user_oauth_client
139 ALTER TABLE wallabag_oauth2_clients DROP user_id
140
141SQLite
142^^^^^^
143
144Migration up
145""""""""""""
146
147.. code-block:: sql
148
149 CREATE TEMPORARY TABLE __temp__wallabag_oauth2_clients AS SELECT id, random_id, redirect_uris, secret, allowed_grant_types, name FROM wallabag_oauth2_clients
150 DROP TABLE wallabag_oauth2_clients
151 CREATE TABLE wallabag_oauth2_clients (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, random_id VARCHAR(255) NOT NULL COLLATE BINARY, redirect_uris CLOB NOT NULL COLLATE BINARY, secret VARCHAR(255) NOT NULL COLLATE BINARY, allowed_grant_types CLOB NOT NULL COLLATE BINARY, name CLOB DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id), CONSTRAINT IDX_user_oauth_client FOREIGN KEY (user_id) REFERENCES wallabag_user (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE)
152 INSERT INTO wallabag_oauth2_clients (id, random_id, redirect_uris, secret, allowed_grant_types, name) SELECT id, random_id, redirect_uris, secret, allowed_grant_types, name FROM __temp__wallabag_oauth2_clients
153 DROP TABLE __temp__wallabag_oauth2_clients
154 CREATE INDEX IDX_635D765EA76ED395 ON wallabag_oauth2_clients (user_id)
155
156Migration down
157""""""""""""""
158
159.. code-block:: sql
160
161 DROP INDEX IDX_635D765EA76ED395
162 CREATE TEMPORARY TABLE __temp__wallabag_oauth2_clients AS SELECT id, random_id, redirect_uris, secret, allowed_grant_types, name FROM wallabag_oauth2_clients
163 DROP TABLE wallabag_oauth2_clients
164 CREATE TABLE wallabag_oauth2_clients (id INTEGER NOT NULL, random_id VARCHAR(255) NOT NULL COLLATE BINARY, redirect_uris CLOB NOT NULL COLLATE BINARY, secret VARCHAR(255) NOT NULL COLLATE BINARY, allowed_grant_types CLOB NOT NULL COLLATE BINARY, name CLOB DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
165 INSERT INTO wallabag_oauth2_clients (id, random_id, redirect_uris, secret, allowed_grant_types, name) SELECT id, random_id, redirect_uris, secret, allowed_grant_types, name FROM __temp__wallabag_oauth2_clients
166 DROP TABLE __temp__wallabag_oauth2_clients
167
168Migration 20161031132655
169------------------------
170
171MySQL
172^^^^^
173
174Migration up
175""""""""""""
176
177.. code-block:: sql
178
179 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('download_images_enabled', 0, 'misc')
180
181Migration down
182""""""""""""""
183
184.. code-block:: sql
185
186 DELETE FROM wallabag_craue_config_setting WHERE name = 'download_images_enabled';
187
188PostgreSQL
189^^^^^^^^^^
190
191Migration up
192""""""""""""
193
194.. code-block:: sql
195
196 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('download_images_enabled', 0, 'misc')
197
198Migration down
199""""""""""""""
200
201.. code-block:: sql
202
203 DELETE FROM wallabag_craue_config_setting WHERE name = 'download_images_enabled';
204
205SQLite
206^^^^^^
207
208Migration up
209""""""""""""
210
211.. code-block:: sql
212
213 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('download_images_enabled', 0, 'misc')
214
215Migration down
216""""""""""""""
217
218.. code-block:: sql
219
220 DELETE FROM wallabag_craue_config_setting WHERE name = 'download_images_enabled';
221
222Migration 20161104073720
223------------------------
224
225MySQL
226^^^^^
227
228Migration up
229""""""""""""
230
231.. code-block:: sql
232
233 CREATE INDEX IDX_entry_created_at ON wallabag_entry (created_at)
234
235Migration down
236""""""""""""""
237
238.. code-block:: sql
239
240 DROP INDEX IDX_entry_created_at ON wallabag_entry
241
242PostgreSQL
243^^^^^^^^^^
244
245Migration up
246""""""""""""
247
248.. code-block:: sql
249
250 CREATE INDEX IDX_entry_created_at ON wallabag_entry (created_at)
251
252Migration down
253""""""""""""""
254
255.. code-block:: sql
256
257 DROP INDEX idx_entry_created_at
258
259SQLite
260^^^^^^
261
262Migration up
263""""""""""""
264
265.. code-block:: sql
266
267 DROP INDEX created_at_idx
268 DROP INDEX IDX_F4D18282A76ED395
269 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
270 DROP TABLE wallabag_entry
271 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uuid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
272 INSERT INTO wallabag_entry (id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
273 DROP TABLE __temp__wallabag_entry
274 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
275 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
276 CREATE INDEX IDX_entry_created_at ON wallabag_entry (created_at)
277
278Migration down
279""""""""""""""
280
281.. code-block:: sql
282
283 DROP INDEX IDX_entry_created_at
284 DROP INDEX IDX_F4D18282A76ED395
285 DROP INDEX created_at_idx
286 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
287 DROP TABLE wallabag_entry
288 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uuid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
289 INSERT INTO wallabag_entry (id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
290 DROP TABLE __temp__wallabag_entry
291 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
292 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
293
294Migration 20161106113822
295------------------------
296
297MySQL
298^^^^^
299
300Migration up
301""""""""""""
302
303.. code-block:: sql
304
305 ALTER TABLE wallabag_config ADD action_mark_as_read INT DEFAULT 0
306
307Migration down
308""""""""""""""
309
310.. code-block:: sql
311
312 ALTER TABLE wallabag_config DROP action_mark_as_read
313
314PostgreSQL
315^^^^^^^^^^
316
317Migration up
318""""""""""""
319
320.. code-block:: sql
321
322 ALTER TABLE wallabag_config ADD action_mark_as_read INT DEFAULT 0
323
324Migration down
325""""""""""""""
326
327.. code-block:: sql
328
329 ALTER TABLE wallabag_config DROP action_mark_as_read
330
331SQLite
332^^^^^^
333
334Migration up
335""""""""""""
336
337.. code-block:: sql
338
339 ALTER TABLE wallabag_config ADD COLUMN action_mark_as_read INTEGER DEFAULT 0
340
341Migration down
342""""""""""""""
343
344.. code-block:: sql
345
346 DROP INDEX UNIQ_87E64C53A76ED395
347 CREATE TEMPORARY TABLE __temp__wallabag_config AS SELECT id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key FROM wallabag_config
348 DROP TABLE wallabag_config
349 CREATE TABLE wallabag_config (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, theme VARCHAR(255) NOT NULL COLLATE BINARY, items_per_page INTEGER NOT NULL, language VARCHAR(255) NOT NULL COLLATE BINARY, rss_token VARCHAR(255) DEFAULT NULL COLLATE BINARY, rss_limit INTEGER DEFAULT NULL, reading_speed DOUBLE PRECISION DEFAULT NULL, pocket_consumer_key VARCHAR(255) DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
350 INSERT INTO wallabag_config (id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key) SELECT id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key FROM __temp__wallabag_config
351 DROP TABLE __temp__wallabag_config
352 CREATE UNIQUE INDEX UNIQ_87E64C53A76ED395 ON wallabag_config (user_id)
353
354Migration 20161117071626
355------------------------
356
357MySQL
358^^^^^
359
360Migration up
361""""""""""""
362
363.. code-block:: sql
364
365 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('share_unmark', 0, 'entry')
366 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('unmark_url', 'https://unmark.it', 'entry')
367
368Migration down
369""""""""""""""
370
371.. code-block:: sql
372
373 DELETE FROM wallabag_craue_config_setting WHERE name = 'share_unmark';
374 DELETE FROM wallabag_craue_config_setting WHERE name = 'unmark_url';
375
376PostgreSQL
377^^^^^^^^^^
378
379Migration up
380""""""""""""
381
382.. code-block:: sql
383
384 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('share_unmark', 0, 'entry')
385 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('unmark_url', 'https://unmark.it', 'entry')
386
387Migration down
388""""""""""""""
389
390.. code-block:: sql
391
392 DELETE FROM wallabag_craue_config_setting WHERE name = 'share_unmark';
393 DELETE FROM wallabag_craue_config_setting WHERE name = 'unmark_url';
394
395SQLite
396^^^^^^
397
398Migration up
399""""""""""""
400
401.. code-block:: sql
402
403 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('share_unmark', 0, 'entry')
404 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('unmark_url', 'https://unmark.it', 'entry')
405
406Migration down
407""""""""""""""
408
409.. code-block:: sql
410
411 DELETE FROM wallabag_craue_config_setting WHERE name = 'share_unmark';
412 DELETE FROM wallabag_craue_config_setting WHERE name = 'unmark_url';
413
414Migration 20161118134328
415------------------------
416
417MySQL
418^^^^^
419
420Migration up
421""""""""""""
422
423.. code-block:: sql
424
425 ALTER TABLE wallabag_entry ADD http_status VARCHAR(3) DEFAULT NULL
426
427Migration down
428""""""""""""""
429
430.. code-block:: sql
431
432 ALTER TABLE wallabag_entry DROP http_status
433
434PostgreSQL
435^^^^^^^^^^
436
437Migration up
438""""""""""""
439
440.. code-block:: sql
441
442 ALTER TABLE wallabag_entry ADD http_status VARCHAR(3) DEFAULT NULL
443
444Migration down
445""""""""""""""
446
447.. code-block:: sql
448
449 ALTER TABLE wallabag_entry DROP http_status
450
451SQLite
452^^^^^^
453
454Migration up
455""""""""""""
456
457.. code-block:: sql
458
459 ALTER TABLE wallabag_entry ADD COLUMN http_status VARCHAR(3) DEFAULT NULL
460
461Migration down
462""""""""""""""
463
464.. code-block:: sql
465
466 DROP INDEX created_at_idx
467 DROP INDEX IDX_F4D18282A76ED395
468 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
469 DROP TABLE wallabag_entry
470 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uuid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
471 INSERT INTO wallabag_entry (id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
472 DROP TABLE __temp__wallabag_entry
473 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
474 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
475
476Migration 20161122144743
477------------------------
478
479MySQL
480^^^^^
481
482Migration up
483""""""""""""
484
485.. code-block:: sql
486
487 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('restricted_access', 0, 'entry')
488
489Migration down
490""""""""""""""
491
492.. code-block:: sql
493
494 DELETE FROM wallabag_craue_config_setting WHERE name = 'restricted_access';
495
496PostgreSQL
497^^^^^^^^^^
498
499Migration up
500""""""""""""
501
502.. code-block:: sql
503
504 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('restricted_access', 0, 'entry')
505
506Migration down
507""""""""""""""
508
509.. code-block:: sql
510
511 DELETE FROM wallabag_craue_config_setting WHERE name = 'restricted_access';
512
513SQLite
514^^^^^^
515
516Migration up
517""""""""""""
518
519.. code-block:: sql
520
521 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('restricted_access', 0, 'entry')
522
523Migration down
524""""""""""""""
525
526.. code-block:: sql
527
528 DELETE FROM wallabag_craue_config_setting WHERE name = 'restricted_access';
529
530Migration 20161122203647
531------------------------
532
533MySQL
534^^^^^
535
536Migration up
537""""""""""""
538
539.. code-block:: sql
540
541 ALTER TABLE wallabag_user DROP expired, DROP credentials_expired
542
543Migration down
544""""""""""""""
545
546.. code-block:: sql
547
548 ALTER TABLE wallabag_user ADD expired SMALLINT DEFAULT NULL, ADD credentials_expired SMALLINT DEFAULT NULL
549
550PostgreSQL
551^^^^^^^^^^
552
553Migration up
554""""""""""""
555
556.. code-block:: sql
557
558 ALTER TABLE wallabag_user DROP expired
559 ALTER TABLE wallabag_user DROP credentials_expired
560
561Migration down
562""""""""""""""
563
564.. code-block:: sql
565
566 ALTER TABLE wallabag_user ADD expired SMALLINT DEFAULT NULL
567 ALTER TABLE wallabag_user ADD credentials_expired SMALLINT DEFAULT NULL
568
569SQLite
570^^^^^^
571
572Migration up
573""""""""""""
574
575.. code-block:: sql
576
577 DROP INDEX UNIQ_1D63E7E5C05FB297
578 DROP INDEX UNIQ_1D63E7E5A0D96FBF
579 DROP INDEX UNIQ_1D63E7E592FC23A8
580 CREATE TEMPORARY TABLE __temp__wallabag_user AS SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, locked, expires_at, confirmation_token, password_requested_at, roles, credentials_expire_at, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted FROM wallabag_user
581 DROP TABLE wallabag_user
582 CREATE TABLE wallabag_user (id INTEGER NOT NULL, username VARCHAR(180) NOT NULL COLLATE BINARY, username_canonical VARCHAR(180) NOT NULL COLLATE BINARY, email VARCHAR(180) NOT NULL COLLATE BINARY, email_canonical VARCHAR(180) NOT NULL COLLATE BINARY, enabled BOOLEAN NOT NULL, salt VARCHAR(255) NOT NULL COLLATE BINARY, password VARCHAR(255) NOT NULL COLLATE BINARY, last_login DATETIME DEFAULT NULL, locked BOOLEAN NOT NULL, expires_at DATETIME DEFAULT NULL, confirmation_token VARCHAR(180) DEFAULT NULL COLLATE BINARY, password_requested_at DATETIME DEFAULT NULL, roles CLOB NOT NULL COLLATE BINARY, credentials_expire_at DATETIME DEFAULT NULL, name CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INTEGER DEFAULT NULL, twoFactorAuthentication BOOLEAN NOT NULL, trusted CLOB DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
583 INSERT INTO wallabag_user (id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, locked, expires_at, confirmation_token, password_requested_at, roles, credentials_expire_at, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted) SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, locked, expires_at, confirmation_token, password_requested_at, roles, credentials_expire_at, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted FROM __temp__wallabag_user
584 DROP TABLE __temp__wallabag_user
585 CREATE UNIQUE INDEX UNIQ_1D63E7E5C05FB297 ON wallabag_user (confirmation_token)
586 CREATE UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF ON wallabag_user (email_canonical)
587 CREATE UNIQUE INDEX UNIQ_1D63E7E592FC23A8 ON wallabag_user (username_canonical)
588
589Migration down
590""""""""""""""
591
592.. code-block:: sql
593
594 ALTER TABLE wallabag_user ADD COLUMN expired SMALLINT DEFAULT NULL
595 ALTER TABLE wallabag_user ADD COLUMN credentials_expired SMALLINT DEFAULT NULL
596
597Migration 20161128084725
598------------------------
599
600MySQL
601^^^^^
602
603Migration up
604""""""""""""
605
606.. code-block:: sql
607
608 ALTER TABLE wallabag_config ADD list_mode INT DEFAULT NULL
609
610Migration down
611""""""""""""""
612
613.. code-block:: sql
614
615 ALTER TABLE wallabag_config DROP list_mode
616
617PostgreSQL
618^^^^^^^^^^
619
620Migration up
621""""""""""""
622
623.. code-block:: sql
624
625 ALTER TABLE wallabag_config ADD list_mode INT DEFAULT NULL
626
627Migration down
628""""""""""""""
629
630.. code-block:: sql
631
632 ALTER TABLE wallabag_config DROP list_mode
633
634SQLite
635^^^^^^
636
637Migration up
638""""""""""""
639
640.. code-block:: sql
641
642 ALTER TABLE wallabag_config ADD COLUMN list_mode INTEGER DEFAULT NULL
643
644Migration down
645""""""""""""""
646
647.. code-block:: sql
648
649 DROP INDEX UNIQ_87E64C53A76ED395
650 CREATE TEMPORARY TABLE __temp__wallabag_config AS SELECT id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key FROM wallabag_config
651 DROP TABLE wallabag_config
652 CREATE TABLE wallabag_config (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, theme VARCHAR(255) NOT NULL COLLATE BINARY, items_per_page INTEGER NOT NULL, language VARCHAR(255) NOT NULL COLLATE BINARY, rss_token VARCHAR(255) DEFAULT NULL COLLATE BINARY, rss_limit INTEGER DEFAULT NULL, reading_speed DOUBLE PRECISION DEFAULT NULL, pocket_consumer_key VARCHAR(255) DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
653 INSERT INTO wallabag_config (id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key) SELECT id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key FROM __temp__wallabag_config
654 DROP TABLE __temp__wallabag_config
655 CREATE UNIQUE INDEX UNIQ_87E64C53A76ED395 ON wallabag_config (user_id)
656
657Migration 20161128131503
658------------------------
659
660MySQL
661^^^^^
662
663Migration up
664""""""""""""
665
666.. code-block:: sql
667
668 ALTER TABLE wallabag_user DROP locked, DROP credentials_expire_at, DROP expires_at
669
670Migration down
671""""""""""""""
672
673.. code-block:: sql
674
675 ALTER TABLE wallabag_user ADD locked SMALLINT DEFAULT NULL, ADD credentials_expire_at DATETIME DEFAULT NULL, ADD expires_at DATETIME DEFAULT NULL
676
677PostgreSQL
678^^^^^^^^^^
679
680Migration up
681""""""""""""
682
683.. code-block:: sql
684
685 ALTER TABLE wallabag_user DROP locked
686 ALTER TABLE wallabag_user DROP credentials_expire_at
687 ALTER TABLE wallabag_user DROP expires_at
688
689Migration down
690""""""""""""""
691
692.. code-block:: sql
693
694 ALTER TABLE wallabag_user ADD locked SMALLINT DEFAULT NULL
695 ALTER TABLE wallabag_user ADD credentials_expire_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL
696 ALTER TABLE wallabag_user ADD expires_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL
697
698SQLite
699^^^^^^
700
701Migration up
702""""""""""""
703
704.. code-block:: sql
705
706 ALTER TABLE wallabag_user ADD COLUMN locked SMALLINT DEFAULT NULL
707 ALTER TABLE wallabag_user ADD COLUMN credentials_expire_at DATETIME DEFAULT NULL
708 ALTER TABLE wallabag_user ADD COLUMN expires_at DATETIME DEFAULT NULL
709
710Migration down
711""""""""""""""
712
713.. code-block:: sql
714
715 DROP INDEX UNIQ_1D63E7E592FC23A8
716 DROP INDEX UNIQ_1D63E7E5A0D96FBF
717 DROP INDEX UNIQ_1D63E7E5C05FB297
718 CREATE TEMPORARY TABLE __temp__wallabag_user AS SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted, expired, credentials_expired FROM wallabag_user
719 DROP TABLE wallabag_user
720 CREATE TABLE wallabag_user (id INTEGER NOT NULL, username VARCHAR(180) NOT NULL COLLATE BINARY, username_canonical VARCHAR(180) NOT NULL COLLATE BINARY, email VARCHAR(180) NOT NULL COLLATE BINARY, email_canonical VARCHAR(180) NOT NULL COLLATE BINARY, enabled BOOLEAN NOT NULL, salt VARCHAR(255) NOT NULL COLLATE BINARY, password VARCHAR(255) NOT NULL COLLATE BINARY, last_login DATETIME DEFAULT NULL, confirmation_token VARCHAR(180) DEFAULT NULL COLLATE BINARY, password_requested_at DATETIME DEFAULT NULL, roles CLOB NOT NULL COLLATE BINARY, name CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INTEGER DEFAULT NULL, twoFactorAuthentication BOOLEAN NOT NULL, trusted CLOB DEFAULT NULL COLLATE BINARY, expired SMALLINT DEFAULT NULL, credentials_expired SMALLINT DEFAULT NULL, PRIMARY KEY(id))
721 INSERT INTO wallabag_user (id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted, expired, credentials_expired) SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted, expired, credentials_expired FROM __temp__wallabag_user
722 DROP TABLE __temp__wallabag_user
723 CREATE UNIQUE INDEX UNIQ_1D63E7E592FC23A8 ON wallabag_user (username_canonical)
724 CREATE UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF ON wallabag_user (email_canonical)
725 CREATE UNIQUE INDEX UNIQ_1D63E7E5C05FB297 ON wallabag_user (confirmation_token)
726
727Migration 20161214094402
728------------------------
729
730MySQL
731^^^^^
732
733Migration up
734""""""""""""
735
736.. code-block:: sql
737
738 ALTER TABLE wallabag_entry CHANGE uuid uid VARCHAR(23)
739
740Migration down
741""""""""""""""
742
743.. code-block:: sql
744
745 ALTER TABLE wallabag_entry CHANGE uid uuid VARCHAR(23)
746
747PostgreSQL
748^^^^^^^^^^
749
750Migration up
751""""""""""""
752
753.. code-block:: sql
754
755 ALTER TABLE wallabag_entry RENAME uuid TO uid
756
757Migration down
758""""""""""""""
759
760.. code-block:: sql
761
762 ALTER TABLE wallabag_entry RENAME uid TO uuid
763
764SQLite
765^^^^^^
766
767Migration up
768""""""""""""
769
770.. code-block:: sql
771
772 CREATE TABLE __temp__wallabag_entry (
773 id INTEGER NOT NULL,
774 user_id INTEGER DEFAULT NULL,
775 uid VARCHAR(23) DEFAULT NULL,
776 title CLOB DEFAULT NULL,
777 url CLOB DEFAULT NULL,
778 is_archived BOOLEAN NOT NULL,
779 is_starred BOOLEAN NOT NULL,
780 content CLOB DEFAULT NULL,
781 created_at DATETIME NOT NULL,
782 updated_at DATETIME NOT NULL,
783 mimetype CLOB DEFAULT NULL,
784 language CLOB DEFAULT NULL,
785 reading_time INTEGER DEFAULT NULL,
786 domain_name CLOB DEFAULT NULL,
787 preview_picture CLOB DEFAULT NULL,
788 is_public BOOLEAN DEFAULT '0',
789 http_status VARCHAR(3) DEFAULT NULL,
790 PRIMARY KEY(id)
791 );
792 INSERT INTO __temp__wallabag_entry SELECT id,user_id,uuid,title,url,is_archived,is_starred,content,created_at,updated_at,mimetype,language,reading_time,domain_name,preview_picture,is_public,http_status FROM wallabag_entry;
793 DROP TABLE wallabag_entry;
794 ALTER TABLE __temp__wallabag_entry RENAME TO wallabag_entry
795 CREATE INDEX uid ON wallabag_entry (uid)
796 CREATE INDEX created_at ON wallabag_entry (created_at)
797 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
798
799
800Migration down
801""""""""""""""
802
803.. code-block:: sql
804
805 CREATE TABLE __temp__wallabag_entry (
806 id INTEGER NOT NULL,
807 user_id INTEGER DEFAULT NULL,
808 uuid VARCHAR(23) DEFAULT NULL,
809 title CLOB DEFAULT NULL,
810 url CLOB DEFAULT NULL,
811 is_archived BOOLEAN NOT NULL,
812 is_starred BOOLEAN NOT NULL,
813 content CLOB DEFAULT NULL,
814 created_at DATETIME NOT NULL,
815 updated_at DATETIME NOT NULL,
816 mimetype CLOB DEFAULT NULL,
817 language CLOB DEFAULT NULL,
818 reading_time INTEGER DEFAULT NULL,
819 domain_name CLOB DEFAULT NULL,
820 preview_picture CLOB DEFAULT NULL,
821 is_public BOOLEAN DEFAULT '0',
822 http_status VARCHAR(3) DEFAULT NULL,
823 PRIMARY KEY(id)
824 );
825 INSERT INTO __temp__wallabag_entry SELECT id,user_id,uid,title,url,is_archived,is_starred,content,created_at,updated_at,mimetype,language,reading_time,domain_name,preview_picture,is_public,http_status FROM wallabag_entry;
826 DROP TABLE wallabag_entry;
827 ALTER TABLE __temp__wallabag_entry RENAME TO wallabag_entry
828 CREATE INDEX uid ON wallabag_entry (uid)
829 CREATE INDEX created_at ON wallabag_entry (created_at)
830 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
831
832Migration 20161214094403
833------------------------
834
835MySQL
836^^^^^
837
838Migration up
839""""""""""""
840
841.. code-block:: sql
842
843 CREATE INDEX IDX_entry_uid ON wallabag_entry (uid)
844
845Migration down
846""""""""""""""
847
848.. code-block:: sql
849
850 DROP INDEX IDX_entry_uid ON wallabag_entry
851
852PostgreSQL
853^^^^^^^^^^
854
855Migration up
856""""""""""""
857
858.. code-block:: sql
859
860 CREATE INDEX IDX_entry_uid ON wallabag_entry (uid)
861
862Migration down
863""""""""""""""
864
865.. code-block:: sql
866
867 DROP INDEX idx_entry_uid
868
869SQLite
870^^^^^^
871
872Migration up
873""""""""""""
874
875.. code-block:: sql
876
877 DROP INDEX IDX_F4D18282A76ED395
878 DROP INDEX created_at_idx
879 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
880 DROP TABLE wallabag_entry
881 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
882 INSERT INTO wallabag_entry (id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
883 DROP TABLE __temp__wallabag_entry
884 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
885 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
886 CREATE INDEX IDX_entry_uid ON wallabag_entry (uid)
887
888Migration down
889""""""""""""""
890
891.. code-block:: sql
892
893 DROP INDEX IDX_entry_uid
894 DROP INDEX created_at_idx
895 DROP INDEX IDX_F4D18282A76ED395
896 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
897 DROP TABLE wallabag_entry
898 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
899 INSERT INTO wallabag_entry (id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
900 DROP TABLE __temp__wallabag_entry
901 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
902 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
903
904Migration 20170127093841
905------------------------
906
907MySQL
908^^^^^
909
910Migration up
911""""""""""""
912
913.. code-block:: sql
914
915 CREATE INDEX IDX_entry_starred ON wallabag_entry (is_starred)
916 CREATE INDEX IDX_entry_archived ON wallabag_entry (is_archived)
917
918Migration down
919""""""""""""""
920
921.. code-block:: sql
922
923 DROP INDEX IDX_entry_starred ON wallabag_entry
924 DROP INDEX IDX_entry_archived ON wallabag_entry
925
926PostgreSQL
927^^^^^^^^^^
928
929Migration up
930""""""""""""
931
932.. code-block:: sql
933
934 CREATE INDEX IDX_entry_starred ON wallabag_entry (is_starred)
935 CREATE INDEX IDX_entry_archived ON wallabag_entry (is_archived)
936
937Migration down
938""""""""""""""
939
940.. code-block:: sql
941
942 DROP INDEX IDX_entry_starred
943 DROP INDEX IDX_entry_archived
944
945SQLite
946^^^^^^
947
948Migration up
949""""""""""""
950
951.. code-block:: sql
952
953 DROP INDEX uid
954 DROP INDEX created_at
955 DROP INDEX IDX_F4D18282A76ED395
956 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status FROM wallabag_entry
957 DROP TABLE wallabag_entry
958 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uid VARCHAR(23) DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', http_status VARCHAR(3) DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
959 INSERT INTO wallabag_entry (id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status) SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status FROM __temp__wallabag_entry
960 DROP TABLE __temp__wallabag_entry
961 CREATE INDEX uid ON wallabag_entry (uid)
962 CREATE INDEX created_at ON wallabag_entry (created_at)
963 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
964 CREATE INDEX IDX_entry_starred ON wallabag_entry (is_starred)
965 CREATE INDEX IDX_entry_archived ON wallabag_entry (is_archived)
966
967Migration down
968""""""""""""""
969
970.. code-block:: sql
971
972 DROP INDEX IDX_entry_archived
973 DROP INDEX IDX_entry_starred
974 DROP INDEX IDX_F4D18282A76ED395
975 DROP INDEX created_at
976 DROP INDEX uid
977 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status FROM wallabag_entry
978 DROP TABLE wallabag_entry
979 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uid VARCHAR(23) DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', http_status VARCHAR(3) DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
980 INSERT INTO wallabag_entry (id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status) SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status FROM __temp__wallabag_entry
981 DROP TABLE __temp__wallabag_entry
982 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
983 CREATE INDEX created_at ON wallabag_entry (created_at)
984 CREATE INDEX uid ON wallabag_entry (uid)
diff --git a/docs/en/user/tags.rst b/docs/en/user/tags.rst
deleted file mode 100644
index 8ddc0f40..00000000
--- a/docs/en/user/tags.rst
+++ /dev/null
@@ -1,2 +0,0 @@
1Tags
2==== \ No newline at end of file
diff --git a/docs/en/user/upgrade.rst b/docs/en/user/upgrade.rst
deleted file mode 100644
index 3157684c..00000000
--- a/docs/en/user/upgrade.rst
+++ /dev/null
@@ -1,148 +0,0 @@
1==================================
2Upgrade your wallabag installation
3==================================
4
5You will find here different ways to upgrade your wallabag:
6
7- `from 2.1.x to 2.2.x <#upgrading-from-2-1-x-to-2-2-x>`_
8- `from 2.0.x to 2.1.1 <#upgrade-from-2-0-x-to-2-1-1>`_
9- `from 1.x to 2.x <#from-wallabag-1-x>`_
10
11*****************************
12Upgrading from 2.1.x to 2.2.x
13*****************************
14
15Upgrade on a dedicated web server
16=================================
17
18**From 2.1.x:**
19
20::
21
22 make update
23 php bin/console doctrine:migrations:migrate --no-interaction -e=prod
24
25**From 2.2.0:**
26
27::
28
29 make update
30
31Explanations about database migrations
32--------------------------------------
33
34During the update, we execute database migrations.
35
36All the database migrations are stored in ``app/DoctrineMigrations``. You can execute each migration individually:
37``bin/console doctrine:migrations:execute 20161001072726 --env=prod``.
38
39You can also cancel each migration individually: ``bin/console doctrine:migrations:execute 20161001072726 --down --env=prod``.
40
41Here is the migrations list for 2.1.x to 2.2.0 release:
42
43* ``20161001072726``: added foreign keys for account resetting
44* ``20161022134138``: converted database to ``utf8mb4`` encoding (for MySQL only)
45* ``20161024212538``: added ``user_id`` column on ``oauth2_clients`` to prevent users to delete API clients from other users
46* ``20161031132655``: added the internal setting to enable/disable downloading pictures
47* ``20161104073720``: added ``created_at`` index on ``entry`` table
48* ``20161106113822``: added ``action_mark_as_read`` field on ``config`` table
49* ``20161117071626``: added the internal setting to share articles to unmark.it
50* ``20161118134328``: added ``http_status`` field on ``entry`` table
51* ``20161122144743``: added the internal setting to enable/disable fetching articles with paywall
52* ``20161122203647``: dropped ``expired`` and ``credentials_expired`` fields on ``user`` table
53* ``20161128084725``: added ``list_mode`` field on ``config`` table
54* ``20161128131503``: dropped ``locked``, ``credentials_expire_at`` and ``expires_at`` fields on ``user`` table
55* ``20161214094402``: renamed ``uuid`` to ``uid`` on ``entry`` table
56* ``20161214094403``: added ``uid`` index on ``entry`` table
57* ``20170127093841``: added ``is_starred`` and ``is_archived`` indexes on ``entry`` table
58
59Upgrade on a shared hosting
60===========================
61
62Backup your ``app/config/parameters.yml`` file.
63
64Download the last release of wallabag:
65
66.. code-block:: bash
67
68 wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-package
69
70You will find the `md5 hash of the latest package on our website <https://static.wallabag.org/releases/>`_.
71
72Extract the archive in your wallabag folder and replace ``app/config/parameters.yml`` with yours.
73
74Please check that your ``app/config/parameters.yml`` contains all the required parameters. You can find `here a documentation about parameters <http://doc.wallabag.org/en/master/user/parameters.html>`_.
75
76If you use SQLite, you must also copy your ``data/`` folder inside the new installation.
77
78Empty ``var/cache`` folder.
79
80You must run some SQL queries to upgrade your database. We assume that the table prefix is ``wallabag_``. Don't forgete to backup your database before migrating.
81
82You may encounter issues with indexes names: if so, please change queries with the correct index name.
83
84`You can find all the queries here <http://doc.wallabag.org/en/master/user/query-upgrade-21-22.html>`_.
85
86***************************
87Upgrade from 2.0.x to 2.1.1
88***************************
89
90.. warning::
91
92 Before this migration, if you configured the Pocket import by adding your consumer key in Internal settings, please do a backup of it: you'll have to add it into the Config page after the upgrade.
93
94Upgrade on a dedicated web server
95=================================
96
97::
98
99 rm -rf var/cache/*
100 git fetch origin
101 git fetch --tags
102 git checkout 2.1.1 --force
103 SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
104 php bin/console doctrine:migrations:migrate --env=prod
105 php bin/console cache:clear --env=prod
106
107Upgrade on a shared hosting
108===========================
109
110Backup your ``app/config/parameters.yml`` file.
111
112Download the 2.1.1 release of wallabag:
113
114.. code-block:: bash
115
116 wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz
117
118(md5 hash of the 2.1.1 package: ``9584a3b60a2b2a4de87f536548caac93``)
119
120Extract the archive in your wallabag folder and replace ``app/config/parameters.yml`` with yours.
121
122Please check that your ``app/config/parameters.yml`` contains all the required parameters. You can find `here a documentation about parameters <http://doc.wallabag.org/en/master/user/parameters.html>`_.
123
124If you use SQLite, you must also copy your ``data/`` folder inside the new installation.
125
126Empty ``var/cache`` folder.
127
128You must run some SQL queries to upgrade your database. We assume that the table prefix is ``wallabag_`` and the database server is a MySQL one:
129
130.. code-block:: sql
131
132 ALTER TABLE `wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL;
133 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('share_public', '1', 'entry');
134 ALTER TABLE `wallabag_oauth2_clients` ADD name longtext COLLATE 'utf8_unicode_ci' DEFAULT NULL;
135 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_redis', '0', 'import');
136 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_rabbitmq', '0', 'import');
137 ALTER TABLE `wallabag_config` ADD `pocket_consumer_key` VARCHAR(255) DEFAULT NULL;
138 DELETE FROM `wallabag_craue_config_setting` WHERE `name` = 'pocket_consumer_key';
139
140*****************
141From wallabag 1.x
142*****************
143
144There is no automatic script to update from wallabag 1.x to wallabag 2.x. You need to:
145
146- export your data
147- install wallabag 2.x (`read the installation documentation <http://doc.wallabag.org/en/master/user/installation.html>`_ )
148- import data in this fresh installation (`read the import documentation <http://doc.wallabag.org/en/master/user/import.html>`_ )
diff --git a/docs/fr/conf.py b/docs/fr/conf.py
deleted file mode 100644
index 90489d83..00000000
--- a/docs/fr/conf.py
+++ /dev/null
@@ -1,55 +0,0 @@
1# -*- coding: utf-8 -*-
2#
3# wallabag documentation build configuration file, created by
4# sphinx-quickstart on Fri Oct 16 06:47:23 2015.
5
6import sys
7import os
8
9extensions = []
10templates_path = ['_templates']
11source_suffix = '.rst'
12master_doc = 'index'
13project = u'wallabag-fr'
14copyright = u'2013-2017, Nicolas Lœuillet - MIT Licence'
15version = '2.3.0'
16release = version
17exclude_patterns = ['_build']
18pygments_style = 'sphinx'
19html_theme = 'default'
20html_static_path = ['_static']
21htmlhelp_basename = 'wallabagfrdoc'
22
23latex_elements = {
24}
25
26latex_documents = [
27 ('index', 'wallabag-fr.tex', u'wallabag Documentation',
28 u'Nicolas Lœuillet', 'manual'),
29]
30
31man_pages = [
32 ('index', 'wallabagfr', u'wallabag Documentation',
33 [u'Nicolas Lœuillet'], 1)
34]
35
36texinfo_documents = [
37 ('index', 'wallabag', u'wallabag Documentation',
38 u'Nicolas Lœuillet', 'wallabag', 'wallabag is an opensource read-it-later.',
39 'Miscellaneous'),
40]
41
42##### Guzzle sphinx theme
43
44import guzzle_sphinx_theme
45html_translator_class = 'guzzle_sphinx_theme.HTMLTranslator'
46html_theme_path = guzzle_sphinx_theme.html_theme_path()
47html_theme = 'guzzle_sphinx_theme'
48
49# Custom sidebar templates, maps document names to template names.
50html_sidebars = {
51 '**': ['logo-text.html', 'globaltoc.html', 'searchbox.html']
52}
53
54# Register the theme as an extension to generate a sitemap.xml
55extensions.append("guzzle_sphinx_theme")
diff --git a/docs/fr/developer/api.rst b/docs/fr/developer/api.rst
deleted file mode 100644
index e7bb264f..00000000
--- a/docs/fr/developer/api.rst
+++ /dev/null
@@ -1,271 +0,0 @@
1Documentation de l'API
2======================
3
4Grâce à cette documentation, nous allons voir comment interagir avec l'API de wallabag.
5
6Pré-requis
7----------
8
9* wallabag fraichement installé et disponible à http://localhost:8000
10* ``httpie`` installé sur votre ordinateur (`voir le site du projet <https://github.com/jkbrzt/httpie>`__). Vous pouvez également adapter les commandes en utilisant curl ou wget.
11* toutes les méthodes de l'API documentées ici http://localhost:8000/api/doc
12
13Créer un nouveau client d'API
14-----------------------------
15
16Depuis votre wallabag, vous pouvez créer un nouveau client d'API à cette URL http://localhost:8000/developer/client/create.
17
18Vous devez renseigner l'URL de redirection de votre application et créer votre client. Si votre application est une application desktop, renseignez l'URL que vous souhaitez.
19
20Vous obtiendrez les informations suivantes :
21
22::
23
24 Client ID:
25
26 1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc
27
28 Client secret:
29
30 636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4
31
32
33Créer un jeton
34--------------
35
36Pour chaque appel d'API, vous aurez besoin d'un jeton. Créons-le avec la commande suivante (remplacez ``client_id``, ``client_secret``, ``username`` and ``password`` par leur valeur):
37
38::
39
40 http POST http://localhost:8000/oauth/v2/token \
41 grant_type=password \
42 client_id=1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc \
43 client_secret=636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4 \
44 username=wallabag \
45 password=wallabag
46
47Vous obtiendrez :
48
49::
50
51 HTTP/1.1 200 OK
52 Cache-Control: no-store, private
53 Connection: close
54 Content-Type: application/json
55 Date: Tue, 05 Apr 2016 08:44:33 GMT
56 Host: localhost:8000
57 Pragma: no-cache
58 X-Debug-Token: 19c8e0
59 X-Debug-Token-Link: /_profiler/19c8e0
60 X-Powered-By: PHP/7.0.4
61
62 {
63 "access_token": "ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA",
64 "expires_in": 3600,
65 "refresh_token": "OTNlZGE5OTJjNWQwYzc2NDI5ZGE5MDg3ZTNjNmNkYTY0ZWZhZDVhNDBkZTc1ZTNiMmQ0MjQ0OThlNTFjNTQyMQ",
66 "scope": null,
67 "token_type": "bearer"
68 }
69
70Nous allons utiliser la valeur de ``access_token`` dans nos prochains appels.
71
72Exemple cURL :
73
74::
75
76 curl -s "https://localhost:8000/oauth/v2/token?grant_type=password&client_id=1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc&client_secret=636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4&username=wallabag&password=wallabag"
77
78Récupérer les articles existants
79--------------------------------
80
81Documentation pour cette méthode : http://localhost:8000/api/doc#get--api-entries.{_format}
82
83Comme nous venons tout juste d'installer wallabag, nous n'aurons aucun résultat avec cette commande :
84
85::
86
87 http GET http://localhost:8000/api/entries.json \
88 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
89
90retournera :
91
92::
93
94 HTTP/1.1 200 OK
95 0: application/json
96 Cache-Control: no-cache
97 Connection: close
98 Content-Type: application/json
99 Date: Tue, 05 Apr 2016 08:51:32 GMT
100 Host: localhost:8000
101 Set-Cookie: PHPSESSID=nrogm748md610ovhu6j70c3q63; path=/; HttpOnly
102 X-Debug-Token: 4fbbc4
103 X-Debug-Token-Link: /_profiler/4fbbc4
104 X-Powered-By: PHP/7.0.4
105
106 {
107 "_embedded": {
108 "items": []
109 },
110 "_links": {
111 "first": {
112 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
113 },
114 "last": {
115 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
116 },
117 "self": {
118 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
119 }
120 },
121 "limit": 30,
122 "page": 1,
123 "pages": 1,
124 "total": 0
125 }
126
127Le tableau ``items`` est vide.
128
129Exemple cURL :
130
131::
132
133 curl --get "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
134
135Créer votre premier article
136---------------------------
137
138Documentation pour cette méthode : http://localhost:8000/api/doc#post--api-entries.{_format}
139
140::
141
142 http POST http://localhost:8000/api/entries.json \
143 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA" \
144 url="http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html"
145
146retournera :
147
148::
149
150 HTTP/1.1 200 OK
151 0: application/json
152 Cache-Control: no-cache
153 Connection: close
154 Content-Type: application/json
155 Date: Tue, 05 Apr 2016 09:07:54 GMT
156 Host: localhost:8000
157 Set-Cookie: PHPSESSID=bjie40ck72kp2pst3i71gf43a4; path=/; HttpOnly
158 X-Debug-Token: e01c51
159 X-Debug-Token-Link: /_profiler/e01c51
160 X-Powered-By: PHP/7.0.4
161
162 {
163 "_links": {
164 "self": {
165 "href": "/api/entries/1"
166 }
167 },
168 "content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readability, le logiciel Wallabag permet de mémoriser des articles pour les lire plus tard. Sa nouvelle version apporte une multitude de nouvelles fonctionnalités.</p><p>Si vous utilisez Firefox comme navigateur web, vous avez peut-être constaté l’arrivée d’<a href=\"http://www.numerama.com/magazine/33292-update-firefox.html\">une fonctionnalité intitulée Pocket</a>. Disponible autrefois sous la forme d’un module complémentaire, et sous un autre nom (Read it Later), elle est depuis le mois de juin 2015 directement incluse au sein de Firefox.</p>\n<p>Concrètement, Pocket sert à garder en mémoire des contenus que vous croisez au fil de la navigation, comme des articles de presse ou des vidéos, afin de pouvoir les consulter plus tard. Pocket fonctionne un peu comme un système de favoris, mais en bien plus élaboré grâce à ses options supplémentaires.</p>\n<p>Mais <a href=\"https://en.wikipedia.org/wiki/Pocket_%28application%29#Firefox_integration\" target=\"_blank\">Pocket fait polémique</a>, car il s’agit d’un projet propriétaire qui est intégré dans un logiciel libre. C’est pour cette raison que des utilisateurs ont choisi de se tourner vers d’autres solutions, comme <strong>Wallabag</strong>, qui est l’équivalent libre de Pocket et d’autres systèmes du même genre, comme Instapaper et Readability.</p>\n<p>Et justement, Wallabag évolue. C’est ce dimanche que la <a href=\"https://www.wallabag.org/blog/2016/04/03/wallabag-v2\" target=\"_blank\">version 2.0.0 du logiciel</a> a été publiée par l’équipe en  charge de son développement et celle-ci contient de nombreux changements par rapport aux moutures précédentes (la <a href=\"http://doc.wallabag.org/fr/v2/\" target=\"_blank\">documentation est traduite</a> en français), lui permettant d’apparaître comme une alternative à Pocket, Instapaper et Readability.</p>\n<p><img class=\"aligncenter size-medium wp-image-160439\" src=\"http://www.numerama.com/content/uploads/2016/04/homepage-680x347.png\" alt=\"homepage\" width=\"680\" height=\"347\" srcset=\"//www.numerama.com/content/uploads/2016/04/homepage-680x347.png 680w, //www.numerama.com/content/uploads/2016/04/homepage-1024x523.png 1024w, //www.numerama.com/content/uploads/2016/04/homepage-270x138.png 270w, //www.numerama.com/content/uploads/2016/04/homepage.png 1286w\" sizes=\"(max-width: 680px) 100vw, 680px\"/></p>\n<p>Parmi les principaux changements que l’on peut retenir avec cette nouvelle version, notons la possibilité d’écrire des annotations dans les articles mémorisés, de filtrer les contenus selon divers critères (temps de lecture, nom de domaine, date de création, statut…), d’assigner des mots-clés aux entrées, de modifier le titre des articles, le support des flux RSS ou encore le support de plusieurs langues dont le français.</p>\n<p>D’autres options sont également à signaler, comme l’aperçu d’un article mémorisé (si l’option est disponible), un guide de démarrage rapide pour les débutants, un outil d’export dans divers formats (PDF, JSON, EPUB, MOBI, XML, CSV et TXT) et, surtout, la possibilité de migrer vers Wallabag depuis Pocket, afin de convaincre les usagers de se lancer.</p>\n \n \n <footer class=\"clearfix\" readability=\"1\"><p class=\"source\">\n Crédit photo de la une : <a href=\"https://www.flickr.com/photos/bookgrl/2388310523/\">Laura Taylor</a>\n </p>\n \n <p><a href=\"http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html?&amp;show_reader_reports\" target=\"_blank\" rel=\"nofollow\">Signaler une erreur dans le texte</a></p>\n \n</footer> <section class=\"related-article\"><header><h3>Articles liés</h3>\n </header><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/magazine/34444-firefox-prepare-l-enterrement-des-vieux-plugins.html\" title=\"Firefox prépare l'enterrement des vieux plugins\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135\" srcset=\"&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w,&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox prépare l'enterrement des vieux plugins\"/></div>\n <h4> Firefox prépare l'enterrement des vieux plugins </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/131636-activer-navigation-privee-navigateur-web.html\" title=\"Comment activer la navigation privée sur son navigateur web\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135\" srcset=\"&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w,&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Comment activer la navigation privée sur son navigateur web\"/></div>\n <h4> Comment activer la navigation privée sur son navigateur web </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/144028-firefox-se-mettra-a-jour-regulierement.html\" title=\"Firefox se mettra à jour un peu moins régulièrement\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135\" srcset=\"&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w,&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox se mettra à jour un peu moins régulièrement\"/></div>\n <h4> Firefox se mettra à jour un peu moins régulièrement </h4>\n </a>\n <footer class=\"span12\">\n </footer></article>\n</section>\n",
169 "created_at": "2016-04-05T09:07:54+0000",
170 "domain_name": "www.numerama.com",
171 "id": 1,
172 "is_archived": 0,
173 "is_starred": 0,
174 "language": "fr-FR",
175 "mimetype": "text/html",
176 "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
177 "reading_time": 2,
178 "tags": [],
179 "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
180 "updated_at": "2016-04-05T09:07:54+0000",
181 "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html",
182 "user_email": "",
183 "user_id": 1,
184 "user_name": "wallabag"
185 }
186
187Maintenant, si vous exécutez la précédente commande (voir **Récupérer les articles existants**), vous obtiendrez quelque chose.
188
189Exemple cURL :
190
191::
192
193 curl "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA&url=http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html"
194
195Supprimer un article
196--------------------
197
198Documentation pour cette méthode : http://localhost:8000/api/doc#delete--api-entries-{entry}.{_format}
199
200::
201
202 http DELETE http://localhost:8000/api/entries/1.json \
203 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
204
205retournera :
206
207::
208
209 HTTP/1.1 200 OK
210 0: application/json
211 Cache-Control: no-cache
212 Connection: close
213 Content-Type: application/json
214 Date: Tue, 05 Apr 2016 09:19:07 GMT
215 Host: localhost:8000
216 Set-Cookie: PHPSESSID=jopgnfvmuc9a62b27sqm6iulr6; path=/; HttpOnly
217 X-Debug-Token: 887cef
218 X-Debug-Token-Link: /_profiler/887cef
219 X-Powered-By: PHP/7.0.4
220
221 {
222 "_links": {
223 "self": {
224 "href": "/api/entries/"
225 }
226 },
227 "annotations": [],
228 "content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readability, le logiciel Wallabag permet de mémoriser des articles pour les lire plus tard. Sa nouvelle version apporte une multitude de nouvelles fonctionnalités.</p><p>Si vous utilisez Firefox comme navigateur web, vous avez peut-être constaté l’arrivée d’<a href=\"http://www.numerama.com/magazine/33292-update-firefox.html\">une fonctionnalité intitulée Pocket</a>. Disponible autrefois sous la forme d’un module complémentaire, et sous un autre nom (Read it Later), elle est depuis le mois de juin 2015 directement incluse au sein de Firefox.</p>\n<p>Concrètement, Pocket sert à garder en mémoire des contenus que vous croisez au fil de la navigation, comme des articles de presse ou des vidéos, afin de pouvoir les consulter plus tard. Pocket fonctionne un peu comme un système de favoris, mais en bien plus élaboré grâce à ses options supplémentaires.</p>\n<p>Mais <a href=\"https://en.wikipedia.org/wiki/Pocket_%28application%29#Firefox_integration\" target=\"_blank\">Pocket fait polémique</a>, car il s’agit d’un projet propriétaire qui est intégré dans un logiciel libre. C’est pour cette raison que des utilisateurs ont choisi de se tourner vers d’autres solutions, comme <strong>Wallabag</strong>, qui est l’équivalent libre de Pocket et d’autres systèmes du même genre, comme Instapaper et Readability.</p>\n<p>Et justement, Wallabag évolue. C’est ce dimanche que la <a href=\"https://www.wallabag.org/blog/2016/04/03/wallabag-v2\" target=\"_blank\">version 2.0.0 du logiciel</a> a été publiée par l’équipe en  charge de son développement et celle-ci contient de nombreux changements par rapport aux moutures précédentes (la <a href=\"http://doc.wallabag.org/fr/v2/\" target=\"_blank\">documentation est traduite</a> en français), lui permettant d’apparaître comme une alternative à Pocket, Instapaper et Readability.</p>\n<p><img class=\"aligncenter size-medium wp-image-160439\" src=\"http://www.numerama.com/content/uploads/2016/04/homepage-680x347.png\" alt=\"homepage\" width=\"680\" height=\"347\" srcset=\"//www.numerama.com/content/uploads/2016/04/homepage-680x347.png 680w, //www.numerama.com/content/uploads/2016/04/homepage-1024x523.png 1024w, //www.numerama.com/content/uploads/2016/04/homepage-270x138.png 270w, //www.numerama.com/content/uploads/2016/04/homepage.png 1286w\" sizes=\"(max-width: 680px) 100vw, 680px\"/></p>\n<p>Parmi les principaux changements que l’on peut retenir avec cette nouvelle version, notons la possibilité d’écrire des annotations dans les articles mémorisés, de filtrer les contenus selon divers critères (temps de lecture, nom de domaine, date de création, statut…), d’assigner des mots-clés aux entrées, de modifier le titre des articles, le support des flux RSS ou encore le support de plusieurs langues dont le français.</p>\n<p>D’autres options sont également à signaler, comme l’aperçu d’un article mémorisé (si l’option est disponible), un guide de démarrage rapide pour les débutants, un outil d’export dans divers formats (PDF, JSON, EPUB, MOBI, XML, CSV et TXT) et, surtout, la possibilité de migrer vers Wallabag depuis Pocket, afin de convaincre les usagers de se lancer.</p>\n \n \n <footer class=\"clearfix\" readability=\"1\"><p class=\"source\">\n Crédit photo de la une : <a href=\"https://www.flickr.com/photos/bookgrl/2388310523/\">Laura Taylor</a>\n </p>\n \n <p><a href=\"http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html?&amp;show_reader_reports\" target=\"_blank\" rel=\"nofollow\">Signaler une erreur dans le texte</a></p>\n \n</footer> <section class=\"related-article\"><header><h3>Articles liés</h3>\n </header><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/magazine/34444-firefox-prepare-l-enterrement-des-vieux-plugins.html\" title=\"Firefox prépare l'enterrement des vieux plugins\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135\" srcset=\"&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w,&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox prépare l'enterrement des vieux plugins\"/></div>\n <h4> Firefox prépare l'enterrement des vieux plugins </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/131636-activer-navigation-privee-navigateur-web.html\" title=\"Comment activer la navigation privée sur son navigateur web\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135\" srcset=\"&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w,&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Comment activer la navigation privée sur son navigateur web\"/></div>\n <h4> Comment activer la navigation privée sur son navigateur web </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/144028-firefox-se-mettra-a-jour-regulierement.html\" title=\"Firefox se mettra à jour un peu moins régulièrement\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135\" srcset=\"&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w,&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox se mettra à jour un peu moins régulièrement\"/></div>\n <h4> Firefox se mettra à jour un peu moins régulièrement </h4>\n </a>\n <footer class=\"span12\">\n </footer></article>\n</section>\n",
229 "created_at": "2016-04-05T09:07:54+0000",
230 "domain_name": "www.numerama.com",
231 "is_archived": 0,
232 "is_starred": 0,
233 "language": "fr-FR",
234 "mimetype": "text/html",
235 "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
236 "reading_time": 2,
237 "tags": [],
238 "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
239 "updated_at": "2016-04-05T09:07:54+0000",
240 "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html",
241 "user_email": "",
242 "user_id": 1,
243 "user_name": "wallabag"
244 }
245
246Et si vous voulez voir la liste des articles existants (voir **Récupérer les articles existants**), le tableau sera vide.
247
248Exemple cURL :
249
250::
251
252 curl --request DELETE "https://localhost:8000/api/entries/1.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
253
254Autres méthodes
255---------------
256
257Nous n'écrirons pas d'exemples pour toutes les méthodes de l'API.
258
259Jetez un œil à la liste complète ici http://localhost:8000/api/doc pour connaitre chaque méthode.
260
261Ressources tierces
262------------------
263
264Certaines applications ou bibliothèques utilisent notre API. En voici une liste non exhaustive :
265
266- `Java wrapper for the wallabag API <https://github.com/di72nn/wallabag-api-wrapper>`_ par Dmitriy Bogdanov.
267- `.NET library for the wallabag v2 API <https://github.com/jlnostr/wallabag-api>`_ par Julian Oster.
268- `Python API for wallabag <https://github.com/foxmask/wallabag_api>`_ par FoxMaSk, pour son projet `Trigger Happy <https://blog.trigger-happy.eu/>`_.
269- `Un plugin <https://github.com/joshp23/ttrss-to-wallabag-v2>`_ conçu pour `Tiny Tiny RSS <https://tt-rss.org/gitlab/fox/tt-rss/wikis/home>`_ qui utilise l'API wallabag v2. Par Josh Panter.
270- `Golang wrapper for the wallabag API <https://github.com/Strubbl/wallabago>`_ par Strubbl, pour son projets `wallabag-stats graphe <https://github.com/Strubbl/wallabag-stats>`_ et l'outil de ligne de commande `wallabag-add-article <https://github.com/Strubbl/wallabag-add-article>`_.
271- Tool to automatically download Wallabag articles into your local computer or Kobo ebook reader `wallabako <https://gitlab.com/anarcat/wallabako>`_ par anarcat.
diff --git a/docs/fr/developer/asynchronous.rst b/docs/fr/developer/asynchronous.rst
deleted file mode 100644
index ff22daea..00000000
--- a/docs/fr/developer/asynchronous.rst
+++ /dev/null
@@ -1,160 +0,0 @@
1Tâches asynchrones
2==================
3
4Pour lancer des tâches asynchrones (utile pour des imports importants par exemple), nous pouvons utiliser RabbitMQ ou Redis.
5
6Installer RabbitMQ pour des tâches asynchrones
7----------------------------------------------
8
9Pour lancer des tâches asynchrones (utile pour des imports importants par exemple), nous pouvons utiliser RabbitMQ.
10
11Pré-requis
12^^^^^^^^^^
13
14Vous devez installer RabbitMQ sur votre serveur.
15
16Installation
17^^^^^^^^^^^^
18
19.. code:: bash
20
21 wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
22 apt-key add rabbitmq-signing-key-public.asc
23 apt-get update
24 apt-get install rabbitmq-server
25
26Configuration et démarrage
27^^^^^^^^^^^^^^^^^^^^^^^^^^
28
29.. code:: bash
30
31 rabbitmq-plugins enable rabbitmq_management # (useful to have a web interface, available at http://localhost:15672/ (guest/guest)
32 rabbitmq-server -detached
33
34Arrêter RabbitMQ
35^^^^^^^^^^^^^^^^
36
37.. code:: bash
38
39 rabbitmqctl stop
40
41Configurer RabbitMQ dans wallabag
42^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
43
44Modifiez votre fichier ``app/config/parameters.yml`` pour éditer la configuration RabbitMQ. Celle par défaut devrait convenir :
45
46.. code:: yaml
47
48 rabbitmq_host: localhost
49 rabbitmq_port: 5672
50 rabbitmq_user: guest
51 rabbitmq_password: guest
52 rabbitmq_prefetch_count: 10 # lire http://www.rabbitmq.com/consumer-prefetch.html
53
54Activer RabbitMQ dans wallabag
55^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
56
57Dans les paramètres internes, section **Import**, activez RabbitMQ (avec la valeur 1).
58
59Démarrer les clients RabbitMQ
60^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
61
62En fonction du service dont vous souhaitez importer vos données, vous devez activer un (ou plusieurs si vous souhaitez en supporter plusieurs) cron job :
63
64.. code:: bash
65
66 # for Pocket import
67 bin/console rabbitmq:consumer -e=prod import_pocket -w
68
69 # for Readability import
70 bin/console rabbitmq:consumer -e=prod import_readability -w
71
72 # for Instapaper import
73 bin/console rabbitmq:consumer -e=prod import_instapaper -w
74
75 # for wallabag v1 import
76 bin/console rabbitmq:consumer -e=prod import_wallabag_v1 -w
77
78 # for wallabag v2 import
79 bin/console rabbitmq:consumer -e=prod import_wallabag_v2 -w
80
81 # for Firefox import
82 bin/console rabbitmq:consumer -e=prod import_firefox -w
83
84 # for Chrome import
85 bin/console rabbitmq:consumer -e=prod import_chrome -w
86
87Installer Redis pour des tâches asynchrones
88-------------------------------------------
89
90Pour lancer des tâches asynchrones (utile pour des imports importants par exemple), nous pouvons utiliser Redis.
91
92Pré-requis
93^^^^^^^^^^
94
95Vous devez installer Redis sur votre serveur.
96
97Installation
98^^^^^^^^^^^^
99
100.. code:: bash
101
102 apt-get install redis-server
103
104Démarrage
105^^^^^^^^^
106
107Le serveur devrait déjà être démarré après l'installation. Si ce n'est pas le cas, vous pouvez le démarrer ainsi :
108
109.. code:: bash
110
111 redis-server
112
113Configurer Redis dans wallabag
114^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
115
116Modifiez votre fichier ``app/config/parameters.yml`` pour éditer la configuration Redis. Celle par défaut devrait convenir :
117
118.. code:: yaml
119
120 redis_host: localhost
121 redis_port: 6379
122
123Activer Redis dans wallabag
124^^^^^^^^^^^^^^^^^^^^^^^^^^^
125
126Dans les paramètres internes, section **Import**, activez Redis (avec la valeur 1).
127
128Démarrer les clients Redis
129^^^^^^^^^^^^^^^^^^^^^^^^^^
130
131En fonction du service dont vous souhaitez importer vos données, vous devez activer un (ou plusieurs si vous souhaitez en supporter plusieurs) cron job :
132
133.. code:: bash
134
135 # for Pocket import
136 bin/console wallabag:import:redis-worker -e=prod pocket -vv >> /path/to/wallabag/var/logs/redis-pocket.log
137
138 # for Readability import
139 bin/console wallabag:import:redis-worker -e=prod readability -vv >> /path/to/wallabag/var/logs/redis-readability.log
140
141 # for Instapaper import
142 bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-instapaper.log
143
144 # for wallabag v1 import
145 bin/console wallabag:import:redis-worker -e=prod wallabag_v1 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v1.log
146
147 # for wallabag v2 import
148 bin/console wallabag:import:redis-worker -e=prod wallabag_v2 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v2.log
149
150 # for Firefox import
151 bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log
152
153 # for Chrome import
154 bin/console wallabag:import:redis-worker -e=prod chrome -vv >> /path/to/wallabag/var/logs/redis-chrome.log
155
156Si vous souhaitez démarrer l'import pour quelques messages uniquement, vous pouvez spécifier cette valeur en paramètre (ici 12) et le client va s'arrêter après le 12ème message :
157
158.. code:: bash
159
160 bin/console wallabag:import:redis-worker -e=prod pocket -vv --maxIterations=12
diff --git a/docs/fr/developer/console_commands.rst b/docs/fr/developer/console_commands.rst
deleted file mode 100644
index 1b222b32..00000000
--- a/docs/fr/developer/console_commands.rst
+++ /dev/null
@@ -1,30 +0,0 @@
1Actions en ligne de commande
2============================
3
4wallabag a un certain nombre de commandes CLI pour effectuer des tâches. Vous pouvez lister toutes les commandes en exécutant `bin/console` dans le dossier d'installation de wallabag.
5
6Chaque commande a une aide correspondante accessible via `bin/console help %command%`.
7
8.. note::
9
10 Si vous êtes dans un environnement de production, souvenez-vous d'ajouter `-e prod` à chaque commande.
11
12Commandes notables
13------------------
14
15* `assets:install`: Peut-être utile si les *assets* sont manquants.
16* `cache:clear`: doit être exécuté après chaque mise à jour (appelé dans `make update`).
17* `doctrine:migrations:status`: Montre le statut de vos migrations de vos bases de données.
18* `fos:user:activate`: Activer manuellement un utilisateur.
19* `fos:user:change-password`: Changer le mot de passe pour un utilisateur.
20* `fos:user:create`: Créer un utilisateur.
21* `fos:user:deactivate`: Désactiver un utilisateur (non supprimé).
22* `fos:user:demote`: Supprimer un rôle d'un utilisateur, typiquement les droits d'administration.
23* `fos:user:promote`: Ajoute un rôle à un utilisateur, typiquement les droits d'administration.
24* `rabbitmq:*`: Peut-être utile si vous utilisez RabbitMQ.
25* `wallabag:clean-duplicates`: Supprime tous les articles dupliqués pour un utilisateur ou bien tous.
26* `wallabag:export`: Exporte tous les articles pour un utilisateur. Vous pouvez choisir le chemin du fichier exporté.
27* `wallabag:import`: Importe les articles en différents formats dans un compte utilisateur.
28* `wallabag:import:redis-worker`: Utile si vous utilisez Redis.
29* `wallabag:install`: (ré)Installer wallabag
30* `wallabag:tag:all`: Tagger tous les articles pour un utilisateur ou une utilisatrice en utilisant ses règles de tags automatiques.
diff --git a/docs/fr/developer/docker.rst b/docs/fr/developer/docker.rst
deleted file mode 100644
index 84724ed3..00000000
--- a/docs/fr/developer/docker.rst
+++ /dev/null
@@ -1,50 +0,0 @@
1Exécuter wallabag avec docker-compose
2=====================================
3
4Pour faire tourner votre propre instance de développement de wallabag, vous pouvez
5utiliser les fichiers docker pré-configurés.
6
7Pré-requis
8----------
9
10Soyez sur d'avoir `Docker
11<https://docs.docker.com/installation/ubuntulinux/>`__ et `Docker
12Compose <https://docs.docker.com/compose/install/>`__ installés et à jour sur votre
13système.
14
15Changer de SGBD
16---------------
17
18Par défaut, wallabag fonctionne avec une base de données SQLite.
19Depuis que wallabag supporte Postgresql et MySQL, les conteneurs Docker sont
20aussi disponibles pour ces SGBD.
21
22Dans ``docker-compose.yml``, en fonction de votre SGBD, décommentez :
23
24- la définition du conteneur (le block racine ``postgres`` ou ``mariadb``)
25- le conteneur ``links`` dans le conteneur ``php``
26- le conteneur ``env_file`` dans le conteneur ``php``
27
28Pour que les commandes Symfony (par exemple ``wallabag:install``) continuent de
29fonctionner sur votre système, vous devez aussi :
30
31- charger le bon fichier d'environnement dans votre ligne de commandes (``source``),
32pour que les variables comme ``SYMFONY__ENV__DATABASE_HOST`` existent.
33- ajouter une ligne ``127.0.0.1 rdbms`` dans votre fichier ``hosts``
34
35Exécuter wallabag
36-----------------
37
38#. Forker et cloner le projet
39#. Editer ``app/config/parameters.yml`` pour remplacer les propriétés ``database_*``
40 par les lignes commentées (celles avec des valeurs préfixées par ``env.``)
41#. ``composer install`` pour installer les dépendances
42#. ``php bin/console wallabag:install`` pour créer le schéma de la BDD
43#. ``docker-compose up`` pour démarrer les conteneurs
44#. Enfin, se rendre sur http://localhost:8080/ pour accéder à une installation
45 tout propre de wallabag.
46
47Il est possible de rencontrer des problèmes de droits UNIX, de mauvais chemins
48dans les fichiers de cache, etc…
49Les opérations comme vider le cache ou restaurer les permissions des fichiers
50peuvent être fréquemment nécessaires, n'ayez crainte !
diff --git a/docs/fr/developer/documentation.rst b/docs/fr/developer/documentation.rst
deleted file mode 100644
index 0fbe5626..00000000
--- a/docs/fr/developer/documentation.rst
+++ /dev/null
@@ -1,12 +0,0 @@
1Contribuer à cette documentation
2================================
3
4Les sources de notre documentation sont ici https://github.com/wallabag/wallabag/tree/master/docs
5
6Nous utilisons `ReadTheDocs
7<https://readthedocs.org>`__ pour la générer.
8
9Les pages sont écrites au format `Restructured Text
10<https://fr.wikipedia.org/wiki/ReStructuredText>`__. Vous pouvez utiliser des outils en ligne comme http://rst.aaroniles.net/ ou http://rst.ninjs.org/ pour prévisualiser vos articles.
11
12Si vous créez une nouvelle page, n'oubliez pas d'éditer le fichier `index.rst <https://raw.githubusercontent.com/wallabag/wallabag/master/docs/en/index.rst>`__ pour ajouter un lien dans la barre latérale. \ No newline at end of file
diff --git a/docs/fr/developer/front-end.rst b/docs/fr/developer/front-end.rst
deleted file mode 100644
index 714df08b..00000000
--- a/docs/fr/developer/front-end.rst
+++ /dev/null
@@ -1,33 +0,0 @@
1Conseils pour développeurs front-end
2====================================
3
4Depuis la version 2.3, wallabag utilise webpack pour générer ses assets.
5
6Mode développeur
7----------------
8
9Si le serveur fonctionne en mode dev, vous devez lancer la commande ``yarn run build:dev`` pour générer les fichiers de sortie javascript pour chaque thème. Ils sont nommés ``%theme%.dev.js`` et sont ignorés par git. Vous devez relancer la commande ``yarn run build:dev`` pour chaque changement que vous effectuez dans les fichiers assets (js, css, images, polices,...).
10
11Live reload
12-----------
13
14Webpack apporte le support pour la fonctionnalité de live reload, ce qui signifie que vous n'avez pas besoin de regénérer manuellement le fichier de sortie javascript ni de rafraichir la page dans votre navigateur. Les changements sont appliqués automatiquement. Vous avez juste besoin de mettre le paramètre ``use_webpack_dev_server`` à ``true`` dans ``app/config/config.yml`` et de lancer ``yarn run watch`` pour que cela soit actif.
15
16.. note::
17
18 N'oubliez pas de remettre ``use_webpack_dev_server`` à ``false`` lorsque vous n'utilisez pas la fonctionnalité de live reload.
19
20Production builds
21-----------------
22
23Lorsque vous committez vos changements, vous devez les compiler dans un environnement de production en exécutant ``yarn run build:prod``. Cela compilera tous les assets nécessaires pour wallabag. Pour tester que cela fonctionne proprement, vous devrez avoir un serveur en mode de production, par exemple avec ``bin/console server:run -e=prod``.
24
25.. note::
26
27 N'oubliez pas de générer des fichiers en mode production avant de committer !
28
29
30Code style
31----------
32
33Le style de code est vérifié par deux outils : stylelint pour le (S)CSS et eslint pour le JS. La configuration ESlint config est basée sur le preset Airbnb base.
diff --git a/docs/fr/developer/paywall.rst b/docs/fr/developer/paywall.rst
deleted file mode 100644
index ddba839a..00000000
--- a/docs/fr/developer/paywall.rst
+++ /dev/null
@@ -1,65 +0,0 @@
1Articles derrière un paywall
2============================
3
4wallabag peut récupérer le contenu des articles des sites qui utilisent un système de paiement.
5
6Activer l'authentification pour les paywall
7-------------------------------------------
8
9Dans les paramètres internes, en tant qu'administrateur de wallabag, section **Article**, activez l'authentification pour les articles derrière un paywall (avec la valeur 1).
10
11Configurer les accès dans wallabag
12----------------------------------
13
14Éditez le fichier ``app/config/parameters.yml`` pour modifier les accès aux sites avec paywall. Par exemple, sous Ubuntu :
15
16``sudo -u www-data nano /var/www/html/wallabag/app/config/parameters.yml``
17
18Voici un exemple pour certains sites (attention, ne pas utiliser la touche "tab", seulement des espaces) :
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 Ces accès seront partagés entre chaque utilisateur de votre instance wallabag.
29
30Fichiers de configuration pour parser les articles
31--------------------------------------------------
32
33.. note::
34
35 Lisez `cette documentation <http://doc.wallabag.org/fr/master/user/errors_during_fetching.html>`_ pour en savoir plus sur ces fichiers de configuration, qui se trouvent dans le répertoire ``vendor/j0k3r/graby-site-config/``. Pour la majorité des sites, ce fichier est déjà configuré : les instructions qui suivent concernent seulement les sites non encore configurés.
36
37Chaque fichier de configuration doit être enrichi en ajoutant ``requires_login``, ``login_uri``,
38``login_username_field``, ``login_password_field`` et ``not_logged_in_xpath``.
39
40Attention, le formulaire de connexion doit se trouver dans le contenu de la page lors du chargement de celle-ci.
41Il sera impossible pour wallabag de se connecter à un site dont le formulaire de connexion est chargé après coup (en ajax par exemple).
42
43``login_uri`` correspond à l'URL à laquelle le formulaire est soumis (attribut ``action`` du formulaire).
44``login_username_field`` correspond à l'attribut ``name`` du champ de l'identifiant.
45``login_password_field`` correspond à l'attribut ``name`` du champ du mot de passe.
46
47Par exemple :
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
62Dernière étape : nettoyer le cache
63----------------------------------
64
65Il est nécessaire de nettoyer le cache de wallabag avec la commande suivante (ici sous Ubuntu) : ``sudo -u www-data php /var/www/html/wallabag/bin/console cache:clear -e=prod``
diff --git a/docs/fr/developer/testsuite.rst b/docs/fr/developer/testsuite.rst
deleted file mode 100644
index bd5c68c6..00000000
--- a/docs/fr/developer/testsuite.rst
+++ /dev/null
@@ -1,10 +0,0 @@
1Suite de tests
2==============
3
4Pour assurer la qualité du développement de wallabag, nous avons écrit des tests avec `PHPUnit <https://phpunit.de>`_.
5
6Si vous contribuez au projet (en traduisant l'application, en corrigeant des bugs ou en ajoutant une nouvelle fonctionnalité), merci d'écrire vos propres tests.
7
8Pour lancer la suite de tests de wallabag, vous devez installer `ant <http://ant.apache.org>`_.
9
10Ensuite, exécutez la commande ``make test``.
diff --git a/docs/fr/developer/translate.rst b/docs/fr/developer/translate.rst
deleted file mode 100644
index 870d1c20..00000000
--- a/docs/fr/developer/translate.rst
+++ /dev/null
@@ -1,62 +0,0 @@
1Traduire wallabag
2=================
3
4L'application web
5-----------------
6
7Fichiers de traductions
8~~~~~~~~~~~~~~~~~~~~~~~
9
10.. note::
11
12 Comme wallabag est principalement dévelopée par une équipe française, c'est
13 cette traduction qui est considérée comme la plus récente. Merci de vous baser
14 sur celle-ci pour créer votre traduction.
15
16Les principaux fichiers de traduction se trouvent ici : https://github.com/wallabag/wallabag/tree/master/src/Wallabag/CoreBundle/Resources/translations.
17
18Vous devez créer les fichiers ``messages.CODE.yml`` et ``validators.CODE.yml``,
19où CODE est le code ISO 639-1 de votre langue (`cf wikipedia <https://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-1>`__).
20
21Autres fichiers à traduire :
22
23- https://github.com/wallabag/wallabag/tree/master/app/Resources/CraueConfigBundle/translations.
24- https://github.com/wallabag/wallabag/tree/master/src/Wallabag/UserBundle/Resources/translations.
25
26Vous devez créer les fichiers ``LE_FICHIER_DE_TRADUCTION.CODE.yml``.
27
28Fichier de configuration
29~~~~~~~~~~~~~~~~~~~~~~~~
30
31Vous devez éditer `app/config/config.yml
32<https://github.com/wallabag/wallabag/blob/master/app/config/config.yml>`__ pour
33afficher votre langue dans la page Configuration de wallabag (pour permettre aux
34utilisateurs de choisir cette nouvelle traduction).
35
36Dans la section ``wallabag_core.languages``, vous devez ajouter une nouvelle ligne
37avec votre traduction. Par exemple :
38
39::
40
41 wallabag_core:
42 ...
43 languages:
44 en: 'English'
45 fr: 'Français'
46
47
48Pour la première colonne (``en``, ``fr``, etc.), vous devez ajouter le code ISO 639-1
49de votre langue (voir ci-dessus).
50
51Pour la seconde colonne, c'est juste le nom de votre langue.
52
53Documentation de wallabag
54-------------------------
55
56.. note::
57
58 Contrairement à l'application, la langue principale de la documentation est l'anglais
59
60Les fichiers de documentation se trouvent ici : https://github.com/wallabag/wallabag/tree/master/docs
61
62Vous devez respecter la structure du dossier ``en`` quand vous crééz votre traduction.
diff --git a/docs/fr/index.rst b/docs/fr/index.rst
deleted file mode 100644
index 99aaa35a..00000000
--- a/docs/fr/index.rst
+++ /dev/null
@@ -1,54 +0,0 @@
1Documentation de wallabag
2=========================
3
4.. image:: ../img/wallabag.png
5 :alt: wallabag logo
6 :align: center
7
8**wallabag** est une application de lecture différée : elle permet
9simplement d’archiver une page web en ne conservant que le contenu. Les
10éléments superflus (menu, publicité, etc.) sont supprimés.
11
12La documentation principale de cette application est découpée en plusieurs sections :
13
14* :ref:`user-docs`
15* :ref:`dev-docs`
16
17La documentation est disponible dans d'autres langues :
18
19* `Documentation in english <http://doc.wallabag.org/en/master/>`_
20* `Deutsch Dokumentation <http://doc.wallabag.org/de/master/>`_
21
22.. _user-docs:
23
24.. toctree::
25 :maxdepth: 2
26 :caption: Documentation utilisateur
27
28 user/installation
29 user/upgrade
30 user/configuration
31 user/import
32 user/create_account
33 user/articles
34 user/errors_during_fetching
35 user/filters
36 user/tags
37 user/configuring_mobile
38 user/android
39 user/parameters
40 user/backup
41 user/faq
42
43.. _dev-docs:
44
45.. toctree::
46 :maxdepth: 2
47 :caption: Documentation développeur
48
49 developer/api
50 developer/docker
51 developer/paywall
52 developer/documentation
53 developer/translate
54 developer/asynchronous
diff --git a/docs/fr/requirements.txt b/docs/fr/requirements.txt
deleted file mode 100644
index 06fc8973..00000000
--- a/docs/fr/requirements.txt
+++ /dev/null
@@ -1,2 +0,0 @@
1Sphinx>=1.3.0,<1.4.0
2guzzle_sphinx_theme>=0.7.0,<0.8.0
diff --git a/docs/fr/user/android.rst b/docs/fr/user/android.rst
deleted file mode 100644
index 91501eea..00000000
--- a/docs/fr/user/android.rst
+++ /dev/null
@@ -1,96 +0,0 @@
1Application Android
2===================
3
4But de ce document
5------------------
6
7Ce document explique comment configurer votre application Android pour qu'elle fonctionne avec votre instance de wallabag. Il n'y a pas de différence dans cette procédure entre wallabag v1 et wallabag v2.
8
9Étapes pour configurer votre application
10----------------------------------------
11
12Quand vous démarrez l'application pour la première fois, vous voyez le message de bienvenue, où il vous est d'abord conseillé de configurer l'application avec votre instance de wallabag.
13
14.. image:: ../../img/user/android_welcome_screen.en.png
15 :alt: Écran de bienvenue
16 :align: center
17
18Vous devez confirmer le message et vous serez redirigé vers l'écran de configuration.
19
20.. image:: ../../img/user/android_configuration_screen.en.png
21 :alt: Écran de configuration
22 :align: center
23
24Saisissez vos données wallabag. Vous devez entrer l'adresse de votre instance de wallabag. **Il ne faut pas que cette adresse se termine par un slash**. Ajoutez également vos identifiants wallabag dans les champs correspondants.
25
26.. image:: ../../img/user/android_configuration_filled_in.en.png
27 :alt: Paramètres remplis
28 :align: center
29
30Après cet écran, appuyez sur le bouton de test de connexion et attendez que le test se termine.
31
32.. image:: ../../img/user/android_configuration_connection_test.en.png
33 :alt: Test de connexion
34 :align: center
35
36Le test de connexion devrait se terminer avec succès. Si ce n'est pas le cas, vous devez résoudre ça avant de continuer.
37
38.. image:: ../../img/user/android_configuration_connection_test_success.en.png
39 :alt: Test de connexion réussi
40 :align: center
41
42Après le test de connexion réussi, vous pouvez cliquer sur le bouton pour récupérer vos informations de flux (feed credentials). L'application essaie maintenant de se connecter à wallabag pour récupérer votre identifiant et votre jeton pour les flux RSS.
43
44.. image:: ../../img/user/android_configuration_get_feed_credentials.en.png
45 :alt: Récupération des informations de flux
46 :align: center
47
48Quand le processus est terminé avec succès, vous verrez une notification comme quoi l'identifiant et le jeton ont été remplis correctement.
49
50.. image:: ../../img/user/android_configuration_feed_credentials_automatically_filled_in.en.png
51 :alt: Récupération des informations correcte
52 :align: center
53
54Maintenant, vous devez naviguer jusqu'en bas de l'écran des paramètres. Bien sur, vous pouvez régler les paramètres comme vous le souhaitez. Enregistrez la configuration.
55
56.. image:: ../../img/user/android_configuration_scroll_bottom.en.png
57 :alt: Bottom of the settings screen
58 :align: center
59
60Après avoir enregistré les paramètres, vous vous retrouvez face à l'écran suivant. L'application vous propose de démarrer une synchronisation pour récupérer vos articles. Il est recommandé de confirmer cette action.
61
62.. image:: ../../img/user/android_configuration_saved_feed_update.en.png
63 :alt: Settings saved the first time
64 :align: center
65
66Une fois la synchronisation terminée avec succès, vous pouvez lire vos articles.
67
68.. image:: ../../img/user/android_unread_feed_synced.en.png
69 :alt: Filled article list cause feeds successfully synchronized
70 :align: center
71
72Limitations connues
73-------------------
74
75Double authentification (2FA)
76~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77
78Actuellement, l'application Android ne supporte la double authentification. Vous devez la désactiver pour que l'application fonctionne correctement.
79
80Limiter le nombre d'articles avec wallabag v2
81~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
82
83Dans votre instance de wallabag, vous pouvez configurer combien d'articles se trouvent dans les flux RSS. Cette option n'existe pas dans wallabag v1, où tous les articles se retrouvent donc dans le flux RSS. So if you set the amount of articles being displayed greater than the number of items being content of your RSS feed, you will only see the number of items in your RSS feed.
84
85Cryptage SSL/TLS
86~~~~~~~~~~~~~~~~
87
88Si vous souhaitez accéder à votre instance de wallabag via HTTPS, vous devez le définir dans les paramètres. Surtout si votre URL HTTP redirige vers l'URL HTTPS. Actuellement, l'application ne gère pas cette redirection correctement.
89
90Références
91----------
92
93- `Code source de l'application Android <https://github.com/wallabag/android-app>`_
94- `Télécharger l'application Android sur F-Droid <https://f-droid.org/repository/browse/?fdfilter=wallabag&fdid=fr.gaulupeau.apps.InThePoche>`_
95- `Télécharger l'application Android sur Google Play <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche>`_
96
diff --git a/docs/fr/user/articles.rst b/docs/fr/user/articles.rst
deleted file mode 100644
index cefc3c10..00000000
--- a/docs/fr/user/articles.rst
+++ /dev/null
@@ -1,124 +0,0 @@
1Articles
2========
3
4Sauvegardez votre premier article
5---------------------------------
6
7La fonctionnalité principale de wallabag est de sauvegarder des articles.
8Vous avez plusieurs manières de le faire.
9
10.. note::
11
12 Un guide de démarrage s'affichera dans l'application jusqu'à ce que vous
13 enregistriez votre premier article.
14
15En utilisant le bookmarklet
16^^^^^^^^^^^^^^^^^^^^^^^^^^^
17
18Sur la page ``Aide``, vous avez un onglet ``Bookmarklet``. Glissez/déposez le lien ``bag it!``
19dans votre barre de favoris de votre navigateur.
20
21Maintenant, à chaque fois que vous lisez un article et que vous souhaitez le sauvegarder,
22cliquez sur le lien ``bag it!`` dans votre barre de favoris. L'article est enregistré.
23
24En utilisant le formulaire classique
25^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
26
27Dans la barre haut de wallabag, vous avez trois icônes. Avec la première icône,
28un signe plus, vous pouvez facilement ajouter un nouvel article.
29
30.. image:: ../../img/user/topbar.png
31 :alt: Barre supérieure
32 :align: center
33
34Cliquez dessus pour afficher un nouveau champ, collez-y l'URL de l'article et appuyez
35sur la touche ``Entrée``. L'article est enregistré.
36
37En utilisant l'extension de votre navigateur
38^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
39
40Firefox
41"""""""
42
43Vous pouvez télécharger `l'extension Firefox ici <https://addons.mozilla.org/firefox/addon/wallabagger/>`_.
44
45Chrome
46""""""
47
48Vous pouvez télécharger `l'extension Chrome ici <https://chrome.google.com/webstore/detail/wallabagger/gbmgphmejlcoihgedabhgjdkcahacjlj?hl=fr>`_.
49
50En utilisant l'application de votre smartphone
51^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
52
53Android
54"""""""
55
56Vous pouvez télécharger `l'application Android ici <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche>`_ ou sur `F-Droid <https://f-droid.org/repository/browse/?fdid=fr.gaulupeau.apps.InThePoche>`_.
57
58Windows Phone
59~~~~~~~~~~~~~
60
61Vous pouvez télécharger `l'application Windows Phone ici <https://www.microsoft.com/store/apps/9nblggh5x3p6>`_.
62
63Téléchargez vos articles
64------------------------
65
66Vous pouvez télécharger chaque article dans plusieurs formats : ePUB, MOBI, PDF, XML, JSON, CSV.
67
68Lorsque vous lisez un article, cliquez sur cette icône dans la barre latérale :
69
70.. image:: ../../img/user/download_article.png
71 :alt: Télécharger l'article
72 :align: center
73
74Vous pouvez aussi télécharger une catégorie (non lus, favoris, lus) dans ces formats.
75Par exemple, dans la vue **Non lus**, cliquez sur cette icône dans la barre supérieure :
76
77.. image:: ../../img/user/download_articles.png
78 :alt: Télécharger l'article
79 :align: center
80
81Partagez vos articles
82---------------------
83
84Quand vous lisez un article, vous pouvez le partager. Cliquez sur le bouton de partage :
85
86.. image:: ../../img/user/share.png
87 :alt: partager un article
88 :align: center
89
90Vous pouvez maintenant le partager :
91
92- avec une URL publique (vous obtiendrez une vue allégée de l'article)
93- avec un tweet
94- dans votre Shaarli
95- dans votre Scuttle
96- avec un message dans Diaspora*
97- sur Carrot
98- avec un email
99
100Annotez vos articles
101--------------------
102
103Sur chaque article que vous lisez, vous pouvez écrire des annotations. Puisqu'une image vaut mieux qu'un long discours,
104voici ce que ça donne.
105
106Sélectionnez la zone du texte que vous souhaitez annoter et cliquez sur le crayon :
107
108.. image:: ../../img/user/annotations_1.png
109 :alt: Sélectionnez votre texte
110 :align: center
111
112Ensuite, écrivez votre annotation :
113
114.. image:: ../../img/user/annotations_2.png
115 :alt: Écrivez votre annotation
116 :align: center
117
118Le texte est maintenant surligné et vous pouvez lire le annotation en le survolant avec votre souris.
119
120.. image:: ../../img/user/annotations_3.png
121 :alt: Lisez votre annotation
122 :align: center
123
124Vous pouvez créer autant de annotations que vous le souhaitez.
diff --git a/docs/fr/user/backup.rst b/docs/fr/user/backup.rst
deleted file mode 100644
index f8cf87ee..00000000
--- a/docs/fr/user/backup.rst
+++ /dev/null
@@ -1,26 +0,0 @@
1Sauvegarde de wallabag
2======================
3
4Parce que des fois vous faites des erreurs avec votre installation de wallabag et vous perdez des données ou parce que vous souhaitez migrer votre installation sur un autre serveur, vous souhaitez faire une sauvegarde de vos données.
5Cette documentation décrit ce que vous devez sauvegarder.
6
7Configuration
8-------------
9wallabag stocke quelques paramètres (comme la configuration SMTP ou les infos de bases de données) dans le fichier `app/config/parameters.yml`.
10
11Base de données
12---------------
13Comme wallabag supporte différentes sortes de bases de données, la manière de sauvegarder dépend du type de base de données que vous utilisez, donc vous devez vous en référez à la documentation correspondante.
14
15Quelques exemples :
16
17- MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html
18- PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html
19
20SQLite
21~~~~~~
22Pour sauvegarder une base SQLite, vous devez juste copier le répertoire `data/db` de votre installation wallabag.
23
24Images
25------
26Les images sauvegardées par wallabag sont stockées dans `web/assets/images` (le stockage des images sera implémenté dans wallabag 2.2).
diff --git a/docs/fr/user/configuration.rst b/docs/fr/user/configuration.rst
deleted file mode 100644
index 0f5d4375..00000000
--- a/docs/fr/user/configuration.rst
+++ /dev/null
@@ -1,134 +0,0 @@
1Configuration
2=============
3
4Maintenant que vous êtes connecté, il est temps de configurer votre compte.
5
6Cliquez sur le menu ``Configuration``. Vous avez accès à 5 onglets :
7``Paramètres``, ``RSS``, ``Mon compte``, ``Mot de passe`` and ``Règles de tag automatiques``.
8
9Paramètres
10----------
11
12Thème
13~~~~~
14
15L'affichage de wallabag est personnalisable. C'est ici que vous choisissez le thème
16que vous préférez. Le thème par défaut est ``Material``, c'est celui
17qui est utilisé dans les captures d'écran de la documentation.
18
19Nombre d'articles par page
20~~~~~~~~~~~~~~~~~~~~~~~~~~
21
22Vous pouvez définir le nombre d'articles affichés sur chaque page.
23
24Vitesse de lecture
25~~~~~~~~~~~~~~~~~~
26
27wallabag calcule une durée de lecture pour chaque article. Vous pouvez définir ici, grâce à cette liste déroulante, si vous lisez plus ou moins vite. wallabag recalculera la durée de lecture de chaque article.
28
29Où souhaitez-vous être redirigé après avoir marqué un article comme lu ?
30~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31
32Chaque fois que vous ferez certaines actions (après avoir marqué un article comme lu / comme favori,
33après avoir supprimé un article, après avoir retiré un tag d'un article), vous pouvez être redirigé :
34
35- sur la page d'accueil
36- sur la page courante
37
38Langue
39~~~~~~
40
41Vous pouvez définir la langue de l'interface de wallabag.
42
43RSS
44---
45
46wallabag propose un flux RSS pour chaque statut d'article : non lus, favoris et lus.
47
48Tout d'abord, vous devez vous créer un jeton personnel : cliquez sur ``Créez votre jeton``.
49Il est possible de regénérer votre jeton en cliquant sur ``Réinitialisez votre jeton``.
50
51Vous avez maintenant trois liens, un par statut : ajoutez-les dans votre agrégateur de flux RSS préféré.
52
53Vous pouvez aussi définir combien d'articles vous souhaitez dans vos flux RSS
54(50 est la valeur par défaut).
55
56Une pagination est aussi disponible pour ces flux. Il suffit de rajouter ``?page=2`` pour aller à la seconde page, par exemple.
57Cette pagination suit `la RFC <https://tools.ietf.org/html/rfc5005#page-4>`_, ce qui signifie que vous trouverez la page suivante (``next``), précédente (``previous``) et la dernière (``last``) dans la balise `<channel>` de chaque flux RSS.
58
59Mon compte
60----------
61
62Vous pouvez ici modifier votre nom, votre adresse email et activer la ``Double authentification``.
63
64Si l'instance de wallabag compte plus d'un utilisateur actif, vous pouvez supprimer ici votre compte. **Attention, nous supprimons toutes vos données**.
65
66Double authentification (2FA)
67~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68
69 L'authentification à deux facteurs (également appelée 2FA) est une technologie brevetée en 1984
70 qui fournit l'identification des utilisateurs au moyen de la combinaison de deux composants différents .
71
72 https://fr.wikipedia.org/wiki/Authentification_forte
73
74**Attention**: l'activation de la 2FA depuis l'interface de configuration n'est possible que si elle a au préalable été autorisée dans `app/config/parameters.yml` en passant la propriété *twofactor_auth* à `true` (n'oubliez pas d'exécuter `php bin/console cache:clear -e=prod` après modification).
75
76Si vous activez 2FA, à chaque tentative de connexion à wallabag, vous recevrez
77un code par email. Vous devez renseigner ce code dans le formulaire suivant :
78
79.. image:: ../../img/user/2FA_form.png
80 :alt: Authentification à deux facteurs
81 :align: center
82
83Si vous ne souhaitez pas recevoir un code à chaque fois que vous vous connectez,
84vous pouvez cocher la case ``Je suis sur un ordinateur de confiance`` : wallabag
85se souviendra de vous pour 15 jours.
86
87Mot de passe
88------------
89
90Vous pouvez changer de mot de passe ici (8 caractères minimum).
91
92Règles de tag automatiques
93--------------------------
94
95Si vous voulez automatiquement assigner un tag à de nouveaux articles en fonction de
96certains critères, cette partie de la configuration est pour vous.
97
98Que veut dire « règles de tag automatiques » ?
99~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
100
101Ce sont des règles utilisées par wallabag pour automatiquement assigner un tag
102à un nouvel article.
103À chaque fois que vous ajoutez un nouvel article, toutes les règles sont utilisées pour ajouter
104les tags que vous avez configurés, vous épargnant ainsi la peine de classer manuellement vos articles.
105
106Comment les utiliser ?
107~~~~~~~~~~~~~~~~~~~~~~
108
109Admettons que vous voulez ajouter comme tag *« lecture rapide »* quand le temps de lecture
110d'un article est inférieur à 3 minutes.
111Dans ce cas, vous devez ajouter « readingTime <= 3 » dans le champ **Règle** et *« lecture rapide »* dans le champ **Tags**.
112Plusieurs tags peuvent être ajoutés en même temps en les séparant par une virgule : *« lecture rapide, à lire »*.
113Des règles complexes peuvent être écrites en utilisant les opérateurs pré-définis :
114if *« readingTime >= 5 AND domainName = "github.com" »* then tag as *« long reading, github »*.
115
116Quels variables et opérateurs puis-je utiliser pour écrire mes règles ?
117~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
118
119Les variables et opérateurs suivants peuvent être utilisés lors de la création de vos règles (attention, pour certaines valeurs, vous devez ajouter des guillemets, par exemple ``language = "en"``) :
120
121=========== ============================================== ========== ==========
122Variable Sens Opérateur Sens
123----------- ---------------------------------------------- ---------- ----------
124title Titre de l'article <= Inférieur ou égal à …
125url URL de l'article < Strictement inférieur à …
126isArchived Si l'article est archivé ou non => Supérieur ou égal à …
127isStarred Si l'article est en favori ou non > Strictement supérieur à …
128content Le contenu de l'article = Égal à …
129language La langue de l'article != Différent de …
130mimetype The type MIME de l'article OR Telle règle ou telle autre règle
131readingTime Le temps de lecture de l'article, en minutes AND Telle règle et telle règle
132domainName Le nom de domaine de l'article matches Contient telle chaîne de caractère (insensible à la casse). Exemple : title matches "football"
133 notmaches Ne contient pas telle chaîne de caractère (insensible à la casse). Exemple : title notmatches "football"
134=========== ============================================== ========== ==========
diff --git a/docs/fr/user/configuring_mobile.rst b/docs/fr/user/configuring_mobile.rst
deleted file mode 100644
index 4036c354..00000000
--- a/docs/fr/user/configuring_mobile.rst
+++ /dev/null
@@ -1,12 +0,0 @@
1Configurer les applications mobile pour wallabag
2================================================
3
4Étapes pour configurer les applications
5---------------------------------------
6
7- Tout d'abord, *créez un nouveau client* dans la section ``Gestion des clients API``. Le nom de votre application importe peu. Ce qui nous intéresse, ce sont l'``ID Client`` et la ``clé secrète``. Notez bien ces deux valeurs.
8- Quand vous installez une application smartphone, on va vous demander de renseigner l'adresse de votre serveur de wallabag. Par exemple, pour wallabag.it, c'est ``https://app.wallabag.it``.
9- Les deux valeurs notées précédemment vous seront également demandées. Insérez-les dans les champs correspondants.
10- Enfin, vous devez renseigner votre ``nom d'utilisateur`` et votre ``mot de passe``. Ce sont les mêmes valeurs que lorsque vous vous connectez à wallabag.
11
12Vous pouvez également regarder du côté de la page `Android <android.html>`_. Particulièrement la section sur les *limitations connues*.
diff --git a/docs/fr/user/create_account.rst b/docs/fr/user/create_account.rst
deleted file mode 100644
index 9c18e094..00000000
--- a/docs/fr/user/create_account.rst
+++ /dev/null
@@ -1,42 +0,0 @@
1Se créer un compte et se connecter
2==================================
3
4Se créer un compte
5------------------
6
7Sur la page de connexion, cliquez sur le bouton ``Créer un compte``.
8
9.. image:: ../../img/user/registration_form.png
10 :alt: Formulaire de création de compte
11 :align: center
12
13Vous devez renseigner le formulaire. Faites attention de bien renseigner une adresse
14email valide, nous allons vous envoyer un email d'activation.
15
16.. image:: ../../img/user/sent_email.png
17 :alt: Un email a été envoyé pour activer votre compte
18 :align: center
19
20Vérifiez votre boite de réception, vous avez un nouvel email avec un lien comme celui-ci
21``http://wallabag/register/confirm/Ba19wokGovN-DdBQNfg4YgRkUQWRP4-k2g0Bk-hBTX4``.
22Cliquez dessus pour activer votre compte.
23
24Votre compte est maintenant actif.
25
26.. image:: ../../img/user/activated_account.png
27 :alt: Bienvenue à bord !
28 :align: center
29
30Se connecter
31------------
32
33Votre compte est maintenant actif, félicitations !
34
35Pour vous connecter à wallabag, remplissez le formulaire de connexion.
36
37Si vous êtes sur un ordinateur de confiance et que vous souhaitez rester connecté
38vous pouvez cocher la case ``Restez connecté`` : wallabag se souviendra de vous pour un an.
39
40.. image:: ../../img/user/login_form.png
41 :alt: Formulaire de connexion
42 :align: center
diff --git a/docs/fr/user/errors_during_fetching.rst b/docs/fr/user/errors_during_fetching.rst
deleted file mode 100644
index 13cbde1d..00000000
--- a/docs/fr/user/errors_during_fetching.rst
+++ /dev/null
@@ -1,37 +0,0 @@
1Erreur durant la récupération des articles
2==========================================
3
4Pourquoi la récupération des articles échoue ?
5----------------------------------------------
6
7Il peut y avoir plusieurs raisons :
8
9- problème de connexion internet
10- wallabag ne peut pas récupérer le contenu à cause de la structure du site web
11
12Comment puis-je aider pour réparer ça ?
13---------------------------------------
14
15Vous pouvez essayer de résoudre ce problème vous même (comme ça, nous restons concentrés pour améliorer wallabag au lieu d'écrire ces fichiers de configuration :) ).
16
17Vous pouvez essayer de voir si ça fonctionne ici : `http://f43.me/feed/test <http://f43.me/feed/test>`_ (ce site utilise principalement la même manière de fonctionner que wallabag pour récupérer les articles).
18
19Si ça fonctionne ici et pas sur wallabag, c'est qu'il y a un souci avec wallabag qui casse le parser (difficile à résoudre : merci d'ouvrir un nouveau ticket à ce sujet).
20
21Si ça ne fonctionne pas, vous pouvez essayer de créer un fichier de configuration en utilisant : `http://siteconfig.fivefilters.org/ <http://siteconfig.fivefilters.org/>`_ (sélectionnez les parties du contenu qui correspondent à ce que vous souhaitez garder). Vous pouvez `lire cette documentation avant <http://help.fivefilters.org/customer/en/portal/articles/223153-site-patterns>`_.
22
23Vous pouvez tester ce fichier sur le site **f43.me** : cliquez sur **Want to try a custom siteconfig?** et insérez le fichier généré depuis siteconfig.fivefilters.org.
24
25Répétez cette opération jusqu'à avoir quelque chose qui vous convienne.
26
27Ensuite, vous pouvez créer une pull request ici `https://github.com/fivefilters/ftr-site-config <https://github.com/fivefilters/ftr-site-config>`_, qui est le projet principal pour stocker les fichiers de configuration.
28
29Comment puis-je réessayer de récupérer le contenu ?
30---------------------------------------------------
31
32Si wallabag échoue en récupérant l'article, vous pouvez cliquer sur le bouton suivant
33(le troisième sur l'image ci-dessous).
34
35.. image:: ../../img/user/refetch.png
36 :alt: Réessayer de récupérer le contenu
37 :align: center
diff --git a/docs/fr/user/faq.rst b/docs/fr/user/faq.rst
deleted file mode 100644
index 49aa94ba..00000000
--- a/docs/fr/user/faq.rst
+++ /dev/null
@@ -1,42 +0,0 @@
1Foire Aux Questions
2===================
3
4Durant l'installation, je rencontre cette erreur ``Error Output: sh: 1: @post-cmd: not found``
5----------------------------------------------------------------------------------------------
6
7Il semblerait que vous ayiez un problème avec votre installation de ``composer``. Essayez de le désinstaller puis de le réinstaller.
8
9`Vous pouvez lire la documentation de composer pour savoir comment l'installer
10<https://getcomposer.org/doc/00-intro.md>`__.
11
12Je ne peux pas valider le formulaire de création de compte
13----------------------------------------------------------
14
15Soyez sur d'avoir bien renseigné tous les champs :
16
17* une adresse email valide
18* le même mot de passe dans les deux champs
19
20Je n'ai pas reçu mon email d'activation
21---------------------------------------
22
23Êtes-vous sur d'avoir renseigné votre bonne adresse ? Avez-vous vérifié le dossier de spams ?
24
25Quand je clique sur le lien d'activation, j'ai ce message : ``The user with confirmation token "DtrOPfbQeVkWf6N" does not exist``.
26----------------------------------------------------------------------------------------------------------------------------------
27
28Vous avez déjà activé votre compte ou l'URL d'activation n'est pas correcte.
29
30J'ai oublié mon mot de passe
31----------------------------
32
33Vous pouvez réinitialiser votre mot de passe en cliquant sur ``Mot de passe oublié ?``,
34sur la page de connexion. Ensuite, renseignez votre adresse email ou votre nom d'utilisateur,
35un email vous sera envoyé.
36
37J'ai l'erreur ``failed to load external entity`` quand j'essaie d'installer wallabag
38------------------------------------------------------------------------------------
39
40Comme décrit `ici <https://github.com/wallabag/wallabag/issues/2529>`_, modifiez le fichier ``web/app.php`` et ajoutez la ligne ``libxml_disable_entity_loader(false);`` à la ligne 5.
41
42C'est un bug lié à PHP et Doctrine, nous ne pouvons rien faire de notre côté.
diff --git a/docs/fr/user/filters.rst b/docs/fr/user/filters.rst
deleted file mode 100644
index 5807bdbd..00000000
--- a/docs/fr/user/filters.rst
+++ /dev/null
@@ -1,55 +0,0 @@
1Retrouver des articles grâce aux filtres
2========================================
3
4Pour retrouver plus facilement vos articles, vous pouvez utiliser les filtres.
5Cliquez sur la troisième icône de la barre supérieure.
6
7.. image:: ../../img/user/topbar.png
8 :alt: Barre supérieure
9 :align: center
10
11Tous ces filtres peuvent être combinés.
12
13.. image:: ../../img/user/filters.png
14 :alt: Combine all filters
15 :align: center
16
17Statut
18------
19
20Utilisez ces cases à cocher pour retrouver les articles lus ou mis en favori.
21
22Image de prévisualisation
23-------------------------
24
25Cochez ce filtre si vous voulez retrouver les articles avec une image de prévisualisation.
26
27Langage
28-------
29
30wallabag (via graby) peut détecter la langue dans laquelle l'article est écrit.
31C'est ainsi facile pour vous de retrouver des articles écrits dans une langue spécifique.
32
33Statut HTTP
34-----------
35
36Vous pouvez retrouver des articles en filtrant par leur code HTTP : 200, 404, 500, etc.
37
38Temps de lecture
39----------------
40
41wallabag estime combien de temps vous avez besoin pour lire un article.
42Avec ce filtre, vous pouvez par exemple retrouver les articles qui ont une estimation
43entre 2 et 5 minutes.
44
45Nom de domaine
46--------------
47
48Grâce à ce filtre, vous pouvez retrouver les articles venant d'un même nom de domaine.
49Par exemple, dans ce champ, saisissez ``lemonde.fr`` pour retrouver les articles de ce site.
50
51Date de création
52----------------
53
54Quand vous ajoutez un article, wallabag stocke la date courante.
55C'est très pratique pour retrouver les articles ajoutés entre le 1er et le 31 janvier par exemple.
diff --git a/docs/fr/user/import.rst b/docs/fr/user/import.rst
deleted file mode 100644
index 5317ee4b..00000000
--- a/docs/fr/user/import.rst
+++ /dev/null
@@ -1,155 +0,0 @@
1Migrer depuis ...
2=================
3
4Dans wallabag 2.x, vous pouvez importer des données depuis :
5
6- `Pocket <#id1>`_
7- `Readability <#id2>`_
8- `Instapaper <#id4>`_
9- `wallabag 1.x <#id6>`_
10- `wallabag 2.x <#id7>`_
11
12Nous avons aussi développé `un script pour exécuter des migrations via la ligne de commande <#import-via-la-ligne-de-commande-cli>`_.
13
14Puisque les imports peuvent gourmands en ressource, nous avons mis en place un système de tâche asynchrone. `Vous trouverez la documentation ici <http://doc.wallabag.org/fr/master/developer/asynchronous.html>`_ (niveau expert).
15
16Pocket
17------
18
19Créer une nouvelle application dans Pocket
20~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21
22Pour importer vos données depuis Pocket, nous utilisons l'API de Pocket.
23Vous devez créer une nouvelle application sur leur site dédié aux développeurs pour continuer.
24
25* Créez une nouvelle application `sur leur site Développeurs <https://getpocket.com/developer/apps/new>`_
26* Remplissez les champs requis : nom de l'application, description de l'application,
27 permissions (seulement **retrieve**), la plateforme (**web**), acceptez les
28 termes d'utilisation du service et soumettez votre application
29
30Pocket vous fournira une **Consumer Key** (par exemple, `49961-985e4b92fe21fe4c78d682c1`).
31Vous devez configurer la ``pocket_consumer_key`` dans le menu ``Configuration``.
32
33Maintenant, tout est bien configuré pour migrer depuis Pocket.
34
35Importez vos données dans wallabag 2.x
36~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37
38Cliquez sur le lien ``Importer`` dans le menu, sur ``Importer les contenus`` dans
39la section Pocket puis sur ``Se connecter à Pocket et importer les données``.
40
41Vous devez autoriser wallabag à se connecter à votre compte Pocket.
42Vos données vont être importées. L'import de données est une action qui peut être couteuse
43pour votre serveur.
44
45Readability
46-----------
47
48Exportez vos données de Readability
49~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50
51Sur la page des outils (`https://www.readability.com/tools/ <https://www.readability.com/tools/>`_), cliquez sur "Export your data" dans la section "Data Export". Vous allez recevoir un email avec un lien pour télécharger le json.
52
53Importez vos données dans wallabag 2.x
54~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55
56Cliquez sur le lien ``Importer`` dans le menu, sur ``Importer les contenus`` dans
57la section Readability et ensuite sélectionnez votre fichier json pour l'uploader.
58
59Vos données vont être importées. L'import de données est une action qui peut être couteuse pour votre serveur.
60
61Depuis Pinboard
62---------------
63
64Exportez vos données de Pinboard
65~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66
67Sur la page « Backup » (`https://pinboard.in/settings/backup <https://pinboard.in/settings/backup>`_), cliquez sur « JSON » dans la section « Bookmarks ». Un fichier json (sans extension) sera téléchargé (``pinboard_export``).
68
69Importez vos données dans wallabag 2.x
70~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71
72Cliquez sur le lien ``Importer`` dans le menu, sur ``Importer les contenus`` dans
73la section Pinboard et ensuite sélectionnez votre fichier json pour l'uploader.
74
75Vos données vont être importées. L'import de données est une action qui peut être couteuse pour votre serveur.
76
77Depuis Instapaper
78-----------------
79
80Exportez vos données de Instapaper
81~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
82
83Sur la page des paramètres (`https://www.instapaper.com/user <https://www.instapaper.com/user>`_), cliquez sur "Download .CSV file" dans la section "Export". Un fichier CSV se téléchargera (``instapaper-export.csv``).
84
85Importez vos données dans wallabag 2.x
86~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
87
88Cliquez sur le lien ``Importer`` dans le menu, sur ``Importer les contenus`` dans
89la section Instapaper et ensuite sélectionnez votre fichier CSV pour l'uploader.
90
91Vos données vont être importées. L'import de données est une action qui peut être couteuse pour votre serveur.
92
93wallabag 1.x
94------------
95
96Si vous utilisiez wallabag v1.x, vous devez exporter vos données avant de migrer à wallabag v2.x, à cause du changement complet de l'application et de sa base de données. Sur votre ancienne instance de wallabag v1, vous pouvez exporter vos données en allant sur la page de configuration de l'application.
97
98.. image:: ../../img/user/export_v1.png
99 :alt: Export depuis wallabag v1
100 :align: center
101
102.. note::
103 Si vous avez plusieurs comptes sur la même instance de wallabag, chaque utilisateur doit exporter ses données depuis wallabag v1 et les importer dans la v2.
104
105.. note::
106 S'il vous arrive des problèmes durant l'export ou l'import, n'hésitez pas à `demander de l'aide <http://gitter.im/wallabag/wallabag>`_.
107
108Une fois que vous avez récupéré le fichier json contenant vos données, vous pouvez installer wallabag v2 si c'est nécessaire en suivant `la procédure standard <http://doc.wallabag.org/fr/master/user/installation.html>`_.
109
110Une fois que vous avez créé un compte utilisateur sur votre nouvelle instance de wallabag v2, rendez-vous dans la section `Import`. Vous devez choisir l'import depuis wallabag v1 puis sélectionner votre fichier json récupéré précédemment.
111
112.. image:: ../../img/user/import_wallabagv1.png
113 :alt: Import depuis wallabag v1
114 :align: center
115
116wallabag 2.x
117------------
118
119Depuis l'instance sur laquelle vous étiez, rendez-vous dans la section `Tous les articles`, puis exportez ces articles au format json.
120
121.. image:: ../../img/user/export_v2.png
122 :alt: Export depuis wallabag v2
123 :align: center
124
125Depuis votre nouvelle instance de wallabag, créez votre compte utilisateur puis cliquez sur le lien dans le menu pour accéder à l'import. Choisissez l'import depuis wallabag v2 puis sélectionnez votre fichier json pour l'uploader.
126
127.. note::
128 S'il vous arrive des problèmes durant l'export ou l'import, n'hésitez pas à `demander de l'aide <http://gitter.im/wallabag/wallabag>`_.
129
130Import via la ligne de commande (CLI)
131-------------------------------------<http://doc.wallabag.org/en/master/user/parameters.html
132
133Si vous avez accès à la ligne de commandes de votre serveur web, vous pouvez exécuter cette commande pour import votre fichier wallabag v1 :
134
135::
136
137 bin/console wallabag:import 1 ~/Downloads/wallabag-export-1-2016-04-05.json --env=prod
138
139Remplacez les valeurs :
140
141* ``1`` est l'identifiant de votre utilisateur en base (l'ID de votre premier utilisateur créé sur wallabag est 1)
142* ``~/Downloads/wallabag-export-1-2016-04-05.json`` est le chemin de votre export wallabag v1
143
144Si vous voulez marquer tous ces articles comme lus, vous pouvez ajouter l'option ``--markAsRead``.
145
146Pour importer un fichier wallabag v2, vous devez ajouter l'option ``--importer=v2``.
147
148Vous obtiendrez :
149
150::
151
152 Start : 05-04-2016 11:36:07 ---
153 403 imported
154 0 already saved
155 End : 05-04-2016 11:36:09 ---
diff --git a/docs/fr/user/installation.rst b/docs/fr/user/installation.rst
deleted file mode 100644
index 442241e6..00000000
--- a/docs/fr/user/installation.rst
+++ /dev/null
@@ -1,316 +0,0 @@
1Installer wallabag
2==================
3
4Pré-requis
5------------
6
7wallabag est compatible avec **PHP >= 5.6**, PHP 7 inclus.
8
9.. note::
10
11 Pour installer wallabag facilement, nous avons créé un ``Makefile``, vous avez donc besoin d'avoir installé l'outil ``make``.
12
13wallabag utilise un grand nombre de bibliothèques PHP pour fonctionner. Ces bibliothèques doivent être installées à l'aide d'un outil nommé Composer. Vous devez l'installer si ce n'est déjà fait et vous assurer que vous utilisez bien la version 1.2 (si vous avez déjà Composer, faite un ``composer selfupdate``).
14
15Installation de Composer :
16
17::
18
19 curl -s https://getcomposer.org/installer | php
20
21Vous pouvez trouver des instructions spécifiques `ici (en anglais) <https://getcomposer.org/doc/00-intro.md>`__.
22
23Vous aurez besoin des extensions suivantes pour que wallabag fonctionne. Il est possible que certaines de ces extensions soient déjà activées dans votre version de PHP, donc vous n'avez pas forcément besoin d'installer tous les paquets correspondants.
24
25- php-session
26- php-ctype
27- php-dom
28- php-hash
29- php-simplexml
30- php-json
31- php-gd
32- php-mbstring
33- php-xml
34- php-tidy
35- php-iconv
36- php-curl
37- php-gettext
38- php-tokenizer
39- php-bcmath
40
41wallabag utilise PDO afin de se connecter à une base de données, donc vous aurez besoin d'une extension et d'un système de bases de données parmi :
42
43- pdo_mysql
44- pdo_sqlite
45- pdo_pgsql
46
47Installation
48------------
49
50Sur un serveur dédié (méthode conseillée)
51~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
52
53Pour installer wallabag, vous devez exécuter ces commandes :
54
55::
56
57 git clone https://github.com/wallabag/wallabag.git
58 cd wallabag && make install
59
60Pour démarrer le serveur interne à php et vérifier que tout s'est installé correctement, vous pouvez exécuter :
61
62::
63
64 make run
65
66Et accéder wallabag à l'adresse http://lipdevotreserveur:8000
67
68.. tip::
69 Pour définir des paramètres via des variables d'environnement, vous pouvez les spécifier avec le préfixe ``SYMFONY__``. Par exemple, ``SYMFONY__DATABASE_DRIVER``. Vous pouvez lire la `documentation Symfony <http://symfony.com/doc/current/cookbook/configuration/external_parameters.html>`__ pour en savoir plus.
70
71Sur un serveur mutualisé
72~~~~~~~~~~~~~~~~~~~~~~~~
73
74Nous mettons à votre disposition une archive avec toutes les dépendances à l'intérieur.
75La configuration par défaut utilise SQLite pour la base de données. Si vous souhaitez changer ces paramètres, vous devez modifier le fichier ``app/config/parameters.yml``.
76
77Nous avons déjà créé un utilisateur : le login et le mot de passe sont ``wallabag``.
78
79.. caution:: Avec cette archive, wallabag ne vérifie pas si les extensions obligatoires sont présentes sur votre serveur pour bien fonctionner (ces vérifications sont faites durant le ``composer install`` quand vous avez un serveur dédié, voir ci-dessus).
80
81Exécutez cette commande pour télécharger et décompresser l'archive :
82
83.. code-block:: bash
84
85 wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-package
86
87Vous trouverez `le hash md5 du dernier package sur notre site <https://static.wallabag.org/releases/>`_.
88
89Maintenant, lisez la documentation ci-dessous pour crééer un virtual host. Accédez ensuite à votre installation de wallabag.
90Si vous avez changé la configuration pour modifier le type de stockage (MySQL ou PostgreSQL), vous devrez vous créer un utilisateur via la commande ``php bin/console wallabag:install --env=prod``.
91
92Installation avec Docker
93~~~~~~~~~~~~~~~~~~~~~~~~
94
95Nous vous proposons une image Docker pour installer wallabag facilement. Allez voir du côté de `Docker Hub <https://hub.docker.com/r/wallabag/wallabag/>`__ pour plus d'informations.
96
97Commande pour démarrer le containeur
98^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
99
100.. code-block:: bash
101
102 docker pull wallabag/wallabag
103
104Installation sur Cloudron
105~~~~~~~~~~~~~~~~~~~~~~~~
106
107Cloudron permet d'installer des applications web sur votre serveur
108wallabag est proposé en tant qu'application Cloudron et est disponible directement depuis le store.
109
110`Installer wallabag sur Cloudron <https://cloudron.io/store/org.wallabag.cloudronapp.html>`__
111
112Virtual hosts
113-------------
114
115Configuration avec Apache
116~~~~~~~~~~~~~~~~~~~~~~~~~
117
118N'oubliez pas d'activer le mod *rewrite* de Apache
119
120.. code-block:: bash
121
122 a2enmod rewrite && systemctl reload apache2
123
124En imaginant que vous vouliez installer wallabag dans le dossier ``/var/www/wallabag`` et que vous utilisiez PHP comme un module Apache, voici un vhost pour wallabag :
125
126::
127
128 <VirtualHost *:80>
129 ServerName domain.tld
130 ServerAlias www.domain.tld
131
132 DocumentRoot /var/www/wallabag/web
133 <Directory /var/www/wallabag/web>
134 AllowOverride None
135 Order Allow,Deny
136 Allow from All
137
138 <IfModule mod_rewrite.c>
139 Options -MultiViews
140 RewriteEngine On
141 RewriteCond %{REQUEST_FILENAME} !-f
142 RewriteRule ^(.*)$ app.php [QSA,L]
143 </IfModule>
144 </Directory>
145
146 # uncomment the following lines if you install assets as symlinks
147 # or run into problems when compiling LESS/Sass/CoffeScript assets
148 # <Directory /var/www/wallabag>
149 # Options FollowSymlinks
150 # </Directory>
151
152 # optionally disable the RewriteEngine for the asset directories
153 # which will allow apache to simply reply with a 404 when files are
154 # not found instead of passing the request into the full symfony stack
155 <Directory /var/www/wallabag/web/bundles>
156 <IfModule mod_rewrite.c>
157 RewriteEngine Off
158 </IfModule>
159 </Directory>
160 ErrorLog /var/log/apache2/wallabag_error.log
161 CustomLog /var/log/apache2/wallabag_access.log combined
162 </VirtualHost>
163
164.. tip:: Pour Apache 2.4, dans la section `<Directory /var/www/wallabag/web>` vous devez remplacer les directives suivantes :
165
166::
167
168 AllowOverride None
169 Order Allow,Deny
170 Allow from All
171
172
173par
174
175::
176
177 Require All granted
178
179
180
181
182Après que vous ayez rechargé/redémarré Apache, vous devriez pouvoir avoir accès à wallabag à l'adresse http://domain.tld.
183
184Configuration avec Nginx
185~~~~~~~~~~~~~~~~~~~~~~~~
186
187En imaginant que vous vouliez installer wallabag dans le dossier ``/var/www/wallabag``, voici un fichier de configuration Nginx pour wallabag :
188
189::
190
191 server {
192 server_name domain.tld www.domain.tld;
193 root /var/www/wallabag/web;
194
195 location / {
196 # try to serve file directly, fallback to app.php
197 try_files $uri /app.php$is_args$args;
198 }
199 location ~ ^/app\.php(/|$) {
200 fastcgi_pass unix:/var/run/php5-fpm.sock;
201 fastcgi_split_path_info ^(.+\.php)(/.*)$;
202 include fastcgi_params;
203 # When you are using symlinks to link the document root to the
204 # current version of your application, you should pass the real
205 # application path instead of the path to the symlink to PHP
206 # FPM.
207 # Otherwise, PHP's OPcache may not properly detect changes to
208 # your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
209 # for more information).
210 fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
211 fastcgi_param DOCUMENT_ROOT $realpath_root;
212 # Prevents URIs that include the front controller. This will 404:
213 # http://domain.tld/app.php/some-path
214 # Remove the internal directive to allow URIs like this
215 internal;
216 }
217
218 # return 404 for all other php files not matching the front controller
219 # this prevents access to other php files you don't want to be accessible.
220 location ~ \.php$ {
221 return 404;
222 }
223
224 error_log /var/log/nginx/wallabag_error.log;
225 access_log /var/log/nginx/wallabag_access.log;
226 }
227
228Après que vous ayez rechargé/redémarré Nginx, vous devriez pouvoir avoir accès à wallabag à l'adresse http://domain.tld.
229
230.. tip::
231
232 Si vous voulez importer un fichier important dans wallabag, vous devez ajouter cette ligne dans votre configuration nginx ``client_max_body_size XM; # allows file uploads up to X megabytes``.
233
234Configuration avec lighttpd
235~~~~~~~~~~~~~~~~~~~~~~~~~~~
236
237En imaginant que vous vouliez installer wallabag dans le dossier ``/var/www/wallabag``, voici un fichier de configuration pour wallabag (éditez votre fichier ``lighttpd.conf`` collez-y cette configuration) :
238
239::
240
241 server.modules = (
242 "mod_fastcgi",
243 "mod_access",
244 "mod_alias",
245 "mod_compress",
246 "mod_redirect",
247 "mod_rewrite",
248 )
249 server.document-root = "/var/www/wallabag/web"
250 server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
251 server.errorlog = "/var/log/lighttpd/error.log"
252 server.pid-file = "/var/run/lighttpd.pid"
253 server.username = "www-data"
254 server.groupname = "www-data"
255 server.port = 80
256 server.follow-symlink = "enable"
257 index-file.names = ( "index.php", "index.html", "index.lighttpd.html")
258 url.access-deny = ( "~", ".inc" )
259 static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
260 compress.cache-dir = "/var/cache/lighttpd/compress/"
261 compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" )
262 include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
263 include_shell "/usr/share/lighttpd/create-mime.assign.pl"
264 include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
265 dir-listing.activate = "disable"
266
267 url.rewrite-if-not-file = (
268 "^/([^?])(?:\?(.))?" => "/app.php?$1&$2",
269 "^/([^?]*)" => "/app.php?=$1",
270 )
271
272Droits d'accès aux dossiers du projet
273-------------------------------------
274
275Environnement de test
276~~~~~~~~~~~~~~~~~~~~~
277
278Quand nous souhaitons juste tester wallabag, nous lançons simplement la commande ``php bin/console server:run --env=prod`` pour démarrer l'instance wallabag et tout se passe correctement car l'utilisateur qui a démarré le projet a accès naturellement au repertoire courant, tout va bien.
279
280Environnement de production
281~~~~~~~~~~~~~~~~~~~~~~~~~~~
282
283Dès lors que nous utilisons Apache ou Nginx pour accéder à notre instance wallabag, et non plus la commande ``php bin/console server:run --env=prod`` pour la démarrer, il faut prendre garde à octroyer les bons droits aux bons dossiers afin de préserver la sécurité de l'ensemble des fichiers fournis par le projet.
284
285Aussi, le dossier, connu sous le nom de ``DocumentRoot`` (pour apache) ou ``root`` (pour Nginx), doit être impérativement accessible par l'utilisateur de Apache ou Nginx. Le nom de cet utilisateur est généralement ``www-data``, ``apache`` ou ``nobody`` (selon les systèmes linux utilisés).
286
287Donc le dossier ``/var/www/wallabag/web`` doit être accessible par ce dernier. Mais cela ne suffira pas si nous nous contentons de ce dossier, et nous pourrions avoir, au mieux une page blanche en accédant à la page d'accueil du projet, au pire une erreur 500.
288
289Cela est dû au fait qu'il faut aussi octroyer les mêmes droits d'accès au dossier ``/var/www/wallabag/var`` que ceux octroyés au dossier ``/var/www/wallabag/web``. Ainsi, on règle le problème par la commande suivante :
290
291.. code-block:: bash
292
293 chown -R www-data:www-data /var/www/wallabag/var
294
295Il en est de même pour les dossiers suivants :
296
297* /var/www/wallabag/bin/
298* /var/www/wallabag/app/config/
299* /var/www/wallabag/vendor/
300
301en tapant
302
303.. code-block:: bash
304
305 chown -R www-data:www-data /var/www/wallabag/bin
306 chown -R www-data:www-data /var/www/wallabag/app/config
307 chown -R www-data:www-data /var/www/wallabag/vendor
308
309sinon lors de la mise à jour vous finirez par rencontrer les erreurs suivantes :
310
311
312.. code-block:: bash
313
314 Unable to write to the "bin" directory.
315 file_put_contents(app/config/parameters.yml): failed to open stream: Permission denied
316 file_put_contents(/.../wallabag/vendor/autoload.php): failed to open stream: Permission denied
diff --git a/docs/fr/user/parameters.rst b/docs/fr/user/parameters.rst
deleted file mode 100644
index b2e33524..00000000
--- a/docs/fr/user/parameters.rst
+++ /dev/null
@@ -1,95 +0,0 @@
1À quoi servent les paramètres ?
2===============================
3
4Fichier `parameters.yml` par défaut
5-----------------------------------
6
7Voici la dernière version par défaut du fichier `app/config/parameters.yml`. Soyez sur que le votre respecte celui-ci.
8Si vous ne savez pas quelle valeur vous devez mettre, laissez celle par défaut.
9
10.. code-block:: yml
11
12 parameters:
13 database_driver: pdo_sqlite
14 database_host: 127.0.0.1
15 database_port: null
16 database_name: symfony
17 database_user: root
18 database_password: null
19 database_path: '%kernel.root_dir%/../data/db/wallabag.sqlite'
20 database_table_prefix: wallabag_
21 database_socket: null
22 mailer_transport: smtp
23 mailer_host: 127.0.0.1
24 mailer_user: null
25 mailer_password: null
26 locale: en
27 secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
28 twofactor_auth: true
29 twofactor_sender: no-reply@wallabag.org
30 fosuser_registration: true
31 fosuser_confirmation: true
32 from_email: no-reply@wallabag.org
33 rss_limit: 50
34 rabbitmq_host: localhost
35 rabbitmq_port: 5672
36 rabbitmq_user: guest
37 rabbitmq_password: guest
38 redis_scheme: tcp
39 redis_host: localhost
40 redis_port: 6379
41 redis_path: null
42 redis_password: null
43
44Meaning of each parameter
45-------------------------
46
47.. csv-table:: Paramètres de base de données
48 :header: "name", "default", "description"
49
50 "database_driver", "pdo_sqlite", "Doit être pdo_sqlite ou pdo_mysql ou pdo_pgsql"
51 "database_host", "127.0.0.1", "Hôte de votre base de données (généralement localhost ou 127.0.0.1)"
52 "database_port", "~", "Port de votre base de données (vous pouvez laisser ``~`` pour utiliser celui par défaut)"
53 "database_name", "symfony", "Nom de votre base de données"
54 "database_user", "root", "Utilisateur de votre base de données"
55 "database_password", "~", "Mot de passe de cet utilisateur"
56 "database_path", "``""%kernel.root_dir%/../data/db/wallabag.sqlite""``", "Uniquement pour SQLite. Chemin du fichier de base de données. Laissez vide pour les autres bases de données."
57 "database_table_prefix", "wallabag_", "Toutes les tables de wallabag seront préfixées par cette chaine. Vous pouvez ajouter un ``_`` pour plus de clarté"
58 "database_socket", "null", "Si votre base de données utilise un socket plutôt que tcp, spécifiez le chemin du socket (les autres paramètres de connexion seront alors ignorés)"
59
60.. csv-table:: Configuration pour envoyer des emails depuis wallabag
61 :header: "name", "default", "description"
62
63 "mailer_transport", "smtp", "Méthode de transport exacte utilisée pour envoyer des emails. Les valeurs correctes sont : smtp, gmail, mail, sendmail, null (ce qui désactivera l'envoi des emails)"
64 "mailer_host", "127.0.0.1", "Hôte sur lequel se connecter quand on utilise smtp comme transport."
65 "mailer_user", "~", "Utilisateur smtp."
66 "mailer_password", "~", "Mot de passe de cet utilisateur."
67
68.. csv-table:: Autres options de wallabag
69 :header: "name", "default", "description"
70
71 "locale", "en", "Langue par défaut de votre instance wallabag (comme en, fr, es, etc.)"
72 "secret", "ovmpmAWXRCabNlMgzlzFXDYmCFfzGv", "C'est une chaine qui doit être unique à votre application et qui est couramment utilisée pour ajouter plus d'entropie aux opérations relatives à la sécurité."
73 "twofactor_auth", "true", "true pour activer l'authentification à deux facteurs"
74 "twofactor_sender", "no-reply@wallabag.org", "Email de l'expéditeur du code de l'authentification à deux facteurs"
75 "fosuser_registration", "true", "true pour activer l'inscription publique"
76 "fosuser_confirmation", "true", "true pour envoyer un email de confirmation pour chaque création de compte"
77 "from_email", "no-reply@wallabag.org", "Email de l'expéditeur pour chaque email envoyé"
78 "rss_limit", "50", "Limite pour les flux RSS"
79
80.. csv-table:: Configuration RabbitMQ
81 :header: "name", "default", "description"
82
83 "rabbitmq_host", "localhost", "Hôte de votre instance RabbitMQ"
84 "rabbitmq_port", "5672", "Port de votre instance RabbitMQ"
85 "rabbitmq_user", "guest", "Utilisateur de votre instance RabbitMQ"
86 "rabbitmq_password", "guest", "Mot de passe de cet utilisateur"
87
88.. csv-table:: Configuration Redis
89 :header: "name", "default", "description"
90
91 "redis_scheme", "tcp", "Définit le protocole utilisé pour commuiquer avec l'instance Redis. Les valeurs correctes sont : tcp, unix, http"
92 "redis_host", "localhost", "IP ou hôte du serveur cible (ignoré pour un schéma unix)"
93 "redis_port", "6379", "Port TCP/IP du serveur cible (ignoré pour un schéma unix)"
94 "redis_path", "null", "Chemin du fichier de socket du domaine UNIX utilisé quand on se connecte à Redis en utilisant les sockets du domaine UNIX"
95 "redis_password", "null", "Mot de passe défini dans la configuration serveur de Redis (paramètre `requirepass` dans `redis.conf`)"
diff --git a/docs/fr/user/query-upgrade-21-22.rst b/docs/fr/user/query-upgrade-21-22.rst
deleted file mode 100644
index fa9835a8..00000000
--- a/docs/fr/user/query-upgrade-21-22.rst
+++ /dev/null
@@ -1,984 +0,0 @@
1Migration 20161001072726
2------------------------
3
4MySQL
5^^^^^
6
7Migration up
8""""""""""""
9
10.. code-block:: sql
11
12 ALTER TABLE wallabag_entry_tag DROP FOREIGN KEY FK_C9F0DD7CBA364942
13 ALTER TABLE wallabag_entry_tag DROP FOREIGN KEY FK_C9F0DD7CBAD26311
14 ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
15 ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_tag FOREIGN KEY (tag_id) REFERENCES wallabag_tag (id) ON DELETE CASCADE
16 ALTER TABLE wallabag_annotation DROP FOREIGN KEY FK_A7AED006BA364942
17 ALTER TABLE wallabag_annotation ADD CONSTRAINT FK_annotation_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
18
19Migration down
20""""""""""""""
21
22We didn't write down migration for ``20161001072726``.
23
24PostgreSQL
25^^^^^^^^^^
26
27Migration up
28""""""""""""
29
30.. code-block:: sql
31
32 ALTER TABLE wallabag_entry_tag DROP CONSTRAINT fk_c9f0dd7cba364942
33 ALTER TABLE wallabag_entry_tag DROP CONSTRAINT fk_c9f0dd7cbad26311
34 ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
35 ALTER TABLE wallabag_entry_tag ADD CONSTRAINT FK_entry_tag_tag FOREIGN KEY (tag_id) REFERENCES wallabag_tag (id) ON DELETE CASCADE
36 ALTER TABLE wallabag_annotation DROP CONSTRAINT fk_a7aed006ba364942
37 ALTER TABLE wallabag_annotation ADD CONSTRAINT FK_annotation_entry FOREIGN KEY (entry_id) REFERENCES wallabag_entry (id) ON DELETE CASCADE
38
39Migration down
40""""""""""""""
41
42We didn't write down migration for ``20161001072726``.
43
44SQLite
45^^^^^^
46
47This migration can only be executed safely on MySQL or PostgreSQL.
48
49Migration 20161022134138
50------------------------
51
52MySQL
53^^^^^
54
55Migration up
56""""""""""""
57
58.. code-block:: sql
59
60 ALTER DATABASE wallabag CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
61 ALTER TABLE wallabag_user CHANGE confirmation_token confirmation_token VARCHAR(180) DEFAULT NULL;
62 ALTER TABLE wallabag_user CHANGE salt salt VARCHAR(180) NOT NULL;
63 ALTER TABLE wallabag_user CHANGE password password VARCHAR(180) NOT NULL;
64 ALTER TABLE wallabag_annotation CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
65 ALTER TABLE wallabag_entry CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
66 ALTER TABLE wallabag_tag CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
67 ALTER TABLE wallabag_user CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
68 ALTER TABLE wallabag_annotation CHANGE `text` `text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
69 ALTER TABLE wallabag_annotation CHANGE `quote` `quote` VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
70 ALTER TABLE wallabag_entry CHANGE `title` `title` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
71 ALTER TABLE wallabag_entry CHANGE `content` `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
72 ALTER TABLE wallabag_tag CHANGE `label` `label` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
73 ALTER TABLE wallabag_user CHANGE `name` `name` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
74
75Migration down
76""""""""""""""
77
78.. code-block:: sql
79
80 ALTER DATABASE wallabag CHARACTER SET = utf8 COLLATE = utf8_unicode_ci;
81 ALTER TABLE wallabag_annotation CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
82 ALTER TABLE wallabag_entry CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
83 ALTER TABLE wallabag_tag CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
84 ALTER TABLE wallabag_user CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
85 ALTER TABLE wallabag_annotation CHANGE `text` `text` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
86 ALTER TABLE wallabag_annotation CHANGE `quote` `quote` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci;
87 ALTER TABLE wallabag_entry CHANGE `title` `title` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
88 ALTER TABLE wallabag_entry CHANGE `content` `content` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
89 ALTER TABLE wallabag_tag CHANGE `label` `label` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
90 ALTER TABLE wallabag_user CHANGE `name` `name` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci;
91
92PostgreSQL and SQLite
93^^^^^^^^^^^^^^^^^^^^^
94
95This migration only apply to MySQL.
96
97Migration 20161024212538
98------------------------
99
100MySQL
101^^^^^
102
103Migration up
104""""""""""""
105
106.. code-block:: sql
107
108 ALTER TABLE wallabag_oauth2_clients ADD user_id INT NOT NULL
109 ALTER TABLE wallabag_oauth2_clients ADD CONSTRAINT IDX_user_oauth_client FOREIGN KEY (user_id) REFERENCES wallabag_user (id) ON DELETE CASCADE
110 CREATE INDEX IDX_635D765EA76ED395 ON wallabag_oauth2_clients (user_id)
111
112Migration down
113""""""""""""""
114
115.. code-block:: sql
116
117 ALTER TABLE wallabag_oauth2_clients DROP FOREIGN KEY IDX_user_oauth_client
118 ALTER TABLE wallabag_oauth2_clients DROP user_id
119
120PostgreSQL
121^^^^^^^^^^
122
123Migration up
124""""""""""""
125
126.. code-block:: sql
127
128 ALTER TABLE wallabag_oauth2_clients ADD user_id INT DEFAULT NULL
129 ALTER TABLE wallabag_oauth2_clients ADD CONSTRAINT IDX_user_oauth_client FOREIGN KEY (user_id) REFERENCES wallabag_user (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE
130 CREATE INDEX IDX_635D765EA76ED395 ON wallabag_oauth2_clients (user_id)
131
132
133Migration down
134""""""""""""""
135
136.. code-block:: sql
137
138 ALTER TABLE wallabag_oauth2_clients DROP CONSTRAINT idx_user_oauth_client
139 ALTER TABLE wallabag_oauth2_clients DROP user_id
140
141SQLite
142^^^^^^
143
144Migration up
145""""""""""""
146
147.. code-block:: sql
148
149 CREATE TEMPORARY TABLE __temp__wallabag_oauth2_clients AS SELECT id, random_id, redirect_uris, secret, allowed_grant_types, name FROM wallabag_oauth2_clients
150 DROP TABLE wallabag_oauth2_clients
151 CREATE TABLE wallabag_oauth2_clients (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, random_id VARCHAR(255) NOT NULL COLLATE BINARY, redirect_uris CLOB NOT NULL COLLATE BINARY, secret VARCHAR(255) NOT NULL COLLATE BINARY, allowed_grant_types CLOB NOT NULL COLLATE BINARY, name CLOB DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id), CONSTRAINT IDX_user_oauth_client FOREIGN KEY (user_id) REFERENCES wallabag_user (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE)
152 INSERT INTO wallabag_oauth2_clients (id, random_id, redirect_uris, secret, allowed_grant_types, name) SELECT id, random_id, redirect_uris, secret, allowed_grant_types, name FROM __temp__wallabag_oauth2_clients
153 DROP TABLE __temp__wallabag_oauth2_clients
154 CREATE INDEX IDX_635D765EA76ED395 ON wallabag_oauth2_clients (user_id)
155
156Migration down
157""""""""""""""
158
159.. code-block:: sql
160
161 DROP INDEX IDX_635D765EA76ED395
162 CREATE TEMPORARY TABLE __temp__wallabag_oauth2_clients AS SELECT id, random_id, redirect_uris, secret, allowed_grant_types, name FROM wallabag_oauth2_clients
163 DROP TABLE wallabag_oauth2_clients
164 CREATE TABLE wallabag_oauth2_clients (id INTEGER NOT NULL, random_id VARCHAR(255) NOT NULL COLLATE BINARY, redirect_uris CLOB NOT NULL COLLATE BINARY, secret VARCHAR(255) NOT NULL COLLATE BINARY, allowed_grant_types CLOB NOT NULL COLLATE BINARY, name CLOB DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
165 INSERT INTO wallabag_oauth2_clients (id, random_id, redirect_uris, secret, allowed_grant_types, name) SELECT id, random_id, redirect_uris, secret, allowed_grant_types, name FROM __temp__wallabag_oauth2_clients
166 DROP TABLE __temp__wallabag_oauth2_clients
167
168Migration 20161031132655
169------------------------
170
171MySQL
172^^^^^
173
174Migration up
175""""""""""""
176
177.. code-block:: sql
178
179 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('download_images_enabled', 0, 'misc')
180
181Migration down
182""""""""""""""
183
184.. code-block:: sql
185
186 DELETE FROM wallabag_craue_config_setting WHERE name = 'download_images_enabled';
187
188PostgreSQL
189^^^^^^^^^^
190
191Migration up
192""""""""""""
193
194.. code-block:: sql
195
196 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('download_images_enabled', 0, 'misc')
197
198Migration down
199""""""""""""""
200
201.. code-block:: sql
202
203 DELETE FROM wallabag_craue_config_setting WHERE name = 'download_images_enabled';
204
205SQLite
206^^^^^^
207
208Migration up
209""""""""""""
210
211.. code-block:: sql
212
213 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('download_images_enabled', 0, 'misc')
214
215Migration down
216""""""""""""""
217
218.. code-block:: sql
219
220 DELETE FROM wallabag_craue_config_setting WHERE name = 'download_images_enabled';
221
222Migration 20161104073720
223------------------------
224
225MySQL
226^^^^^
227
228Migration up
229""""""""""""
230
231.. code-block:: sql
232
233 CREATE INDEX IDX_entry_created_at ON wallabag_entry (created_at)
234
235Migration down
236""""""""""""""
237
238.. code-block:: sql
239
240 DROP INDEX IDX_entry_created_at ON wallabag_entry
241
242PostgreSQL
243^^^^^^^^^^
244
245Migration up
246""""""""""""
247
248.. code-block:: sql
249
250 CREATE INDEX IDX_entry_created_at ON wallabag_entry (created_at)
251
252Migration down
253""""""""""""""
254
255.. code-block:: sql
256
257 DROP INDEX idx_entry_created_at
258
259SQLite
260^^^^^^
261
262Migration up
263""""""""""""
264
265.. code-block:: sql
266
267 DROP INDEX created_at_idx
268 DROP INDEX IDX_F4D18282A76ED395
269 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
270 DROP TABLE wallabag_entry
271 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uuid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
272 INSERT INTO wallabag_entry (id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
273 DROP TABLE __temp__wallabag_entry
274 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
275 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
276 CREATE INDEX IDX_entry_created_at ON wallabag_entry (created_at)
277
278Migration down
279""""""""""""""
280
281.. code-block:: sql
282
283 DROP INDEX IDX_entry_created_at
284 DROP INDEX IDX_F4D18282A76ED395
285 DROP INDEX created_at_idx
286 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
287 DROP TABLE wallabag_entry
288 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uuid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
289 INSERT INTO wallabag_entry (id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
290 DROP TABLE __temp__wallabag_entry
291 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
292 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
293
294Migration 20161106113822
295------------------------
296
297MySQL
298^^^^^
299
300Migration up
301""""""""""""
302
303.. code-block:: sql
304
305 ALTER TABLE wallabag_config ADD action_mark_as_read INT DEFAULT 0
306
307Migration down
308""""""""""""""
309
310.. code-block:: sql
311
312 ALTER TABLE wallabag_config DROP action_mark_as_read
313
314PostgreSQL
315^^^^^^^^^^
316
317Migration up
318""""""""""""
319
320.. code-block:: sql
321
322 ALTER TABLE wallabag_config ADD action_mark_as_read INT DEFAULT 0
323
324Migration down
325""""""""""""""
326
327.. code-block:: sql
328
329 ALTER TABLE wallabag_config DROP action_mark_as_read
330
331SQLite
332^^^^^^
333
334Migration up
335""""""""""""
336
337.. code-block:: sql
338
339 ALTER TABLE wallabag_config ADD COLUMN action_mark_as_read INTEGER DEFAULT 0
340
341Migration down
342""""""""""""""
343
344.. code-block:: sql
345
346 DROP INDEX UNIQ_87E64C53A76ED395
347 CREATE TEMPORARY TABLE __temp__wallabag_config AS SELECT id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key FROM wallabag_config
348 DROP TABLE wallabag_config
349 CREATE TABLE wallabag_config (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, theme VARCHAR(255) NOT NULL COLLATE BINARY, items_per_page INTEGER NOT NULL, language VARCHAR(255) NOT NULL COLLATE BINARY, rss_token VARCHAR(255) DEFAULT NULL COLLATE BINARY, rss_limit INTEGER DEFAULT NULL, reading_speed DOUBLE PRECISION DEFAULT NULL, pocket_consumer_key VARCHAR(255) DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
350 INSERT INTO wallabag_config (id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key) SELECT id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key FROM __temp__wallabag_config
351 DROP TABLE __temp__wallabag_config
352 CREATE UNIQUE INDEX UNIQ_87E64C53A76ED395 ON wallabag_config (user_id)
353
354Migration 20161117071626
355------------------------
356
357MySQL
358^^^^^
359
360Migration up
361""""""""""""
362
363.. code-block:: sql
364
365 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('share_unmark', 0, 'entry')
366 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('unmark_url', 'https://unmark.it', 'entry')
367
368Migration down
369""""""""""""""
370
371.. code-block:: sql
372
373 DELETE FROM wallabag_craue_config_setting WHERE name = 'share_unmark';
374 DELETE FROM wallabag_craue_config_setting WHERE name = 'unmark_url';
375
376PostgreSQL
377^^^^^^^^^^
378
379Migration up
380""""""""""""
381
382.. code-block:: sql
383
384 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('share_unmark', 0, 'entry')
385 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('unmark_url', 'https://unmark.it', 'entry')
386
387Migration down
388""""""""""""""
389
390.. code-block:: sql
391
392 DELETE FROM wallabag_craue_config_setting WHERE name = 'share_unmark';
393 DELETE FROM wallabag_craue_config_setting WHERE name = 'unmark_url';
394
395SQLite
396^^^^^^
397
398Migration up
399""""""""""""
400
401.. code-block:: sql
402
403 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('share_unmark', 0, 'entry')
404 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('unmark_url', 'https://unmark.it', 'entry')
405
406Migration down
407""""""""""""""
408
409.. code-block:: sql
410
411 DELETE FROM wallabag_craue_config_setting WHERE name = 'share_unmark';
412 DELETE FROM wallabag_craue_config_setting WHERE name = 'unmark_url';
413
414Migration 20161118134328
415------------------------
416
417MySQL
418^^^^^
419
420Migration up
421""""""""""""
422
423.. code-block:: sql
424
425 ALTER TABLE wallabag_entry ADD http_status VARCHAR(3) DEFAULT NULL
426
427Migration down
428""""""""""""""
429
430.. code-block:: sql
431
432 ALTER TABLE wallabag_entry DROP http_status
433
434PostgreSQL
435^^^^^^^^^^
436
437Migration up
438""""""""""""
439
440.. code-block:: sql
441
442 ALTER TABLE wallabag_entry ADD http_status VARCHAR(3) DEFAULT NULL
443
444Migration down
445""""""""""""""
446
447.. code-block:: sql
448
449 ALTER TABLE wallabag_entry DROP http_status
450
451SQLite
452^^^^^^
453
454Migration up
455""""""""""""
456
457.. code-block:: sql
458
459 ALTER TABLE wallabag_entry ADD COLUMN http_status VARCHAR(3) DEFAULT NULL
460
461Migration down
462""""""""""""""
463
464.. code-block:: sql
465
466 DROP INDEX created_at_idx
467 DROP INDEX IDX_F4D18282A76ED395
468 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
469 DROP TABLE wallabag_entry
470 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uuid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
471 INSERT INTO wallabag_entry (id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uuid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
472 DROP TABLE __temp__wallabag_entry
473 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
474 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
475
476Migration 20161122144743
477------------------------
478
479MySQL
480^^^^^
481
482Migration up
483""""""""""""
484
485.. code-block:: sql
486
487 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('restricted_access', 0, 'entry')
488
489Migration down
490""""""""""""""
491
492.. code-block:: sql
493
494 DELETE FROM wallabag_craue_config_setting WHERE name = 'restricted_access';
495
496PostgreSQL
497^^^^^^^^^^
498
499Migration up
500""""""""""""
501
502.. code-block:: sql
503
504 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('restricted_access', 0, 'entry')
505
506Migration down
507""""""""""""""
508
509.. code-block:: sql
510
511 DELETE FROM wallabag_craue_config_setting WHERE name = 'restricted_access';
512
513SQLite
514^^^^^^
515
516Migration up
517""""""""""""
518
519.. code-block:: sql
520
521 INSERT INTO wallabag_craue_config_setting (name, value, section) VALUES ('restricted_access', 0, 'entry')
522
523Migration down
524""""""""""""""
525
526.. code-block:: sql
527
528 DELETE FROM wallabag_craue_config_setting WHERE name = 'restricted_access';
529
530Migration 20161122203647
531------------------------
532
533MySQL
534^^^^^
535
536Migration up
537""""""""""""
538
539.. code-block:: sql
540
541 ALTER TABLE wallabag_user DROP expired, DROP credentials_expired
542
543Migration down
544""""""""""""""
545
546.. code-block:: sql
547
548 ALTER TABLE wallabag_user ADD expired SMALLINT DEFAULT NULL, ADD credentials_expired SMALLINT DEFAULT NULL
549
550PostgreSQL
551^^^^^^^^^^
552
553Migration up
554""""""""""""
555
556.. code-block:: sql
557
558 ALTER TABLE wallabag_user DROP expired
559 ALTER TABLE wallabag_user DROP credentials_expired
560
561Migration down
562""""""""""""""
563
564.. code-block:: sql
565
566 ALTER TABLE wallabag_user ADD expired SMALLINT DEFAULT NULL
567 ALTER TABLE wallabag_user ADD credentials_expired SMALLINT DEFAULT NULL
568
569SQLite
570^^^^^^
571
572Migration up
573""""""""""""
574
575.. code-block:: sql
576
577 DROP INDEX UNIQ_1D63E7E5C05FB297
578 DROP INDEX UNIQ_1D63E7E5A0D96FBF
579 DROP INDEX UNIQ_1D63E7E592FC23A8
580 CREATE TEMPORARY TABLE __temp__wallabag_user AS SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, locked, expires_at, confirmation_token, password_requested_at, roles, credentials_expire_at, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted FROM wallabag_user
581 DROP TABLE wallabag_user
582 CREATE TABLE wallabag_user (id INTEGER NOT NULL, username VARCHAR(180) NOT NULL COLLATE BINARY, username_canonical VARCHAR(180) NOT NULL COLLATE BINARY, email VARCHAR(180) NOT NULL COLLATE BINARY, email_canonical VARCHAR(180) NOT NULL COLLATE BINARY, enabled BOOLEAN NOT NULL, salt VARCHAR(255) NOT NULL COLLATE BINARY, password VARCHAR(255) NOT NULL COLLATE BINARY, last_login DATETIME DEFAULT NULL, locked BOOLEAN NOT NULL, expires_at DATETIME DEFAULT NULL, confirmation_token VARCHAR(180) DEFAULT NULL COLLATE BINARY, password_requested_at DATETIME DEFAULT NULL, roles CLOB NOT NULL COLLATE BINARY, credentials_expire_at DATETIME DEFAULT NULL, name CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INTEGER DEFAULT NULL, twoFactorAuthentication BOOLEAN NOT NULL, trusted CLOB DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
583 INSERT INTO wallabag_user (id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, locked, expires_at, confirmation_token, password_requested_at, roles, credentials_expire_at, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted) SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, locked, expires_at, confirmation_token, password_requested_at, roles, credentials_expire_at, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted FROM __temp__wallabag_user
584 DROP TABLE __temp__wallabag_user
585 CREATE UNIQUE INDEX UNIQ_1D63E7E5C05FB297 ON wallabag_user (confirmation_token)
586 CREATE UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF ON wallabag_user (email_canonical)
587 CREATE UNIQUE INDEX UNIQ_1D63E7E592FC23A8 ON wallabag_user (username_canonical)
588
589Migration down
590""""""""""""""
591
592.. code-block:: sql
593
594 ALTER TABLE wallabag_user ADD COLUMN expired SMALLINT DEFAULT NULL
595 ALTER TABLE wallabag_user ADD COLUMN credentials_expired SMALLINT DEFAULT NULL
596
597Migration 20161128084725
598------------------------
599
600MySQL
601^^^^^
602
603Migration up
604""""""""""""
605
606.. code-block:: sql
607
608 ALTER TABLE wallabag_config ADD list_mode INT DEFAULT NULL
609
610Migration down
611""""""""""""""
612
613.. code-block:: sql
614
615 ALTER TABLE wallabag_config DROP list_mode
616
617PostgreSQL
618^^^^^^^^^^
619
620Migration up
621""""""""""""
622
623.. code-block:: sql
624
625 ALTER TABLE wallabag_config ADD list_mode INT DEFAULT NULL
626
627Migration down
628""""""""""""""
629
630.. code-block:: sql
631
632 ALTER TABLE wallabag_config DROP list_mode
633
634SQLite
635^^^^^^
636
637Migration up
638""""""""""""
639
640.. code-block:: sql
641
642 ALTER TABLE wallabag_config ADD COLUMN list_mode INTEGER DEFAULT NULL
643
644Migration down
645""""""""""""""
646
647.. code-block:: sql
648
649 DROP INDEX UNIQ_87E64C53A76ED395
650 CREATE TEMPORARY TABLE __temp__wallabag_config AS SELECT id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key FROM wallabag_config
651 DROP TABLE wallabag_config
652 CREATE TABLE wallabag_config (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, theme VARCHAR(255) NOT NULL COLLATE BINARY, items_per_page INTEGER NOT NULL, language VARCHAR(255) NOT NULL COLLATE BINARY, rss_token VARCHAR(255) DEFAULT NULL COLLATE BINARY, rss_limit INTEGER DEFAULT NULL, reading_speed DOUBLE PRECISION DEFAULT NULL, pocket_consumer_key VARCHAR(255) DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
653 INSERT INTO wallabag_config (id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key) SELECT id, user_id, theme, items_per_page, language, rss_token, rss_limit, reading_speed, pocket_consumer_key FROM __temp__wallabag_config
654 DROP TABLE __temp__wallabag_config
655 CREATE UNIQUE INDEX UNIQ_87E64C53A76ED395 ON wallabag_config (user_id)
656
657Migration 20161128131503
658------------------------
659
660MySQL
661^^^^^
662
663Migration up
664""""""""""""
665
666.. code-block:: sql
667
668 ALTER TABLE wallabag_user DROP locked, DROP credentials_expire_at, DROP expires_at
669
670Migration down
671""""""""""""""
672
673.. code-block:: sql
674
675 ALTER TABLE wallabag_user ADD locked SMALLINT DEFAULT NULL, ADD credentials_expire_at DATETIME DEFAULT NULL, ADD expires_at DATETIME DEFAULT NULL
676
677PostgreSQL
678^^^^^^^^^^
679
680Migration up
681""""""""""""
682
683.. code-block:: sql
684
685 ALTER TABLE wallabag_user DROP locked
686 ALTER TABLE wallabag_user DROP credentials_expire_at
687 ALTER TABLE wallabag_user DROP expires_at
688
689Migration down
690""""""""""""""
691
692.. code-block:: sql
693
694 ALTER TABLE wallabag_user ADD locked SMALLINT DEFAULT NULL
695 ALTER TABLE wallabag_user ADD credentials_expire_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL
696 ALTER TABLE wallabag_user ADD expires_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL
697
698SQLite
699^^^^^^
700
701Migration up
702""""""""""""
703
704.. code-block:: sql
705
706 ALTER TABLE wallabag_user ADD COLUMN locked SMALLINT DEFAULT NULL
707 ALTER TABLE wallabag_user ADD COLUMN credentials_expire_at DATETIME DEFAULT NULL
708 ALTER TABLE wallabag_user ADD COLUMN expires_at DATETIME DEFAULT NULL
709
710Migration down
711""""""""""""""
712
713.. code-block:: sql
714
715 DROP INDEX UNIQ_1D63E7E592FC23A8
716 DROP INDEX UNIQ_1D63E7E5A0D96FBF
717 DROP INDEX UNIQ_1D63E7E5C05FB297
718 CREATE TEMPORARY TABLE __temp__wallabag_user AS SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted, expired, credentials_expired FROM wallabag_user
719 DROP TABLE wallabag_user
720 CREATE TABLE wallabag_user (id INTEGER NOT NULL, username VARCHAR(180) NOT NULL COLLATE BINARY, username_canonical VARCHAR(180) NOT NULL COLLATE BINARY, email VARCHAR(180) NOT NULL COLLATE BINARY, email_canonical VARCHAR(180) NOT NULL COLLATE BINARY, enabled BOOLEAN NOT NULL, salt VARCHAR(255) NOT NULL COLLATE BINARY, password VARCHAR(255) NOT NULL COLLATE BINARY, last_login DATETIME DEFAULT NULL, confirmation_token VARCHAR(180) DEFAULT NULL COLLATE BINARY, password_requested_at DATETIME DEFAULT NULL, roles CLOB NOT NULL COLLATE BINARY, name CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INTEGER DEFAULT NULL, twoFactorAuthentication BOOLEAN NOT NULL, trusted CLOB DEFAULT NULL COLLATE BINARY, expired SMALLINT DEFAULT NULL, credentials_expired SMALLINT DEFAULT NULL, PRIMARY KEY(id))
721 INSERT INTO wallabag_user (id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted, expired, credentials_expired) SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, twoFactorAuthentication, trusted, expired, credentials_expired FROM __temp__wallabag_user
722 DROP TABLE __temp__wallabag_user
723 CREATE UNIQUE INDEX UNIQ_1D63E7E592FC23A8 ON wallabag_user (username_canonical)
724 CREATE UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF ON wallabag_user (email_canonical)
725 CREATE UNIQUE INDEX UNIQ_1D63E7E5C05FB297 ON wallabag_user (confirmation_token)
726
727Migration 20161214094402
728------------------------
729
730MySQL
731^^^^^
732
733Migration up
734""""""""""""
735
736.. code-block:: sql
737
738 ALTER TABLE wallabag_entry CHANGE uuid uid VARCHAR(23)
739
740Migration down
741""""""""""""""
742
743.. code-block:: sql
744
745 ALTER TABLE wallabag_entry CHANGE uid uuid VARCHAR(23)
746
747PostgreSQL
748^^^^^^^^^^
749
750Migration up
751""""""""""""
752
753.. code-block:: sql
754
755 ALTER TABLE wallabag_entry RENAME uuid TO uid
756
757Migration down
758""""""""""""""
759
760.. code-block:: sql
761
762 ALTER TABLE wallabag_entry RENAME uid TO uuid
763
764SQLite
765^^^^^^
766
767Migration up
768""""""""""""
769
770.. code-block:: sql
771
772 CREATE TABLE __temp__wallabag_entry (
773 id INTEGER NOT NULL,
774 user_id INTEGER DEFAULT NULL,
775 uid VARCHAR(23) DEFAULT NULL,
776 title CLOB DEFAULT NULL,
777 url CLOB DEFAULT NULL,
778 is_archived BOOLEAN NOT NULL,
779 is_starred BOOLEAN NOT NULL,
780 content CLOB DEFAULT NULL,
781 created_at DATETIME NOT NULL,
782 updated_at DATETIME NOT NULL,
783 mimetype CLOB DEFAULT NULL,
784 language CLOB DEFAULT NULL,
785 reading_time INTEGER DEFAULT NULL,
786 domain_name CLOB DEFAULT NULL,
787 preview_picture CLOB DEFAULT NULL,
788 is_public BOOLEAN DEFAULT '0',
789 http_status VARCHAR(3) DEFAULT NULL,
790 PRIMARY KEY(id)
791 );
792 INSERT INTO __temp__wallabag_entry SELECT id,user_id,uuid,title,url,is_archived,is_starred,content,created_at,updated_at,mimetype,language,reading_time,domain_name,preview_picture,is_public,http_status FROM wallabag_entry;
793 DROP TABLE wallabag_entry;
794 ALTER TABLE __temp__wallabag_entry RENAME TO wallabag_entry
795 CREATE INDEX uid ON wallabag_entry (uid)
796 CREATE INDEX created_at ON wallabag_entry (created_at)
797 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
798
799
800Migration down
801""""""""""""""
802
803.. code-block:: sql
804
805 CREATE TABLE __temp__wallabag_entry (
806 id INTEGER NOT NULL,
807 user_id INTEGER DEFAULT NULL,
808 uuid VARCHAR(23) DEFAULT NULL,
809 title CLOB DEFAULT NULL,
810 url CLOB DEFAULT NULL,
811 is_archived BOOLEAN NOT NULL,
812 is_starred BOOLEAN NOT NULL,
813 content CLOB DEFAULT NULL,
814 created_at DATETIME NOT NULL,
815 updated_at DATETIME NOT NULL,
816 mimetype CLOB DEFAULT NULL,
817 language CLOB DEFAULT NULL,
818 reading_time INTEGER DEFAULT NULL,
819 domain_name CLOB DEFAULT NULL,
820 preview_picture CLOB DEFAULT NULL,
821 is_public BOOLEAN DEFAULT '0',
822 http_status VARCHAR(3) DEFAULT NULL,
823 PRIMARY KEY(id)
824 );
825 INSERT INTO __temp__wallabag_entry SELECT id,user_id,uid,title,url,is_archived,is_starred,content,created_at,updated_at,mimetype,language,reading_time,domain_name,preview_picture,is_public,http_status FROM wallabag_entry;
826 DROP TABLE wallabag_entry;
827 ALTER TABLE __temp__wallabag_entry RENAME TO wallabag_entry
828 CREATE INDEX uid ON wallabag_entry (uid)
829 CREATE INDEX created_at ON wallabag_entry (created_at)
830 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
831
832Migration 20161214094403
833------------------------
834
835MySQL
836^^^^^
837
838Migration up
839""""""""""""
840
841.. code-block:: sql
842
843 CREATE INDEX IDX_entry_uid ON wallabag_entry (uid)
844
845Migration down
846""""""""""""""
847
848.. code-block:: sql
849
850 DROP INDEX IDX_entry_uid ON wallabag_entry
851
852PostgreSQL
853^^^^^^^^^^
854
855Migration up
856""""""""""""
857
858.. code-block:: sql
859
860 CREATE INDEX IDX_entry_uid ON wallabag_entry (uid)
861
862Migration down
863""""""""""""""
864
865.. code-block:: sql
866
867 DROP INDEX idx_entry_uid
868
869SQLite
870^^^^^^
871
872Migration up
873""""""""""""
874
875.. code-block:: sql
876
877 DROP INDEX IDX_F4D18282A76ED395
878 DROP INDEX created_at_idx
879 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
880 DROP TABLE wallabag_entry
881 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
882 INSERT INTO wallabag_entry (id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
883 DROP TABLE __temp__wallabag_entry
884 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
885 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
886 CREATE INDEX IDX_entry_uid ON wallabag_entry (uid)
887
888Migration down
889""""""""""""""
890
891.. code-block:: sql
892
893 DROP INDEX IDX_entry_uid
894 DROP INDEX created_at_idx
895 DROP INDEX IDX_F4D18282A76ED395
896 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM wallabag_entry
897 DROP TABLE wallabag_entry
898 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uid CLOB DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', PRIMARY KEY(id))
899 INSERT INTO wallabag_entry (id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public) SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public FROM __temp__wallabag_entry
900 DROP TABLE __temp__wallabag_entry
901 CREATE INDEX created_at_idx ON wallabag_entry (created_at)
902 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
903
904Migration 20170127093841
905------------------------
906
907MySQL
908^^^^^
909
910Migration up
911""""""""""""
912
913.. code-block:: sql
914
915 CREATE INDEX IDX_entry_starred ON wallabag_entry (is_starred)
916 CREATE INDEX IDX_entry_archived ON wallabag_entry (is_archived)
917
918Migration down
919""""""""""""""
920
921.. code-block:: sql
922
923 DROP INDEX IDX_entry_starred ON wallabag_entry
924 DROP INDEX IDX_entry_archived ON wallabag_entry
925
926PostgreSQL
927^^^^^^^^^^
928
929Migration up
930""""""""""""
931
932.. code-block:: sql
933
934 CREATE INDEX IDX_entry_starred ON wallabag_entry (is_starred)
935 CREATE INDEX IDX_entry_archived ON wallabag_entry (is_archived)
936
937Migration down
938""""""""""""""
939
940.. code-block:: sql
941
942 DROP INDEX IDX_entry_starred
943 DROP INDEX IDX_entry_archived
944
945SQLite
946^^^^^^
947
948Migration up
949""""""""""""
950
951.. code-block:: sql
952
953 DROP INDEX uid
954 DROP INDEX created_at
955 DROP INDEX IDX_F4D18282A76ED395
956 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status FROM wallabag_entry
957 DROP TABLE wallabag_entry
958 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uid VARCHAR(23) DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', http_status VARCHAR(3) DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
959 INSERT INTO wallabag_entry (id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status) SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status FROM __temp__wallabag_entry
960 DROP TABLE __temp__wallabag_entry
961 CREATE INDEX uid ON wallabag_entry (uid)
962 CREATE INDEX created_at ON wallabag_entry (created_at)
963 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
964 CREATE INDEX IDX_entry_starred ON wallabag_entry (is_starred)
965 CREATE INDEX IDX_entry_archived ON wallabag_entry (is_archived)
966
967Migration down
968""""""""""""""
969
970.. code-block:: sql
971
972 DROP INDEX IDX_entry_archived
973 DROP INDEX IDX_entry_starred
974 DROP INDEX IDX_F4D18282A76ED395
975 DROP INDEX created_at
976 DROP INDEX uid
977 CREATE TEMPORARY TABLE __temp__wallabag_entry AS SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status FROM wallabag_entry
978 DROP TABLE wallabag_entry
979 CREATE TABLE wallabag_entry (id INTEGER NOT NULL, user_id INTEGER DEFAULT NULL, uid VARCHAR(23) DEFAULT NULL COLLATE BINARY, title CLOB DEFAULT NULL COLLATE BINARY, url CLOB DEFAULT NULL COLLATE BINARY, is_archived BOOLEAN NOT NULL, is_starred BOOLEAN NOT NULL, content CLOB DEFAULT NULL COLLATE BINARY, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, mimetype CLOB DEFAULT NULL COLLATE BINARY, language CLOB DEFAULT NULL COLLATE BINARY, reading_time INTEGER DEFAULT NULL, domain_name CLOB DEFAULT NULL COLLATE BINARY, preview_picture CLOB DEFAULT NULL COLLATE BINARY, is_public BOOLEAN DEFAULT '0', http_status VARCHAR(3) DEFAULT NULL COLLATE BINARY, PRIMARY KEY(id))
980 INSERT INTO wallabag_entry (id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status) SELECT id, user_id, uid, title, url, is_archived, is_starred, content, created_at, updated_at, mimetype, language, reading_time, domain_name, preview_picture, is_public, http_status FROM __temp__wallabag_entry
981 DROP TABLE __temp__wallabag_entry
982 CREATE INDEX IDX_F4D18282A76ED395 ON wallabag_entry (user_id)
983 CREATE INDEX created_at ON wallabag_entry (created_at)
984 CREATE INDEX uid ON wallabag_entry (uid)
diff --git a/docs/fr/user/tags.rst b/docs/fr/user/tags.rst
deleted file mode 100644
index 8ddc0f40..00000000
--- a/docs/fr/user/tags.rst
+++ /dev/null
@@ -1,2 +0,0 @@
1Tags
2==== \ No newline at end of file
diff --git a/docs/fr/user/upgrade.rst b/docs/fr/user/upgrade.rst
deleted file mode 100644
index af198006..00000000
--- a/docs/fr/user/upgrade.rst
+++ /dev/null
@@ -1,140 +0,0 @@
1Mettre à jour votre installation de wallabag
2============================================
3
4Vous trouverez ici différentes manières de mettre à jour wallabag :
5
6- `de la 2.1.x à la 2.2.x <#mettre-a-jour-de-la-2-1-x-a-la-2-2-x>`_
7- `de la 2.0.x à la 2.1.1 <#mettre-a-jour-de-la-2-0-x-a-la-2-1-1>`_
8- `de la 1.x à la 2.x <#depuis-wallabag-1-x>`_
9
10Mettre à jour de la 2.1.x à la 2.2.x
11------------------------------------
12
13Mise à jour sur un serveur dédié
14^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
15
16**Depuis 2.1.x:**
17
18::
19
20 make update
21 php bin/console doctrine:migrations:migrate --no-interaction -e=prod
22
23**Depuis 2.2.0:**
24
25::
26
27 make update
28
29Explications à propos des migrations de base de données
30"""""""""""""""""""""""""""""""""""""""""""""""""""""""
31
32Durant la mise à jour, nous exécutons des migrations de base de données.
33
34Toutes les migrations de base de données sont stockées dans le dossier ``app/DoctrineMigrations``. Vous pouvez exécuter chaque migration individuellement :
35``bin/console doctrine:migrations:execute 20161001072726 --env=prod``.
36
37Voici la liste des migrations de la 2.1.x à la 2.2.0 :
38
39* ``20161001072726``: ajout de clés étrangères pour la réinitialisation de compte
40* ``20161022134138``: conversion de la base de données à l'encodage ``utf8mb4`` (pour MySQL uniquement)
41* ``20161024212538``: ajout de la colonne ``user_id`` sur la table ``oauth2_clients`` pour empêcher les utilisateurs de supprimer des clients API d'autres utilisateurs
42* ``20161031132655``: ajout du paramètre interne pour activer/désactiver le téléchargement des images
43* ``20161104073720``: ajout de l'index ``created_at`` sur la table ``entry``
44* ``20161106113822``: ajout du champ ``action_mark_as_read`` sur la table ``config``
45* ``20161117071626``: ajout du paramètre interne pour partager ses articles vers unmark.it
46* ``20161118134328``: ajout du champ ``http_status`` sur la table ``entry``
47* ``20161122144743``: ajout du paramètre interne pour activer/désactiver la récupération d'articles derrière un paywall
48* ``20161122203647``: suppression des champs ``expired`` et ``credentials_expired`` sur la table ``user``
49* ``20161128084725``: ajout du champ ``list_mode`` sur la table ``config``
50* ``20161128131503``: suppression des champs ``locked``, ``credentials_expire_at`` et ``expires_at`` sur la table ``user``
51* ``20161214094402``: renommage du champ ``uuid`` en ``uid`` sur la table ``entry``
52* ``20161214094403``: ajout de l'index ``uid`` sur la table ``entry``
53* ``20170127093841``: ajout des index ``is_starred`` et ``is_archived`` sur la table ``entry``
54
55Mise à jour sur un hébergement mutualisé
56^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
57
58Effectuez une sauvegarde du fichier ``app/config/parameters.yml``.
59
60Téléchargez la dernière version de wallabag :
61
62.. code-block:: bash
63
64 wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-package
65
66Vous trouverez `le hash md5 du dernier package sur notre site <https://static.wallabag.org/releases/>`_.
67
68Décompressez l'archive dans votre répertoire d'installation et remplacez le fichier ``app/config/parameters.yml`` avec le votre.
69
70Merci de vérifier que votre fichier ``app/config/parameters.yml`` contient tous les paramètres requis. Vous trouverez `ici une documentation détaillée concernant les paramètres <http://doc.wallabag.org/fr/master/user/parameters.html>`_.
71
72Si vous utilisez SQLite, vous devez également conserver le contenu du répertoire ``data/``.
73
74Videz le répertoire ``var/cache``.
75
76Vous allez devoir également exécuter des requêtes SQL pour mettre à jour votre base de données. Nous partons du principe que le préfixe de vos tables est ``wallabag_``.
77
78`Vous trouverez toutes les requêtes à exécuter ici <http://doc.wallabag.org/fr/master/user/query-upgrade-21-22.html>`_.
79
80
81Mettre à jour de la 2.0.x à la 2.1.1
82------------------------------------
83
84.. warning::
85Avant cette migration, si vous aviez configuré l'import depuis Pocket en ajoutant votre consumer key dans les paramètres internes, pensez à effectuer une sauvegarde de celle-ci : vous devrez l'ajouter dans la configuration de wallabag après la mise à jour.
86
87Mise à jour sur un serveur dédié
88^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
89
90::
91
92 rm -rf var/cache/*
93 git fetch origin
94 git fetch --tags
95 git checkout 2.1.1 --force
96 SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
97 php bin/console doctrine:migrations:migrate --env=prod
98 php bin/console cache:clear --env=prod
99
100Mise à jour sur un hébergement mutualisé
101^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
102
103Effectuez une sauvegarde du fichier ``app/config/parameters.yml``.
104
105Téléchargez la version 2.1.1 de wallabag :
106
107.. code-block:: bash
108
109 wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz
110
111(hash md5 de l'archive 2.1.1 : ``9584a3b60a2b2a4de87f536548caac93``)
112
113Décompressez l'archive dans votre répertoire d'installation et remplacez le fichier ``app/config/parameters.yml`` avec le votre.
114
115Merci de vérifier que votre fichier ``app/config/parameters.yml`` contient tous les paramètres requis. Vous trouverez `ici une documentation détaillée concernant les paramètres <http://doc.wallabag.org/fr/master/user/parameters.html>`_.
116
117Si vous utilisez SQLite, vous devez également conserver le contenu du répertoire ``data/``.
118
119Videz le répertoire ``var/cache``.
120
121Vous allez devoir également exécuter des requêtes SQL pour mettre à jour votre base de données. Nous partons du principe que le préfixe de vos tables est ``wallabag_`` et que le serveur SQL est un serveur MySQL :
122
123.. code-block:: sql
124
125 ALTER TABLE `wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL;
126 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('share_public', '1', 'entry');
127 ALTER TABLE `wallabag_oauth2_clients` ADD name longtext COLLATE 'utf8_unicode_ci' DEFAULT NULL;
128 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_redis', '0', 'import');
129 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_rabbitmq', '0', 'import');
130 ALTER TABLE `wallabag_config` ADD `pocket_consumer_key` VARCHAR(255) DEFAULT NULL;
131 DELETE FROM `wallabag_craue_config_setting` WHERE `name` = 'pocket_consumer_key';
132
133Depuis wallabag 1.x
134-------------------
135
136Il n'y a pas de script automatique pour mettre à jour wallabag 1.x en wallabag 2.x. Vous devez :
137
138- exportez vos données
139- installer wallabag 2.x (`lisez la documentation d'installation <http://doc.wallabag.org/fr/master/user/installation.html>`_ )
140- importer vos données dans votre installation toute propre (`lisez la documentation d'import <http://doc.wallabag.org/fr/master/user/import.html>`_ )
diff --git a/docs/img/user/2FA_form.png b/docs/img/user/2FA_form.png
deleted file mode 100644
index 69b4697d..00000000
--- a/docs/img/user/2FA_form.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/activated_account.png b/docs/img/user/activated_account.png
deleted file mode 100644
index d1ecc3cc..00000000
--- a/docs/img/user/activated_account.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_configuration_connection_test.de.png b/docs/img/user/android_configuration_connection_test.de.png
deleted file mode 100644
index 63394f87..00000000
--- a/docs/img/user/android_configuration_connection_test.de.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_configuration_connection_test.en.png b/docs/img/user/android_configuration_connection_test.en.png
deleted file mode 100644
index 479cd09a..00000000
--- a/docs/img/user/android_configuration_connection_test.en.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_configuration_connection_test_success.de.png b/docs/img/user/android_configuration_connection_test_success.de.png
deleted file mode 100644
index f5c1971e..00000000
--- a/docs/img/user/android_configuration_connection_test_success.de.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_configuration_connection_test_success.en.png b/docs/img/user/android_configuration_connection_test_success.en.png
deleted file mode 100644
index 840f00cd..00000000
--- a/docs/img/user/android_configuration_connection_test_success.en.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_configuration_feed_credentials_automatically_filled_in.de.png b/docs/img/user/android_configuration_feed_credentials_automatically_filled_in.de.png
deleted file mode 100644
index a191a6ee..00000000
--- a/docs/img/user/android_configuration_feed_credentials_automatically_filled_in.de.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_configuration_feed_credentials_automatically_filled_in.en.png b/docs/img/user/android_configuration_feed_credentials_automatically_filled_in.en.png
deleted file mode 100644
index df071b8b..00000000
--- a/docs/img/user/android_configuration_feed_credentials_automatically_filled_in.en.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_configuration_filled_in.de.png b/docs/img/user/android_configuration_filled_in.de.png
deleted file mode 100644
index 4cd8d709..00000000
--- a/docs/img/user/android_configuration_filled_in.de.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_configuration_filled_in.en.png b/docs/img/user/android_configuration_filled_in.en.png
deleted file mode 100644
index 368ac515..00000000
--- a/docs/img/user/android_configuration_filled_in.en.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_configuration_get_feed_credentials.de.png b/docs/img/user/android_configuration_get_feed_credentials.de.png
deleted file mode 100644
index 1c401cba..00000000
--- a/docs/img/user/android_configuration_get_feed_credentials.de.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_configuration_get_feed_credentials.en.png b/docs/img/user/android_configuration_get_feed_credentials.en.png
deleted file mode 100644
index 2a8958ff..00000000
--- a/docs/img/user/android_configuration_get_feed_credentials.en.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_configuration_saved_feed_update.de.png b/docs/img/user/android_configuration_saved_feed_update.de.png
deleted file mode 100644
index 2af41025..00000000
--- a/docs/img/user/android_configuration_saved_feed_update.de.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_configuration_saved_feed_update.en.png b/docs/img/user/android_configuration_saved_feed_update.en.png
deleted file mode 100644
index f1c06f17..00000000
--- a/docs/img/user/android_configuration_saved_feed_update.en.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_configuration_screen.de.png b/docs/img/user/android_configuration_screen.de.png
deleted file mode 100644
index 7bf72182..00000000
--- a/docs/img/user/android_configuration_screen.de.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_configuration_screen.en.png b/docs/img/user/android_configuration_screen.en.png
deleted file mode 100644
index 945fd7c8..00000000
--- a/docs/img/user/android_configuration_screen.en.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_configuration_scroll_bottom.de.png b/docs/img/user/android_configuration_scroll_bottom.de.png
deleted file mode 100644
index 82108324..00000000
--- a/docs/img/user/android_configuration_scroll_bottom.de.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_configuration_scroll_bottom.en.png b/docs/img/user/android_configuration_scroll_bottom.en.png
deleted file mode 100644
index 11a6fc5a..00000000
--- a/docs/img/user/android_configuration_scroll_bottom.en.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_unread_feed_synced.de.png b/docs/img/user/android_unread_feed_synced.de.png
deleted file mode 100644
index a3b6ed00..00000000
--- a/docs/img/user/android_unread_feed_synced.de.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_unread_feed_synced.en.png b/docs/img/user/android_unread_feed_synced.en.png
deleted file mode 100644
index 8451557e..00000000
--- a/docs/img/user/android_unread_feed_synced.en.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_welcome_screen.de.png b/docs/img/user/android_welcome_screen.de.png
deleted file mode 100644
index 4d3543d8..00000000
--- a/docs/img/user/android_welcome_screen.de.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/android_welcome_screen.en.png b/docs/img/user/android_welcome_screen.en.png
deleted file mode 100644
index a3741d50..00000000
--- a/docs/img/user/android_welcome_screen.en.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/annotations_1.png b/docs/img/user/annotations_1.png
deleted file mode 100644
index 554282f5..00000000
--- a/docs/img/user/annotations_1.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/annotations_2.png b/docs/img/user/annotations_2.png
deleted file mode 100644
index 5351d2c5..00000000
--- a/docs/img/user/annotations_2.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/annotations_3.png b/docs/img/user/annotations_3.png
deleted file mode 100644
index bc371ec3..00000000
--- a/docs/img/user/annotations_3.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/download_article.png b/docs/img/user/download_article.png
deleted file mode 100644
index dd03ab92..00000000
--- a/docs/img/user/download_article.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/download_articles.png b/docs/img/user/download_articles.png
deleted file mode 100644
index afdeffdf..00000000
--- a/docs/img/user/download_articles.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/export_v1.png b/docs/img/user/export_v1.png
deleted file mode 100644
index ad2098a4..00000000
--- a/docs/img/user/export_v1.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/export_v2.png b/docs/img/user/export_v2.png
deleted file mode 100644
index e66967d0..00000000
--- a/docs/img/user/export_v2.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/export_wllbg_1.png b/docs/img/user/export_wllbg_1.png
deleted file mode 100644
index f9d24517..00000000
--- a/docs/img/user/export_wllbg_1.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/export_wllbg_2.png b/docs/img/user/export_wllbg_2.png
deleted file mode 100644
index db2d4cf6..00000000
--- a/docs/img/user/export_wllbg_2.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/filters.png b/docs/img/user/filters.png
deleted file mode 100644
index 1e566bd3..00000000
--- a/docs/img/user/filters.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/import_wallabagv1.png b/docs/img/user/import_wallabagv1.png
deleted file mode 100644
index 4ea1e1d5..00000000
--- a/docs/img/user/import_wallabagv1.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/import_wllbg.png b/docs/img/user/import_wllbg.png
deleted file mode 100644
index 6eec07e4..00000000
--- a/docs/img/user/import_wllbg.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/login_form.png b/docs/img/user/login_form.png
deleted file mode 100644
index fddfb35d..00000000
--- a/docs/img/user/login_form.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/refetch.png b/docs/img/user/refetch.png
deleted file mode 100644
index ff905248..00000000
--- a/docs/img/user/refetch.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/registration_form.png b/docs/img/user/registration_form.png
deleted file mode 100644
index 127bf2a7..00000000
--- a/docs/img/user/registration_form.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/sent_email.png b/docs/img/user/sent_email.png
deleted file mode 100644
index 0713a404..00000000
--- a/docs/img/user/sent_email.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/share.png b/docs/img/user/share.png
deleted file mode 100644
index 4cfe9edb..00000000
--- a/docs/img/user/share.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/user/topbar.png b/docs/img/user/topbar.png
deleted file mode 100644
index e20d9fc6..00000000
--- a/docs/img/user/topbar.png
+++ /dev/null
Binary files differ
diff --git a/docs/img/wallabag.png b/docs/img/wallabag.png
deleted file mode 100644
index 2dada55d..00000000
--- a/docs/img/wallabag.png
+++ /dev/null
Binary files differ
diff --git a/docs/it/conf.py b/docs/it/conf.py
deleted file mode 100644
index 5926f8c9..00000000
--- a/docs/it/conf.py
+++ /dev/null
@@ -1,55 +0,0 @@
1# -*- coding: utf-8 -*-
2#
3# wallabag documentation build configuration file, created by
4# sphinx-quickstart on Fri Oct 16 06:47:23 2015.
5
6import sys
7import os
8
9extensions = []
10templates_path = ['_templates']
11source_suffix = '.rst'
12master_doc = 'index'
13project = u'wallabag'
14copyright = u'2013-2017, Nicolas Lœuillet - MIT Licence'
15version = '2.3.0'
16release = version
17exclude_patterns = ['_build']
18pygments_style = 'sphinx'
19html_theme = 'default'
20html_static_path = ['_static']
21htmlhelp_basename = 'wallabagdoc'
22latex_elements = {
23
24}
25
26latex_documents = [
27 ('index', 'wallabag.tex', u'wallabag Documentation',
28 u'Nicolas Lœuillet', 'manual'),
29]
30
31man_pages = [
32 ('index', 'wallabag', u'wallabag Documentation',
33 [u'Nicolas Lœuillet'], 1)
34]
35
36texinfo_documents = [
37 ('index', 'wallabag', u'wallabag Documentation',
38 u'Nicolas Lœuillet', 'wallabag', 'wallabag is an opensource read-it-later.',
39 'Miscellaneous'),
40]
41
42##### Guzzle sphinx theme
43
44import guzzle_sphinx_theme
45html_translator_class = 'guzzle_sphinx_theme.HTMLTranslator'
46html_theme_path = guzzle_sphinx_theme.html_theme_path()
47html_theme = 'guzzle_sphinx_theme'
48
49# Custom sidebar templates, maps document names to template names.
50html_sidebars = {
51 '**': ['logo-text.html', 'globaltoc.html', 'searchbox.html']
52}
53
54# Register the theme as an extension to generate a sitemap.xml
55extensions.append("guzzle_sphinx_theme")
diff --git a/docs/it/developer/api.rst b/docs/it/developer/api.rst
deleted file mode 100644
index fc19a175..00000000
--- a/docs/it/developer/api.rst
+++ /dev/null
@@ -1,269 +0,0 @@
1Documentazione su API
2---------------------
3
4Grazie a questa documentazione, vedremo come interagire con l'API di wallabag.
5
6Requisiti
7---------
8
9* wallabag appena (o no) installato su http://localhost:8000
10* ``httpie`` installato sul vostro computer (`guardate il sito del progetto <https://github.com/jkbrzt/httpie>`__). Da notare che potete anche adattare i comandi usando curl o wget.
11* tutti i metodi API documentati qui http://localhost:8000/api/doc (sulla vostra istanza) e `sulla nostra istanza d'esempio <http://v2.wallabag.org/api/doc>`_
12
13Creare un nuovo client API
14--------------------------
15
16Sul vostro account wallabag potete creare un nuovo client API presso questo URL http://localhost:8000/developer/client/create.
17
18Date solamente l'URL per il reindirizzamento della vostra applicazione e create il vostro client. Se la vostra applicazione è desktop, inserite l'URL che preferite.
19
20Toverete informazioni come queste:
21
22::
23
24 Client ID:
25
26 1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc
27
28 Client secret:
29
30 636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4
31
32
33Ottenere un token per il ricaricamento
34--------------------------------------
35
36Per ogni chiamata API avrete bisogno di un token. Creiamolo con questo comando (rimpiazzate ``client_id``, ``client_secret``, ``username`` and ``password`` con i loro valori):
37
38::
39
40 http POST http://localhost:8000/oauth/v2/token \
41 grant_type=password \
42 client_id=1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc \
43 client_secret=636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4 \
44 username=wallabag \
45 password=wallabag
46
47Otterrete questo risultato:
48
49::
50
51 HTTP/1.1 200 OK
52 Cache-Control: no-store, private
53 Connection: close
54 Content-Type: application/json
55 Date: Tue, 05 Apr 2016 08:44:33 GMT
56 Host: localhost:8000
57 Pragma: no-cache
58 X-Debug-Token: 19c8e0
59 X-Debug-Token-Link: /_profiler/19c8e0
60 X-Powered-By: PHP/7.0.4
61
62 {
63 "access_token": "ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA",
64 "expires_in": 3600,
65 "refresh_token": "OTNlZGE5OTJjNWQwYzc2NDI5ZGE5MDg3ZTNjNmNkYTY0ZWZhZDVhNDBkZTc1ZTNiMmQ0MjQ0OThlNTFjNTQyMQ",
66 "scope": null,
67 "token_type": "bearer"
68 }
69
70Lavoreremo con il valore ``access_token`` nelle nostre prossime chiamate.
71
72esempio di cURL:
73
74::
75
76 curl -s "https://localhost:8000/oauth/v2/token?grant_type=password&client_id=1_3o53gl30vhgk0c8ks4cocww08o84448osgo40wgw4gwkoo8skc&client_secret=636ocbqo978ckw0gsw4gcwwocg8044sco0w8w84cws48ggogs4&username=wallabag&password=wallabag"
77
78Ottenere voci esistenti
79-----------------------
80
81Documentazione per questo metodo: http://localhost:8000/api/doc#get--api-entries.{_format}
82
83Mentre lavoriamo su una nuova installazione di wallabag, non otterremo risultati con questo comando:
84
85::
86
87 http GET http://localhost:8000/api/entries.json \
88 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
89
90restituisce:
91
92::
93
94 HTTP/1.1 200 OK
95 0: application/json
96 Cache-Control: no-cache
97 Connection: close
98 Content-Type: application/json
99 Date: Tue, 05 Apr 2016 08:51:32 GMT
100 Host: localhost:8000
101 Set-Cookie: PHPSESSID=nrogm748md610ovhu6j70c3q63; path=/; HttpOnly
102 X-Debug-Token: 4fbbc4
103 X-Debug-Token-Link: /_profiler/4fbbc4
104 X-Powered-By: PHP/7.0.4
105
106 {
107 "_embedded": {
108 "items": []
109 },
110 "_links": {
111 "first": {
112 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
113 },
114 "last": {
115 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
116 },
117 "self": {
118 "href": "http://localhost:8000/api/entries?page=1&perPage=30"
119 }
120 },
121 "limit": 30,
122 "page": 1,
123 "pages": 1,
124 "total": 0
125 }
126
127L'insieme ``items`` è vuoto.
128
129esempio di cURL:
130
131::
132
133 curl --get "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
134
135Aggiungere la vostra prima voce
136-------------------------------
137
138Documentazione per questo metodo: http://localhost:8000/api/doc#post--api-entries.{_format}
139
140::
141
142 http POST http://localhost:8000/api/entries.json \
143 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA" \
144 url="http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html"
145
146restituisce:
147
148::
149
150 HTTP/1.1 200 OK
151 0: application/json
152 Cache-Control: no-cache
153 Connection: close
154 Content-Type: application/json
155 Date: Tue, 05 Apr 2016 09:07:54 GMT
156 Host: localhost:8000
157 Set-Cookie: PHPSESSID=bjie40ck72kp2pst3i71gf43a4; path=/; HttpOnly
158 X-Debug-Token: e01c51
159 X-Debug-Token-Link: /_profiler/e01c51
160 X-Powered-By: PHP/7.0.4
161
162 {
163 "_links": {
164 "self": {
165 "href": "/api/entries/1"
166 }
167 },
168 "content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readability, le logiciel Wallabag permet de mémoriser des articles pour les lire plus tard. Sa nouvelle version apporte une multitude de nouvelles fonctionnalités.</p><p>Si vous utilisez Firefox comme navigateur web, vous avez peut-être constaté l’arrivée d’<a href=\"http://www.numerama.com/magazine/33292-update-firefox.html\">une fonctionnalité intitulée Pocket</a>. Disponible autrefois sous la forme d’un module complémentaire, et sous un autre nom (Read it Later), elle est depuis le mois de juin 2015 directement incluse au sein de Firefox.</p>\n<p>Concrètement, Pocket sert à garder en mémoire des contenus que vous croisez au fil de la navigation, comme des articles de presse ou des vidéos, afin de pouvoir les consulter plus tard. Pocket fonctionne un peu comme un système de favoris, mais en bien plus élaboré grâce à ses options supplémentaires.</p>\n<p>Mais <a href=\"https://en.wikipedia.org/wiki/Pocket_%28application%29#Firefox_integration\" target=\"_blank\">Pocket fait polémique</a>, car il s’agit d’un projet propriétaire qui est intégré dans un logiciel libre. C’est pour cette raison que des utilisateurs ont choisi de se tourner vers d’autres solutions, comme <strong>Wallabag</strong>, qui est l’équivalent libre de Pocket et d’autres systèmes du même genre, comme Instapaper et Readability.</p>\n<p>Et justement, Wallabag évolue. C’est ce dimanche que la <a href=\"https://www.wallabag.org/blog/2016/04/03/wallabag-v2\" target=\"_blank\">version 2.0.0 du logiciel</a> a été publiée par l’équipe en charge de son développement et celle-ci contient de nombreux changements par rapport aux moutures précédentes (la <a href=\"http://doc.wallabag.org/fr/v2/\" target=\"_blank\">documentation est traduite</a> en français), lui permettant d’apparaître comme une alternative à Pocket, Instapaper et Readability.</p>\n<p><img class=\"aligncenter size-medium wp-image-160439\" src=\"http://www.numerama.com/content/uploads/2016/04/homepage-680x347.png\" alt=\"homepage\" width=\"680\" height=\"347\" srcset=\"//www.numerama.com/content/uploads/2016/04/homepage-680x347.png 680w, //www.numerama.com/content/uploads/2016/04/homepage-1024x523.png 1024w, //www.numerama.com/content/uploads/2016/04/homepage-270x138.png 270w, //www.numerama.com/content/uploads/2016/04/homepage.png 1286w\" sizes=\"(max-width: 680px) 100vw, 680px\"/></p>\n<p>Parmi les principaux changements que l’on peut retenir avec cette nouvelle version, notons la possibilité d’écrire des annotations dans les articles mémorisés, de filtrer les contenus selon divers critères (temps de lecture, nom de domaine, date de création, statut…), d’assigner des mots-clés aux entrées, de modifier le titre des articles, le support des flux RSS ou encore le support de plusieurs langues dont le français.</p>\n<p>D’autres options sont également à signaler, comme l’aperçu d’un article mémorisé (si l’option est disponible), un guide de démarrage rapide pour les débutants, un outil d’export dans divers formats (PDF, JSON, EPUB, MOBI, XML, CSV et TXT) et, surtout, la possibilité de migrer vers Wallabag depuis Pocket, afin de convaincre les usagers de se lancer.</p>\n \n \n <footer class=\"clearfix\" readability=\"1\"><p class=\"source\">\n Crédit photo de la une : <a href=\"https://www.flickr.com/photos/bookgrl/2388310523/\">Laura Taylor</a>\n </p>\n \n <p><a href=\"http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html?&amp;show_reader_reports\" target=\"_blank\" rel=\"nofollow\">Signaler une erreur dans le texte</a></p>\n \n</footer> <section class=\"related-article\"><header><h3>Articles liés</h3>\n </header><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/magazine/34444-firefox-prepare-l-enterrement-des-vieux-plugins.html\" title=\"Firefox prépare l'enterrement des vieux plugins\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135\" srcset=\"&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w,&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox prépare l'enterrement des vieux plugins\"/></div>\n <h4> Firefox prépare l'enterrement des vieux plugins </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/131636-activer-navigation-privee-navigateur-web.html\" title=\"Comment activer la navigation privée sur son navigateur web\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135\" srcset=\"&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w,&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Comment activer la navigation privée sur son navigateur web\"/></div>\n <h4> Comment activer la navigation privée sur son navigateur web </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/144028-firefox-se-mettra-a-jour-regulierement.html\" title=\"Firefox se mettra à jour un peu moins régulièrement\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135\" srcset=\"&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w,&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox se mettra à jour un peu moins régulièrement\"/></div>\n <h4> Firefox se mettra à jour un peu moins régulièrement </h4>\n </a>\n <footer class=\"span12\">\n </footer></article>\n</section>\n",
169 "created_at": "2016-04-05T09:07:54+0000",
170 "domain_name": "www.numerama.com",
171 "id": 1,
172 "is_archived": 0,
173 "is_starred": 0,
174 "language": "fr-FR",
175 "mimetype": "text/html",
176 "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
177 "reading_time": 2,
178 "tags": [],
179 "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
180 "updated_at": "2016-04-05T09:07:54+0000",
181 "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html",
182 "user_email": "",
183 "user_id": 1,
184 "user_name": "wallabag"
185 }
186
187Ora, se eseguite il comando precedente (vedere **Ottenere voci esistenti**), avrete dei dati.
188
189esempio di cURL:
190
191::
192
193 curl "https://localhost:8000/api/entries.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA&url=http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html"
194
195Eliminare una voce
196------------------
197
198Documentazione per questo metodo: http://localhost:8000/api/doc#delete--api-entries-{entry}.{_format}
199
200::
201
202 http DELETE http://localhost:8000/api/entries/1.json \
203 "Authorization:Bearer ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
204
205restituisce
206
207::
208
209 HTTP/1.1 200 OK
210 0: application/json
211 Cache-Control: no-cache
212 Connection: close
213 Content-Type: application/json
214 Date: Tue, 05 Apr 2016 09:19:07 GMT
215 Host: localhost:8000
216 Set-Cookie: PHPSESSID=jopgnfvmuc9a62b27sqm6iulr6; path=/; HttpOnly
217 X-Debug-Token: 887cef
218 X-Debug-Token-Link: /_profiler/887cef
219 X-Powered-By: PHP/7.0.4
220
221 {
222 "_links": {
223 "self": {
224 "href": "/api/entries/"
225 }
226 },
227 "annotations": [],
228 "content": "<p class=\"chapo\">Fonctionnant sur le même principe que Pocket, Instapaper ou Readability, le logiciel Wallabag permet de mémoriser des articles pour les lire plus tard. Sa nouvelle version apporte une multitude de nouvelles fonctionnalités.</p><p>Si vous utilisez Firefox comme navigateur web, vous avez peut-être constaté l’arrivée d’<a href=\"http://www.numerama.com/magazine/33292-update-firefox.html\">une fonctionnalité intitulée Pocket</a>. Disponible autrefois sous la forme d’un module complémentaire, et sous un autre nom (Read it Later), elle est depuis le mois de juin 2015 directement incluse au sein de Firefox.</p>\n<p>Concrètement, Pocket sert à garder en mémoire des contenus que vous croisez au fil de la navigation, comme des articles de presse ou des vidéos, afin de pouvoir les consulter plus tard. Pocket fonctionne un peu comme un système de favoris, mais en bien plus élaboré grâce à ses options supplémentaires.</p>\n<p>Mais <a href=\"https://en.wikipedia.org/wiki/Pocket_%28application%29#Firefox_integration\" target=\"_blank\">Pocket fait polémique</a>, car il s’agit d’un projet propriétaire qui est intégré dans un logiciel libre. C’est pour cette raison que des utilisateurs ont choisi de se tourner vers d’autres solutions, comme <strong>Wallabag</strong>, qui est l’équivalent libre de Pocket et d’autres systèmes du même genre, comme Instapaper et Readability.</p>\n<p>Et justement, Wallabag évolue. C’est ce dimanche que la <a href=\"https://www.wallabag.org/blog/2016/04/03/wallabag-v2\" target=\"_blank\">version 2.0.0 du logiciel</a> a été publiée par l’équipe en charge de son développement et celle-ci contient de nombreux changements par rapport aux moutures précédentes (la <a href=\"http://doc.wallabag.org/fr/v2/\" target=\"_blank\">documentation est traduite</a> en français), lui permettant d’apparaître comme une alternative à Pocket, Instapaper et Readability.</p>\n<p><img class=\"aligncenter size-medium wp-image-160439\" src=\"http://www.numerama.com/content/uploads/2016/04/homepage-680x347.png\" alt=\"homepage\" width=\"680\" height=\"347\" srcset=\"//www.numerama.com/content/uploads/2016/04/homepage-680x347.png 680w, //www.numerama.com/content/uploads/2016/04/homepage-1024x523.png 1024w, //www.numerama.com/content/uploads/2016/04/homepage-270x138.png 270w, //www.numerama.com/content/uploads/2016/04/homepage.png 1286w\" sizes=\"(max-width: 680px) 100vw, 680px\"/></p>\n<p>Parmi les principaux changements que l’on peut retenir avec cette nouvelle version, notons la possibilité d’écrire des annotations dans les articles mémorisés, de filtrer les contenus selon divers critères (temps de lecture, nom de domaine, date de création, statut…), d’assigner des mots-clés aux entrées, de modifier le titre des articles, le support des flux RSS ou encore le support de plusieurs langues dont le français.</p>\n<p>D’autres options sont également à signaler, comme l’aperçu d’un article mémorisé (si l’option est disponible), un guide de démarrage rapide pour les débutants, un outil d’export dans divers formats (PDF, JSON, EPUB, MOBI, XML, CSV et TXT) et, surtout, la possibilité de migrer vers Wallabag depuis Pocket, afin de convaincre les usagers de se lancer.</p>\n \n \n <footer class=\"clearfix\" readability=\"1\"><p class=\"source\">\n Crédit photo de la une : <a href=\"https://www.flickr.com/photos/bookgrl/2388310523/\">Laura Taylor</a>\n </p>\n \n <p><a href=\"http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html?&amp;show_reader_reports\" target=\"_blank\" rel=\"nofollow\">Signaler une erreur dans le texte</a></p>\n \n</footer> <section class=\"related-article\"><header><h3>Articles liés</h3>\n </header><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/magazine/34444-firefox-prepare-l-enterrement-des-vieux-plugins.html\" title=\"Firefox prépare l'enterrement des vieux plugins\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135\" srcset=\"&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=200,135 200w,&#10; //c2.lestechnophiles.com/www.numerama.com/content/uploads/2015/10/cimetierecolleville.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox prépare l'enterrement des vieux plugins\"/></div>\n <h4> Firefox prépare l'enterrement des vieux plugins </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/131636-activer-navigation-privee-navigateur-web.html\" title=\"Comment activer la navigation privée sur son navigateur web\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135\" srcset=\"&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=200,135 200w,&#10; //c1.lestechnophiles.com/www.numerama.com/content/uploads/2015/11/Incognito.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Comment activer la navigation privée sur son navigateur web\"/></div>\n <h4> Comment activer la navigation privée sur son navigateur web </h4>\n </a>\n <footer class=\"span12\">\n </footer></article><article class=\"post-grid format-article\"><a class=\"floatleft\" href=\"http://www.numerama.com/tech/144028-firefox-se-mettra-a-jour-regulierement.html\" title=\"Firefox se mettra à jour un peu moins régulièrement\">\n <div class=\"cover-preview cover-tech\">\n <p>Lire</p>\n \n \n \n <img class=\"cover-preview_img\" src=\"http://c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135\" srcset=\"&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=200,135 200w,&#10; //c0.lestechnophiles.com/www.numerama.com/content/uploads/2016/02/firefox-mobile.jpg?resize=100,67 100w,&#10; \" sizes=\"(min-width: 1001px) 200px, (max-width: 1000px) 100px\" alt=\"Firefox se mettra à jour un peu moins régulièrement\"/></div>\n <h4> Firefox se mettra à jour un peu moins régulièrement </h4>\n </a>\n <footer class=\"span12\">\n </footer></article>\n</section>\n",
229 "created_at": "2016-04-05T09:07:54+0000",
230 "domain_name": "www.numerama.com",
231 "is_archived": 0,
232 "is_starred": 0,
233 "language": "fr-FR",
234 "mimetype": "text/html",
235 "preview_picture": "http://www.numerama.com/content/uploads/2016/04/post-it.jpg",
236 "reading_time": 2,
237 "tags": [],
238 "title": "Le Pocket libre Wallabag fait le plein de fonctionnalités - Tech - Numerama",
239 "updated_at": "2016-04-05T09:07:54+0000",
240 "url": "http://www.numerama.com/tech/160115-le-pocket-libre-wallabag-fait-le-plein-de-fonctionnalites.html",
241 "user_email": "",
242 "user_id": 1,
243 "user_name": "wallabag"
244 }
245
246E se volete elencare le voci esistenti (vedere **Ottenere voci esistenti**), l'insieme è vuoto.
247
248esempio di cURL:
249
250::
251
252 curl --request DELETE "https://localhost:8000/api/entries/1.html?access_token=ZGJmNTA2MDdmYTdmNWFiZjcxOWY3MWYyYzkyZDdlNWIzOTU4NWY3NTU1MDFjOTdhMTk2MGI3YjY1ZmI2NzM5MA"
253
254Altri metodi
255------------
256
257Non scriveremo esempi per ogni metodo API.
258Guardate l'elenco qui : http://localhost:8000/api/doc per ogni metodo conosciuto.
259
260Risorse di terze parti
261----------------------
262
263Alcune applicazioni o librerie usano le nostre API. Ecco una lista non esaustiva:
264
265- `Wrapper Java per l'API di wallabag <https://github.com/Strubbl/jWallabag>`_ di Strubbl.
266- `Libreria .NET per l'API di wallabag v2 <https://github.com/jlnostr/wallabag-api>`_ di Julian Oster.
267- `API di Python per wallabag <https://github.com/foxmask/wallabag_api>`_ di FoxMaSk, per il suo progetto `Trigger Happy <https://blog.trigger-happy.eu/>`_.
268- `Un plugin <https://github.com/joshp23/ttrss-to-wallabag-v2>`_ creato per `Tiny Tiny RSS <https://tt-rss.org/gitlab/fox/tt-rss/wikis/home>`_ questo usa l'API di wallabag v2. Di Josh Panter.
269- `Wrapper Golang per l'API di wallabag <https://github.com/Strubbl/wallabago>`_ di Strubbl, per il suo progetto `wallabag-stats graph <https://github.com/Strubbl/wallabag-stats>`_.
diff --git a/docs/it/developer/asynchronous.rst b/docs/it/developer/asynchronous.rst
deleted file mode 100644
index d753bd23..00000000
--- a/docs/it/developer/asynchronous.rst
+++ /dev/null
@@ -1,162 +0,0 @@
1Compiti Asincroni
2=================
3
4Per avviare compiti asincroni (utile ad esempio per grandi importazioni), Possiamo usare RabbitMQ o Redis.
5
6Installare RabbitMQ per compiti asincroni
7-----------------------------------------
8
9Requisiti
10^^^^^^^^^
11
12Dovete avere RabbitMQ installato sul vostro server.
13
14Installazione
15^^^^^^^^^^^^^
16
17.. code:: bash
18
19 wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
20 apt-key add rabbitmq-signing-key-public.asc
21 apt-get update
22 apt-get install rabbitmq-server
23
24Configurazione ed avvio
25^^^^^^^^^^^^^^^^^^^^^^^
26
27.. code:: bash
28
29 rabbitmq-plugins enable rabbitmq_management # (useful to have a web interface, available at http://localhost:15672/ (guest/guest)
30 rabbitmq-server -detached
31
32Fermare RabbitMQ
33^^^^^^^^^^^^^^^^
34
35.. code:: bash
36
37 rabbitmqctl stop
38
39
40Configurare RabbitMQ in wallabag
41^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
42
43Modificate il vostro file ``app/config/parameters.yml`` per modificare la configurazione di RabbitMQ. Quella di default dovrebbe andare bene:
44
45.. code:: yaml
46
47 rabbitmq_host: localhost
48 rabbitmq_port: 5672
49 rabbitmq_user: guest
50 rabbitmq_password: guest
51 rabbitmq_prefetch_count: 10 # read http://www.rabbitmq.com/consumer-prefetch.html
52
53Abilitare RabbitMQ su wallabag
54^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
55
56Su Strumenti, nella sezione **Importa**, abilitate RabbitMQ (con il valore 1).
57
58Avviare RabbitMQ consumer
59^^^^^^^^^^^^^^^^^^^^^^^^^
60
61Dipendendo da quale servizio vogliate importare, dovrete abilitare uno (o più se volete supportare molti) o più cronjob:
62
63.. code:: bash
64
65 # per importare da Pocket
66 bin/console rabbitmq:consumer -e=prod import_pocket -w
67
68 # per importare da Readability
69 bin/console rabbitmq:consumer -e=prod import_readability -w
70
71 # per importare da Instapaper
72 bin/console rabbitmq:consumer -e=prod import_instapaper -w
73
74 # per importare da wallabag v1
75 bin/console rabbitmq:consumer -e=prod import_wallabag_v1 -w
76
77 # per importare da wallabag v2
78 bin/console rabbitmq:consumer -e=prod import_wallabag_v2 -w
79
80 # per importare da Firefox
81 bin/console rabbitmq:consumer -e=prod import_firefox -w
82
83 # per importare da Chrome
84 bin/console rabbitmq:consumer -e=prod import_chrome -w
85
86Installare Redis per compiti asincroni
87--------------------------------------
88
89Per avviare compiti asincroni (utile ad esempio per grandi importazioni), Possiamo usare Redis.
90
91Requisiti
92^^^^^^^^^
93
94Dovete avere Redis installato sul vostro server.
95
96Installazione
97^^^^^^^^^^^^^
98
99.. code:: bash
100
101 apt-get install redis-server
102
103
104Avvio
105^^^^^
106
107Il server dovrebbe già essere attivo dopo l'installazione, altrimenti potete avviarlo usando:
108
109.. code:: bash
110
111 redis-server
112
113
114Configurare Redis su wallabag
115^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
116
117Modificate il vostro file ``app/config/parameters.yml`` per modificare la configurazione di Redis. Quella di default dovrebbe andare bene:
118
119.. code:: yaml
120
121 redis_host: localhost
122 redis_port: 6379
123
124Abilitare Redis su wallabag
125^^^^^^^^^^^^^^^^^^^^^^^^^^^
126
127Su Strumenti, nella sezione **Importa**, abilitate Redis (con il valore 1).
128
129Avviare Redis consumer
130^^^^^^^^^^^^^^^^^^^^^^
131
132Dipendendo da quale servizio vogliate importare, dovrete abilitare uno (o più se volete supportare molti) o più cronjob:
133
134.. code:: bash
135
136 # per importare da Pocket
137 bin/console wallabag:import:redis-worker -e=prod pocket -vv >> /path/to/wallabag/var/logs/redis-pocket.log
138
139 # per importare da Readability
140 bin/console wallabag:import:redis-worker -e=prod readability -vv >> /path/to/wallabag/var/logs/redis-readability.log
141
142 # per importare da Instapaper
143 bin/console wallabag:import:redis-worker -e=prod instapaper -vv >> /path/to/wallabag/var/logs/redis-instapaper.log
144
145 # per importare da wallabag v1
146 bin/console wallabag:import:redis-worker -e=prod wallabag_v1 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v1.log
147
148 # per importare da wallabag v2
149 bin/console wallabag:import:redis-worker -e=prod wallabag_v2 -vv >> /path/to/wallabag/var/logs/redis-wallabag_v2.log
150
151 # per importare da Firefox
152 bin/console wallabag:import:redis-worker -e=prod firefox -vv >> /path/to/wallabag/var/logs/redis-firefox.log
153
154 # per importare da Chrome
155 bin/console wallabag:import:redis-worker -e=prod chrome -vv >> /path/to/wallabag/var/logs/redis-chrome.log
156
157Se volete avviare l'importazione solamente per alcuni messaggi e non tutti, potete specificare questo numero (qui 12) e il programma si fermerà dopo il dodicesimo messaggio:
158
159.. code:: bash
160
161 bin/console wallabag:import:redis-worker -e=prod pocket -vv --maxIterations=12
162
diff --git a/docs/it/developer/docker.rst b/docs/it/developer/docker.rst
deleted file mode 100644
index f07df20d..00000000
--- a/docs/it/developer/docker.rst
+++ /dev/null
@@ -1,41 +0,0 @@
1Eseguite wallabag in docker-compose
2===================================
3
4Per eseguire la vostra propria istanza di sviluppo di wallabag, dovreste usare i file docker compose preconfigurati.
5
6Requisiti
7---------
8
9Assicuratevi di avere `Docker
10<https://docs.docker.com/installation/ubuntulinux/>` e `Docker
11Compose <https://docs.docker.com/compose/install/>`__ disponibili sul vostro sistema e aggiornati.
12
13Cambiate DBMS
14-------------
15
16Per default, wallabag inizierá con un database SQLite.
17Visto che wallabag supporta Postgresql e MySQL, i container di docker sono disponibili anche per questi.
18
19In ``docker-compose.yml``, per il DBMS scelto, togliete i commenti:
20
21- la definizione del container (blocco a livello root ``postgres`` o ``mariadb``)
22- il link del container nel container``php``
23- il file env del container nel container ``php``
24
25Per far continuare ad eseguire i comandi Symfony sul vostro host (come ``wallabag:install``), dovreste anche:
26
27- caricare i file env appropriati sulla vostra riga di comando, in modo che possano esistere variabili come ``SYMFONY__ENV__DATABASE_HOST``.
28- creare un ``127.0.0.1 rdbms`` sul vostro file di sistema ``hosts``
29
30Eseguite wallabag
31-----------------
32
33#. Fate un fork o clonate il progetto
34#. Modificate ``app/config/parameters.yml`` per rimpiazzare le proprietá di ``database_*`` con quelle commentate (con valori con prefisso ``env.``)
35#. ``composer install`` per installare le dipendenze del progetto
36#. ``php bin/console wallabag:install`` per creare lo schema
37#. ``docker-compose up`` per eseguire i containers
38#. Infine, andate su http://localhost:8080/ per trovare il vostro wallabag appena installato.
39
40Durante i vari passi potreste incontrare problemi di permessi UNIX, percorsi sbagliati nella cache generata, etc...
41Operazioni come cambiare i file della cache o cambiare i proprietari dei file potrebbero essere richiesto frequentemente, per cui non abbiate paura!
diff --git a/docs/it/developer/documentation.rst b/docs/it/developer/documentation.rst
deleted file mode 100644
index d4b63bb6..00000000
--- a/docs/it/developer/documentation.rst
+++ /dev/null
@@ -1,12 +0,0 @@
1Contribuite a questa documentazione
2===================================
3
4Le fonti della nostra documentazione sono qui https://github.com/wallabag/wallabag/tree/master/docs
5
6Usiamo `ReadTheDocs
7<https://readthedocs.org>`__ per generarla.
8
9Le pagine sono scritte nel formato `Restructured Text
10<https://en.wikipedia.org/wiki/ReStructuredText>`__. Potete usare strumenti online come http://rst.aaroniles.net/ o http://rst.ninjs.org/ per vedere un'anteprima dei vostri articoli.
11
12Se create una nuova pagina, non scordatevi di modificare il file `index.rst <https://raw.githubusercontent.com/wallabag/wallabag/master/docs/en/index.rst>`__ per aggiungere un link nella barra laterale.
diff --git a/docs/it/developer/paywall.rst b/docs/it/developer/paywall.rst
deleted file mode 100644
index 2c4e1bf7..00000000
--- a/docs/it/developer/paywall.rst
+++ /dev/null
@@ -1,52 +0,0 @@
1Articoli dietro ad un paywall
2=============================
3
4wallabag puó acquisire articoli da siti web che usano un sistema paywall
5
6Abilitate l'autenticazione paywall
7----------------------------------
8
9Su impostazioni interne, nella sezione **Articolo**, abilitate l'autenticazione per siti con paywall (con il valore 1).
10
11Configurate le credenziali in wallabag
12--------------------------------------
13
14Modificate il vostro file ``app/config/parameters.yml`` per modificare le credenziali per ogni sito con paywall. Ecco un esempio di alcuni siti francesi:
15
16.. code:: yaml
17
18 sites_credentials:
19 mediapart.fr: {username: "myMediapartLogin", password: "mypassword"}
20 arretsurimages.net: {username: "myASILogin", password: "mypassword"}
21
22.. note::
23
24 These credentials will be shared between each user of your wallabag instance.
25
26Fate il parsing dei file di configurazione
27------------------------------------------
28
29Leggete `questa parte della documentazione *link mancante*` per capire i file di configurazione.
30
31Ogni file di configurazione del parsing deve essere migliorato aggiungendo ``requires_login``, ``login_uri``, ``login_username_field``, ``login_password_field`` e ``not_logged_in_xpath``.
32
33Fate attenzione, il modulo di login deve essere nel contenuto della pagina quando wallabag lo carica. É impossibile per wallab essere autenticato su un sito dove il modulo di login é caricato dopo la pagina (da ajax per esempio).
34
35``login_uri`` é l'URL di azione del modulo (l'attributo ``action`` del modulo).
36``login_username_field`` é l'attributo ``name`` nel campo di login.
37``login_password_field`` é l'attributo ``name`` nel campo password.
38
39Per esempio:
40
41.. code::
42
43 title://div[@id="titrage-contenu"]/h1[@class="title"]
44 body: //div[@class="contenu-html"]/div[@class="page-pane"]
45
46 requires_login: yes
47
48 login_uri: http://www.arretsurimages.net/forum/login.php
49 login_username_field: username
50 login_password_field: password
51
52 not_logged_in_xpath: //body[@class="not-logged-in"]
diff --git a/docs/it/developer/testsuite.rst b/docs/it/developer/testsuite.rst
deleted file mode 100644
index fdb72401..00000000
--- a/docs/it/developer/testsuite.rst
+++ /dev/null
@@ -1,6 +0,0 @@
1Testsuite
2=========
3Per assicurare la qualità di sviluppo di wallabag, abbiamo scritto i test con `PHPUnit <https://phpunit.de>`_.
4Se contribuite al progetto (traducendo l'applicazione, risolvendo i bug o aggiungendo nuove funzioni), si prega di scrivere i propri test.
5
6Per avviare la testsuite di wallabag dovete installare `ant <http://ant.apache.org>`_. Poi, eseguite il comando ``make test``. \ No newline at end of file
diff --git a/docs/it/developer/translate.rst b/docs/it/developer/translate.rst
deleted file mode 100644
index c0b8e265..00000000
--- a/docs/it/developer/translate.rst
+++ /dev/null
@@ -1,55 +0,0 @@
1Tradurre wallabag
2=================
3
4wallabag web app
5----------------
6
7File per la traduzione
8~~~~~~~~~~~~~~~~~~~~~~
9
10.. note::
11
12 Visto che wallabag é principalmente sviluppato da un team francese, si prega di considerare che la traduzione francese é la più aggiornata, e si prega di copiarla e di creare la vostra propria traduzione.
13
14Potete trovare qui i file per la traduzione:
15https://github.com/wallabag/wallabag/tree/master/src/Wallabag/CoreBundle/Resources/translations.
16
17Dovrete creare ``messages.CODE.yml`` e ``validators.CODE.yml``, dove CODE é il codice ISO 639-1 della vostra lingua (`guardate wikipedia <https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes>`__).
18
19Altri file da tradurre:
20
21- https://github.com/wallabag/wallabag/tree/master/app/Resources/CraueConfigBundle/translations.
22- https://github.com/wallabag/wallabag/tree/master/src/Wallabag/UserBundle/Resources/translations.
23
24Dovete creare i file ``THE_TRANSLATION_FILE.CODE.yml``.
25
26File di configurazione
27~~~~~~~~~~~~~~~~~~~~~~
28
29Dovete modificare `app/config/config.yml
30<https://github.com/wallabag/wallabag/blob/master/app/config/config.yml>`__ per mostrare il vostro linguaggio nella pagina di configurazione di wallabag (per consentire agli utenti di passare a questa nuova traduzione).
31
32Nella sezione ``wallabag_core.languages``, dovete aggiungere una nuova linea con la vostra traduzione. Per esempio:
33
34::
35
36 wallabag_core:
37 ...
38 languages:
39 en: 'English'
40 fr: 'Français'
41
42Nella prima colonna (``en``, ``fr``, etc.), dovete aggiungere il codice ISO 639-1 della vostra lingua (vedete sopra).
43
44Nella seconda colonna, aggiungete solamente il nome della vostra lingua.
45
46documentazione di wallabag
47--------------------------
48
49.. note::
50 Contrariamente alla web app, il linguaggio principale per la documentazione é l'inglese.
51
52I file della documentazione sono memorizzati qui: https://github.com/wallabag/wallabag/tree/master/docs
53
54Dovete rispettare la struttura della cartella ``en`` quando create la vostra traduzione.
55
diff --git a/docs/it/index.rst b/docs/it/index.rst
deleted file mode 100644
index 92896fbf..00000000
--- a/docs/it/index.rst
+++ /dev/null
@@ -1,53 +0,0 @@
1Documentazione di wallabag
2--------------------------
3
4.. image:: ../img/wallabag.png
5 :alt: wallabag logo
6 :align: center
7
8**wallabag** è un'applicazione read-it-later: salva una pagina web lasciando solamente il contenuto. Elementi come comandi di navigazione o pubblicità sono rimossi.
9
10La documentazione principale per quest'applicazione è organizzata in un paio di sezioni:
11
12* :ref:`user-docs`
13* :ref:`dev-docs`
14
15La documentazione è disponibile anche in altre lingue:
16
17* `Documentation en français <http://doc.wallabag.org/fr/master/>`_
18* `Dokumentation in Deutsch <http://doc.wallabag.org/de/master/>`_
19* `Documentation in English <http://doc.wallabag.org/en/master/>`_
20
21.. _user-docs:
22
23.. toctree::
24 :maxdepth: 2
25 :caption: User documentation
26
27 user/installation
28 user/upgrade
29 user/configuration
30 user/import
31 user/create_account
32 user/articles
33 user/errors_during_fetching
34 user/filters
35 user/tags
36 user/configuring_mobile
37 user/android
38 user/parameters
39 user/backup
40 user/faq
41
42.. _dev-docs:
43
44.. toctree::
45 :maxdepth: 2
46 :caption: Developer documentation
47
48 developer/api
49 developer/docker
50 developer/paywall
51 developer/documentation
52 developer/translate
53 developer/asynchronous
diff --git a/docs/it/requirements.txt b/docs/it/requirements.txt
deleted file mode 100644
index 06fc8973..00000000
--- a/docs/it/requirements.txt
+++ /dev/null
@@ -1,2 +0,0 @@
1Sphinx>=1.3.0,<1.4.0
2guzzle_sphinx_theme>=0.7.0,<0.8.0
diff --git a/docs/it/user/android.rst b/docs/it/user/android.rst
deleted file mode 100644
index a82bbef5..00000000
--- a/docs/it/user/android.rst
+++ /dev/null
@@ -1,107 +0,0 @@
1Applicazione Android
2====================
3
4Scopo di questo documento
5-------------------------
6
7Questo documento spiega come configurare la vostra applicazione Android in modo che funzioni con la vostra istanza di wallabag. Non vi é differenza in questa procedura sia per wallabag v1 che per v2.
8
9Passi per configurare la vostra app
10-----------------------------------
11
12Quando aprirete l'app per la prima volta, vedrete una schermata di benvenuto dove vi si consiglia per prima cosa di configurare l'app per la vostra istanza di wallabag.
13
14.. image:: ../../img/user/android_welcome_screen.en.png
15 :alt: Welcome screen
16 :align: center
17
18Confermate semplicemente quel messaggio e verrete reindirizzati alla schermata delle impostazioni.
19
20.. image:: ../../img/user/android_configuration_screen.en.png
21 :alt: Settings screen
22 :align: center
23
24Inserite i vostri dati di wallabag. Dovrete inserire il vostro indirizzo di wallabag. **É importante che questo URL non finisca con una barra**. Inserite anche le vostre credenziali nei campi user name e password.
25
26.. image:: ../../img/user/android_configuration_filled_in.en.png
27 :alt: Filled in settings
28 :align: center
29
30Dopo aver completato l'inserimento dei dati, premete il bottone Connection test e aspettate che il test finisca.
31
32.. image:: ../../img/user/android_configuration_connection_test.en.png
33 :alt: Connection test with your wallabag data
34 :align: center
35
36Il test di connessione dovrebbe finire con successo. In caso contrario, dovrete prima risolvere questo problema fino a che possiate procedere.
37
38.. image:: ../../img/user/android_configuration_connection_test_success.en.png
39 :alt: Connection test successful
40 :align: center
41
42Dopo che il test sará avvenuto con successo, potrete premere il bottone per ottenere le credenziali del vostro feed. L'app cercherá di connettersi alla vostra istanza di wallabag e ottenere l'id utente e il token corrispondente per i feed.
43
44.. image:: ../../img/user/android_configuration_get_feed_credentials.en.png
45 :alt: Getting the feed credentials
46 :align: center
47
48Quando il processo di ottenimento delle credenziali del vostro feed sará concluso con successo, vedrete un messaggio toast, il quale avviserá che l'id utente ed il token sono stati inseriti nel modulo.
49
50.. image:: ../../img/user/android_configuration_feed_credentials_automatically_filled_in.en.png
51 :alt: Getting feed credentials successful
52 :align: center
53
54Ora dovrete scorrere fino alla fine del menu delle impostazioni. Ovviamente potrete cambiare le impostazioni in base alle vostre preferenze.
55Terminate la configurazione della vostra app premendo il bottone per il salvataggio.
56
57.. image:: ../../img/user/android_configuration_scroll_bottom.en.png
58 :alt: Bottom of the settings screen
59 :align: center
60
61Dopo aver premuto il bottone apparirá la seguente schermata. L'app proporrá di iniziare il processo di sincronizzazione per aggiornare i vostri feed ed articoli. É raccomandato accettare quest'azione e premere Sí.
62
63.. image:: ../../img/user/android_configuration_saved_feed_update.en.png
64 :alt: Settings saved the first time
65 :align: center
66
67Alla fine, dopo che la sincronizzazione sará avvenuta con successo, apparirá la lista degli articoli non letti.
68
69.. image:: ../../img/user/android_unread_feed_synced.en.png
70 :alt: Filled article list cause feeds successfully synchronized
71 :align: center
72
73Limiti conosciuti
74-----------------
75
76Autenticazione a due fattori (2FA)
77~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78
79Attualmente l'applicazione Android non supporta l'autenticazione a due fattori. Dovreste disabilitare questa opzione in modo da far funzionare l'applicazione.
80
81Quantitá limitata di articoli con wallabag v2
82~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
83
84Nella vostra istanza web di wallabag potete configurare quanti oggetti sono parte del feed RSS. Questa opzione non esisteva in wallabag v1, dove tutti gli articoli erano parte del feed. Quindi se imposterete il numero di articoli da visualizzare maggiore del numero di oggetti che sono contenuti nel vostro feed RSS, vedrete solamente il numero di oggetti nel vostro feed RSS.
85
86Crittografia SSL/TLS
87~~~~~~~~~~~~~~~~~~~~
88
89Se potete raggiungere la vostra istanza web di wallabag via HTTPS, dovreste usare quest'ultimo, in particolar modo se il vostro URL HTTP vi reindirizza a quello HTTPS. Attualmente l'app non puó gestire propriamente il reindirizzamento.
90
91Riferimenti
92-----------
93
94- `Codice sorgente dell'applicazione Android <https://github.com/wallabag/android-app>`_
95- `Applicazione Android su F-Droid <https://f-droid.org/repository/browse/?fdfilter=wallabag&fdid=fr.gaulupeau.apps.InThePoche>`_
96- `Applicazione Android su Google Play <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche>`_
97
98
99
100
101
102
103
104
105
106
107
diff --git a/docs/it/user/articles.rst b/docs/it/user/articles.rst
deleted file mode 100644
index 2a415608..00000000
--- a/docs/it/user/articles.rst
+++ /dev/null
@@ -1,116 +0,0 @@
1
2Articoli
3========
4
5Salvate il vostro primo articolo
6--------------------------------
7
8Il proposito principale di wallabag é di salvare articoli web, e potete farlo in molti modi. Se pensate che l'articolo sia mostrato in modo sbagliato, `potete leggere questa documentazione`_.
9
10Usando un bookmarklet
11^^^^^^^^^^^^^^^^^^^^^
12
13Nella pagina ``Howto`` avete una sezione ``Bookmarklet``. Trascinate il link ``bag it!`` sulla barra dei preferiti del vostro browser.
14
15
16Ora, ogni volta che leggiate un articolo sul web e vogliate salvarlo, cliccate sul link ``bag it!`` sulla vostra barra dei preferiti. L'articolo é salvato.
17
18Usando la maniera classica
19^^^^^^^^^^^^^^^^^^^^^^^^^^
20
21Sulla barra in alto del vostro schermo avete 3 icone. Con la prima, un simbolo "piú", potrete salvare facilmente un articolo.
22
23.. image:: ../../img/user/topbar.png
24 :alt: Top bar
25 :align: center
26
27Cliccateci sopra per mostrare un nuovo campo, inserite in quest'ultimo la URL dell'articolo e premete il tasto ``Return``. L'articolo é salvato.
28
29Usando un add-on del browser
30^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31
32Firefox
33"""""""
34
35Potete scaricare `qui l'addon per Firefox <https://addons.mozilla.org/firefox/addon/wallabagger/>`_.
36
37Chrome
38""""""
39
40Potete scaricare `qui l'addon per Chrome <https://chrome.google.com/webstore/detail/wallabagger/gbmgphmejlcoihgedabhgjdkcahacjlj?hl=fr>`_.
41
42Usando la vostra applicazione per smartphone
43^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
44
45Android
46"""""""
47
48Potete scaricare `qui l'applicazione per Android <https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche>`_ o tramite `F-Droid <https://f-droid.org/repository/browse/?fdid=fr.gaulupeau.apps.InThePoche>`_.
49
50Windows Phone
51"""""""""""""
52
53Potete scaricare `qui l'applicazione per Windows Phone <https://www.microsoft.com/store/apps/9nblggh5x3p6>`_.
54
55Scaricate i vostri articoli
56---------------------------
57
58Potete scaricare ogni articolo in vari formati: ePUB, MOBI, PDF, XML, JSON, CSV.
59
60Sulla vista dell'articolo, cliccate su questa icona, nella barra laterale:
61
62.. image:: ../../img/user/download_article.png
63 :alt: download article
64 :align: center
65
66Potete anche scaricare una categoria completa di articoli (unread, starred, archive) in questi formati. Per esempio, nella vista **Unread**, cliccate su questa icona sulla barra superiore:
67
68.. image:: ../../img/user/download_articles.png
69 :alt: download articles
70 :align: center
71
72Condividete i vostri articoli
73-----------------------------
74
75Quando leggete un articolo, potete condividerlo. Cliccate semplicemente sul bottone di condivisione:
76
77.. image:: ../../img/user/share.png
78 :alt: share article
79 :align: center
80
81Ora potete condividere l'articolo:
82
83- attraverso una URL pubblica (avrete una vista semplificata dell'articolo)
84- attraverso un tweet
85- nel vostro Shaarli
86- nel vostro Scuttle
87- attraverso un post su Diaspora*
88- su Carrot
89- attraverso un'email
90
91Annotate i vostri articoli
92--------------------------
93
94in ogni articolo che leggiate potete scrivere delle note. É piú facile da capire con delle immagini.
95
96Selezionate la parte dell'articolo che volete annotare e cliccate sulla matita:
97
98.. image:: ../../img/user/annotations_1.png
99 :alt: Select your text
100 :align: center
101
102Scrivete poi la vostra nota:
103
104.. image:: ../../img/user/annotations_2.png
105 :alt: Write your annotation
106 :align: center
107
108Il testo é ora sottolineato e potrete leggere la vostra nota muovendo il cursore su di esso.
109
110.. image:: ../../img/user/annotations_3.png
111 :alt: Read your annotation
112 :align: center
113
114Potete creare quante note vogliate.
115
116
diff --git a/docs/it/user/backup.rst b/docs/it/user/backup.rst
deleted file mode 100644
index 548c675b..00000000
--- a/docs/it/user/backup.rst
+++ /dev/null
@@ -1,30 +0,0 @@
1Eseguire il backup di wallabag
2==============================
3
4Siccome a volte potreste commettere errori con il vostro wallabag e perdere i vostri dati, oppure in caso dobbiate spostare il vostro wallabag su un altro server, dovete fare un backup dei vostri dati.
5
6Impostazioni base
7-----------------
8
9wallabag memorizza alcuni parametri base (come il server SMTP o il backend del database) nel file `app/config/parameters.yml`.
10
11Database
12--------
13
14Per il fatto che wallabag supporta vari tipi di database, il modo di eseguire backup dipende dal database che stiate usando, quindi dovrete fare riferimento alla documentazione del venditore.
15
16Ecco alcuni esempi:
17
18- MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html
19- PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html
20
21SQLite
22~~~~~~
23
24Per eseguire il backup di un database SQLite, dovete semplicemente copiare la directory `data/db` dalla directory dell'applicazione wallabag.
25
26Immagini
27--------
28
29Le immagini recuperate da wallabag sono memorizzate in `web/assets/images` (la memoria delle immagini sará implementata in wallabag 2.2).
30
diff --git a/docs/it/user/configuration.rst b/docs/it/user/configuration.rst
deleted file mode 100644
index 3bd3bc91..00000000
--- a/docs/it/user/configuration.rst
+++ /dev/null
@@ -1,103 +0,0 @@
1Configurazione
2==============
3
4Ora che siete acceduti, é ora di configurare il vostro account come volete.
5
6cliccate sul menu ``Configurazione``. Avrete cinque tab: ``Impostazioni``, ``RSS``, ``Informazioni utente``, ``Password`` e ``Regole di tagging``.
7
8Impostazioni
9------------
10
11Tema
12~~~~
13
14wallabag é personalizzabile. Potete scegliere il vostro tema preferito qui. Il tema di default é ``Material``, é il tema usato nelle immagini della documentazione.
15
16Oggetti per pagina
17~~~~~~~~~~~~~~~~~~
18
19Potete cambiare il numero di articoli mostrati su ogni pagina.
20
21Velocitá di lettura
22~~~~~~~~~~~~~~~~~~~
23
24wallabag calcola un tempo di lettura per ogni articolo. Potete definire qui, grazie a questa lista, se siete dei lettori lenti of veloci. wallabag ricalcolerá il tempo di lettura per ogni articolo.
25
26Lingua
27~~~~~~
28
29Potete cambiare la lingua dell'interfaccia di wallabag.
30
31RSS
32---
33
34wallabag offre feed RSS per ogni stato dell'articolo: non letto, preferito e archiviato.
35
36Per prima cosa dovete creare un token personale: cliccate su ``Crea il tuo token``. É possibile cambiare il proprio token cliccando su ``Rigenera il tuo token``.
37
38Ora avrete tre link, uno per ogni stato: aggiungeteli al vostro lettore RSS preferito.
39
40Potete anche definire quanti articoli volete nel vostro feed RSS (valore di default: 50)-
41
42Informazioni dell'utente
43------------------------
44
45Potete cambiare il vostro nome, il vostro indirizzo email e abilitare l'``Autenticazione a due fattori``.
46
47Autenticazione a due fattori (2FA)
48~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49
50 L'autenticazione a due fattori (conosciuta anche come 2FA) é una tecnologia brevettata nel 1984 che offre l'identificazione degli utenti tramite una combinazione di due componenti differenti.
51
52 https://it.wikipedia.org/wiki/Autenticazione_a_due_fattori
53
54**Attenzione**: abilitare la 2FA dall'interfaccia di configurazione è possibile solamente se ciò è stato abilitato precedentemente in app/config/parameters.yml impostando la proprietà twofactor_auth su true (non dimenticate di eseguire il comando `php bin/console cache:clear -e=prod` dopo la modifica).
55
56Se abilitate la 2FA, ogni volta che vogliate accedere a wallabag, riceverete un codice via email. Dovrete inserire il codice nel seguente modulo.
57
58.. image:: ../../img/user/2FA_form.png
59 :alt: Two factor authentication
60 :align: center
61
62Se non volete ricevere il codice ogni volta che vogliate accedere, potete spuntare la casella ``I'm on a trusted computer``: wallabag vi ricorderá per 15 giorni.
63
64Password
65--------
66
67Qui potete cambiare la password (minimo 8 caratteri)
68
69Regole di tagging
70-----------------
71
72Se volete assegnare un tag ai nuovi articoli, questa parte della configurazione fa per voi.
73
74Cosa significa « regole di tagging » ?
75~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76
77Sono regole usate da wallabag per etichettare i nuovi articoli. Ogni volta che un nuovo articolo viene aggiunto, verranno usate tutte le regole di tagging per aggiungere le etichette che avete configurato, risparmiandovi quindi il lavoro di classificare manualmente i vostri articoli.
78
79Come le uso?
80~~~~~~~~~~~~
81
82Immaginiamo che vogliate taggare un contenuto come *« lettura corta »* quando il tempo di lettura è inferiore ai 3 minuti. In questo caso, dovreste mettere « readingTime <= 3 » nel campo **Regola**
83e *« lettura corta »* nel campo **Tag**. Molte etichette possono essere aggiunte simultaneamente separandole con una virgola: *« lettura corta, da leggere »*.
84Si possono scrivere regole complesse usando gli operatori predefiniti:
85se *« readingTime >= 5 AND domainName = "github.com" »* allora etichetta come *« lettura lunga, github »*.
86
87Quali variabili ed operatori posso usare per scrivere le regole?
88
89I seguenti operatori e variabili possono essere usati per creare regole di tagging (attenzione, per alcuni valori, dovete aggiungere le virgolette, per esempio ``language = "en"``):
90
91=========== ============================================== ========= ===========
92Variabile Significato Operatore Significato
93----------- ---------------------------------------------- --------- -----------
94title Titolo dell'articolo <= Minore di…
95url URL dell'articolo < Strettamente minore di…
96isArchived Se l'articolo é archiviato o no => Maggiore di…
97isStarred Se l'articolo é preferito o no > Strettamente maggiore di…
98content Il contenuto dell'articolo = Uguale a…
99language La lingua dell'aritcolo != Diverso da…
100mimetype The entry's mime-type OR Una regola o l'altra
101readingTime Il tempo di lettura dell'articolo stimato AND Una regola e l'altra
102domainName Il nome del dominio dell'articolo matches Vede se un soggetto corrisponde alla ricerca (indipendentemente dal maiuscolo o minuscolo). Esempio: titolo corrisponde a "football"
103=========== ============================================== ======== ==========
diff --git a/docs/it/user/configuring_mobile.rst b/docs/it/user/configuring_mobile.rst
deleted file mode 100644
index f0ea54f1..00000000
--- a/docs/it/user/configuring_mobile.rst
+++ /dev/null
@@ -1,12 +0,0 @@
1Configurare le app mobili in modo che funzionino con wallabag
2=============================================================
3
4Passi per configurare l'app
5---------------------------
6
7- Per prima cosa *create un nuovo client* nella sezione ``API clients management``. Il nome della vostra app non importa quanto il ``Client ID`` ed il ``Client secret``. Segnatevi questi due valori.
8- Quando scaricate un'app mobile, questa chiederà l'indirizzo del server dell'istanza di wallabag ospitata. Per esempio, con wallabag.it questo è: ``https://app.wallabag.it``.
9- Chiederà anche i sopracitati ``Client ID`` e ``secret``. Si prega di inserirli nei campi di testo, quando richiesto.
10- Infine dovrete fornire il vostro ``username`` e la vostra ``password``. Queste sono le stesse credenziali che usate per fare il login in wallabag.
11
12Si prega anche di guardare la pagina `Android <android.html>`_. Specialmente la sezione *Limiti conosciuti*.
diff --git a/docs/it/user/create_account.rst b/docs/it/user/create_account.rst
deleted file mode 100644
index c569962d..00000000
--- a/docs/it/user/create_account.rst
+++ /dev/null
@@ -1,38 +0,0 @@
1Creazione di un account e autenticazione
2========================================
3
4Registrazione
5-------------
6
7Sulla pagina di login, cliccate sul bottone ``Register``
8
9.. image:: ../../img/user/registration_form.png
10 :alt: Registration form
11 :align: center
12
13Dovrete completare il modulo. Assicuratevi di inserire un indirizzo email valido, quindi vi invieremo un'email di attivazione.
14
15.. image:: ../../img/user/sent_email.png
16 :alt: Email was sent to activate account
17 :align: center
18
19Controllate la vostra casella, in cui avrete una nuova mail con un link che assomiglia a questo ``http://wallabag/register/confirm/Ba19wokGovN-DdBQNfg4YgRkUQWRP4-k2g0Bk-hBTX4``. Cliccateci sopra per attivare il vostro account.
20
21Il vostro account é ora attivo
22
23.. image:: ../../img/user/activated_account.png
24 :alt: Welcome on board!
25 :align: center
26
27Login
28-----
29
30Il vostro account é ora abilitato, congratulazioni!
31
32Se siete sul vostro computer personale e volete restare connessi, spuntate la casella ``Keep me logged in``: wallabag vi ricorderá per un anno.
33
34.. image:: ../../img/user/login_form.png
35 :alt: Login form
36 :align: center
37
38
diff --git a/docs/it/user/errors_during_fetching.rst b/docs/it/user/errors_during_fetching.rst
deleted file mode 100644
index d92b83dc..00000000
--- a/docs/it/user/errors_during_fetching.rst
+++ /dev/null
@@ -1,37 +0,0 @@
1
2Errori durante l'ottenimento degli articoli
3===========================================
4
5Perché l'ottenimento di un articolo fallisce?
6---------------------------------------------
7
8Ci possono essere varie ragioni:
9
10- problema del network
11- wallabag non può ottenere il contenuto a causa della struttura del sito web
12
13Potete provare a risolvere il problema da soli ( in modo che noi possiamo concentrarci nel migliorare wallabag internamente invece di scrivere siteconfig
14:) ).
15
16Potete provare a vedere se funziona qui: `http://f43.me/feed/test <http://f43.me/feed/test>`_ (usa quasi lo stesso sistema per ottenere contenuto).
17
18Se funziona lì e non su wallabag, significa che c'è qualcosa all'interno di wallabag che causa il malfunzionamento del parser (difficile da aggiustare: si prega di riportare il problema).
19
20Se non funziona, provate a estrarre un site config usando: `http://siteconfig.fivefilters.org/ <http://siteconfig.fivefilters.org/>`_ (seleziona quale parte del contenuto é effettivamente contenuto). Potete `leggere prima questa documentazione <http://help.fivefilters.org/customer/en/portal/articles/223153-site-patterns>`_.
21
22Potete testarlo sul sito **f43.m3**: cliccate su **Want to try a custom siteconfig?** e inseritvi il file generato in and put the generated file from siteconfig.fivefilters.org.
23
24Ripetete finché non avrete qualcosa di buono.
25
26Potete poi inviare una pull request a `https://github.com/fivefilters/ftr-site-config <https://github.com/fivefilters/ftr-site-config>`_ il quale é il repository ufficiale per i file siteconfig.
27
28Come posso provare a riottenere questo articolo?
29------------------------------------------------
30
31Se wallabag ha fallito a ottenere l'articolo, potete cliccare sul bottone di ricaricamento (il terzo bottone nella figura sottostante).
32
33.. image:: ../../img/user/refetch.png
34 :alt: Refetch content
35 :align: center
36
37
diff --git a/docs/it/user/faq.rst b/docs/it/user/faq.rst
deleted file mode 100644
index decdfab1..00000000
--- a/docs/it/user/faq.rst
+++ /dev/null
@@ -1,53 +0,0 @@
1Domande frequenti
2=================
3
4Durante l'installazione ho riscontrato l'errore ``Error Output: sh: 1: @post-cmd: not found``
5---------------------------------------------------------------------------------------------
6
7Sembra che ci sia un problema con la vostra installazione di ``composer``. Provate a disinstallarlo e reinstallarlo.
8
9`Leggete la documentazione su composer per sapere come installarlo
10<https://getcomposer.org/doc/00-intro.md>`__.
11
12Non riesco a convalidare il modulo di registrazione
13---------------------------------------------------
14
15Assicuratevi che tutti i campi siano riempiti correttamente:
16
17* indirizzo email valido
18* stessa password nei due campi
19
20Non riesco a ricevere la mia mail di attivazione
21------------------------------------------------
22
23Siete sicuri che il vostro indirizzo email sia corretto? avete controllato la cartella di spam?
24
25Se ancora non vedete la mail di attivazione, assicuratevi di aver installato e configurato a dovere un mail transfer agent. Assicuratevi di includere una regola del firewall per SMTP. Per esempio, se usate firewalld:
26
27::
28
29 firewall-cmd --permanent --add-service=smtp
30 firewall-cmd --reload
31
32Infine, se avete SELinux abilitato, impostate la seguente regola:
33
34``setsebool -P httpd_can_sendmail 1``
35
36Quando clicco il link di attivazione, mi appare questo messaggio: ``L'utente con token di conferma "DtrOPfbQeVkWf6N" non esiste``.
37----------------------------------------------------------------------------------------------------------------------------------
38
39Avete giá attivato il vostro account oppure l'URL dell'email di attivazione é sbagliato.
40
41Ho dimenticato la mia password
42------------------------------
43
44Potete ripristinare la password cliccando il link``Hai dimenticato la password?``, nella pagina di login. Quindi, riempite il modulo con la vostra email o il vostro username e riceverete un'email per ripristinare la vostra password.
45
46Ho riscontrato l'errore ``failed to load external entity`` cercando di installare wallabag
47------------------------------------------------------------------------------------------
48
49Come descritto `qui <https://github.com/wallabag/wallabag/issues/2529>`_, modificate il vostro file ``web/app.php`` ed aggiungete questa linea: ``libxml_disable_entity_loader(false);`` sulla linea 5.
50
51Questo é un bug di Doctrine / PHP, non possiamo farci nulla.
52
53
diff --git a/docs/it/user/filters.rst b/docs/it/user/filters.rst
deleted file mode 100644
index 105cb1d6..00000000
--- a/docs/it/user/filters.rst
+++ /dev/null
@@ -1,45 +0,0 @@
1Trovate i vostri articoli grazie ai filtri
2------------------------------------------
3
4Per trovare facilmente gli articoli, potete usare i filtri.
5
6.. image:: ../../img/user/topbar.png
7 :alt: Top bar
8 :align: center
9
10Tutti questi filtri possono essere combinati.
11
12.. image:: ../../img/user/filters.png
13 :alt: Combine all filters
14 :align: center
15
16Stato
17-----
18
19Usate queste caselle per trovare articoli archiviati o preferiti.
20
21Immagine di anteprima
22---------------------
23
24Selezionate questo filtro se volete trovare articoli con un'immagine di anteprima.
25
26Lingua
27------
28
29wallabag (attraverso graby) puó individuare la lingua di un articolo. É facile per voi trovare articoli scritti in una lingua specifica.
30
31Tempo di lettura
32----------------
33
34wallabag stima quanto tempo é necessario per leggere un articolo. Con questo filtro potete, per esempio, trovare articoli con un tempo di lettura compreso fra 2 e 5 minuti.
35
36Nome di dominio
37---------------
38
39Grazie a questo filtro potete trovare articoli dallo stesso nome di dominio. Per esempio, scrivete in questo campo ``bbc.co.uk`` per trovare gli articoli di questo sito.
40
41Data di creazione
42-----------------
43
44Quando salvate un articolo, wallabag memorizza la data corrente. ció é comodo, per esempio, per trovare articoli salvati tra il primo ed il 31 di Gennaio.
45
diff --git a/docs/it/user/import.rst b/docs/it/user/import.rst
deleted file mode 100644
index 5d38d29b..00000000
--- a/docs/it/user/import.rst
+++ /dev/null
@@ -1,115 +0,0 @@
1Migrare da...
2=============
3
4In wallabag 2.x, potete importare dati da:
5
6- `Pocket <#id1>`_
7- `Readability <#id2>`_
8- `Instapaper <#id4>`_
9- `wallabag 1.x <#id6>`_
10- `wallabag 2.x <#id7>`_
11
12Abbiamo anche sviluppato `uno script per eseguire migrazioni tramite la linea di comando <#import-via-command-line-interface-cli>`_.
13
14Poiché le importazioni possono richiedere molto tempo, abbiamo sviluppato un sistema di compiti asincroni. *inserisci qui link una volta tradotto articolo su asynchronous*
15
16Pocket
17------
18
19Creare una nuova applicazione su Pocket
20~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21
22Per importare dati da Pocket usiamo l'API di Pocket. Dovete creare una nuova applicazione sul loro sito per sviluppatori per continuare.
23
24* Create una nuova applicazione `sul sito per sviluppatori <https://getpocket.com/developer/apps/new>`_
25* Riempite i campi richiesti: nome dell'applicazione, descrizione dell'applicazione, permessi (solo **retrieve**), piattaforma (**web**), accettate i termini di servizio ed inviate la vostra nuova applicazione
26
27Pocket vi dará una **Consumer Key** (per esempio, `49961-985e4b92fe21fe4c78d682c1`). Dovete configurare la ``pocket_consumer_key`` dal menu ``Config``.
28
29Ora é tutto pronto per migrare da Pocket.
30
31Importate i vostri dati su wallabag 2.x
32~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33
34Cliccate sul link `Importa` nel menu, su `Importa contenuti` nella sezione Pocket e poi su ``Connetti a Pocket ed importa i dati``
35
36Dovete autorizzare wallabag a interagire con il vostro account Pocket.
37I vostri dati saranno importati. L'importazione di dati puó essere un processo esigente per il vostro server.
38
39Instapaper
40----------
41
42Esportate i vostri dati di Instapaper
43~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
44
45Sulla pagina delle impostazioni (`https://www.instapaper.com/user <https://www.instapaper.com/user>`_), cliccate su "Download .CSV file" nella sezione "Export". Verrá scaricato un file CSV (like ``instapaper-export.csv``).
46
47Importate i vostri dati in wallabag 2.x
48~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49
50Cliccate sul link `Importa` sul menu, poi su `Importa contenuti` nella sezione di Instapaper, quindi selezionate il vostro file CSV e caricatelo.
51
52I vostri dati saranno importati. L'importazione di dati puó essere un'operazione esigente per il server.
53
54wallabag 1.x
55------------
56
57Se state usando wallabag 1.x, dovete esportare i dati prima di migrare a wallabag 2.x, poiché l'applicazione ed il suo database sono cambiati molto. Potete esportare i vostri dati dalla vostra vecchia installazione di wallabag sulla pagina Config di questa.
58
59.. image:: ../../img/user/export_v1.png
60 :alt: Exporting from wallabag v1
61 :align: center
62
63.. nota::
64 Se avete account multipli nella stessa istanza di wallabag, ogni utente dovrá esportare da v1 ed importare su v2.
65
66.. nota::
67 Se riscontrate problemi durante l'importazione o l'esportazione, non esitate a `chiedere supporto <http://gitter.im/wallabag/wallabag>`__.
68
69Quando avrete ottenuto il file json contenente i vostri articoli, potrete installare wallabag v2 seguendo, se necessario, `la procedura standard *link mancante*`.
70
71Dopo aver creato un account utente sulla vostra nuova istanza di wallabag v2, dovete andare alla sezione `Importa` e selezionare `Importa da wallabag v1`. Selezionate il vostro file json e caricatelo.
72
73.. image:: ../../img/user/import_wallabagv1.png
74 :alt: Import from wallabag v1
75 :align: center
76
77wallabag 2.x
78------------
79
80Dalla istanza di wallabag precedente sulla quale eravate prima, andate su `Tutti gli articoli`, poi esportate questi articoli come json.
81
82.. image:: ../../img/user/export_v2.png
83 :alt: Export depuis wallabag v2
84 :align: center
85
86Dalla vostra nuova istanza di wallabag, create un account utente e cliccate sul link nel menu per procedere all'importazione. Scegliete di importare da wallabag v2 e selezionate il vostro file json per caricarlo.
87
88.. nota::
89 Se riscontrate problemi durante l'importazione o l'esportazione, non esitate a `chiedere supporto <http://gitter.im/wallabag/wallabag>`__.
90
91Importate dall'interfaccia a riga di comando (CLI)
92--------------------------------------------------
93
94Se avete un accesso CLI al vostro server web, potete eseguire questo comando per importare ció che avete esportato da wallabag v1:
95
96::
97
98 bin/console wallabag:import 1 ~/Downloads/wallabag-export-1-2016-04-05.json --env=prod
99
100Rimpiazzate i valori:
101
102* ``1`` é l'identificatore utente nel database (l'ID del primo utente creato su wallabag é 1)
103* ``~/Downloads/wallabag-export-1-2016-04-05.json`` é il percorso del file esportato da wallabag v1
104
105Se volete segnare tutti questi articoli come giá letti, potete aggiungere l'opzione ``--markAsRead``.
106Per importare un file di wallabag v2, dovete aggiungere l'opzione ``--importer=v2``.
107
108Come risultato avrete questo messaggio:
109
110::
111
112 Start : 05-04-2016 11:36:07 ---
113 403 imported
114 0 already saved
115 End : 05-04-2016 11:36:09 ---
diff --git a/docs/it/user/installation.rst b/docs/it/user/installation.rst
deleted file mode 100644
index 174507b8..00000000
--- a/docs/it/user/installation.rst
+++ /dev/null
@@ -1,346 +0,0 @@
1
2
3Installa wallabag
4=================
5
6Requisiti
7---------
8wallabag é compatibile con PHP >= 5.5, incluso PHP 7.
9
10.. nota::
11
12 Per installare facilmente wallabag vi forniamo un Makefile, dunque avrete bisogno dello strumento make.
13
14wallabag utilizza un gran numero di librerie PHP per funzionare. Queste librerie vanno installate tramite uno strumento chiamato Composer. Dovete installarlo se non lo avete giá fatto e assicuratevi di usare la versione 1.2 ( se giá avete Composer, esegui il comando composer selfupdate).
15
16Installa Composer:
17
18::
19 curl -s http://getcomposer.org/installer | php
20
21`Qui <https://getcomposer.org/doc/00-intro.md>`__ puoi trovare istruzioni specifiche.
22
23Per far funzionare wallabag avrete anche bisogno delle seguenti estensioni. Alcune di queste dovrebbero essere giá attive nella vostra versione di PHP, per cui potrebbe non essere necessario installare tutti i pacchetti corrispondenti.
24
25- php-session
26- php-ctype
27- php-dom
28- php-hash
29- php-simplexml
30- php-json
31- php-gd
32- php-mbstring
33- php-xml
34- php-tidy
35- php-iconv
36- php-curl
37- php-gettext
38- php-tokenizer
39- php-bcmath
40
41wallabag usa PDO per connettersi, per cui avrete bisogno di uno dei seguenti:
42
43-pdo_mysql
44-pdo_sqlite
45-pdo_pgsql
46
47E il corrispondente database server.
48
49Installazione
50-------------
51
52Su un web server dedicato (raccomandato)
53~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
54
55Per installare wallabag stesso dovete eseguire i seguenti comandi:
56
57::
58
59 git clone https://github.com/wallabag/wallabag.git
60 cd wallabag && make install
61
62Per attivare il server incorporato di PHP e verificare che l’installazione sia andata a buon fine potete eseguire:
63
64::
65
66 make run
67
68E accedere a wallabag all’indirizzo http://ipdeltuoserver:8000
69
70.. consiglio::
71
72 Per definire i parametri con variabili d’ambiente é necessario impostare queste ultime con il prefisso ``SYMFONY_``. Per esempio, ``SYMFONY__DATABASE_DRIVER``. Puoi guardare la `documentazione di Symfony <http://symfony.com/doc/current/cookbook/configuration/external_parameters.html>`__ per maggiori informazioni.
73
74A proposito di hosting condiviso
75~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76
77Offriamo un pacchetto con tutte le dipendenze incluse. La configurazione di default usa SQLite per il database. Se volete cambiare queste impostazioni, modificate app/config/parameters.yml.
78
79Abbiamo giá creato un utente: il login e la password sono wallabag.
80
81.. attenzione:
82
83 Con questo pacchetto, wallabag non controlla le estensioni obbligatorie usate nell’applicazione (questi controlli sono fatti durante ``composer install`` quando hai un server web dedicato, vedi sopra).
84
85Eseguite questo comando per scaricare ed estrarre il pacchetto piú aggiornato:
86
87.. code-block:: bash
88
89 wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-package
90
91Troverete il `hash md5 del pacchetto piú aggiornato sul nostro sito <https://static.wallabag.org/releases/>`_.
92
93Ora leggete la seguente documentazione per creare il vostro host virtuale poi accedete al vostro wallabag. Se avete cambiato la configurazione del database per usare MySQL o PostrgreSQL, dovrete creare un utente con il comando php bin/console wallabag:install --env=prod .
94
95Installazione con Docker
96~~~~~~~~~~~~~~~~~~~~~~~~
97
98Offriamo un’immagine Docker per installare wallabag facilmente. Guarda la nostra repository su `Docker Hub <https://hub.docker.com/r/wallabag/wallabag/>`__ per maggiori informazioni.
99
100Comando per avviare il container
101
102.. code-block:: bash
103
104 docker pull wallabag/wallabag
105
106Installazione su Cloudron
107~~~~~~~~~~~~~~~~~~~~~~~~~
108
109Cloudron fornisce un modo facile di installare webapps sul vostro server mirato ad automatizzare i compiti del sysadmin ed a mantenere le app aggiornate.
110wallabag é pacchettizzata come app Cloudron ed é disponibile all'installazione direttamente dallo store.
111
112`Installa wallabag sul tuo Cloudron <https://cloudron.io/store/org.wallabag.cloudronapp.html>`__
113
114Host virtuali
115-------------
116
117Configurazione su Apache
118~~~~~~~~~~~~~~~~~~~~~~~~
119
120Non dimenticate di attivare la mod *rewrite* di Apache
121
122.. code-block:: bash
123
124 a2enmod rewrite && systemctl reload apache2
125
126Assumendo che voi abbiate installato wallabag nella cartella ``/var/www/wallabag`` e che vogliate usare PHP come un modulo Apache, ecco un vhost per l’applicazione:
127
128::
129
130 <VirtualHost *:80>
131 ServerName domain.tld
132 ServerAlias www.domain.tld
133
134 DocumentRoot /var/www/wallabag/web
135 <Directory /var/www/wallabag/web>
136 AllowOverride None
137 Order Allow,Deny
138 Allow from All
139
140 <IfModule mod_rewrite.c>
141 Options -MultiViews
142 RewriteEngine On
143 RewriteCond %{REQUEST_FILENAME} !-f
144 RewriteRule ^(.*)$ app.php [QSA,L]
145 </IfModule>
146 </Directory>
147
148 # uncomment the following lines if you install assets as symlinks
149 # or run into problems when compiling LESS/Sass/CoffeScript assets
150 # <Directory /var/www/wallabag>
151 # Options FollowSymlinks
152 # </Directory>
153
154 # optionally disable the RewriteEngine for the asset directories
155 # which will allow apache to simply reply with a 404 when files are
156 # not found instead of passing the request into the full symfony stack
157 <Directory /var/www/wallabag/web/bundles>
158 <IfModule mod_rewrite.c>
159 RewriteEngine Off
160 </IfModule>
161 </Directory>
162 ErrorLog /var/log/apache2/wallabag_error.log
163 CustomLog /var/log/apache2/wallabag_access.log combined
164 </VirtualHost>
165
166Dopo aver riavviato o ricaricato Apache dovreste essere in grado di accedere a wallabag tramite l’indirizzo http://domain.tld.
167
168Configurazione su Nginx
169~~~~~~~~~~~~~~~~~~~~~~~
170
171Assumendo che abbiate installato wallabag nella cartella ``/var/www/wallabag``, ecco una ricetta per l’applicazione:
172
173::
174
175 server {
176 server_name domain.tld www.domain.tld;
177 root /var/www/wallabag/web;
178
179 location / {
180 # try to serve file directly, fallback to app.php
181 try_files $uri /app.php$is_args$args;
182 }
183 location ~ ^/app\.php(/|$) {
184 fastcgi_pass unix:/var/run/php5-fpm.sock;
185 fastcgi_split_path_info ^(.+\.php)(/.*)$;
186 include fastcgi_params;
187 # When you are using symlinks to link the document root to the
188 # current version of your application, you should pass the real
189 # application path instead of the path to the symlink to PHP
190 # FPM.
191 # Otherwise, PHP's OPcache may not properly detect changes to
192 # your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
193 # for more information).
194 fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
195 fastcgi_param DOCUMENT_ROOT $realpath_root;
196 # Prevents URIs that include the front controller. This will 404:
197 # http://domain.tld/app.php/some-path
198 # Remove the internal directive to allow URIs like this
199 internal;
200 }
201
202 # return 404 for all other php files not matching the front controller
203 # this prevents access to other php files you don't want to be accessible.
204 location ~ \.php$ {
205 return 404;
206 }
207
208 error_log /var/log/nginx/wallabag_error.log;
209 access_log /var/log/nginx/wallabag_access.log;
210 }
211
212
213Dopo aver riavviato o ricaricato Nginx dovreste essere in grado di accedere a wallabag tramite l’indirizzo http://domain.tld.
214
215Configurazione su lighttpd
216~~~~~~~~~~~~~~~~~~~~~~~~~~
217
218Assumendo che abbiate installato wallabag nella cartella /var/www/wallabag, ecco una ricetta per l’applicazione (modificate il vostro file lighttpd.conf e incollatevi questa configurazione):
219
220::
221
222 server.modules = (
223 "mod_fastcgi",
224 "mod_access",
225 "mod_alias",
226 "mod_compress",
227 "mod_redirect",
228 "mod_rewrite",
229 )
230 server.document-root = "/var/www/wallabag/web"
231 server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
232 server.errorlog = "/var/log/lighttpd/error.log"
233 server.pid-file = "/var/run/lighttpd.pid"
234 server.username = "www-data"
235 server.groupname = "www-data"
236 server.port = 80
237 server.follow-symlink = "enable"
238 index-file.names = ( "index.php", "index.html", "index.lighttpd.html")
239 url.access-deny = ( "~", ".inc" )
240 static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
241 compress.cache-dir = "/var/cache/lighttpd/compress/"
242 compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" )
243 include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
244 include_shell "/usr/share/lighttpd/create-mime.assign.pl"
245 include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
246 dir-listing.activate = "disable"
247
248 url.rewrite-if-not-file = (
249 "^/([^?]*)(?:\?(.*))?" => "/app.php?$1&$2",
250 "^/([^?]*)" => "/app.php?=$1",
251 )
252
253
254Diritti di accesso alle cartelle del progetto
255---------------------------------------------
256
257Ambiente di test
258~~~~~~~~~~~~~~~~
259
260Quando vorremo solamente testare wallabag, eseguiremo il comando ``make run`` per avviare la nostra istanza di wallabag e tutto funzionerá correttamente poiché l’utente che ha iniziato il progetto puó accedere alla cartella corrente senza problemi.
261
262Ambiente di produzione
263~~~~~~~~~~~~~~~~~~~~~~
264
265Non appena useremo Apache o Nginx per accedere alla nostra istanza di wallabag, e non avviandola con il comando ``make run``, dovremo aver cura di concedere i giusti diritti sulle giuste cartelle per far rimanere sicure tutte le cartelle del progetto.
266
267Per fare ció, il nome della cartella, conosciuta come ``DocumentRoot`` (per Apache) o ``root`` (per Nginx), deve essere assolutamente accessibile all’utente Apache/Nginx. Il suo nome è generalmente ``www-data``, ``apache`` o ``nobody`` (dipendendo dal sistema Linux utilizzato).
268
269Quindi la cartella ``/var/www/wallabag/web`` deve essere accessibile da quest’ultimo. Questo tuttavia potrebbe non essere sufficiente se solo ci importa di questa cartella poiché potremmo incontrare una pagina bianca o un errore 500 quando cerchiamo di accedere alla homepage del progetto.
270
271Questo é dato dal fatto che dovremo concedere gli stessi diritti di accesso di ``/var/www/wallabag/web`` alla cartella ``/var/www/wallabag/var`` . Risolveremo quindi il problema con il seguente comando:
272
273.. code-block:: bash
274
275 chown -R www-data:www-data /var/www/wallabag/var
276
277
278Deve essere tutto uguale per le seguenti cartelle:
279
280* /var/www/wallabag/bin/
281* /var/www/wallabag/app/config/
282* /var/www/wallabag/vendor/
283* /var/www/wallabag/data/
284
285inserendo
286
287.. code-block:: bash
288
289 chown -R www-data:www-data /var/www/wallabag/bin
290 chown -R www-data:www-data /var/www/wallabag/app/config
291 chown -R www-data:www-data /var/www/wallabag/vendor
292 chown -R www-data:www-data /var/www/wallabag/data/
293
294Altrimenti prima o poi incontreremo questi messaggi di errore:
295
296.. code-block:: bash
297
298 Unable to write to the "bin" directory.
299 file_put_contents(app/config/parameters.yml): failed to open stream: Permission denied
300 file_put_contents(/.../wallabag/vendor/autoload.php): failed to open stream: Permission denied
301
302Regole aggiuntive per SELinux
303~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
304
305se SELinux é abilitato sul vostro sistema, dovrete configurare contesti aggiuntivi in modo che wallabag funzioni correttamente. Per controllare se SELinux é abilitato, semplicemente inserisci ció che segue:
306
307``getenforce``
308
309Questo mostrerá ``Enforcing`` se SELinux é abilitato. Creare un nuovo contesto coinvolge la seguente sintassi:
310
311``semanage fcontext -a -t <context type> <full path>``
312
313Per esempio:
314
315``semanage fcontext -a -t httpd_sys_content_t "/var/www/wallabag(/.*)?"``
316
317Questo applicherá ricorsivamente il constesto httpd_sys_content_t alla cartella wallabag e a tutti i file e cartelle sottostanti. Sono necessarie le seguenti regole:
318
319+-----------------------------------+----------------------------+
320| Percorso completo | Contesto |
321+===================================+============================+
322| /var/www/wallabag(/.*)? | ``httpd_sys_content_t`` |
323+-----------------------------------+----------------------------+
324| /var/www/wallabag/data(/.*)? | ``httpd_sys_rw_content_t`` |
325+-----------------------------------+----------------------------+
326| /var/www/wallabag/var/logs(/.*)? | ``httpd_log_t`` |
327+-----------------------------------+----------------------------+
328| /var/www/wallabag/var/cache(/.*)? | ``httpd_cache_t`` |
329+-----------------------------------+----------------------------+
330
331Dopo aver creato questi contesti, inserite ció che segue per applicare le vostre regole:
332
333``restorecon -R -v /var/www/wallabag``
334
335Potrete controllare i contesti in una cartella scrivendo ``ls -lZ`` e potrete vedere tutte le regole correnti con ``semanage fcontext -l -C``.
336
337Se state installando il pacchetto latest-v2-package, é necessaria un'ulteriore regola durante la configurazione iniziale:
338
339``semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/wallabag/var"``
340
341Dopo che siate acceduti con successo al vostro wallabag e abbiate completato la configurazione iniziale, questo contesto puó essere rimosso:
342
343::
344
345 semanage fcontext -d -t httpd_sys_rw_content_t "/var/www/wallabag/var"
346 retorecon -R -v /var/www/wallabag/var
diff --git a/docs/it/user/parameters.rst b/docs/it/user/parameters.rst
deleted file mode 100644
index da9555e1..00000000
--- a/docs/it/user/parameters.rst
+++ /dev/null
@@ -1,93 +0,0 @@
1Qual'é il significato dei parametri?
2====================================
3
4File `parameters.yml` di default
5--------------------------------
6
7Ecco l'ultima versione del file `app/config/parameters.yml` di default. Assicuratevi che la vostra rispetti questa.
8Se non sapete quale parametro dovete impostare, si prega di lasciare quello di default.
9
10.. code-block:: yml
11
12 parameters:
13 database_driver: pdo_sqlite
14 database_host: 127.0.0.1
15 database_port: null
16 database_name: symfony
17 database_user: root
18 database_password: null
19 database_path: '%kernel.root_dir%/../data/db/wallabag.sqlite'
20 database_table_prefix: wallabag_
21 database_socket: null
22 mailer_transport: smtp
23 mailer_host: 127.0.0.1
24 mailer_user: null
25 mailer_password: null
26 locale: en
27 secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv
28 twofactor_auth: true
29 twofactor_sender: no-reply@wallabag.org
30 fosuser_registration: true
31 fosuser_confirmation: true
32 from_email: no-reply@wallabag.org
33 rss_limit: 50
34 rabbitmq_host: localhost
35 rabbitmq_port: 5672
36 rabbitmq_user: guest
37 rabbitmq_password: guest
38 redis_scheme: tcp
39 redis_host: localhost
40 redis_port: 6379
41 redis_path: null
42
43Significato di ogni parametro
44-----------------------------
45
46.. csv-table:: Parametri del database
47 :header: "nome", "default", "descrizione"
48
49 "database_driver", "pdo_sqlite", "Dovrebbe essere pdo_sqlite o pdo_mysql o pdo_pgsql"
50 "database_host", "127.0.0.1", "Host del vostro database (generalmente localhost o 127.0.0.1)"
51 "database_port", "~", "Porta del vostro database (potete lasciare ``~`` per usare quella di default)"
52 "database_name", "symfony", "Nome del vostro database"
53 "database_user", "root", "L'utente che puó scrivere su questo database"
54 "database_password", "~", "Password di quell'utente"
55 "database_path", "``""%kernel.root_dir%/../data/db/wallabag.sqlite""``", "Solo per SQLite, definite dove mettere il file del database. Lasciatelo vuoto se usate un altro database"
56 "database_table_prefix", "wallabag_", "Tutte le tavole di wallabag avranno quella stringa come prefisso. Potete includere un ``_`` per maggior chiarezza"
57 "database_socket", "null", "Se il vostro database usa un socket al posto di tcp, inserite il percorso del socket (altri parametri di connessione saranno ignorati)"
58
59.. csv-table:: Configurazione per inviare email da wallabag
60 :header: "nome", "default", "descrizione"
61
62 "mailer_transport", "smtp", "Il metodo di trasporto esatto usato per consegnare email. Valori validi sono: smtp, gmail, mail, sendmail, null (ció disattiva il mailer)"
63 "mailer_host", "127.0.0.1", "L'host al quale connettersi quando si usa smtp come metodo di trasporto."
64 "mailer_user", "~", "Lo username quando si usa smtp come metodo di trasporto."
65 "mailer_password", "~", "La password quando si usa smtp come metodo di trasporto."
66
67.. csv-table:: Altre opzioni di wallabag
68 :header: "nome", "default", "descrizione"
69
70 "locale", "en", "Lingua di default della vostra istanza di wallabag (come en, fr, es, etc.)"
71 "secret", "ovmpmAWXRCabNlMgzlzFXDYmCFfzGv", "Questa é una stringa che dovrebbe essere unica per la vostra applicazione ed é usata comunemente per aggiungere piú entropia alle operazioni di sicurezza."
72 "twofactor_auth", "true", "true per abilitare l'autenticazione a due fattori"
73 "twofactor_sender", "no-reply@wallabag.org", "Email del mittente per ricevere il codice a due fattori"
74 "fosuser_registration", "true", "true per abilitare la registrazione pubblica"
75 "fosuser_confirmation", "true", "true per inviare una mail di conferma per ogni registrazione"
76 "from_email", "no-reply@wallabag.org", "Indirizzo email usato nel campo Da: in ogni email"
77 "rss_limit", "50", "Limite per i feed RSS"
78
79.. csv-table:: Configurazione di RabbitMQ
80 :header: "nome", "default", "descrizione"
81
82 "rabbitmq_host", "localhost", "Host del vostro RabbitMQ"
83 "rabbitmq_port", "5672", "Porta del vostro RabbitMQ"
84 "rabbitmq_user", "guest", "Utente che puó leggere le code"
85 "rabbitmq_password", "guest", "Password di quell'utente"
86
87.. csv-table:: Configurazione di Redis
88 :header: "nome", "default", "descrizione"
89
90 "redis_scheme", "tcp", "Specifica il protocollo da usare per comunicare con una istanza di Redis. Valori validi sono: tcp, unix, http"
91 "redis_host", "localhost", "IP o hostname del server bersaglio (ignorato per lo schema unix)"
92 "redis_port", "6379", "Porta TCP/IP del server bersaglio (ignorato per lo schema unix)"
93 "redis_path", "null", "Percorso del file domain socket di UNIX usato quando ci si connette a Redis usando domain socket di UNIX"
diff --git a/docs/it/user/upgrade.rst b/docs/it/user/upgrade.rst
deleted file mode 100644
index ede1a1a3..00000000
--- a/docs/it/user/upgrade.rst
+++ /dev/null
@@ -1,102 +0,0 @@
1Aggiornate la vostra installazione di wallabag
2==============================================
3
4Troverete qui i differenti modi per aggiornare il vostro wallabag:
5
6- `da 2.0.x a 2.1.1 <#upgrade-from-2-0-x-to-2-1-1>`_
7- `da 2.1.x a 2.1.y <#upgrading-from-2-1-x-to-2-1-y>`_
8- `da 1.x a 2.x <#from-wallabag-1-x>`_
9
10Aggiornate da 2.0.x a 2.1.1
11---------------------------
12
13.. attenzione::
14
15 prima di questa migrazione, se avete configurato l'importazione di Pocket aggiungendo la vostra consumer key nelle Impostazioni interne, si prega di farne un backup: dovrete aggiungere questa nella pagina di configurazione dopo l'aggiornamento.
16
17Aggiornamento su un web server dedicato
18^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
19:
20
21 rm -rf var/cache/*
22 git fetch origin
23 git fetch --tags
24 git checkout 2.1.1 --force
25 SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
26 php bin/console doctrine:migrations:migrate --env=prod
27 php bin/console cache:clear --env=prod
28
29Aggiornamento su un hosting condiviso
30^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31Fate un backup del file ``app/config/parameters.yml``.
32Scaricate la versione 2.1.1 di wallabag:
33
34.. code-block:: bash
35
36 wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz
37
38(hash md5 del pacchetto 2.1.1: ``9584a3b60a2b2a4de87f536548caac93``)
39
40Estraete l'archivio nella vostra cartella di wallabag e sostituite ``app/config/parameters.yml`` con il vostro.
41
42Controllate che il vostro ``app/config/parameters.yml`` contenga tutti i parametri richiesti. Potete trovare qui la documentazione sui parametri *link mancante*.
43
44Se usate SQLite, dovete anche copiare la vostra cartella ``data/`` dentro la nuova installazione.
45
46Svuotate la cartella ``var/cache``.
47
48Dovete eseguire delle query di SQL per aggiornare il vostro database. Assumiamo che il prefisso della tabella sia ``wallabag_`` e che il database sia MySQL:
49
50.. code-block:: sql
51
52 ALTER TABLE `wallabag_entry` ADD `uuid` LONGTEXT DEFAULT NULL;
53 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('share_public', '1', 'entry');
54 ALTER TABLE `wallabag_oauth2_clients` ADD name longtext COLLATE 'utf8_unicode_ci' DEFAULT NULL;
55 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_redis', '0', 'import');
56 INSERT INTO `wallabag_craue_config_setting` (`name`, `value`, `section`) VALUES ('import_with_rabbitmq', '0', 'import');
57 ALTER TABLE `wallabag_config` ADD `pocket_consumer_key` VARCHAR(255) DEFAULT NULL;
58 DELETE FROM `wallabag_craue_config_setting` WHERE `name` = 'pocket_consumer_key';
59
60Aggiornamento da 2.1.x a 2.1.y
61------------------------------
62
63Aggiornamento su un web server dedicato
64^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
65
66Per aggiornare la vostra installazione di wallabag ed ottenere l'ultima versione, eseguite il seguente comando nella vostra cartella wallabag:
67
68::
69
70 make update
71
72Aggiornamento su un hosting condiviso
73^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
74
75Fate un backup del file ``app/config/parameters.yml``.
76
77Scaricate l'ultima versione di wallabag:
78
79. code-block:: bash
80
81 wget https://wllbg.org/latest-v2-package && tar xvf latest-v2-package
82
83Troverete il `hash md5 dell'ultima versione del pacchetto sul nostro sito <https://static.wallabag.org/releases/>`_.
84
85Estraete l'archivio nella vostra cartella di wallabag e rimpiazzate ``app/config/parameters.yml`` con il vostro.
86
87Controllate che il vostro ``app/config/parameters.yml`` contenga tutti i parametri richiesti.
88
89Potete trovare qui la documentazione sui parametri *link mancante*.
90
91Se usate SQLite, dovete anche copiare la vostra cartella ``data/`` dentro la nuova installazione.
92
93Svuotate la cartella ``var/cache``.
94
95Da wallabag 1.x
96---------------
97
98Non esiste uno script automatico per aggiornare da wallabag 1.x a wallabag 2.x. Dovete:
99
100- esportare i vostri dati
101- installare wallabag 2.x (leggete la documentazione a proposito dell'installazione *link mancante*)
102- importate i dati in questa nuova installazione (leggete la documentazione a proposito dell'importazione)