lunes, 13 de diciembre de 2010

Instalar Joomla en localhost

Para instalar Joomla no tuve que hacer gran cosa, sino lo siguiente:


  1. Descargar el paquete Joomla desde este sitio: http://joomlacode.org/gf/download/frsrelease/13112/57276/Joomla_1.5.22-Spanish-pack_completo.zip
  2. Descomprimir el .zip
  3. Copiar, tal cual, la carpeta descomprimida al directorio: C:\xampp\htdocs\, de tal suerte que la ruta quedó: C:\xampp\htdocs\Joomla_1.5.22
  4. Ingresé, con el navegador, al sitio: http://localhost/Joomla_1.5.22/, y comenzó el proceso de instalación
  5. Seguí todos los pasos que se mostraron y vualá, el joomla quedó instalado y ya pude accesar con la misma ruta que cuando instalé: http://localhost/Joomla_1.5.22/

Referencias:


http://www.taringa.net/posts/ebooks-tutoriales/5795334/Joomla-Bible-2010-_-La-Biblia-de-Joomla-2010.html


Plantillas gratis:


http://plantillas.joomlaos.net/
http://www.enlared.biz/plantillas-joomla.html




martes, 6 de julio de 2010

Actualizar una tabla con los datos de otra en la misma Base de Datos

UPDATE SEGUNDARIA SET MARCA=PRINCIPAL.MARCA FROM PRINCIPAL,SEGUNDARIA WHERE PRINCIPAL.SERIE=SEGUNDARIA.SERIE AND PRINCIPAL.FOLIO=SEGUNDARIA.FOLIO


Así de simple y eficaz.

domingo, 13 de junio de 2010

la insignia "secreta" de Facebook

La insignia "secreta" de Facebook

Como logo, es poco menos que horroroso, ¿verdad? Y dado que no aparecía en nada relacionado con Facebook, ni online ni offline, cabía preguntarse: ¿qué es? Lo llevaba Mark Zuckerbergdurante su entrevista en la conferencia AllThingsDigital D8. El pobre hombre estaba literalmente sudando ante las preguntas que le hacían sobre privacidad y, viéndole tan acalorado, la entrevistadora Kara Swisher le animó a quitarse la sudadera. Fue entonces cuando ¡tachán! se vio ante las cámaras que Zuckerberg llevaba esa… insignia impresa en el forro.

Sin perder tiempo, SFWeekly reconstruyó la insignia basándose en las fotografías de la conferencia, dando como resultado la imagen que veis más arriba. Incluso se pusieron en contacto con los canales oficiales de Facebook para tratar de averiguar de qué se trataba, pero no consiguieron nada.

En los medios estadounidenses, se ha convirtió en la comidilla del día y el que más y el que menos ha querido asociarlo con las ansias de dominación mundial de la empresa, al más puro estilo conspiranoico. Y es que no es para menos, pues la estética de la insignia recuerda a la de una sociedad secreta y, además, estaba en el forro de la sudadera que Mark se negaba a quitarse.

Sin embargo, después de todo el revuelo, parece ser que estas sudaderas han sido repartidas a todos los empleados de Facebook, aunque no es algo que se hubiera hecho público hasta ahora. Tan sólo ha sido un poquito de fetichismo por parte de Mark ante una entrevista que sabía que sería peliaguda. Aunque, quien sabe… ¿Estarán los Iluminati detrás de Facebook? A veces, con las cosas que hacen, dan ganas de pensar de que es así.

Fuente: Gambeta


miércoles, 12 de mayo de 2010

¿Quieres que tus programas hablen? Usa ESpeak

Sin duda una herramienta muy útil, en cuanto a síntesis de voz se refiere. Esta aplicación, a diferencia de los sistemas concatenativos que hacen uso de una base de datos muy amplia de muestras de voz humana, crea la salida usando un modelo acústico. Parámetros como la frecuencia fundamental y los niveles de ruido se varían durante el tiempo para crear una forma de onda o habla artificial.

Como todo sistema, tiene sus ventajas y también sus desventajas, pero creo que al ser Open Source y considerando la gran cantidad de documentación, bien pude considerarse como una excelente alternativa.

Fuentes:

martes, 11 de mayo de 2010

Reporting Services y Sharepoint

Bueno, ya que parece que los temas principales de este blog son sharepoint y las tecnologías de google, contribuiré con mi granito de arena.

Hace algún tiempo estuve buscando como obtener datos de una lista de sharepoint para usarlo como origen de datos en Reporting Services y hacer una gráfica o un repote, y después de una ardua investigación y encontrar diferentes formas de hacerlo, pongo a disposición de uds la que se me hizo más fácil.

¿Cómo empezamos?

Primero, antes que nada, y tal vez sea algo que normalemente se omite, sobre todo porque se asume que tienes experiencia haciendo este tipo de cosas, es que debes de tener instalado visual estudio en tu equipo, en mi caso utilizo la versión 2005 (.net 2.0), así como sql server con reporting services (tambien utilizo la versión 2005).

No es necesario que en el mismo equipo este instalado sharepoint, mientras este accesible desde la red es suficiente.

Una vez que ya tenemos los prerrequisitos, estamos listos para empezar.

Un poco de teoría.

Lo que debemos saber de Sharepoint:

Sharepoint al igual que muchas otras tecnología de Microsoft utiliza webservices, por lo que aprovecharemos esta característica para hacer consultas a su base de datos y de esta forma obtener los datos de las listas que deseamos consultar.

Sharepoint es un administrador de sitios, por lo que dentro del sitio principal puede haber otros sitios, y a su vez, dentro de cada uno de estos puede haber más sitios. Lo importante de esta arquitectura de sitios anidados, es que cada vez que se crea un sitio nuevo, independientemente del nivel de profundidad, es que se crean tambien un conjunto de webservices que permiten la gestión de ese sitio.

Lo que debemos saber de Reporting Services:

Reporting Services es un reporteador genérico que permite conectarse con diferentes fuentes de datos, y obviamente, un archivo xml también es considerado una fuente de datos, y si estan leyendo con atención este articulo, seguramente ya relacionaron que el resultado de realizar una consulta a un webservice es un archivo xml, pues estan en lo correcto si llegaron a esa conclusión, porque utilizaremos esta caracterísitca de Reporting Service para crear nuestro origen de datos.

Vamos a la práctica.

1. Por favor abran su VS y creen un proyecto nuevo de tipo "Proyecto de Business Inteligense", ojo. no utilicen el asistente, lo haremos todo a patita.


2. Una vez creado el proyecto, nos situamos en él y le damos con boton derecho, "Agregar", "Nuevo elemento" y escogemos "Informe" (sin asistente). Una vez creado, saldrá la siguiente ventana.

3. Si nos fijamos bien, tiene tres pestañas: Datos, Diseño y Vista previa. Vamos a empezar a configurar nuestro informe. En la parte de Datos, abrimos la lista desplegable (combobox) y creamos un "Nuevo conjunto de datos...".

Le ponemos un nombre descriptivo, en mi caso "ListaSharepoint". Escogemos de tipo XML, como lo vimos en la teoría, y colocamos la url de donde obtendremos ese xml, que tiene que ser la url del servidor de sharepoint seguido del sitio donde se encuentra la lista que vamos a utilizar como fuente de datos y por último " _vti_bin/list.asmx", lo cual indica el webservice que consultaremos y se encuentra en la carpeta _vti_bin.

Para aquellos curiosos, pueden explorar esta carpeta en su servidor de sharepoint y veran que hay más webservices a los que se pueden accesar, pero ese un tema de otro post.

Por ejemplo, si queremos utilizar una lista que se llama "Tareas" que se encuentra dentro del sitio llamado "helpdesk", la url quedaría de la siguiente forma: http://server/helpdesk/_vti_bin/lists.asmx. Esta url solo me permitirá acceder a todas las listas que se encuentren en el sitio helpdesk, más adelante les explicaré donde se configura para seleccionar la lista de "Tareas".

En la pestaña "Credenciales", dejamos selecionado "Utilizar autenticación de Windows (seguridad sntegrada)" en caso de que estemos en una red con dominio, o seleccionamos "Sin credenciales" en caso de que sea un grupo de trabajo. Las otras dos opciones no estan disponibles para conexiones a los webservices de sharepoint, si no me creen hagan la prueba.

Le damos aceptar y listo, ya tenemos un nuevo origen de datos.


4. Al crear el origen de datos, automáticamene se crea un DataSet1, el cual nos permitirá realizar la consulta a la lista de sharepoint. Y aqui viene lo más interesante y complicado que tiene este método para consultar las listas de sharepoint, así que pongan atención de aqui en adelante.

Seleccionamos el conjunto de datos DataSet1 y le damos click a los tres puntitos para que se abra la siguiente ventana.

Le ponemos el nombre que queramos, en mi caso es "Tareas", ya que va a ser la lista que voy a consultar, seleccionamos el Origen de datos que creamos "ListaSharepoint", seleccionamos el Tipo de comando "Text" y colocamos en el cuadro "Cadena de Consulta" el siguiente código xml:

Nos pasamos a la pestaña "Parametros" y ponemos los siguientes parametros: "listName", "viewName" y "rowLimit". Los valores para estos parametros son los que necesitamos para acceder a nuestra lista, pero estos valores no son valores convencionales, sino los GUIDs de la lista y de la vista que deseamos de esa lista, en el caso del rowLimit, es conveniente utilizar un numero muy grande para que se traiga la mayor cantidad de registros de la lista, ya que si no se especifica este parametro, solamente se va a traer los primeros 100 registros, en mi caso utilizo 9999. Le dan aceptar y listo, ya quedo configurado el DataSet.

