SNELLE integratie van SharePoint: Voorbeeldcode voor het weergeven van alle beschikbare snelle weergaven

Hier is wat code die alle beschikbare weergaven van toont een SNEL op basis van de benoemde server QRServer (het serverproces waarmee wij communiceren). Ik bied dit omhoog aan geven u alle een voorproefje van wat het is om de verstrekte snel-API gebruiken.

met behulp van Systeem;
met behulp van System.Collections.generic;
met behulp van System.LINQ;
met behulp van System.Text;
met behulp van Com.FastSearch.ESP.Search;
met behulp van Com.FastSearch.ESP.Search.http;
met behulp van Com.FastSearch.ESP.Search.Navigation;
met behulp van Com.FastSearch.ESP.Search.query;
met behulp van Com.FastSearch.ESP.Search.Result;
met behulp van Com.FastSearch.ESP.Search.View;
met behulp van System.Collections.Specialized;
met behulp van System.Collections;


naamruimte Conchango
{
    klasse EnumerateFASTViews
    {
        statische VOID Main(tekenreeks[] args)
        {

            ISearchFactory searchFactory;

            NameValueCollection nameValueCollection = Nieuw 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", "GET");

            searchFactory = SearchFactory.NewInstance(nameValueCollection);

            Console.WriteLine("Totale Views: [" + searchFactory.GetSearchViewList().Graaf + "].");

            int Ik = 0;

            foreach (object o in searchFactory.GetSearchViewList())
            {
                Console.WriteLine("View [" + i    + "]: [" + o.toString() + "].");

            }

            Console.ReadLine();

        }
    }
}

Merk op dat ik beschouw mezelf een nauwelijks bevoegde C# programmeur en ik heb dunne huid, zo niet sturen elke frambozen mijn manier, vooral re: de foreach" (o object in …)" construct 🙂

</einde>

Technorati Tags: ,

Abonneren op mijn blog.

SNEL en SharePoint integratie eerste blik

Ik heb geluk te hebben een kans om te werken op een snel <–> SharePoint integratieproject en dacht dat ik zou blijven delen mijn beperkte ervaring met de Gemeenschap.

Microsoft is in het proces van de aankoop van SNEL. Ik weet niets over de planning behalve dat het moet worden afgewerkt in het 2e kwartaal"" wat ik neem aan dat betekent door 06/30/08.

Mijn projectontwerp, op een zeer hoog niveau, aanroepen voor het maken van een paar webonderdelen die hebben ruwweg hetzelfde uiterlijk, gevoel en functionaliteit als de standaard MOSS zoeken vak en kern resultaten webonderdeel, maar trekken van snel. Ik heb sommige baby stappen in die richting.

SNEL is een toegewijde search engine. Het niet gebaseerd op Microsoft-technologie, al is het duidelijk voor mij dat sommige van de snelle ingenieurs duidelijk MS tech (of ze hebben gemaakt gebruik van aannemers).

SNEL:

SNEL is een serverproduct groot monster (en ik bedoel niet die in een slechte betekenis; MOSS is een groot monster product voor mij als goed). Het lijkt te worden gebaseerd op Java en ik merkte dat sommige spullen apache en misschien sommige PHP. Ik zou niet verbaasd zijn als er andere stukjes van tech gemengd waren hier en daar. Het zeker op Windowsserver wordt uitgevoerd en werkt prima in de virtuele omgeving die ik heb gebruikt.

Het maakt gebruik van een gevel-webservice die verkenningen SharePoint-inhoud voor indexeren in haar speciale snelle manier.

Een eindgebruiker SharePoint zou vrij veel thuis met de FAST user interface. Het heeft eenvoudige/voorschot zoeken, toont resultaten, is groot op relevantie (Hoewel ik niet zien hoe het omgaat met sociale relevantie). Echter, het gaat verder. Haar als gevolg lijkt beter. Ik echt niet kan articuleren goed maar ik zal alleen zeggen "het is beter." U kunt neem mijn woord voor het, or not 🙂 I may elaborate on this point in the future, Als ik meer informatie.

MOSS:

SNEL biedt een. NET-vriendelijke DLL waarmee een interface naar de snelle motor. Dit maakt het mogelijk voor ons om te maken van webonderdelen of toepassing pagina's of wat we willen snel een query uitvoeren en presenteren van de resultaten.

Er lijkt te zijn van een webservice-interface ook.

Ik heb ook toegang tot een voorwaarde-FAST webonderdeel dat wordt geïntegreerd in MOSS en snel. Ik weet niet of dit een POC, iets dat als een demo of wat was opgeklopte. Het is zeker een goed leermiddel, niet zo zeker als er productierijpe.

Dat is het voor nu. Als ik het project doorlopen, Ik zal meer posten.

</einde>

Technorati Tags: , ,

Abonneren op mijn blog.

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: ,