Arxius per mes: Novembre 2007

No pot batre l'abast del SharePoint

Durant els darrers dos dies, He participat en dues reunions durant el qual ens va presentar els resultats d'un projecte de SharePoint. El CIO i el seu equip es va incorporar a la primera reunió. Que és l'estàndard i no especialment notables. El Departament d'informàtica és, òbviament, implicat en un desplegament d'empresa de qualsevol projecte de tecnologia. La Segona reunió procedí a V.P. de màrqueting, diversos consellers en representació de HR, Logística, Fabricació, Projectes de capital, Qualitat, Compra, Desenvolupament corporatiu i altres departaments (algunes de les quals no hi havia ni tan sols de directament implicats en l'actual fase). Que és un públic ampli poderós.

En la meva vida previ, Principalment he treballat en projectes d'ERP i CRM. Tots dos tenen un domini força ample solució però no tan àmplia com la del SharePoint. A ser plenament efectius, Projectes de SharePoint legítimament i necessàriament assolir en cada racó i esquerda d'una organització. Com molts altres solucions d'empresa té que arribar a classe de? No molts.

SharePoint representa clarament una oportunitat enorme per a aquells de nosaltres la sort d'estar en aquest espai. Proporciona una gran oportunitat de tècnic (que d'alguna manera és convertit en el cap aquí sota "Tecnologies que cal dominar"). Però fins i tot millor, SharePoint ens exposa a una extensa i àmplia varietat de processos de negoci a través d'aquests compromisos. Com molts especialistes CRM treballar amb la part de fabricació de l'empresa? Quants ERP treballen amb els recursos humans en l'adquisició de talent? SharePoint supera els dos.

Com tot, no és perfecte, però és un maleït bon lloc per ser.

Per a l'amor de [Ompli el seu estimat més ésser persona més alt], no canviar l ' títol’ columna del lloc.

En la Fòrums de SharePoint, de tant en tant algú pregunta sobre "Canviem l'etiqueta del títol" o sobre "traient títol de llistes".

Bottom line: No fer-ho!

Tristament, la interfície d'usuari permet un canvi d'un sol sentit d'aquella etiqueta de columna, com es Mostra:

imatge

Títol és una columna associat a l'element"" tipus de contingut. Molts, molts, molts CT utilitzar aquesta columna i si vostè canviar-lo aquí, -ones a tot arreu. Hi ha una bona probabilitat que vostè no tenia la intenció per que això passi. Probablement estàs pensant a si mateix, "Tinc una llista de cerca de costum i ' títol’ no té sentit com a nom de la columna, Així que vaig canviar-lo per ' codi d'estatus’ i afegir una columna de descripció." Però si seguir amb aquest pensament i rebategi ' títol’ a 'Codi d'estatus', títol de cada llista (incloent-hi les biblioteques de documents) canvis al "codi d'estatus" i probablement no tenia la intenció per que això passi.

El problema real és que aquest és un canvi de sentit únic. L'UI "sap" que el títol"" és una paraula reservada. Així, si prova i canviar "codi d'estatus" tornar a "Títol", s'evitarà i ara he pintar-se en una cantonada using paint that never dries 🙂

Llavors, què passa si ja ho canviat? No he vist la resposta que tots volem, que és un mètode simple i fàcil de canviar l'etiqueta 'Title' a. Ara mateix, el millor consell és canviar-lo a alguna cosa com "Doc/element títol". Això és una etiqueta prou genèrica que poden no ser massa discordant per als usuaris.

Tinc algunes altres idees que són en la meva llista de tasques pendents de les coses a la recerca:

  • Contactar amb Microsoft.
  • Fer alguna cosa amb el model d'objecte, potser en conjunció amb una característica.
  • Esbrinar l'esquema de base de dades i actualitzar manualment SQL. (Hauries de contactar amb Microsoft abans de fer això però; és probable que això es larà el seu contracte de suport).

Si qualsevol sap com resoldre aquest, Si us plau enviar un comentari.

Actualització de tarda, 11/15: He trobat aquest enllaç que descriu un mètode per crear un tipus de llista que no té una columna de títol: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

BDC ADF i el seu amic, CDATA

M'he adonat alguns maldestre i innecessari mà-codificació de RdbCommandText en alguns exemples (inclosos documentació de MSDN).

Volia assenyalar els nouvinguts a BDC que comandes poden ser embolicat en una etiqueta CDATA al seu natural"" formulari. Així, Aquesta construcció maldestre:

