Question

ce que j'ai vu

Je viens de remarquer quelque chose d'assez ennuyant avec SharePoint après une mise à niveau de 2007 à 2010.

Le schéma de la liste de tâches dans SharePoint 2007 avait d'abord le champ "attribué à". Cela signifiait essentiellement que le champ «assigné à» est entré dans le champ «Int1» au niveau de la base de données.

dans SharePoint 2010, le schéma de la liste des tâches a d'abord prédécesseur. Devinez ce que cela signifie pour les nouvelles listes? Les colonnes prédécesseurs vont dans le champ "INT1" au niveau de la base de données et "assignés à" tombe dans "INT2".

Modification du champ Commander sur le type de contenu de la tâche aide uniquement si vous utilisez une "liste personnalisée vide" et l'ajout du type de contenu directement. Cela commandera les champs dans le schéma de liste en ligne avec ce que 2007 ressemblait! Cependant, la «définition de la liste des tâches» ignore et utilise son propre schéma comme point de départ. Pour obtenir une liste de tâches en utilisant les mêmes champs de données sous-jacents que SharePoint 2007, vous avez essentiellement besoin de retravailler (supprimer et ajouter) les types de contenu / champs de contenu de la liste qui permet de réinitialiser le schéma avec celui du type de contenu réorganisé.

pourquoi cela compte-t-il?

Beaucoup d'entre vous qui vous demandez peut-être pourquoi je me soucie même des champs SQL depuis que je ne devrais pas les toucher, etc. Bien pour être honnête, je ne devrais pas avoir à se soucier mais Microsoft m'a fait !!!

Nous utilisons un dataformwebPart pour déployer des tâches incomplètes de tous les sites. Créé en utilisant SharePoint Designer. Différentes options sont définies pour les bits récursifs de la croix, mais la première question est la requête CAML et cette partie provoque le mal de tête.

<Eq>
    <FieldRef Name="AssignedTo" />
    <Value Type="Integer"><UserID Type="Integer"/></Value>
</Eq>

Ce qui précède est connu pour filtrer en fonction de [ME], et cela fonctionne, c'est-à-dire pour tous les sites créés en 2007! Les tâches dans toutes les nouvelles listes ne sont pas! ... et je sais maintenant que c'est parce que le SQL sous-jacent étant généré fait:

int1 = [id]

... et non:

int1 = [id] or int2 = [id]

Je ne suis pas sûr (encore) Comment SharePoint construit en interne le SQL mais je peux y étudier à un moment donné, car cela doit évidemment transformer le CAML en SQL et, dans ce cas, utilise une source pour rechercher les mappages de champ associés. Dans les deux cas, la source va être différente sur la base des anciennes listes ou de nouvelles listes. Souvie cette fois-ci pour une raison quelconque, il utilise l'ancien mais de toute façon, cela signifie que les tâches qui me sont assignées sont maintenant laissées de côté. Ne peut voir que trois options actuellement

  1. Créez un script pour mettre à jour toutes les listes de tâches actuelles pour refléter la nouvelle définition de la liste des tâches. Pas idéal, et pas de petite tâche.
  2. à l'avenir Assurez-vous que toutes les listes créées à l'aide du modèle de liste des tâches sont modifiées comme discutées précédemment (enlever / ajouter des CT et des champs).
  3. Mettez le filtre dans XSLT et subissez des performances!

    Je réalise que le numéro 2 pourrait être modelé, mais le modèle d'origine resterait toujours et s'éloigner du modèle MS est probablement susceptible à des problèmes à l'avenir !!

    a été témoin par quelqu'un? Je posterai en sachant qu'il n'y a pas vraiment de réponse à cela. Juste des suggestions / opinions.

Était-ce utile?

La solution

Bien après avoir passé beaucoup de temps à assister à ce qui précède.Il s'agit simplement de mettre le "assigné" dans la partie Viewfields une partie de la requête fixe le problème!

Même si je n'utilise pas le champ pour afficher, le problème a été corrigé en l'ajoutant.Les champs sous-jacents sont encore différents mais SharePoint connaissent cela après tout et la première requête produite des références les champs corrects par web / liste.

sweeeeet.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top