Forum Ametys

Forum de la communauté Ametys

You are not logged in.

#1 Développement » Surcharge du template du service Page externe (intégrée) » 14/05/2014 13:56:28

imen Akili
Replies: 1

Bonjour,

Je rencontre un problème lors de l'utilisation du service "Page externe (intégrée)" pour l'insertion d'un contenu externe dans mon site. Je n'arrive pas à surcharger le template du service pour qu'il prend en compte les fichiers css ainsi que les images du site externe.  Pour les js aucun problème vu que j'ai activé le paramétre "keep_js" comme indiqué dans la documentation du plugin.
Pour les css et images j'ai essayé de les intégrés en les mettant dans webapp/cms/skins/mon_site/services/proxied-content/resources/.. mais aucun changement observé.

Dans les logs je reçois toujours les erreurs qui suivent :

2014-05-13 13:48:42,360 ERROR [sitemap.handled-errors] (20850224@qtp-19263049-29;/cms/www/fr/accessibleIdentificationStyle.css) No pipeline matched request: www/fr/accessibleIdentificationStyle.css
    at <map:mount> - resource://org/ametys/runtime/kernel/sitemap.xmap:199:109
2014-05-13 13:48:42,384 ERROR [sitemap.handled-errors] (10415452@qtp-19263049-15;/cms/www/fr/accessibleCommonLayout.css) No pipeline matched request: www/fr/accessibleCommonLayout.css
    at <map:mount> - resource://org/ametys/runtime/kernel/sitemap.xmap:199:109
2014-05-13 13:49:07,778 ERROR [sitemap.handled-errors] (30890026@qtp-19263049-19;/cms/www/fr/78.css) No pipeline matched request: www/fr/78.css
    at <map:mount> - resource://org/ametys/runtime/kernel/sitemap.xmap:199:109
2014-05-13 13:49:07,779 ERROR [sitemap.handled-errors] (10415452@qtp-19263049-15;/cms/www/fr/accessibleIdentificationStyle.css) No pipeline matched request: www/fr/accessibleIdentificationStyle.css
    at <map:mount> - resource://org/ametys/runtime/kernel/sitemap.xmap:199:109
2014-05-13 13:49:07,781 ERROR [sitemap.handled-errors] (20850224@qtp-19263049-29;/cms/www/fr/accessibleCommonLayout.css) No pipeline matched request: www/fr/accessibleCommonLayout.css
    at <map:mount> - resource://org/ametys/runtime/kernel/sitemap.xmap:199:109
2014-05-13 13:49:07,783 ERROR [sitemap.handled-errors] (4419296@qtp-19263049-27;/cms/www/fr/printStyle.css) No pipeline matched request: www/fr/printStyle.css
    at <map:mount> - resource://org/ametys/runtime/kernel/sitemap.xmap:199:109
2014-05-13 13:49:11,256 ERROR [sitemap.handled-errors] (4419296@qtp-19263049-27;/cms/www/fr/accessibleServiceListStyle.css) No pipeline matched request: www/fr/accessibleServiceListStyle.css
    at <map:mount> - resource://org/ametys/runtime/kernel/sitemap.xmap:199:109
2014-05-13 13:49:11,257 ERROR [sitemap.handled-errors] (20850224@qtp-19263049-29;/cms/www/fr/accessibleCommonLayout.css) No pipeline matched request: www/fr/accessibleCommonLayout.css
    at <map:mount> - resource://org/ametys/runtime/kernel/sitemap.xmap:199:109
 

Pourriez vous s'il vous plaît m'indiqué comment procéder?

Bien cordialement.

#2 Re: Développement » Création d'un nouveau service » 08/05/2014 18:00:41

Bonjour,

J'ai fait les vérifications nécessaires et effectivement j'avais certaines erreurs dans le fichier plugin.xml que j'ai pu corrigé et mon nouveau service s'affiche bien dans la liste et en cliquant dessus la fenêtre de paramétrage s'affiche avec tous les paramétres que j'ai mis dans le fichier de configuration.

Mais j'ai des problèmes avec le rendu graphique de mon service, je n'arrive pas à le charger. en fait dés que je valide l'ajout du service j'ai le message suivant :
"Cette zone contient un élément (contenu ou service) dont le rendu graphique a échoué."
et les logs affichent l'erreur suivante :