<Propietat Nom="RdbCommandText" Tipus="System.string">
Seleccioneu dbo.MCRS_SETTLEMENT.ID, DBO.MCRS_SETTLEMENT.Settlement de dbo.MCRS_SETTLEMENT
ON (ID &gt;= @MinId) I (ID &lt;= @MaxId)
</Propietat>

es pot representar millor d'aquesta manera:

<Propietat Nom="RdbCommandText" Tipus="System.string">
<![CDATA[
Seleccioneu dbo.MCRS_SETTLEMENT.ID, DBO.MCRS_SETTLEMENT.Settlement de dbo.MCRS_SETTLEMENT
ON (ID >= @MinId) I (ID <= @MaxId)
]]>
</Propietat>

</final>

Imprimació BDC

Introducció al BDC

Exemple funcional: ADF BDC que connecta a la base de dades SQL amb l'identificador d'usuari incrustat i contrasenya

Necessitava fer cables a molsa a una base de dades SQL mitjançant BDC. Per a propòsits de testatge/POC, Jo volia per incrustar el SQL compte d'usuari id i contrasenya a l'ADF. Començant amb Aquesta plantilla (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), He creat un ADF que connecta a un exemple de servidor SQL particular i entra amb un usuari concret id i contrasenya i es mostra en aquest fragment:

  <LobSystemInstances>
    <LobSystemInstance Nom="ClaimsInstance">
      <Propietats>
        <Propietat Nom="AuthenticationMode" Tipus="System.string">Passarel</Propietat>
        <Propietat Nom="DatabaseAccessProvider" Tipus="System.string">SqlServer</Propietat>
        <Propietat Nom="Origen de dades de RdbConnection" Tipus="System.string">serveractual real instància</Propietat>
        <Propietat Nom="Catàleg d'inicial de RdbConnection" Tipus="System.string">present inicial catàleg</Propietat>
        <Propietat Nom="RdbConnection integrat de seguretat" Tipus="System.string">SSPI</Propietat>
        <Propietat Nom="Agrupació de RdbConnection" Tipus="System.string">fals</Propietat>

        <!-- Aquests són els valors de la claus: -->
        <Propietat Nom="Identificador d'usuari de RdbConnection" Tipus="System.string">unctual Identificador d'usuari</Propietat>
        <Propietat Nom="Contrasenya de RdbConnection" Tipus="System.string">Contrasenya present</Propietat>
        <Propietat Nom="RdbConnection Trusted_Connection" Tipus="System.string">fals</Propietat>

      </Propietats>
    </LobSystemInstance>
  </LobSystemInstances>

No és una pràctica millor, però és útil per a una configuració ràpida i senzilla per a les proves. Això era sorprenentment difícil d'esbrinar. Mai he trobat un exemple funcional amb keywords de recerca:

  • ADF incrustat userid i contrasenya
  • arrelen identificador d'usuari i contrasenya a adf
  • arrelen identificador d'usuari i contrasenya a adf bdc
  • SharePoint bdc primer
  • SharePoint arrelen identificador d'usuari i contrasenya a adf

</final>

Subscriure's al meu blog.

Accions de costum de flux de treball de l'SPD — realçaments de manipulació de corda

Fa una setmana, Vaig començar un projecte de codeplex que proporciona un mètode senzill i raonablement genèric per afegir funcions d'acció personalitzada al flux de treball SharePoit dissenyador. És descrit aquí: http://www.codeplex.com/spdwfextensions. Més enllà de la simplement proporcionant un marc, també pretén proporcionar un conjunt de funcions útils que faran més útil/flexible/fort SPD.

Aquí hi ha les actuals característiques planejades per a versions 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Si algú té algun interès en aquest projecte, Si us plau deixar un comentari o començament/afegir a una discussió aquí: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Aquí hi ha el conjunt actual de les funcions que han estat codificat (encara que no completament provat com de 11/08/07):

Funció Descripció (Si no mateix com funció .net)
Num-entrades() Retorna els número "entrades" en una cadena segons un delimitador especificat.

Per exemple: Num-entrades en una corda "a,b,c" amb delimitador de"," = 3.

Entrada() Retorna l'enèsima testimoni d'una cadena segons un delimitador especificat.
Longitud String.Length
Substituir() String.Replace()
Conté() String.Contains()
Retorna la paraula "veritable" o la paraula "fals".
Subcadena(Inici) String.Substring(Inici)
Subcadena(Inici,final) String.Substring(Inici,final)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Retorna la paraula "veritable" o la paraula "fals".
EndsWith() String.EndsWith()
Retorna la paraula "veritable" o la paraula "fals".

Ràpida & url fàcil codificació utilitat de taula de treball

Que he estat necessitant a url-codificar algunes cadenes d'aquesta setmana i li va colpejar junts una una petita utilitat que pensava que caldria posar SkyDrive per a la comunitat.

Porti el binari aquí: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

Aconseguir aquí la solució de visual studio: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Aquí està una captura de pantalla:

imatge

Ràpid i fàcil: Inserir un enllaç en element de web de visualització de dades XSLT

ACTUALITZACIÓ (01/17/08): Aquesta entrada del bloc parla de hipervincle més bondat XSL: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Descripció i objectiu: Jo havia creat un gràfic de barres senzill per servir com a component en un quadre de comandament. Estalviaré els detalls en la construcció de gràfics per a un altre lloc, però jo no la va inventar aquesta tècnica (ni l'interrogant, per al cas). Resultava que hi havia un error en el gràfic i mentre em fixo que, Vaig prendre l'oportunitat de convertir algunes etiquetes en hipervincles que apuntava a la llista subjacent darrere el gràfic. Per exemple, hi ha una etiqueta amb valor "Mantingut". Volia convertir l'etiqueta en un enllaç per a que l'usuari podria fer-hi clic i perfori avall les entrades específiques en la llista el valor de l'estat és "Mantenir".

Passos:

  1. Estudi visual d'ús per a intellisense conscient del SharePoint.
  2. Copiar XSLT del DVWP en estudi visual (crear un projecte en blanc, Afegeix un fitxer XSL al projecte).
  3. Copia l'enllaç que voleu fer servir al porta-retalls.
  4. Enganxar-lo en la localització correcta a l'XSL.
  5. Convertir separadors de discussió d'URL en la cadena de consulta de"&" a"&amplificador;"
  6. URL codifica arguments individuals.
  7. Embolicar que dins una <un href…> </un>

Exemple:

Vaig tenir un URL:

http://[servidor]/[lloc]/Lists/Open Positions/AllItems.aspx?Veure ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = reclutat&FilterValue1 = mantenir

Em vaig convertir-lo en:

     <un href="Lists/Open Positions/AllItems.aspx?Veure = % 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1 %7 d&amplificador;FilterField1 = reclutat&amplificador;FilterValue1 = mantenir"> Agafador: </un>

He transformat manualment el primer argument de:

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

per:

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

(En aquest, la cotilla obert es transforma a % 7b i el tancament clau es transforma a %7 d)

Els arguments de segon i tercers’ paràmetres ("FilterField1 =Reclutat" i "FilterValue1 =Agafador" respectivament) no cal ser codificats en url perquè no contenen cap caràcters no segurs.

Notes:

Aquesta tècnica generalment hauria de funcionar en qualsevol lloc que voleu incrustar un hipervincle en XSLT on l'hipervincle inclou paràmetres en l'URL com ara:

http://[servidor]/[lloc]/Lists/Open Positions/AllItems.aspx?Veure ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = reclutat&FilterValue1 = mantenir

Tinc l'URL per accedir a la llista personalitzada i filtratge manualment a la columna de l'estat (amb l'etiqueta "reclutat" per sobre de).

Ràpid i senzill: Permetre el flux de treball de SharePoint Designer actualitzar un formulari InfoPath

Escenari: Tinc un formulari InfoPath que un procés de flux de treball implementat mitjançant el SharePoint Designer frontals. En un moment, un director ha d'aprovar el formulari. Des d'aleshores no puc comptar sobre història de flux de treball per satisfer les meves necessitats d'auditoria, Em vaig decidir emmagatzemar el meu propi missatge d'auditoria directament en el mateix formulari.

Visió de conjunt:

La forma de dissenyar i publicar-lo com un tipus de contingut i la forma d'una biblioteca de documents. Mark desitjat camps de formulari com updateable de molsa. El formulari està lligada al tipus de contingut i el tipus de contingut és "adjunt" a una biblioteca de formularis (o molts, Si voleu). Escriure un flux de treball que actualitza el camp.

Passos específics:

  1. Crear una biblioteca de documents. Això tindrà la seva plantilla de l'InfoPath.
  2. Crear una biblioteca de formularis.
  3. Crear el formulari InfoPath. Inclouen un camp de text, "Missatge d'auditoria".
  4. Publicar el formulari com un tipus de contingut (NO un document).
  5. Mentre completo els diàlegs de les editorials:
    un) Deseu el fitxer. xsn a la biblioteca de documents (pas #1).
    b) Publicar el "missatge d'auditoria" camp i marca veritable: "Permet als usuaris editar dades en aquest àmbit mitjançant una pàgina del full de dades o propietats".
    c) Crear un tipus de contingut nou i donar-li un nom apropiat.
  6. Accés a la biblioteca de formularis.
    un) Aneu a la configuració avançada i habilitar la biblioteca de formularis per a gestionar el tipus de contingut.
    b) Seleccioneu el tipus de contingut novament creat (5c anterior). Això s'agruparan sota «Microsoft InfoPath" (o similar).
    c) Treure l'omissió "forma" tipus de contingut de la biblioteca.
    d) Marca la biblioteca "mostrar com a pàgina web" manera que la forma posarà en marxa des del SharePoint i no el client d'estació de treball de l'InfoPath.
  7. Tornar a la biblioteca de formularis adequat i feu clic a "crea" simplement verificar que el mòdul és publicat correctament i que actuï com vulguis.
  8. Inicieu el SharePoint Designer i Navegui al lloc que allotja la biblioteca forma (des del pas 2).
  9. Crear un nou flux de treball adscrits a la biblioteca de formularis.
  10. Afegir una única acció "Situat a actual element del camp". Vostè ha d'esperar SharePoint Designer a la llista és el seu camp, "Missatge d'auditoria". Assignar-li un valor.
  11. Faci clic a acabat i torni a la biblioteca forma.
  12. Crea un formulari nou i posar algun valor de prova en el "missatge d'auditoria" camp.
  13. Deseu-lo i tornar a la biblioteca forma.
  14. Clic correcte, Seleccioneu "flux de treball" en marxa el seu flux de treball i.
  15. S'ha quedat gairebé immediatament. Aixecar el formulari (des del pas 12) i si tot ha anat a planificar, "Missatge d'auditoria" ha estat assignat qualsevol valor que heu proporcionat al pas 10.

Notes:

No tots els controls poden configurat per a aquesta comunicació bidireccional. Per exemple, no sembla per implementar un flux de treball SPD que modifica camps de text embolicats en seccions que es repeteixen.

Un de la clau prendre distància aquí és que realment hem creat un tipus de contingut amb una plantilla associada. Això també permet emmagatzemar múltiples plantilles de formulari InfoPath a la mateixa biblioteca de forma.

Això requereix servidor de formes. Sens dubte no va treballar en un WSS 3.0 entorn i probablement ni tan sols requereix un entorn empresarial del SharePoint.

El Beagle ha aterrat (Octubre 2007 qüestió)

(Això és realment una mica vell notícies, però com proclama el meu lema favorit de bombers, "Més val tard que mai").

Comprovi'l aquí: http://www.sharepointbeagle.com/

Si ja no té, sigui segur per inscriure's.

Clar, sigui segur per llegir el meu article sobre un projecte de món real del SharePoint (incloent-hi la definició de requeriments, De KPI, tipus de contingut, escriptoris digitals i més) així com company del meu article sobre l'element web consulta de continguts.

Hi ha moltes altres coses bones també.

Com treure “Veure tot el contingut web” enllaç

Jo sóc aquesta pregunta gairebé cada setmana, normalment en el context d'una discussió de seguretat. Un creador de administrador/lloc ha proveït d'un lloc, seguretat configurat, web concertats de peces i personalitzar la llanxa ràpida per proporcionar que Ah-així-perfecte conjunt d'opcions a l'usuari final. Però, fora de la caixa, no es pot suprimir el "veure tot el contingut web" enllaç.

Mark Wagner proporciona la resposta aquí (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). El reportatge és fabulós en dos nivells. Proporciona una resposta a la pregunta, "Com puc eliminar el contingut veure tots els lloc" enllaç? Llavors, contesta la pregunta immediata de seguiment: Com jo fàcilment permetre la visualització tots els continguts de lloc d'enllaç en una base de lloc web?

Com un bo: El seu enfocament treballa per WSS, no només molsa.

</final>

Subscriure's al meu blog!