Projet

Général

Profil

Bug #5181

Do not copy jQuery

Ajouté par Benjamin Dauvergne il y a presque 10 ans. Mis à jour il y a plus de 7 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
Début:
21 juillet 2014
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Use jQuery CDN and link to non-minified version when debug is True.


Fichiers

Historique

#1

Mis à jour par Thomas Noël il y a plus de 9 ans

  • Version cible mis à 0.3
#2

Mis à jour par Benjamin Dauvergne il y a plus de 9 ans

#3

Mis à jour par Frédéric Péters il y a plus de 9 ans

Je me suis encore retrouvé à devoir travailler sans connexion internet récemment (avions, trains…) du coup je préférerais conserver une copie locale.

#4

Mis à jour par Benjamin Dauvergne il y a plus de 9 ans

Ce que je te propose c'est que la version non minifiée de debug soit locale, ce serait bon ?

#5

Mis à jour par Frédéric Péters il y a plus de 9 ans

Ça me va qu'en mode debug le js ne soit pas minifié, mais j'aimerais quand même garder la possibilité de ne pas utiliser de CDN, debug ou pas; ça t'irait d'ajouter un paramètre settings.USE_JQUERY_CDN, plutôt que de se baser sur DEBUG ?

#6

Mis à jour par Benjamin Dauvergne il y a plus de 9 ans

Ce n'est pas évident, les settings ne sont pas exportés dans les templates et donc pour réagir à ce nouveau setting il faudra soit un context_processor soit un template tag. En attendant je laisse ce patch de coté je vais commiter les autres.

#7

Mis à jour par Frédéric Péters il y a plus de 9 ans

À revenir là-dessus, ce qui est à utiliser, c'est xstatic, qui est le truc d'openstack, en utilisant django-xstatic pour faire le pont, ça donne un truc comme ça :

Ça met les fichiers directement sous /static/, perso je les préférerais dans un sous-répertoire, mais c'est un détail.

Ensuite, dans les métadonnées des paquets xstatic, il y a aussi les infos de CDN, et ça pourrait être utilisé mais je n'ai pas regardé cette partie.

#8

Mis à jour par Frédéric Péters il y a plus de 9 ans

Benjamin, tu penses quoi de partir sur xstatic ? Si ça te va, je peux m'occuper d'un patch.

#9

Mis à jour par Benjamin Dauvergne il y a plus de 9 ans

Ça me va bien.

#10

Mis à jour par Frédéric Péters il y a plus de 9 ans

Voilà le patch pour utiliser les modules xstatic; j'ai préféré ne pas ajouter de dépendance à django-xstatic et de plutôt recopier et adapter son code de recherche des fichiers statiques (que je voulais modifier pour préfixer en /xstatic/).

Pour reprendre le README.txt :

Configuration
=============

You should add gadjo.finders.XStaticFinder to STATICFILES_FINDERS,

  STATICFILES_FINDERS = (
    "django.contrib.staticfiles.finders.FileSystemFinder",
    "django.contrib.staticfiles.finders.AppDirectoriesFinder",
    "gadjo.finders.XStaticFinder",
  )

There is a CDNS settings, that can contain a list of (cdn name, protocol)
tuples; for example:

  CDNS = [('google', 'https')]

Usage
=====

Make your application base template {% extends "gadjo/base.html" %}.

Additional static files libraries can be added via INSTALLED_APPS,
for example 'xstatic.pkg.jquery_tablesorter'; its static files can
then be referred in a template using the xstatic template tag:

  {% xstatic 'jquery_tablesorter' 'jquery.tablesorter.js' %}
#11

Mis à jour par Benjamin Dauvergne il y a plus de 9 ans

Ça me semble ok par contre si je comprends bien ce n'est pas rétro-compatible, il va falloir ajouter xstatic.*.jquery{-ui} aux INSTALLED_APPS des applications qui utilisent gadjo avant de déployer la nouvelle version des templates gadjo partout.

#12

Mis à jour par Frédéric Péters il y a plus de 9 ans

Il va falloir ajouter le static finder; pour les xstatic*jquery, ceux utilisés par gadjo sont hardcodés dans le finder, justement pour ne pas devoir être ajoutés.

#13

Mis à jour par Benjamin Dauvergne il y a plus de 9 ans

Ok, mais dans ce cas il va quand même falloir ajouter les xstatic.pkg.{jquery,jquery_ui,font_awesome} aux dépendances dans le setup.py de gadjo et demander à Jérôme de les packager aussi pour que tout s'installe sans dépendances manquantes.

#14

Mis à jour par Frédéric Péters il y a plus de 9 ans

Oui pour le setup.py; pour les paquets, pour info ils sont en création dans Debian (ex: https://bugs.debian.org/756734), et il y a moyen d'en tirer depuis les dépôts openstack (ex: http://archive.gplhost.com/debian/pool/juno/main/p/python-xstatic-jquery/).

Pour le setup.py, tu vois autre chose que ça : ?

+    install_requires=[
+        'XStatic',
+        'XStatic_Font_Awesome',
+        'XStatic_jQuery',
+        'XStatic_jquery_ui',
+        ],
#15

Mis à jour par Benjamin Dauvergne il y a plus de 9 ans

Frédéric Péters a écrit :

Oui pour le setup.py; pour les paquets, pour info ils sont en création dans Debian (ex: https://bugs.debian.org/756734), et il y a moyen d'en tirer depuis les dépôts openstack (ex: http://archive.gplhost.com/debian/pool/juno/main/p/python-xstatic-jquery/).

Ok ticket ouvert #5301.

Pour le setup.py, tu vois autre chose que ça : ?

[...]

Non c'est bon.

#16

Mis à jour par Frédéric Péters il y a plus de 9 ans

  • Statut changé de En cours à Résolu (à déployer)

Je viens de pousser le tout.

Il y a un paquet python-gadjo sur passerelle-test, je l'ai mis "on hold" pour le moment, en attendant qu'une mise à jour de passerelle y soit possible.

#17

Mis à jour par Jérôme Schneider il y a plus de 9 ans

  • Statut changé de Résolu (à déployer) à Solution déployée
  • % réalisé changé de 0 à 100

J'ai corrigé le soucis dont on a parlé ce matin. : C'était pour le ticket #5301

#18

Mis à jour par Jérôme Schneider il y a plus de 9 ans

  • Statut changé de Solution déployée à Résolu (à déployer)
  • % réalisé changé de 100 à 0
#19

Mis à jour par Frédéric Péters il y a plus de 7 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF