Commit Graph

58 Commits

Author SHA1 Message Date
Alexandre Alapetite
86bede2770 Corrections install.php
Première version fonctionnelle
https://github.com/marienfressinaud/FreshRSS/issues/273
2013-11-17 18:12:15 +01:00
Alexandre Alapetite
9ec13c6c32 Début de multi-utilisateurs
Préparation de https://github.com/marienfressinaud/FreshRSS/issues/126
Suite de https://github.com/marienfressinaud/FreshRSS/issues/248
Nécessite un script de mise à jour
https://github.com/marienfressinaud/FreshRSS/issues/255
Install.php n'est pas encore testé
https://github.com/marienfressinaud/FreshRSS/issues/273
2013-11-17 15:24:30 +01:00
Alexandre Alapetite
32306a78d2 SQL : grosse mise à jour avec mise en cache du nombre d'articles lus/non-lus
* Mise en cache du nombre d'articles lus et non-lus par flux, via
`f.cache_nbEntries, f.cache_nbUnreads` pour de biens meilleures
performances
* Implémente https://github.com/marienfressinaud/FreshRSS/issues/268
* Révision de la plupart des requêtes de modification en conséquence
* En cas d'affichage `not_read`, évite de faire une requête si on sait
déjà qu'il n'y a pas d'article non lu et fait directement un affichage
`all`.
* Appelle `cleanOldEntries` seulement une fois de temps en temps
aléatoirement (1 fois sur 30 actuellement) pour économiser les
ressources, et avant les insertions pour plus de robustesse.
* Utilisation des transactions lors de mises à jour multiples et liées
* Lors de requêtes de modifications, retourne le nombre de lignes
impactées plutôt qu'un booléen en cas de succès
* Suppression de code oublié relatif à is_public qui n'est plus utilisé
2013-11-16 21:03:25 +01:00
Alexandre Alapetite
d654b34fa7 Affichage du nombre total d'article sur la page de configuration
https://github.com/marienfressinaud/FreshRSS/issues/263
Style à améliorer éventuellement
2013-11-13 21:32:50 +01:00
Alexandre Alapetite
4c5e9d0dd8 Cohérence htmlspecialchars
Le texte dans la base de données est en htmlspecialchars(UTF-8)
(c'est-à-dire avec `<>&'"` encodés) mais maintenant sans autre entité
HTML depuis
a4fc7becb8
Ce patch supprime les htmlspecialchars qui faisaient du double-encodage,
et en modifie d'autres en entrée.
2013-11-12 22:37:25 +01:00
Alexandre Alapetite
3f93866f38 SQL : Optimisation vitesse
Optimisation de la vitesse de quelques requêtes, surtout après les
essais d'INDEX.
Suite de https://github.com/marienfressinaud/FreshRSS/issues/254
Note pour plus tard : il faudra supprimer les INDEX inutilisés.
2013-11-12 18:49:18 +01:00
Alexandre Alapetite
5af7c472ed MySQL : changements mineurs de types
D'autres changements de types, toujours sans modification de
comportement, mais plus efficace.
En particulier char(6) plutôt que varchar(6) pour les identifiants en
attendant un entier, et varchar plutôt que text dans des champs
généralement courts et souvent retournés par les requêtes les plus
importantes
2013-11-11 22:19:37 +01:00
Alexandre Alapetite
396fefeae1 MySQL : Longueurs maximum des champs texte
Ajout de sécurités pour ne pas dépasser les longueurs de texte déclarées
dans MySQL (varchar ou text selon les champs)
2013-11-11 20:56:47 +01:00
Alexandre Alapetite
bdb69080f8 Affichage dynamique des favoris non lus
Corrige https://github.com/marienfressinaud/FreshRSS/issues/222
Il reste toujours une situation curieuse lorsqu'on a fini de lire tous
les favoris non-lus, mais à voir une autre fois
2013-11-09 00:46:43 +01:00
Alexandre Alapetite
fdb2b7588e Actualize : évite d'ajouter les articles déjà connus
Dans la plupart des cas, évite d'ajouter les articles déjà présents dans
la base de données, en faisant une pré-requête (une par flux, pas une
par article).
Par exemple, si un flux RSS fournit 20 articles, alors la pré-requête
charge une liste d'exclusion de 20+2 identifiants d'articles.
Ce patch réduit considérablement le nombre de requêtes et la charge de
la base de données durant les mises à jour, et en particulier le trafic
réseau entre PHP et la base de données.
Les mises à jour sont du coup aussi plus rapides.
2013-11-05 18:37:41 +01:00
Alexandre Alapetite
2906d8dd2e Hack temporaire en attendant la recherche côté base-de-données
Limite la recherche aux 20000 plus récents articles, en attendant https://github.com/marienfressinaud/FreshRSS/issues/204
2013-10-30 21:23:45 +01:00
Marien Fressinaud
35dcb5e39a Issue #155 : correction bug prefix table SQL
Le préfixe freshrss_ était rentré en dur dans une des requêtes
2013-09-15 11:29:31 +02:00
Marien Fressinaud
d9975d86a2 Issue #155 : suppression fonctions commentées 2013-09-14 21:59:54 +02:00
Marien Fressinaud
008d6a7047 Merge branch 'SqlOptimisation' of https://github.com/Alkarex/FreshRSS into Alkarex-SqlOptimisation
Conflicts:
	app/controllers/feedController.php
2013-09-14 19:44:53 +02:00
Marien Fressinaud
73fe0eabbe Fix issue #151 : marquer lus les articles du futur
On peut désormais marquer comme lu les articles parus dans le futur
2013-09-14 19:26:01 +02:00
Alexandre Alapetite
cf62bcd3d3 Handle paging for entries with identical date
Paging now works even when many entries have the same date.
SQL speed could probably be improved by testing first on date, and then
on CONCAT.
Also, having an index on date would probably help too.
2013-09-04 09:28:27 +02:00
Alexandre Alapetite
040e72fe4f Work around
In the current SQL request with LIMIT, if many dates are identical, the
pagination may not work properly. Added a little more tolerance, but
will have to be solved better.
2013-09-04 02:20:02 +02:00
Alexandre Alapetite
f55ae730e6 Disable SQL LIMIT optimisation during search
This patch is to make search work again after the new SQL optimisations,
by removing some of the optimisations when searching is used.
Optimisation of search is left for some future work.
The whole base is indeed transfered from MySQL to PHP, which is not
good.
2013-09-03 23:35:33 +02:00
Alexandre Alapetite
f855dbdca6 SQL and model optimisation
Big effect (on speed and memory), but few changes :-)
Drastically reduced the number of SQL requests needed (from 233 down to
8 to load the home page with my own data set = 140 feeds in 15
categories).
Drastically reduced the amount of data transferred from MySQL to PHP.
2013-09-02 22:06:51 +02:00
Alexandre Alapetite
de6e1b0a86 Change filter of expected SQL errors
Filter out "SQLSTATE Class code 23: Constraint Violation" because of
expected duplicate entries.
Consider adding a Minz_Log::DEBUG level
2013-08-26 23:47:59 +02:00
Marien Fressinaud
9642fbb221 Fix issue #118 : option pour garder historique
*** ATTENTION, MODIFICATION DE LA BDD ***

