Arkivji ta 'Kull Xahar: Ottubru 2007

SharePoint Designer — Attività Custom biex tesegwixxi l-utent definiti C # funzjonijiet

UPDATE: Dan ġie rilaxxata għall CodePlex hawn: http://www.codeplex.com/spdwfextensions

UPDATE: Ara hawn għal noti rilaxx aħħar: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

UPDATE: Ara hawn għal ħsibijiet tiegħi fuq il-kummerċjalizzazzjoni dan il-proġett: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

This project provides a custom activity in SharePoint Designer. Use this custom activity to invoke (dispaċċ) any C# function that you incorporated into the linked assembly.

Bħala ta 'Ottubru tard, 2007, this is just an initial version of the project. I plan to expand it with a number of additional functions, inklużi substring, indiċi, jissostitwixxu, invoking web services and anything that seems useful or interesting. I also plan to post this to codeplex once I have my act together on that front. This will also be deployable as a solution at some point.

Jekk għandek xi kummenti, mistoqsijiet jew suġġerimenti, jekk jogħġbok jħallu lilhom fil-kummenti jew email me.

Ċaħda ta 'responsabbiltà:

I make absolutely no claims as to the suitability of this for any purpose. Use at your own risk.

Passi installazzjoni (li għandhom jiġu segwiti għal kull WFE fil-farm):

1. Niżżel il-. Zip u estratt.

2. Install the .dll into the GAC. I usually open c:\użu twieqi assemblaġġ twieqi Explorer u kopja hemm.

3. Timmodifika web.config li żżid l-assemblea għall-kontrolli sikuri:

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

<authorizedType Assembly="SpdGenericInterface, Verżjoni = 1.0.0.0, Kultura = newtrali, PublicKeyToken = abe076fd8125f3c4" Namespace="Nivlag" TypeName="*" Authorized="True" />

4. Copy "SpdGenericInterface.actions" sa C:\Program Files Files Komuni Microsoft maqsuma estensjonijiet web server 12 TEMPLATE 1033 Workflow

Innota li l-post ta 'hawn fuq huwa speċifiku għall-installazzjonijiet tal-lingwa Ingliż.

5. Designer SharePoint Agħlaq (jekk huwa diġà miftuħa).

6. iisreset

7. Iftaħ SPD u toħloq workflow ġdida.

Jekk kollox imur sew, inti għandek tkun ippremjata bi kategorija ġdida ta 'azzjoni:

immaġni

Noti:

Ara hawn (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) għal ħarsa terrific tal-proċess għall-ħolqien, installazzjoni u l-konfigurazzjoni ta 'soluzzjoni bħal din.

Il. Zip hija mfassla biex estratt direttament lilek c:\ drive. If you do this, inti tista 'tiftaħ il-proġett u l-mogħdijiet kollha ser ikunu konsistenti.

Biex tuża dan studio viżwali, you probably need to install "Extensions for Windows WF".

The initial upload contains just one "dispatcher function", "ToLower()". To add more functionality, iżżidhiex mal-metodu Teżegwixxi kif muri:

 protetti override ActivityExecutionStatus
          Teżegwixxi(ActivityExecutionContext executionContext)
        {

            string functionToDispatch;
            functionToDispatch = dan.DispatchFunction.ToLower();

            jaqilbu (functionToDispatch)
            {
                każ "tolower()":
                    {
                        dan.OutResult1 = dan.InParam1.ToLower();
                        break;
                    }

                default:
                    {
                        dan.OutResult1 = "Unknown function: [" + dan.DispatchFunction + "].";
                        break;
                    }
            }

            ritorn ActivityExecutionStatus.Magħluq;
        } // ActivityExecutionStatus

    }

Imbagħad, re-build the project and copy the assembly to the GAC. I expect an iisreset would be required.

SPD Workflow azzjoni custom – jiksbu l- <WorkflowInfo> tag dritt biex jevitaw frustrazzjoni

Part of the process for creating a custom action for SharePoint Designer involves create a ".actions" fajl.

Stajt misjuba u ppruvaw jużaw kampjun ta 'mudell li jibda off bħala:

<?xml Verżjoni="1.0" encoding="UTF-8" ?>
<
WorkflowInfo xmlns="http://schemas.microsoft.com / Sharepoint /">
<
Azzjonijiet Sekwenzjali="imbagħad" Parallel="u">

Madankollu, that xmlns attribute prevents my environment from working. My actions don’t show up in SPD.

Is-soluzzjoni hija għal strixxa l-attribut xmlns, do an iisreset and close/re-open SPD.

Quick u sempliċi: Kkonfigurat MOSS li tfittxija librerija speċifiku dokument

See UPDATE (I) below (11/24/07) fuq Kif Kkonfigurat Microsoft Office SharePoint Server 2007 biex Indiċi u Crawl Folders Netwerk għall Search

Għan: I want to execute a search restricted to a specific document library. F'dan il-każ, il-librerija dokument fih dokumenti taħriġ.

Passi:

1. Irreġistra l-URL tal-librerija dokument.

2. Oħloq ambitu:

Mur amministrazzjoni ċentrali.

Aċċess għall-SSP.

Go to "Search Settings".

Scroll down to the scope section and select "View Scopes".

Create a new scope. Give it a name and useful description.

3. Jiddefinixxi regoli jitkaxkru ambitu:

Żid regola li tiddefinixxi l-librerija dokument għal dan l-iskop.

Select "web address" for "Scope Rule Type".

Daħħal l-isem ta 'folder tiegħek (tara #1 hawn fuq).

Accept the default value of "Include".

Stenna għall-iskop li taġġorna (jew jibdew dan manwalment).

4. Jippermettu l-ambitu ta 'ġbir sit.

Mur ġbir sit fejn inti tixtieq li tuża dan l-ambitu.

Żid ambitu ġdida tiegħek għall-grupp wiri jew gruppi adattati.

5. Fittex!

F'dan il-punt, you’re done. Assuming the scope is properly defined, se jkun disponibbli fil-downs qatra ambiti ta 'riċerka għall sempliċi u avvanzati u meta inti tfittex billi tuża dak l-ambitu, tkun taf biss tikseb riżultati inti tistenna.

Noti:

I kiteb dan blog dħul minħabba tfittxijiet tiegħi għall setup ambitu sempliċi mdawwar up jużaw frażijiet niexef bħal:

  • kkonfigurat ambiti fil MOSS
  • kkonfigurat ħażiż ambitu tfittxija
  • ambiti fil Sharepoint 2007
  • ambiti fil Sharepoint
  • tfittxija librerija dokument ħażiż
  • ambiti primer ħażiż

Tista 'toħloq ambitu tfittxija fuq folder, not just the entire document library.

A ambitu tista 'tiġi kondiviża bejn kollezzjonijiet sit multipli (għalhekk, a "shared service").

You can create the scope at the site collection level itself. Madankollu, I prefer to go to central admin because I can start the crawl from there. You cannot start the crawl from the site collection.

UPDATE (I) bħala ta ' 11/24/07:

Kai Shang put together a great post entitled Kif Kkonfigurat Microsoft Office SharePoint Server 2007 biex Indiċi u Crawl Folders Netwerk għall Search @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry

Nru soppa għalik! Huwa Cisco l-Nazisti Soppa tal-prodotti NLB?

Illum, I tried to access a document library via windows explorer. This doc lib is living inside a system that consists of two WFE’s load balanced by some kind of Cisco NLB solution. (Jekk / meta l-wizards network tell me dak li hu, I ser taġġorna din il-kariga).

Windows explorer couldn’t connect. I did some research and eventually, l-wizards netwerk qal li WebDAV huwa b'diżabilità mill / mhux sostnut minn / beneath the dignity of the NLB.

Allura, assuming the network wizards aren’t just telling me the network wizard equivalent of "take a long walk off a short bridge", I wonder — ma NLB, min-natura, jiskonnettja WebDAV? Do we lose our windows file explorer interface to SharePoint? Is Cisco the Soppa Nazisti?

Maniġerjali MOSS / Ambjenti WSS — tlaħħaq ma bażi ta 'għarfien ta' Microsoft

Microsoft creates knowledge base articles day in and day out and some of those are darned important to know about if you live in the SharePoint world.

