Welcome to zorna’s documentation!

Getting Started

English ZORNA documentation

Documentation de ZORNA en français

ZORNA Présentation

Introduction

ZORNA est une puissante plate-forme pour le travail collaboratif et la gestion de contenus. Développé en utilisant le framework DJANGO, ZORNA fournit une architecture simple et extensible qui permet, par son API, de lui ajouter de nouvelles fonctionnalités pour des besoins spécifiques.

Le but de ce guide est de fournir assez d’informations pour commprendre comment fonctionne ZORNA.

Caractéristiques
  • Pages de navigation hiérarchiques
  • Editeur WYSIWYG
  • Publication d’articles organisés par catétgories
  • Publication d’un même article dans plusieurs catégories
  • Ajout de fichiers joints à l’article
  • Droits d’accès sur les catégories (Lecteur/Editeur)
  • Gestion et partage de fichiers (personnels et partagés)
  • Gestion des utilisateurs et des groupes d’utilisateurs
  • Partage d’agendas
  • FAQs
  • Notes
  • Un générateur de formulaires WEB
  • Authentification LDAP
  • ...

On peut développer facilement des modules pour ajouter de nouvelles fonctionnalités. Quelques exemples de modules développés par AFRAZ :

  • Module de gestion de projets (Tâches, Agenda, Gantt, etc...)
  • Module de gestion électronique de documents (GED)
  • Module de visioconférence s’appuyant sur BigBlueButton
  • ...
Installation

ZORNA nécessite Python 2.7. Vérifiez donc que vous avez bien Python installé sur votre machine.

La meilleure façon de tester ZORNA est d’utilisez virtualenv. Virtualenv permet de créer un environnement virtuel et d’isoler l’installation de Python et des packages nécessaires de l’OS.

Pour cela, installer virtualenv comme suit:

$ sudo pip install virtualenv

Une fois l’installation faite, créez un environnement virtuel comme suit:

$ cd ~
$ virtualenv MyENV
$ cd MyENV

Activez l’environnement virtuel en tapant la commande suivante:

$ source bin/activate      ( ou bin/activate on Windows )

Vous remarquez que le prompt change. Ceci indique que votre environnement virtuel est actif. Pour désactiver l’environnement, il faut taper la commande deactivate.

Continuez en tapant les commandes suivantes ( mise à jour de distribute et création du répertoire qui contiendra notre site de test )

(myENV)$ easy_install -U distribute
(myENV)$ mkdir zornasite

Téléchargez la dernière version et décompressez le contenu de l’archive dans le répertoire zornasite.

Installez les requirements:

(myENV)$ pip install -r zornasite/requirements.txt

Lancez les commandes suivantes pour créer les tables de la base de données et faire la migration:

(myENV)$ cd zornasite
(myENV)$ python manage.py syncdb --all
(myENV)$ python manage.py migrate --fake

Lors de la création des tables, il vous sera demandé les informations nécessaires pour créer le super administrateur.

Créez le répertoire où ZORNA stockera les documents chargés par l’utilisateur:

(myEnv)$ mkdir upload && mkdir upload/ickeditor

Créez les liens symboliques suivants:

(myENV)$ cd public
(myENV)$ ln -s ../../lib/python2.7/site-packages/ckeditor/static/ckeditor/ ckeditor

Enfin, dans le répertoire zornasite, lancez la commande suivante:

(myENV)$ python manage.py runserver

Et pointez votre navigateur vers l’url!:

Gestion des droits d’accès

Préambule

ZORNA utilise les groupes pour gérer les droits sur les objets. Un groupe est un ensemble d’utilisateurs enregistrés dans la base de données. Les groupes sont hiérarchiques c’est à dire organisés sous forme d’arborescence.

Pour octroyer des droits sur un objet géré par ZORNA ( article, faq, fichier, etc ...), on done le droit au groupe ou on le lui refuse. Tous les membres d’un groupe bénéficient des droits octroyés à ce groupe.

Pour éviter inutilement la création de groupes, ZORNA permet d’octroyer des droits par utilisateur.

Un droit peut être accordé à un groupe ou au groupe et à ses descendants.

De la même manière un droit peut être refusé à un groupe ou à ses descendants.

On peut accorder un droit à un groupe et ses descendants et le refuser pour quelques groupes dans la hiérarchie.

Cette façon de gérer les droits évite la multiplication des groupes et offre beaucoup plus de souplesse.

Les groupes

ZORNA permet d’organiser les groupes de manière hiérachique:

_images/adm-groupes.png

Pour créer un groupe, en tant qu’administrateur, cliquez sur le lien “Administration -> Groupes” puis “Ajouter un groupe”.

Pour voir les membres d’un groupe ou en ajouter cliquez l’icône “Les Membres”

Les droits sur un objet

Chaque objet a des droits spécifiques. Ainsi pour un objet on peut octroyer un droit de lecture ou de création alors que pour un autre on utilise plutôt un droit d’accès ou tout autre.

Les autorisations de droit pour les groupes sont:

  • Allow: pour autoriser le droit au groupe
  • Allow++: pour autoriser le droit au groupe et à ses descendants
  • Deny: pour refuser le droit au groupe
  • Deny++: pour refuser le droit au groupe et à ses descendants

Les autorisations d’un droit pour un utilisateur sont:

  • Allow: pour autoriser le droit à l’utilisateur
  • Deny: pour refuser le droit
_images/adm-rights.png
Duplication des droits

L’octroi des droits à un objet peut facilement devenir fastidueux surtout si le nombre de groupes est trop important.

Pour éviter cela, ZORNA vous permet de dupliquer les droits d’un objet pour les appliquer à un autre.

Pour cela il suffit de créer le nouvel objet et d’aller à l’interface de création des droits. Sur cette interface, déroulez la listbox “Charger les permissions à partir de” pour charger les permissions à partir d’un autre objet. ZORNA charge les droits octroyés à l’objet pour les appliquer au nouvel objet. Enregistrer pour sauvegarder les nouveaux droits.

Publication des articles

Préambule

Les articles sont publiés dans des catégories d’articles. Les catégories d’articles sont organisées de manière hiérarchique ( sous forme d’arborescence ). Cette organisation permet à ZORNA de générer dynamiquement des menus hiérarchiques. Un article peut être publié dans une ou plusieurs catégories.

_images/adm-articles-categories.png
Création des catégories articles
Création

Seul l’administrateur peut créer des catégories d’articles. Pour celà il faut cliquer sur le lien “Administration -> Articles” et ensuite sur le lien “Ajouter une catégorie”. Renseignez le nom de la catégorie d’articles. Indiquez son parent s’il y a lieu et sauvegardez en cliquant sur le bouton “Enregistrer”.

Droits d’accès

Une fois la catégorie créée, on doit spécifier ses droits d’accès. Pour celà, cliquez sur l’image en forme de clé et configurer les droits d’accès. Vous pouvez spécifier les droits en utilisant les groupes ou les octroyer explicitement à des utilisateurs.

Pour définir les droits d’accès sur une catégorie, cliquez sur le bouton en forme de clé:

_images/adm-rights.png

Pour chaque catégorie les droits d’accès sont définis comme suit:

  • Reader: Le ou les groupes d’utilisateurs ayant le droit de lire les articles de la catégories
  • Manager: Le ou les groupes d’utilisateurs ayant le droit de gérer les articles de cette catégorie
  • Writer: Le ou les groupes d’utilisateur ayant le droit de publier des articles dans cette catégorie
Publication des articles
Liste de mes articles

Un utilisateur qui a le droit de publier des articles accède à l’espace de publication des articles par le menu “Utilisateur” en cliquant sur le lien “Publication”. Il se retrouve avec la liste des articles qu’il a publié:

_images/my-articles.png

Les articles avec une croix rouge sont des brouillons, c’est à dire qu’ils ne sont publiés dans aucune catégorie. Les autres sont des articles en ligne et donc publiés dans au moins une catégorie.

Publication

Pour publier un article, cliquez sur le lien “Rédiger un article” Indiquez dans quelles catégories vous souhaitez plubliez cet article:

_images/pub-categories.png

Indquez ensuite les éléments suivants:

  • Titre de l’article
  • Slug (il est mis à jour automatiquement). Vous pouvez le modifier si vous le souhaitez.
  • En-tête de l’article
  • Le corps de votre article. Un éditeur WYSIWYG vous facilite la mise en page
  • Si vous souhaitez illustrer votre article, indiquez le fichier qui contient l’image dans le champ “Image”
  • Vous avez la possibilité de joindre à votre article un ou deux fichiers.

Cliquez sur le bouton “Enregistrer” pour enregistrer et publier votre article.

Si vous souhaitez ne pas publier votre article tout de suite et de rester en mode brouillon, ne sélectionner aucune catégorie de publication.

Une fois l’article enregistré, vous avez la possiblité de supprimer l’image ou de remplacer. De même pour les fichiers joints.

Personnalisation d’un site ZORNA

Introduction

ZORNA vous permet de personnaliser les pages d’accueils de votre site en contenus et en graphisme. On distingue deux sortes de pages d’accueil:

  • La page d’accueil publique

    Cette page est la page d’arrivée sur le site lorsque l’utilisateur n’est pas encore authentifié

  • La page d’accueil privée

    C’est la page où l’utilisateur sera dirigé une fois authentifié.

ZORNA vous permet de personnaliser ces deux pages pour adopter votre charte graphique ou pour présenter des contenus spécifiques. Le design de ces pages est du ressort du web master. Les connaissances du HTML, CSS et éventuellement du Javascript sont nécessaires. En plus pour une bonne connaissance du langage du moteur de template de DJANGO est requise pour afficher du contenu provenant de la base de données de ZORNA.

Dans le répertoire “skins/default” à la racine de votre site, on trouve ces deux pages et d’autres:

  • public.html est la page d’accueil publique
  • private.html est la page d’accueil privée
  • base.html pour personnaliser la description, les mots clés ( meta ) du site
  • header.html contient les menus en haut à droite et le logo du site
  • footer.html contient le bas de la page
  • page_menu.html contient les menus de la page

Ce sont des pages HTML qu’on peut modifier et adapter pour le site Ces pages sont aussi des pages templates, c’est à dire, contiennent des variables et des tags du système de template de DJANGO.

Indices and tables