Cette option permet de garder les vieux articles d'un flux en même s'ils
sont plus vieux que la limite des X mois d'historique (3 par défaut)

Les modifications de la base de données :
- ajout du champ "keep_history int(1) DEFAULT 0" à la table feed
- suppression des champs "is_public" et "lastUpdate" de la table entry
  (n'étaient plus utilisés de toute façon)
2013-08-22 11:11:22 +02:00
Marien Fressinaud
37b641966f Issue #100 : base pour utilisation SQLite
Ajout de la structure pour l'utilisation de SQLite. Tout n'est pas
fonctionnel, loin de là, certaines requêtes SQL ne passent pas.

Pour essayer tout de même, décommenter le bloc TODO dans le fichier
public/install.php
2013-08-18 14:59:03 +02:00
Marien Fressinaud
7fd7727096 Amélioration de l'installateur + préfixe BDD
Fix issue #96 : on peut désormais choisir un préfixe aux tables de la
BDD lors de l'installation
Fix issue #115 : échappement des guillemets pendant la phase
d'installation
Fix issue #116 : le thème de l'installateur est désormais accessible
FIx issue #117 : rajout du test de la présence DOMDocument lors de
l'installation. Si non présent, on peut pas accéder aux flux RSS.
Normalement fourni sur un système RedHat-like par le paquet php-xml
2013-08-18 01:22:26 +02:00
Marien Fressinaud
f6d730f9d1 Fix issue #106 : modif nom classes Cache et Log
Passage en Minz_Cache et Minz_Log
Permet d'éviter les redondances quand ces classes sont déjà définies
Je n'utilise pas d'espace de nom parce que beaucoup de boulot et
nécessite obligatoirement php 5.3
Si d'autres classes nécessitent cette modification je le ferai au fur et
à mesure qu'on me remontera les soucis
La version de Minz pour FreshRSS n'est plus compatible avec la version
distribuée à part
2013-07-27 17:07:44 +02:00
Marien Fressinaud
5b313ecdcb Fix issue #111 : index httpAuth ajouté (OPML)
Il manquait cet index lors de l'ajout d'un flux par import OPML, c'est
ok maintenant
2013-07-26 19:08:09 +02:00
Marien Fressinaud
8cf9ee7650 Fix issue #69 : ajout d'une option pour optimiser la BDD + correction bug script actualisation lorsque connexion paramétrée 2013-06-15 17:36:42 +02:00
Marien Fressinaud
9e0af957d4 Fix issue #85 : la récupération des flux tronqués vérifie d'abord si l'article n'est pas déjà en BDD pour éviter énormément de requêtes inutiles 2013-06-15 13:02:36 +02:00
Marien Fressinaud
746ae4b33a Fix issue #79 : possibilité de changer le nom d'un flux 2013-06-14 20:09:47 +02:00
Marien Fressinaud
22e9fb02f8 Correction bug lors de la recherche d'un article (EntryDAO->searchById()) 2013-05-02 23:28:04 +02:00
Marien Fressinaud
9820345eec Revue de code pour la récupération des articles : ATTENTION GROS CHANGEMENTS, aucune garantie de stabilité et possibles régressions. La recherche dans le contenu des articles fonctionnent et possibilité de rechercher des tags 2013-04-29 00:57:08 +02:00
Marien Fressinaud
a698221625 Fix issue #55 : affichage des tags associés aux articles 2013-04-24 22:14:49 +02:00
Marien Fressinaud
c2bf3ead8a Export des flux au format RSS pleinement supporté (voir issue #34) - possibilité de les filtrer comme pour la vue principale 2013-04-13 13:02:21 +02:00
Marien Fressinaud
d5b761b512 Correction bug listage des articles 2013-04-11 22:13:34 +02:00
Marien Fressinaud
e2171de4e6 Fix issue #37 : possibilité de sortir un site du flux principal (utile pour les sites qui publient beaucoup) 2013-04-11 21:27:29 +02:00
Marien Fressinaud
61943f1661 Plus possible d'ajouter un flux déjà existant + meilleure gestion actualisation / import OPML 2013-04-11 20:32:10 +02:00
Marien Fressinaud
e6436444db Fix bug #49 : les flux sans auteur sont traités normalement désormais 2013-04-10 20:55:12 +02:00
Marien Fressinaud
30890b3d15 Fix bug #50 2013-04-10 20:21:10 +02:00
Marien Fressinaud
1c57c2b7bd Changement API : export (Uniflux) du flux public à la place du flux des favoris avec content = notes et gestion des tags 2013-03-17 21:47:25 +01:00
Marien Fressinaud
dbb0de4e36 Les catégories d'un article sont désormais ajoutées à ses tags 2013-03-17 17:22:19 +01:00
Marien Fressinaud
76b071a560 Ajout de 2 champs pour entry (is_public et lastUpdate) + gestion des nouveaux champs dans la classe Entry 2013-03-17 16:22:41 +01:00
Marien Fressinaud
d2f0451eb3 Fix bug #30 : lorsque articles non lus dans une catégorie, les autres catégories affichent désormais tous leurs articles 2013-03-17 12:54:41 +01:00
Marien Fressinaud
d63eddf0c5 Ajout d'options : possibilité de changer l'ordre des articles + possibilité de marquer comme lu au choix : tous, antérieurs à 1 jour, antérieurs à 1 semaine 2013-03-17 00:01:40 +01:00
Marien Fressinaud
8c2b3bfc30 Fix bug #27 : le marquer comme lu s'adapte si on ne regarde qu'une catégorie ou qu'un flux 2013-03-16 22:19:27 +01:00
Marien Fressinaud
9daa4c1463 Ajout champs de recherche + désactivation des raccourcis quand un input a le focus -> fix bugs #18 et #29 2013-03-16 20:29:24 +01:00
Marien Fressinaud
47196182e5 Fix bug #25 mais le code ne me convient pas. Le bug #28 devra corriger ce soucis 2013-03-14 20:10:15 +01:00
Marien Fressinaud
d2c20395c0 Ajout d'indicateur de jour dans le flux d'articles + correction de bugs js liés à cet ajout et code mort 2013-03-14 19:05:22 +01:00
Marien Fressinaud
8c72acbacb Suppression code HTML inutile + amélioration CSS + restructuration du layout + correction bug mise à jour d'articles lorsqu'on visualise une catégorie 2013-03-13 19:09:29 +01:00
Marien Fressinaud
c62ec2a144 Grosse mise à jour du design, pas mal de trucs cassés au niveau du panneau de configuration 2013-03-12 23:24:52 +01:00
Marien Fressinaud
3d3618d97c Correction bug gestion de l'id pour Feed et Entry 2013-03-12 18:20:41 +01:00
Marien Fressinaud
f528d2c315 ajout export au format Uniflux 2013-02-10 13:52:39 +01:00