miércoles, 13 de marzo de 2013

Sitefinity: Creando una Master Page

Hola a todos.

Hoy explicare como crear una Master Page personalizada en Sitefinity. Esto lo haremos desde Visual Studio y lo integraremos, luego, por Administrador, a nuestro sitio.

1) En primer lugar, abrimos el proyecto en Visual Studio, nos posicionamos sobre la raiz del proyecto, y creamos una nueva carpeta llamada App_Master.
Nota: Esto no es completamente necesario, pero queda mejor para manterner ordenadas las cosas.

2) Luego, nos paramos sobre la nueva carpeta, y le damos a Add->New Item y seleccionamos un archivo del tipo MasterPage como se muestra a continuacion. Procedemos a ponerle el nombre que queramos.

3) Esto nos generara una nueva plantilla que podremos retocar como mas nos guste. Por ejemplo, si el footer y el header del sitio, es estatico, nos conviene agregarlo aqui como HTML. En caso que sea dinamico, quiza sea mas conveniente incluir ContentPlaceHolder que luego completaremos dinamicamente desde el Administrador.

No olvidar compilar el proyecto.

4) Ahora debemos crear una Page y utilizar esta nueva MasterPage. Para ello, procedemos a subir la plantilla desde el Administrador de Sitefinity.


5) Ingresamos al Administrador y seleccionamos Design->Page Templates.

6) Aqui, le damos a Create a Template y completamos el Nombre. Luego le damos a Select another template.


7) En la siguiente pantalla, le damos a "Use your own .master file".

 
 
8) El sistema detectara que hemos creado un Template, y debemos seleccionarlo y darle a Use selected.

9) Luego de esto, podemos agregarle contenido a nuestro Template, o volver a la lista de Templates. Si vamos a la lista, veremos que ya esta integrado nuestro template.




10) Ahora debemos crear nuestra page para poder aplicarle la nueva MasterPage. Para ello, vamos a Pages, y le damos a Create a Page.


11) Le ponemos el nombre, y en la seccion Template, le decimos "Select another Template". Ahi eligiremos nuestro nuevo Template, y listo. Si queremos podemos seleccionarlo como Predeterminado para que siempre que creemos una page, por defecto nos seleccione el template creado.

Eso es todo.

Hasta la proxima.




martes, 12 de marzo de 2013

Sitefinity: Armando el ambiente.

Hola Amigos.

Lo prometido es deuda. Vamos a intentar en sencillos pasos, como instanciar y armar el ambiente para poder comenzar con Sitefinity.
La versión que estoy utilizando es la 5.4, aunque desde la 5.1 vengo realizando el mismo proceso.

1) Primero descargaremos la versión trial de Sitefinity, desde la pagina de Sitefinity.




2) La descarga nos deja un ejecutable. Dicha instalación, nos creara una carpeta en C:\Program Files\Telerik, y dentro de ella una carpeta llamada Sitefinity 5.4.
Dentro de esta ultima, tenemos una carpeta Projects y luego Default. Esta carpeta Default, contiene nuestro proyecto.
Lo que haremos, es ubicarla en el lugar que mas nos guste, y renombrarla, también, como mas les guste. YO suelo ponerle el nombre del proyecto.

3) Pasaremos a instanciar la DB. Para ello, revisamos la carpeta que anteriormente renombramos, y encontraremos otra carpeta llamada App_Data, y dentro de ella, el MDF y el LDF a utilizar.


Estos dos archivos, los pegamos en la carpeta DATA de la instancia de la DB SQL Server que utilicemos. Por ejemplo, yo utilizo SQL Server 2008, mi instancia se llama SQLEXPRESS, y la carpeta es:
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA



4) Abrimos el Sql Server Management Studio, y adjuntamos el MDF como muestro a continuación.



5) El nombre de la DB, se creara con un texto largo formado por la ruta. Se lo editamos por el nombre que mas nos guste.

6) Ya tenemos la DB, ahora debemos configurar la aplicacion para que se comunique con nuestra DB. Para ello, abrimos config llamado DataConfig.config que se encuentra en la ruta App_Data\Sitefinity\Configuration y editamos la linea:

<add connectionString="Data Source=.\SQLEXPRESS;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Sitefinity.mdf" providerName="System.Data.SqlClient" dbType="MsSql" name="Sitefinity" />

por

<add connectionString="Data Source=[NOMBRE PC\INSTANCIA]; UID=[USUARIO]; PWD=[PASSWORD]; initial catalog=Sitefinity" providerName="System.Data.SqlClient" dbType="MsSql" name="Sitefinity" />



Nota: He tenido varios problemas usando Autenticación Integrada por lo que recomiendo activar el usuario "sa", o crear uno y darle los permisos correspondientes.

7) Ya tenemos la DB, la conexion desde la app, solo nos resta probar. Para ello, abrimos el Visual Studio, cargamos el proyecto, compilamos y le damos play o F5.
La pantalla obtenida debería ser la siguiente:

Podemos ingresar al Administrador con usuario "admin" y password "admin" y comenzar a crear pages.

8) Terminamos.

Espero les haya servido. La próxima comenzaremos a darle un poco de color al sitio.

Saludos.

Que es Sitefinity?

Hola Amigos.

Desde hace ya unos cuanto meses, me toco trabajar bajo Sitefinity. Cuando me asignaron esto, dije: Oh no, CMS!!! No me gusta mucho trabajar con CMS, siempre traen problemas. Recorde SharePoint y se me vino el mundo abajo. Comence a investigar, y parecia facil, sencillo.
Sitefinity es un Gestor de Contenidos de la tan reconocida Telerik, que nos da la posibilidad de crear sitios, basado en ASP.NET, ASP.NET MVC, e incluso Silverlight. Lo bueno es que nos facilita bastante el trabajo, dejandonos la puerta abierta para crear cosas aún mas complicadas.
Para que entendamos basicamente como funciona esto, mostraremos las partes a saber:

1) El Administrador del sitio.

Dashboard
Aqui, podremos customizar y crearle contenidos al sitio. Esta sera la seccion donde le crearemos paginas, widgets, plantillas y demas custiones para enriquecer el sitio. Tambien, en Administration, tendremos toda la configuracion del sistema.

2) El sitio:



Esta pantalla es la incial. En el proyecto, se llama Default.aspx y veran que no tiene contenido, solo redirigira a la page que ustedes creen desde el Administrador, y que seteen como page inicial.

Una cuestion importante a saber, es que Sitefinity, como Sharepoint, maneja todo en la Base de Datos: las paginas, templates, configuraciones del sistema, etc, todo ira a parar a la Base de Datos.
En el proyecto solo crearemos nuestros templates customizados, como tambien widgets, entre otras cosas.

Es muy importante mantener backups de DB, ya que un error, nos puede costar mucho.

Bueno, para ser mi primer articulo sobre Sitefinity, es suficiente. En el proximo articulo, veremos como comenzar armando el ambiente para darle vida a nuestro sitio.

Un saludo grande y hasta la proxima.