AROUNDMe collaboration server es un sowfware que permite crear espacios sociales en la Web basados en la colaboración. Ofrece a la gente la posibilidad de juntarse con otras personas que compartan intereses comunes, ya sea en grupos públicos o privados. Mediante el uso de blogs, foros y wikis, los usuarios pueden compartir información o conocimientos, y aprender de otros.
Se trata de un software gratuito que permite crear múltiples páginas web, personalizadas usando CSS, XHTML y Javascript. Añadir herramientas como libros de visitas, blogs comunitarios, foros y wikis. Medir la actividad de un espacio, para así poder medir el estado o la repercusión.
Es necesario tener PHP5 en Apache o IIS y MySQL 4.1+, a la vez que disponer la posibilidad de modificar el dominio ya que los usuarios se crean con subdominios. AROUNDMe collaboration server
phpTube es una librerÃa que nos permitirá subir nuestros vides a Youtube o descargarlos. Para descargarlos deberemos indicar el id del vÃdeo en Youtube y la ruta donde querremos guardarlo. Para subir un vÃdeo a Youtube, habrá que indicar el nombre del fichero que contiene el vÃdeo, el tÃtulo, la descripción, las etiquetas, la categorÃa, el idioma y el modo de publicación (público o para amigos).
Unos ejemplos de uso serÃan los siguientes:
<?php
include_once ("phptube.php");
$tube = new PHPTube ();
$tube->download("clOCFKak1_c","video.flv");
?>
Data Recovery Toolkit for InnoDB es un conjunto de herramientas que comprueba los tablespaces de InnoDB y recuperan datos de un tablespaces dañado o de tablas que han sufrido drop o truncate.
Entre las caracterÃsticas que ofrece nos encontramos con:
Soporte para REDUNDANT (anterior a MySQL 5.0) y COMPACT (posterior a MySQL 5.0).
Funciona con un tablespace único o un tablespaces de un fichero por tabla.
Recupera datos incluso cuando una página InnoDB has sido reasignada a otra tabla o fue parcialmente destruida.
Permite todos los tipos de datos de MySQL excepto BLOBs, SETs y BITs, aunque está previsto para la próxima versión.
Tiene un conjunto de filtros de datos para definir rangos de datos (para números), longitud de campos (para campos de longitud variable), juegos de caracteres (para strings), periodos de datos, etc…
Viene acompañado de una herramienta que permite definir tablas InnoDB, asà no es necesario implementarlas directamente mediante sentencias SQL.
Los datos se devuelven en formato CSV por lo que luego pueden ser importados facilmente.
Parece que MySQL va a añadir nuevas funcionalidades en la versión 6.0 que solo van a estar disponibles para la versión Enterprise (de pago). Entre estas novedades habrá funcionalidades relacionadas con el backup online.
Esto supone un separación en dos ramas del desarrollo de MySQL, a parte de pensar en que la versión Enterprise tendrá funcionalidades que no estarán tan testeadas como si estuvieran en la versión Community, la cual está respaldada por una gran cantidad de usuarios. Just announced: MySQL to launch new features only in MySQL Enterprise
Para mí, uno de los mayores fracasos de Twitter es su API, una limitación de su uso increíble para algo que le podría dar mucho juego a la aplicación. Ahora mismo no sé en cuánto está el límite, pero la posibilidad de realizar una aplicación basada en Twitter es una pesadilla.
Para aquellos que no quieran sufrir lo que hemos sufrido con TwitterPoster (los espacios en blanco es porque la gente actualiza su imagen y no podemos recuperar la de todos los usuarios por el límite en el API de Twitter), les recomiendo usar Twitter mediante CURL.
Os paso un script sencillito que he realizado:
<?php
// Primer hacemos login
$url ="https://twitter.com/sessions";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
// Por si tienen limitación por navegador
curl_setopt($ch, curlOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
// Poned una ruta para las cookies
curl_setopt ($ch, CURLOPT_COOKIEJAR, '/temp/');
curl_setopt ($ch, CURLOPT_COOKIEFILE, '/temp/');
curl_setopt ($ch, CURLOPT_POSTFIELDS, "username_or_email=[usuario]&password=[contraseña]");
// Para que funcione el https
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, curlOPT_SSL_VERIFYHOST, 2);
curl_exec ($ch);
// Cargamos el home, porque Twitter añade dos campos ocultos para poder publicar por web
$url ="http://twitter.com/home";
curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec ($ch);
// Recuperamos los campos ocultos
preg_match('//', $result, $match);
$authenticity_token = $match[1];
preg_match('//', $result, $match);
$siv = $match[1];
// Insertamos el texto
$res = $url ="http://twitter.com/status/update";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'siv='.$siv.'&authenticity_token='.$auth.'&status=[texto]');
curl_exec ($ch);
curl_close ($ch);
unset($ch);
?>
¿Qué fallo tiene este script? pues que si cambian el HTML (campos de formulario, …) o las URLs deja de funcionar, pero al menos no tenemos limitaciones. Eso sí, es más costoso para sus servidores y para los nuestros, porque en vez de hacer una llamada, hacemos 3, y en nuestro caso, a parte parseamos una página para obtener dos campos ocultos.
Codeigniter tiene una método para tratar con las URLs: http://dominio/controlador/metodo/param1/param2/… El problema viene cuando nuestra aplicación necesita URLs diferentes, como las de Twitter u otra red social, que son del tipo http://dominio/username.
Para ello primero se debe cambiar el archivo routes.php de la configuración:
//Excluir estos controladores cuando se generan las URLs
$route['(login|oauth|site|search)(.*)'] = '$1$2';
//Las URLs de los usuarios
$route['[a-zA-Z0-9]+/(add|edit)'] = 'users/$1';
$route['[a-zA-Z0-9]+'] = 'users/profile';
Después habrá que modificar el .htaccess para usar APP_PATH:
Redux Authedtication es una librería creada para CodeIgniter que nos permite realizar autenticación en nuestro sistema de forma ligera, sencilla y completa en funcionalidades. Una gran elección para nuestros proyectos debido a las posibilidades que ofrece al desarrollador.