Domanda

Quello che ho visto

Ho appena notato una cosa piuttosto fastidioso con SharePoint a seguito di un aggiornamento dal 2007 al 2010.

L'elenco delle attività dello schema in SharePoint 2007 aveva Assegnato prima il campo.Questo in sostanza significa che l' 'Assegnato A' campo è andato in 'int1' campo a livello di database.

In SharePoint 2010 l'elenco delle attività dello schema Predecessore prima.Immaginare che cosa significa per i nuovi elenchi?Il Predecessore colonne va in 'int1' campo a livello di database e 'Assegnato A' cade 'int2'.

Modifica il campo di ordinazione sul tipo di contenuto di attività aiuta solo se si utilizza un 'vuoto elenco personalizzato e aggiungere il tipo di contenuto direttamente.Così facendo l'ordine dei campi nella lista schema in linea con quello del 2007 sembrava!Tuttavia, il compito della definizione della lista' ignora e utilizza un proprio schema come il punto di partenza.Per ottenere un elenco di attività che utilizza la base di dati dei campi di SharePoint 2007, è fondamentalmente bisogno di rielaborare (rimuovere e aggiungere) i tipi di contenuto/campi di elenco, con conseguente ripristino dello schema con quella di riordinare il tipo di contenuto.

Perché questo è importante?

Molti di voi forse vi chiedete perché ho anche la cura su SQL campi, poiché io non dovrei essere in contatto con loro, etc.Beh, ad essere onesti io non sono la cura, ma Microsoft ha fatto di me!!!

Usiamo un DataFormWebPart per rotolo di compiti non da tutti i siti.Creato utilizzando SharePoint Designer.Varie opzioni sono impostate per il cross site ricorsiva bit, ma la principale è la query CAML e questa parte è la causa del mal di testa.

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

Sopra è noto per filtrare in base [me], e funziona, che è per tutti i siti creati nel 2007!Attività nei nuovi elenchi non!...e ora so che è perché il sottostante SQL generato è di fare:

int1 = [id]

...e non:

int1 = [id] or int2 = [id]

Non so (ancora) come SharePoint internamente build di SQL, ma posso guardare dentro a un certo punto, perché, ovviamente, è di trasformare la CAML in SQL e, così facendo, si utilizza una fonte di ricerca il campo associato mapping.In entrambi i casi l'origine diverse in base alle vecchie liste o liste nuove.Si scopre che questa volta che per qualsiasi motivo si utilizza il vecchio MA in entrambi i casi significa compiti assegnati per me ora sono di essere lasciato fuori.Può vedere solo tre opzioni attualmente

  1. Creare uno script per aggiornare tutti gli attuali elenchi di attività per riflettere il nuovo elenco delle attività di definizione.Non è l'ideale, e non è un piccolo compito.
  2. Andando avanti assicurarsi che tutte le liste create utilizzando il modello di elenco delle attività sono modificati come discusso in precedenza (rimozione/aggiunta di ct e campi).
  3. Mettere il filtro in XSLT e soffrire di prestazioni!

Mi rendo conto numero 2 potrebbe essere basato su modelli, ma il modello originale sarebbe ancora rimane e allontanandosi dal modello MS probabilmente è suscettibile a problemi in futuro!!

È questo che l'ha vista da nessuno?I post sapendo che ci realmente non è una risposta.Solo consigli/pareri.

È stato utile?

Soluzione

Beh, a seguito di spendere un sacco di tempo testimonianza di cui sopra.Si rivelasse semplicemente mettere la Assegnatoa' in ViewFields parte della query risolto il problema!

Anche se non sto utilizzando il campo per visualizzare il problema è stato risolto aggiungendo.I campi sono ancora diversi, ma SharePoint NON SAPERE QUESTO, dopo tutto, e il grande query prodotto riferimenti campi corretti per web/elenco.

Sweeeeet.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top