Drupal: redireccionar usuarios a una página

Existe un módulo específicamente diseñado para redireccionar a un usuario a una determinada página llamado Login Destination (http://drupal.org/project/login_destination).

Otro módulo es LoginToBoggan.

Otra forma (y esto solo funciona desde /user) es agregar la siguiente cadena al link de iniciar sesión:

http://example.com/user?destination=/ 

Eso hace que cuando el usuario inicie sesión desde la página user, sea redireccionado a la página inicial. Lo malo es que esto no funciona para bloques.

Advertisements
Drupal: redireccionar usuarios a una página

MICROSOFT SQL SERVER 2005: Haciendo un BACKUP

Para crear copias de seguridad desde el administrador corporativo, seleccionamos la base de datos de la que queremos crear una copia de seguridad y con el botón derecho del ratón seleccionamos Todas las tareas -> Copia de seguridad de la base de datos (imagen 5).

Podemos decir que clase de copia queremos hacer:

  •  Base de datos completa.
  • Diferencial, esta forma solo copiara los cambios realizados desde la última copia.
  • Copiar el registro de transacciones.

 

Seleccionamos “agregar” y saldrá una pantalla donde especificaremos la ruta y el nombre del fichero que queremos utilizar como copia, el fichero puede ser de nueva creación o uno existente, o podemos especificar un dispositivo ya existente o crear uno nuevo. Un dispositivo de copia de seguridad no es más que un archivo igual que el que hubieramos seleccionado en la opción superior, pero estos a diferencia de los anteriores, podemos adminístralo y ver su contenido desde la opción del nodo Administración -> Copias de seguridad. Una vez seleccionado donde alojaremos la copia, debemos elegir si sobrescribimos las copias que tenga el fichero o la nueva copia se anexa a las ya existentes en el fichero (en caso de ser un fichero con copias existentes). Una vez hecho ésto seleccionamos la ficha “opciones” y habilitamos la opción “Comprobar la copia de seguridad al concluir”, para que una vez finalizada la copia de seguridad compruebe si se ha realizado correctamente.

Como he comentado antes podemos hacer copias de seguridad a través de programación con Transact-SQL o SQL-DMO. Con transact-SQL utilizaremos la instrucción “Backup” para realizar la copia de seguridad (en los libros en pantalla del SQL Server encontrareis amplia información sobre esta instrucción).

Ejemplo con Transact-SQL:

USE master

EXEC sp_addumpdevice ‘disk’, ‘pruebas_1’, 

‘G:\microsoft sql server espanol\MSSQL$TORMENTA\BACKUP\BACKUP.dat’

 

— Backup de la base de datos

BACKUP DATABASE PRUEBAS TO Pruebas_1

¿Qué hace este código?, explicando línea a línea lo primero que hacemos es decirle al stored procedure que vamos a utilizar la base de datos “Master”.

USE Master — Utilizamos la base de datos “Master” para ejecutar la primera sentencia

porque el procedimiento almacenado que ejecutamos para crear un dispositivo esta alojado en la base de datos “Master”

EXEC sp_ addumpdevice utilizamos éste procedimiento almacenado de la base de datos “Master” para crear un dispositivo de copia de seguridad. Parámetros que recibe:

disk, especifica que el archivo de seguridad será un archivo de disco.

pruebas_1, nombre lógico que le damos al dispositivo de copia y es el que se verá desde el administrador de copias.

ruta, ruta física donde se alojará el fichero en disco, ruta y nombre del fichero.

BACKUP , a continuación hacemos un Backup (copia de seguridad) de la base de datos PRUEBAS al dispositivo Pruebas_1.

Lo explicado hasta el momento sobre las copias de seguridad esta muy bien y es muy útil, pero, muy pesado si cada día tenemos que entrar en el administrador corporativo para hacer una copia de seguridad, y muy peligroso si nos olvidamos, por eso hay lo que se llama “programación de copias de seguridad”, con esta utilidad programamos la tarea de copias de seguridad para que se realicen solas en una determinada fecha. 

Para programar el día y hora que se realizarán las copias realizamos las misma operaciones que para crear una copia de seguridad pero tenemos que habilitar la opción “programar”, en la imagen 5 podemos ver esa opción al final de la pantalla, pulsando el botón podremos seleccionar día y hora para que la copia de seguridad se ejecute sola (imagen 7). Esta tarea queda guardad en la opción del Agente de SQL Server “trabajos”.

Restaurar copias de seguridad

Si se pueden hacer copias de seguridad lo lógico es que estas copias se puedan restaurar. Para restaurar una copia de seguridad tenemos que seleccionar la base de datos deseada y con el botón derecho pulsamos en la opción Todas las tareas -> Restaurar base de datos.

En esta pantalla, si restauramos la base de datos desde un fichero, seleccionamos “desde dispositivo”, pulsamos el botón “dispositivo” y en la siguiente pantalla pulsamos “agregar” y seleccionamos el fichero de copias de seguridad que queremos restaurar. Las opciones de restauración son las mismas que las de copias, podemos restaurar la base de datos:

 

– Completa

– Diferencial

– O el registro de transacciones.

 

En la siguiente ficha de esta pantalla “opciones”, seleccionamos las opciones de restauración de la copia:

 

Forzar restauración sobre la base de datos existente, forzamos a que se restaure la copia sobrescribiendo el fichero existente.

Restaurar archivos de base de datos como, especifica el nombre del archivo físico y lógico de la restauración.
Del mismo modo que podemos hacer copias de seguridad desde código transact-SQL o SQL-DMO, podemos restaurar bases de datos. La instrucción a utilizar es “Restore database” , éste al igual que el “Backup” son amplios en parámetros y modos de uso por ese motivo lo más recomendable es mirar la ayuda de SQL Server (libros en pantalla) donde se puede encontrar un apartado completo dedicado al transact-SQL (Referencia de Transact-SQL).

También existe un programa que yo no he utilizado llamado handy Backup.

MICROSOFT SQL SERVER 2005: Haciendo un BACKUP

MYSQL: importar una tabla en el proveedor de hosting 1and1

Partimos de una tabla en un servidor mysql local; lo que queremos es subir esta tabla a una base de datos ofrecida por nuestro proveedor de hosting, en este caso 1and1.

Primeramente hemos exportado nuestra tabla desde el administrador de mysql con una consulta de este tipo:

> mysqldump -p –user=root –add-drop-table crm crmemp > crmemp.txt

Si no devuelve ningún mensaje se habrá creado con éxito el archivo de comandos.

Ahora, dentro de la web de administración de 1and1, abrimos el gestor de MySql y seleccionamos la base de datos pertinente. Nos vamos al botón de SQL y le damos a “importar archivos”.

Si seleccionamos el archivo y le damos a importar, es probable que nos devuelva un error del tipo:

consulta SQL:


— Table structure for table `crmemp`

DROP TABLE IF EXISTS `crmemp`

MySQL ha dicho:

#1046 – No database selected

Con lo que si añadimos en el archivo .txt al principio la sentencia USE nombreBaseDatos al principio nos permitirá hacerlo.

OJO: a veces el volcado puede generar caracteres extraños que no aparezcan en el archivo; si arroja errores, asegurarse de que la consulta que está ejecutando no tiene caracteres raros.

MYSQL: importar una tabla en el proveedor de hosting 1and1

Primeros pasos con OpenGL

Usando mi Macbook Blanco Intel dual core 1.83Ghz, Ubuntu 10.10, Eclipse 3.5.2 y openGL (lenguaje C++):

– Instalar el plugin para eclipse de C/C++
– Instalar los paquetes freeglut3 y freeglut3-dev desde el repositorio
– Crear un proyecto nuevo
– En propiedades del proyecto -> C/C++ Build -> Settings -> GCC C++ Linker -> Libraries hay que añadir GLU y glut.

Primeros pasos con OpenGL

VISUAL BASIC 6: Trabajar con Strings

Function Len (s as string) as integer

—-> Devuelve la longitud del string

Function Mid (s as string, posicionInicio as integer [, longitud as integer]) as string

—-> Devuelve una subcadena

Function Left (s as string, longitud as integer) as string

—-> Devuelve la subcadena empezando por la izquierda de longitud especificada

Function Right (s as string, longitud as integer) as string

—-> Devuelve la subcadena empezando por la derecha de longitud especificada

Function Ucase (s as string) as string

—-> Devuelve una cadena en mayúsculas

Function Lcase (s as string) as string

—-> Devuelve una cadena en minúsculas

Function Instr ([inicio as integer,] s1 as string, s2 as string)

—-> Devuelve la posición de s2 en s1, 0 si no existe.

Function InstrRev (s1 as string, s2 as string [,inicio as integer] )

—-> Devuelve la posición de s2 en s1, 0 si no existe, empezando por el final.

Sub Replace (s1 as string, s2 as string, s3 as string)

—-> Reemplaza en s1 todas las ocurrencias de s2 por s3.

Function StrReverse (s as string) as string

—-> Devuelve s al revés.

Function LTrim(s as string) as string

—-> Devuelve s sin los espacios del principio.

Function RTrim(s as string) as string

—-> Devuelve s sin los espacios del final.

Function Trim(s as string) as string

—-> Devuelve s sin los espacios del final y del principio.

Function asc(s as string) as integer

—-> Devuelve el valor ascii del primer carácter de s.

Function Chr (i as integer) as char

—-> Devuelve el carácter que corresponde a un valor ascii.

VISUAL BASIC 6: Trabajar con Strings