SP:Composant:SiteClient

De Hegyd Doc.

(Différences entre les versions)
(Fonctions utiles)
(Sites de démo)
 
(15 versions intermédiaires masquées)
Ligne 10 : Ligne 10 :
Chaque siteClient est enregistré dans la table '''siteClient'''.
Chaque siteClient est enregistré dans la table '''siteClient'''.
 +
Voici un desccriptif de ses champs:
 +
 +
* ''siteCLientId'': identifiant
 +
* ''siteName'': nom du site. utilisé dans les balises title et dans le copyright du footer
 +
* ''siteSlogan'': slogan du site pour la version de production
 +
* ''siteSloganDraft'': slogan du site pour la version de brouillon
 +
* ''googleMapAPIKeyLocal'': clé google map associée a l'url du site par défaut: site-xxxx.creation-site-web.fr
 +
* ''siteSloganChanged'': indique si le slogan a changé entre le production et la version de dev. Permet de savoir si un slogan vide en brouillon provient d'un modification utilisateur ou si sc'es parce qu'il n'a pas été modifié
 +
* ''siteNbPage'': nombre de pages qui peuvent être crée au maximum pour le site (infos envoyé par Viaduc, en fonction du pack
 +
* ''siteSpace'': espace en octet autorisé pour le site (infos envoyée par Viaduc, en fonction du pack).
 +
* ''siteOptions'': options liées au site, enregistré sous forme de bitfield. Voir la classe associé pour avoir la liste.
 +
* ''client*'': infos relative au client pour le site. Utilisées pour le déploiement de contenu en fonction d'un [[SP:Composant:Craft|métier]].
 +
* ''modelId'': identifiant du modèle utilisé
 +
* ''modelDraftId'': identifiant du modele utilisé en version brouillon
 +
* ''themeId'': thème utilisé
 +
* ''themeDraftId'': thème utilisé pour la version brouillon
 +
* ''colorPaletteId'': palette de couleur utilisée
 +
* ''colorPaletteDraftId'': palette de couleur utilisée pour la version brouillon
 +
* ''craftId'': métier utilisé par le site
 +
* ''utsUpdateCSS'': date de dernière modification des feuilles de style du site
 +
* ''utsUpdate'': date de derniere modificatin des infos du site
 +
* ''utsCreate'': date de création du site
 +
* ''utsDelete'': date de désactivation du site, a partir de laquelle le site ne sera plus accessible
 +
* ''itsDisable'': date à partir de laquelle la partie visiteur du site ne sera plus visible
 +
* ''siteUrl'': nom de domaine associé au site
 +
* ''siteOldUrl'': dans le cas du changement de nom de domaine pour le site, on enregistre l'ancien ici
 +
* ''googleMapAPIKey'': clé google map associé au nom de domain du site
 +
* ''isCraftModel'': détermine si un site est associé a un métier, en tant que modèle de contenu. Voir le composant [[SP:Composant:Craft|métier]].
 +
* ''isThemeModel'': détermine si un site est associé a un thème en tant que modèle. Voir le composant [[SP:Composant:Thèmes|thème]] pour en savoir plus
 +
* ''utsUpdateJS'': date de dernière modification des fichiers javascript pour le site (actuellement non utilisé)
 +
* ''utsUpdateDomain'': date de derniere modifucation du domaine
 +
* ''newUpload'': flag indiquant s'il y a eu un nouvel upload d'image depuis le dernier calcul de l'espace total utilisé par le site
 +
* ''uploadSize'': taille du site sur le disque
 +
* ''demoStatus'': indique si un site es tun site démo et dans quelle mésire. Voir partie concernant [[SP:Composant:SiteClient#Sites_de_d.C3.A9mo|les sites de démo]].
 +
* ''demoExpirationUts'': indique quand la démo expore. Uts rafraichiot a chaque connexion du client sur l'éditeur. Utilisé par l'éditeur pour affiche rle nombre de jour restant à l'utilisateur.
=== Classe associée ===
=== Classe associée ===
Ligne 17 : Ligne 52 :
== Packages associés ==
== Packages associés ==
-
Chaque site est associé a un package, qui détermine les fonctionnalités du site. Les options de packages sont déterminées hors du champ de l'application.  
+
Chaque site est associé a un package, qui détermine les fonctionnalités du site. Les options de packages sont déterminées hors du champ de l'application. C'est l'application Viaduc qui transmet ces information a l'application des sites packagés via des appels soap. Voir le [[SP:Processus:Creation_de_site|processus de création de site]] pour en savoir plus.
Cela se traduit par la passage d'options, de l'espace de stockage alloué, et du nombre de page autorisé.
Cela se traduit par la passage d'options, de l'espace de stockage alloué, et du nombre de page autorisé.
Ligne 24 : Ligne 59 :
* siteNbPage: nombre de page du site
* siteNbPage: nombre de page du site
-
* siteOptions: champ de forme bitfield comprenant les options. La liste exhaustive est décrite au sein de la classe '''SiteClient'''.
+
* siteOptions: champ de forme bitfield comprenant les options. La liste exhaustive est décrite au sein de la classe associée.
* siteSpace: espace disque alloué
* siteSpace: espace disque alloué
== Sites de démo ==
== Sites de démo ==
-
Des sites de démo peuvent être crée pour des clients ou prospects qui souhaiteraient tester l'éditeur.
+
Des sites de démo peuvent être crées pour des clients ou prospects qui souhaiteraient tester l'éditeur.
-
A chaque demande d'allocation d'un nouveau site démo la part de Viaduc via L'[[SP:Part:API|API]], le système va vérifier s'il n'existe pas un site de démo disponible. Si c'est le cas, alors il renvoit l'identifiant du site disponible, sinon il en crée un nouveau.
+
Les demandes d'allocation, de désallocation, de passage en mode transfert, et de confirmation/annulation du transfert vers une offre payante sont faite par le service VIADUC, via l'[[SP:Part:API|API]]. Ce scindage permet une modularité dans la gestion des sites de démo: choix du nombre de jours alloués pour les sites de démo, des packages etc...
 +
 
 +
A chaque demande d'allocation d'un nouveau site démo, le système va vérifier s'il n'existe pas un site de démo disponible. Si c'est le cas, alors il renvoit l'identifiant du site disponible, sinon il en crée un nouveau.
Voici le shéma de fonctionnement d'assignation de sites de démo :
Voici le shéma de fonctionnement d'assignation de sites de démo :
Ligne 52 : Ligne 89 :
* 3: est un site de démo en attente de transition vers un site packagés, avec conservation du contenu
* 3: est un site de démo en attente de transition vers un site packagés, avec conservation du contenu
* 4: est un site de démo en attente de transition vers un site packagé, sans conservatino du contenu
* 4: est un site de démo en attente de transition vers un site packagé, sans conservatino du contenu
 +
 +
Un second champ '''demoExpirationUts''' contient l' UTS d'expiration de la version de démo. Ce champ est utilisé seulement pour afficher lenombre de jours restant au client. Il n'y a pas de controle sur sa valeur. Il est mis a jour a chaque connexion de l'utilisateur sur sa console d'édition.
== Fonctions utiles ==
== Fonctions utiles ==
Ligne 57 : Ligne 96 :
Liste des fonctions utiles lié aux site Client:  
Liste des fonctions utiles lié aux site Client:  
-
* '''accesseurs''': en plus de la récupération directe des attributs par le biais de $siteInstance->attribut, des fonctions accesseurs permettent directement de récupérer le thème, la palette de couleur ou encore le modele du site. Elles sont de la forme get{type} bien souvent, et renvoient directement la bonne valeur (brouillon s'il existe et que l'on est en mode éditeur, la valeur de prod sinon).
+
===Accesseurs ===
 +
 
 +
* '''SiteClient::getInstance()''': permet d'accéder au siteCLient actuel. L'instance est crée à partir de la méthode ''getById()'' ou ''getByURL()''. Passer false en second argument lors de l'appel à ses fonctions permet de ne pas enregistrer le site ciblé en tant que site courant.
 +
E
 +
n plus de la récupération directe des attributs par le biais de $siteInstance->attribut, des fonctions accesseurs permettent directement de récupérer le thème, la palette de couleur ou encore le modele du site. Elles sont de la forme get{type} bien souvent, et renvoient directement la bonne valeur (brouillon s'il existe et que l'on est en mode éditeur, la valeur de prod sinon).
 +
 
 +
=== Publication ===
 +
 
 +
* '''publishSlogan()''': publie le slogan du site
 +
* '''publishContent()''': publie le contenu du site. recupère l'ensemble des pages et [[SP:Composant:PageSiteClient#Publication_.2F_Annulation|publie chacune d'entre elles]].
 +
* '''cancelEditContent()''': annule les modifications apportées au site.
 +
* '''publishStyles()''': publie les modifications de style apportées au site.
 +
 
 +
===Operations diverses ===
* '''deleteContent()''': supprimer tout le contenu d'un site.
* '''deleteContent()''': supprimer tout le contenu d'un site.
* '''delete()''': supprime un site dans son ensemble
* '''delete()''': supprime un site dans son ensemble
Ligne 63 : Ligne 115 :
* '''restoreTo()''': copie le site courant vers une autre base de données
* '''restoreTo()''': copie le site courant vers une autre base de données
* '''deployFromSite()''': supprime le contenu d'un site et le remplace par celui d'un autre. Utile pour la création de contenu dans le cadre du déploiement d'un [[SP:Composants:Craft|métier]].
* '''deployFromSite()''': supprime le contenu d'un site et le remplace par celui d'un autre. Utile pour la création de contenu dans le cadre du déploiement d'un [[SP:Composants:Craft|métier]].
-
* '''changeThemeDraft()''': change le theme pour la version [[SP:Définitions:Brouillon|brouillon]] du site.
+
* '''changeThemeDraft()''': change le theme pour la version [[SP:Définitions|brouillon]] du site.
* '''changeColorPaletteDraft()''': change la palette de couleur pour la version [[SP:Définitions|brouillon]] du site.
* '''changeColorPaletteDraft()''': change la palette de couleur pour la version [[SP:Définitions|brouillon]] du site.
-
* '''publishContent()''': publie le contenu du site.
 
-
* '''cancelEditContent()''': annule les modifications apportées au site.
 
-
* '''publishStyles()''': publie les modifications de style apportées au site.
 

Version actuelle en date du 22 décembre 2010 à 08:49


Sommaire

[modifier] SiteClient

Désigne un site crée par l'éditeur.

[modifier] Implémentation

[modifier] Base de données

Chaque siteClient est enregistré dans la table siteClient. Voici un desccriptif de ses champs:

  • siteCLientId: identifiant
  • siteName: nom du site. utilisé dans les balises title et dans le copyright du footer
  • siteSlogan: slogan du site pour la version de production
  • siteSloganDraft: slogan du site pour la version de brouillon
  • googleMapAPIKeyLocal: clé google map associée a l'url du site par défaut: site-xxxx.creation-site-web.fr
  • siteSloganChanged: indique si le slogan a changé entre le production et la version de dev. Permet de savoir si un slogan vide en brouillon provient d'un modification utilisateur ou si sc'es parce qu'il n'a pas été modifié
  • siteNbPage: nombre de pages qui peuvent être crée au maximum pour le site (infos envoyé par Viaduc, en fonction du pack
  • siteSpace: espace en octet autorisé pour le site (infos envoyée par Viaduc, en fonction du pack).
  • siteOptions: options liées au site, enregistré sous forme de bitfield. Voir la classe associé pour avoir la liste.
  • client*: infos relative au client pour le site. Utilisées pour le déploiement de contenu en fonction d'un métier.
  • modelId: identifiant du modèle utilisé
  • modelDraftId: identifiant du modele utilisé en version brouillon
  • themeId: thème utilisé
  • themeDraftId: thème utilisé pour la version brouillon
  • colorPaletteId: palette de couleur utilisée
  • colorPaletteDraftId: palette de couleur utilisée pour la version brouillon
  • craftId: métier utilisé par le site
  • utsUpdateCSS: date de dernière modification des feuilles de style du site
  • utsUpdate: date de derniere modificatin des infos du site
  • utsCreate: date de création du site
  • utsDelete: date de désactivation du site, a partir de laquelle le site ne sera plus accessible
  • itsDisable: date à partir de laquelle la partie visiteur du site ne sera plus visible
  • siteUrl: nom de domaine associé au site
  • siteOldUrl: dans le cas du changement de nom de domaine pour le site, on enregistre l'ancien ici
  • googleMapAPIKey: clé google map associé au nom de domain du site
  • isCraftModel: détermine si un site est associé a un métier, en tant que modèle de contenu. Voir le composant métier.
  • isThemeModel: détermine si un site est associé a un thème en tant que modèle. Voir le composant thème pour en savoir plus
  • utsUpdateJS: date de dernière modification des fichiers javascript pour le site (actuellement non utilisé)
  • utsUpdateDomain: date de derniere modifucation du domaine
  • newUpload: flag indiquant s'il y a eu un nouvel upload d'image depuis le dernier calcul de l'espace total utilisé par le site
  • uploadSize: taille du site sur le disque
  • demoStatus: indique si un site es tun site démo et dans quelle mésire. Voir partie concernant les sites de démo.
  • demoExpirationUts: indique quand la démo expore. Uts rafraichiot a chaque connexion du client sur l'éditeur. Utilisé par l'éditeur pour affiche rle nombre de jour restant à l'utilisateur.

[modifier] Classe associée

La classe SiteClient est associée a l'entité.

[modifier] Packages associés

Chaque site est associé a un package, qui détermine les fonctionnalités du site. Les options de packages sont déterminées hors du champ de l'application. C'est l'application Viaduc qui transmet ces information a l'application des sites packagés via des appels soap. Voir le processus de création de site pour en savoir plus.

Cela se traduit par la passage d'options, de l'espace de stockage alloué, et du nombre de page autorisé.

Chacun de ces paramètres est enregistré dans la table dans les champs associés:

  • siteNbPage: nombre de page du site
  • siteOptions: champ de forme bitfield comprenant les options. La liste exhaustive est décrite au sein de la classe associée.
  • siteSpace: espace disque alloué

[modifier] Sites de démo

Des sites de démo peuvent être crées pour des clients ou prospects qui souhaiteraient tester l'éditeur.

Les demandes d'allocation, de désallocation, de passage en mode transfert, et de confirmation/annulation du transfert vers une offre payante sont faite par le service VIADUC, via l'API. Ce scindage permet une modularité dans la gestion des sites de démo: choix du nombre de jours alloués pour les sites de démo, des packages etc...

A chaque demande d'allocation d'un nouveau site démo, le système va vérifier s'il n'existe pas un site de démo disponible. Si c'est le cas, alors il renvoit l'identifiant du site disponible, sinon il en crée un nouveau.

Voici le shéma de fonctionnement d'assignation de sites de démo :

Fichier:SITES_DE_DEMO.jpg

Une fois la période de démo terminée, deux cas d'utilisations:

  • la période d'essai est prolongée, il ne se passe rien.
  • la période d'essai se termine, et dans ce cas il y a désallocation du site: le site est réinitialisé, et passe en status libre.
  • le client souhaite passer a une offre packagé :
    • si il passe en mode 'free' (loffre de base gratuite), on réinitialise son site, mais il garde le meme site.
    • sinon on lui propose de garder son site en l'état ou le réinitialiser
    • dans tous les cas, le site passe du statut de compte de démo en site packagé, il ne sera plus éligible pour une demande de site de démo.

Un champ est associé aux sites de démo demoStatus de la table siteClient, dont voici le tableau de valeurs :

  • 0: n'est pas un site de démo
  • 1: est un site de démo, est libre
  • 2: est un site de démo, actuellement occupé
  • 3: est un site de démo en attente de transition vers un site packagés, avec conservation du contenu
  • 4: est un site de démo en attente de transition vers un site packagé, sans conservatino du contenu

Un second champ demoExpirationUts contient l' UTS d'expiration de la version de démo. Ce champ est utilisé seulement pour afficher lenombre de jours restant au client. Il n'y a pas de controle sur sa valeur. Il est mis a jour a chaque connexion de l'utilisateur sur sa console d'édition.

[modifier] Fonctions utiles

Liste des fonctions utiles lié aux site Client:

[modifier] Accesseurs

  • SiteClient::getInstance(): permet d'accéder au siteCLient actuel. L'instance est crée à partir de la méthode getById() ou getByURL(). Passer false en second argument lors de l'appel à ses fonctions permet de ne pas enregistrer le site ciblé en tant que site courant.

E n plus de la récupération directe des attributs par le biais de $siteInstance->attribut, des fonctions accesseurs permettent directement de récupérer le thème, la palette de couleur ou encore le modele du site. Elles sont de la forme get{type} bien souvent, et renvoient directement la bonne valeur (brouillon s'il existe et que l'on est en mode éditeur, la valeur de prod sinon).

[modifier] Publication

  • publishSlogan(): publie le slogan du site
  • publishContent(): publie le contenu du site. recupère l'ensemble des pages et publie chacune d'entre elles.
  • cancelEditContent(): annule les modifications apportées au site.
  • publishStyles(): publie les modifications de style apportées au site.

[modifier] Operations diverses

  • deleteContent(): supprimer tout le contenu d'un site.
  • delete(): supprime un site dans son ensemble
  • reInit(): réinitialise un site: suppression du contenu, des styles, sans supprimer le site en lui meme
  • restoreTo(): copie le site courant vers une autre base de données
  • deployFromSite(): supprime le contenu d'un site et le remplace par celui d'un autre. Utile pour la création de contenu dans le cadre du déploiement d'un métier.
  • changeThemeDraft(): change le theme pour la version brouillon du site.
  • changeColorPaletteDraft(): change la palette de couleur pour la version brouillon du site.