Fluxo de traballo do SPD accións personalizadas — manipulación de melloras cordas

Preto de unha semana, I started up a codeplex project that provides a simple and reasonably generic method for adding custom action functions to SharePoit Designer workflow. It’s described here: http://www.codeplex.com/spdwfextensions. Beyond simply providing a framework, it also aims to provide a set of useful functions that will make SPD more useful/flexible/powerful.

Aquí están os recursos planeados para a versión actual 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Se alguén ten algún interese neste proxecto, por favor, deixe un comentario ou iniciar / engadir a un debate aquí: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Aquí están o actual conxunto de funcións que foron codificados (aínda que non sexa totalmente probado desde 11/08/07):

Función Descrición (se non mesmo. función Net)
Nun-entradas() Volta o número "entradas" in a string as per a specified delimiter.

Por exemplo: Num-entries in a string "a,b,c" with delimiter "," = 3.

Entrada() Returns the nth token in a string as per a specified delimiter.
Lonxitude String.length
Substituír() String.Replace()
Contén() String.Contains()
Returns the word "true" or the word "false".
Substring(comezar) String.substring(comezar)
Substring(comezar,final) String.substring(comezar,final)
ToUpper() String.toupper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Returns the word "true" or the word "false".
EndsWith() String.EndsWith()
Returns the word "true" or the word "false".

Rápido & fácil url utilidade escritorio Encoding

Eu teño a necesidade url codificar unhas cordas esta semana e bateu xuntos pouca utilidade á que eu penso que eu ía pór en SkyDrive á comunidade.

Obter o binario aquí: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

Obteña a solución visual studio aquí: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Aquí está unha captura de pantalla:

imaxe

Fácil e rápida: Inserir unha Ligazón vistas datos web Part XSLT

Actualización (01/17/08): Este blog fala sobre a entrada de máis bondade Ligazón XSL: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Descricións e Obxectivo: I had created a simple bar chart to serve as component on a dashboard. I’ll save the details on building charts for another post, pero eu non inventei esa técnica (nin punto de interrogação, para que o asunto). It turned out there was a bug in the chart and while I fixed that, I took the opportunity to convert some labels into hyperlinks that pointed at the underlying list behind the graph. Por exemplo, there is a label with value "Hold". I wanted to turn the label into a hyperlink so that the user could click on it and drill down to the specific entries in the list whose status value is "Hold".

Pasos:

  1. Use visual studio para intellisense SharePoint-aware.
  2. Pega XSLT do DVWP en Visual Studio (crear un proxecto en branco, engadir un ficheiro XSL ao proxecto).
  3. Copie a ligazón que quere empregar para o portapapeis.
  4. Pegalo no lugar seguro no XSL.
  5. Convert URL argument separators on the query string from "&" to "&ampères;"
  6. Url-ENCODE argumentos individuais.
  7. Enrole que dentro dun <a href…> </un>

Exemplo:

Eu teño un URL:

http://[servidor]/[local]/Lists / Open% 20Positions/AllItems.aspx?Ver ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&= FilterValue1 Manteña

Eu convertelo en:

     <un href="Lists / Open% 20Positions/AllItems.aspx?Ver =% 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1}&ampères;FilterField1 = Recruiter&ampères;= FilterValue1 Manteña"> Manter: </un>

Eu transformei man o primeiro argumento de:

{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}

para:

%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1}

(Neste, a clave aberta transfórmase% 7b ea clave de peche transforma a% 7D)

Os segundo e terceiro argumentos’ parámetros ("FilterField1=Recrutador" and "FilterValue1=Manter" respectivamente) non teñen que ser codificadas URL porque non contén ningún carácter inseguros.

Notas:

Esta técnica normalmente debe traballar en calquera lugar que quere inserir un hiperenlace no XSLT onde a hyperlink inclúe parámetros na URL, como:

http://[servidor]/[local]/Lists / Open% 20Positions/AllItems.aspx?Ver ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&= FilterValue1 Manteña

Eu teño a URL en si, accedendo a lista personalizada e filtrado manual na columna de estado (labeled "Recruiter" arriba).

Rápido e sinxelo: Activar SharePoint Deseño de fluxo de traballo para actualizar unha forma de InfoPath

Escenario: I have an InfoPath form that front-ends a workflow process implemented using SharePoint Designer. At one point, a manager must approve the form. Dende que eu non podo contar sobre a historia de fluxo de traballo para atender aos requirimentos de auditoría meus, Decidín gardar a miña mensaxe de auditoría propia directamente no propio formulario.

Visión global:

Crea un formulario e publicalo como un tipo de contido and the form itself to a document library. Mark desired form fields as being updateable from MOSS. The form is tied to the content type and the content type is "attached" a unha biblioteca de formas (ou moitos, se quere). Write a workflow that updates the field.

