Semplice e veloce: Fare una modulo di InfoPath sola lettura (InfoPath Forms Services in MOSS)

C'è uno scenario comune affari come questo:

  • Utente compila un modulo di InfoPath.
  • Invia modulo.
  • Partirà il processo di workflow di lunga durata.
  • Mentre è in esecuzione il flusso di lavoro, non vogliamo che chiunque di modificare il contenuto del modulo.

In questo esempio office.microsoft.com viene descritto come creare una vista separata"" e contrassegnare l'intera vista come di sola lettura. Questo è un approccio funzionale, ma ha lo svantaggio che effettivamente hai creato intere due versioni dello stesso modulo e deve ora mantenerli sincronizzati manualmente. Se si aggiunge un campo alla vista modificabile, è necessario quindi aggiungere alla visualizzazione non modificabile anche. Nel corso del tempo, con diversi sviluppatori, non ci può essere qualche divergenza.

Questa alternativa potrebbe funzionare meglio in alcuni casi:

  • Aggiungere un nuovo campo al modulo chiamato "IsEditable".
  • Impostare il relativo valore predefinito su true.
  • Promuoverlo quando la pubblicazione a MOSS.
  • Del flusso di lavoro, impostare il valore di IsEditble su false.
  • Tornare al form.
  • Aggiungere una regola che "su Apri nella forma", Disattiva il tuo Salva pulsante quando IsEditable è false.

Lo svantaggio di questo approccio è che tutti i campi saranno ancora modificabili sullo schermo. L'utente può ottenere una falsa impressione che effettivamente possono cambiare contenuto. È possibile attenuare che mettendo in qualche testo che il modulo è disattivato, possibilmente in grandi lettere rosse nella parte superiore della pagina.

In un progetto, Creato uno stato di flusso di lavoro"" vista. Come il flusso di lavoro progredito, esso Aggiorna campi status specifico che erano stato promosso dal modulo. Quando l'utente apre il modulo, la forma aperta"" regola automaticamente commutato a vista e l'utente ha avuto uno status di riepilogo poco piacevole.

</fine>

Iscriviti al mio blog.

Utilizzare i semafori nel flusso di lavoro SharePoint Designer per evitare loop infinito

È possibile generare un ciclo infinito in un flusso di lavoro SharePoint Designer. Un modello di implementazione comune come questo provoca il problema:

  • Creare un flusso di lavoro e di associare a un elenco.
  • Indicare che essa dovrebbe inizio per creare dei nuovi elementi e l'aggiornamento di elementi esistenti.
  • Un passaggio nel flusso di lavoro aggiorna un campo "Elemento corrente".
  • Poiché l'elemento corrente modificata, il flusso di lavoro inizia nuovamente.

Per evitare questo ciclo infinito, implementare un semplice semaforo:

  • Aggiungere una colonna del sito (o colonna alla lista/libreria se non si utilizzano i tipi di contenuto).
  • Nasconderlo dalla pagina di modifica (facile da fare se una colonna del sito tramite la relativa proprietà, non è facile se una colonna di elenco).
  • Del flusso di lavoro, controllare per vedere se il valore della colonna semaforo è vuoto.
  • Se è vuoto, impostarlo su un valore non vuoto e procedere.
  • Se non è vuoto, uscire immediatamente.

Questo può diventare una soluzione abbastanza sfumata, a seconda delle esigenze aziendali e così via, ma è stato un modello praticabile quando ho avuto bisogno.

</fine>

Technorati Tags:

Iscriviti al mio blog.

Sviluppatori: Come a imparare SharePoint?

AGGIORNAMENTO: 04/25/08: È stato recuperando il alcuni post di blog e trovato un link a questo articolo: http://www.networkworld.com/news/2008/032608-microsoft-sharepoint.html?page=1. Faccio notare di esso, perché oltre a chiedere, "come imparare sharepoint?", alcune persone chiedere "perché dovrei io imparare sharepoint?". Tale articolo parzialmente risponde il più tardi.

Negli ultimi mesi diversi, una dozzina o più gente da tutto il pianeta sono stati emailing me e chiedendo la domanda generale, "Come posso imparare SharePoint?"

Io sono difficilmente autorevole, ma ho avuto qualche successo (e cercando di ottenere il meglio tutto il tempo) così ho pensato che mi sarebbe documento mia mappa personale. Altri possono trovare preziose.

Prima di farlo, Voglio solo osservare che è ovvio per me, sulla base di queste email personali e un numero ancora maggiore di MSDN / Messaggi di SharePoint Università della stessa natura, che c'è interesse enorme sviluppatore per ottenere fino a velocità con WSS/MOSS. Mi chiedo che cosa sta per essere come un anno da oggi … più facile trovare buon talento di SharePoint? Lo stesso? Sono gente impegnandosi alla piattaforma ad una velocità sufficiente a tenere il passo con la domanda di buone risorse? Come potrebbe anche capire qualcosa cosi ' a corto di un burlone?

Roadmap di Paul

Ero a tempo pieno impiegato dalla buona gente al Conchango mentre ho seguito questa strada mappa. Ciò significa che da una prospettiva di apprendimento, Stavo attivamente in progetti come ho seguito la procedura che ho delineare qui sotto.

Alcuni termini di base

Per entrare in questo mondo di persone, Ci sono due acronimi chiavi:

  • WSS: Windows SharePoint Services
  • MUSCHIO: Microsoft Office SharePoint Server