2014-05-08 16:53:05,907 ERROR [org.ametys.web.repository.PageGenerator] (33169212@qtp-19263049-11;/cms/www/fr/service-apa-service.html) Unable to display zone item
org.apache.cocoon.ResourceNotFoundException: No pipeline matched request: _plugins/apa/service/apa.html
    at <map:mount> - resource://org/ametys/runtime/kernel/sitemap.xmap:144:82
    at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:149)
    at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
    at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
    at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236)
    at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.buildPipeline(ConcreteTreeProcessor.java:194)
    at org.apache.cocoon.components.treeprocessor.TreeProcessor.buildPipeline(TreeProcessor.java:267)
    at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:111)
    at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:47)
    at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:108)
    at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
    at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
    at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:69)
    at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:93)
    at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:236)
    at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.buildPipeline(ConcreteTreeProcessor.java:194)
    at org.apache.cocoon.components.treeprocessor.TreeProcessor.buildPipeline(TreeProcessor.java:267)
    at org.apache.cocoon.components.source.impl.SitemapSource.init(SitemapSource.java:333)
    at org.apache.cocoon.components.source.impl.SitemapSource.<init>(SitemapSource.java:215)
    at org.apache.cocoon.components.source.impl.SitemapSourceFactory.getSource(SitemapSourceFactory.java:65)
    at org.apache.excalibur.source.impl.SourceResolverImpl.resolveURI(SourceResolverImpl.java:208)
    at org.apache.cocoon.components.CocoonComponentManager.resolveURI(CocoonComponentManager.java:558)
    at org.apache.cocoon.components.CocoonComponentManager.resolveURI(CocoonComponentManager.java:558)
    at org.apache.cocoon.environment.AbstractEnvironment.resolveURI(AbstractEnvironment.java:554)
    at org.apache.cocoon.environment.wrapper.MutableEnvironmentFacade.resolveURI(MutableEnvironmentFacade.java:307)
    at org.ametys.web.repository.PageGenerator._saxZoneItem(PageGenerator.java:530)
    at org.ametys.web.repository.PageGenerator._saxZoneItems(PageGenerator.java:378)
    at org.ametys.web.repository.PageGenerator._saxZone(PageGenerator.java:309)
...

Apparement il manque quelque chose dans mon sitemap.xmap :

<?xml version="1.0" encoding="UTF-8"?>
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
    <map:pipelines>
        <map:pipeline>
            <map:match pattern="service/apa/apa.html">
                <map:transform type="i18n">
                    <map:parameter name="locale" value="{locale:locale}"/>
                    <map:parameter name="plugin" value="{request-attr:pluginName}"/>
                </map:transform>
                <map:transform type="xslt" src="service://pages/services/apa/apa.xsl"/>
                <map:serialize type="xml"/>
            </map:match>        
        </map:pipeline>
    </map:pipelines>
</map:sitemap>

Selon moi cette définition permettra de transformer le fichier xsl pour avoir le rendu graphique en html.
J'ai pas utilisé les "<map:action>" et "<map:genarate>" dans le sitemap.xmap parceque j'ai pas encore compris le principe et qu'est ce que je dois mettre dans les classes java à associées. Est ce que je dois d'abord les intégrés? Si oui pourriez vous m'indiquer comment pourrais-je le faire?

D'avance merci pour votre aide.

Bien cordialement.

#3 Re: Développement » Création d'un nouveau service » 05/05/2014 19:08:58

Bonjour,

Merci pour votre réponse.
En fait ce que je souhaite exactement faire est d'ajouter un nouveau service qui permet d'insérer dans une zone de la page une fonctionnalité bien precise d'une application externe donnée(Guichet, formulaires, recherche...). et qui soit plus riche que le service "Page externe"
J'ai essayé le service "Page externe" et j'ai eu un bon résultat, c'est vrai que l'histoire de style géne un peu mais j'ai trouvé que c'est personnalisable donc pas de problème la dessus.
Maintenant je souhaite ajouter un nouveau service qui grâce à un paramétrage plus avancée(non pas url uniquement) permet d'insérer le contenu souhaité.

J'ai fait comme vous m'avez indiqué et le nouveau plugin que j'ai ajouté a été chargé dans Ametys mais le service que j'ai ajouté dans plugin.xml grace au mécanisme d'extension n'apparait pas dans le menu d'ajout des services.

Selon vous y a t-il d'autre étapes que je dois mettre en place.


Bien cordialement

#4 Développement » Création d'un nouveau service » 02/05/2014 18:48:40

imen Akili
Replies: 12

Bonjour,

Je souhaite savoir comment créer un service qui me permet d'ajouter un contenu externe à une page du site. Mon besoin ce traduit dans le CMS par la création d'un service qui apparait dans le menu comme les services prédéfinis de type External contents (Google Calendar, Youtube Playlist, twitter stream...) et que le contributeur pourra ainsi insérer dans l'une des zones de la pages selon un paramétrage donné.

La documentation explique un peu la notion de service et comment s'en servir mais ne donne pas trop de détails sur la méthode qui permet de créer un nouveau.

Pourriez vous, s'il vous plait, me dire si c'est faisable? Si oui, m'expliquer comment dois-je procédé pour le mettre en place?

D'avance merci,
Imen.

Board footer

Powered by FluxBB