Module

Upload de fichier par feature

11/03/2010 1720 lectures 0 commentaire
Dans le développement SharePont, il est fréquent de devoir uploader un fichier dans une bibliothèques ou une liste. Par exemple, quand vous créez une web part, vous devez uploader le fichier .webpart dans le catalogue de Web part de SharePoint pour que celle-ci soit disponible à l'ajout. Pour ce faire, vous devrez utiliser un module qui va vous permettre d'uploader un fichier dans une bibliothèque.

Nous allons voir cela en créant une feature qui va se charger d'uploader deux fichiers Word dans une Document Library de SharePoint. Avant de commencer le développement de cette feature, veuillez créez une librairie de document nommée Docs sur votre site. Ouvrez ensuite Visual Studio et créez un nouveau projet de type WSP Builder Empty Project que vous nommerez MyModule.

Image


Cliquez ensuite avec le bouton droit de votre souris sur votre projet et choisissez Add > New Item. Dans la fenêtre qui apparaît, choisissez Blank Feature et nommez-la MyModule. Laissez le Scope de celle-ci sur Web.

Image


Pour uploader des fichiers dans une libraire SharePoint, il faut bien évidemment que ceux-ci se trouvent dans la solution pour commencer le processus d'upload. Créez donc un dossier Files dans le dossier MyModule de votre solution. Ajoutez ensuite 2 documents à l'intérieur. Pour cet exemple, nous disposons de deux fichiers nommés respectivement MyDoc1.docx et MyDoc2.docx.

Ouvrez ensuite votre fichier elements.xml. C'est à l'intérieur de ce fichier que nous allons définir le module permettant d'uploader les fichiers dans la libraire adéquate. Tapez d'abord ceci :



Cet élément permet de définir des propriétés importantes du Module. La première est son nom, mais les plus importantes viennent après. L'attribut Url indique le chemin vers la libraire SharePoint dans laquelle le fichier sera uploadé. Ce chemin est relatif à la racine du site web. Ici, nous indiquons donc Docs pour signaler que le fichier sera uploadé dans la libraire de document Docs. L'attribut Path quant à lui va permettre d'indiquer ou se trouvent les fichiers à uploader dans votre solution. Ce chemin d'accès est relatif au dossier contenant votre feature. Nous tapons donc simplement Files pour indiquer que les fichiers se trouvent dans le dossier Files de la solution.

Après avoir déclaré le Module, nous devons déclarer les fichiers à uploader. Tapez donc ceci entre les éléments Module :



Chaque élément File correspond à un fichier à uploader. L'attribut Url permet de définir le nom du fichier dans votre solution, nous tapons donc MyDoc1.docx pour faire référence au fichier MyDoc1.docx se trouvant dans le répertoire Files (définit dans l'élément Module). L'attribut Name va vous permettre de modifier le nom du fichier une fois qu'il sera dans la librairie de documents. Donc ici, bien que vous uploadez le fichier MyDoc1.docx, il apparaitra sous le nom de My Doc 1.docx dans la librairie de documents. Enfin, le dernier attribut permet de définir le type. Si vous ne spécifiez pas cet argument, le fichier sera bien uploadé, mais l'élément correspondant au fichier ne sera pas présent. Autrement dit, le fichier http://URL/Docs/MyDoc1.docx existera bien, mais rien n'apparaitra dans la librairie. Cela peut être utile pour uploader un template de document à lier à une librairie. Ainsi, celle-ci contient bien le template, mais il est invisible aux utilisateurs. Si vous définissez cet attribut sur GhostableInLibrary, l'élément correspondant sera alors créé. Pour le deuxième élément File, nous modifions légèrement l'attribut Name. De cette manière, SharePoint va automatiquement créer le dossier "Doc temporaire" dans la librairie. Au final, votre fichier devrait contenir ceci :



Les deux lignes de codes précédentes vont donc simplement [I[uploader[/I] les deux fichiers dans la librairie Docs du site sur lequel la feature sera activée. Déployez maintenant votre feature et activez-la. Si vous vous rendez dans la libraire Docs, vous verrez ceci :

Image


Et si vous ouvrez le dossier, vous trouverez bien le fichier My Doc 2.docx à l'intérieur.

Télécharger les codes sources

Voter :

0 commentaires

Ajouter un commentaire