Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Passage à Django 1.8 #3331

Merged
merged 34 commits into from
Feb 24, 2016
Merged

Passage à Django 1.8 #3331

merged 34 commits into from
Feb 24, 2016

Conversation

GerardPaligot
Copy link
Member

Suite de #3245 avec un rebase et plus propre :D

Q R
Correction de bugs ? Non
Nouvelle Fonctionnalité ? Oui
Tickets (issues) concernés #2507, #2666

QA

Tester tout ! :)

Pourquoi cette PR ?

Oui, pourquoi cette PR alors que @gustavi est en train de développer la compatibilité Django 1.9 ? Tout simplement parce que j'estime que le projet n'est pas encore prêt pour cette version de Django.

La situation actuelle est la suivante :

  • Django 1.8 est la dernière version LTS de Django. Cela ne veut pas dire que nous y resterons longtemps, cela veut simplement dire que cette version est stable et qu'elle bénéficiera des correctifs de sécurité pendant 3 ans. Après, libre à nous de rester 3 ans ou d'évoluer rapidement vers Django 1.9.
  • Les dépendances de nos projets ne sont pas encore compatibles avec Django 1.9 et tardent à le faire. Puisque nous n'utiliserons et ne testerons pas une PR qui comportent des dépendances non compatibles, passer à la version 1.8 qui est déjà compatible avec toutes les dépendances me semble un choix plus que judicieux.

Pour ces 2 raisons, j'ai repris le travail de @gustavi et j'ai rollback à la version 1.8.

@vhf
Copy link
Contributor

vhf commented Jan 23, 2016

💯

@@ -2,7 +2,7 @@
Documentation de Zeste De Savoir
================================

Zeste de Savoir est un site internet communautaire codé à l'aide du framework Django 1.7 et de Python 2.7
Zeste de Savoir est un site internet communautaire codé à l'aide du framework Django 1.9 et de Python 2.7
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

C'est de la publicité mensongère ! ^^

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ouais, j'ai vu après des petits détails dans la doc pour Django 1.9. J'attends d'abord de voir si on merge ma PR ou celle de gustavi.

@gustavi
Copy link
Contributor

gustavi commented Jan 24, 2016

Je pense qu'au lieu de perdre du temps là dessus on devrait essayer de fixer les 2 erreurs Travis de Django Haystack.

@GerardPaligot
Copy link
Member Author

Je n'ai pas l'impression de perdre du temps quand Haystack n'est pas la seule dépendance à poser problème et que le choix de migrer vers Django 1.9 n'a pas été discutée face à une LTS. :)

@gustavi
Copy link
Contributor

gustavi commented Jan 24, 2016

À part Django Haystack qu'est-ce qui ne fonctionne pas ?

@vhf
Copy link
Contributor

vhf commented Jan 24, 2016

@gustavi Ce n'est pas qu'une question de ce qui fonctionne ou pas.

Que fait-on si on a un gros problème avec la 1.9 qu'on aurait pas remarqué lors de la beta ? Un problème de performance par exemple. Ou de sécurité. Bref un truc très embêtant. On rollback vers la 1.7 qui n'est plus maintenue ? On attend la 2.0 sachant qu'il faudra à nouveau adapter du code à la 2.0 ET attendre que les dépendances suivent ?

Peu importe à quelle vitesse on passe à la 1.9 après la 1.8 et peu importe si on passe à la 1.9 ou si on garde la LTS, passer d'abord à la LTS est un sage décision de mon point de vue.

@GerardPaligot
Copy link
Member Author

Je ne dirais pas mieux que @vhf mais pour répondre à ta question : haystack, drf-extensions et (anciennement il semblerait) swagger.

@gustavi
Copy link
Contributor

gustavi commented Jan 24, 2016

J'ai envie de dire que c'est la même chose avec Django 1.8.

Après je suis favorable au LTS mais pas pour un projet qui bouge autant que ça. Sur un site perso où je fais 10 commits par an OK, sur un gros projet comme ça je suis pour se mettre à jour petit à petit parce que quand tu dois passer d'une version n à une n+1 c'est déjà du gros travail alors de passer à du n à n+3 c'est vraiment monstrueux.

@GerardPaligot : swagger est OK.

@vhf
Copy link
Contributor

