2013-06-13 3 views
2

Pour notre pile d'application Xpages, nous devons créer cca. 100 contrôles qui couvriront nos nouvelles pièces/aides d'interface utilisateur et quelques services supplémentaires. Ces contrôles sont censés être très généraux et doivent être utilisés par de nombreuses applications Xpages. Maintenant, la question est de savoir comment partager ces contrôles entre les applications (bases de données). Les contrôles ont besoin de quelques beans gérés pour fonctionner, aussi CSS, JS et images. Pour copier l'ensemble des choses dans chaque application et le maintenir en quelque sorte n'est pas le moyen (même l'héritage de conception n'aide pas ici). Quoi de plus ... mélanger ces 100 contrôles entre les contrôles spécifiques à l'application est un véritable enfer car les contrôles ne supportent pas les espaces de noms ou certains groupements de paquets (comme Java dans Package Explorer), donc à la fin nous avons une longue liste de contrôles dans DDE est un cauchemar pour naviguer et travailler avec.Y a-t-il une manière intelligente de partager des commandes personnalisées entre les applications Xpages?

Nous avons essayé d'utiliser l'approche Library Extension et suivi ce tutoriel

http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Master_Table_of_Contents_for_XPages_Extensibility_APIs_Developer_Guide

... mais honnêtement j'ai essayé 3 fois sur mon ordinateur à partir de zéro et même exemple projet de tutoriel ne fonctionne pas correctement et toujours causé quelques erreurs dans le projet de site de mise à jour. Mon collègue a également essayé cela sur son ordinateur sans succès. Et l'ensemble du processus décrit dans l'article ci-dessus est un ensemble de classes java, XML et fichiers de configuration même pour un petit contrôle (projet eclipse plugin -> projet de fonctionnalité -> projet de site mis à jour et vous devez installer ce site bug se produit, vous devez exécuter un autre cycle ...). En comparant par exemple cette http://tapestry.apache.org/component-classes.html son approche extrêmement lourde dans Xpages. Donc, ma question est la suivante: y a-t-il une autre approche qui peut nous aider dans ce domaine à partager les contrôles entre les applications? Ou y a-t-il une mise à jour attendue dans ce domaine pour la prochaine publication des Notes, par ex. R9.1?

+0

Ajoutez le composant de débogage à partir d'OpenNTF. Il coupe tout le cycle. Vous avez besoin de la fonctionnalité et du site de mise à jour uniquement pour le déploiement final. Le processus n'est pas spécifique à Domino mais à OSGi – stwissel

+0

Je recommanderais certainement d'ajouter une catégorie à vos contrôles personnalisés (propriétés CC, à côté de l'endroit où vous définissez l'espace de noms xc ...). Cela a commencé à restaurer un peu de ma santé mentale dernièrement. –

Répondre

5

le moyen le plus efficace de partager les contrôles est une bibliothèque d'extension. Il vient avec une courbe d'apprentissage. Vous pouvez utiliser le kit de démarrage XSP de Nathan pour soulager votre douleur. Vous pouvez également utiliser le plug-in d'importation/exportation d'OpenNTF pour déplacer les contrôles (et leurs fichiers de support).

Dans tous les cas: les contrôles personnalisés XPages do prennent en charge les espaces de nom et le regroupement -> regardez simplement le panneau de propriétés d'un contrôle. Vous pouvez définir:

  • l'espace de noms (par défaut xc, mais vous êtes libre de concevoir votre propre)
  • le groupe, il devrait apparaître dans
  • icônes
  • son apparence au moment de la conception (à masquer les rouages ​​internes)

Donc l'étape 1 consiste à grouper et nettoyer, puis à réfléchir à la distribution. Extlib serait certainement le meilleur.

+1

Tim Tripcony a fait une vidéo pour NotesIn9 sur la façon de le faire. http://notesin9.com/index.php/2012/04/04/notesin9-064-global-custom-controls-fixed/ –

+0

Merci David, je dois essayer ... –

+0

J'ai essayé un projet d'échantillon basé sur XSP Starter Kit et vidéo à partir de Tim Tripcony mais obtenir cette erreur dans Domino lors de l'affichage de xpage avec ce contrôle personnalisé créé. Toute idée que j'utilise Domino 9 et Designer 9, est-ce que XSP Starter Kit R9 est compatible? voir erreur tracenack ici https://gist.github.com/anonymous/5780889 –

-1

Il existe une bonne méthode pour partager des éléments de conception dans NSF: modèles. Vous pouvez créer un modèle pour votre base de données, puis hériter uniquement des éléments de conception spécifiques en les copiant/collant au niveau du concepteur. Dans la vue Propriétés de l'élément de conception, onglet Conception, recherchez la propriété "Hériter du modèle de conception". Il contient le nom du modèle à partir duquel vous avez copié l'élément. Attention à la propriété "Interdire la conception de rafraîchir ou remplacer pour modifier", elle devrait être désactivée.

Cela peut avoir certaines conséquences lors du déploiement de l'application en production. Veuillez donc lire la documentation/l'aide sur l'héritage des modèles.Une combinaison particulière avec les XPages/contrôles personnalisés nécessite que le modèle soit construit et signé. Nous l'utilisons pour partager des commandes personnalisées comme la disposition d'application et les listes de sélection sans problème.

Questions connexes