miércoles, 12 de mayo de 2010
¿Quieres que tus programas hablen? Usa ESpeak
martes, 11 de mayo de 2010
Reporting Services y Sharepoint
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
jueves, 6 de mayo de 2010
¿Por qué no funciona el SUBMIT en explorer pero en firefox sí?
¿Qué es SEO?
- Darte de alta en directorios importantes como Dmoz y Yahoo!.
- Registrarse y participar en foros, de preferencia en foros temáticos relacionados a la actividad de su página web
- Incluir tu sitio en la mayor cantidad de redes sociales (facebook, Hi5, etc)
- Crear contenidos con textos que contienen frases con que buscan los usuarios web los servicios o productos de este sitio.
- Hacer nuestra web lo más accesible posible: limitar contenido en Flash, frames o JavaScript.
- Crear títulos únicos y descripciones pertinentes del contenido de cada página.
- Enlazar internamente las páginas de nuestro sitio de manera ordenada y clara. Un «mapa del sitio» (tanto el de Google como uno presente en el sitio) permitirá dar paso al buscador por las diferentes secciones del sitio en forma ordenada, mejorando su visibilidad.
- Actualizar la página con contenido original de calidad
- Intercambiar contenido
- Generar tráfico a través de SEM (Search Engine Marketing) o anuncios en buscadores con las palabras consideradas clave para la página web.
miércoles, 5 de mayo de 2010
Cómo mejorar el posicionamiento de mi sitio en los buscadores
martes, 4 de mayo de 2010
Compartir un campo de una lista en todos tus sitios de SharePoint
La realidad es que el procedimiento es muy sencillo. Si necesitas que información de una lista este publica para que cualquier lista de otros sitios puedan usarla, como por ejemplo, tener un catalogo de Proyectos de tu organización y querer que este publica la lista de los nombres de los proyectos para mostrarla en otra lista, por ejemplo la de gastos por proyecto (la cual se encuentra en otro sitio de sharepoint), lo que debes hacer es "crear una columna de sitio". Estas columnas permiten compartir informacion en todos los sitios "hijos" del sitio principal donde tienes la lista de la cual quieres compartir información.
Los pasos a seguir son los siguientes:
1. En la pagina principal del sitio del portal, selecciona Acciones del sitio
2. Elije despues Configuracion del sitio, y despues clic en Modificar toda la configuracion del sitio
3. En la pagina de Configuracion del sitio, ir a la seccion Galerías, y seleccionar Columnas del Sitio
4. Dar clic en Crear
5. Asignar nombre a la nueva columna
6. Selecciona el grupo donde se guardará tu columna, vienen algunos por defaul, pero podrías crear tu grupo personalizado (por ejemplo Columanas de la organizacion)
7. Si vas a mostrar informacion de otra lista (como el caso del catalogo de proyectos), seleccionar el tipo de campo Lookup.
8. Selecciona la lista de la cual obtendrás el campo a utilizar.
9. Selecciona el campo que utilizarás.
10. Por ultimo modifica las demas opciones si es necesario. Dar clic en ok, se guardará la nueva columna
Ahora podrás incluir en cualquier lista de los sitios de tu sitio principal esta columna, como un campo mas de tu lista, a traves de la opción agregar columna existente, seleccionando primero el nombre del grupo donde guardaste tu columna.
Si necesitas mas informacion, ver la siguiente referencia
Espero que te haya sido de utilidad esta entrada.
Saludos.
DropBox, excelente alternativa de almacenamiento en la 'nube'
¿Para qué sirve la API de Google Adwords?
El API de Google AdWords permite a los desarrolladores crear aplicaciones que interactúen directamente con la plataforma AdWords. Gracias a estas aplicaciones, tanto anunciantes como terceros pueden administrar de una forma eficaz y creativa sus grandes y complejas campañas y cuentas de AdWords.
Flexible y funcional. Utiliza el API de AdWords para crear una aplicación que se adapte a tus necesidades. A continuación se especifican algunas de las posibilidades:
- Generación automática de palabras clave, texto de anuncios y direcciones URL de destino.
- Integración de datos de AdWords con el sistema de inventario para administrar campañas en función de las existencias.
- Desarrollo de aplicaciones y herramientas adicionales que ayuden a la administración de las cuentas.
Desarrolla en el idioma que desees. Los lenguajes de programación más conocidos, incluidos Java, PHP, Python, .NET, Perl y Ruby admiten la interfaz SOAP del API de AdWords.
Sin duda, una excelente oportunidad para los que nos dedicamos al desarrollo de software. ¿Qué esperan?, a trabajar se ha dicho!!!
fuente:
http://code.google.com/intl/es/apis/adwords/
http://googleamericalatinablog.blogspot.com/
lunes, 3 de mayo de 2010
¿Eres muy 'bueno' en AdWords de Google?... ¡Demuéstralo!
¿Qué tan bueno eres detectando Phishing?
Muy buen test, para saber qué tan bueno eres detectando sitios web fraudulentos. Consiste en presentar 2 páginas web, una verdadera y otra falsa, para que detectes cuál de las 2 es la auténtica.
Pruébala, y checa que tan bueno eres !!!!