vhf commented Jan 24, 2016

J'ai envie de dire que c'est la même chose avec Django 1.8.

Non. Si on a un problème du genre il sera fixé sur la 1.8. Sur la 1.7 absolument pas, sur la 1.9 on ne peut pas savoir.

Cette PR n'est probablement pas le bon endroit pour débattre de rester sur la 1.8 ou pas. Il est pour débattre de l'utilité de passer à la 1.8 et ceci au risque de me répéter peu importe si on passe à la 1.9 ou si on garde la LTS.

@gustavi
Copy link
Contributor

gustavi commented Jan 27, 2016

On a vraiment besoin de QA là dessus

@GerardPaligot
Copy link
Member Author

Une QA directe sur la bêta me semble plus pertinente (une fois que la release actuelle sera faite).

@artragis
Copy link
Member

artragis commented Feb 1, 2016

En attendant http://zds.francoisdambrine.me vous attend.

@pierre-24
Copy link
Member

Hey, les identifiants par défauts fonctionnent pas, charge les fixtures ;)

@gustavi
Copy link
Contributor

gustavi commented Feb 1, 2016

@artragis sinon pas de .htaccess ?

@artragis
Copy link
Member

artragis commented Feb 1, 2016

Ça me soulerait d'en mettre un.

Je charge les fixtures @pierre-24

2016-02-01 12:01 GMT+01:00 Laville Augustin notifications@github.com:

@artragis https://github.com/artragis sinon pas de .htaccess ?


Reply to this email directly or view it on GitHub
#3331 (comment)
.

@artragis
Copy link
Member

artragis commented Feb 1, 2016

Les comptes basiques sont ajoutés et j'ai lancé l'ajout des factories high

2016-02-01 12:59 GMT+01:00 francois dambrine artragis@gmail.com:

Ça me soulerait d'en mettre un.

Je charge les fixtures @pierre-24

2016-02-01 12:01 GMT+01:00 Laville Augustin notifications@github.com:

@artragis https://github.com/artragis sinon pas de .htaccess ?


Reply to this email directly or view it on GitHub
#3331 (comment)
.

@firm1
Copy link
Contributor

firm1 commented Feb 1, 2016

J'ai noté un bug sur les modales qui prennent tout l'écran.

Par exemple la modale de signalement d'un message dans le forum.

globule

@DevHugo
Copy link
Contributor

DevHugo commented Feb 1, 2016

Pareil. pour ajouter un utilisateur dans un tutoriel.

J'ai joué un peu et j'ai rien vu à part ça.

@artragis
Copy link
Member

artragis commented Feb 1, 2016

J'avais oublié que sur mon serveur, npm n'arrivait pas à builder ça
correctement. Je vais voir plus tard.

2016-02-01 13:47 GMT+01:00 Hugo Courtecuisse notifications@github.com:

Pareil; pour ajouter un utilisateur dans un tutoriel

2016-02-01 13:41 GMT+01:00 firm1 notifications@github.com:

J'ai noté un bug sur les modale qui prennent tout l'écran.

Par exemple la modale de signalement d'un message dans le forum.

[image: globule]
<
https://cloud.githubusercontent.com/assets/6066015/12717663/8918e192-c8e9-11e5-8d29-03dd0ed1fb49.PNG


Reply to this email directly or view it on GitHub
<
#3331 (comment)

.


Reply to this email directly or view it on GitHub
#3331 (comment)
.

@firm1
Copy link
Contributor

firm1 commented Feb 1, 2016

Autre souci.

J'ai désinscris l'ancien utilisateur de ce tutoriel. Le tutoriel est bien allé à external, mais quand je vais sur le lien du tutoriel, je ne vois pas external comme auteur.

@firm1
Copy link
Contributor

firm1 commented Feb 1, 2016

J'ai aussi une erreur 500 sur ce lien (connecté via admin) : http://zds.francoisdambrine.me/tutoriels/?tag=molestiae

@artragis
Copy link
Member

artragis commented Feb 1, 2016

attend que j'ai corrigé le problème du front avant de faire des gros tests
car parfois un fichier mal placé peut générer des erreurs.

2016-02-01 14:19 GMT+01:00 firm1 notifications@github.com:

J'ai aussi une erreur 500 sur ce lien :
http://zds.francoisdambrine.me/tutoriels/?tag=molestiae


Reply to this email directly or view it on GitHub
#3331 (comment)
.

@artragis
Copy link
Member

artragis commented Feb 1, 2016

C'est bon de mon côté.

Le 1 février 2016 à 14:40, francois dambrine artragis@gmail.com a écrit :

attend que j'ai corrigé le problème du front avant de faire des gros tests
car parfois un fichier mal placé peut générer des erreurs.

2016-02-01 14:19 GMT+01:00 firm1 notifications@github.com:

J'ai aussi une erreur 500 sur ce lien :
http://zds.francoisdambrine.me/tutoriels/?tag=molestiae


Reply to this email directly or view it on GitHub
#3331 (comment)
.

@firm1
Copy link
Contributor

firm1 commented Feb 1, 2016

J'ai encore l'erreur 500 cela dit

@artragis
Copy link
Member

artragis commented Feb 1, 2016

[01/Feb/2016 14:51:58] "GET /tutoriels/?tag=molestiae HTTP/1.0" 500 126796
Internal Server Error: /tutoriels/
Traceback (most recent call last):
  File
"/home/francois/zds-site/zds-env/local/lib/python2.7/site-packages/django/core/handlers/base.py",
line 132, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File
"/home/francois/zds-site/zds-env/local/lib/python2.7/site-packages/django/views/generic/base.py",
line 71, in view
    return self.dispatch(request, *args, **kwargs)
  File
"/home/francois/zds-site/zds-env/local/lib/python2.7/site-packages/django/views/generic/base.py",
line 89, in dispatch
    return handler(request, *args, **kwargs)
  File
"/home/francois/zds-site/zds-env/local/lib/python2.7/site-packages/django/views/generic/list.py",
line 159, in get
    self.object_list = self.get_queryset()
  File "/home/francois/zds-site/zds/tutorialv2/views/views_published.py",
line 299, in get_queryset
    self.tag = get_object_or_404(SubCategory,
slug=self.request.GET.get('tag'))
  File
"/home/francois/zds-site/zds-env/local/lib/python2.7/site-packages/django/shortcuts.py",
line 155, in get_object_or_404
    return queryset.get(*args, **kwargs)
  File
"/home/francois/zds-site/zds-env/local/lib/python2.7/site-packages/django/db/models/query.py",
line 338, in get
    (self.model._meta.object_name, num)
MultipleObjectsReturned: get() returned more than one SubCategory -- it
returned 2!
[01/Feb/2016 14:51:58] "GET /tutoriels/?tag=molestiae HTTP/1.0" 500 126796
Internal Server Error: /tutoriels/
Traceback (most recent call last):
  File
"/home/francois/zds-site/zds-env/local/lib/python2.7/site-packages/django/core/handlers/base.py",
line 132, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File
"/home/francois/zds-site/zds-env/local/lib/python2.7/site-packages/django/views/generic/base.py",
line 71, in view
    return self.dispatch(request, *args, **kwargs)
  File
"/home/francois/zds-site/zds-env/local/lib/python2.7/site-packages/django/views/generic/base.py",
line 89, in dispatch
    return handler(request, *args, **kwargs)
  File
"/home/francois/zds-site/zds-env/local/lib/python2.7/site-packages/django/views/generic/list.py",
line 159, in get
    self.object_list = self.get_queryset()
  File "/home/francois/zds-site/zds/tutorialv2/views/views_published.py",
line 299, in get_queryset
    self.tag = get_object_or_404(SubCategory,
slug=self.request.GET.get('tag'))
  File
"/home/francois/zds-site/zds-env/local/lib/python2.7/site-packages/django/shortcuts.py",
line 155, in get_object_or_404
    return queryset.get(*args, **kwargs)
  File
"/home/francois/zds-site/zds-env/local/lib/python2.7/site-packages/django/db/models/query.py",
line 338, in get
    (self.model._meta.object_name, num)
MultipleObjectsReturned: get() returned more than one SubCategory -- it
returned 2!

2016-02-01 14:53 GMT+01:00 firm1 notifications@github.com:

J'ai encore l'erreur 500 cela dit


Reply to this email directly or view it on GitHub
#3331 (comment)
.

@firm1
Copy link
Contributor

