arquivos mensuais: Abril 2008

Rápido e sinxelo: Fai unha forma de InfoPath Read Only (InfoPath Forms Services no Moss)

Hai un escenario de negocios común como esta:

  • Usuario encher un formulario do InfoPath.
  • Somete forma.
  • Longo proceso de execución de fluxo de traballo comeza.
  • Mentres que o fluxo de traballo está en execución, Non queremos que ninguén para cambiar o contido da forma.

This office.microsoft.com example describes how to create a separate "view" and mark the whole view as read-only. This is a workable approach but has the drawback that you’ve effectively created two entire versions of the same form and must now keep them in sync manually. If you add a field to the editable view, you must then add it to the non-editable view as well. Ao longo do tempo, with different developers, there can be some divergence.

This alternative might work better in some cases:

  • Add a new field to the form called "IsEditable".
  • Set its default value to true.
  • Promote it when publishing to MOSS.
  • No fluxo de traballo, set the value of IsEditble to false.
  • Go back to the form.
  • Add a rule that "upon open of the form", disable your save button when IsEditable is false.

The drawback to this approach is that all the fields will still be editable on the screen. The user can get a false impression that they can actually change content. You can mitigate that by putting in some text that the form is disabled, possibly in big red letters across the top of the page.

In one project, I created a "workflow status" ver. As the workflow progressed, it would update specific status fields that had been promoted from the form. When the user opened the form, the "open form" rule automatically switched to that view and the user had a nice little summary status.

</final>

Rexístrate para o meu blog.

Empregue semáforos en SharePoint Workflow Deseño para evitar loops infinitos

It’s possible to cause an endless loop in a SharePoint Designer workflow. A common implementation pattern like this causes the problem:

  • Crear un fluxo de traballo e asociarse con unha lista.
  • Indicar que debe comezar en crear novos elementos e actualización dos elementos existentes.
  • Un paso no fluxo de traballo actualiza un campo en "elemento actual".
  • Desde o elemento actual cambiou, o fluxo de traballo comeza de novo.

Para evitar ese loop infinito, implantar un semáforo simple:

  • Engadir unha columna de páxina (de protección á lista / biblioteca, se non está a usar os tipos de contido).
  • Esconde-lo da páxina de edición (fácil de facer unha columna de sitio a través das súas propiedades, non é tan fácil unha columna de lista).
  • No fluxo de traballo, comprobar para ver se o valor da columna semáforo está en branco.
  • Se está en branco, configuralo para un valor non-branco e continúe.
  • Se non está en branco, saír inmediatamente.

Isto pode facer unha solución moi diferenciada, dependendo das necesidades de negocio e así por diante, pero foi un patrón viable cando eu precisaba diso.

</final>

Rexístrate para o meu blog.

Desenvolvedores: ¿Como aprender SharePoint?

Actualización: 04/25/08: Foi recuperar o atraso nalgúns artigos e atopei unha ligazón a este artigo: http://www.networkworld.com/news/2008/032608-microsoft-sharepoint.html?page=1. I make note of it because in addition to asking, "how do I learn sharepoint?", some people ask "why should I learn sharepoint?". That article partly answers the later.

Nos últimos meses, unha ducia ou máis persoas de todo o planeta foron me correo-e e facer a pregunta xeral, "How do I learn SharePoint?"

Estou case autoritaria, pero eu tiven algún éxito (e tratando de mellorar o tempo) so I thought I’d document my personal road map. Others may find it valuable.

Antes de facelo, Eu só quero observar que é evidente para min, con base neses correos electrónicos persoais e do número aínda maior de MSDN / SharePoint mensaxes Universidade da mesma natureza, that there is huge developer interest in getting up to speed with WSS/MOSS. I wonder what it’s going to be like a year from now … máis doado atopar bos talentos SharePoint? The same? Are folks committing themselves to the platform at a rate sufficient to keep up with demand for good resources? How could you even figure something like that out short of a WAG?

Guión de Paul

I was full time employed by the good folk at Conchango while I followed this road map. This means that from a learning perspective, I was actively engaged in projects as I followed the steps I outline below.

Algúns termos básicos

Para as persoas que entran neste mundo, existen dous acrónimos principais:

  • WSS: Windows SharePoint Services
  • Moss: Microsoft Office SharePoint Server

WSS is "free" na medida en que está xunto co Windows Server 2003 (ou, polo menos, se pode descargar de MS). I put quotes around free because you need a box, O válida a licenza / S e probablemente SQL (though there’s a "free" tipo de SQL ben).

MOSS is built on top of WSS and extends it. There is no MOSS without WSS. MOSS is not free.

Quizais non sexa un día, pero logo tes algunha familiaridade básica coa plataforma, it’s important to learn the differences. Por exemplo, unha poderosa parte web, a web Part de Consulta de Contido, is a MOSS feature and not available WSS. People often make the incorrect assumption that CQWP is available in WSS and then end up scrambling for a stop-gap measure when they realize their error.

Bater os libros

I started working with WSS/MOSS on about 01/02/2007. I had a little prior experience with SPS 2003 but very little. To get myself started, Eu compras o dous libros aquí (http://paulgalvin.spaces.live.com/lists/cns!1CC1EDB3DAA9B8AA!203/).

I started with the big blue administration book. Naturally, it covers administration. Á vez, Ofrece un levantamento de todas as características Moss (e as características do WSS ben).

Para min, non é tan importante lembrar de todos os varios detalles (ata que chegou o momento de obter a certificación) but it’s good to know the boundaries. (Eu sigo esa mesma visión en primeira persoa shooters que eu xogo na Xbox ou PC — I enter a room and tend to make a counter-clockwise loop until I get back where I started. I just feel better knowing the shape of the box I’m in.)

Despois de ler o libro azul grande, I would read the entire Inside WSS book. It dives deeply into issues that developers care most about.

Crea un ambiente virtual

Co fin de facer calquera desenvolvemento ou usar adecuadamente o medio ambiente, precisa dun sistema operativo completo soprado Windows Server co SharePoint Deseño, Visual Studio 2005 (2008 traballo, pero algunhas ferramentas teñen aínda que ser portado desde a escrita deste artigo), InfoPath 2007 and some other stuff. There are many good blog entries describing this process. I’d have a look at these two:

Ademais, Andrew Connell compartiu as súas experiencias con VMWare aquí:

Use your favorite search engine to see what other people do. It’s a useful learning exercise in and of itself.

Spend a few minutes angrily denouncing the fact that you need a server environment on which to do development. Pero … don’t bother blogging about it or posting it to MSDN forums. É xa se fixo 🙂. Pola, embrace it and move on. You’ll be better off for it.

Obter a certificación

Creo que o camiño MS SharePoint certificación, que consiste en catro exames, is exhaustive. I suggest that you follow their online preparation guide and do your best to understand each of the areas of the test.

Eu non suggest that you take the exam just to pass it. Eu non suggest that you use one of the "brain dump" style 3rd party "tools" for passing MS tests. If you can take the test, pasalo en base a unha combinación do seu propio estudo dirixido e hands-on experiencia, vai ser un desenvolvedor máis forte e demandante de emprego para el.

There are four tests in two "tracks":

Revelador:

Administrador:

I recommend that developers study for all of these exams. You’ll be strong for them, aínda que eu creo que se saltou os exames de administrador, vostede obtería.

Eu atopei a versión WSS ser considerablemente máis reto do que as versións correspondentes Moss, much to my surprise. I was in a class recently and several others made the same point.

Mentres eu estaba estudando para o 70-542 exame (Desenvolvemento Moss) I tracked my study resources. These may be helpful to you as well: http://paulgalvin.spaces.live.com/Blog/cns!1CC1EDB3DAA9B8AA!192.entry

Póñase-se na Comunidade

A comunidade SharePoint é vibrante, forte e crecendo o tempo.

Quere ollar para o seguinte para comezar:

  • Blogs
  • Foros
  • Codeplex
  • Chilro

Blogs

Se non entender RSS, stop everything and learn it. It will take 10 minutos para aprendela la, quizais outro 10 minutos para atopar un sitio lector RSS (Eu gusto do lector Google, www.google.com / reader).

Comezar engadindo este blog para o seu lector de RSS 🙂

Seguinte, engadir www.sharepointblogs.com to your reader. They aggregate many blogs into a single feed.

Ao longo do tempo, you’ll find blogs that are not aggregated that way. Just add them individually.

I subscribe to a few dozen blogs which I’ve accumulate over the last year. Se quere, Podo exportar miña lista e correo electrónico.

Eventualmente, you may want to start your own blog. I personally think that a series of blog entries describing a "newbie’s" aprender WSS / Moss progreso sería unha interesante serie. Gustaríame ter feito isto só.

Foros

Eu participo activamente en dous grupos foro: MSDN ea Universidade de SharePoint.

Forums are excellent places to learn. People ask questions ranging from the very simple ("How do I create a site column") ao pánico ("My server is down!") para cuestións de deseño máis hipotéticos.

Despois de obter un sabor da contorna, venture out and start replying. Short of directly interacting with a customer, nada é mellor que este para as mans na experiencia.

Codeplex

Ir a www.codeplex.com.

Check it out e buscar proxectos SharePoint.

Asine o resumo diario Codeplex feed no seu lector de feeds.

Fai todos os novos proxectos do SharePoint para o seu lector de feeds.

Eventualmente, despois de ler os foros e mirando cara abaixo súas propias WSS / Moss demos, considerar a montar o seu propio proxecto CodePlex.

Chilro

Mentres escribo este blog, unha chea de xente SharePoint comezaron a usar Chilro.

It’s hard to characterize Twitter. You’ll just have to check it out yourself.

Conclusión

That wraps up my roadmap and makes me current. I just started using Twitter two weeks ago.

WSS/MOSS is a very cool platform and the community is growing all the time. Use community resources to improve your skills and enjoy the journey!

</final>

Rexístrate para o meu blog.

Data Protection Manager: Parece como un backup SharePoint Grande / Restore solution

No New Jersey SharePoint User Group encontro onte á noite, Microsoft Sr. especialista de produto Duwayne Harrison presentado Microsoft Data Protection Manager 2007. DuWayne was great (e foi apoiado por un ou dous compañeiros do público, cuxos nomes non me recordo). Pode obter os materiais de presentación aquí.

Ata onte á noite, Nunca oín falar de DPM.

Non son un tipo de persoa de administración do sistema, so I’m writing this from SharePoint consultant’s perspective and may get some of the words wrong. Para min, DPM is a backup/restore solution for Microsoft "stuff":

  • Arquivos
  • SQL
  • O/S
  • As máquinas virtuais (copia de seguridade da máquina virtual vivir, aínda que o VM está executando Unix).
  • Recuperación bare metal (i.e. fallo catastrófica de hardware).

Ademais deste material, which I would consider to be minimal requirements for any kind of "real" backup / restore produto, DPM also has built-in intelligence for SharePoint. It understands about server farms and lets you restore:

  • Bases de datos enteiros (e.g. contido, configuración, etc).
  • Os conxuntos de sitios
  • Sitios individuais
  • Elementos individuais (e.g. documentos).

The actual restore process involves extracting the target data from the backup and save it into a "restore farm" e logo, a partir de aí, movelo ao ambiente de produción (ou onde queira que quere restaurar). I think this is seamless, but there was a lot of emphasis on the need for a "restore farm". The restore farm does not need to match the production environment in every particular (sobre todo na topoloxía física) pero non teñen que coincidir en termos de modelos, versións, etc.

Non vexo un fin completo para acabar coa demostración, but DuWayne did show screen shots and some live demos. It seems to be as good as it needs to be, , Polo menos, para un ambiente de tamaño moderado.

I was particularly struck by the pricing. Obviously, non me prender a ese, pero creo que o prezo máis caro é o seguinte (en dólares):

  • $600 por si DPM.
  • Hardware para un servidor DPM (e material asociado para a comunicación e todo o que).
  • $450 para cada servidor que quere facer a copia de seguridade ("enterprise" licenza).

A facenda cinco servidor custaría, como máximo,:

  • $600 ao DPM
  • $450 x 5 servidores = $2,250

O custo total de dereitos: $2,850

Na práctica, it would be less. You wouldn’t necessarily need to have DPM installed on each web front end, por exemplo. You don’t necessarily need enterprise licenses either.

The user interface is seems very simple probably would not require any special training to get up to speed. I did ask about that specifically and there is apparently a 1.5 clase día dispoñible, aínda que non sexa evidente para min que alguén realmente precisa levala.

Todo en todos, Coido que é, sen dúbida, paga a pena investigar se está aí fóra, mirando para unha solución de protección de datos para o SharePoint.

</final>

Rexístrate para o meu blog.

Technorati Tags:

Chilro: http://twitter.com/pagalvin

Camiño-through: Fix Formación de Funcionarios Modelo bug Unregister Dispoñible Asentos

Como moitas persoas saben, o modelo de formación de funcionarios proporcionada por Microsoft aquí ten un erro que pode reproducir seguindo estes pasos:

  • Crea unha clase cun tamaño máximo de 10 alumnos.
  • Rexistrarse –> Total available seats properly decrements by one. Resultar: 9 asentos dispoñibles.
  • Unregister: –> Bug. Total available seats should increment by one. It does not. Resultar: 9 asentos dispoñibles segundo SharePoint, pero en realidade, ten 10 asentos dispoñibles.

Solución: Usar o SharePoint Deseño para corrixir o fluxo de traballo.

Primeiro, open up the site. The folder list for me looks like this:

imaxe

If we have a look at the "Attendee registration" fluxo de traballo, we see that there is a step labeled "Enforce seating policy". It looks like this:

imaxe

This step in the workflow updates the item by incrementing the "Filled Seats" metadata column on the course. If we pull that up in more detail, Vémolo:

imaxe

Esa é toda a información que precisa para resolver o fluxo de traballo unregistration.

Se virar para o fluxo de traballo unregistration, there is no similar workflow step. Add it as follows:

1: Expand "Attendee unregistration" e abrir a XOML (ver de primeira captura de pantalla, se está perdido).

2: Engadir unha nova variable de fluxo de traballo, "New Filled Seats" of type "Number".

3: Assign a value to "New Filled Seats" como se mostra:

imaxe

4: Reducir os asentos ocupados por 1:

imaxe

5: Actualiza o elemento curso relacionado:

imaxe

6: Make sure all the steps are in the right sequence. Para min, parece que esta:

imaxe

7: Completar o fluxo de traballo para re-construír.

8: Proba.

</final>

Rexístrate para o meu blog.

Technorati Tags: ,

Aleatoria Mañá sábado Observación

Eu estiven en aulas estas últimas dúas semanas e unha cousa que me impresiona é que hai unha chea de pensativo, persoas intelixentes que traballan con SharePoint (como consultores ou funcionarios de TI) que non blog, Twitter, parecen ser conscientes de foros públicos, como foros MSDN ou Universidade SharePoint, manter perfís de Facebook ou LinkedIn, etc. They are pure information consumers. Not bad, só interesante.

</final>

Technorati Tags:

Rexístrate para o meu blog.

Content Query web Part: Falando en Nova York Users Group SharePoint

Vou falar co meu compañeiro, Natalya Voskresenskaya, no New York SharePoint Grupo de Usuarios reunión Mércores 07 de maio.

Grazas a Bob Fox para xogar os nosos nomes no sombreiro e nos axudar a obter esta oportunidade!

O noso tema xeral é a web Part de Consulta de contido e esperamos dar algunha información útil para dous públicos distintos:

  • Os usuarios de negocios (non desenvolvedores): Mostrar como CQWP se pode configurar para resolver certos problemas comúns de negocios sen codificación.
  • Desenvolvedores: Show how CQWP can be extended to do some pretty interesting things that a business user wouldn’t normally feel comfortable doing themselves. This part of the presentation will help business users understand what’s possible using this web part so that they can provide better and more realistic requirements to their developer partners.

Aquí está o aviso NYSPUG enviado para fóra a principios desta semana:

"Using Content Query Web Part to Solve Business Problems".

MOSS 2007’s Content Query Web Part (CQWP) permite aos usuarios crear visualizacións personalizadas de datos consultados desde moitas fontes, e presentar os datos nun só lugar. A pesar da súa consulta poderoso & opcións de refinamento de contidos, CQWP é moitas veces un recurso subestimado e ignorado. CQWP is both a "data extraction engine" (atopar documentos ou elementos de lista en calquera lugar nun conxunto de sitios) e tamén unha ferramenta de presentación de primeira clase que permite aos usuarios controlar o xeito no que o contido é presentado por implicación HTML e estilos para formatar a exhibición de case calquera forma que desexa.

Nesta sesión de demostración pesado, van amosar como usar a CQWP para resolver problemas de negocios, amosando os principais recursos.

  • utilizar os recursos CWQP estándar, incluíndo o público-obxectivo

  • use CWQP as a reporting tool anywhere in a site collection via filter criteria such as "all documents created today".

  • cambiar a aparencia & sensación de resultados da consulta para destacar os datos de empresas, amosar columnas adicionais de información, ver información nun formato de reixa, e outros.

  • amosar como CQWP pode axudar na administración tipo de contido (i.e. atopar todos os documentos dun determinado tipo de contido, co fin de comprender o impacto potencial de cambiar a definición de CT).

  • describir algunhas limitacións CQWP

  • proporcionar unha lista de recursos para as técnicas avanzadas CQWP, incluíndo blogs, ECQWP proxecto CodePlex & Documentación MSDN.

</final>

Rexístrate para o meu blog.

Technorati Tags:

Rápido integración do SharePoint: Realizar unha consulta simple

This is a continuation in my FAST coding mini-series for SharePoint folk. The bit of code below executes a search for the term "test" in FAST via a Console application. Obviously, é un hop, saltar e ir fóra para romper esa lóxica dentro dunha parte da páxina web ou unha aplicación:

utilización Sistema;
utilización System.Collections.Generic;
utilización System.Linq;
utilización System.Text;
utilización System.Collections.Specialized;
utilización Com.FastSearch.Esp.Search;
utilización Com.FastSearch.Esp.Search.Http;
utilización Com.FastSearch.Esp.Search.Navigation;
utilización Com.FastSearch.Esp.Search.Query;
utilización Com.FastSearch.Esp.Search.Result;
utilización Com.FastSearch.Esp.Search.View;
utilización System.Collections;

espazo de nomes Conchango
{
    clase InvokeSimpleFASTQuery
    {
        estático invalidar Principal(corda[] args)
        {

            #rexión Inicializar a nosa comunicació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:15100");
            nameValueCollection.Add("Com.FastSearch.Esp.Search.Http.RequestMethod", "GET");

            searchFactory = SearchFactory.NewInstance(NameValueCollection);

            #endregion

             Publicar unha consulta

            corda queryString = "test";

            Pregunta query = novo Pregunta(queryString);

            query.SetParameter(BaseParameter.Clustering, teito);
            query.SetParameter(BaseParameter.Navegación, certo);
            query.SetParameter(BaseParameter.NAVIGATION_DEEPHITS, 100);

            ISearchView SearchSite;
            SearchSite = searchFactory.GetSearchView("sharepointconn");

            IQueryResult result = searchView.Search(pregunta);

            Consola.WriteLine("Total results from search: [" + result.DocCount + "].");

            int docCounter = 0;

            mentres (docCounter < result.DocCount)
            {

                docCounter    ;

                IDocumentSummary thisDocSummary = result.GetDocument(docCounter);

                Consola.WriteLine("[" + docCounter + "]: " + thisDocSummary.GetSummaryField("url").StringValue);

            } // mentres

            Consola.ReadLine();
            #endregion

        }
    }
}

Xera o seguinte resultado:

imaxe

</final>

Rexístrate para o meu blog.

Technorati Tags: ,