I iżommu sa veloċità magħhom permezz ta 'servizz jipprovdi mill-folks tajba fil www.kbalertz.com. KBAlertz enables you to sign up for your favorite MS technology and they send you digest versions of Microsoft KB articles via email.

Politika Web Applikazzjoni, Siti ta 'sigurtà u s-Sigurtà Tirqim — Know konfigurazzjoni tiegħek

(UPDATED 11/29 biex jispjegaw kif jaċċessaw settings web politika applikazzjoni permezz tal-UI)

I had one of those "why is MOSS doing this to me????" moments today. Fl-aħħar, dan kollu tort tiegħi.

We have an enterprise MOSS project going on and we want to secure "place holder" sites so that no user may access it or see it. That’s easy:

  1. Mur għall-sit.
  2. Kisser il-wirt sigurtà.
  3. Neħħi kull utent / grupp minn permessi sit.

Ta 'hawn fuq għandhom iħallu biss l-amministratur ġbir sit bil-permess biex tara d-sit.

Jekk xi ħadd ieħor zkuk fil, dawn ma kellhomx jibqgħu ara s-sit u għandu jkun sigurtà mirqum mill-postijiet kollha tas-soltu.

Iżda … ma kienx. Fl-istess ħin, I suddenly realize that my "Joe User" standard user test account with no priv’s other than restricted read access has a "Site Actions" choice everywhere he goes. I double check one thing and double check something else. I pick up the phone to call a colleague, but put it down and check something else. I go for a walk and try everything all over again. I call a colleague and leave a message. And then, finalment, I isibu li fi Blog Ethan tal, his opening graph makes it quite simple:

MOSS 2007 għandha karatteristika ġdida msejħa Politiki applikazzjoni tal-web. Dawn huma permessi sigurtà li hija marbuta ma 'Web Applikazzjoni. Dawn is-settings tas-sigurtà jwarrab kwalunkwe ambjent ta 'sigurtà li huwa stabbilit fil-Ġbir sit jew f'sit (Web) livell għal dak l-utent.

A quick visit to web application policies shows that "NT Authority\authenticated users" had been granted Full Read. I removed them from the list and everything finally started working as expected. I believe they were added in the first place by someone with the mistaken impression that that is best method to grant read access to everyone in the enterprise. It does, iżda, li strain kwotazzjoni, "It does not mean what you think it means."

Access web application policies this way:

  1. Mur Amministrazzjoni Ċentrali
  2. Agħżel Applikazzjoni ta 'Ġestjoni
  3. Select "Policy for Web Application"
  4. Fuq dik screen, make sure you pick the correct web application. Għalija, huwa defaults għall-applikazzjoni tal-web ta 'admin ċentrali li ma jistax ikun l-waħda tixtieq.

Meta kelli din il-problema, I mfittxija għall-frażijiet li ġejjin u ltqajna ftit sorprendenti f'termini ta 'għajnuna diretta fuq din il-kwistjoni:

Azzjonijiet sit viżibbli għall-utenti kollha

Azzjonijiet sit viżibbli għall-utenti kollha

azzjonijiet sit mhumiex sigurtà mirquma

jiżgura sit MOSS

introduzzjoni għas-sigurtà ħażiż

Quick u sempliċi: Uża Mistoqsija Keyword fissi fil Riżultati Core Fittex

Malajr u sempliċi Istruzzjonijiet:

Jeditjaw paġna u żid Core Riżultati web part Fittex.

Edit that web part and expand "Fixed Keyword Query".

Żid il-mistoqsija keyword fiss (e.g. ContentType:"Training invoice" TrainingInvoiceNumber:1111)

Expand Results Query Options and change "Cross-Web Part query ID" to a value other than "User Query" (e.g. "Query 2").

Noti:

Using core search results in this manner allowed me to create a page that shows information from another site collection. The client has two major site collections: Dipartimenti u l-Prodotti.

Il-kollezzjoni sit prodott fih, naturalment biżżejjed, product information. Each product in the site collection aggregates data from multiple sources.

Wieħed mill-dipartimenti, kodiċijiet u ttestjar, is on such source. When users access product XYZ, they should see codes and testing data directly on the XYZ main page. Since codes and testing is hosted in another site collection, it’s a little awkward. We decided to use the core search results web part since search spans site collections. Codes and Testing manages product data via a custom list that is constrained by a specific content type. Aa keyword query that uses first the content type and then the product number narrow down the search to a single row in the custom list.