En este momento se estarán preguntando : ¿Y cómo obtengo el GUID de la lista y de la vista que voy a consultar?"... pues es más facil de lo que parece, dense una vuelta por este link http://spcamlviewer.codeplex.com/releases/view/15621, y descarguen la utilería.

Esta pequeña utilería nos permite explorar un sitio completo de sharepoint (recuerden que sharepoint es multisitios, por lo que solo se puede explorar un sitio a la vez, colocamos la url, el tipo de seguridad que usaremos y listo tenemos todas las listas, sus vistas y sus GUIDs. Les dejo una pantalla de la utileria, para que se den una idea.


Nota: En caso de que salga un error al terminar de configurar el DataSet, no se preocupen, es un error de interpretación del diseñador, que no puede obtener los datos de la consulta recien creada, denle aceptar y terminará el proceso de configuración.


5. En la patalla del VS, presionamos el botón "Actualizar" para que se generen los campos de la lista y despues el botón "Ejecutar", el cual nos desplegará la pantalla de los parametros previamente configurados, le damos Aceptar y listo.

Nota: Es necesario que la lista de sharepoint tenga datos para que estos sean consultados.

6. Ahora pueden ir a la pestaña "Diseño", agreguen un control Tabla, en la primera fila escriban los titulos de las columnas, en la segunda fila arrastren del panel izquierdo "Conjunto de Datos", los campos que desean mostrar en su reporte y listo, ya pueden ver la "Vista previa" de su reporte.


No profundice en el diseño de un reporte, ya que eso no es lo importante de este post, eso lo pueden encontrar fácilmente en google.

En otro post les explicaré cómo a partir de estos datos podemos hacer algunas gráficas interesantes para después publicarlas en el sharepoint

domingo, 9 de mayo de 2010

Tareas en Sharepoint

Porque usted lo pidio.....y miles de internautas lo estaban esperando aqui va mi primer aportación al blog..... contundente y practica, resulta que tal vez mas de uno de ustedes ha usado la lista de tareas en el sharepoint, que bonito das de alta tus pendientes, los asignas a alguien, le pones la fecha planeada de terminación y la fecha real y pues muchas tareas estan "not started" otras pues le ponemos "In progress".... luego hacemos algunas vistas para que cada miembro del equipo vea sus propias tareas asignadas.... pero en la practica despues de algunas semanas se rompe el encanto, que sucede? todos tienen tareas atrasadas, las fechas planeadas ya se rebasaron y ahora a ir revisando tarea x tarea escuchando los argumentos de porque no se cumplio en tiempo.... 1 vez, 2 veces, 3 veces.... Basta!!!!!! como hacer para que el mismo sharepoint nos diga automaticamente cuantas semanas tenemos de atraso y mas aun quien de cada uno de los integrantes del equipo va "atrasado" y quien va "en tiempo".....

La solución es ingresar una columna de "formula", en donde le indicamos la siguiente formula =([Due date]-today)/7

Hey!!! me sale un error de que las funciones "volatiles" no se permiten en las columnas calculadas!!!!! trankis trankis aqui esta el truco y la razon de ser de este post.....

BYPASEANDO EL SHAREPOINT

Resulta que la funcion "Today", no se permite en las formulas.... que barbaro para eso me gustaban, pero no os desespereis, que no panda el cunico, lo unico que hay que hacer es crear una nueva columna llamada "today".... capish? entonces luego crean el campo de formula y vualá!!!! ya no marca error.

Pero que creen, al ver el listado de tareas la formula no funciona....... trankis trankis, lo unico q tenemos que hacer es ir de nuevo a las propiedades de la lista y eliminar la columna llamada "today"... luego tendrán su calculo funcionando y cada quien podrá ver cuantas semanas lleva de atraso

En la proxima aportación veremos como mejorar esto..... coming soon

Elias





jueves, 6 de mayo de 2010

¿Por qué no funciona el SUBMIT en explorer pero en firefox sí?

Tal vez os parezca un poco bobo, pero pos fue algo que me sucedió y tal vez le sirva a alguien más :) .Resulta que mi página jalaba a 1000 por hora en Firefox, tenía un formulario cuyos datos pasaba a otra página, a través de un botón submit, y sin ningún problema se grababan en la base de datos.

El problema vino, al intentar ejecutar la página en el "bendito" internet explorer, pues sin más ni más no funcionaba, nadita de nadita. En apariencia no había ningún error, salvo que el [input type="submit"] estaba fuera de la etiqueta de cierre "/form" :$ A firefox no le importaba y ejecutaba la instrucción, pero el explorer se ponía sus moños. En fin, que quede como anécdota y tal vez le sirve a alguien más.

PD. Si alguien sabe la razón de que la instrucción funcione en firefox y en explorer no, os agradecería que la compartiera.

Hasta la próxima.