[Sharepoint 2010]Error occurred in deployment step ‘Retract Solution’: Cannot start service SPUserCodeV4 on computer

diciembre 1, 2010 1 comentario

Buenas,

image

Aquí rápido un como solucionar este error si es que les ocurre. Como bien lo dice el mensaje al parecer tenemos un servicio detenido así que solo tenemos que iniciarlo, para ello vamos hacemos lo siguiente:

1.- Central Administration -> System Settings -> Manage services on server

2.- Localizamos el servicio de "Microsoft SharePoint “Microsoft SharePoint Foundation Sandboxed Code Service" y lo iniciamos

Listo!!

espero que les sea de utilidad.

Etiquetas de Technorati: ,,
Categorías:Errores, Sharepoint, Tips

2do Concurso Nacional de Diseño Industrial de Genomma Lab Internacional

noviembre 9, 2010 Deja un comentario

Aquí les comparto este concurso para la gente de diseño, si les interesa abajo esta la liga del sitio oficial para mayor información.

concurso_diseño

Genomma Lab Internacional S.A.B. de C.V. convoca a la Creatividad, Innovación, y Originalidad de Estudiantes Universitarios al diseñar un envase para shampoo en tres distintas capacidades. Pon en práctica tus conocimientos, demuéstranos tu imaginación y preséntanos tus propuestas.

Bases del concurso:

  • Participan estudiantes de 18 años en adelante que cursen las carreras de Diseño Industrial, Diseño Gráfico, Arquitectura y carreras afines.
  • La inscripción de proyectos no tiene ningún costo.
  • Las propuestas se recibirán en: Edificio Corporativo Zentrum piso 21, Av. Santa Fe no. 495, Col. Santa Fe Cruz Manca, C.P. 05349, México, D.F.
  • La fecha límite de inscripción es el 12 de noviembre del 2010 a las 17 horas.
  • La participación es de manera individual.
  • El participante acepta al momento de enviar su propuesta la cesión de los derechos patrimoniales de la obra a Genomma Lab Internacional, S.A.B. de C.V.

Liga del concurso http://ht.ly/30qGg

Etiquetas de Technorati: ,,,,
Categorías:.NET

[Sharepoint 2010] La fórmula contiene un error de sintaxis o no se admite.

septiembre 9, 2010 3 comentarios

buenas…

Aquí de nuevo un error de SharePoint que para variar es poco descriptivo. El escenario es el siguiente: El SO esta en Inglés y SharePoint 2010 también pero instale el paquete de lenguaje en Español entonces.

Quiero agregar una formula para un campo calculado, ya saben de Tipo Calculated y la función es de lo más sencilla:

        <Formula>=DATEDIF([ColumnaInicio],[ColumnaFin],"d")</Formula>

Están de acuerdo que es muy sencilla, pero al desplegar mi solución me muestra el siguiente error:

image

Solución

Pues parece que SharePoint también tiene dolores de cabeza con la región y este rollo de los idiomas. Solo basta con escribir la Función en Inglés y en lugar de usar comas “,” usar punto y coma “;”. Entonces la Formula queda de esta manera:

    
    <Formula>=DATEDIF([ColumnaInicio];[ColumnaFin];"d")</Formula

Y con esto queda solucionado el problema.

