2009-01-14 7 views
1

J'ai une fonctionnalité personnalisée qui est une action Modifier le bloc de contrôle (ECB) dans une bibliothèque de documents qui est déployée en tant que package de solution (WSP). Lorsque vous faites dérouler la liste déroulante à côté d'un fichier, vous voyez la fonctionnalité et lorsque l'action ECB est sélectionnée, l'utilisateur est redirigé vers une page d'application personnalisée.Fonction SharePoint personnalisée dans plusieurs portées dans la bibliothèque de documents - apparaît en tant que doublons

J'autorise l'installation de cette fonctionnalité dans les 4 champs d'application: Farm, WebApplication, Site et Web. Chacun d'entre eux sera dans un paquet de solution différent, mais partagera le même FeatureId, SolutionId etc. Il est supposé que la fonctionnalité est seulement installée dans une portée à la fois. Si un administrateur le déploie, l'active et si nous voulons changer la portée, le désactive, tout fonctionne correctement. Si, pour une raison quelconque, l'administrateur ne le désactive pas en premier, l'action ECB aura des entrées en double dans la bibliothèque de documents. Par exemple, disons que nous l'installons en tant que portée de site (collection de sites) et décidons plus tard que nous le voulons dans la portée Ferme et ne le désactivez pas en premier lieu, allez simplement à Solution Management et retirez-le. Si nous regardons la collection de sites où elle était précédemment disponible, nous ne voyons pas l'action de la BCE. Si nous ajoutons le package de solution d'étendue Farm et que nous le déployons, l'action ECB apparaît dans la collection de sites même si nous ne l'avons pas déployée et que l'attribut feature.xml ActivateOnDefault est défini sur false. Si nous allons de l'avant et l'activons, nous verrons maintenant deux actions de la BCE.

Quelqu'un a-t-il des idées? J'ai ajouté le feature.xml et le elements.xml ci-dessous.

TIA, Magnus

<?xml version="1.0" encoding="utf-8"?> 

<?xml version="1.0" encoding="utf-8"?> 

RegistrationType = "Liste" RegistrationId = "101"
Emplacement = "EditControlBlock" séquence = » 300 "
ImageUrl = "/ _ layouts/images/MyFeature/MyOtherPic.gif" Titre = "Ma fonction"
Description = "Ma fonction de la BCE" >

Répondre

0

Au cas où quelqu'un d'autre se heurte à cela et arriverait à voir ce post.

Le comportement lorsqu'une fonction est supprimée via la fonction retractable dépend du type d'élément.Pour l'élément ECB que j'ai utilisé dans mon cas, il a été supprimé et aucun doublon n'apparaît si j'installe une fonction dans une portée de fonctionnalité différente si j'ai un ID de solution et d'ID de fonctionnalité unique dans le fichier feature.xml pour chaque étendue .

0

AFAIK, ce comportement est par conception. Vous devrez ajouter ou étendre un FeatureReceiver et remplacer certaines des méthodes, en particulier FeatureUninstalling où vous devez désactiver votre fonctionnalité sur chaque emplacement où il est encore activé.

Vous pouvez enregistrer chaque activation, par ex. utiliser les propriétés web (de premier niveau).

Walkthrough: Creating a SharePoint Feature Receiver and Custom Link with WSS Extensions

Bonne chance!

Questions connexes