arhive lunare: Octombrie 2007

SharePoint Designer — Activitate particularizată să execute funcţii definite de utilizator C#

ACTUALIZARE: Acest lucru a fost lansat la CodePlex aici: http://www.codeplex.com/spdwfextensions

ACTUALIZARE: A se vedea aici pentru cele mai recente note de lansare: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

ACTUALIZARE: A se vedea aici pentru gândurile mele pe comercializarea acestui proiect: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Acest proiect prevede o activitate particularizată în SharePoint Designer. Utilizați această activitate personalizate pentru a invoca (expediere) orice funcţie C# pe care aţi încorporat în Adunarea legate.

La sfârşitul lunii octombrie, 2007, Aceasta este doar o versiune iniţială a proiectului. Am de gând să se extindă cu o serie de funcţii suplimentare, inclusiv un subșir, Indicele, înlocui, invocarea servicii web şi orice altceva care pare utile sau interesante. Am, de asemenea, de gând să acest post la codeplex, odată ce am Actul meu împreună pe acest front. Acest lucru va fi, de asemenea, dislocabile ca o soluţie la un moment dat.

Dacă aveţi orice Comentarii, întrebări sau sugestii, vă rugăm să lăsaţi-le în comentarii sau e-mail-mă.

Exonerare de răspundere:

Face absolut nici o pretenţie referitoare la eligibilitatea acestea pentru orice scop. Utilizaţi propriul risc.

Paşii de instalare (de urmat pentru fiecare WFE în fermă):

1. .zip şi supliment.

2. Instalaţi .dll în GAC. De obicei, deschide c:\windowsassembly utilizând windows explorer şi copie it acolo.

3. Modifica web.config pentru a adăuga Adunarea la controalele în condiţii de siguranţă:

<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<authorizedType montaj = "SpdGenericInterface, Versiunea = 1.0.0.0, Cultură = neutră, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = "*" Autorizat = "True" />

4. Copie "SpdGenericInterface.actions" c:\Programul FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATE1033Workflow

Reţineţi că locația de mai sus este specific pentru instalatii de limba engleză.

5. Închide SharePoint Designer (dacă acesta este deja deschis).

6. iisreset

7. Deschide SPD şi de a crea un nou flux de lucru.

Dacă totul merge bine, tu ar trebui să fi recompensat cu o nouă categorie de acţiune:

imagine

Note:

A se vedea aici (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) pentru o imagine de ansamblu teribil de proces pentru a crea, instalarea şi configurarea o soluţie ca acest lucru.

.zip este conceput pentru a extrage direct la tine c:\ unitate. În acest caz, aveţi posibilitatea să deschideţi proiectul şi toate căile va fi consecvent.

Pentru a utiliza aceasta în visual studio, tu probably nevoie la spre a instala "Extensii pentru Windows WF".

Iniţială de încărcare conţine doar o "funcţie de dispecer", "ToLower()". Pentru a adăuga mai multe funcţionalităţi, adăugaţi-l la metoda Execute ca:

 protejate suprascrie ActivityExecutionStatus
          Executa(ActivityExecutionContext executionContext)
        {

            şir functionToDispatch;
            functionToDispatch = Acest lucru.DispatchFunction.ToLower();

            comutator (functionToDispatch)
            {
                caz "tolower()":
                    {
                        Acest lucru.OutResult1 = Acest lucru.InParam1.ToLower();
                        pauză;
                    }

                în mod implicit:
                    {
                        Acest lucru.OutResult1 = "Funcţie necunoscut: [" + Acest lucru.DispatchFunction + "].";
                        pauză;
                    }
            }

            reveni ActivityExecutionStatus.Închis;
        } // ActivityExecutionStatus

    }

Apoi, re-construi proiectul şi copia Adunarea GAC. Mă aştept un iisreset ar fi necesare.

Acțiune particularizată SPD flux de lucru – obţine <WorkflowInfo> dreptul de tag-ul pentru a evita frustrare

Parte a procesului pentru a crea o acțiune particularizată pentru SharePoint Designer implică crearea unui ".actions" fişier.

Am găsit şi a încercat să utilizeze un şablon de probă, care începe prin a fi:

<?XML versiunea="1.0" codificarea="UTF-8" ?>
<
WorkflowInfo xmlns="http://schemas.Microsoft.com/SharePoint/">
<
Acţiunile Secvenţiale="apoi" Paralel="şi">

Cu toate acestea, că atributul xmlns previne meu mediului de lucru. Acţiunile mele nu apar în SPD.

Soluţia este să se dezbrace în atributul xmlns, face o iisreset şi aproape/re-deschis SPD.

Simplă şi rapidă: Configuraţi MOSS pentru a căuta o bibliotecă de documente specifice

Vezi UPDATE (I) de mai jos (11/24/07) pe Cum se configurează Microsoft Office SharePoint Server 2007 Index şi scotocire retea foldere de căutare

Obiectivul: Vreau pentru a executa o căutare restrânsă la o bibliotecă de documente specifice. În acest caz, Biblioteca de documente conţine documente de instruire.

Paşi:

1. Înregistra URL-ul bibliotecii de documente.

2. Creaţi un domeniu de aplicare:

Du-te la administrare centrală.

Accesului SSP.

Du-te la "Setări de căutare".

Derulaţi în jos la secţiunea de aplicare şi selectaţi "Vezi domenii".

Creaţi un nou domeniu de aplicare. Da it un nume şi o descriere utile.

3. Defini regulile de scotocire de aplicare:

Adauga o regulă care defineşte în biblioteca de documente pentru acest domeniu de aplicare.

Selectaţi "adresa de web" pentru "Tip de regulă de aplicare".

Introduceţi numele folderului (a se vedea #1 de mai sus).

Acceptaţi valoarea implicită a "Includ".

Aşteptaţi pentru domeniul de aplicare pentru a actualiza (sau porniţi-l manual).

4. Permite domeniul de aplicare într-o colecţie de site-ul.

Du-te la site-ul de colectare în cazul în care doriţi să utilizaţi acest domeniu de aplicare.

Adauga domeniului nou grup de afișare adecvate sau grupuri.

5. Căutare!

La acest punct, aţi terminat. Presupunând că domeniul de aplicare este definit în mod corespunzător, Acesta va fi disponibil în downs picătură domenii pentru simplu şi avansat căutări şi când căutaţi folosind că domeniul de aplicare, doar veţi obţine rezultate vă aşteptaţi.

Note:

Am scris acest blog intrare deoarece căutările pentru configurare simplă de aplicare sa dovedit până uscat folosind expresii ca:

  • configurarea domeniilor în MOSS
  • configurare căutare de aplicare moss
  • domenii în sharepoint 2007
  • domenii în sharepoint
  • Cautati un muşchi de bibliotecă de documente
  • muşchi de grund domenii

Puteţi crea un domeniu de căutare pe un folder, nu doar Biblioteca întregul document.

Un domeniu de aplicare pot fi partajate în mai multe colecții de site-ul (prin urmare, un serviciu"comun").

Puteţi crea domeniului de aplicare la nivelul colecției de site-ul în sine. Cu toate acestea, Prefer să merg la centrul admin pentru că am putea începe de accesare cu crawlere de acolo. Imposibil de pornit scotocirea din colecția de site-ul.

ACTUALIZARE (I) ca de 11/24/07:

Kai Shang pune împreună o mare post intitulat Cum se configurează Microsoft Office SharePoint Server 2007 Index şi scotocire retea foldere de căutare @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry

Nici o supa pentru tine! Este Cisco supa nazist de NLB produsele?

Astăzi, Am încercat să acceseze o bibliotecă de documente prin intermediul windows explorer. Acest cod lib este de viaţă în interiorul unui sistem care constă din două WFE încărcare echilibrată de un fel de soluţie Cisco NLB. (Dacă/atunci când reţeaua wizards spune-mi ce este, Voi actualiza acest post).

Ferestre explorer nu a putut conecta. Am făcut nişte cercetări şi în cele din urmă, wizards reţea a spus că WebDAV este dezactivată / neacceptat de / sub demnitatea de NLB.

Deci, Presupunând că wizards reţea nu sunt doar spune-mi reţea Expertul echivalentul "să ia o plimbare lungă de pe un pod de scurt", Am să întreb — are NLB, prin natura, dezactivaţi WebDAV? Vom pierde noastre ferestre dosar explorer interface SharePoint? Este Cisco Supa nazist?

Gestionarea MOSS / AAC medii — păstrarea cu baza de cunoştinţe Microsoft

Microsoft creează baza de cunoştinţe articolele zi în şi zi şi unele dintre aceste sunt darned important să ştiţi despre dacă locuiţi în lumea SharePoint.

I a păstra până la viteza cu ei prin intermediul unui serviciu oferă de buni la www.kbalertz.com. KBAlertz permite să vă înscrieţi pentru dumneavoastră preferat tehnologie MS şi trimite să digere versiuni de Microsoft KB articole prin e-mail.

Politica de aplicatie web, Site-uri de securitate şi de securitate tunderea — Cunoaşte configuraţia

(ACTUALIZAT 11/29 pentru a explica cum de a accesa web aplicare setări de politică prin intermediul UI)

Am avut unul din cei "ce este MOSS fac asta pentru mine????" momente azi. În cele din urmă, este tot vina mea.

Avem un proiect de întreprindere MOSS întâmplă şi ne-o dorim pentru a asigura "titular loc" site-uri astfel încât nici un utilizator poate accesa sau vedea. Că este uşor:

  1. Du-te la site-ul.
  2. Rupe din moştenire de securitate.
  3. Scoateţi fiecare utilizator/grup din permisiunile de site-ul.

Cele de mai sus ar trebui să lase doar administrator al colecției de site-ul cu permisiunea de a vedea site-ul.

Dacă cineva se conectează, Acestea ar trebui să nu mai vedea site-ul şi ar trebui să fie împodobite de securitate la toate locurile obişnuite.

dar … nu a fost. În acelaşi timp, Deodată îmi dau seama că utilizatorul meu"Joe" cont standard de utilizator de test cu nici o priv decât restrânse acces de citire a unei acţiuni de"site-ul" alegerea oriunde merge. I dublu a verifica un singur lucru şi verificaţi altceva. Ridic telefonul pentru a apela un coleg, dar pune-l în jos şi verificaţi altceva. Mă duc pentru o plimbare şi încearcă tot peste tot din nou. Am suna un coleg şi a lăsa un mesaj. Şi apoi, în cele din urmă, Mi se pare că la Ethan pe blog, Graficul lui de deschidere face destul de simplu:

MOSS 2007 a un nou feature numit politici de aplicaţie Web. Acestea sunt permisiunile de securitate care este legată de o aplicaţie Web. Aceste setări de securitate suprascrie orice setare de securitate, care este setat la colecţia de site-ul sau site-ul (Web) nivel pentru acel utilizator.

O scurtă vizită la web aplicare politici Arată că "NT Authorityauthenticated utilizatori" a fost acordat citire completă. Le-am scos din lista şi totul în cele din urmă a început să lucreze cum era de asteptat. Cred că acestea au fost adăugate în primul rând de cineva cu impresia greşită că aceasta este cea mai bună metodă de a acorda acces de citire pentru toată lumea în întreprindere. N-are, dar, tulpina un citat, "Nu înseamnă ceea ce credeţi că înseamnă."

Acces web aplicarea politicilor în acest fel:

  1. Du-te la administrare centrală
  2. Selectaţi aplicare Management
  3. Selectaţi "politică pentru aplicație Web"
  4. Pe acest ecran, Asiguraţi-vă că alegeţi aplicaţia web corectă. Pentru mine, l implicit la aplicația web de admin centrale, care nu poate fi cel dorit.

Când am avut această problemă, Am cautat pentru următoarele fraze şi luat surprinzător de puţin în termeni de ajutor direct pe această temă:

Site-ul acţiuni vizibile pentru toţi utilizatorii

Site-ul acţiuni vizibile pentru toţi utilizatorii

acțiuni site nu sunt împodobite de securitate

asigura un site de MOSS

Introducere în muşchi de securitate

Technorati Tags:

Simplă şi rapidă: Utilizaţi cuvinte cheie fixă interogare în căutare de bază rezultatele

Instrucţiuni de simplă şi rapidă:

Edita o pagină şi se adaugă o parte de web a Core rezultate.

Editați partea web şi extinde "Interogare fixe de cuvinte cheie".

Adauga interogarea de cuvânt cheie fixă (ex. ContentType:"Formare factură" TrainingInvoiceNumber:1111)

Extinde opţiunile de interogare rezultatele şi de a schimba "Cross-Web parte interogare ID" la o altă valoare decât "interogare utilizator" (ex. "2 De interogare").

Note:

Folosind rezultatele de căutare de bază în acest mod mi-a permis pentru a crea o pagină care afişează informaţii de la un alt site-ul de colectare. Clientul are două colecții de site-ul majore: Serviciile şi produsele.

Colecția de site-ul produs conţine, destul de natural, informaţii despre produs. Fiecare produs din colecția de site-ul agregate de date din surse multiple.

Unul din departamentele, coduri şi testare, este pe astfel de sursă. Când utilizatorii accesează produs XYZ, Acestea ar trebui să vedeţi coduri şi testare date direct de pe pagina principală XYZ. Din codurile si testarea este găzduit într-o altă colecţie de site-ul, este un pic ciudat. Ne-am decis să folosească partea web bază căutare rezultate din moment ce căutaţi se întinde pe site-ul colecţii. Coduri şi testarea gestionează produs de date prin intermediul o listă particularizată care este limitată de un anumit tip de conţinut. Interogare AA de cuvinte cheie care utilizează mai întâi tipul de conţinut şi apoi numărul produsului restrânge căutarea la un singur rând în lista particularizată.

Interogarea de cuvânt cheie de mai sus este un si. Returnează documentele de conţinut de tip "formare factură" şi în cazul în care numarul facturii este egal cu "1111".

Un beneficiu frumos din această abordare: Putem edita XSL din partea web Rezultate căutare de bază şi genera orice format pe care dorim.

A se vedea aici (http://devcow.com/blogs/jdattis/archive/2007/04/17/SharePoint_2007_How_to_Rollup_Content_from_multiple_Site_Collections.aspx) pentru un alt blogger discuţii pe acest subiect.

</scop>Aboneaza-te la blog-ul meu.

Spune-mi despre blog-ul!

Dacă vă menţine un blog care este cel puţin minim conectat la SharePoint, vă rugăm să-mi spuneţi în Comentarii. Mi-ar plăcea să vă să adăugaţi mea lista de blog-ul.

Dacă vă menţine un blog care nu este conectat la SharePoint, dar vrea sa-l oricum, să-mi spuneţi. Vom putea crea o listă separată blog.

Vă rugăm să daţi:

  • URL-ul blog-ul (în mod evident)
  • O scurtă descriere a blog-ul.

Vreau pentru a menţine link-ul pentru "activ" Blogurile, care aproximativ sunt definirea ca un post pe săptămână şi minim trei luni. Dacă nu îndeplinesc această cerință"" Adauga numele tau la Comentarii oricum. Are * meu * lista aşa că poate rupe norma propria mea dacă vreau să.

mulţumesc!

Program de instruire angajat și materiale şablon — Bug decrement în şablon

Clientul a observat un bug astăzi cu şablonul mentionate mai sus.

Curs de manageri crea cursuri. Atunci când creaţi un curs, Managerul specifică numărul maxim de locuri disponibile.

Şablon prevede înscrierea autoservire. Mă înscriu şi un flux de lucru ataşat la înregistrare lista decrements "locuri disponibile" asociate cu acel curs.

Persoane fizice, de asemenea, poţi retrage la un curs. Bug-ul se află aici. Anulare înregistrare la un curs nu incrementează contra locuri disponibile. Ca rezultat al, locuri disponibile nu este corectă. Această problemă este agravată de faptul că, atunci când decrements locuri disponibile la zero, înregistrare de autoservire nu mai este permis.

Din fericire, Microsoft oferă fluxul de lucru pentru acest proces. Chiar mai bine, este un flux de lucru de drept-înainte, creat prin SharePoint Designer.

Urmaţi paşii de nivel înalt pentru a repara:

  1. Foc până PSD.
  2. Acces la site-ul bazat pe șablonul de formare.
  3. Acces la "retragerea de participant" flux de lucru.
  4. Introduce aceşti paşi (Eu le-a făcut primele două etape):
    1. Se calculează Cursuri:Umplut de locuri minus 1 (Ieşire la Variabila:calc)
    2. (apoi) Actualizare articol în Cursuri

Faceţi clic pe Terminare şi aţi terminat.

Capturi de ecran:


SharePoint Designer:

imagine

Flux de lucru terminat:

imagine

Calcula detaliaþi-jos:

imagine

Actualizare articol la cursuri:

imagine

Da bun veste frecvent; da o veste proastă devreme

Am fost un consultant pentru o mulţime de ani acum, şi ca orice consultant cu experienta stie, buna comunicare este unul dintre pilonii cheie la livrarea de succes a unui proiect. Este atât de evident, este foarte aproape de plictisitor pentru a vorbi despre. Acest lucru nu este un post despre comunicare generic. În schimb, Am scris despre partea mai întunecată de comunicare — comunicarea veşti proaste.

Se subînţelege că dând veste bună clientului este făcut tot timpul, cât de des posibil. Cine nu vrea să dea o veste bună? Cine nu-i place să aud o veste bună?

Pe de flip parte, veste proastă este nici un haz deloc. M-am luptat mereu cu acest. În zile mai devreme de cariera mea, As vrea sa stiu ceva a fost greşit cu un proiect şi în loc de a spune clientului, Aş lucra ore mai mult pentru a încerca să rezolve problema. Am ar impună echipa mea sa lucreze mai greu. Este un impuls suficient de naturale să cred că un efort super-umane poate salva ziua. Unele ori acest lucrări, Unii ori acesta nu. Chiar şi atunci când aceasta "funcţionează" Acesta este adesea un amestecat sac. Este calitatea livrabil cu adevărat până la spec. atunci când cheie părţi au fost dezvoltate peste mai multe 60 pentru a 80 oră săptămâni?

Care este cel mai bun mod de a gestiona o veste proastă? Răspunsul este: spune-o mai devreme. Nu aşteptaţi până la o săptămână înainte de bugetul proiectului va fi consumate. Dacă ştiţi că de şase săptămâni acolo pur şi simplu nu este timp suficient pentru a oferi unele pic de funcţionalitate a promis, spun clientului chiar atunci şi acolo. Clientul poate obţine supărat (probabil va), poate fi incriminări şi acuzaţii şi rănit sentimentele. dar, Când emoţiile se răcească off, este încă şase săptămâni stânga pe proiect. Şase săptămâni este o bucată bună de timp. Există timp pentru a ajusta planurile, schimba orarele, a lua mingea rulare pe extensii de buget (Noroc!) şi doar în general, vin la trântă cu faptele"pe teren" şi să elaboreze un plan nou ca rezultat încă un proiect de succes.

Cazul în speţă: Eu lucrez la un proiect de caracterizat prin:

  • T&E bugetul cu o plafonate "nu trebuie să depăşească" Dolar suma.
  • Un "cel mai bun va fi făcut eforturi" promisiunea de a livra X, Y şi Z finele proiectului.
  • Lipsa resurselor cheie promis pe partea de client. Aceste resurse nu au fost reţinute pe scop, nici pentru orice rău"" Motivul, dar ele au fost reţinute.
  • O realizare zorilor ca proiectul a trecut punctul de jumătatea drumului care nu au de gând să fie capabil să ofere "Z" (în principal, deoarece resursele promise nu au fost efectiv disponibile).
  • Rapoarte de stare periodice şi "CYA" documentaţia care ne-a sprijinit (echipa de consultanta) sus.
  • Strâns tricot echipei de implementare cu membri care provin din organizaţia de consultanta (compania mea) şi client.
  • Echipa de management îndepărtate, în ambele sens metaforic şi fizice. Echipa de management a fost axat pe un alt proiect de întreprinderi mari şi din cauza constrângerilor de spațiu, echipa de implementare a fost adăpostite într-o clădire separată campus, în jos un deal şi mod relativ departe de "civilizaţie".

Cu aproximativ şase săptămâni stânga pe bugetul proiectului, am (echipa de implementare) ştia că am fost probleme. Contractul a spus că am nevoie pentru a livra "Z". Chiar dacă proiectul este timp & materiale şi chiar dacă am promis doar "eforturile" pentru a livra Z şi chiar dacă am avut justificarea mare lipsă de livrare … linia de jos este că acesta nu a fost căutarea de bine — noi nu au de gând să livreze Z în formă de o calitate care ar face pe cineva mandru.

Recunoscând acest lucru, ne-am dus la gestionarea şi le-a spus că bugetul proiectului ar fi consumate de o anumită dată şi că am fost în probleme cu Z.

Un mini firestorm a erupt de peste următoarele câteva zile.

Ziua 1: Echipa de management de apeluri în personalul său pentru o reuniune specială (am, consultanţii nu sunt invitate). Contractele sunt tipărite şi înmânează pentru toată lumea şi o revizuire de linia-de-linie apare. Managementul pune membrii personalului în defensivă. Nu cred că fraza "Sindromul Stockholm" este * fapt * utilizat, dar ai poza. Suntem un grup strâns unit-, la urma urmei, şi personalul a fost de lucru cu noi consultanţii zi şi în afară de mai multe luni acum.

Ziua 2: Gestionare apeluri altă reuniune de personal. Se simt un pic mai bine. Ei doresc opţiuni şi idei pentru a progresa. Ei dau seama există încă şase săptămâni rămase în bugetul proiectului curent, care este încă decent un pic de timp. Unul dintre elementele de acțiune: programaţi o întâlnire cu echipa de implementare completă (inclusiv consultanţi).

Ziua 5: Întâlneşte echipa, constructiv întâlnirea apare şi pune în loc, un nou plan de realizabile. Chiar mai bine, am început deja faza a doua a discuta şi clientul ne invită să pregătească propuneri pentru că faza imediat.

Dacă am avut de aşteptat până la doar trei săptămâni au rămas, sau chiar mai rău, una sau două săptămâni, ar fi fost mult diferit. În loc de a re-alinia proiectului o întâlnire constructiv, noi ar fi fost trăgând afară rapoarte de stare, parsarea contractului şi revizuirea email-uri vechi pentru a justifica acest lucru sau că decizia. Am ar "castigat" dar este că într-adevăr "câştigătoare" în acest caz?

Deci, în cazul în care va trebui să dea o veste proastă, da-l la începutul. Vesti proaste tardivă nu este doar rău, este oribil.