Notas: Esto es en la definición de un campo desde un XML, y hay que tener en cuenta lo del idioma ya que si todo esta en Inglés debe funcionar correctamente tal y como lo dice el MSDN. Otra es que si su campo en el atributo DisplayName tiene espacios ejemplo “Dia Inicial“ así deben colocarlo en la formula (extrañamente SharePoint toma el nombre de la columna del DisplayName y no del Name ¿qué raro no?

Saludos.

Etiquetas de Technorati:
Categorías:Errores, Sharepoint

The content type with Id [GUID] defined in feature [GUID] was found in the current site collection or in a subsite.

septiembre 9, 2010 Deja un comentario

¿De qué va este error? Se trata de un despliegue puede ser de lo más normal, pero conforme nuestra aplicación de Sharepoint crece con más y más campos se puede volver compleja la administración de tantos campos, tantos ContentType’s y tantas Listas. Para no hacer el cuento largo el error puede ocurrir (como lo es en mi caso) porque tenemos repetido el ContentType.

Solución

Buscar el ContentType en nuestra solución y ver el nombre seguro tenemos otro contentType con ese nombre pero con otro ID. Lo más fácil pero no lo correcto es colocar un Overwrite=TRUE
y el problema se “soluciona” pero realmente no se haría algo correcto ya que imaginen que tienen un ContentType con Correo Electrónico con ciertas características y otro con el mismo nombre que describe otra características totalmente diferentes, realmente necesitamos los 2 pero si sobre escribimos lo que sucederá es que tendremos 2 ContentType con el mismo nombre y Visual Studio nos dirá que tenemos este error entonces lo mejor es cambiara el nombre a estos ContentTypes si es que necesitamos los 2, sino es el caso pues habrá que eliminar uno.

 

Espero que les sea de utilidad.

 

Saludos.

Categorías:Errores, Sharepoint

[SharePoint 2010] Poblar datos en la instancia de una lista con datos múltiples (lookupmulti)

agosto 24, 2010 1 comentario

Buenas,

Creo que es el primer post de Sharepoint que escribo :P. Bueno les comento cual es el caso rápido como sabemos nosotros podemos poblar con datos una lista desde la instancia para esto contamos con un tag llamado Data y otro llamado DataSource. Yo ocupo el primero… y la sintaxis es más o menos asi

<?xml version="1.0" encoding="utf-8"?><Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ListInstance Title="milista"
                OnQuickLaunch="TRUE"
                TemplateType="000000"
                FeatureId="bd6f49e7-68ac-4988-b6ad-eff181bfdd02"
                Url="listas/milista"
                Description="">    
    <Data>
      <Rows>
        <Row>
          <Field Name="Id">1</Field>
          <Field Name="Nombre">NOMBRE1</Field>
        </Row>
      </Rows>
    </Data>
  </ListInstance>
</Elements>

Hasta aquí todo bien, creo que esto lo encuentran en la documentación del MSDN-

http://msdn.microsoft.com/en-us/library/ms478860.aspx

Pero que pasa si quiero mandar múltiples valores por ejemplo en un campo Lookupmulti, bien aquí la solución lo que tenemos que hacer es lo siguiente:

<Data>
  <Rows>
    <Row>
      <Field Name="Id">1</Field>
      <Field Name="Nombre">1;#nombre1;#2;#nombre2</Field>
    </Row>
  </Rows>
</Data>

Solo tenemos que  separarlos con “;#” pero es importante que coloquemos el ID y el VALOR para que esto funcione, recuerden que solo es para campos que aceptan valores múltiples.

Espero que les sirva y sino lo pongo porque luego sirve de referencia para  mi, porque se me olvida 😛

Etiquetas de Technorati: ,
Categorías:Sharepoint, Tips

[Silverlight] Issue al extender algún control, mis controles dentro de este se generan nulos. Silverlight 3 y 4

mayo 1, 2010 1 comentario

Buenas,

Les platico de que va esto, imaginen que hacen una aplicación en donde tendrán un UserControl contenedor de otros Controles, como si fuera un Grid, StackPanel, etc. pero propio, es decir;  que nosotros lo creamos con estilo, funcionalidad y forma.

Primero creamos nuestro control, agregamos un nuevo UserControl al que llamaremos ContenedorPrincipal con el siguiente código XAML y cs.

XAML.

<Grid>
        <Rectangle Fill="Green" StrokeThickness="0" 
                   RadiusX="5"
                   RadiusY="5"  Margin="0" 
                   Canvas.ZIndex="-1"/>
        <Grid Margin="0">
            <Grid >
                <TextBlock x:Name="mensaje" Text="Mensaje" 
                           TextWrapping="Wrap" 
                           FontWeight="Bold" 
                           Foreground="White" Margin="0,2,0,0"                            
                           TextAlignment="Right" 
                           VerticalAlignment="Top" 
                           HorizontalAlignment="Center"                      >
                </TextBlock>
            </Grid>
            <Grid Margin="0,20,0,0">
                <StackPanel Margin="5,2" x:Name="contenedor" 
                            Canvas.ZIndex="2" />
                <Rectangle StrokeThickness="0" RadiusX="5" 
                           RadiusY="5" Margin="2" 
                           Fill="White" />
            </Grid>
        </Grid>
    </Grid>

Code Behind .cs

public string Texto
       {
           get { return mensaje.Text; }
           set { mensaje.Text = value; }
       }

       public StackPanel ControlHijo
       {
           get 
           {
               return contenedor.Children[0] as StackPanel;
           }
           set
           {
               contenedor.Children.Clear();
               contenedor.Children.Add(value);
           }
       }

Y nuestro control se ve así:

imageYa con el control, pensamos en reutilizarlo y dentro de el colocar todos los controles que necesitemos, de cualquier tipo, veamos como lo usariamos en una pagina xaml. Esto se haría así:

Agregamos la referencia del ensamblado de nuestro proyecto en el XAML:

xmlns:t="clr-namespace:IssueSilverlight"

luego dentro del Grid agregamos el control así:

        
<t:ContenedorPrincipal Texto="Mensaje del Contenedor Principal">
    <t:ContenedorPrincipal.ControlHijo>
        <StackPanel>
            <Button x:Name="botonPrueba" Content="Hola Mundo" 
                    Margin="5"
                        Width="100"/>
        </StackPanel>
    </t:ContenedorPrincipal.ControlHijo>
</t:ContenedorPrincipal>

Hasta este momento todo bien, si al boton que agregamos dentro del stackPanel le agregamos un evento como el Loaded, Click, etc, vean lo que sucede. Hacemos la prueba con el Loaded

private void botonPrueba_Loaded(object sender, RoutedEventArgs e)
{
    botonPrueba.Content = "nuevo mensaje";
}

Vean lo que sucede al correr la aplicación:

image

Me dice que mi botonPrueba no se ha creado y que es nulo :S, alguien me puede decir porque, si se supone que es su mismo evento Loaded. Por un momento pensé que era cosa de como se generan los controles en Silverlight, que primero se crea el Control Padre y por ultimo los hijos, pero NO, esto esta mal.

Ustedes que harían si les pasa esto, seguramente buscar en google, no?,pero que buscarían: “Object referece not set to an instance of an object”, no verdad, la verdad es que no tenemos muchas herramientas para buscar como resolver esto.

Bueno ps aquí mi solución, por si les pasa esto. Sin ser experto en la materia, les puedo decir que al parecer el problema es con el código XAML, al parecer no permite crear instancias de controles dentro de un contenedor como el que creamos, es decir; para el xaml nuestro control botonPrueba realmente no existe, esto al parecer por el x:Name, que aunque no nos marca error sucede. Es más si hacen esto en WPF les marca un error jajaja. “Qué cosas no?”

Entonces mi solución es, agregar al proyecto un archivo de código y crear nuestro control a patin, en puro code behind, claro nuestra clase debe heredar de UserControl e implementar una interface de ISupportInitialize, solo para Silverlight 4 porcierto jaja.

Código de mi control sin archivo .xaml

public class ContenedorCodeBehind : UserControl, ISupportInitialize
{
    private TextBlock mensaje;

    private StackPanel contenedor;

    public void BeginInit()
    {
        Grid gridPrincipal = new Grid();

        //Rectangulo
        Rectangle rectangle = new Rectangle();
        rectangle.Fill = new SolidColorBrush(Colors.Green);            
        rectangle.RadiusX = 5;
        rectangle.RadiusY = 5;
        Canvas.SetZIndex(rectangle, -1);            
        gridPrincipal.Children.Add(rectangle);

        //Grid que deberia Ser DockPanel
        Grid dockPanel = new Grid();

        Grid grid1 = new Grid();

        #region TextBlock

        //TextBlock
        mensaje = new TextBlock();
        mensaje.Text = "Mensaje";
        mensaje.TextWrapping = System.Windows.TextWrapping.Wrap;
        mensaje.FontWeight = FontWeights.Bold;
        mensaje.Foreground = new SolidColorBrush(Colors.White);
        mensaje.Margin = new Thickness(0, 2, 0, 0);
        mensaje.TextAlignment = TextAlignment.Right;
        mensaje.RenderTransformOrigin = new Point(0, 0);
        mensaje.HorizontalAlignment = HorizontalAlignment.Center;
        mensaje.VerticalAlignment = VerticalAlignment.Top;

        #endregion TextBlock

        grid1.Children.Add(mensaje);
        dockPanel.Children.Add(grid1);


        Grid grid2 = new Grid();
        grid2.Margin = new Thickness(0, 20, 0, 0);
        contenedor = new StackPanel();
        contenedor.Margin = new Thickness(5, 2, 5, 2);
        Canvas.SetZIndex(contenedor, 2);
        grid2.Children.Add(contenedor);


        Rectangle rec = new Rectangle();
        rec.StrokeThickness = 0;
        rec.RadiusX = 5;
        rec.RadiusY = 5;
        rec.Margin = new Thickness(2);

        rec.Fill = new SolidColorBrush(Colors.White);            

        grid2.Children.Add(rec);
        dockPanel.Children.Add(grid2);
        gridPrincipal.Children.Add(dockPanel);

        Content = gridPrincipal;
    }

    public void EndInit()
    {
        //throw new NotImplementedException();
    }

    public StackPanel ControlHijo
    {
        get
        {
            return contenedor.Children[0] as StackPanel;
        }

        set
        {
            contenedor.Children.Clear();
            contenedor.Children.Add(value);
        }
    }

    public string Texto
    {
        get
        {
            return this.mensaje.Text;
        }
        set
        {
            this.mensaje.Text = value;
        }
    }
    
    
}

Si se dan cuenta es el mismo control solo que sin el archivo .XAML. Ahora lo agregamos a nuestra pagina como el anterior y comentamos el código del otro control e incluso agregamos el mismo botonPrueba.

<Grid x:Name="LayoutRoot" Background="White">
    <t:ContenedorCodeBehind Texto="Control sin archivo .xaml">
        <t:ContenedorCodeBehind.ControlHijo>
            <StackPanel>
                <Button x:Name="botonPrueba" Content="Hola Mundo"
                        Margin="5" Loaded="botonPrueba_Loaded"
                    Width="100"/>
            </StackPanel>
        </t:ContenedorCodeBehind.ControlHijo>
    </t:ContenedorCodeBehind>
    <!--<t:ContenedorPrincipal Texto="Mensaje del Contenedor Principal">
        <t:ContenedorPrincipal.ControlHijo>
    <StackPanel>
        <Button x:Name="botonPrueba" Content="Hola Mundo" 
                Margin="5" Loaded="botonPrueba_Loaded"
                    Width="100"/>
    </StackPanel>
</t:ContenedorPrincipal.ControlHijo>
    </t:ContenedorPrincipal>-->
</Grid>

Y si ahora ejecutamos la aplicación… Sorpresa!!!! falla de nuevo jajajaja, naaa ya todo funciona correctamente :D, y ya podemos reutilizar nuestro control contenedor. Eso me pasa por querer hacer tantas cosas desde xaml a patín, mejor usar Expression, aunque este error pasa igual si lo usan :P. Para que vena que es verdad un video con los dos controles y el código fuente.

Video.

Proyecto.

image

Que les sea leve el día!!!

Categorías:.NET

Red Bull Street Style World Final 2010 Action Clip

Categorías:.NET