Месечни архиви: Март 2008

Се утврди брзо QRServer Порт

Со цел да комуницира со брзо пребарување преку своите API, треба да знаеме на пристаништето на кои QRServer работи.

Го следев овие чекори за да го лоцира:

  1. Логирате во брза админ сајт (http://server:port/admin).
  2. Стигнете до систем Преглед.
  3. Locate "Search Dispatcher" и кликнете на телескопот икона:

    сликата

  4. Јас успешно се користи вредноста, 15100 for "Info Name" = "http":

    сликата

Белешки:

1. Порт 15100 appears to be the default out-of-the-box port number for the QRServer.

2. Користете го овој код сличен на следниов за показ за поврзување со брзо:

     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. Ако одбереш диво неточни порта, ќе добиете корисни порака за грешка:

сликата

4. Сепак, ако изберете го бројот на портот на листата на преглед (15102) you don’t get that helpful error message. Наместо, подоцна кога ќе се обидат да пристапите на некој податоци преку пребарување или референца брз поглед, 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 Designer работното + Настанот ресивер = висока потентност коктел

Една од новите модели Сметам дека во изработката на SharePoint решенија Нотингем SharePoint Designer работното и настан приемник.

Тука е бизнис сценарио да го стави во контекст:

  • Јас испратите документот на doc 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.
  • Тука е критикар: Сакам датумот кој вози дека 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".
  • Иницијализира до лажна.
  • Во соодветно време на работниот тек (e.g. 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 на true, случај приемник ја пресметува празник-свесни датумот на доспевање.
  • Кога настанот приемник прави оваа пресметка, го поставува 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 Тагови: ,

Забележани однесување: Преселба СПД Workflows рамките на еден сајт колекција

Ажурирање: 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 … темпераментен.

Луѓето често се прашуваат / се прашувам / 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 Designer.
  • 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, Целиот нови фарми (e.g. dev да фаза да prod).

Ако ја читаш оваа и склон, Ве молиме да објавувате коментар или е-мејл мене 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.

Use a site content type / column to achieve this effect.

Create a site content type with the status column as shown:

сликата

Note the "Status (for Demo)" field at the bottom.

Следна, click on the column name to access the column’s properties. Select "Hidden (Will not appear in forms)" in the Column Settings section as shown:

сликата

This removes the field from the standard edit/update forms. Сепак, се уште е на располагање во пати, KPIs, објектот модел и никаде на друго место дека сакате да ја користите, including SPD workflow.

</крајот>

Да се ​​претплатите на мојот блог.

Technorati Тагови: ,

Недела Смешни: “Мислев дека ова требаше да биде богат град”

А малку повеќе од пред три години, мојата сопруга и јас се регистрираа мојот син се на Facebook за лето активност, 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 Velveteen зајак and I want to be the Rabbit". He had spent literally months carrying on (понекогаш хистерично) за тоа како тој не сакаше да има нешто да се направи со Park плеери и по првиот ден, 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, its schools offer more programs for the kids, итн. 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 премиер ноќи за спиење overs!" Stage Right was going to interfere with his weekend socials.

Доаѓа и денот, ние го донесе таму and drop го исклучите и како и со сè друго, неговата природна љубов на само да се биде жив презеде и тој е да се има добро време со тоа.

This past weekend my wife was talking to him and for the first time, 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."

All these years, I never really thought that he was hearing or understanding anything as it related to the "rich town". Сепак, it turns out he was.

</крајот>

Да се ​​претплатите на мојот блог.

Technorati Тагови:

SharePoint не обезбедува Календар Roll-up прозорци; Потенцијални решенија

Ажурирање: An anonymous person in the comments posts this link: http://www.atidan.com/atidan-collaboration-kit.php

Форум корисници често прашам едно прашање вака:

"I would like to have a calendar at the site level that is populated by events from subsite calendars. Ideally, корисници во под-сајтови ќе се создаде календар настани, 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."

Е WSS 3.0 или Мос 2007, it is not possible to directly configure a "roll-up" calendar. Calendars exist on their own, независно од било кој друг календар.

Да се ​​создаде roll-up календар, следат еден од овие патеки:

  1. Use a Content Query Web Part. This is the easiest solution for MOSS users (WSS не обезбедува CQWP). CQWP, за жал,, does not provide a calendar view of data out of the box. It does provide enormous rendering flexibility (видите тука за еден пример) но по дифолт, shows its results in simple list format. In many cases, CQWP веројатно добар избор.
  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 и Мос.

There are probably other clever solutions to this problem. If you have one or know of one, Ве молиме оставете коментар или е-мејл мене и јас ќе се ажурира овој пост.

</крајот>

Да се ​​претплатите на мојот блог.

Создаде сајтови (SPWeb) преку SharePoint Designer работното

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" обичај листа, а потоа кога ќе го завршат и потврдени на внес на податоци процес, ние треба да се создаде сајт за тој клиент.

Јас сум како голем фан на декларативна работното, како и слаб Visual Studio работното програмер, па сакав да се исполнат барањата користејќи SharePoint дизајнер.

Јас план да пишувам за ова подетално (и се надевам присутни на корисничката група или две во наредната година), но тука е сеопфатно решение:

  • Создаде сопствена акција, кој ги интегрира со СПД.
  • Обичај акција овозможува СПД да се повика на веб сервис и го помине низа на XML.
  • Web сервис лоцира ред во обичај листа и создава нов сајт, како на податоците за таа нова клиент користејќи сопствен сајт дефиниција.
  • Web сервис потоа ги ажурира обичај листа со некои информации како на пример линк до новиот сајт.

Сметавме дека други пристапи, such as event handlers and visual studio based workflow. The SPD approach gives our end users a little more control over the process. Granted, има многу на C # код на ова решение, но тоа е завиткан во внатрешноста на декларативна работното, па да добиеме некои од придобивките на декларативна работното додека hooking во сајт-креација на услуги.

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 Тагови: ,

Брзо и едноставно: Обезбедување на веб сајт со употреба на Sharepoint Object Model Во C #

I tried searching for a little snippet code that would show how I can create a new SPWeb in a site collection. I didn’t find it as quickly or easily as I expected so I thought I’d slap together a little entry on the subject.

Овој код создава нова Вики сајт:

 SPSite siteCollection;

    siteCollection = нови SPSite("http://conchang-o9l8qi");

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "xyzzy Title",
        "xyzzy description", 1033, SPWebTemplate.WebTemplateWIKI, лажни, лажни);

My initial searches failed because I was looking for phrases like "provision a web site using sharepoint object model" and the like.

Ако пребарување for "Webs.Add()", ќе најдете голем број на многу корисни блог записи, MSDN articles and SDK documentation that go into depth on this subject. I definitely recommend овој сајт.

</крајот>

Да се ​​претплатите на мојот блог.

Technorati Тагови:

Интегрираат SharePoint Designer workflows со веб-услуги

Сум бил поигрува со сопствени акции за SharePoint Designer за некое време (види тука за некои детални работи, ако тоа ве интересира).

Во мојот тековниот проект, we need to do some fairly heavy lifting and we want to use declarative SPD workflow to manage the associated business process.

Скратам приказната, this is entirely possible. I extended my Codeplex project to invoke a "helper service" and now we can invoke a web service directly from an SPD workflow.

Тука е потпис:

 јавноста низа Диспечер(
        Раководство WebID, // Усвоен од страна на траење на животната средина
        Раководство SiteID, // Усвоен од страна на траење на животната средина
        низа ListID, // Усвоен од страна на RTE (Не знам зошто ова е стринг, не Раководство)
        int ListItemID, // Усвоен од страна на RTE.
        низа XmlMessage) // Усвоен од страна на корисникот како што е најавено во СПД.

Ова Нотингем фактот дека ние може да се добие на важни работното информации, како сајт, листа проект, итн. This is well documented in several places for those of you interested in creating your own custom actions. The idea is to extract the XML string as provided by the user to dispatch an appropriate procedure. Fun stuff!

За жал, ова е очигледно билет во еден правец надолу за да "Loosey Goosey" анти-шема земјиште, but it’s better than hitting a brick wall 🙂

Е тоа е анти-шема ако го направи тоа, иако знаеш дека е анти-шема?

I hope to wrap this inside Codeplex in the near future. If you’re interested in me doing so, дај ми го пушти (e-mail или оставете коментар) and I’ll be that more enthusiastic about doing it 🙂

</крајот>

Да се ​​претплатите на мојот блог.

Technorati Тагови: ,

Недела Смешни: “Се прашувам дали вашата лозинка е …”

Јас неодамна го купи ручек за брат ми (како и обично) and we ended up talking about funny things that we did at our respective colleges. At my alma mater, Lafayette College, the academic support IT department had a very inclusive way about it. We were given a LOT of rope and I took advantage of that at times.

Две моите омилени спомени се однесуваат на мојот добар пријател, Gabe. He had made the terrible mistake of telling people his freshman year that "I’m a freshman, но имам Сафомор стоење" се должи на различни напредни поставеност класи пивна, итн. Many of us were similarly situated but we didn’t talk about it so much. His senior year, кога го запозна со луѓе, we’d say "This is Gabe. He’s a Senior, but he has Sophomore standing".

The college had some Sun workstation/servers running X-Window. They had gigantic monitors and the engineers used them for CAD and other boring engineer stuff. We CS people used them to learn programming and, се разбира, да играат игри.

Ние не му се допадна на компјутерски беспомошни инженери да се многу, така еден од нашите омилени нешта да се направи ќе биде да телнет на кутијата тие беа на и да ја стартувате X-око on them. This would pop up a pair of eyes that followed the mouse around on the screen. You could pop up even more and have literally a dozen or more of the X-eye applications running. Обидете се да не се смеете на глас кога несреќен инженер се обидува да затвори Х-око по Х-око и мрмори под неговиот здив за тоа

We also played X-trek on those boxes. Да го направите тоа, ти мораше да го симнете изворниот, get various dependencies wherever you could find them and build it. I wasn’t a sophisticated C programmer, but I could read header files. I was looking through these and found directives like "#DEFINE MAX_TORPEDO_DISTANCE 10". I played around with that increase range and power for phases and torpedoes, повторно изградена него, а потоа уништија Габе следниот пат кога игравме.

Габе исто така беше голем фан на ТВ шоуто Блејк 7. I had never seen it, но тоа не ме спречи да инсистира на тоа дека д-р. Who is the superior show. Аргументите ќе се вжештеа на моменти

Еден ден, it occurred to me that I could probably guess his UNIX password. I sat down next to him one day and announced in a loud tone, "I’m going to guess your password right now, Gabe." "Yeah, право" was his answer. I then logged in, влезе во неговиот корисничко име, се сврте кон него се соочи, напишан и рече гласно, "I wonder if it’s B-L-A-K-E-7" ? Touch typing has never paid off as handsomely as it did that day.

Следна недела (или наскоро): More computer room antics from college.

Имате ли да го споделам? Leave a comment or email me and I’ll publish them here.

</крајот>

Да се ​​претплатите на мојот блог.

Technorati Тагови: