Rask og enkel: Gjøre et InfoPath-skjema skrivebeskyttet (InfoPath-skjematjenester i MOSS)

Det er et vanlig virksomhet scenario som dette:

  • Bruker fyller ut et InfoPath-skjema.
  • Sender skjema.
  • Langvarige arbeidsflytprosessen starter.
  • Mens arbeidsflyten pågår, Vi ønsker ikke noen å endre innholdet i skjemaet.

Denne office.microsoft.com eksempel beskriver hvordan du oppretter en egen "visning" og merke hele visningen som skrivebeskyttet. Dette er en praktisk tilnærming, men har ulempen at du effektivt har opprettet to hele versjoner av samme form og må nå synkronisere dem manuelt. Hvis du legger til et felt i visningen redigerbare, du må deretter legge den til skrivebeskyttet visningen. Over tid, med forskjellige utviklere, Det kan være noen forskjeller.

Dette alternativet kan fungere bedre i noen tilfeller:

  • Legge til et nytt felt i skjemaet kalt "IsEditable".
  • Angi standardverdien til true.
  • Fremme det når du publiserer til MOSS.
  • I arbeidsflyten, Angi verdien for IsEditble til Usann.
  • Gå tilbake til skjemaet.
  • Legge til en regel som "på åpne skjemaet", Deaktiver spare knappen når IsEditable er USANN.

Ulempen til denne tilnærmingen er at alle feltene kan fremdeles redigeres på skjermen. Brukeren får et falskt inntrykk at de faktisk kan endre innhold. Du kan begrense som ved å sette inn litt tekst at skjemaet er deaktivert, muligens i store røde bokstaver øverst på siden.

I ett prosjekt, Jeg laget en "arbeidsflytstatus" Vis. Som arbeidsflyten forløp, den ville oppdatere bestemte felt som hadde blitt forfremmet fra skjemaet. Når brukeren åpnet skjemaet, det "open form" regel byttet automatisk til at visningen og brukeren hadde en fin liten Sammendrag status.

</slutten>

Technorati Merkelapper: ,

Abonner på bloggen min.

Bruk semaforer i arbeidsflyt for SharePoint Designer åforhindre uendelig loop

Det er mulig å føre til en uendelig sløyfe i en arbeidsflyt for SharePoint Designer. En vanlig implementering mønsteret slik forårsaker problemet:

  • Opprette en arbeidsflyt og knytte til en liste.
  • Angi at det bør start på opprette nye elementer og oppdatering av eksisterende elementer.
  • Et trinn i arbeidsflyten oppdaterer et felt i "Gjeldende element".
  • Siden gjeldende element endret, arbeidsflyten starter nytt.

Å forhindre denne uendelig løkke, implementere en enkel semafor:

  • Legge til en områdekolonne (eller kolonnen til liste/bibliotek Hvis du ikke bruker innholdstyper).
  • Skjule det fra siden Rediger (enkelt å gjøre hvis en områdekolonne via egenskapene, ikke så lett hvis en listekolonne).
  • I arbeidsflyten, Kontroller om verdien i kolonnen semaforen er tom.
  • Hvis det er tomt, Angi den til en ikke-tom verdi og fortsette.
  • Hvis er er ikke tomt, avslutte umiddelbart.

Dette kan bli en ganske nyansert løsning, avhengig av bedriftens behov og så videre, men det har vært en gjennomførbar mønster når jeg har trengte det.

</slutten>

Technorati Merkelapper:

Abonner på bloggen min.

Utviklere: Hvordan kan jeg lære SharePoint?

OPPDATERINGEN: 04/25/08: Var å fange opp på noen blogginnlegg og fant en link til denne artikkelen: http://www.networkworld.com/news/2008/032608-microsoft-sharepoint.html?page=1. Jeg gjør oppmerksom på det fordi i tillegg til spør, "hvordan kan jeg lære sharepoint?", noen folk spør "Hvorfor skal jeg lære sharepoint?". At artikkelen svar delvis de senere.

I de siste månedene, et dusin eller flere folk fra hele planeten er emailing meg og spør de generelle, "Hvordan kan jeg lære SharePoint?"

Jeg knapt autoritative, men jeg har hatt noen suksess (og prøver å få bedre hele tiden) så jeg tenkte ville jeg dokumentere min personlige veikart. Andre kan finne det verdifulle.

Før jeg gjør det, Jeg vil bare se at det er åpenbart for meg, basert på disse personlige e-poster og enda flere på MSDN / SharePoint University innlegg av samme art, som det er stor utvikler interesse å få fart med WSS RUNDPINNE. Jeg lurer på hva det skal være et år fra nå … lettere å finne gode SharePoint talent? det samme? Folk forplikter seg til plattformen med en hastighet som er tilstrekkelig til å holde tritt med etterspørselen etter gode ressurser? Hvordan kan du selv finne noe sånn ut av en WAG?

Pauls veikart

Jeg var full tid ansatt av de gode folk på Conchango mens jeg fulgt denne veiledningen. Dette betyr at fra et læring perspektiv, Jeg var aktivt engasjert i prosjekter som jeg fulgte fremgangsmåten jeg skissere nedenfor.

Noen grunnleggende begreper

For folk å skrive inn denne verden, Det er to viktige akronymer:

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

WSS er "gratis" ved at den har sammen med windows server 2003 (eller i det minste kan dataoverførte fra MS). Jeg sette anførselstegn rundt gratis fordi du trenger en boks, et gyldig operativsystem lisens og sannsynligvis SQL (Selv om det er en "gratis" slags SQL samt).

MOSS bygget på WSS og utvider det. Det er ingen MOSE uten WSS. MOSS er ikke gratis.

Kanskje ikke dag én, men snart etter at du har en grunnleggende kjennskap til plattformen, Det er viktig å vite forskjellene. For eksempel, en kraftig webdel, Webdelen for innholdsspørring, er en MOSS funksjonen ikke tilgjengelig WSS. Folk gjør ofte en feil forutsetning om at CQWP er tilgjengelig i WSS og så ende opp kjempet for en stop-gap mål når de innser sin feil.

Treffe bøkene

Jeg begynte med WSS/MOSS på om 01/02/2007. Jeg hadde en liten erfaring med SPS 2003 men lite. Å komme meg i gang, Jeg kjøpte den to bøker oppført her (http://paulgalvin.spaces.live.com/lists/cns!1CC1EDB3DAA9B8AA!203/).

Jeg startet med store blå administrasjon boken. Naturlig, den dekker administrasjon. På samme tid, Det gir en oversikt over alle MOSS funksjoner (og også WSS-funksjonene).

For meg, Det er ikke så viktig å huske alle de forskjellige detaljene (før det er på tide å få sertifisert) men det er godt å vite grensene. (I følge denne samme tilnærmingen i første person skytespill jeg spille på xbox eller PC — Jeg skriver inn et rom og lager en klokken loop før jeg kommer tilbake der jeg startet. Jeg føles bare bedre megetsigende form av boksen jeg i.)

Etter å ha lest big blue book, Jeg hadde lest hele i WSS boken. Det dykk dypt inn i problemer at utviklere omsorg mest om.

Opprette et virtuelt miljø

For å gjøre noen utvikling eller riktig bruker miljøet, du trenger en full blåst windows-serveroperativsystemet med SharePoint Designer, Visual Studio 2005 (2008 verker, men noe nyttig verktøy har ennå å bli portert fra skrivingen av denne artikkelen), InfoPath 2007 og noen andre ting. Det er mange gode blogginnlegg som beskriver denne prosessen. Jeg ville ha en titt på disse to:

i tillegg, Andrew Connell delt sine erfaringer med VMWare her:

Bruk din favoritt søkemotor for å se hva andre gjør. Det er en nyttig innlæring øvelse i og av seg selv.

Tilbringe noen minutter sint fordømte det faktum at du trenger et servermiljø som å gjøre utvikling. men … ikke bry blogging om det, eller legge den på MSDN-foraene. It’s already been done 🙂. I stedet, omfavne det og gå videre. Du vil bli bedre for det..

Bli sertifisert

Jeg tror at MS SharePoint sertifiseringsbanen, som består fire eksamener, er fullstendig. Jeg foreslår at du følger deres online eksamensveiledningen og gjør ditt beste for å forstå hvert av områdene av testen.

JEG ikke foreslå at du tar eksamen bare for å gi det. JEG ikke foreslå at du bruker en av de "hjerne fylling" stil tredje parts "verktøy" for bestått MS tester. Hvis du kan ta testen, Pass det basert på en kombinasjon av din egen regissert studier og praktisk erfaring, du vil bli en sterkere utvikler og jobben kandidat for det.

Det er fire tester i to "spor":

Utvikler:

Admin:

Jeg anbefaler at utviklerne studere for alle disse eksamenene. Du vil være sterk for dem., men jeg antar at hvis du hoppet over admin eksamen, du vil få ved.

Jeg fant det WSS versjonen å være betydelig mer utfordrende enn tilsvarende MOSS versjoner, mye til min overraskelse. Jeg var i en klasse nylig og flere andre gjorde det samme punktet.

Mens jeg studerte den 70-542 eksamen (MOSS utvikling) Jeg sporet min studie ressurser. Dette kan være nyttig for deg også: http://paulgalvin.spaces.live.com/Blog/cns!1CC1EDB3DAA9B8AA!192.entry

Koble deg til fellesskapet

SharePoint samfunnet er levende, sterk og voksende større hele tiden.

Du vil se på følgende for å starte:

  • Blogger
  • Fora
  • Codeplex
  • Twitter

Blogger

Hvis du ikke forstår RSS, stoppe alt og lære. Det vil ta 10 minutter å lære det., kanskje en annen 10 minutter for å finne en web basert RSS-leser (Jeg liker google reader, www.google.com/ leser).

Start by adding this blog to your RSS reader 🙂

Neste, legge til www.sharepointblogs.com for leserne. De samlet mange blogger i en enkelt feed.

Over tid, du vil finne blogger som ikke er akkumuleres sånn. Legge dem individuelt.

Jeg abonnerer på et par dusin blogger som jeg har akkumuleres det siste året. hvis du vil, Jeg kan eksportere min liste og sender den.

Til slutt, kan du starte din egen blogg. Jeg personlig tror at en rekke blogginnlegg som beskriver "nybegynners" fremgang lære WSS RUNDPINNE ville være en interessant serie. Jeg skulle ønske jeg hadde gjort det selv.

Fora

Jeg deltar aktivt i to forum grupper: MSDN og SharePoint University.

Forumene er gode steder å lære. Folk spør spørsmål fra helt enkle («Hvordan oppretter jeg en områdekolonne») til den panikk ("Min server er ned!") mer hypotetisk design spørsmål.

Når du får en smak av miljøet, begi deg ut og begynne å svare. Kort av direkte samspill med en kunde, ingenting er bedre enn dette for hands on erfaring.

Codeplex

gå til www.Codeplex.com.

Sjekk det ut og søke etter SharePoint prosjekter.

Abonner på daglige sammendraget Codeplex feed i feed-leseren din.

Legge til nye SharePoint prosjekter i din feed-leser.

Til slutt, etter lese fora og vender ned din egen WSS RUNDPINNE demoner, vurdere å sette sammen ditt eget codeplex prosjekt.

Twitter

Som jeg skriver dette bloggpost, mye av SharePoint folk har begynt å bruke Twitter.

Det er vanskelig å beskrive Twitter. Du må bare sjekke det ut selv.

Konklusjon

Som brytes opp min veikart og gjør meg gjeldende. Jeg har nettopp begynt å bruke Twitter to uker siden.

WSS RUNDPINNE er en veldig kul plattform og fellesskapet vokser hele tiden. Bruk ressurser til å forbedre dine ferdigheter og nyt reisen!

</slutten>

Abonner på bloggen min.

Technorati Merkelapper: ,

Data Protection Manager: Virker som en stor SharePoint sikkerhetskopiering/gjenoppretting løsning

På den New Jersey SharePoint brukergruppe møte kveld, Microsoft Sr. produktet spesialist DuWayne Harrison presentert Microsoft Data Protection Manager 2007. DuWayne var stor (Han støttet av en eller to kollegaer fra publikum hvis navn jeg ikke husker). Du kan få presentasjonsmaterialer her.

Frem til i går kveld, Jeg har aldri hørt om DPM.

Jeg er ikke en system admin type person, så jeg skriver dette fra SharePoint konsulent perspektiv og kanskje få noen av ordene galt. til meg, DPM er en sikkerhetskopiering/gjenoppretting løsning for Microsoft "ting":

  • Filer
  • SQL
  • OPERATIVSYSTEMER
  • Virtuelle maskiner (Live backup av VM, Selv om VM selv kjører Unix).
  • Bart metall gjenoppretting (dvs.. katastrofale maskinvarefeil).

Utover at ting, som jeg ville vurdere for å være minimumskrav for alle typer "real" sikkerhetskopiering/gjenoppretting produkt, DPM har også innebygde for SharePoint. Det forstår om serverfarmer og lar deg gjenopprette:

  • Hele databaser (f.eks. innhold, config, osv.).
  • Områdesamlinger
  • Personlige nettsteder
  • Enkeltelementer (f.eks. dokumenter).

Faktiske gjenopprettingsprosessen omfatter utpakking av målet data fra sikkerhetskopien og lagre den i en "restaurere farm" og så derfra, flytte til produksjonsmiljøet (eller hvor du ønsker å gjenopprette). Jeg tror dette er sømløs, men det var mye vekt på behovet for en "Systemgjenoppretting farm". Gjenopprett gården trenger ikke tilsvare produksjonsmiljøet hver især (hovedsakelig i fysiske topologien) men trenger å matche i maler, versjoner, osv..

Jeg se ikke en ende til ende-demo, men DuWayne viste skjermbilder og noen live demonstrasjoner. Det synes å være så god som den trenger å være, minst for en moderat størrelse miljø.

Jeg ble spesielt rammet av priser. Åpenbart, ikke hold meg til dette, men jeg tror at dyreste prisingen er omtrent som følger (i USD):

  • $600 for DPM selv.
  • Maskinvare for en DPM-server (og tilknyttede ting for medier og alt det).
  • $450 for hver server vil du sikkerhetskopiere ("enterprise" lisens).

Fem serverfarmen vil koste minst:

  • $600 for DPM
  • $450 x 5 servere = $2,250

Totale kostnader i lisenser: $2,850

I praksis, det ville være mindre. Du trenger ikke nødvendigvis ha DPM installert på hver webfront, for eksempel. Du trenger ikke nødvendigvis firmalisenser enten.

Brukergrensesnittet er virker veldig enkelt sannsynligvis ville ikke krever noen spesielle trening for å få fart. Jeg spurte om det spesielt og tydeligvis det er en 1.5 dag klassen tilgjengelig, men det ikke er klart for meg at noen virkelig trenger å ta det.

Alt i alt, Jeg tror det er absolutt verdt å undersøke om du er ute på jakt etter en data sikringen løsning for SharePoint.

</slutten>

Abonner på bloggen min.

Technorati Merkelapper:

Twitter: http://twitter.com/pagalvin

Gjennomgang: Fastsette ansatte opplæring mal ledige plasser avregistrere tege

Som mange vet, malen ansatte opplæring fra Microsoft her har en feil som vi kan gjengi følgende:

  • Opprette en klasse med en maksimal størrelse på 10 studenter.
  • Registrering –> Totalt tilgjengelig seter riktig reduserer av en. Resultatet: 9 ledige plasser.
  • Avregistrere: –> Feil. Totale ledige plasser bør øke med en. Det ikke. Resultatet: 9 ledige plasser i SharePoint, men faktisk, Det er 10 ledige plasser.

Løsning: Bruke SharePoint Designer til å korrigere arbeidsflyten.

Første, Åpne webområdet. Mappelisten for meg ser slik ut:

bilde

Hvis vi har en betrakte "deltaker registrering" arbeidsflyt, Vi ser at det er et skritt merket "Fremtving sitteplasser policy". Det ser slik ut:

bilde

Dette trinnet i arbeidsflyten oppdaterer elementet ved stigende "fylt sitteplasser" metadata-kolonne på banen. Hvis vi rykk det opp i mer detalj, Vi ser dette:

bilde

Det er all informasjon vi trenger å fikse avregistrering arbeidsflyten.

Hvis vi snu til avregistrering arbeidsflyten, Det er ingen lignende arbeidsflyt trinn. Legge den som følger:

1: Vis "deltaker avregistrering" og åpne opp på XOML (se første skjermbilde hvis du tapte).

2: Legge til en ny arbeidsflytvariabel, «Nye fylte seter" type "Tall".

3: Tilordne en verdi til "nye fylt seter" som vist:

bilde

4: Minsk fylte seter ved 1:

bilde

5: Relaterte kurset varen oppdateres:

bilde

6: Kontroller alle trinnene i riktig rekkefølge!. For meg, Det ser ut som dette:

bilde

7: Fullfør arbeidsflyten for å bygge det på nytt.

8: Test.

</slutten>

Abonner på bloggen min.

Technorati Merkelapper: ,

Tilfeldig lørdag morgen observasjon

Jeg har vært i klasser de siste to uker og en ting som slår meg er at det er en rekke gjennomtenkte, smarte folk arbeider med SharePoint (som konsulenter eller IT-personalet) som ikke blogg, Twitter, synes klar over offentlige kommunikasjonstjenester som MSDN-forumet eller SharePoint universitet, vedlikeholde Facebook eller LinkedIn profiler, osv.. De er ren informasjon forbrukere. ikke dårlig, bare interessant.

</slutten>

Technorati Merkelapper:

Abonner på bloggen min.

Webdelen for innholdsspørring: Snakker på New York SharePoint brukere-gruppen

Jeg skal snakke med min kollega, Natalya Voskresenskaya, på den New York SharePoint brukere-gruppen møte onsdag 7 mai.

Takk til Bob Fox for å kaste våre navn i hatten og hjelpe få oss denne muligheten!

Vår samlede emnet er webdelen for innholdsspørring og vi håper å gi nyttig informasjon til to forskjellige målgrupper:

  • Forretningsbrukere (ikke-utviklere): Vis hvordan CQWP kan konfigureres til å løse visse felles forretningsproblemer noen koding.
  • Utviklere: Vis hvordan CQWP kan utvides til å gjøre noen ganske interessante ting som en vanligvis ikke ville føler komfortable selv. Denne delen av presentasjonen vil hjelpe virksomheten brukere forstår hva som er mulig med denne webdelen slik at de kan gi bedre og mer realistisk krav til sine utvikler partnere.

Her er Innkalling NYSPUG sendt ut tidligere denne uken:

"Bruke webdelen for innholdsspørring å løse forretningsproblemer".

MOSS 2007s webdelen for innholdsspørring (CQWP) brukerne kan opprette egendefinerte visninger av data fra mange kilder, og presentere dataene på ett sted. Til tross for den kraftige spørringen & innhold begrensningsalternativer, CQWP er ofte en undervurdert og oversett funksjon. CQWP er både en "data utvinning motor" (finne dokumenter eller listeelementer hvor som helst i en områdesamling) og også et førsteklasses presentasjonsverktøy som lar brukere styre hvordan innholdet presenteres av emballasjen HTML og stiler til å formatere visningen nesten noen måte du ønsker.

I denne demo-tunge økten, de vil vise hvordan å bruke CQWP for å løse virksomhet problemer ved å vise av kjernefunksjoner.

  • bruke standard CWQP, inkludert målgruppeangivelse

  • bruke CWQP som et rapporteringsverktøy hvor som helst i en områdesamling via filtervilkår som "alle dokumenter opprettet i dag".

  • endre utseendet & følelsen av spørringsresultatene til å markere forretningsdata, Vis flere kolonner med informasjon, vise informasjon i et rutenettformat, og andre.

  • Vis hvordan CQWP kan hjelpe i innholdstypen administrasjon (dvs.. finne alle dokumenter med en bestemt innholdstype for å forstå mulige konsekvenser av å endre en CT-definisjon).

  • Beskriv noen begrensninger i CQWP

  • gir en liste over ressurser for avanserte CQWP teknikker, inkludert blogger, ECQWP Codeplex prosjektet & MSDN-dokumentasjonen.

</slutten>

Abonner på bloggen min.

Technorati Merkelapper:

RASK SharePoint-integrasjon: Utføre en enkel spørring

Dette er en videreføring i min rask koding mini-serien for SharePoint folk. Bit av koden nedenfor utfører et søk etter ordet "test" i rask via et konsollprogram. Åpenbart, Det er en, hoppe og hoppe unna for å bryte denne logikken i en webdel eller program:

ved hjelp av Systemet;
ved hjelp av System.Collections.Generic;
ved hjelp av System.Linq;
ved hjelp av System.Text;
ved hjelp av System.Collections.Specialized;
ved hjelp av Com.FastSearch.Esp.Search;
ved hjelp av Com.FastSearch.Esp.Search.Http;
ved hjelp av Com.FastSearch.Esp.Search.Navigation;
ved hjelp av Com.FastSearch.Esp.Search.Query;
ved hjelp av Com.FastSearch.Esp.Search.Result;
ved hjelp av Com.FastSearch.Esp.Search.View;
ved hjelp av System.Collections;

navneområdet Conchango
{
    klassen InvokeSimpleFASTQuery
    {
        statisk ugyldige Main(streng[] argumenter)
        {

            #regionen Initialisere vår kommunikasjon med FAST
            ISearchFactory searchFactory;

            NameValueCollection nameValueCollection = nye NameValueCollection();

            nameValueCollection.Add("fastsearchengine", "Com.FastSearch.Esp.Search.Http.HttpSearchFactory");
            nameValueCollection.Add("Com.FastSearch.Esp.Search.Http.QRServers", "fastdemoback:15100");
            nameValueCollection.Add("Com.FastSearch.Esp.Search.Http.RequestMethod", "FÅ");

            searchFactory = SearchFactory.NewInstance(nameValueCollection);

            #endregion #region Starte en spørring

            streng queryString = "test";

            Spørring Query = nye Spørring(queryString);

            spørring. SetParameter(BaseParameter.KLYNGING, USANN);
            spørring. SetParameter(BaseParameter.NAVIGASJON, sann);
            spørring. SetParameter(BaseParameter.NAVIGATION_DEEPHITS, 100);

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

            IQueryResult resultat = searchView.Search(spørring);

            Konsollen.WriteLine til("Totalt resultater fra søk: [" + resultatet.DocCount + "].");

            Int docCounter = 0;

            mens (docCounter < resultatet.DocCount)
            {

                docCounter   ;

                IDocumentSummary thisDocSummary = resultat.GetDocument(docCounter);

                Konsollen.WriteLine til("[" + docCounter + "]: " + thisDocSummary.GetSummaryField("url").Strengverdi);

            } // mens

            Konsollen.ReadLine();
            #endregion

        }
    }
}

Det genererer følgende resultat:

bilde

</slutten>

Abonner på bloggen min.

Technorati Merkelapper: ,