miércoles, 19 de diciembre de 2012

Eliminar un blog de blogger (post autorreferente)

Bromas aparte, en alguna ocasión hemos tenido un blog obsoleto que hemos decidido eliminar. Normalmente lo dejas estar (por eso de que el saber no ocupa lugar), pero puede darse el caso que prefieras eliminarlo. 

Blogger permite hacerlo en unos cuantos pasos (que no están tan accesibles como se pueda pensar, tal vez para eliminar la tentación de eliminar un blog o para evitar que se haga accidentalmente).

Si tu blog no ha recibido el indulto y va a ser eliminado, puedes hacerlo siguiendo estos pasos:

Desde la ventana de entrada a blogger sitúate en la lista de blogs y pulsa sobre el icono con forma de flecha que señala hacia abajo junto al listado de entradas, selecciona la opción "Configuración":


Luego elige el submenú Otros y pulsa sobre la opción "Suprimir blog"


 Aparece un mensaje avisando de lo que vas a hacer. Blogger mantiene los datos del blog durante 90 días por si te arrepientes (puedes recuperar los datos de tu blog en ese período). También puedes exportar tu blog para conservar una copia. En nuestro caso hemos decidido eliminarlo completamente, pulsamos "Suprimir este blog"


 Y alea jacta est, el blog ha quedado eliminado.

jDownloads: área de descarga gratuita para Joomla

Vamos a presentar un componente de Joomla para crear un área de descargas: jDownloads. Es un componente gratuito con una funcionalidad bastante completa.

Descargamos el componente de la página del desarrollador para nuestra versión de Joomla

http://www.jdownloads.com/index.php?option=com_jdownloads&Itemid=133&view=summary&cid=320&catid=33

Una vez descargado lo instalaremos desde el gestor de extensiones de Joomla:


 Pulsamos sobre "Start jDownloads" para acceder al panel de control (o vamos a Componentes > jDownloads):



CREAR UN APARTADO DE DESCARGAS

El primer paso será crear una categoría (que posteriormente enlazaremos con un elemento de menú). Pulsamos el icono Categories y pulsamos en "Nueva". Rellenamos los datos de la categoría. Nosotros hemos elegido el nombre "Publico" para hacer un apartado de descargas para el público general.


Ahora vamos a crear una descarga. Pulsamos en la pestaña "Downloads" y el botón "Nuevo":


Aparece un formulario con un botón para elegir los ficheros que queremos subir a nuestro servidor. Para que la descarga quede enlazada iremos a la pestaña "Manage files" y elegimos nuestro archivo subido:


Pulsamos sobre "Create Download" y rellenamos el formulario que aparece con la categoría de la descarga (nuestra categoría "Publico", el tipo de archivo, descripción, etc...)


Pulsamos "Guardar" y tendremos la descarga creada y accesible desde el listado:


Ahora tenemos que crear el elemento de menú enlazado con la categoría. Nos vamos al menú concreto donde queramos que aparezca, pulsamos "Nuevo" y seleccionamos el tipo de elemento de menú jdownloads > Category Layout



 Fijamos la categoría "Publico" creada, "descargas" como nombre del elemento de menú y guardamos. En nuestro front-end tendremos disponible el nuevo elemento de menú:



Y al pulsarlo aparecerán las descargas en la categoría "Publico" (de momento sólo la única que hemos creado, pero seguro que pronto añadimos más):



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?

Recomendaciones de Alcasoft