dcSoapCulture v0.4 :
-------------------
Description :
____________
Plugin DotClear permettant d'afficher un livre,un film, un artiste (contemporain et/ou classique), un jeu,
un gadget électronique, un équipement photographique que l'on aime/lis/écoute/joue/possède.
Ce plugin s'appuie sur la technologie SOAP proposée par Amazon.La partie cliente est assurée par la classe PHP NuSOAP
(vous pouvez retrouver plus d'infos sur nuSOAP à cette adresse : http://dietrich.ganx4.com/nusoap/index.php ).
Important !!!: le plugin ne peut marcher correctement qu'avec un ensemble de librairies/classes supplémentaires : nusoap.php
et dcAmazonSearch.php(fourni avec le plugin sous forme d'archive tar.gz).L'archive fournit avec le plugin
contient les classes nécessaires au bon fonctionnment de ce plugin.Il faut décompresser cette archive et placer
le répertoire nusoap/ ainsi que son contenu dans le répertoire :
repertoire _blog/inc (ou /inc si le blog est à la racine).
Installation (fichier db-create.xml)/désinstallation(fichier db-delete.xml)/mise à jour (fichier db-upgrade.xml) :
_________________________________________________________________________________________________________________
- Ce plugin installe sa(ses) table(s) automatiquement dans la base de données lors de la première utilisation.
- La désinstallation de cette(ces) table(s) se fait automatiquement en cliquant sur le lien désinstall table(s),une
demande de confirmation sera demandée avant d'effectuer l'opération. (Note : cette opération effacera toutes les
données présentes dans la table ,soyez prudents,vous serez seul responsable de la perte de ces données et nous
dégageons toutes responsabilités quand à la perte de celles-ci)
- La mise à jour du(es) table(s) se fera automatiquement lors de la mise à jour vers une nouvelle version du plugin et
si celle(s)-ci nécessite(nt) une modification.du schéma de la(les) table(s) (un fichier upgrade/db-upgrade.xml sera
alors présent lorsque une mise àjour de la(es) table(s) sera nécessaire).(Note : il sera recommandé lors de la
modification du schéma de(s) la table(s) de faire une sauvegarde préalable des données présentes dans la table,
soyez prudents,vous êtes seul responsable de la perte de ces données et nous dégageons toutes responsabilités
quand à la perte de celles-ci).
Configuration du plugin :
________________________
Un fichier de configuration conf.ini est présent ,il contient 8 attributs :
- token : qui correspond à une clé "developpeur" permettant d'accéder aux services SOAP d'Amazon (cette clé peut s'obtenir
très simplement en allant sur le site d'amazon à l'adresse http://soap.amazon.com et en remplissant le formulaire
d'enregistrement).La clé présente dans le fichier conf.ini n'est là qu'à titre indicatif et n'a pour vocation que
de permettre de faire des tests immédiats du plugin,il est cependant très vivement recommandé d'obtenir sa propre
clé (inscription gratuite, N'HESITEZ PAS !!!) parce que le service est limité à un nombre de requêtes SOAP /jour
déterminé.
- dcsoapculture_locale : correspond à la localisation des ASIN suivant le pays où se trouve le site Amazon
(http://www.amazon.fr pour la France etc) les valeurs possibles pour cet attribut sont :
en = USA, fr = France, ca = Canada, de = Deutschland, uk = United Kingdom, jp = Japan, default = fr
- dcsoapculture_displayed_items_per_page : correspond au nombre d'items qui seront affichés dans la partie admin du plugin
défaut 30 items signifie que 30 items seront affichés dans chaque page.
- nbsearch : correspond au nombre maximum d'items affichés par page pour la recherche dans le moteur de recherche Amazon
SOAP (le minimum étant 1 et le maximum étant 10).Il est recommandé de le laisser à 10 (valeur par défaut.
Si le résultat d'une recherche dépasse les 10 items un petit menu en bas permet de naviguer vers les résultats
suivants.
- nbcategories : détermine le nombre de catégories présents dans le moteur de recherche.Ce plugin n'ayant pour but que
de présenter des items de type culturel (Film,Livre,Artiste musical) ,le nombre de catégories est limité
à trois.Ne pas modifier cette valeur.
- cat1,cat2,cat3,cat4,cat5,cat6,cat7 : indique quelles sont les catégories.Valeurs à ne pas modifier.
Infos supps :
____________
Info : les items out of stock (articles non disponibles/hors stock) d'Amazon n'afficheront pas d'images, il est recommandé
de ne pas les sélectionner lors d'un ajout.
Info supplémentaire : un fichier popup-dcamazon.php est présent avec le plugin .Ce fichier permet d'afficher toute la liste des
items par catégorie enregistrés dans la base.Ce fichier est à placer dans le repertoire du thème actif
pour que cette fonctionnalité soit active.Un bouton formulaire apparaîtra alors en-dessous de chaque
catégorie dans le template.
Affichage dans le template du plugin :
_____________________________________
Iportant : les 2 anciennes fonctions showItemsImage() et showItems() risquent de disparaitre dans les prochaines versions
du plugin, il est préférable d'utiliser les nouvelles fonctions (c.f. Note plus bas)
- Dans la sidebar ,vous pouvez placer :
----------------------------------------------------------------------------------------------------------------
Ce_que_vous_voulez
-----------------------------------------------------------------------------------------------------------------
On n'est pas obligé de tout afficher, si on ne veut que les Items Livre par exemple, on met :
----------------------------------------------------------------------------------------------------------------
Ce_que_vous_voulez
-----------------------------------------------------------------------------------------------------------------
Note : fonctions supplémentaires et détails de ces fonctions
____
En plus des deux fonctions de la précédente version du plugin (v0.2) : dcSoapCulture::showItems() et
dcSoapCulture::showItemsImage(), 3 fonctions supplémentaires ont été rajoutées :
- dcSoapCulture::showItemsImageNB($type,$nb=1,$imgsize='medium') :
Cette fonction est une évolution de la fonction dcSoapCulture::showItemsImage(),elle permet maintenant
de spécifier dans son template le nombre d'items ($nb)à afficher dans la partie "frontend" du plugin le nombre
par défaut est à 1.De plus on peut forcer la taille de l'image qui sera affichée la valeur $imgsize par défaut
est 'medium',si on veut que s'affiche uniquement les petites images on passera la valeur 'small' en argument
pour $imgsize.
- dcSoapCulture::showItemsImageNBAlea($type,$nb=1,$imgsize='medium') :
Cette fonction ressemble à la précédente sauf que l'affichage des items se fera de manière aléatoire.
- dcSoapCulture::showItemsImageNBMosaic($type,$nb=0,$imgsize='small',$nostyle=true,$img_width=50,$img_height=50) :
Cette fonction permet d'afficher une "mosaïque" d'images d'items (une liste d'image en fait),l'argument $nb
par défaut est à 0 ce qui affichera tous les items présents dans la table du plugin,on peut spécifier un nombre
pour forcer le nombre d'images présents dans la mosaïque (exemple : $nb=6 pour n'afficher que 6 items).
On peut forcer la taille de l'image $imgsize à 'medium' (pas très recommandé dans le cadre d'un affichage dans
la sidebar).
L'argument $nostyle permet de dire si on veut ou non que le style soit incorporé dans les balises div,li,img de la
mosaique la valeur par défaut est à true (pas de style incorporé dans les tags div,li,img) et il est préférable
de styler ces balises dans une feuille de style css externe (c.f exemple ci-dessous).
Les arguments $img_width et $img_height force la taille des images affichées, ces attributs marchent uniquement si
l'argument $nostyle et mis à false (valeurs par défaut 50*50) il est recommandé d'utilisé une feuille de style
externe pour ces valeurs.
IMPORTANT : Il est à noter que l'affichage en mosaïque ne prend plus en compte l'url,la langue et la description
supplémentaires que l'on a éventuellement entrées lors de l'ajout d'un enregistrement dans la table
du plugin.
Exemples d'utilisation des différentes fonctions supplémentaires:
----------------------------------------------------------------------------------------------------------------
Ce_que_vous_voulez
//affichera aléatoirement 1 "Film" avec une image de taille medium
//affichera 1 "Livre" (dernier livre enregistré dans la table du plugin avec une image medium
//affichera 1 mosaique de toutes les petites images d'Artistes présents dans la table du plugin
//avec style incorporé dans les balises div,li,img les images auront 50*50 comme largeur*hauteur
//affichera 2 "Jeux" avec une image de taille medium/moyenne
//affichera 1 "Classique" avec une image de petite taille
//affichera 1 "Techno"/gadget technologique avec une image de petite taille
//affichera 1 "Photo" avec une image de petite taille
-----------------------------------------------------------------------------------------------------------------
Note : concernant le titre affiché pour chaque item
La structure hiérarchique initiale du plugin se présente comme suit :
Ce_que_vous_voulez
Type_de_l_item
Les balises Type_de_l_item
sont générées automatiquement dans les fonctions,si vous ne voulez pas de ces
balises , veuillez la commenter ou l'enlever elle se présente sous la forme :
echo ''.$type.'
'; //à commenter ou à enlever
-------------------------------------------------------------------------------------------------------------------
Note supplémentaire (Important !):
Le moteur de recherche de ce plugin ne fonctionne correctement qu'avec la version US (Etats Unis) d'Amazon, la plupart des
autres recherches dans d'autres langues ne fonctionnent pas ou affichent des données erronées.
Pour pallier aux défections du moteur de recherche du plugin, un bookmarklet spécial Amazon a été rajouté (ce bookmarklet
devrait marcher pour tous les pays) :
*glisser/déposer (drag-n-drop) le bookmarklet dans un endroit du navigateur le permettant (dans la personal toolbar
de Mozilla/Mozilla Firefox par exemple)
*aller sur le site Amazon de votre pays (exemple http://www.amazon.fr)
*rechercher l'item que vous voulez dans le moteur de recherche du site Amazon de votre pays
*choisir l'item que l'on souhaite parmi les résultats trouvés (exemple de lien pour un item sur le site d'Amazon.fr :
http://www.amazon.fr/exec/obidos/ASIN/0596005423 , la valeur de l'ASIN récupérer par le bookmarklet sera alors 0596005423)
*cliquer sur le bookmarklet "dcSOAPCulture - Amazon Asin" et le bookmarklet redirigera automatiquement sur la page
d'ajout d'un item du plugin dcSOAPCulture avec remplissage automatique des champs asin, description, url (ces deux derniers
peuvent être changés et ne pas oublier de renseigner le champ langue si une url supplémentaire est ajoutée)
A propos de la version du plugin :
_________________________________
v0.4 :
*ajout du support de la localisation des requêtes(fr = Amazon France, en = Amazon US, de = Amazon Deutschland, uk = Amazon UK,
ca = Amazon Canada jp = Amazon Japan, fr par défaut)
ce support rajoute une variable "dcsoapculture_locale" dans le fichier conf.ini
*ajout d'un 2eme bookmarklet2 spécial Amazon pour récupérer les ASIN d'un item dans l'url qui remplira les champs nécessaires
(c.f. : note supplémentaire ci-dessus)
*modification de la classe dcAmazonsearch.php dans le répertoire nusoap/ (il faut récupérer la nouvelle version de l'archive)
v0.3 :
*ajout de 4 catégories supplémentaires :
- Jeux (jeux videos/videogames)
- Classique (musique classique/classic)
- Techno (gadget technologique/electronics, ex : ipod,iriver etc)
- Photo (appareils photos et accessoires photos)
*ajout d'un sélecteur ASIN (Amazon Standard Identification Number)dans le sélecteur du moteur de recherche Amazon pour vérifier
si l'ASIN récupéré correspond bien à un item .
*ajout de 3 fonctions (c.f détails des fonctions dans les notes ci-dessus) dans le fichier function.php pour la partie "frontend" :
- showItemImagesNB($type,$nb,$imgsize)
- showItemImagesNBAlea($type,$nb,$imgsize)
- showItemImagesNBMosaic($type,$nb,$imgsize,$nostyle,$width,$height)
*ajout d'une récupération d'erreur de l'ASIN (si le numéro ASIN ajouté n'existe pas ou si une erreur survient lors de
la requete au service Amazon) dans les parties admin (dans le moteur de recherche) et "frontend" (dans toutes les
fonctions d'affichage).
v0.2 :
*2e version du plugin (1ere release publique)
*Système de gestion de cache pour l'affichage dans le front-end (les requêtes SOAP sont placées dans le cache)
*utilisation du token dans le fichier de configuration conf.ini
*ajout de l'installation automatique de la table dans la base de donnée (création d'un fichier db-create.xml et d'un
répertoire install)
*ajout de la commande de suppresion de la table (désinstall. de la table du plugin dans la base de données)
*ajout d'un répertoire d'upgrade pour permettre les futures mises à jour de la table du plugin (si cela s'avère nécessaire)
*ajout de fichiers LICENSE [en] et LISEZMOI [fr] pour la licence et les explications en français du plugin
*possibilités d'afficher tous les items d'une catégorie dans une popup (fichier popup-dcamazon.php à placer dans le repertoire
de thème).
*ajout d'un fichier nusoap_dotclear.tar.gz directement dans le package du plugin (contenant les classes nusoap.php,
dcAmazonSearch.php,GoogleSearch.php)
*ajout de la fonction dcsoapculture::showItemsImage($type)
v0.1 :
*1ere release (pas de diffusion publique pour raison de test et problèmes de performance au niveau de l'affichage)
*utilisation du fichier de description WSDL US (pas de support des webservices pour la version française)
*installation manuelle du fichier create.sql pour les enregistrements dans la base
*possibilités de suppresion,d'édition d'un item/d'une entrée
*utilisation de la classe nusoap.php et modification de la classe AmazonSearch.php fournit avec le kit développeur d'Amazon
(renommée en dcAmazonSearch.php)
*fichiers d'aide (help/fr/index.html) et de langues fr (au format main.lang) fournis (avec support de l'utf-8)
*possibilités de naviguer dans les entrées de chaque catégorie via Mozilla SOAP (note : très instable)
A proppos de la licence :
________________________
Ce plugin,tout comme DotClear est placé sous licence GNU/GPL v2 (c.f fichier LICENSE[en]).
Si vous avez des questions,des suggestions,des patchs etc,vous pouvez me contacter par email :
harisson@free.fr (veuillez ,SVP, mettre [dcSOAP]votre_sujet dans le subject)