csegRollUp v3 out

- 2 mins read

Finally csegRollUp v3 is here, first I want to give to thanks to all beta testers and and special thanks to Florian Rossmark and Dor Rotman.

  • Lists – As in previous versions, List of comma delimited values that signify the sites and lists Format: /site/subsite:ListName, /site/subsite/subsite:ListName

  • Fields – As in previous versions, List of comma delimited values with the field names Format: Title,Text,Comment,User

  • Include List Data (new) – If enabled the result xml data contains special fields

csegRollUp v3 rc1

- 2 mins read

I am finishing csegRollUp v3, at the moment some examples….

1.- Using csegRollUp cell consumer interface.

Show all documents inside of a document library where Title contains data provider from other webpart.

Lists: Shared Documents Fields: ID, LinkFilename,EncodedAbsUrl,Modified,DocIcon,FileRef,Author,Title

CAML query

<Where>
   <Contains>
      <FieldRef Name='Title' />
      <Value Type='Text'>[CellProvider]</Value>
   </Contains>
</Where>

Recursive: enabled

XSLT

<?xml version='1.0' encoding='utf-8'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output method="html" />
   <xsl:template match="/">
      <table class="ms-summarycustombody">
         <tbody>
            <xsl:for-each select="Rows/Row">
               <xsl:sort select="Modified" order="descending" />
               <tr>
                    <td>
                       <img src="/_layouts/images/ic{DocIcon}.gif" />
                    </td>
   
                    <td width="75%">
                       <a href="{EncodedAbsUrl}">
                          <xsl:value-of select="LinkFilename" />
                       </a>
                    </td>
                 </tr>
              </xsl:for-each>
           </tbody>
        </table>
     </xsl:template>
  </xsl:stylesheet>

2.- Using csegRollUp cell provider interface

Bloqueando campos

- 2 mins read

Hace unos días necesitaba bloquear un campo en una lista de sharepoint, esto se puede hacer modificando las páginas newform.aspx y editform.aspx y añadiendo un pequeño script.

<script defer>
    // tomar el campo y bloquearlo
    var fld_anotacion = frm.FieldPost(frm.FindField("Anotaci_x00f3_n"));
    fld_anotacion.readOnly = true;
    // poner el foco en el campo descripcion
    frm.FindField("Descripci_x00f3_n").FieldFocus();
</script>

En este caso en concreto, el campo bloqueado se rellena desde un nuevo formulario (una copia de editform.aspx que he modificado para albergar una nueva zona de webparts y dentro de esta he añadido un data viewer webpart) este formulario se utiliza para rellenar el campo que con los formularios iniciales se encuentra bloqueado.

Google Sharepoint

- 6 mins read

Al igual que otros usuarios de SharePoint, en su día me encontré con la limitación que tienen las búsquedas de SharePoint. Por ello desarrolle el csegSearchWebPart, añadiendo funcionalidad extra a las búsquedas del portal.

Como referencia tome Google, ya que es considerado “el mejor buscador del mundo”.

Estos días he pensando en ello, y he llegado algunas conclusiones interesantes.

Goggle tiene tres grandes rasgos que otros buscadores no tienen:

  • Cantidad de documentos indexados. (8.000 millones)
  • Flexibilidad en las búsquedas.
  • Motor de indexación / búsqueda distribuido.

Y un gran característica que lo diferencia de los demás buscadores

SPQuery and Recurrence

- 2 mins read

This last long weekend I’m playing with spqery to show recurrent events from one of my lists after spent too many hours and the only think I have got are frustrations.

The query.ViewAttributes, with RecurrenceRowset=’TRUE’ or with ModerationType=’Moderator’ modifiers are ignored totally.

My sample query for recurrence without results : (RecurrenceRowset=’TRUE’)

<Where>
  <DateRangesOverlap>
    <FieldRef Name=”EventDate” />
    <FieldRef Name=”EndDate” />
    <FieldRef Name=”RecurrenceID” />
    <Value Type=”DateTime”>
      <Now />
    </Value>
  </DateRangesOverlap>
</Where>
``

Today trying get the pending documents: (ModerationType=’Moderator’)

```xml	
<Where>
  <Eq>
    <FieldRef Name=”_ModerationStatus” />
    <Value Type=”Integer”>0</Value>
  </Eq>
</Where>

After read the wsssdk, there is only a example with “ModerationType” is in “SPModerationInformation” class

csegRollUp v3

- 2 mins read

csegRollUp v3

  • Include List Data flag, if you enable the checkbox the xml data will include the underscore data

(_ListTitle, _ListUrl, _SiteTitle, _SiteUrl, _ItemId, _ItemUrl, _ItemEdit)

  • Queries

    • CAML Query you can use a caml query to search on each list.
    • RowLimit – maximun number of rows to return
    • Recursive - the query recursive be made (great for Document Libraries)
    • DebugQuery – show the xml from the query

    Special values that you can use on queries:

csegSearch Install

- 1 min read

1.- Load your search.aspx with http://server/search.aspx&Mode=Edit?PageView=Shared

2.- Enter in design mode using “Modify Shared Page” menu

3.- Select the csegSearch Webpart and put it on page

4.- Go to the original “Search Results” webpart and modify properties, at the end there is a property called ResultListID, it has a list name, remember the name.

5.- Now delete the original “Search Results”

6.- Edit the csegSearch properties and locate the ResultListID, write the same name that the old webpart.

csegMiniWiki 2

- 1 min read

Jugando con mi nuevo webpart csegMiniWiki, he caído en la cuenta que en la lista de contenido hay ciertos campos ocultos (los que tienen todas las listas) de modo que he cogido mi webpart csegScriptWebPart para examinar la lista y ….

Como es lógico están todos los campos ocultos, bien ahora cómo csegMiniWiki puede reemplazar el nombre de un campo por su contenido he probado a ver que pasa y ….

csegScript 2

- 2 mins read

This weekend I have finished the first version of csegScript, now are two webparts in the package, the first webpart is the 0.99 version with some improvements in the code, the operation basically is the same one. (See previous post)

The second new webpart uses a list to store the scripts, and has three slots to pass parameters to the webpart. (Thanks to Stramit by your idea)

The list fields are:

csegDocLib

- 2 mins read

Introducing csegDocLibTools

The past week, looking how to show the missing folder view in document libraries, I had a good idea about how to improve my documents libraries, in this moment I had a clear idea over three things:

First I needed Copy and Paste documents in the library, because this is an essential feature to organize the library. There is a good solution to do from Syntergy, they have a cut and pase webpart.