Migrar usuarios de Joomla a Drupal

Deja un comentario


En mi proyecto dentro de los Laboratorios de Computo-Docencia de CBI (ixil.izt.uam.mx) tengo como trabajo la migración del sitio que se encuentra actualmente manejado con Joomla a uno que se maneje mediante Drupal, entonces tenía la tarea de hacer la migracion de datos, paginas, usuarios, etc.

Entonces, lo que encontre dentro de estos sistemas es que existe un modulo en Drupal que ya hace eso, migrar usuarios y contenido de Joomla a Drupal, para que finalmente se cambie el manejador de contenido y se haga una actualización del sistema, que buena falta le hace. Luego de hacer la migración con este modulo que me hizo la vida facilisima, me tope con el gravisimo problema de que los usuarios ademas de tener un nombre de usuario y una contraseña (que es lo que maneja Drupal por default), tambien tiene un Nombre propio, un Apellido Paterno, un Apellido Materno y algo importantisimo para el sistema el Número de empleado… putsssssssssssssssssssssssssssssssssssss…..

Entonces me di a la tarea de investigar como es que se tenia que hacer todo este bisnes (bussines) y poder así migrar todos los datos de los usuarios que estan en la base de datos de Joomla. Encontre varias respuestas, pero casí todas me llevaban a un Drupal antaño que claro no quería instalar ya que lo que se necesita es una actualización. Así que despues de tres días de buscar en foros, blogs y en la documentación de Drupal (la deje al final por que me da weba leer en ingles…), encontre algo que me llamo la atención, el modulo llamado Content Profile, con el cual pude hacer los campos para el Nombre, Apellidos y Número de empleado, pero putsssssssssssssssssssssssssssssssssss otra vez….. ahora como le hacia para terminar de migrar los datos de Joomla a Drupal, bien… me puse a buscar otra vez, ahora por menos tiempo, por que me seguian saliendo los resultados de la busqueda anterior… entonces dije… que maldita sea, yo sé programar… y me puse a hacer un script de PHP que me costo como 20 mins. de mi vida que lo que hace es copiar registro por registro (que creo que cualquier otro modulo haría lo mismo), los datos de los usuarios de la tabla xxx_users de Joomla a xxx_profile_values. El script es el siguiente.

//

$mysql_config = array(
		'hostname'	=>	'',		// Servidor MySQL
		'username'	=>	'',		// nombre de usuario
		'userpass'	=>	'',		// password
		'dbsename'	=>	''		// base de datos
	);
	
	
	if ( $idcnx = @mysql_connect($mysql_config['hostname'], $mysql_config['username'], $mysql_config['userpass']) ){
		if ( @mysql_select_db($mysql_config['dbsename'],$idcnx) ){
			
			
			$sql_dplusers = 'SELECT uid,name FROM dpl_users;';
			if ( $res_dplusers = @mysql_query($sql_dplusers) ){
				
				if ( mysql_num_rows($res_dplusers) > 0 ){
					
					while ( $dplusers = mysql_fetch_array($res_dplusers) ){
						
						$sql_josusers = 'SELECT name,apellido1,apellido2,idEscolar FROM jos_users WHERE username="' . $dplusers['name'] . '" LIMIT 1;';
						if ( $res_josusers = @mysql_query($sql_josusers) ){
							
							if ( mysql_num_rows($res_josusers) == 1 ){
								
								$josusers = mysql_fetch_array($res_josusers);
								
								$sql_profilevalue_employenumber = 'INSERT INTO dpl_profile_values VALUES(4,' . $dplusers['uid'] . ',"' . $josusers['idEscolar'] . '");';
								@mysql_query($sql_profilevalue_employenumber);
								$sql_profilevalue_firstname = 'INSERT INTO dpl_profile_values VALUES(2,' . $dplusers['uid'] . ',"' . $josusers['name'] . '");';
								@mysql_query($sql_profilevalue_firstname);
								$sql_profilevalue_lastname_father = 'INSERT INTO dpl_profile_values VALUES(3,' . $dplusers['uid'] . ',"' . $josusers['apellido1'] . '");';
								@mysql_query($sql_profilevalue_lastname_father);
								$sql_profilevalue_lastname_mother = 'INSERT INTO dpl_profile_values VALUES(5,' . $dplusers['uid'] . ',"' . $josusers['apellido2'] . '");';
								@mysql_query($sql_profilevalue_lastname_mother);
								echo 'Query Ok for user ' . $dplusers['name'] . '';
								
							}
							else
								echo 'No user data for ' . $dplusers['name'] . '';
						}
						else
							echo 'No user data for ' . $dplusers['name'] . '';
					}
					
				}
				else
					echo 'No results!!!...';
				
			}
			else
				echo 'No results!!!....';
			
			
		}
		else
			echo 'conected but no data base selected :(';
		mysql_close($idcnx);
	}
	else
		echo 'Not connected!!!!....';
	

//



Como pueden ver, no esta optimizado, tienes que investigar cuales son los ids’ de los campos que creaste con el modulo profiles, pero funciona, yo ya tengo todos los datos dentro de la tabla de xxx_profile_values. Si les gusta o quieren modificarlo aca les dejo el fuente para que se lo descargue, pero no tiene nada de explicación así que tendran que valerse de su entendimiento de PHP

Saludos

Anuncios

OpenArena 0.8.5

Deja un comentario


Ahora les traigo este maravilloso juego que se le han echo algunas modificaciones  espero les guste, estos son algunas de las mejoras:

  • Nuevos efectos: humo para los misile, chispas para la escopeta, etc.
  • Nuevos mapas
  • Mapas optimizados
  • Mejorado la piel para Angelyss
  • Nueva piel para Beret y Assassin

Más información: Open Arena Foro

Nombre: OpenArena
Versión: 0.8.5
Género: Acción 3D
Licencia: GPL
Plataformas: GNU/Linux, Windows, MacOS X
Web Oficial: OpenArena

Códecs multimedia en fedora para cualquier formato

Deja un comentario


En esta ocación les traigo la manera en como pueden instalar códecs de audio tanto de audio y video, formatos como mp3, wma, avi, mpg, etc, les mostrare la instalación para dos entornos graficos:

  • Códecs para entorno KDE
yum -y install xine-ui xine-lib-extras-freeworld xine-lib-extras
  • Códecs para entorno GNOME
yum -y install gstreamer-ffmpeg gstreamer-plugins-bad
gstreamer-plugins-bad-extrasgstreamer-plugins-base
gstreamer-plugins-good gstreamer-plugins-ugly

con esto ahora ya podran disfrutar de sus peliculas favoritas y asi como tambien de la musica de su agrado 😀

TuxInfo 25 | lista para la descarga: “Instalación de distro OpenSolaris. ¡Sencillo!”

Deja un comentario


Ahora ya se encuentra disponible el No 25 de esta revista les dejo el link

TuxInfo 25

Flisol 2010 – poster y lona

Deja un comentario


He hecho (mejor dicho, hemos hecho [Alan y su servidor]), este diseño del poster y de la lona del Flisol 2010 que se llevara a cabo en la Universidad Autónoma Metropolitana en la unidad Iztapalapa, que hacen juego con el sitio Web del mismo evento.

Espero verlos pronto pegados por la escuela (de eso nos encargaremos todos los involucrados en este evento), por que a mi parecer se ven chidos, espero que a ustedes tambien les guste. Les dejo aquí la muestra de nuestro trabajo:

Entonces, chequenlas y espero su opinión, también espero su opinión sobre el sitio Web del Flisol.

via: http://arkos.net63.net/index/?option=index&call=show_post&post_id=91

Arduino!!

Deja un comentario


arduino.cc

via : http://blog.beetlebum.de/2010/03/08/arduino/

Haz llamativo un anuncio en tu Web con JQuery

Deja un comentario


El día de ayer (Jueves 4 de Marzo) me encontraba realizando algunas modificaciones a la página Web del FLISOL UAM-I, cuando me llego un mensaje por twitter, el cual decía que la fecha del evento debería ser maás visible, entonces me di cuenta de que en efecto, la fecha era algo que debia resaltar ante cualquier otra cosa, entonces me di a la tarea de pensar en como haría para que la fecha del evento del FLISOL resaltára mucho más, de inmediato me llego a la mente JQuery, con sus efectos de fadeIn y fadeOut podría hacer que la fecha resaltara. Entonces encontre la siguiente solución.

No es muy ortodoxa, ni tampoco es la mejor, pero de verdad que ayuda…. si no me creen denle una checada a la página Web del FLISOL UAM-I, entonces mi solución es la siguiente:


// con JQuery hacemos que el selector desaparesca y aparesca con el efecto de fadeIn
$('.clase_aviso').hide(0); // la desaparecemos
$('.clase_aviso').fadeIn(3500); // la aparecemos  con efecto de fade

setTimeout(// hacemos que el efecto tarde unos segundos 5 segundos para ser exactos...
	function(){
		$('.clase_aviso').fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300).fadeIn(300); // llamar la atención del visitante
	},
	5000 // tiempo de retardo
);

$('.clase_aviso').click(function()	{$('.clase_aviso').fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300).fadeOut(300).fadeIn(300).fadeIn(300); // llamar la atención del visitante
});

Entonces, lo que hace el codigo anterior es que cuando carga la página muestra la clase en fadeIn, despues de 5 segundos, hace un fadeOut y fadeIn repetidas veces para que el usuario se de cuenta de este, finalmente agregue el evento click a la clase, para que cada vez que el usuario de click sobre la clase muestre otra vez el efecto antes mencionado….

La clase que se utilizo para el sitio Web del FLISOL UAM-I fue el siguiente:


.clase_aviso{
	display: inline-block;
	position: fixed;
	top: 10px;
	left: 10px;
	height: 133px;
	width: 133px;
	/*
	Si gustan pueden agregarle una imagen de fondo o solo un color de fondo, pero tiene que contrastar con los colores del sitio, pues si no, su efecto habrá sido en vano...
	*/
}

Y después de esto, sean felices con su nuevo efecto de jquery en los avisos mas importantes..

Saludos.

via: http://arkos.net63.net

Older Entries