viernes, 21 de septiembre de 2012 0 comentarios

SharePoint 2010 - Cambiar la URL de una coleccion de sitios

En alguna ocasión se nos habra presentado el problema que una vez creado un sitio nos dicen que la URL no les gusta o que quieren cambiarle el nombre y que quede reflejo en su URL.

En principio no se puede cambiar dicha URl sin tener que rehacer el sitio completo. La manera mas facil y rapida de hacer esto es:

  • Realizamos un backup del sitio en cuestion.
    • stsadm -o backup -url http://nombredeservidor/sitios/sitioarenombrar -overwrite -filename sitioarenombrar.dat
  • Borramos el sitio que vamos a renombrar.
    • stsadm -o deletesite -url http://nombredeservidor/sitios/sitioarenombrar
  • Restauramos el backup asegurandonos de darle el nuevo nombre al sitio
    • stsadm -o restore -url http://nombredeservidor/sitios/nuevonombre
    -filename sitioarenombrar.dat En el parametro -filename puede indicarse la ruta del archivo.

    Tras todo esto solo quedara cambiar el nombre  en todos los lgares que aparezca dentro del sitio y ya lo tendremos cambiado totalmente.

    Espero que sirva de ayuda.
    miércoles, 25 de julio de 2012 0 comentarios

    Identificar el ID de Proceso de W3WP de un Pool de Aplicaciones de IIS 7

    En muchas ocasiones para poder depurar una aplicacion web o un servicio necesitamos conocer el Id de proceso sobre el que corre la aplicacion Web en IIS (proceso W3WP) y asociar el codigo a dicho proceso para depurar.

    Esto se utiliza bastante y es muy util en el desarrollo de componentes de SharePoint ya que para poder depurarlos es necesario hacerlo asociando la depuración al proceso de IIS.

    Para ver los id de proceos asociados a los procesos de IIS7 debe ejecutarse el siguiente comando en el simbolo de sistema:
                                              %windir%/system32/inetsrv/appcmd list wp

    Este comando devolvera una lista de todos los procesos cuyo nombre contenga wp (El proceso de IIS es W3WP.exe)
                                    WP “5716″ (applicationPool:DefaultAppPool)
                                    WP “968″ (applicationPool:OtroAppPool)
                                    WP “5836″ (applicationPool:OtroMasAppPool)



    0 comentarios

    No aparece el boton de edición de formularios con Infopath en SharePoint 2010

    A veces ocurre que cuando vamos a editar un formulario de una lista en Infopath nos damos cuenta que el boton correspondiente del Ribbon no esta.



    Esto puede deberse a los siguientes motivos:

    • No tenemos activada una version Enterprise del servidor de SharePoint.
      • Puede ser que nuestra licencia sea Standarda o que no se haya activado como Enterprise.
    • No se han habilitado los servicios de Infopath.
    • No se han activado las caracteristicas de Enterprise a nivel de colección de sitios y a nivel de sitio en la configuración de nuestro sitio.
    Si todos estos pasos se han realizado y seguimos sin ver el boton, entonces solo queda una cosa por hacer.
    A veces la caracteristica correspondiente a esta funcionalida no se activa correctamente. Esta caracterisitica no aparece en ninguna de las listas de caracteristicas del portal, asi que debe activarse a mano. Para hacerlo debemos ejecutar el siguiente comando en una ventan de PowerShell:

     Enable-SPFeature -Identity c88c4ff1-dbf5-4649-ad9f-c6c426ebcbf5 -URL "URL del sitio" -force

    Una vez ejecutado este comando podemos reciclar el Pool de Aplicaciones de IIS para asegurarnos que el cambio se realiza.

    En cuanto refresquemos el navegador  y accedamos a las opciones de la lista, el boton deberia estar en su sitio.

    En caso de que esto no sea asi, podemos intentar ejecutar los siguientes comandos por orden para asegurarnos de que la carecteristica esta bien instalada:

    Install-SPFeature -path "IPFSSiteFeatures" - force 
    Install-SPFeature -path "IPFSWebFeatures" - force
    Enable-SPFeature -Identity c88c4ff1-dbf5-4649-ad9f-c6c426ebcbf5 -URL "URL del sitio" -force

    Espero que sirvan de ayuda  estas indicaciones.A mi me han servido bastante en varias ocasiones, ya que esta carcteristica no siempre se activa correctamente.

    viernes, 23 de abril de 2010 0 comentarios

    Curso de C# - Parte 1

    Curso de C#


    Introducción

    Este va a ser el inicio de un curso de C# que espero que podamos llevarlo hasta el final y que pueda servir de algo a todos.


    Pretendo que este curso sirva a cualquiera que quiera aprender este lenguaje de programación a poder hacer sus propias aplicaciones, independientemente de los conocimientos que tenga de informática.


    Este curso pretende enseñar desde lo más básico hasta lo más complicado, eso sí limitándonos al lenguaje en sí sin entrar en profundidad en librerías añadidas para cometidos concretos, habrá algunos casos en los que haya que entrar un poco más en ciertos aspectos por ser de uso mas común.

    Podríamos decir que va ser un curso para principiantes, o sea todo se explicara de la manera más sencilla posible y en el caso de que no se pueda se machacara bastante ese tema para que pueda comprenderse.

    Bueno vamos a empezar con lo que importa.



    Echemos un vistazo al Framework


    El .NET Framework es un conjunto de componentes que están integrados en el propio sistema operativo, según estos van avanzando en sus versiones van integrando el .NET Framework cada vez mas de forma nativa.


    .NET Framework incluye un sistema de ejecución virtual denominado Common Language Runtime (a partir de ahora CLR), además está compuesto por un conjunto unificado de clases y componentes. CLE es la implementación realizada por Microsoft de la Common Language Infrastructure (CLI), norma internacional que constituye la base para crear entornos de ejecución y desarrollo independientes del lenguaje y la plataforma.



    Todos los lenguajes que se pueden utilizar con el .NET Framework (C#, Visual Basic .NET, Fortran, J#, F#, COBOL, etc.) se compilan en un lenguaje intermedio conforme a la especificación CLI. Todo este código generado en el lenguaje que prefiramos y recursos, como imágenes o cadenas de texto, se almacenan en un archivo al que se denomina ensamblado y que puede se un archivo ejecutable (.exe) o una librería (.dll). Dichos ensamblados contienen un manifiesto que proporciona información sobre los tipos, la versión, la referencia cultural y los requisitos de seguridad del ensamblado.


    Cuando se ejecuta un programa .NET el ensamblado se carga en CLR, con lo que se pueden realizar diversas acciones en función de la información del manifiesto. A continuación, si se cumplen los requisitos de seguridad, CLR realiza una compilación Just In Time (JIT) para convertir el código de lenguaje intermedio en codigo máquina nativo. CLR también proporciona otros servicios relacionados con la recolección automática de elementos no utilizados, el control de excepciones y la administración de recursos. El código ejecutado por CLR se denomina algunas veces "código administrado", en contraposición al "código no administrado" que se compila en lenguaje máquina nativo destinado a un sistema específico. En el diagrama siguiente se muestran las relaciones en tiempo de compilación y tiempo de ejecución de los archivos de código fuente de C#, las bibliotecas de clases de .NET Framework, los ensamblados y CLR.


    Diagrama extraido de la pagina de Microsoft.

    La interoperabilidad del lenguaje es una característica clave de .NET Framework. Como el código de lenguaje intermedio generado por el compilador de C# cumple la especificación de tipos común (CTS), este código generado en C# puede interactuar con el código generado en las versiones .NET de Visual Basic, Visual C++, Visual J# o cualquiera de los más de 20 lenguajes conformes con CTS. Un único ensamblado puede contener varios módulos escritos en diferentes lenguajes .NET, y los tipos admiten referencias entre sí como si estuvieran escritos en el mismo lenguaje.


    Además de los servicios en tiempo de ejecución, .NET Framework también incluye una amplia biblioteca de más de 4.000 clases organizadas en espacios de nombres que proporcionan una gran variedad de funciones útiles para la entrada y salida de archivos, la manipulación de cadenas, el análisis XML, los controles de los formularios Windows Forms y muchas tareas más. La aplicación de C# típica utiliza continuamente la biblioteca de clases de .NET Framework para el tratamiento de las tareas comunes de "infraestructura".


    Pongamos manos a la obra


    Vamos a ver como generamos nuestro primer proyecto y como se ejecuta para ver el resultado. Mas adelante ya profundizaremos más en la estructura generada en el proyecto y en los distintos archivos que lo forman.


    Para poder empezar debemos disponer de Visual Studio en cualquiera de sus versiones, pero a ser posible vamos a usar la última versión que Microsoft a liberado: Visual Studio 2010. Quien ya tenga una versión instalada puede usar esa si quiere, el que no puede descargar la versión Express del producto la cual es gratuita. Esta versión del Visual Studio puede descargarse desde la siguiente dirección:

                        http://www.microsoft.com/express/Downloads/

    La versión 2010 en el momento de escribir esto solamente estaba disponible en Ingles, aquellos que no se apañen bien con el idioma puede descargar en la misma página la versión 2008 la cual si esta en castellano.

    Si alguien tiene problemas instalando el producto lo único que hay que hacer es consultar en google y se pueden encontrar multitud de ayudas para la instalación del Visual Studio.

    Una vez instalado, lo ejecutamos, veremos la siguiente pantalla:


    Pulsamos sobre la opción de nuevo proyecto, esto nos mostrar una ventana en la que podemos seleccionar entre los distintos tipos de proyecto que nos permite Visual Studio. Seleccionamos el tipo “Aplicación de Consola”, escribimos un nombre de proyecto en la caja de texto correspondiente (“Name” ó “Nombre”), para este ejercicio pondremos “ConsolaPruebas” y pulsaremos el botón “OK”.


    Tras esto se generara el proyecto y podremos ver en la ventana el archivo program.cs abierto, en la parte de la derecha vemos el explorador de la solución con los archivos generados para este proyecto.


    Haremos una pequeña modificación para que esto no sea solo mirar y no tocar. Tenemos el método main, entre los signos que los limitan ({ }) vamos a escribir lo siguiente:

     
    static void Main(string[] args)
       {
            Console.WriteLine("Hola a todos, este es el..... curso de c#");
            Console.ReadLine();
       }
    

    La primera línea (Console.WriteLine) escribe un mensaje en la consola que se arranca, la segunda línea espera a que pulsemos una tecla cualquiera para terminar la ejecución del programa.

    Ahora procederemos a ejecutar la aplicación, para ello pulsamos sobre el botón de Ejecutar
    () en la barra de herramientas o presionamos F5. Esto compilara la aplicación y arrancara la consola.


    Veremos el mensaje que hemos escrito en la consola y esta se quedara esperando a que pulsemos una tecla, momento en el que finalizara.


    Conclusiones

    Con esto concluimos este capitulo, hemos visto por encima un poco sobre como esta formado el .NET Framework.

    Adema hemos generado nuestro primer proyecto le hemos añadido algo de codigo y lo hemos compilado y ejecutado.

    Mas adelante profundizaremos mas sobre la estructura del proyecto y el codigo y analizaremos un poco mas todo lo que se genera con cada nuevo proyecto.

    Espero que todo esto sirva a alguno para aprender un poquillo. Como no me tengo por ningun genio admito todo tipo de comentarios y respondere a dudas o corregire los articulos ante cualquier sugerencia.

    Hasta el proximo capitulo.
     
    ;