arquivos mensuais: Marzo 2008

Determinar Rápido qrserver Porto

Para comunicarse co FAST Search través da súa API, necesitamos saber a porta na que o qrserver funciona.

Seguín estes pasos para localízase lo:

  1. Faga o login no sitio web de administración Rápido (http://server:port/admin).
  2. Desprácese ata Xeral do Sistema.
  3. Locate "Search Dispatcher" e prema na icona luneta:

    imaxe

  4. I utilizado con éxito o valor de, 15100 for "Info Name" = "http":

    imaxe

Notas:

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

2. Use este código similar ao seguinte para instanciar unha conexión co FAST:

     ISearchFactory searchFactory;
    
        NameValueCollection NameValueCollection = novo 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. Se incorporarse un porto incontrolado incorrecta, recibe unha mensaxe de erro útil:

imaxe

4. Con todo, se incorporarse o número do porto aparece na visión (15102) you don’t get that helpful error message. Pola, máis tarde, cando tentar acceder aos datos a través dunha busca ou facer referencia a unha visión Rápido, 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".

</final>

Technorati Tags:

Rexístrate para o meu blog.

Rumbo Design Patterns SharePoint técnicos: SharePoint Workflow Design + Receptor de eventos = Cocktail de alta potencia

Un dos patróns emerxentes que atopar na elaboración de solucións SharePoint emprega fluxo de traballo do SharePoint Design e un receptor de eventos.

Aquí está un escenario de negocios para colocar-lo no contexto:

  • Eu enviar un documento a unha biblioteca doc.
  • Eu ban fóra do fluxo de traballo multi-paso creado utilizando o SharePoint Design.
  • Nalgún momento, durante ese proceso, fluxo de traballo asigna unha tarefa a alguén (vía recoller datos de usuario ou asignar unha tarefa).
  • 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.
  • Aquí está o kicker: Quero que a data que impulsa que KPI ser festivo-aware.

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. Con todo, 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".
  • Arrincar a falsa.
  • No momento axeitado no fluxo de traballo (e.g. just before the "collect data" acción), asignar ese valor como True.
  • Un ItemUpdate() event receiver looks to see if "DoCalculateDueDate" is true. Since the event receiver runs on every update, "DoCalculateDueDate" adoita teito.
  • Cando o fluxo de traballo atribúe DoCalculateDueDate a verdade, o receptor de eventos calcula a data de caducidade de vacacións-aware.
  • Cando o receptor de eventos fai este cálculo, el define a bandeira DoCalculateDueDate a falsa.

A finais, 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.

</final>

Rexístrate para o meu blog.

Comportamento observado: Movendo fluxos de traballo SPD nunha colección web

Actualización: I’ve been researching how to embed a SPD workflow into a site definition. Esta cadea foro MSDN ten algunhas informacións interesantes. It’s not conclusive, pero apunta camiño a través da selva.

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 … temperamental.

A xente está sempre pregunta / pregunta / fretting over moving SPD workflows from one place to another. Hoxe, Seguín estes pasos e fixo estas observacións:

  • Eu creei un fluxo de traballo mediante o SharePoint Designer nun sitio conectado a unha biblioteca de documentos.
  • A biblioteca de documentos asociados xa abrigou varios documentos.
  • Salvei o sitio web como un modelo.
  • Cando eu salvo a web como un modelo, Salvei o contido ben.
  • Eu creei un novo sitio web no mesmo conxunto de sitios usando este modelo.

Neste punto, 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.

Eu continúe:

  • Inaugurado o sitio no SharePoint Deseño.
  • Had a peek at the workflow. It seemed fine.
  • I clicked "Finish".
  • Corre o fluxo de traballo.

Este tempo, funcionou moi ben.

I’ll add that this workflow used the "collect data from user" acción que é unha acción en concepto complexo baixo o capo.

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.

O que significa isto? 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, enteiras novas granxas (e.g. dev ao escenario para cutucar).

Se estás lendo isto e inclinado, por favor engada un comentario ou enviar correo-e me your SharePoint Designer migration story. I’ll gladly update this posting with any insights thus offered.

</final>

Rexístrate para o meu blog.

Rápido e sinxelo: Workflow-só de actualización campo

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.

Usar un tipo de contido do sitio web / columna para conseguir este efecto.

Crear un tipo de contido coa columna de estado, como se mostra:

imaxe

Note the "Status (a demostración)" campo na parte inferior.

Seguinte, click on the column name to access the column’s properties. Select "Hidden (Non aparecerá en formas)" na sección Configuración da Columna, como se mostra:

imaxe

This removes the field from the standard edit/update forms. Con todo, inda está dispoñible nas vistas, KPIs, o modelo de obxecto e en calquera outro lugar que quere usalo, including SPD workflow.

</final>

Rexístrate para o meu blog.

Domingo divertido: “Eu penso que este era quere que sexa unha cidade rica”

Un pouco máis de tres anos, miña muller e eu asinei o meu fillo de unha actividade de verán, 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.

Eu non sei se o neno de todo o mundo é así, 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. Así, a fin de superar a súa desgana natural, nós dixemos-lle cedo e fixemos o noso mellor para facelo soar como diversión, etc. Even with a multi-month advertising campaign, he still wasn’t convinced. We forced him to do, aínda que, e, como é frecuentemente o caso, he had a great time.

No momento en que o segundo ano enroladas en torno, he had once again convinced himself that he didn’t want to participate. Pero, tiñamos o contratou e de día cero, I dropped him off one morning at the high school where they practice. When I went to pick him up after lunch, estaba moi animado, todos os sorrisos e anunciadas, "O xogo é o Coello de peluche and I want to be the Rabbit". He had spent literally months carrying on (ás veces histericamente) sobre como el non quería ter nada que ver con xogadores do parque e despois do primeiro día, he wants to be the lead role in the play. We’ve seen this pattern before.

(Para a nosa sorpresa, conseguiu o papel de coello e foi sorprendente.)

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. Nese medio tempo, el finalmente convenceu-nos que realmente 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, súas escolas ofrecen máis programas para os nenos, etc. My wife grew up in that town and her parents live there, polo que estamos "viciado de" 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: "Noites de venres primeiro noites de sono Overseas!" Stage Right was going to interfere with his weekend socials.

O día vén, nós trae-lo alí e deixar lo e como todo, o seu amor natural de simplemente estar vivo asumiu e está tendo un bo tempo con el.

Este fin de semana pasado, a miña muller estaba falando con el e por primeira vez, 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: "Eu penso que este era quere que sexa unha cidade rica."

Todos estes anos, I never really thought that he was hearing or understanding anything as it related to the "rich town". Con todo, acontece que foi.

</final>

Rexístrate para o meu blog.

Technorati Tags:

SharePoint Non proporcionar Calendario Roll emerxentes; Solucións posibles

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

Os usuarios do foro moitas veces unha pregunta como esta:

"I would like to have a calendar at the site level that is populated by events from subsite calendars. Ideally, usuarios en subsites vai crear eventos de calendario, 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 ou Moss 2007, non é posible configurar directamente un "roll-up" calendar. Calendars exist on their own, independente de calquera outro calendario.

Para crear un calendario de roll-up, seguir un destes camiños:

  1. Use a Content Query Web Part. This is the easiest solution for MOSS users (WSS non ofrece CQWP). CQWP, por desgraza, does not provide a calendar view of data out of the box. It does provide enormous rendering flexibility (Aquí tes un exemplo) pero por defecto, shows its results in simple list format. In many cases, CQWP probablemente unha boa opción.
  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 e Moss.

There are probably other clever solutions to this problem. If you have one or know of one, por favor, deixe un comentario ou enviar correo-e me e eu vou actualizar este post.

</final>

Rexístrate para o meu blog.

Crear sitios (SPWeb) vía SharePoint Workflow Design

Este blog é unha "no ámbito do posible" entrada vs. información concreta.

We have a technical design that calls for us to create a site in a site collection via a manually launched workflow process. Basicamente, os usuarios insiran datos nun cliente novo "" lista personalizada e, a continuación, cando remate e validado o proceso de entrada de datos, necesitamos crear un sitio web para que o cliente.

Eu son un gran fan tanto de fluxo de traballo declarativa, así como un programador de fluxo de traballo feble Visual Studio, entón eu quería atender ao requisito usando o SharePoint Design.

Eu pretendo escribir sobre isto en maior detalle (e espero que presente a un grupo de usuarios ou dous o ano que vén), pero aquí está a solución global:

  • Crear unha acción personalizada que se integra con SPD.
  • A acción personalizada permite SPD para invocar un servizo web e pasalo a cadea XML.
  • Web situada a liña de servizos da lista personalizada e crea un novo sitio web de acordo cos datos para ese novo cliente, usando un personalizado definición web.
  • Servizo web, a continuación, actualiza a lista personalizada con algunhas informacións, como un enlace para o novo sitio web.

Foron consideradas outras abordaxes, such as event handlers and visual studio based workflow. The SPD approach gives our end users a little more control over the process. Granted, hai unha morea de código C # con esta solución, pero é acondicionada dentro dun fluxo de traballo declarativa, entón temos algúns dos beneficios do fluxo de traballo declarativa, mentres chamando ao servizo local de creación de.

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.

</final>

Rexístrate para o meu blog.

Technorati Tags: ,

Rápido e sinxelo: Sitio disposición web usando SharePoint modelo de obxecto en 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.

Este código crea un novo sitio web Wiki:

 SPSite SiteCollection;

    SiteCollection = novo SPSite("Http://conchang-o9l8qi");

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("Xyzzy", "Título xyzzy",
        "Descrición xyzzy", 1033, SPWebTemplate.WebTemplateWIKI, teito, teito);

Miñas pescudas iniciais fallou porque eu estaba a buscar frases como "prestación de un sitio web utilizando o SharePoint modelo de obxecto" and the like.

Se buscar para "Webs.Add()", atoparás unha serie de entradas de blog moi útiles, MSDN articles and SDK documentation that go into depth on this subject. I definitely recommend este sitio.

</final>

Rexístrate para o meu blog.

Technorati Tags:

Integrar fluxos de traballo do SharePoint Deseño con Web Services

Eu fun xogar con accións personalizadas para o SharePoint Deseño por algún tempo (vexa aquí para algunhas cousas detallada, que che interesa).

O meu proxecto actual, we need to do some fairly heavy lifting and we want to use declarative SPD workflow to manage the associated business process.

Longa historia curta, 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.

Aquí está a sinatura:

 público corda Expedidor(
        GUID Webid, // Aprobada polo ambiente de execución
        GUID SiteID, // Aprobada polo ambiente de execución
        corda ListId, // Aprobada pola RTE (non sei por que isto é unha cadea, non un GUID)
        int ListItemID ListItemID, // Aprobada pola RTE.
        corda XmlMessage) // Pasado polo usuario, segundo declarou o SPD.

Este aproveita o feito de que podemos obter a información de fluxo de traballo importante, como o lugar, lista de ID, etc. 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!

Desafortunadamente, este é, obviamente, un billete de ida-down para "Loosey Goosey" anti-pattern terra, but it’s better than hitting a brick wall 🙂

É un anti-patrón se fai iso mesmo que vostede sabe que é un anti-estándar?

I hope to wrap this inside Codeplex in the near future. If you’re interested in me doing so, dáme picar (e-mail ou deixar un comentario) and I’ll be that more enthusiastic about doing it 🙂

</final>

Rexístrate para o meu blog.

Technorati Tags: ,

Domingo divertido: “Eu me pregunta se o seu contrasinal é …”

Eu compras recentemente o xantar para o meu irmán (como de costume) 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.

Dous miñas memorias favoritas relacionan coa miña boa amiga, Gabe. He had made the terrible mistake of telling people his freshman year that "I’m a freshman, pero eu teño pé Sophomore" debido ás varias clases de posicionamento avanzados tomara, etc. Many of us were similarly situated but we didn’t talk about it so much. His senior year, cando o presentou a persoas, we’d say "This is Gabe. He’s a Senior, pero ten pé Sophomore ".

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, claro, para xogar.

Non fixo como os enxeñeiros ordenador indefensas a moi por iso unha das nosas cousas favoritas a facer sería a de telnet á caixa estaban e executar X-ollo 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. Intenta non rir a carcajadas cando un enxeñeiro desafortunado intenta pechar ollo X tras ollo X e murmura sobre iso 🙂

We also played X-trek on those boxes. Para iso, tiña que baixar o código fonte, 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, re-construída e despois destruída Gabe a próxima vez que tocamos.

Gabe tamén era un gran fan de un programa de TV chamado Blake 7. I had never seen it, pero iso non me impide de insistir que o Dr. Who is the superior show. As discusións acaloraban ás veces 🙂

Un día, 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, "Eu vou adiviñar o seu contrasinal agora, Gabe." "Yeah, dereito" was his answer. I then logged in, entrou no seu ID de usuario, virou-se para afrontalo lo, escrito e dixo en voz alta, "Eu me pregunta se é B-L-A K-E-7" ? Touch typing has never paid off as handsomely as it did that day.

Semana (ou logo): More computer room antics from college.

Ten algún para compartir? Leave a comment or email me and I’ll publish them here.

</final>

Rexístrate para o meu blog.

Technorati Tags: