miércoles, 19 de diciembre de 2012

phpMyAdmin: activar el diseñador

Ya comentamos en el post sobre instalación de phpMyAdmin que incorporaba una función para diseñar bases de datos y visualizar el modelo entidad relación. Esta opción no se activa por defecto, debemos hacerlo manualmente. Para ello iremos al archivo de configuración config.inc.php y añadimos las siguientes líneas (no olvidéis hacer una copia del archivo antes de editarlo para poder restaurarlo en caso de que aparezcan errores en el proceso ;-):

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';

 
 
Ahora crearemos una base de datos llamada phpmyadmin



Una vez creada debemos ejecutar el siguiente script (podéis copiarlo en un archivo de texto con extensión .sql e importarlo desde phpMyAdmin o copiarlo directamente en la consulta SQL). Si lo preferís podéis descargarlo desde este enlace: http://www.alcasoft.es/index.php/descargas/summary/3-publico/2-script-para-activr-el-disenador-de-phpmyadmin




DROP DATABASE IF EXISTS `phpmyadmin`;
CREATE DATABASE `phpmyadmin`;
USE phpmyadmin;


GRANT SELECT, INSERT, DELETE, UPDATE ON `phpmyadmin`.* TO
    'pma'@localhost;



CREATE TABLE `pma_bookmark` (
  `id` int(11) NOT NULL auto_increment,
  `dbase` varchar(255) NOT NULL default '',
  `user` varchar(255) NOT NULL default '',
  `label` varchar(255) NOT NULL default '',
  `query` text NOT NULL,
  PRIMARY KEY  (`id`)
);


CREATE TABLE `pma_column_info` (
  `id` int(5) unsigned NOT NULL auto_increment,
  `db_name` varchar(64) NOT NULL default '',
  `table_name` varchar(64) NOT NULL default '',
  `column_name` varchar(64) NOT NULL default '',
  `comment` varchar(255) NOT NULL default '',
  `mimetype` varchar(255) NOT NULL default '',
  `transformation` varchar(255) NOT NULL default '',
  `transformation_options` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `db_name` (`db_name`,`table_name`,`column_name`)
);

CREATE TABLE `pma_history` (
  `id` bigint(20) unsigned NOT NULL auto_increment,
  `username` varchar(64) NOT NULL default '',
  `db` varchar(64) NOT NULL default '',
  `table` varchar(64) NOT NULL default '',
  `timevalue` time NOT NULL,
  `sqlquery` text NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `username` (`username`,`db`,`table`,`timevalue`)
);

CREATE TABLE `pma_pdf_pages` (
  `db_name` varchar(64) NOT NULL default '',
  `page_nr` int(10) unsigned NOT NULL auto_increment,
  `page_descr` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`page_nr`),
  KEY `db_name` (`db_name`)
);

CREATE TABLE `pma_relation` (
  `master_db` varchar(64) NOT NULL default '',
  `master_table` varchar(64) NOT NULL default '',
  `master_field` varchar(64) NOT NULL default '',
  `foreign_db` varchar(64) NOT NULL default '',
  `foreign_table` varchar(64) NOT NULL default '',
  `foreign_field` varchar(64) NOT NULL default '',
  PRIMARY KEY  (`master_db`,`master_table`,`master_field`),
  KEY `foreign_field` (`foreign_db`,`foreign_table`)
);

CREATE TABLE `pma_table_coords` (
  `db_name` varchar(64) NOT NULL default '',
  `table_name` varchar(64) NOT NULL default '',
  `pdf_page_number` int(11) NOT NULL default '0',
  `x` float unsigned NOT NULL default '0',
  `y` float unsigned NOT NULL default '0',
  PRIMARY KEY  (`db_name`,`table_name`,`pdf_page_number`)
);

CREATE TABLE `pma_table_info` (
  `db_name` varchar(64) NOT NULL default '',
  `table_name` varchar(64) NOT NULL default '',
  `display_field` varchar(64) NOT NULL default '',
  PRIMARY KEY  (`db_name`,`table_name`)
);

CREATE TABLE `pma_designer_coords` (
  `db_name` varchar(64) NOT NULL default '',
  `table_name` varchar(64) NOT NULL default '',
  `x` INT(11) default NULL,
  `y` INT(11) default NULL,
  `v` TINYINT(4) default NULL,
  `h` TINYINT(4) default NULL,
  PRIMARY KEY (`db_name`,`table_name`)
                                                   );
Ahora cerramos sesión en phpMyAdmin, volvermos a entrar y al seleccionar una base de datos tendremos una nueva pestaña con el menú del diseñador:
 
 Es un diseñador muy sencillito pero útil (cuando trabajéis con aplicaciones basadas en bases de datos complejas agradeceréis tener el mapa de la base de datos al lado para diseñar las consultas).


phpMyAdmin: administración remota de un servidor MySQL


Si sois programadores web seguramente habréis trabajado con MySQL. Se trata de un gestor de bases de datos relacional muy potente y, lo más importante, software libre. Si no queréis administrarlo en línea de comandos o no disponéis de una aplicación de software (o simplemente queréis tener acceso a la administración desde cualquier equipo conectado a Internet) disponéis de esta alternativa: phpMyAdmin.

phpMyAdmin es una herramienta escrita en PHP para administrar bases de datos MySQL. En realidad no tenemos que "instalar" nada: simplemente descargarlo, descomprimirlo en nuestro servidor web y configurar la conexión con la base de datos. Si lo instalamos desde un Linux y tenemos permisos de administración del sistema es frecuente encontrar un paquete de instalación (desde Debian y Ubuntu existen). Podemos instalarlos con deb, apt-get o utilizando los gestores del entorno gráfico. Para cualquier sistema operativo tenemos la alternativa siguiente.


Requisitos del sistema


Como es obvio, los requisitos previos para la aplicación son:


  • Servidor web con soporte para PHP
  • Servidor de bases de datos MySQL
  • Un navegador web

Descarga e instalación


Descargamos los archivos de la página del fabricante:

http://www.phpmyadmin.net/home_page/downloads.php

Recordad que son archivos PHP y librerías (jquery, css...): son multiplataforma y no tenemos que elegir sistema operativo. Nosotros elegiremos la distribución comprimida en zip por su portabilidad (podremos descomprimirlo en Linux, Windows, hosting online...). Una vez descargado el archivo lo descomprimimos en el directorio elegido en nuestro servidor web (os recomiendo una carpeta con el nombre phpmyadmin para que sea accesible desde tudominio/phpmyadmin.

Configuración


Ahora debemos configurar el acceso a nuestra base de datos. Debemos editar el archivo config.inc.php de la carpeta raíz de phpMyAdmin y editar las siguientes líneas:

Ruta absoluta para acceder a phpMyAdmin: $cfg['PmaAbsoluteUri']. Pondremos localhost si es un servidor local o tu dominio si es el caso:

$cfg['PmaAbsoluteUri'] = 'http://localhost/phpMyAdmin';
$cfg['PmaAbsoluteUri'] = 'http://tudominio/phpMyAdmin';

Host o IP del servidor de MySQL:

$cfg['Servers'][$i]['host'] = 'localhost';

Nombre de usuario de la base de datos. Si se trata de un servidor local podemos utilizar la cuenta de root. Si tenemos un servidor externo (como el ofrecido por el hosting) no dispondremos de la cuenta de root, seguramente tendremos un usuario facilitado por el proveedor para administrar nuestras bases de datos.
$cfg['Servers'][$i]['user'] = 'usuario';


Clave de acceso para el usuario especificado en el paso anterior.

$cfg['Servers'][$i]['password'] = 'contraseña';

Existen otros parámetros que podemos configurar:

$cfg['Servers'][$i]['AllowNoPassword'] = false;   Impedimos que se acceda sin contraseña (importante mantenerlo en false)

$cfg['Servers'][$i]['port'] = ''; Podemos especificar otro puerto en caso de que el servidor no escuche por el puerto por defecto.

$cfg['Servers'][$i]['extension'] = 'mysqli';    Elegimos si utilizamos la conexión de tipo MySQL o MySQLi.

$cfg['DefaultLang'] = 'en-utf-8';    Juego de caracteres por defecto del servidor.


Acceso

Una vez configurado su uso es muy sencillo. Nos conectamos desde un navegador web a la URL que especificamos anteriormente en el fichero de configuración (en nuestro ejemplo está instalado en un servidor local, la URL es http://localhost/phpmyadmin). Ponemos nuestro usuario y contraseña de acceso y aparecerá el panel de control:



Como podéis ver es un panel de control completo, podemos hacer prácticamente cualquier operación sobre la base de datos (incluso una vista de diseño que explicaremos en otro post). 

La principal ventaja es que tendremos disponible la administración remota desde cualquier equipo con un navegador, es una herramienta muy potente y versátil.

Espero que os resulte útil.

Ideas conceptuales: gadgets de un posible futuro

Reconozco que me encantan los diseños conceptuales de todo tipo de gadgets, vehículos, viviendas... Hay algunos que incluiría sin dudarlo en la partida correspondiente del presupuesto doméstico :-P. Navegando esta mañana he encontrado el perfil de Creative en Google+ con un par de ideas muy interesantes:






Vamos, si existiese esa mesa de trabajo ya la estaba buscando sitio en casa! El terminal de abajo tampoco tiene desperdicio (siempre y cuando podamos utilizar los diez dedos para escribir a toda pastilla, no como en los actuales teclados proyectados).

¿Qué os parecen?

ElfYourself: un clásico para felicitar la navidad con elfos bailarines

Probablemente ya lo conozcáis (ha circulado mucho en los últimos años), pero yo aún sigo partiéndome con esta felicitación de navidad. Se llama ElfYourself y permite subir hasta cinco fotos de familiares o amigos para que se genere un video con elfos bailando con sus caras. Una forma original de tocar las narices felicitar las fiestas!



Nos conectamos a la página de ElfYourself y en el apartado "Make an e-card" pulsamos el botón "Upload Photo".



Seleccionamos "Upload from desktop" para coger las imágenes del escritorio (aunque podemos cogerlas de Facebook o tomarlas con la webcam). Podemos subir hasta cinco imágenes, el orden importa: la primera imagen es el elfo protagonista, las dos siguientes también salen bastante, y el cuarto y el quinto salen cada vez menos (según el baile seleccionado luego). Seleccionaremos la imagen y aparece una pantalla para ajustar la foto a la cara del elfo:




Después pulsamos siguiente para guardar los cambios.




Podemos subir otra foto o pulsar el botón "let's dance" para generar el video. Nosotros hemos subido cuatro más hasta que queda completo y entonces pulsamos el botón "Let's dance"



Se genera un video con los elfos bailando:



Aquí podemos escoger varias opciones. Las más interesantes son el tipo de video (va cambiando con los años, se mantienen "vivos") y el envío gratuito a través de correo electrónico o redes sociales. Si quieres puedes descargarlo (pero esa opción ya no es gratis). Nosotros hemos pulsado compartir por email (icono sobre) y se abre la siguiente ventana:


Ponemos nuestro nombre y correo y abajo los correos destino. Les llegará un enlace para poder ver el video generado.

Animaos con esta felicitación "original" (más vista que las reposiciones de los Simpsons, "original" por lo heterodoxo de la misma, jeje). Tendréis unas risas garantizadas.


jueves, 13 de diciembre de 2012

Evernote: tus notas en la nube

Evernote es una de esas aplicaciones que una vez las conoces se hacen imprescindible. Se trata de un gestor de notas en la nube: podrás tener sincronizadas tus notas en todos los dispositivos que utilices (PCs, Mac, móviles con iOS, Android...) e incluso accesible vía web.

Evernote nos permitirá tomar notas de todo tipo: texto, fotografías, grabación de audio, adjuntar documentos, capturas de pantalla... casi cualquier forma que se nos ocurra de tomar notas. Lo mejor de todo es que pueden sincronizarse entre todos los dispositivos que queramos.







REGISTRO


Necesitamos una cuenta con Evernote para sincronizar nuestras notas entre dispositivos. Bastará con un correo electrónico, nombre de usuario y contraseña desde el formulario de registro:



DESCARGA


Podemos descargar la versión para nuestro sistema operativo:


También existen versiones para otros sistemas operativos y navegadores:




USO

Una vez instalado el software en nuestro dispositivo podemos comenzar a utilizarlo. El programa es muy intuitivo, las funciones básicas que tendremos serán:


  • Insertar nuevas notas (texto, imágenes, capturas de pantalla, fotografías, grabación de voz...)
  • Ver listado de notas
  • Realizar búsquedas
Vamos a mostrar un ejemplo: creamos una nota nueva desde la versión para PC


Pulsando sobre el botón sincronizar actualizamos la información de nuestra cuenta y ya tendremos las notas disponibles para sincronizar en el resto de nuestros equipos. En nuestro caso tenemos un terminal con Android y Evernote instalado (y configurado con el mismo usuario). Al sincronizar podemos observar que la nota que escribimos en el PC está disponible aquí también:



Si deslizamos la pantalla hacia la derecha aparece el menú de Evernote con el acceso a las funciones más interesantes:





También existen widgets para el escritorio del dispositivo Android con accesos configurables a las funciones más importantes:




Estos iconos conducen directamente al listado de notas, una nota nueva, tomar una nota con la cámara de fotos, grabar una nota, buscar (imprescindible cuando tengamos un buen volumen de notas) y configurar la aplicación.

Como podéis comprobar es una aplicación potente y sencilla de utilizar, animaos a probarla. Pasará a la categoría de imprescindible en poco tiempo.






Recomendaciones de Alcasoft