firm1 commented Feb 1, 2016

Connecté en tant qu'admin, j'ai une erreur 500 sur le profile anonyme (sur tous les profils en fait)

Request Method:     GET
Request URL:    http://zds.francoisdambrine.me/membres/voir/user/
Django Version:     1.8.8
Exception Type:     NoReverseMatch
Exception Value:    

Reverse for 'membe-settings_promote' with arguments '(3L,)' and keyword arguments '{}' not found. 0 pattern(s) tried: []

Exception Location:     /home/francois/zds-site/zds-env/local/lib/python2.7/site-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 495
Python Executable:  /home/francois/zds-site/zds-env/bin/python
Python Version:     2.7.9
Python Path:    

['/home/francois/zds-site/zds-env/local/lib/python2.7/site-packages/git/ext/gitdb',
 '/home/francois/zds-site',
 '/home/francois/zds-site/zds-env/lib/python2.7',
 '/home/francois/zds-site/zds-env/lib/python2.7/plat-i386-linux-gnu',
 '/home/francois/zds-site/zds-env/lib/python2.7/lib-tk',
 '/home/francois/zds-site/zds-env/lib/python2.7/lib-old',
 '/home/francois/zds-site/zds-env/lib/python2.7/lib-dynload',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-i386-linux-gnu',
 '/usr/lib/python2.7/lib-tk',
 '/home/francois/zds-site/zds-env/local/lib/python2.7/site-packages',
 '/home/francois/zds-site/zds-env/local/lib/python2.7/site-packages/gitdb/ext/smmap']

Server time:    lun, 1 Fév 2016 15:04:00 +0100

@artragis
Copy link
Member

artragis commented Feb 1, 2016

Autre souci.

J'ai désinscris l'ancien utilisateur de ce tutoriel. Le tutoriel est bien allé à external, mais quand je vais sur le lien du tutoriel, je ne vois pas external comme auteur.

c'est un bug déjà présent en prod, ce n'est pas la faute de django1.8. C'est juste que la désinscription ne remplace pas l'historisation des auteurs (une PR récente).

@artragis
Copy link
Member

artragis commented Feb 1, 2016

J'ai aussi une erreur 500 sur ce lien (connecté via admin) : http://zds.francoisdambrine.me/tutoriels/?tag=molestiae

c'est un bug présent en prod mais qu'il convient de régler : il semblerait qu'aucune contrainte d'unicité n'existe sur les catégories/tags. Autrement dit on est sûrement en train de se foirer nous même nos perfs à cause de ça. Il faut donc ajouter cette contrainte là.

@gustavi
Copy link
Contributor

gustavi commented Feb 1, 2016

Ça sera sûrement corrigé dans la ZEP-25

@artragis
Copy link
Member

artragis commented Feb 1, 2016

mais comme la v17 avec django 1.8 (ou 1.9 si les dépendances répondent à
temps) arrivera nécessairement avant la zep-25 il faut un fix, même
temporaire et subobtimal.

2016-02-01 16:30 GMT+01:00 Laville Augustin notifications@github.com:

Ça sera sûrement corrigé dans la ZEP-25


Reply to this email directly or view it on GitHub
#3331 (comment)
.

gustavi and others added 25 commits February 24, 2016 22:49
- Change le format des urlpatterns.
- Utilise les vues dans la declaration des URLs.
- Correction de tous les reverse.
- Correction de toutes les balises url dans les templates.
Mise a jour de dependances connexes :
- drf-extensions de 0.2.7 a 0.2.8.
- django-cors-middleware de 1.0.0 a 1.2.0.
- Suppression de get_cache()
- Changement de noms de parametres de configuration pour REST_FRAMEWORK

Merci particulier a @DevHugo pour sa contribution.
SpaceFox added a commit that referenced this pull request Feb 24, 2016
@SpaceFox SpaceFox merged commit 20d324e into zestedesavoir:dev Feb 24, 2016
@gustavi
Copy link
Contributor

gustavi commented Feb 24, 2016

\o/

@GerardPaligot GerardPaligot deleted the django_18 branch February 24, 2016 22:03
@SpaceFox SpaceFox added this to the Version 17 milestone Feb 24, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-Back Concerne le back-end Django
Projects
None yet
Development

Successfully merging this pull request may close these issues.