Est-il possible d'obtenir une liste de tous les dossiers dans une bibliothèque de documents SharePoint, en utilisant SPQuery?énumèrent tous les dossiers dans une liste SharePoint récursive
Quelque chose que vous pourriez obtenir dans le système de fichiers, si vous ouvriez invite de commande Windows et a couru
dir /b /A:D /S
Le problème est, si vous créez simple SPQuery et définir les viewAttributes à Scope='RecursiveAll'
, le jeu de résultats contient des éléments, mais pas les dossiers.
Ou est-ce qu'il me manque complètement quelque chose?
Upd .: La raison de cette question est (était) que je dois créer une solution où un « paquet de fichiers » est logique.
Lorsque mon client parle d'un «document», il signifie réellement une entité qui peut se composer de plusieurs fichiers et d'un ensemble commun de métadonnées pour ces fichiers. Par exemple, le document peut être nommé «Une lettre à ma grand-mère» (attributs: adresse de grand-mère, titre de lettre), mais il se compose de plusieurs fichiers: la lettre dans le document MS Word et une image JPEG.
Ainsi, l'idée était que je pouvais créer un type de contenu dérivé du dossier et y ajouter des champs à ce type de contenu (adresse, titre). Tous les fichiers placés dans ce dossier deviendront naturellement des parties du 'document'.
Puisque nous attendons à ce qu'il y aura beaucoup de ces documents, nous créons une hiérarchie de dossiers de type régulier des dossiers aussi.
Maintenant, nous arrivons à la question: comment puis-je montrer une vue comme « documents récents » à mon client? Cela doit fonctionner récursivement pour énumérer tous les "documents". La récursion par SPFolder
est trop lente en raison du nombre de requêtes à effectuer. Nous espérions un SPQuery
récursif, mais cela ne semble pas résolu de cette façon.
Dupe de http://stackoverflow.com/questions/1557675/caml-query-that-includes-folders-in-result-set Malheureusement pas clair à ce poste si son été résolu ou non – Ryan
Y a-t-il une raison particulière pour laquelle vous essayez d'interroger tous les dossiers au lieu d'itérer via SPList.Folders? Je fais des tests de requête maintenant, mais je suis curieux à ce sujet. –
@ccornet, oui je ne veux pas le faire de manière itérative. Mise à jour de mon message pour montrer les détails. – naivists