2008-12-01 9 views
1

Quelle est la meilleure façon d'afficher un formulaire personnalisé pour chaque nouveau document ajouté à une bibliothèque de documents spécifique?Affichage d'un formulaire personnalisé sur un événement de nouvel élément dans les bibliothèques de documents SharePoint 3?

Je souhaite que l'utilisateur dispose d'un certain contrôle sur certaines actions que l'ajout du document entraînera - en particulier, des tâches créées pour les utilisateurs dans une liste des tâches, que l'utilisateur contribuera à OK avant de valider.

Est-ce la meilleure façon de faire cela via un Workflow ou un gestionnaire d'événements?

Cordialement Moo

Répondre

0

Pour le serveur SharePoint 2007:

Une combinaison d'un type de contenu spécialisé et un gestionnaire d'événements vous donnera le plus de contrôle du processus (plus facile à déboguer aussi). Un workflow est idéal pour les actions "faciles" et il est plus difficile de réaliser des actions complexes.

Un flux de travail permet une plus grande flexibilité dans l'affectation du flux de travail à différentes bibliothèques par les administrateurs de site. Roulez votre type de contenu et votre gestionnaire d'événements dans une fonctionnalité qui peut être déployée.

Assigner le type de contenu à une liste vous permettra de prendre toutes les données créées par le formulaire standard (rappelez-vous que vous pouvez créer des champs personnalisés pour une entrée de données vraiment complexe/personnalisée) et de prendre les mesures nécessaires.

0

Merci pour la réponse, c'est la route que j'étudiais mais malheureusement, je n'ai pas trouvé un moyen de le faire fonctionner pour les bibliothèques de documents - uniquement les listes. Le problème que j'ai rencontré est que aving un SPUtility.Redirect dans l'événement ItemAdded, ItemAdding, ItemCheckingIn ou ItemCheckedIn sur la bibliothèque de documents ne fait rien du tout, car il n'y a aucune page liée aux événements - son tout le code backend étant tiré qui n'est pas lié à un contexte Web, parce que ce n'est pas la page Web qui fait le gros du travail à ce moment-là, mais l'intégration d'Office. Tous les exemples que j'ai rencontrés semblent s'appuyer sur le fait que la page EditForm.aspx ou NewForm.aspx est affichée au moment où l'événement est déclenché, ce qui n'est bien sûr pas le cas ici.

Cela conduit également au problème que je ne peux pas étendre la page EditForm.aspx ou CheckIn.aspx pour faire ce que je veux non plus, car Office 2007 contourne les deux.

Ainsi, la seule option laissée ouverte pour moi au moment le fait à travers un flux de travail:/

Les autres conseils serait fantastique.

0

Un nouveau "type de contenu" avec son nouvel URL de formulaire défini sur la valeur appropriée devrait faire l'affaire. Malheureusement, vous ne pourrez peut-être pas réaliser ce que vous essayez d'obtenir avec un gestionnaire d'événements ou un flux de travail. Idéalement, vous souhaiterez que le formulaire apparaisse dès que l'utilisateur ajoute un nouvel élément à la bibliothèque et qu'un type de contenu personnalisé fera l'affaire.

  1. Créer un nouveau type de contenu. (Dérivez-le du type de contenu existant)
  2. Supprimez le type de contenu par défaut de la bibliothèque doc.
  3. Utilisation du modèle objet pour définir l'URL du nouveau formulaire sur une page aspx ou un formulaire Infopath que vous avez créé.

Cordialement,