Publication structurée : Différence entre versions

De OviWiki
Aller à : navigation, rechercher
(Version éditeur de plan de site)
(Version portlet)
Ligne 142 : Ligne 142 :
 
==== Version portlet ====
 
==== Version portlet ====
 
Ci-dessous un exemple de fichier Ovml permettant la mise à disposition d'une publication structurée de type Wysiwyg dans un portlet. Il s'agit ici du fichier 'theme_sw_wysiwyg.ovml' que nous avons vu plus haut.
 
Ci-dessous un exemple de fichier Ovml permettant la mise à disposition d'une publication structurée de type Wysiwyg dans un portlet. Il s'agit ici du fichier 'theme_sw_wysiwyg.ovml' que nous avons vu plus haut.
 +
<OVStructure> dans un portlet saura aller chercher la structure "theme_sw_wysiwyg"
  
 
[[Image:ovml.png]]
 
[[Image:ovml.png]]

Version du 15 juillet 2016 à 16:14

Containers OVML

OCPublication

Liste des publications

<source lang="ovml"> <OCPublication [node=""] [structure="" [publication=""]] [filter=""] [limit=""] [order=""] [orderby=""]>

     <OVPublicationId>
     <OVPublication...>

</OCPublication> </source>


Paramètres

node
Id du noeud dans le plan du site. Si node n'est pas renseigné, structure devra être renseigné
structure
nom de la structure de donnés, si structure n'est pas renseigné, node devra être renseigné
publication
Id numérique de la publication ou liste d'id séparés par des virgules
path (optionnel)
requête XPath à utiliser pour récupérer la structure, la requête doit retourner un noeud de type <element name="nom de la structure">. Exemple de requête pour que les publications affichées soient les sous-publications définies sous "slide" dans la structure : .//xs:element[@name='slide']. Par défaut, le container va utiliser l'élément à la racine.
filter (optionnel)
Les filtres doivent êtes séparés par des virgules, le nom du champ et la valeur doivent êtres séparés par un =. Ex. type=Courrier,deleted=0. Les noms de champ à utiliser sont ceux de la structure.
limit (optionnel)
 ???
order (optionnel)
asc ou desc
orderby (optionnel)
l'ordre par défaut est l'ordre manuel des sous publication dans le cas ou path est défini, ou l'ordre des id si le champ publication contient plusieurs id séparés par des virgules.

Variables

Variable Valeur
OVPublicationSitemapNodeId Id du noeud du plan du site fourni par ovidentia (toujours présent)
OVPublicationSitemapCustomNodeId Id du premier noeud ayant pour cible cette publication dans le plan du site défini dans les options du site (peut être vide si la publication n'est pas dans sitemap_editor).
PublicationSitemapCustomNodeText Nom du premier noeud ayant pour cible cette publication dans le plan du site défini dans les options du site (peut être vide si la publication n'est pas dans sitemap_editor).
PublicationSitemapCustomNodeDescription Description du premier noeud ayant pour cible cette publication dans le plan du site défini dans les options du site (peut être vide si la publication n'est pas dans sitemap_editor).
PublicationSitemapUrl Url réécrite permettant d'accéder à la publication.
... Autant de variables que de champs dans la structure Il faut utiliser une majuscule pour le premier caractère, example: title dans le fichier xsd deviens OVTitle dans l'ovml

Fonctions OVML

OFDownloadUrl

Créer une url de téléchargement.

<source lang="ovml"> <OFDownloadUrl path="localPath" permanent="1|0" saveas=""> </source>

Paramètres

path
chemin local du fichier tel qu'il est proposé par le container OCPublication par exemple.
permanent (optionnel)
0 (par défaut) : l'identifiant unique change à chaque rafraîchissement de la page, pour une sécurité plus forte
1 : L'identifiant unique reste toujours le même pour une url locale donnée, le lien peut être bookmarké ou indexé par les moteurs de recherche (préférable pour les url publiques)
saveas
Enregistrer le résultat dans une variable OVML

OFGetPublicationId

Pour obtenir l'id numérique d'une publication à partir d'un noeud du plan du site.

Ancien nom de la fonction: OFPublicationNode

<source lang="ovml"> <OFGetPublicationId [node=""] [saveas=""] [all="0"]> </source>


Paramètres

node (optionnel)
Par défault le noeud de la page en cours sera utilisé
all (optionnel)
0 (par défaut) : seulement la publication
1 : la publication associée au nœud et toutes les publications associées au nœuds en dessous.
saveas (optionnel)
Enregistrer le résultat dans une variable ovml


Exemple d'intégration des structures

Les pré-requis

La publication structurée est fonctionnelle via le système des portlets et/ou l'éditeur de plan de site. Il est indispensable qu' Ovidentia soit à jour et que les modules le soient également. Afin de s'assurer d'être à jour, il est souhaitable d'installer le module storeclient. Ce dernier facilite le téléchargement, l'installation et la mise à jour des modules et d' Ovidentia directement depuis storeclient.

- Module Publication (à jour)

- Module Editlinks (à jour) => Attribuer les droits nécessaires (Administrateurs ou utilisateurs enregistrés)

- Module Porlets (à jour)

- Module Widgets

- Module LibOrm

Mise en place de la structure des dossiers dans le skin

Voici un exemple de dossiers et de fichiers nécessaires à la mise en place de la publication structurée. Par convention, nous nommerons de la même manière le fichier ovml et le xsd. exemple : nom_du_theme_foo.ovml et nom_du_theme_foo.xsd

- A la racine du thème, un dossier structures répertoriant les fichiers xsd nécessaires pour la structure des données.

- Dans le dossier ovml, les fichiers "ovml" nécessaires pour le rendu des données.

Capture.png


Version portlet

Ci-dessous un exemple de fichier Ovml permettant la mise à disposition d'une publication structurée de type Wysiwyg dans un portlet. Il s'agit ici du fichier 'theme_sw_wysiwyg.ovml' que nous avons vu plus haut. <OVStructure> dans un portlet saura aller chercher la structure "theme_sw_wysiwyg"

Ovml.png


Ci-dessous le fichier 'theme_sw_wysiwyg.xsd' intégrant la structure XSD de la publication de type Wysiwyg.

Xsd.png


Lorsque nous ajouterons un portlet Publication, un fenêtre nous proposera l'ajout de la structure Wysiwyg

Portlet-pub-2.png

Version éditeur de plan de site

CaptureediteurOvml.PNG


Captureplande-site-niv1.jpg