Come aggiornare tutti gli elementi figlio di un tipo di contenuto programmaticamente
-
09-12-2019 - |
Domanda
Quando (tramite interfaccia Web) Accesso utente a un tipo di contenuto (nelle impostazioni del sito -> Tipi di contenuto) e aggiunge o rimuovi una colonna C'è una bandiera vicino alla fine che dice qualcosa come:
"Aggiorna tutti i tipi di contenuto che eredita da questo tipo?" Sì / No
Se sì, ogni elenco nel sito che utilizza gli aggiornamenti CT con la nuova colonna.
Sono in un progetto in cui i tipi di contenuto vengono distribuiti in un wsp. Ogni volta che aggiorno uno di loro il comportamento è come "Aggiorna tutti i tipi di contenuto che eredita da questo tipo?" No ..
Come posso modificare questa impostazione impostata su Sì? C'è una bandiera nell'XML?
Grazie!
Vedo che quando ritraccio da VS tutto va bene ... quindi ho provato a indagare su cosa vuol ...
Ho provato questo script:
Disable-SPFeature -Identity "f5768894-9568-49bb-8c11-354e2d42c6bd" -url URL
Uninstall-spfeature -identity "f5768894-9568-49bb-8c11-354e2d42c6bd" -force
Uninstall-SPSolution -identity saviogd.wsp -allwebapplications -force
Remove-SPSolution -identity saviogd.wsp -force
.
Sono andato alla cartella SP e cerco "qualcosa rimane su di esso", ma:
- .
- Funzione funzione non è più installato
- La cartella Layouts non è più installato
Quindi potrei supponiamo di aver fatto le stesse operazioni VS ... Ora eseguendo un iisreset, andando alla sezione Tipo di contenuto ho trovato tutto il tipo di contenuto installato e tutte le colonne rimuovono ... Quando imploramo di nuovo il CT i vecchi dati.
Controllo della situazione Quando vs Retract vedo che non ci sono più i miei tipi di contenuto ...
Come posso ottenere lo stesso risultato VS?
Soluzione
I due modi "ufficiali" per aggiornare un tipo di contenuto distribuito sono:
- .
- addcontententtypefield che ha un attributo pushdown
- Codice in customupgradeaction dove spcontententtype.update Metodo prende un parametro AggiornaDechildren