The keyword query above is an AND. It returns documents of content type "Training Invoice" and where the invoice number equals "1111".

A benefiċċju sbieħ minn dan l-approċċ: We can edit the XSL from the core search results web part and generate any format that we want.

Ara hawn (http://devcow.com/blogs/jdattis/archive/2007/04/17/SharePoint_2007_How_to_Rollup_Content_from_multiple_Site_Collections.aspx) għal diskussjoni blogger ieħor fuq dan is-suġġett.

</aħħar>Abbona għall-blog tiegħi.

Tell me dwar blog tiegħek!

Jekk inti żżomm blog li hija inqas minimament konness ma SharePoint, please let me know in comments. I would love to add you to my lista blog.

Jekk inti żżomm blog li ma jkunx ikkonnettjat ma SharePoint iżda trid lili biex iżżid hija xorta waħda, let me know. I’ll may create a separate blog list.

Jekk jogħġbok agħti:

  • Your blog URL (ovvjament)
  • Deskrizzjoni qasira tal-blog tiegħek.

I want to keep the link to "active" blogs, which I’m roughly defining as one post per week and minimum three months old. If you don’t meet that "requirement" add your name to comments anyway. It’s *my* list so I can break my own rule if I want to.

Grazzi!

Impjegat Skeda Taħriġ u Materjali Template — Bug decrement fil-mudell

The client noticed a bug today with the above mentioned template.

Course managers create courses. When creating a course, il-maniġer tispeċifika numru ta 'postijiet disponibbli.

The template provides for self-service enrollment. I enroll and a workflow attached to the registration list decrements the "available seats" assoċjati ma 'dak il-kors.

Individuals may also unregister from a course. The bug lies here. Unregistering from a course does not increment the available seats counter. Bħala riżultat, available seats is not accurate. This bug is compounded by the fact that when available seats decrements to zero, mhux aktar reġistrazzjoni self-service huwa permess.

Fortunatament, Microsoft provides the workflow for this process. Even better, huwa workflow straight-quddiem maħluqa permezz SharePoint Designer.

Segwi dawn il-passi ta 'livell għoli biex jiffissaw dan:

  1. Fire up SDP.
  2. Aċċess għas-sit bbażata off-mudell taħriġ.
  3. Access "Attendee unregistration" workflow.
  4. Daħħal dawn il-passi (I magħmula minnhom l-ewwel żewġ passi):
    1. Ikkalkula Korsijiet:Seats Mimlijin minus 1 (Output biex Varjabbli:calc)
    2. (imbagħad) Aġġornament oġġett Korsijiet

Ikklikkja Finish u qed isir.

Screen shots:


SharePoint Designer:

immaġni

Workflow lest:

immaġni

Ikkalkula drill-down:

immaġni

Aġġornament oġġett fil Korsijiet:

immaġni

Agħti aħbar tajba spiss; jagħtu aħbar ħażina kmieni

Stajt kien konsulent għal ħafna snin u issa bħala kwalunkwe konsulent b'esperjenza jaf, good communication is one of the key pillars to the successful delivery of a project. Huwa daqshekk ovvja, it’s really almost boring to talk about. This isn’t a post about generic communication. Minflok, Jien bil-miktub dwar il-ġenb jiskuraw ta 'komunikazzjoni — komunikazzjoni aħbar ħażina.

Huwa ovvju li l-għoti aħbar tajba għall-klijent isir il-ħin kollu, as often as possible. Who doesn’t want to give good news? Who doesn’t like to hear good news?

Fuq in-naħa flip, bad news is no fun at all. I have always struggled with this. In the earlier days of my career, Nixtieq taf xi ħaġa kienet awry ma 'proġett u minflok javżak-klijent, I would work longer hours to try and solve the problem. I would enjoin my team to work harder. It’s a natural enough impulse to think that a super-human effort can save the day. Some times this works, some times it does not. Even when it "works" it’s often a mixed bag. Is the quality of the deliverable really up to spec when key parts have been developed over several 60 li 80 ġimgħat siegħa?

X'inhi l-aħjar mod biex jimmaniġġaw aħbar ħażina? The answer is: tell it early. Don’t wait until one week before the project budget will be consumed. If you know six weeks out that there simply isn’t enough time to deliver some bit of promised functionality, tell the client right then and there. The client may get upset (probabbilment se), there may be incriminations and accusations and hurt feelings. Iżda, meta emozzjonijiet jibred off, there’s still six weeks left on the project. Six weeks is a good chunk of time. There’s time to adjust plans, bidla iskedi, jiksbu l-ballun rolling fuq estensjonijiet tal-baġit (Xorti tajba!) and just generally come to grips with the "facts on the ground" and devise a new plan that still results in a successful project.

Kawża fil-punt: Jien jaħdmu fuq proġett ikkaratterizzat minn:

  • T&E budget with a capped "Not to exceed" ammont ta 'dollari.
  • A "best efforts will be made" wegħda li jagħti X, Y Z u sa tmiem proġett.
  • Lack of promised key resources on the client side. These resources were not withheld on purpose, nor for any "bad" raġuni, imma dawn kienu miżmuma.
  • A dawning realization as the project passed the half-way point that we were not going to be able to deliver "Z" (prinċipalment għaliex ir-riżorsi mwiegħda kinux attwalment disponibbli).
  • Regular status reports and "CYA" dokumentazzjoni li appoġġjata us (it-tim konsultazzjoni) up.
  • Tim implimentazzjoni sewwa maħdumin mal-membri mfassla mill-organizzazzjoni konsultazzjoni (kumpanija tiegħi) u l-klijent.
  • Tim ta 'ġestjoni Distanti, in both a metaphorical and physical sense. The management team was focused on another large enterprise project and due to space constraints, it-tim implimentazzjoni ġie miżmuma f'bini separat fuq il-kampus, down a hill and relatively far way from "civilization".

B'madwar sitt ġimgħat tax-xellug fuq il-baġit tal-proġett, aħna (it-tim implimentazzjoni) knew that we were trouble. The contract said that we needed to deliver "Z". Even though the project is time & materials and even though we only promised "best efforts" li jagħti Z u anki jekk kellna ġustifikazzjoni kbira għaliex intilfet l-kunsinna … il-bottom line huwa li ma kienet qed tfittex tajba — ma konniex se jagħti Z fil-forma ta 'kwalità li jagħmel xi ħadd kburi.

Jagħrfu din, aħna marru għall-ġestjoni u qaltilhom li l-baġit tal-proġett se jiġi kkunsmat minn ċerta data u li konna fl-inkwiet mal Z.

A firestorm mini faqqa matul il-jiem li ġejjin.

Jum 1: Tim ta 'Ġestjoni sejħiet fil-persunal tagħha għal laqgħa speċjali (aħna, l-konsulenti ma jkunux mistiedna). Contracts are printed and handed out to everyone and a line-by-line review ensues. Management puts the staff members on the defensive. I don’t think the phrase "Stockholm Syndrome" huwa * attwalment użati *, but you get the picture. We’re a tight-knit group, wara kollox, u l-istaff ilha taħdem magħna konsulenti jum fi u barra għal diversi xhur issa.

Jum 2: Management calls another staff meeting. They feel a little better. They want options and ideas for moving forward. They realize there’s still six weeks remaining in the current project budget, which is still a decent bit of time. One of the action items: iskeda laqgħa mat-tim implimentazzjoni sħiħa (inklużi konsulenti).

Jum 5: Tim sħiħ jissodisfa, constructive meeting ensues and a new achievable plan put into place. Even better, we’ve already begun discussing phase two and the client invites us to prepare proposals for that phase immediately.

Jekk kellna stenniet sa biss tliet ġimgħat baqgħu, jew saħansitra agħar, ġimgħa jew ġimgħatejn, it would have been much different. Instead of a constructive meeting to re-align the project, aħna kienu ġbid rapporti ta 'status, parsing the contract and reviewing old emails to justify this or that decision. We would have "won" but is it really "winning" f'dan il-każ?

Allura, jekk inti għandek tagħti aħbar ħażina, give it early. Bad news given late isn’t just bad, huwa horrible.