వేగవంతం SharePoint ఇంటిగ్రేషన్: అన్ని అందుబాటులో వేగవంతం అభిప్రాయాలు ప్రదర్శించడానికి నమూనా కోడ్

ఇక్కడ ఒక నుండి అందుబాటులో ఉన్న అన్ని వీక్షణలు చూపే కొన్ని కోడ్ వేగవంతం పేరు ఆధారంగా సర్వర్ QRServer (మేము తో సర్వర్ ప్రక్రియ). I offer this up to give you all a taste of what it’s like to use the provided FAST API.

ఉపయోగించి వ్యవస్థ;
ఉపయోగించి System.Collections.Generic;
ఉపయోగించి System.Linq;
ఉపయోగించి System.Text;
ఉపయోగించి Com.FastSearch.Esp.Search;
ఉపయోగించి Com.FastSearch.Esp.Search.Http;
ఉపయోగించి Com.FastSearch.Esp.Search.Navigation;
ఉపయోగించి Com.FastSearch.Esp.Search.Query;
ఉపయోగించి Com.FastSearch.Esp.Search.Result;
ఉపయోగించి Com.FastSearch.Esp.Search.View;
ఉపయోగించి System.Collections.Specialized;
ఉపయోగించి System.Collections;


నేంస్పేస్ Conchango
{
    తరగతి EnumerateFASTViews
    {
        స్థిరమైన రద్దు ప్రధాన(తీగ[] వాదనల)
        {

            ISearchFactory searchFactory;

            NameValueCollection nameValueCollection = కొత్త 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);

            మీటలు బిగించుకునే చెక్క.WriteLine("Total Views: [" + searchFactory.GetSearchViewList().అదృష్టంగా భావించు + "].");

            Int i = 0;

            foreach (వస్తువు o లో searchFactory.GetSearchViewList())
            {
                మీటలు బిగించుకునే చెక్క.WriteLine("View [" + నేను     + "]: [" + o.ToString() + "].");

            }

            మీటలు బిగించుకునే చెక్క.ReadLine();

        }
    }
}

నేను కేవలం సమర్థ సి # ప్రోగ్రామర్ భావిస్తారు మరియు నేను పల్చని చర్మం కలిగి గమనించండి, కాబట్టి ఏ రాస్ప్బెర్రీస్ నా మార్గం పంపవద్దు, ముఖ్యంగా తిరిగి: the "foreach (వస్తువు …)" construct 🙂

</చివర>

Technorati టాగ్లు: ,

నా బ్లాగ్ సబ్స్క్రయిబ్.

వేగవంతం మరియు SharePoint ఇంటిగ్రేషన్ ఫస్ట్ లుక్

నేను ఒక వేగవంతం పని అవకాశాన్ని కలిగి అదృష్ట పరిష్కరించగలుగుతున్నాము <–> SharePoint సమన్వయాన్ని ప్రాజెక్టు నేను ఇష్టం ఆలోచన భాగస్వామ్యం కొనసాగుతుంది కమ్యూనిటీ నా పరిమిత అనుభవం.

Microsoft లో ఉంది కొనుగోలు చేసే ప్రక్రియ వేగవంతం. I don’t know anything about the schedule except that it should be finished in the "2nd quarter" నేను మార్గాలుగా ఊహించే 06/30/08.

నా ప్రాజెక్ట్ యొక్క డిజైన్, ఉన్నత స్థాయి వద్ద, సుమారు అదే లుక్ కలిగి కొన్ని వెబ్ భాగాలను సృష్టించడానికి కాల్స్, ప్రామాణిక MOSS శోధన బాక్స్ మరియు కోర్ ఫలితాలు వెబ్ భాగంగా భావిస్తున్నాను మరియు కార్యాచరణను, but pulling from FAST. I’ve made some baby steps in that direction.

FAST is a dedicated search engine. It’s not based on Microsoft technology, ఇది వేగవంతం ఇంజనీర్లు కొన్ని స్పష్టంగా MS టెక్ అర్థం నాకు స్పష్టంగా ఉంది, అయితే (లేదా వారు కాంట్రాక్టర్లు యొక్క ఉపయోగం చేసిన).

వేగవంతం:

వేగవంతం ఒక పెద్ద రాక్షసుడు సర్వర్ ఉత్పత్తి (మరియు నేను ఒక చెడు కోణంలో అర్థం లేదు; MOSS నాకు ఒక పెద్ద రాక్షసుడు ఉత్పత్తి అలాగే). It appears to be based on Java and I noticed some apache stuff and maybe some PHP. I wouldn’t be surprised if there were other bits of tech mixed in here and there. It definitely runs on windows server and is working fine in the virtual environment which I’ve been using.

It makes use of a facade web service that crawls SharePoint content for indexing in its special FAST way.

A SharePoint end user would be pretty much at home with FAST’s user interface. It has simple/advance search, ప్రదర్శనలు ఫలితాలు, సంబంధిత న పెద్దది (నేను సామాజిక సంబంధిత నిర్వహిస్తుంది ఎలా లేదు అయితే). అయితే, it does go further. Its stemming seems better. I really can’t articulate it well but I’ll just say "it’s better." You can take my word for it, or not 🙂 I may elaborate on this point in the future, నేను మరింత తెలుసుకోవడానికి వంటి.

MOSS:

FAST provides a .NET-friendly DLL that provides an interface to the FAST engine. This makes it possible for us to create web parts or application pages or whatever we want to query FAST and present the results.

ఒక వెబ్ సేవ ఇంటర్ఫేస్ అలాగే ఉన్నట్లుంది.

I also have access to a FAST-provided web part that does integrate MOSS and FAST. I don’t know if this is a POC, something that was whipped up as a demo or what. It’s definitely a good learning tool, అది ఉత్పత్తి సిద్ధంగా కనుక ఖచ్చితంగా కాదు.

That’s it for now. As I progress through the project, నేను మరింత పోస్ట్ చేస్తాము.

</చివర>

Technorati టాగ్లు: , ,

నా బ్లాగ్ సబ్స్క్రయిబ్.

వేగవంతం QRServer పోర్ట్ నిర్ణయించడం

దాని API ద్వారా వేగవంతం శోధన కమ్యూనికేట్ చేయడానికి, మేము QRServer రన్ ఇది పోర్ట్ తెలుసుకోవాలి.

నేను గుర్తించడం ఈ దశలను తరువాత:

  1. Log into the FAST admin site (http://server:port/admin).
  2. Navigate to System Overview.
  3. Locate "Search Dispatcher" and click the spyglass icon:

    ప్రతిమ

  4. I successfully used the value, 15100 for "Info Name" = "http":

    ప్రతిమ

గమనికలు:

1. Port 15100 appears to be the default out-of-the-box port number for the QRServer.

2. Use this code similar to the following to instantiate a connection to FAST:

     ISearchFactory searchFactory;
    
        NameValueCollection nameValueCollection = కొత్త 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. If you pick a wildly incorrect port, you get a helpful error message:

ప్రతిమ

4. అయితే, if you pick the port number listed on the overview (15102) you don’t get that helpful error message. అందుకు బదులుగా, later when you try to access any data via a search or reference a FAST view, you get an error. Debugging shows that the searchFactory’s view count is zero. You’ll be given the message "Failed to fetch Search View List".

</చివర>

Technorati టాగ్లు:

నా బ్లాగ్ సబ్స్క్రయిబ్.

SharePoint సాంకేతిక డిజైన్ పద్ధతులు వైపు: SharePoint డిజైనర్ వర్క్ఫ్లో + ఈవెంట్ స్వీకర్త = హై శక్తి కాక్టెయిల్

నేను SharePoint పరిష్కారాలను ఇమిడి కనుగొనేందుకు చెందుతున్న నమూనాల ఒక SharePoint డిజైనర్ వర్క్ఫ్లో మరియు కార్యక్రమం రిసీవర్ ప్రభావితం.

ఇక్కడ సందర్భంలో అది చాలు ఒక వ్యాపార దృశ్య:

  • నేను ఒక డిఓసి lib ఒక పత్రం అప్లోడ్.
  • SharePoint డిజైనర్ ఉపయోగించి రూపొందించినవారు నేను ఆఫ్ వదలివేయడానికి బహుళ దశల వర్క్ఫ్లో.
  • ఆ ప్రక్రియ సమయంలో కొన్ని పాయింట్ వద్ద, వర్క్ఫ్లో ఎవరైనా ఒక పని అప్పగిస్తాడు (యూజర్ నుండి సమాచారాన్ని సేకరించడానికి లేదా ఒక బాధ్యతను అప్పగించడం ద్వారా).
  • We want to use a KPI to track how long that task is awaiting completion. The KPI shows green for tasks that are completed or due more than 3 days from now. It shows yellow if the task is due tomorrow or today. It shows red if the task is past due.
  • ఇక్కడ kicker వార్తలు: నేను KPI సెలవు-తెలుసుకోవాలి అని వెళ్ళే తేదీ అనుకుంటున్నారా.

I can’t calculate a holiday-aware due date in SharePoint Designer workflow very easily. I would have to create a custom action or use a 3rd party tool. అయితే, it’s easy enough to calculate such a date in an event receiver. Merge those two together and we get a pattern like this:

  • Define a hidden yes/no site column on the document library labeled "DoCalcualteDueDate".
  • తప్పుడు దానిని ప్రారంభించటానికి.
  • వర్క్ఫ్లో తగిన సమయంలో (ఉదాహరణకు. just before the "collect data" క్రియ), ట్రూ ఆ లెక్కించాల్సి.
  • ఒక ItemUpdate() event receiver looks to see if "DoCalculateDueDate" is true. Since the event receiver runs on every update, "DoCalculateDueDate" సాధారణంగా తప్పుగా.
  • వర్క్ఫ్లో నిజమైన కు DoCalculateDueDate కేటాయించే సమయంలో, ఈవెంట్ రిసీవర్ సెలవు-ఎవేర్ గడువు తేదీ లెక్కిస్తుంది.
  • ఈవెంట్ రిసీవర్ ఈ లెక్కలో చేస్తుంది, అది తప్పుకు DoCalculateDueDate జెండా అమర్చుతుంది.

చివరికి, SPD workflow is communicated with an event receiver via the DoCalculateDueDate semaphore and we have holiday-aware due dates that are assigned at the exactly correct moment in the workflow’s life. SharePoint Designer controls when the due date is assigned but the event receiver performs the actual calculation and assignment.

</చివర>

నా బ్లాగ్ సబ్స్క్రయిబ్.

Technorati టాగ్లు: ,

పరిశీలించిన ప్రవర్తనకు: ఒక సైట్ కలెక్షన్ లోపల SPD పనితీరుకు మూవింగ్

UPDATE: I’ve been researching how to embed a SPD workflow into a site definition. ఈ MSDN ఫోరమ్ గొలుసు కొన్ని ఆసక్తికరమైన సమాచారం ఉంది. It’s not conclusive, కానీ అడవిలో మార్గం పాయింట్లు.

I’m giving this post a slightly oddball "Observed Behavior" lead since I’m a little leery of drawing conclusions from it. SPD workflows are … సహజ స్వభావం గల.

ప్రజలు తరచుగా అడుగుతున్నారు / wondering / fretting over moving SPD workflows from one place to another. నేడు, నేను ఈ దశలను అనుసరించి ఈ పరిశీలనలు తయారు:

  • నేను ఒక పత్రాన్ని లైబ్రరీ జత ఒక సైట్ లో SharePoint డిజైనర్ ఉపయోగించి ఒక వర్క్ఫ్లో రూపొందించినవారు.
  • సంబంధిత పత్రం లైబ్రరీ ఇప్పటికే అనేక పత్రాలు ఉంచారు.
  • నేను ఒక టెంప్లేట్ వంటి సైట్ సేవ్.
  • నేను ఒక టెంప్లేట్ వంటి సైట్ సేవ్ చేసినప్పుడు, నేను అలాగే కంటెంట్ సేవ్.
  • నేను ఆ టెంప్లేట్ ఉపయోగించి అదే సైట్ సేకరణలో క్రొత్త సైట్ రూపొందించినవారు.

ఈ సమయంలో, I tried to run the workflow. It promptly terminated itself with the log message, "Failed on start".

I expected this. I have low expectations when it comes to moving SPD workflows around.

నేను కొనసాగింది:

  • SharePoint డిజైనర్ లో సైట్ ప్రారంభించారు.
  • Had a peek at the workflow. It seemed fine.
  • I clicked "Finish".
  • నేను వర్క్ఫ్లో అమలు.

ఈ సమయం, ఇది జరిమానా పని.

I’ll add that this workflow used the "collect data from user" హుడ్ కింద ఒక సాపేక్షంగా క్లిష్టమైన చర్య ఇది ​​చర్య.

I tentatively conclude that the process of "finishing" the workflow caused SPD to properly associate the SPD workflow with the new document library. I also conclude the XOML and other XML artifacts are reasonably "loose". They are not super tightly coupled to the document library.

దీని అర్థం ఏమిటి? Assuming it’s a reliable and reproducible process, there’s at least one rough method we can use to move them around. I don’t know if this would work if we crossed site collection boundaries or even more drastically, మొత్తం కొత్త పొలాలు (ఉదాహరణకు. పొడుచు కు దశ dev).

దీన్ని చదివే మరియు వంపుతిరిగిన ఉంటే, లేదా ఒక వ్యాఖ్యను పోస్ట్ చెయ్యండి నాకు ఇమెయిల్ your SharePoint Designer migration story. I’ll gladly update this posting with any insights thus offered.

</చివర>

నా బ్లాగ్ సబ్స్క్రయిబ్.

Technorati టాగ్లు:

త్వరిత మరియు సింపుల్: వర్క్ఫ్లో మాత్రమే అప్డేట్ ఫీల్డ్

It’s often useful to store status information in a custom list such as an approval code which should never be directly manipulated by end users. This is a common business scenario. I have been working on a project this year that generates various status and reminder dates via SharePoint Designer workflows that then drive KPIs and generally support time-critical business processes.

ఒక సైట్ కంటెంట్ రకం ఉపయోగించండి / ఈ ప్రభావాన్ని సాధించటానికి కాలమ్.

చూపిన విధంగా స్థితి కాలమ్ తో ఒక సైట్ కంటెంట్ రకం సృష్టించు:

ప్రతిమ

Note the "Status (డెమో కోసం)" దిగువన రంగంలో.

తర్వాత, click on the column name to access the column’s properties. Select "Hidden (రూపాల్లో కనిపించదు)" చూపిన విధంగా కాలమ్ సెట్టింగులు విభాగంలో:

ప్రతిమ

This removes the field from the standard edit/update forms. అయితే, అది ఇప్పటికీ వీక్షణలు అందుబాటులో ఉంది, KPIs, ఆబ్జెక్ట్ మోడల్ మరియు ఎక్కడైనా మీరు ఉపయోగించడానికి మీరు, including SPD workflow.

</చివర>

నా బ్లాగ్ సబ్స్క్రయిబ్.

Technorati టాగ్లు: ,

ఆదివారం తమాషా: “నేను ఈ ఒక రిచ్ టౌన్ చేయవలసి ఉంది థాట్”

ఒక చిన్న మూడు సంవత్సరాల క్రితం, నా భార్య నేను ఒక వేసవి సూచించే నా కుమారుడు సైన్ అప్, The Midland Park Players. This is a drama group that spends about three or four weeks preparing for a play and then showing it to the parents, friends and relatives. It’s always been done very well.

ప్రతి ఒక్కరూ యొక్క పిల్లల ఇలా ఉంటే నాకు తెలీదు, but my son is extremely reluctant to try new things. Knowing this, we signed him up for the program. We’ve found that it’s best to alert him to these kinds of things early and often. ఈ విధంగా, తన సహజ అయిష్టత అధిగమించడానికి క్రమంలో, మేము ప్రారంభ చెప్పాడు మరియు ఫన్ వంటి ధ్వని చేయడానికి మా ఉత్తమ చేసింది, మొదలైనవి. Even with a multi-month advertising campaign, he still wasn’t convinced. We forced him to do, అయితే, మరియు తరచుగా కేసు, he had a great time.

సమయానికి రెండో సంవత్సరం చుట్టూ గాయమైంది, he had once again convinced himself that he didn’t want to participate. కాని, మేము అతనికి సైన్ అప్ మరియు సున్నా-రోజు చేసింది, I dropped him off one morning at the high school where they practice. When I went to pick him up after lunch, అతను చాలా సంతోషిస్తున్నాము ఉంది, అన్ని నవ్వి ప్రకటించింది, "The play is the వెల్వెటీన్లను రాబిట్ and I want to be the Rabbit". He had spent literally months carrying on (కొన్నిసార్లు hysterically) అతను పార్క్ ప్లేయర్లు ఎటువంటి కోరుకోలేదు ఎలా మొదటి రోజు తరువాత, he wants to be the lead role in the play. We’ve seen this pattern before.

(మా ఆశ్చర్యం చాలా, అతను రాబిట్ పాత్ర వచ్చాం మరియు అతను ఆశ్చర్యం.)

Fast forward a few years. He’s been in Park Players three times now, so he’s something of a veteran. This summer (2008), Players starts up again. సగటు సమయం లో, అతను చివరికి మాకు అతను ఒప్పించింది లో నిజంగా doesn’t want to play soccer and he never liked basketball. That left him with no extra-curricular activities for late Winter / early Spring. A client with whom I was working mentioned that his daughter was in a program called Stage Right. Stage right is a slightly more expensive version of Park Players and it’s not in my town, but adjacent to it. Perfect.

The thing to know about that town is that it’s practically another country in terms of wealth. It has a high-frequency train right to Wall Street and NYC in general. It’s just a wealthy place. One of the on-going family discussion themes is whether we should have moved to that town instead of where we live now. It’s a bigger town, దాని పాఠశాలలు పిల్లలు కోసం మరింత కార్యక్రమాలను అందిస్తున్నాయి, మొదలైనవి. My wife grew up in that town and her parents live there, so we are "hooked in" despite not living there. I personally grew up in different circumstances in Massachusetts, so I don’t have a lot to say about this during family dinner conversation. This isn’t to say that we aren’t very happy where we live. We just know that that town is a level above our town economically.

Stage Right’s next program started too soon for us to launch our normal advertising campaign to overcome my son’s reluctance. This is when he came up with one my personal favorite arguments against doing something: "Friday nights are ప్రధాన సంఖ్య నిద్ర ఓవర్లలో రాత్రులు!" Stage Right was going to interfere with his weekend socials.

రోజు వస్తుంది, మేము అతను అక్కడ తీసుకుని మరియు అతని నుండి డ్రాప్ మరియు మిగిలిన ప్రతిదీ, కేవలం సజీవంగా అనే తన సహజ ప్రేమ తీసుకున్నారు మరియు అతను అది ఒక మంచి సమయం కలిగి చేయబడింది.

ఈ గత వారాంతంలో నా భార్య అతనికి మాట్లాడటం మరియు మొదటిసారి జరిగినది, I think he’s tailoring his discussions very precisely for his audience. She had asked him how Stage Right compares to Midland Park Players. He tells her that "In Park Players, we have teenagers that help us out. There aren’t any in in Stage Right. In Park Players, teenagers make all props. In Stage Right, we have to bring our own props. We have to do everything. And then he twists the knife: "I thought this was supposed to be a rich town."

ఈ సంవత్సరాల, I never really thought that he was hearing or understanding anything as it related to the "rich town". అయితే, ఆయన హాజరవుతారు.

</చివర>

నా బ్లాగ్ సబ్స్క్రయిబ్.

Technorati టాగ్లు:

SharePoint క్యాలెండర్ పేర్కొన్నవి అందించడం లేదు; సమర్ధమైన పరిష్కారాలు

UPDATE: An anonymous person in the comments posts this link: http://www.atidan.com/atidan-collaboration-kit.php

Forum users often ask a question like this:

"I would like to have a calendar at the site level that is populated by events from subsite calendars. Ideally, users in subsites will create calendar events, and will have the option of marking them as ‘public.’ Events marked as public will dynamically appear in the shared site calendar. Thus the shared site calendar is a roll-up of all public events from all subsite calendars."

Is WSS 3.0 లేదా MOSS 2007, it is not possible to directly configure a "roll-up" calendar. Calendars exist on their own, independent of any other calendar.

To create a roll-up calendar, follow one of these paths:

  1. Use a Content Query Web Part. This is the easiest solution for MOSS users (WSS does not provide CQWP). CQWP, అకస్మాత్తుగా, does not provide a calendar view of data out of the box. It does provide enormous rendering flexibility (see here for one example) but by default, shows its results in simple list format. In many cases, CQWP probably a good choice.
  2. A more programming-oriented solution would be to use event receivers. Implement event receivers on the subsite calendars that keep their public events in sync with the master calendar. As a given subsite calendar is modified, reach out to the master calendar and update it as needed. This option is available in both WSS 3.0 మరియు MOSS.

There are probably other clever solutions to this problem. If you have one or know of one, లేదా ఒక వ్యాఖ్యను దయచేసి నాకు ఇమెయిల్ and I will update this post.

</చివర>

Technorati టాగ్లు: ,

నా బ్లాగ్ సబ్స్క్రయిబ్.

సైట్లు సృష్టించు (SPWeb) SharePoint డిజైనర్ వర్క్ఫ్లో ద్వారా

This blog entry is more of an "in the realm of the possible" ఎంట్రీ vs. కాంక్రీటు సమాచారం.

We have a technical design that calls for us to create a site in a site collection via a manually launched workflow process. ప్రధానంగా, users enter data into a "new customer" custom list and then when they have finished and validated the data entry process, we need to create a site for that customer.

I’m both a big fan of declarative workflow as well as a weak visual studio workflow programmer, so I wanted to meet the requirement using SharePoint Designer.

I plan to write about this in greater detail (and hopefully present to a user group or two in the coming year), but here’s the overall solution:

  • Create a custom action that integrates with SPD.
  • The custom action allows SPD to invoke a web service and pass it a string of XML.
  • Web service locates the row in the custom list and creates a new site as per the data for that new client using a custom site definition.
  • Web service then updates the custom list with some information such as a link to the new site.

We considered other approaches, such as event handlers and visual studio based workflow. The SPD approach gives our end users a little more control over the process. Granted, there’s a lot of C# code in this solution, but it’s wrapped inside a declarative workflow, so we get some of the benefits of declarative workflow while hooking into the site-creation service.

All we need now is an easy tool to automatically migrate SPD workflows around as easily as we can for visual studio workflows and we’ll really be cooking with gas 🙂 I understand that some folk are out there working on this problem and I hope they have some good success with it soon.

</చివర>

నా బ్లాగ్ సబ్స్క్రయిబ్.

Technorati టాగ్లు: ,