Pasos específicos:

  1. Create a document library. This will hold your InfoPath template.
  2. Create a forms library.
  3. Create the InfoPath form. Include a text field, "Audit Message".
  4. Publicar o formulario como tipo de contido (Non un documento).
  5. Mentres enche os diálogos de publicación:
    un) Garde o ficheiro. Xsn á biblioteca de documentos (paso #1).
    b) Publish the "Audit Message" campo e certa marca: "Allow users to edit data in this field by using a datasheet or properties page".
    c) Crear un novo tipo de contidos e darlle un nome apropiado.
  6. O acceso a biblioteca de formularios.
    un) Vaia para a configuración avanzada e activa a biblioteca de formularios para xestionar os tipos de contido.
    b) Seleccione o tipo de contido recén creada (5c enriba). It will be grouped under "Microsoft InfoPath" (ou similar).
    c) Remove the default "Form" tipo de contido a partir da biblioteca.
    d) Mark the library to "show as web page" para que o formulario vai lanzar dende o SharePoint e non o cliente estación de traballo do InfoPath.
  7. Go back to the forms library proper and click "New" simplemente comprobar que o formulario é enviado correctamente e actuar como quere.
  8. Lume ata o SharePoint Deseño e navegar ata o sitio web que aloxa a súa biblioteca de formularios (desde o paso 2).
  9. Creación dun fluxo de traballo ligado á biblioteca de formularios.
  10. Add a single action "Set Field in Current Item". You should expect SharePoint Designer to list your your field, "Audit Message". Assign it a value.
  11. Fai clic en Finalizar e volver para a biblioteca de formularios.
  12. Create a new form and put some test value into the "Audit Message" campo.
  13. Garda-lo e volver para a biblioteca de formularios.
  14. Botón dereito do rato, select "Workflow" e iniciar o seu fluxo de traballo.
  15. It should run almost immediately. Pull up the form (desde o paso 12) e todo ten corrido para planificar, "Audit Message" asignado o valor que proporcionou no paso 10.

Notas:

Not all controls may configured for this bi-directional communication. Por exemplo, it does not seem to implement an SPD workflow that modifies text fields wrapped inside repeating sections.

One of the key take-away’s here is that we’ve really created a content type with an associated template. This also enables us to store multiple InfoPath form templates in the same form library.

This requires forms server. It’s most certainly not going to work in a WSS 3.0 ambiente e, probablemente, aínda precisa dun ambiente SharePoint Enterprise.

O Beagle Has Landed (Outubro 2007 cuestión)

(Esta é realmente unha noticia pouco vello, pero como o meu lema estación favorita lume proclama, "Better late than never").

Consulte aquí: http://www.sharepointbeagle.com/

Se non ten xa, asegúrese de subscribirse a.

Por suposto, asegúrese de ler meu artigo about a real-world SharePoint project (incluíndo definición de requisitos, KPI, tipo de contido, dashboards and more) as well as meu compañeiro de article about the content query web part.

Hai moitas outras cousas boas tamén.

Como eliminar “Ver todo o contido do sitio” ligazón

Estou esta pregunta case toda semana, normalmente no contexto dunha conversa de seguridade. An administrator/site creator has provisioned a site, seguridade configurado, arranged web parts and customized the quick launch to provide that oh-so-perfect set of options to the end user. Pero, para fóra da caixa, you can’t remove the "view all site content" ligazón.

Mark Wagner ofrece a resposta aquí (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). O seu write-up é fantástico en dous niveis. El ofrece unha resposta á pregunta, "How do I remove the View All Site Content" ligazón? Entón, el responde retorno inmediato en cuestión: ¿Como activar fácilmente o punto de vista todos os enlaces de contidos da web con base no sitio por páxina?

Como un extra: A súa visión funciona para WSS, non só Moss.

</final>

Rexístrate para o meu blog!

O meu propio proxecto CodePlex: Extensións de fluxo de traballo para o SharePoint Design

Actualización: Vexa aquí (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!310.entry) para o máis recente sobre este proxecto.

Eu creei un proxecto CodePlex hoxe para albergar o código xenérico de interface SPD que escribín sobre aquí (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!275.entry).

Bótalle un ollo a aquí (http://www.codeplex.com/spdwfextensions) para ver o proxecto CodePlex e chutar os pneumáticos.

Se vostede está interesado en traballar neste comigo, disparar un correo electrónico a mailto:galvin.paul@gmail.com

SharePoint Deseño — Actividade personalizada para realizar definidos polo usuario C # funcións

Actualización: Este foi lanzado para CodePlex aquí: http://www.codeplex.com/spdwfextensions

Actualización: Vexa aquí as notas de lanzamento máis recentes: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

Actualización: Aquí tes os meus pensamentos sobre a comercialización deste proxecto: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

This project provides a custom activity in SharePoint Designer. Use this custom activity to invoke (expedición) any C# function that you incorporated into the linked assembly.

A partir de finais de outubro, 2007, this is just an initial version of the project. I plan to expand it with a number of additional functions, incluíndo substring, índice, substituír, invoking web services and anything that seems useful or interesting. I also plan to post this to codeplex once I have my act together on that front. This will also be deployable as a solution at some point.

Se tes algunha comentarios, dúbidas ou suxestións, por favor, deixe nos comentarios ou enviar correo-e me.

Renuncia:

I make absolutely no claims as to the suitability of this for any purpose. Use at your own risk.

Os pasos de instalación (a seguir para cada WFE na facenda):

1. Baixo o zip. E extraer.

2. Install the .dll into the GAC. I usually open c:\windows assembly usando o Windows Explorer e copia-lo alí.

3. Modificar web.config para engadir o assembly para os controis de seguridade:

<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<authorizedType Assembly="SpdGenericInterface, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = abe076fd8125f3c4" Namespace="Nivlag" TypeName="*" Authorized="True" />

4. Copy "SpdGenericInterface.actions" para C:\Arquivos de programas Arquivos comúns Microsoft Shared web server extensions 12 template 1033 Fluxo de Traballo

Nótese que a situación anterior é específica para instalacións de idioma inglés.

5. SharePoint Deseño Pechar (se xa está aberto).

6. iisreset

7. Abre SPD e crear un novo fluxo de traballo.

Se todo vai ben, ten que ser recompensado cunha nova categoría de acción:

imaxe

Notas:

Ver aquí (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) para unha visión xeral óptimo do proceso para crear, instalar e configurar unha solución como esta.

O zip. Está deseñado para extraer directamente a vostede c:\ drive. If you do this, pode abrir o proxecto e os camiños serán consistentes.

Para usar isto no Visual Studio, you probably need to install "Extensions for Windows WF".

The initial upload contains just one "dispatcher function", "ToLower()". To add more functionality, engadir lo ao método de execución como se mostra:

 protexido substituír ActivityExecutionStatus
          Executar(ActivityExecutionContext executionContext)
        {

            corda functionToDispatch;
            functionToDispatch = este.DispatchFunction.ToLower();

            cambiar (functionToDispatch)
            {
                caso "tolower()":
                    {
                        este.OutResult1 = este.InParam1.ToLower();
                        romper;
                    }

                defecto:
                    {
                        este.OutResult1 = "Unknown function: [" + este.DispatchFunction + "].";
                        romper;
                    }
            }

            volver ActivityExecutionStatus.Pechado;
        } // ActivityExecutionStatus

    }

Entón, re-build the project and copy the assembly to the GAC. I expect an iisreset would be required.

SPD Fluxo acción personalizada – obter o <WorkflowInfo> marcar dereito de evitar a frustración

Part of the process for creating a custom action for SharePoint Designer involves create a ".actions" ficheiro.

Podo atopar e tente usar un modelo de mostra que comeza como:

<?xml versión="1.0" codificación="utf-8" ?>
<
WorkflowInfo xmlns="http://schemas.microsoft.com / SharePoint /">
<
Accións Secuencial="entón" Paralela="e">

Con todo, that xmlns attribute prevents my environment from working. My actions don’t show up in SPD.

A solución é eliminar o atributo xmlns, do an iisreset and close/re-open SPD.

Rápido e sinxelo: Configurar Moss para buscar unha biblioteca de documentos específica

See UPDATE (Eu) below (11/24/07) en Como configurar o Microsoft Office SharePoint Server 2007 Índice de carpetas e seguimento de rede para a investigación

Obxectivo: I want to execute a search restricted to a specific document library. Neste caso, a biblioteca de documentos contén documentos de formación.

Pasos:

1. Rexistre a URL da biblioteca de documentos.

2. Crear un ámbito:

Ir á administración central.

Accede a SSP.

Go to "Search Settings".

Scroll down to the scope section and select "View Scopes".

Create a new scope. Give it a name and useful description.

3. Establecer normas de seguimento de ámbito:

Engadir unha regra que define a biblioteca de documentos para este ámbito.

Select "web address" for "Scope Rule Type".

Introduza o nome da carpeta (ver #1 arriba).

Accept the default value of "Include".

Agarde ata que o ámbito de actualizar (ou inicia-lo manualmente).

4. Activar o alcance dun conxunto de sitios web.

Ir á colección de sitios onde quere usar este ámbito.

Engada o seu novo alcance para o grupo de exhibición apropiado ou grupos.

5. Procurar!

Neste punto, you’re done. Assuming the scope is properly defined, estará dispoñible nos menús suspendidos alcance para a investigación sinxelo e avanzadas e cando lle buscar usando este ámbito, só vai obter resultados que espera.

Notas:

Eu escribín este blog porque as miñas investigacións para a instalación do ámbito simple apareceu secos frases usando como:

  • configurar alcance no Moss
  • configurar musgo ámbito de investigación
  • alcance en sharepoint 2007
  • alcance en sharepoint
  • buscar unha biblioteca de documentos musgo
  • Scopes primeiro musgo

Pode crear un ámbito de investigación en un cartafol, not just the entire document library.

Un ámbito pode ser compartido por varios conxuntos de sitios (polo que, a "shared service").

You can create the scope at the site collection level itself. Con todo, I prefer to go to central admin because I can start the crawl from there. You cannot start the crawl from the site collection.

Actualización (Eu) a partir de 11/24/07:

Kai Shang put together a great post entitled Como configurar o Microsoft Office SharePoint Server 2007 Índice de carpetas e seguimento de rede para a investigación @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry