Solution con Custom List con un campo in lookup
Ipotiziamo d’avere la necessità di creare una solution che contenga una Custom List modificata a puntino.
Questa custom list, che chiameremo Modelli, ha una colonna di lookup a un’altra custom list, di tipo Contacts e la chiameremo Aziende.

Per prima cosa creo un Empty Project delle estensioni di VSeWSS e aggiungo un nuovo item di tipo Content Type:

All’interno del content type avremo qualcosa del tipo:
<?xml version="1.0" encoding="utf-8"?>
<Elements Id="e7362b74-2a74-434a-9276-6c921b005ed8" xmlns="http://schemas.microsoft.com/sharepoint/">
<ContentType ID="0x01002f1ff08345b743cbb1166c60a29d3d84"
Name="Nuovo Modello"
Group="Miei Content Type"
Description="Mio Content Type per nuovi modelli"
Version="1">
<FieldRefs>
<FieldRef ID="{27e536a2-8cf5-4372-93bd-1f897e648154}" Name="ModelloCTField" />
</FieldRefs>
</ContentType>
<Field ID="{27e536a2-8cf5-4372-93bd-1f897e648154}"
Type="Lookup"
Name="ModelloCTField"
List="Lists/Aziende"
DisplayName="ModelloCT Field"
StaticName="ModelloCTField"
Hidden="FALSE"
Required="TRUE"
Sealed="FALSE"
ShowField="Company"/>
</Elements>
Adesso aggiungiamo un nuovo item e selezioniamo una List Definition (fate riferimento all’immagine di sopra).
E modifichiamo lo schema.xml nella seguente maniera (per praticità inserisco solamente le righe per usare il content type):
Sotto la voce ContentTypes inseriamo solamente i content type che ci servono:
<ContentTypes>
<ContentTypeRef ID="0x01002f1ff08345b743cbb1166c60a29d3d84" />
</ContentTypes>
Fate molta attenzione all’ID. Come si può notare è l’ID del content type, specificato nell’xml del content type stesso; ovvero guardate il codice di prima :)
Altra modifica da fare allo schema.xml è la seguente:
<Fields>
<Field ID="{27e536a2-8cf5-4372-93bd-1f897e648154}"
DisplayName="Aziende"
List="Lists/Aziende"
Name="Aziende"
Type="Lookup"
Required="TRUE"
ShowField="Company"/>
</Fields>
Come si può vedere altro non è che il copia e incolla della specifica del content type, ma con qualche opzione in meno :)
0x710e76cc, 0x2e4b, 0x49f6, 0xad, 0x3b, 0xc2, 0x6b, 0x65, 0xba, 0xe8, 0x91
.NET Campus 2010
Ragazzi ci vediamo al .NET Campus a Roma il 13:
0x44bd23e9, 0x7022, 0x43dd, 0xb1, 0x69, 0x8f, 0xdc, 0xc3, 0x45, 0x13, 0xae
123people … stranezze
E’ strano cercare, per gioco: Lorenzo Barbieri
e trovare una foto di Ivan Fioravanti
doh!
SharePoint Automation: Automating SharePoint 2007 Configurations via STSADM and PowerShell.
Durante lo sviluppo dell’attuale progetto che sto seguendo, ho avuto la necessità di dover lavorare tantissimo con i file di configurazione di MOSS 2007.
Purtroppo i risultati che si ottengo non sono sempre quelli desiderati e, personalmente, trovo sempre utile analizzare gli schema realizzati da SharePoint tenendo sempre le msdn a lato.
Ottenere i file di configurazione di SharePoint non è sempre banale; probabilmente dovrete svilupparvi qualcosa in casa.
Per fortuna sir Gary Lapointe viene in nostro aiuto con tool che amplia le opzioni di STSADM:
Così se oggi dovete ottenere l’xml del Content Type appena deploiato dovrete solamente digitare:
stsadm -o gl-exportcontenttypes -url "http://intranet" -outputfile c:\contentTypes.xml -group "Custom Content Types" -includelistbindings –includefielddefinitions
Figo no!? :D
MVP su ASP.NET pensieri sparsi 1
Quando si sviluppa un'applicazione web, capita spesso di dover fare dei controlli sui dati inseriti dall'utente e quelli presenti nel db.
Capire dove questi controlli vanno inseriti non è sempre molto chiaro.
Esempio, ipotizziamo d'avere un elenco di dati in UI che l'utente può modificare/aggiungere e ipotizziamo che un campo di questi record deve essere univoco.
E' senza dubbio che non possiamo lasciare all'utente l'onere di gestire questa situazione.
A mio avviso, in un'applicazione web con un buon pattern mvp, una prima validazione dei dati deve esser fatta client-side con i dati presenti sullo schermo dell'utente.
Ritornando all'esempio di prima, all'inserimento di un nuovo dato, possiamo controllare se il dato è del tipo che attendiamo e se è già presente nella nostra griglia.
Come fare è semplice, basta far riferimento ad una libreria come jquery, e l'80% del lavoro è fatto.
Una volta fatto questo tipo di controllo possiamo controllare anche lato server, nella presenter, se i dati inseriti sono coerenti.
Ed anche quì abbiamo una libreria che viene in aiuto come il validation application block di Microsoft.
bau
MySql cambiare la password di root e fare il restore del db
Spero che voi non abbiate mai la "fortuna" di lavorare con MySQL.
Se dovesse capitarmi e dovreste perdere la password di root, seguite i seguenti passi:
http://www.franzone.com/2008/04/01/how-can-i-recover-my-lost-mysql-root-password/
Dopo potrete fare il restore del db in questa maniera:
http://www.howtogeek.com/howto/mysql/restore-mysql-database-from-a-backup-file/
ciaps
Statistics