WSS è libero"" nel senso che ha in bundle con windows server 2003 (o almeno può essere scaricato da MS). Ho messo le virgolette per racchiudere gratuito perché hai bisogno di una scatola, una licenza valida o/s e probabilmente SQL (anche se c'è un "libero" tipo di SQL pure).

MOSS è costruito sulla cima di WSS e lo estende. Non c'è nessun MOSS senza WSS. MOSS non è libero.

Forse non giorno uno, ma poco dopo aver ottenuto qualche base familiarità con la piattaforma, è importante conoscere le differenze. Per esempio, una potente web part, la Web Part Query contenuto, è una caratteristica MOSS e WSS non disponibile. Persone spesso il presupposto non corretto che CQWP è disponibile in Windows SharePoint Services e quindi finiscono scrambling per una stop-gap misura quando capiranno il loro errore.

Colpire i libri

Ho iniziato a lavorare con WSS/MOSS su circa 01/02/2007. Ho avuto un po' di esperienza precedente con SPS 2003 ma molto poco. A farmi iniziato, Ho acquistato il due libri elencati qui (http://paulgalvin.spaces.live.com/lists/cns!1CC1EDB3DAA9B8AA!203/).

Ho iniziato con il libro di amministrazione blu grande. Naturalmente, Esso copre l'amministrazione. Allo stesso tempo, Esso fornisce un sondaggio di tutte le funzioni MOSS (e pure funzionalità WSS).

Per me, non è così importante ricordare tutti i vari dettagli (fino a quando è il momento di ottenere la certificazione) ma è bene sapere che i confini. (Seguo questo stesso approccio in 1 ° persona tiratori che gioco su xbox o PC — Io entrare in una stanza e tendono a fare un giro in senso antiorario finché torno dove ho iniziato. Mi sento meglio sapendo che la forma della scatola in che sono.)

Dopo aver letto il libro blu grande, Avevo letto l'intero libro di WSS all'interno. Si tuffa profondamente problemi che cura gli sviluppatori più circa.

Creare un ambiente virtuale

Al fine di fare qualsiasi sviluppo o utilizzare correttamente l'ambiente, è necessario un sistema operativo per server windows soffiato completo con SharePoint Designer, Visual Studio 2005 (2008 opere, ma alcuni strumenti utili ancora devono essere portati a partire dalla scrittura di questo articolo), InfoPath 2007 e alcune altre cose. Ci sono molte voci di buon blog che descrive questo processo. Avrei un'occhiata a questi due:

Inoltre, Andrew Connell ha condiviso le sue esperienze con VMWare qui:

Utilizza il motore di ricerca preferito per vedere cosa fanno le altre persone. È un esercizio di apprendimento utili di per sé.

Passare qualche minuto con rabbia che denuncia il fatto che avete bisogno di un ambiente di server su cui per lo sviluppo. Ma … non perdete tempo blogging su di esso o postando sul forum MSDN. È già stato fatto 🙂. Invece, abbracciarla e spostare. Sarete meglio per essa.

Ottenere la certificazione

Credo che il percorso di certificazione MS SharePoint, che consiste di quattro esami, è esaustivo. Vi suggerisco di seguire loro guida di preparazione online e fai del tuo meglio per capire ognuna delle aree del test.

IO Non consigliamo di adottare l'esame solo per passarlo. IO Non suggerisco di utilizzare uno del dump di cervello"" stile "strumenti di terze parti" per il passaggio di test di MS. Se puoi fare il test, pass che e basato su una combinazione di tuo diretto studio ed esperienza pratica, sarete un candidato più forte dello sviluppatore e lavoro per esso.

Ci sono quattro prove in due "tracce":

Sviluppatore:

Admin:

Mi raccomando che gli sviluppatori di studino per tutti questi esami. Sarete forti per loro, anche se suppongo che se hai saltato i exams di admin, si ottiene.

Ho trovato la versione WSS essere considerevolmente più impegnativo rispetto alle corrispondenti versioni MOSS, con mia grande sorpresa. Recentemente sono stato in una classe e molti altri ha fatto lo stesso punto.

Mentre stavo studiando per il 70-542 esame (Sviluppo di muschio) Ho rintracciato le mie risorse di studio. Questi possono essere utili a voi pure: http://paulgalvin.spaces.live.com/Blog/cns!1CC1EDB3DAA9B8AA!192.entry

Inserire voi stessi nella Comunità

La Comunità di SharePoint è vibrante, forte e crescendo più grandi di tutto il tempo.

Volete guardare il seguente per iniziare:

  • Blog
  • Forum
  • CodePlex
  • Twitter

Blog

Se non capisci RSS, fermare tutto e imparare. Ci vorrà 10 minuti per imparare, forse un altro 10 minuti per trovare un web based lettore RSS (Mi piace il reader di google, lettore www.google.com/).

Inizia aggiungendo questo blog al tuo lettore RSS 🙂

Successivo, Aggiungi www.sharepointblogs.com al tuo lettore. Essi aggregano molti blog in un unico feed.

Nel corso del tempo, troverete il Blog che non sono aggregati in questo modo. Basta aggiungerli singolarmente.

Mi iscrivo a qualche dozzina Blog che io ho si accumulano nell'ultimo anno. Se vuoi, Posso esportare la mia lista e via email.

Alla fine, si consiglia di iniziare il tuo blog. Personalmente ritengo che una serie di voci di blog che descrive un "newbie" progresso WSS/MOSS sarebbe un'interessante serie di apprendimento. Vorrei che anch'io avevo fatto.

Forum

Partecipare attivamente due gruppi del forum: MSDN e Università di SharePoint.

I forum sono ottimi posti per imparare. Domande di persone che vanno da molto semplice ("Come a creare una colonna del sito") per il panico ("Il mio server è giù!") per domande di progettazione più ipotetiche.

Una volta che ottenete un sapore dell'ambiente, avventurarsi fuori e iniziare rispondendo. Breve di interagire direttamente con un cliente, non c'è niente di meglio di questo per mani su esperienza.

CodePlex

Vai a www.codeplex.com.

Check it out e ricerca di progetti SharePoint.

Sottoscrivere la sintesi quotidiana che CodePlex feed nel tuo lettore di feed.

Aggiungere eventuali nuovi progetti SharePoint al tuo lettore di feed.

Alla fine, dopo leggendo il forum e rivolto verso il basso i tuo demoni WSS/MOSS, considerare di mettere insieme il tuo progetto codeplex.

Twitter

Mentre scrivo questo post di blog, un sacco di SharePoint folk hanno iniziato a utilizzare Twitter.

È difficile da caratterizzare Twitter. Ti basta dare un'occhiata voi stessi.

Conclusione

Che avvolge la mia tabella di marcia e mi fa corrente. Ho appena iniziato a usare Twitter due settimane fa.

WSS/MOSS è una piattaforma molto fresco e la Comunità sta crescendo tutto il tempo. Utilizzare le risorse comunitarie per migliorare le vostre abilità e godersi il viaggio!

</fine>

Iscriviti al mio blog.

Data Protection Manager: Mi sembra una grande soluzione SharePoint Backup/ripristino

Presso il New Jersey SharePoint User Group incontro ieri sera, Microsoft Sr. specialista di prodotto presentato DuWayne Harrison Microsoft Data Protection Manager 2007. DuWayne era fantastico (e lui era sostenuto da uno o due colleghi dal pubblico i cui nomi non mi ricordo). È possibile ottenere i materiali di presentazione qui.

Fino a ieri sera, Non ho mai sentito di DPM.

Io non sono una persona di tipo admin di sistema, così sto scrivendo questo dal punto di vista del consulente SharePoint e alcune delle parole può sbagliare. A me, DPM è una soluzione di backup e ripristino per Microsoft "roba":

  • File
  • SQL
  • O/S
  • Macchine virtuali (Live backup della VM, anche se la macchina virtuale si esegue Unix).
  • Ripristino bare metal (vale a dire. errore hardware catastrofico).

Di là di quella roba, che ritengo essere i requisiti minimi per qualsiasi tipo di "real" prodotto di backup e ripristino, DPM è anche intelligenza integrata per SharePoint. Capisce circa server farm e consente di ripristinare:

  • Interi database (e. g. contenuto, config, ecc).
  • Raccolte siti
  • Singoli siti
  • Singoli elementi (e. g. documenti).

Il processo di ripristino effettivo comporta l'estrazione di dati di destinazione del backup e salvarlo in una fattoria di ripristino"" e poi da lì, lo spostamento nell'ambiente di produzione (o dovunque si desidera ripristinare). Credo che questo sia senza giunte, ma c'era un sacco di enfasi sulla necessità di una "farm di ripristino". La farm di ripristino non deve necessariamente corrispondere l'ambiente di produzione in ogni particolare (principalmente in topologia fisica) ma devono corrispondere in termini di modelli, versioni, ecc.

Non ho visto una demo to end completa, ma DuWayne ha mostrato schermate e alcune dimostrazioni dal vivo. Sembra essere buono come deve essere, almeno per una moderata dimensioni ambiente.

Mi ha particolarmente colpito il prezzo. Ovviamente, non mi tieni a questo, ma credo che il prezzo più costoso è all'incirca come segue (in USD):

  • $600 per DPM stesso.
  • Hardware per un server DPM (e roba associato per i media e tutto ciò che).
  • $450 per ogni server che si desidera eseguire il backup ("impresa" licenza).

Una farm di cinque server costerebbe al massimo:

  • $600 per DPM
  • $450 x 5 Server = $2,250

Costo totale in licenze: $2,850

In pratica, sarebbe meno. Non devi necessariamente avere DPM installato su ogni front-end web, per esempio. Non è necessario neanche licenze enterprise.

L'interfaccia utente è sembra molto semplice, probabilmente non richiederebbe alcun addestramento speciale arrivare fino a velocità. Ho chiesto specificamente a tale proposito e non c'è apparentemente un 1.5 classe di giorno disponibili, anche se non è ovvio per me che chiunque avrebbe davvero bisogno di prenderlo.

Tutto, Penso che sicuramente vale la pena di indagare se sei là fuori in cerca di una soluzione di protezione dati per SharePoint.

</fine>

Iscriviti al mio blog.

Technorati Tags:

Twitter: http://twitter.com/pagalvin

Walk-through: Annullare la registrazione posti disponibili modello di formazione dei dipendenti di correzione di Bug

Come molti sanno, il modello di formazione dei dipendenti fornito da Microsoft qui ha un bug che possiamo riprodurre seguendo questi passi:

  • Creare una classe con una dimensione massima di 10 studenti.
  • Registro –> Totale disponibile posti correttamente decrementa di uno. Risultato: 9 posti disponibili.
  • Annullare la registrazione: –> Bug. Totale posti disponibili dovrebbero incrementare di uno. Non è così. Risultato: 9 posti disponibili secondo SharePoint, ma in realtà, Ci sono 10 posti disponibili.

Soluzione: Utilizzare SharePoint Designer per correggere il flusso di lavoro.

Primo, Aprire il sito. L'elenco delle cartelle per me assomiglia a questo:

immagine

Se abbiamo uno sguardo all'iscrizione partecipante"" flusso di lavoro, vediamo che c'è un passaggio con l'etichetta "Applica criteri di soggiorno". Sembra che questo:

immagine

Questo passaggio del flusso di lavoro aggiorna la voce incrementando i posti pieni di"" colonna di metadati sul corso. Se abbiamo che tirare più dettagliatamente, Vediamo questo:

immagine

Ecco tutte le informazioni di cui abbiamo bisogno riparare l'annullamento della registrazione del flusso di lavoro.

Se noi capovolgere l'annullamento della registrazione del flusso di lavoro, non c'è nessun passaggio di flusso di lavoro simile. Aggiungerla come segue:

1: Espandere "partecipante annullamento della registrazione" e di aprire il XOML (vedere la prima schermata sparato se siete persi).

2: Aggiungere una nuova variabile del flusso di lavoro, "Nuovi sedili riempiti" di tipo "Numero".

3: Assegnare un valore a "nuovo riempito posti" come illustrato:

immagine

4: Diminuire i posti pieni di 1:

immagine

5: L'elemento correlato corso di aggiornamento:

immagine

6: Assicurarsi che tutti i passaggi siano nella giusta sequenza. Per me, sembra che questo:

immagine

7: Finire il flusso di lavoro per ri-costruire.

8: Test.

</fine>

Iscriviti al mio blog.

Technorati Tags: ,

Osservazione casuale di sabato mattina

Sono stato nelle classi di queste ultime due settimane, e una cosa che mi colpisce è che ci sono un sacco di riflessivo, persone intelligenti che lavorano su SharePoint (come consulenti o personale IT) chi non blog, Twitter, sembrano consapevoli di bacheche pubbliche come forum MSDN o SharePoint University, gestire i profili Facebook o LinkedIn, ecc. Sono consumatori di informazione pura. Non male, interessante solo.

</fine>

Technorati Tags:

Iscriviti al mio blog.

Web Part Query contenuto: Parlando in New York SharePoint Users Group

Si esprimerà con il mio collega, Natalya Voskresenskaya, presso il Gruppo di utenti di SharePoint di New York riunione mercoledì 7 maggio.

Grazie a Bob Fox per buttare via i nostri nomi nel cappello e aiutare noi ottenere questa opportunità!

Nostro argomento generale è la Web Part Query contenuto e speriamo di dare alcune informazioni utili al pubblico distinto due:

  • Utenti aziendali (non-sviluppatori): Mostrare come CQWP può essere configurato per risolvere alcuni problemi comuni di affari senza alcuna codifica.
  • Sviluppatori: Visualizza come CQWP può essere esteso per fare alcune cose piuttosto interessanti che un utente business non sarebbe normalmente senti di fare se stessi. Questa parte della presentazione aiuterà gli utenti aziendali a capire ciò che è possibile utilizzando questa web part in modo che essi possono fornire requisiti di meglio e più realistici ai loro partner sviluppatore.

Ecco il bando che NYSPUG spedito fuori all'inizio di questa settimana:

"Utilizzando la Web Part Query contenuto per risolvere problemi di Business".

Web Part Query contenuto di MOSS 2007 (DISPONIBILI) consente agli utenti di creare visualizzazioni personalizzate di dati interrogati da molte fonti, e presentare i dati in un unico luogo. Nonostante la sua potente query & opzioni di raffinatezza contenuto, CQWP è spesso una caratteristica trascurata e sottovalutata. CQWP è sia un "dati estrazione motore" (trovare documenti o elementi di elenco ovunque in una raccolta siti) e anche uno strumento di presentazione di prim'ordine che consente agli utenti di controllare come il contenuto viene presentato avvolgendo l'HTML e gli stili per formattare la visualizzazione quasi qualsiasi modo che si desidera.

In questa sessione di demo-pesante, si mostrerà come utilizzare il CQWP per risolvere problemi aziendali mostrando fuori le funzionalità di base.

  • utilizzare le funzionalità di default CWQP, compreso pubblico di targeting

  • utilizzare CWQP come uno strumento di reporting ovunque in una raccolta di siti tramite criteri di filtro, ad esempio "tutti i documenti creati oggi".

  • cambiare il look & sensazione di risultati della query per evidenziare dati business, Visualizza ulteriori colonne di informazioni, visualizzare le informazioni in un formato griglia, e gli altri.

  • mostrare come CQWP possa aiutare nella gestione del tipo di contenuto (vale a dire. trovate tutti i documenti di un particolare tipo di contenuto in modo da comprendere l'impatto potenziale di cambiare una definizione CT).

  • descrivere alcune limitazioni di CQWP

  • fornire un elenco di risorse per tecniche avanzate di CQWP, tra cui blogs, Progetto Codeplex ECQWP & Documentazione di MSDN.

</fine>

Iscriviti al mio blog.

Technorati Tags:

VELOCE integrazione con SharePoint: Eseguire una Query semplice

Si tratta di una continuazione del mio digiuno codifica mini-serie per SharePoint folk. Il bit di codice riportato di seguito viene eseguita una ricerca per il termine "test" in veloce tramite un'applicazione Console. Ovviamente, esso è un hop, e andare via a capo di questa logica all'interno di una web part o pagina di applicazione:

utilizzando Sistema;
utilizzando System.Collections.Generic;
utilizzando System. Linq;
utilizzando System. Text;
utilizzando System.Collections.Specialized;
utilizzando Com.FastSearch.Esp.Search;
utilizzando Com.FastSearch.Esp.Search.Http;
utilizzando Com.FastSearch.Esp.Search.Navigation;
utilizzando Com.FastSearch.Esp.Search.Query;
utilizzando Com.FastSearch.Esp.Search.Result;
utilizzando Com.FastSearch.Esp.Search.View;
utilizzando System. Collections;

spazio dei nomi Conchango
{
    classe InvokeSimpleFASTQuery
    {
        statico void Main(stringa[] args)
        {

            #regione Inizializzare la nostra comunicazione con FAST
            ISearchFactory searchFactory;

            NameValueCollection nameValueCollection = Nuovo NameValueCollection();

            NameValueCollection("fastsearchengine", "Com.FastSearch.Esp.Search.Http.HttpSearchFactory");
            NameValueCollection("Com.FastSearch.Esp.Search.Http.QRServers", "fastdemoback:15100");
            NameValueCollection("Com.FastSearch.Esp.Search.Http.RequestMethod", "OTTENERE");

            searchFactory = SearchFactory.NewInstance(nameValueCollection);

            #endregion #region Lanciare una ricerca

            stringa queryString = "prova";

            Query query = Nuovo Query(queryString);

            query. SetParameter(BaseParameter.CLUSTERING, falso);
            query. SetParameter(BaseParameter.NAVIGAZIONE, true);
            query. SetParameter(BaseParameter.NAVIGATION_DEEPHITS, 100);

            ISearchView searchView;
            searchView = searchFactory.GetSearchView("sharepointconn");

            IQueryResult risultato = searchView.Search(query);

            Console.WriteLine("Totale risultati dalla ricerca: [" + risultato. DocCount + "].");

            int docCounter = 0;

            mentre (docCounter < risultato. DocCount)
            {

                docCounter    ;

                IDocumentSummary thisDocSummary = risultato. GetDocument(docCounter);

                Console.WriteLine("[" + docCounter + "]: " + thisDocSummary.GetSummaryField("url").StringValue);

            } // mentre

            Console.ReadLine();
            #endregion

        }
    }
}

Genera il seguente risultato:

immagine

</fine>

Iscriviti al mio blog.

Technorati Tags: ,