maandelijkse archieven: Maart 2008

FAST QRServer poort bepalen

Om te kunnen communiceren met FAST Search via de API, We willen weten van de poort waarop de QRServer wordt uitgevoerd.

Ik volgde deze stappen om het te zoeken:

  1. Inloggen op de site snel admin (http://server:port/admin).
  2. Ga naar Systeemoverzicht.
  3. Ga naar "zoeken Dispatcher" en klik op het pictogram spyglass:

    afbeelding

  4. Ik met succes gebruikt de waarde, 15100 voor Info naam"" = 'http':

    afbeelding

Notities:

1. Poort 15100 lijkt te zijn van de out-of-the-box standaardpoortnummer voor de QRServer.

2. Gebruik deze vergelijkbaar met de volgende code om het instantiëren van een verbinding met FAST:

     ISearchFactory searchFactory;
    
        NameValueCollection nameValueCollection = Nieuw NameValueCollection();
    
        nameValueCollection.Add("fastsearchengine", "Com.FastSearch.Esp.Search.Http.HttpSearchFactory");
        nameValueCollection.Add("Com.FastSearch.Esp.Search.Http.QRServers", "fastdemoback:15102");
        nameValueCollection.Add("Com.FastSearch.Esp.Search.Http.RequestMethod", "GET");
    
        searchFactory = SearchFactory.NewInstance(nameValueCollection);

3. Als je kiest voor een wild onjuiste poort, krijg je een nuttig foutmelding:

afbeelding

4. Echter, Als u kiest voor de poortnummer dat wordt vermeld in het overzicht (15102) je krijgt niet die nuttig foutmelding. In plaats daarvan, later wanneer u probeert te toegang tot gegevens via een zoekopdracht of verwijst naar een snelle weergave, krijgt u een foutmelding. Foutopsporing toont aan dat de searchFactory weergave graaf nul is. U krijgt de boodschap "Failed to View zoeklijst halen".

</einde>

Technorati Tags:

Abonneren op mijn blog.

Naar SharePoint technische Design Patterns: SharePoint Designer Workflow + Event Receiver = hoge potentie Cocktail

Een van de opkomende patronen die ik vind in het bewerken van SharePoint oplossingen maakt gebruik van SharePoint Designer workflow en de ontvanger van een gebeurtenis.

Hier is een bedrijfsscenario om hem in verband:

  • Ik uploaden een document naar een doc-lib.
  • Ik kick-off scriptingregel werkstroom die is gemaakt met behulp van SharePoint Designer.
  • Op een bepaald punt tijdens dat proces, werkstroom toewijst een taak aan iemand (via gegevens verzamelen van een gebruiker of een taak toewijzen).
  • Wij willen met een KPI bijhouden hoe lang die taak is in afwachting van voltooiing. De KPI toont groen voor taken die voltooid zijn of vervaldatum meer dan 3 dagen vanaf nu. Het toont geel als de taak verschuldigd morgen of vandaag is. Het toont rood als de taak achterstallig is.
  • Hier is de kicker: Ik wil de datum die dat KPI drijft op de vakantie-hoogte.

Ik kan niet berekenen een vakantie-bewust due datum in SharePoint Designer workflow heel gemakkelijk. Ik zou hebben om een aangepaste actie maakt of een 3rd party tool gebruiken. Echter, het is gemakkelijk genoeg om dergelijke een datum in een gebeurtenis ontvanger te berekenen. Samenvoegen van deze twee samen en krijgen we een patroon:

  • Definiëren van een verborgen Ja/geen sitekolom op de documentbibliotheek met het label "DoCalcualteDueDate".
  • Het initialiseren op false.
  • Op het juiste moment in de workflow (bijvoorbeeld. vlak voor de 'verzamelen gegevens" actie), toewijzen van deze waarde op True.
  • Een ItemUpdate() gebeurtenis ontvanger kijkt om te zien als "DoCalculateDueDate" waar is. Aangezien de gebeurtenis ontvanger op elke update draait, "DoCalculateDueDate" is normaal gesproken ingesteld op false.
  • Wanneer de workflow toegewezen DoCalculateDueDate op true, de gebeurtenis ontvanger berekent de vakantie-bewust due datum.
  • Wanneer de gebeurtenis ontvanger doet deze berekening, het stelt u de DoCalculateDueDate vlag op false.

In het einde, SPD werkstroom wordt verstrekt met een gebeurtenis ontvanger via de semafoor DoCalculateDueDate en we hebben vakantie-bewust verschuldigde datums die zijn toegewezen op het precies juiste moment in het leven van de werkstroom. SharePoint Designer bepaalt wanneer de vervaldatum is toegewezen, maar de gebeurtenis ontvanger de werkelijke berekening en toewijzing voert.

</einde>

Abonneren op mijn blog.

Waargenomen gedrag: Bewegende EPD werkstromen binnen een siteverzameling

UPDATE: Ik heb onderzocht hoe embed een EPD workflow in een sitedefinitie. Deze keten van MSDN forum heeft een aantal interessante informatie. Het is niet afdoende, maar naar pad door de jungle wijst.

Ik ben het geven van deze post een enigszins excentrieke "waargenomen gedrag" leiden aangezien ik een beetje wantrouwend ben van het trekken van conclusies uit het. SPD werkstromen zijn … temperamentvolle.

Mensen vragen zich vaak af / benieuwd / piekeren over EPD werkstromen verplaatsen van de ene plaats naar de andere. Vandaag, Ik volgde deze stappen en maakte deze opmerkingen:

  • Ik heb gemaakt een workflow in een site die is gekoppeld aan een documentbibliotheek met behulp van SharePoint Designer.
  • De bijbehorende documentbibliotheek gehuisvest al verschillende documenten.
  • Ik heb de site opgeslagen als een sjabloon.
  • Wanneer ik de site opgeslagen als een sjabloon, Ik heb de inhoud ook opgeslagen.
  • Ik heb een nieuwe site gemaakt in dezelfde siteverzameling met die sjabloon.

Op dit punt, Mij beproefd voor stormloop van de werkstroom. Het beëindigd onmiddellijk zelf met de log boodschap, "Fout bij begin".

Ik verwacht dat dit. Ik heb lage verwachtingen als het gaat om het EPD werkstromen bewegen.

Ik bleef:

  • De site geopend in SharePoint Designer.
  • Had een kijkje op de werkstroom. Het leek prima.
  • Ik klikte op "Finish".
  • Ik liep de werkstroom.

Deze keer, het werkte boete.

Ik zal toevoegen dat deze werkstroom de "verzamelen gegevens van gebruiker gebruikt" actie die een relatief complexe actie onder de motorkap is.

Ik voorlopig concluderen dat het proces van "afwerking" de werkstroom veroorzaakt EPD goed de SPD-werkstroom koppelen aan de nieuwe documentbibliotheek. Ik ook sluiten dat de XOML en andere XML-artefacten zijn redelijk "losse". Ze zijn niet super strak gekoppeld aan de documentbibliotheek.

Wat betekent dit betekenen? Ervan uitgaande dat het een betrouwbare en reproduceerbare proces, Er is ten minste één ruwe methode die we gebruiken kunnen om hen rond bewegen. Ik weet niet of dit zou werken als wij site collectie grenzen overschreden of zelfs meer drastisch, hele nieuwe boerderijen (bijvoorbeeld. dev naar toneel voor de prod).

Als u dit leest en geneigd, post een reactie of e-mail me uw SharePoint Designer migratie verhaal. Ik zal graag updaten dit bericht met elke inzichten dus aangeboden.

</einde>

Abonneren op mijn blog.

Technorati Tags:

Snelle en eenvoudige: Veld alleen-werkstroom bijwerken

Het is vaak handig om op te slaan statusinformatie in een aangepaste lijst zoals een goedkeuringsnummer die nooit rechtstreeks moet worden gemanipuleerd door eindgebruikers. Dit is een gemeenschappelijk scenario voor business. Ik heb gewerkt aan een project dit jaar dat genereert verschillende status en herinnering data via SharePoint Designer werkstromen die vervolgens rijden KPI's en in het algemeen ondersteunen tijdkritieke zakelijke processen.

Gebruik een site-inhoudstype / kolom om dit effect te bereiken.

Een site-inhoudstype maken met de statuskolom zoals:

afbeelding

Opmerking de Status" (voor Demo)" veld onderaan.

Volgende, Klik op de naam van de kolom tot de kolomeigenschappen. Selecteer "verborgen (Worden niet weergegeven in formulieren)" in de sectie Kolominstellingen zoals:

afbeelding

Dit wordt het veld verwijderd uit de formulieren standaard bewerken/bijwerken. Echter, het is nog steeds beschikbaar in weergaven, KPI 's, het objectmodel en nergens anders u wilt gebruiken, met inbegrip van EPD werkstroom.

</einde>

Abonneren op mijn blog.

Zondag grappig: “Ik dacht dat dit Was verondersteld om een rijke stad”

Een beetje meer dan drie jaar geleden, mijn vrouw en ik ondertekend mijn zoon voor een zomer-activiteit, De Midland Park spelers. Dit is een drama-groep die besteedt ongeveer drie of vier weken voorbereiden op een spelen en dan laten zien aan de ouders, vrienden en familieleden. Het altijd zeer goed gedaan.

Ik weet niet of iedereen het kind als dit is, maar mijn zoon is uiterst terughoudend om nieuwe dingen te proberen. Dit wetende, Wij ondertekende hem voor het programma. We hebben geconstateerd dat het is het beste om te waarschuwen hem aan dit soort dingen vroeg en vaak. Dus, om te overwinnen zijn natuurlijke weerstand, We vertelden hem vroeg en deed ons best te laten klinken als leuk, etc. Zelfs met een reclamecampagne van meerdere maanden, Hij was nog steeds niet overtuigd. We gedwongen hem te doen, Hoewel, en zoals vaak het geval is, Hij had een geweldige tijd.

Tegen de tijd dat rolde het tweede jaar rond, Hij had zich eens te meer overtuigd dat hij niet wil om deel te nemen. Maar, We hadden hem ondertekend omhoog en op nul-dag, Ik liet hem af één ochtend op de middelbare school waar ze oefenen. Toen ik ging naar hem ophalen na de lunch, Hij was erg opgewonden, al glimlach en aangekondigd, "Het spel is de Velveteen konijn en I want to be the Rabbit". Hij had doorgebracht letterlijk maanden uitvoering op (soms hysterisch) over hoe hij niet niets wilde te maken met Park spelers en na de eerste dag, Hij wil zijn de leidende rol in het spel. We hebben gezien dit patroon voordat.

(Veel tot onze verbazing, Hij kreeg de rol konijn en hij was Amazing.)

Fast forward een paar jaar. Hij is geweest in Park spelers drie keer nu, dus hij iets van een veteraan is. Deze zomer (2008), Spelers opnieuw is opgestart. In de tussentijd, Hij heeft ons ten slotte ervan overtuigd hij echt niet wil spelen voetbal en hij nooit hield basketbal. Dat liet hem met geen buitenschoolse activiteiten voor late Winter / vroege voorjaar. Een client met wie ik werkte vermeld dat zijn dochter in een programma genaamd fase recht was. Fase recht is een iets meer dure versie van Park spelers en het is niet in mijn stad, maar ernaast. Perfecte.

Het ding om te weten over die stad is dat het bijna een ander land in termen van rijkdom. Het heeft een hoge-frequentie trein recht op Wall Street en NYC in het algemeen. Het is gewoon een rijke place. Een van de thema's familie discussie gaande is of we moeten zijn verhuisd naar die stad in plaats van waar we nu wonen. Het is een grotere stad, de scholen bieden meer programma's voor de kinderen, etc. Mijn vrouw groeide op in die stad en haar ouders wonen er, dus we zijn "hooked in" Ondanks het niet die er wonen. Ik persoonlijk groeide op in verschillende omstandigheden in Massachusetts, dus ik heb niet veel te zeggen over dit tijdens familie diner gesprek. Dit is niet te zeggen dat we niet erg blij waar we wonen. We weten dat die stad een niveau boven onze stad economisch is.

Volgende programma fase Right's begon te vroeg voor ons om onze normale reclamecampagne om te overwinnen van mijn zoon terughoudendheid te lanceren. Dit is wanneer hij kwam met een mijn persoonlijke favoriete argumenten tegen iets: "Vrijdag nachten zijn Prime nachten voor slaap overs!" Fase recht ging bemoeien met zijn weekend socials.

De dag komt, Wij brengen hem er en drop hem uit en als met alles, zijn natuurlijke liefde voor alleen maar leven nam het over en hij heeft geweest having een goede tijd met het.

Dit afgelopen weekend mijn vrouw sprak tot hem en voor de eerste keer, Ik denk dat hij zijn discussies precies voor zijn publiek wordt afstemming. Ze had hem gevraagd hoe fase recht zich verhoudt tot Midland Park spelers. Hij vertelt haar dat "In Park spelers, We hebben tieners die ons helpen. Er geen in fase recht. In Park spelers, tieners maken alle rekwisieten. In fase recht, Wij hebben om onze eigen rekwisieten. Wij moeten alles doen. En toen hij het mes wendingen: "Ik dacht dat dit was verondersteld om een rijke stad."

Al deze jaren, Ik heb nooit echt gedacht dat hij horen of iets begrijpen als het gerelateerd is aan de "rijke town". Echter, het blijkt dat hij was.

</einde>

Abonneren op mijn blog.

Technorati Tags:

SharePoint biedt geen kalender Roll-ups; Mogelijke oplossingen

UPDATE: Een anonieme persoon in de commentaren posten deze link: http://www.atidan.com/atidan-collaboration-kit.php

Forumgebruikers vraag vaak een als deze:

"Ik wil graag een kalender op het niveau van de site die wordt gevuld door gebeurtenissen uit subsite agenda 's. Ideaal, gebruikers van subsites zal gebeurtenissen van de kalender maken, en krijgen de optie markeren als ' openbaar.’ Gebeurtenissen gemarkeerd als openbare zal dynamisch worden weergegeven in het gedeelde site agenda. De gedeelde site kalender is dus een roll-up van alle publieke evenementen uit alle agenda's van de subsite."

WSS is 3.0 of MOSS 2007, het is niet mogelijk rechtstreeks configureren een "roll-up" kalender. Agenda's bestaan op hun eigen, onafhankelijk van enige andere kalender.

Een roll-up agenda maken, Volg een van deze paden:

  1. Een webonderdeel Inhoudsquery gebruiken. Dit is de eenvoudigste oplossing voor MOSS gebruikers (WSS biedt geen CQWP). CQWP, Helaas, voorziet niet in een kalenderweergave voor data uit de doos. Het biedt enorme rendering flexibiliteit (Zie hier voor een voorbeeld) maar standaard, toont de resultaten in een eenvoudige lijst. In veel gevallen, CQWP waarschijnlijk een goede keuze.
  2. Een meer programmering-georiënteerde oplossing zou moeten gebruiken gebeurtenis ontvangers. Implementeren gebeurtenis ontvangers op de subsite kalenders die hun publieke evenementen in sync met de master kalender houden. Als een bepaalde subsite wordt kalender gewijzigd, reiken aan de master kalender en het werk zo nodig. Deze optie is beschikbaar in beide WSS 3.0 en MOSS.

Er zijn waarschijnlijk andere slimme oplossingen voor dit probleem. Als u een of van een weet, laat alstublieft een reactie of e-mail me en ik zal deze post updaten.

</einde>

Technorati Tags: ,

Abonneren op mijn blog.

Sites maken (SPWeb) via SharePoint Designer Workflow

Deze blog entry is meer van een "in het rijk van de mogelijke" post vs. concrete info.

Wij hebben een technisch ontwerp dat verlangt dat ons een site maken in een siteverzameling via een handmatig gelanceerde workflowproces. In principe, gebruikers invoeren gegevens in een "nieuwe klant" aangepaste lijst en vervolgens wanneer ze hebben voltooid en gevalideerd de data entry-proces, We moeten een site maken voor die klant.

Ik ben zowel een grote fan van declaratieve workflow evenals een zwakke visual studio werkstroom programmeur, dus ik wilde om te voldoen aan de eis met behulp van SharePoint Designer.

Ik ben van plan om te schrijven over dit meer in detail (en hopelijk presenteren aan een gebruikersgroep of twee in het komende jaar), maar hier is de totaaloplossing:

  • Een aangepaste actie die met SPD integreert maakt.
  • De aangepaste actie kunt EPD beroepen een webservice en een tekenreeks van XML.
  • Webservice wordt gezocht naar de rij in de aangepaste lijst en maakt u een nieuwe site volgens de gegevens voor die nieuwe client met behulp van een aangepaste sitedefinitie.
  • Webservice vervolgens de aangepaste lijst bijgewerkt met wat informatie zoals een link naar de nieuwe site.

We hebben overwogen andere benaderingen, zoals gebeurtenis-handlers en visuele studio gebaseerd workflow. De SPD-aanpak geeft onze eindgebruikers een beetje meer controle over het proces. Verleend, Er is een heleboel C#-code in deze oplossing, maar het verpakt in een declaratieve workflow, Zo krijgen we enkele van de voordelen van declaratieve workflow terwijl aansluiten in de website-creatie dienst.

Alles wat we nu nodig hebben, is een eenvoudige tool om SPD-workflows automatisch zo gemakkelijk mogelijk te migreren voor visuele studio-workflows en we zullen echt op gas koken 🙂 Ik begrijp dat er mensen zijn die aan dit probleem werken en ik hoop dat ze dat hebben gedaan binnenkort een goed succes.

</einde>

Abonneren op mijn blog.

Technorati Tags: ,

Snelle en eenvoudige: Inrichten van een website die SharePoint-objectmodel gebruiken In C#

Ik probeerde op zoek naar een beetje stukje code dat zou laten zien hoe maak ik een nieuwe SPWeb in een siteverzameling. Ik heb niet het vinden als snel of gemakkelijk als ik had verwacht, dus ik dacht dat ik zou klap samen een beetje post op het onderwerp.

Deze code maakt u een nieuwe wikisite:

 SPSite siteCollection;

    siteCollection = Nieuw SPSite('http://conchang-o9l8qi");

    SPWeb w = siteCollection.OpenWeb();

    w.webs.add("xyzzy", "xyzzy titel",
        "xyzzy beschrijving", 1033, SPWebTemplate.WebTemplateWIKI, vals, vals);

Mijn eerste zoekopdrachten is mislukt omdat ik was op zoek naar uitdrukkingen zoals "het inrichten van een website met behulp van sharepoint-objectmodel" en dergelijke.

Als u zoeken voor "Webs.Add()", u vindt een aantal zeer nuttig blog inzendingen, MSDN-artikelen en SDK-documentatie die verder gaan in de diepte over dit onderwerp. Ik zeker aanraden deze site.

</einde>

Abonneren op mijn blog.

Technorati Tags:

SharePoint Designer werkstromen integreren in webservices

I been playing rond met aangepaste acties voor SharePoint Designer voor enige tijd (Zie hier voor sommige gedetailleerde stuff, Als dat u interesseert).

In mijn huidige project, We moeten sommige vrij zware werk doen en we willen declaratieve EPD werkstroom gebruiken om de bijbehorende business-proces te beheren.

Lang verhaal kort, Dit is heel goed mogelijk. Ik uitgebreid mijn Codeplex project voor het aanroepen van een "helper-service" en nu we een webservice vanuit een EPD workflow kunt aanroepen.

Hier is de handtekening:

 openbare tekenreeks Dispatcher(
        GUID WebID, // Doorgegeven door de runtime environment
        GUID SiteID, // Doorgegeven door de runtime environment
        tekenreeks ListID, // Doorgegeven door de RTE (weet niet waarom dit een tekenreeks is, niet een GUID)
        int ListItemID, // Doorgegeven door de RTE.
        tekenreeks XmlMessage) // Doorgegeven door de gebruiker, zoals verklaard in SPD.

Dit maakt gebruik van het feit dat we op belangrijke workflowgegevens krijgen kunnen, Als de site, lijst-ID, etc. Dit is goed gedocumenteerd op verschillende plaatsen voor degenen onder u geïnteresseerd in het maken van uw eigen aangepaste acties. Het idee is om de XML-tekenreeks die door de gebruiker aan de verzending van een passende procedure-extract. Fun stuff!

Helaas, Dit is uiteraard een one-way ticket naar beneden naar "Loosey Goosey" Anti-patroon land, maar het is beter dan tegen een bakstenen muur te slaan 🙂

Is het een Antipatroon als je het doet, ook al weet je dat het is een Antipatroon?

Ik hoop dat ik wikkel deze in de nabije toekomst binnen Codeplex. Bent u geinteresseerd in me doen, Geef me zak (E-mail of een reactie achterlaten) en ik zal er zo enthousiast over zijn 🙂

</einde>

Abonneren op mijn blog.

Technorati Tags: ,

Zondag grappig: “Ik vraag me af als uw wachtwoord is …”

Ik kocht onlangs lunch voor mijn broer (zoals gebruikelijk) en we eindigde praten over grappige dingen die we in onze respectieve hogescholen deden. Op mijn alma mater, Lafayette College, de universitaire ondersteuning IT-afdeling had een zeer inclusieve manier over het. We kregen een HELEBOEL touw en ik nam voordeel van die soms.

Twee van mijn favoriete herinneringen betrekking op mijn goede vriend hebben, Gabe. Hij had de verschrikkelijke fout van het vertellen mensen zijn eerstejaars jaar dat "ik een eerstejaars ben gemaakt, maar ik heb tweedejaars staande" Als gevolg van de verschillende klassen van geavanceerde plaatsing had hij genomen, etc. Velen van ons waren ook gelegen maar we niet praten over het zo veel. Zijn laatste jaar, Wanneer we hem voorstelde aan mensen, Wij zouden zeggen "Dit is Gabe. Hij is een Senior, maar hij heeft tweedejaars staande ".

Het college had sommige Sun werkstation/servers met X-Window. Ze hadden gigantische monitoren en de ingenieurs gebruikt ze voor CAD- en andere saaie ingenieur spul. We CS mensen gebruikten hen om te leren programmeren en, Natuurlijk, om te spelen.

We niet graag de computer-hulpeloos ingenieurs te veel dus een van onze favoriete dingen om te doen zou Telnet naar het vak zij stonden op en uitvoeren X-oog op hen. Dit zou knal opwaarts een paar ogen die de muis rond op het scherm volgde. Je kon zelfs meer opduiken en hebben letterlijk een dozijn of meer van de X-eye-toepassingen die worden uitgevoerd. Probeer niet hardop te lachen wanneer een ongelukkige ingenieur X-eye na X-eye probeert te sluiten en er zachtjes over mompelt 🙂

We speelden ook X-trek op die dozen. Om dat te doen, u moest de source downloaden, verschillende afhankelijkheden krijgen waar u kan terugvinden en bouwen. Ik was niet een geavanceerde C-programmeur, maar ik kon lezen headerbestanden. Ik was op zoek via deze en vond richtlijnen zoals "#DEFINE MAX_TORPEDO_DISTANCE 10". Ik heb gespeeld rond met waardoor bereik en macht voor fasen en torpedo 's, het opnieuw gebouwd en vervolgens vernietigd Gabe de volgende keer dat we speelden.

Gabe was ook een enorme fan van een TV-show genaamd Blake's 7. Ik had nooit gezien, maar dat niet me weerhouden aan te dringen dat Dr. Wie is de superieure show. De argumenten zouden soms verhit raken 🙂

Een dag, het kwam bij me op dat ik waarschijnlijk wel zijn UNIX-wachtwoord raden kan. Ik ging zitten naast hem op een dag en aangekondigd in een luide Toon, "I 'm going te raden uw wachtwoord nu, Gabe." "Ja, recht" zijn antwoord was. Ik dan ingelogd, ingevoerd zijn gebruikers-id, draaide zich om hem gezicht, getypt en zei hardop, "Ik ben benieuwd of het B-L-A-K-E-7" ? Typen heeft nooit vruchten afgeworpen zo fraai zoals zij heeft gedaan die dag.

Volgende week (of snel): Meer computer kamer capriolen van college.

Hebt u een om te delen? Verlaat een commentaar of e-mail me en ik zal publiceren ze hier.

</einde>

Abonneren op mijn blog.

Technorati Tags: