Add missing info on signals and renkan thumbnails documentation
authorymh <ymh.work@gmail.com>
Fri, 13 Apr 2018 12:43:08 +0200
branchdocumentation
changeset 696 06825f3aa213
parent 695 f151478c7628
child 697 7cb2daf6da35
Add missing info on signals and renkan thumbnails
doc/source/_static/img/renkan/renkan_liste_miniature.png
doc/source/conf.py
doc/source/index.rst
doc/source/renkan.rst
doc/source/signals.rst
doc/source/taches.rst
Binary file doc/source/_static/img/renkan/renkan_liste_miniature.png has changed
--- a/doc/source/conf.py	Thu Apr 12 18:33:25 2018 +0200
+++ b/doc/source/conf.py	Fri Apr 13 12:43:08 2018 +0200
@@ -30,7 +30,7 @@
 author = u'Yves-Marie Haussonne'
 
 # The short X.Y version
-version = u'0.1'
+version = u'0.3'
 # The full version, including alpha/beta/rc tags
 release = u'3.2.1'
 
--- a/doc/source/index.rst	Thu Apr 12 18:33:25 2018 +0200
+++ b/doc/source/index.rst	Fri Apr 13 12:43:08 2018 +0200
@@ -21,6 +21,7 @@
    renkan
    commandes
    taches
+   signals
    dev
    Documentation API <api/modules>
 
--- a/doc/source/renkan.rst	Thu Apr 12 18:33:25 2018 +0200
+++ b/doc/source/renkan.rst	Fri Apr 13 12:43:08 2018 +0200
@@ -201,6 +201,28 @@
 la sauvegarde des renkan est définie dans le fichier `hdalab/static/hdalab/js/renkan-manual-save.js`.
 La sauvegarde est déclenchée par une action de l'utilisateur.
 
+Calcul des miniatures
+=====================
+
+.. image:: _static/img/renkan/renkan_liste_miniature.png
+
+Lorsqu'un renkan est publié (le statut de l'objet :class:`hdalab.models.renkan.HdalabRenkan` passe à `PUBLISHED`) une miniature du renkan est capturée.
+Cette capture se fait dans la méthode :func:`hdalab.services.renkan_capture_preview`.
+
+On lance `PhantomJS <http://phantomjs.org/>`_ qui ouvre la page :ref:`affichage-d-un-renkan-en-plein-ecran` et effectue une capture.
+
+Les arguments de l'appel sont les suivants ::
+
+  phantomjs
+      <chemin/vers/capture-phantomjs.js>
+      http://hdalab.iri-research.org/hdalab/renkan/full/?rk_id=<id_du_renkan>
+      <chemin/vers/le/thumbnail.png>
+      --width=500
+      --height=500
+      --wait=5000
+
+Le script de capture PhantomJS se trouve dans le fichier `src/hdalab/scripts/capture-phantomjs.js <https://www.iri.centrepompidou.fr/dev/hg/hdabo/file/tip/src/hdalab/scripts/capture-phantomjs.js>`_.
+
 
 Le module `renkanmanager`
 =========================
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/source/signals.rst	Fri Apr 13 12:43:08 2018 +0200
@@ -0,0 +1,64 @@
+#################
+Signaux du modèle
+#################
+
+L'application HDALab utilise le `"distributeur de signaux" fourni par Django <https://docs.djangoproject.com/en/1.8/topics/signals/>`_.
+Il permet à HDALab d'avoir une architecture découplée et de pouvoir être averties quand des actions se produisent ailleurs dans un projet.
+
+
+Envoi des messages de modération
+================================
+
++-----------+-----------------------------------------------------------------------------+
+| Emetteur  | :class:`hdalab.models.renkan.HdalabRenkanStateTransition`                   |
++-----------+-----------------------------------------------------------------------------+
+| évènement | `post_save <https://docs.djangoproject.com/en/1.8/ref/signals/#post-save>`_ |
++-----------+-----------------------------------------------------------------------------+
+| methode   | :func:`hdalab.signals.send_renkan_moderation_messages`                      |
++-----------+-----------------------------------------------------------------------------+
+
+|
+
+.. autofunction:: hdalab.signals.send_renkan_moderation_messages
+  :noindex:
+
+
+Mise dans la queue des capture de miniature
+===========================================
+
++-----------+-----------------------------------------------------------------------------+
+| Emetteur  | :class:`hdalab.models.renkan.HdalabRenkanStateTransition`                   |
++-----------+-----------------------------------------------------------------------------+
+| évènement | `post_save <https://docs.djangoproject.com/en/1.8/ref/signals/#post-save>`_ |
++-----------+-----------------------------------------------------------------------------+
+| methode   | :func:`hdalab.signals.queue_renkan_rendering`                               |
++-----------+-----------------------------------------------------------------------------+
+
+|
+
+.. autofunction:: hdalab.signals.queue_renkan_rendering
+  :noindex:
+
+
+
+Effacement des miniatures renkan
+================================
+
++-----------+-------------------------------------------------------------------------------+
+| Emetteur  | `renkamanager.models.Renkan`                                                  |
++-----------+-------------------------------------------------------------------------------+
+| évènement | `pre_delete <https://docs.djangoproject.com/en/1.8/ref/signals/#pre-delete>`_ |
++-----------+-------------------------------------------------------------------------------+
+| methode   | :func:`hdalab.signals.renkan_delete_image`                                    |
++-----------+-------------------------------------------------------------------------------+
+
+|
+
+.. autofunction:: hdalab.signals.renkan_delete_image
+  :noindex:
+
+
+
+
+
+
--- a/doc/source/taches.rst	Thu Apr 12 18:33:25 2018 +0200
+++ b/doc/source/taches.rst	Fri Apr 13 12:43:08 2018 +0200
@@ -13,7 +13,7 @@
 .. _taches-hdalab-tasks-capture_preview:
 
 hdalab.tasks.capture_preview
-----------------------------
+============================
 
 Crée un snapshot d'un renkan.
 La tache est un simple wrapper qui appelle :func:`hdalab.services.renkan_capture_preview`.
@@ -21,10 +21,12 @@
 .. autofunction:: hdalab.services.renkan_capture_preview
   :noindex:
 
+
+
 .. _taches-djcelery_email_send_multiple:
 
 djcelery_email_send_multiple
-----------------------------
+============================
 
 Envoi asynchrone d'email.
 Cette tâche est fournie par la librairie `django-celery-email <https://github.com/pmclanahan/django-celery-email>`_.