lunes, 26 de febrero de 2007

Certificado Digital

Me saqué hace un tiempo ya un certificado digital por la casa de monedas, es realmente rápido y sirve para gestiones como sacar tu vida laboral por internet, te permite presentar declaraciones a hacienda (no lo he hecho y requiere más aprobaciones),...

http://www.fomento.es/MFOM/LANG_CASTELLANO/OFICINA_VIRTUAL/FIRMA_ELECTRONICA/gestionar_certificado.htm

jueves, 22 de febrero de 2007

Crear y eliminar contenedores en oracle

Para crear un contenedor que sea un oc4j:
dcmctl createcomponent -co NOMBRE_CONTENEDOR_A_CREAR -ct oc4j

Para borrar un contenedor:
dcmctl removecomponent -co NOMBRE_CONTENEDOR_A_BORRAR

Altura mínima y dinámica de divs de css usando js

Muchas veces tenemos, por ejemplo, un menú lateral con un determinado fondo y queremos que cuando el contenido central vaya creciendo pues el color del menú se extienda hasta abajo.

Esto se logra con un js que me encontré, para llamarlo basta citarlo con la ruta correspondiente (quitar los espacios después del '<'):

< script language="JavaScript" src="./column.js">< /script>


...ahora sí: la función js:


// by Paul@YellowPencil.com and Scott@YellowPencil.com
// feel free to delete all comments except for the above credit

function setTall() {
if (document.getElementById) {
// the divs array contains references to each column's div element.
// Replace 'center' 'right' and 'left' with your own.
// Or remove the last one entirely if you've got 2 columns. Or add another if you've got 4!
var divs = new Array(document.getElementById('contenido'), document.getElementById('enlaces'), document.getElementById('menu'));

// Let's determine the maximum height out of all columns specified
var maxHeight = 0;
for (var i = 0; i < divs.length; i++) {
if (divs[i].offsetHeight > maxHeight) maxHeight = divs[i].offsetHeight;

}

// Let's set all columns to that maximum height
for (var i = 0; i < divs.length; i++) {
divs[i].style.height = maxHeight + 'px';

// Now, if the browser's in standards-compliant mode, the height property
// sets the height excluding padding, so we figure the padding out by subtracting the
// old maxHeight from the new offsetHeight, and compensate! So it works in Safari AND in IE 5.x
if (divs[i].offsetHeight > maxHeight) {
divs[i].style.height = (maxHeight - (divs[i].offsetHeight - maxHeight)) + 'px';
}
}
}
}

window.onload = function() {
setTall();
}

window.onresize = function() {
setTall();
}

miércoles, 21 de febrero de 2007

Firefox bloquea el ir a una página por culpa de su puerto

Cuando estamos navegando con firefox y sale un mensaje como "Esta dirección usa un puerto de red que normalmente se utiliza con fines distintos a la navegación web. Para su protección, Firefox ha cancelado la petición."; entonces debemos editar un fichero de preferencias:

(os lo muestro en Windows)
1.-
C:\Archivos de programa\Mozilla Firefox\greprefs
Editar el fichero all.js y colocar pref("network.security.ports.banned.override", "nro_puerto"); donde está puesto nro_puerto pues sustituímos por el número en cuestión (ej.: 102)

2.-Reiniciar Firefox

martes, 20 de febrero de 2007

Mis extensiones firefox

Mis imprescindibles:

WebDeveloper: Para el desarrollo web, la imprescindible. https://addons.mozilla.org/firefox/60/
ScreenGrab: Permite capturas completas de la página como imagen. http://screengrab-extension.softonic.com/ie/43517
FireShot: Permite capturas completas de la página y editarlas colocándole notas. Sólo para Windows. https://addons.mozilla.org/en-US/firefox/addon/5648
Form Saver: Permite salvar formularios para no tener que rellenar siempre páginas. https://addons.mozilla.org/en-US/firefox/addon/1490
MeasureIt!: Es una regla (la webdeveloper tiene una similar). https://addons.mozilla.org/firefox/539/
del.icio.us: Son "mis favoritos" o "mis marcadores" disponibles desde cualquier parte, y esta extensión me permite añadir con mayor facilidad. http://del.icio.us/help/firefox/extension. Para más información ir a la página de del.icio.us.
DummyLipsum: Utilísima para crear los típicos textos de "lorem ipsum...". https://addons.mozilla.org/firefox/2064/
TAW3: Extensión del taw (accesibilidad) http://www.tawdis.net/taw3/cms/es/herramientas/extension.html
Document Map Extensión para ver la estructura de encabezados. https://addons.mozilla.org/es-ES/firefox/addon/475
TamperData: Para ver las peticiones http. https://addons.mozilla.org/firefox/966/
IETab: En una nueva pestaña ves el aspecto en el explorer (no disponible para linux). https://addons.mozilla.org/firefox/1419/
Firebug Estilo webdeveloper, pero tiene muy buenas opciones para ediciones y monitorizaciones de dom y css. https://addons.mozilla.org/es-ES/firefox/addon/1843
ViewSourceChart: El código fuente con colores por bloques. https://addons.mozilla.org/firefox/655/
ShowCase: Muestra una ventana con thumbnails de las pestañas abiertas, permitiéndote seleccionar cualquiera. Permite la rápida ubicación de una pestaña. https://addons.mozilla.org/en-US/firefox/addon/1810
JavaScriptDebugger: Para depurar javascript, aunque no me gusta mucho, tiene una consola útil de los mensajes de error. https://addons.mozilla.org/firefox/216/
Professor X: Puedes ver código javascript y css de la página. https://addons.mozilla.org/firefox/2823/
Visor JS: Permite ver el código JS externo. https://addons.mozilla.org/firefox/2076/

Enlaces relacionados:
1.-Extensiones Firefox
2.-Blog de extensiones
3.-Artículos sobre firefox

viernes, 16 de febrero de 2007

Así es la vida del desarrollo software....

En un desarrollo software hay muchos puntos de vistas, tantos como agentes involucrados y ya no sólo por la función que desempeñan sino por la propia persona, pero se resume muy bien en la siguiente imagen. Aunque, por otra parte, yo agregaría fondos tormentosos cuando se acerca el fin del proyecto ;).

Abator: generando ibatis automáticamente

Para los que usan ibatis, que es un mecanismo para sentencias sql y mapeos entre VO's que yo uso en Java, aquí tienen la forma de generar automáticamente algunos ficheros de configuración.
En pocas palabras, genera los VO's y los ficheros XML a partir de la base de datos.

http://ibatis.apache.org/abator.html
http://ibatis.apache.org/docs/tools/abator/

Vertical-align

Artículo en inglés, aunque tiene varias traducciones, sobre cómo centrar verticalmente para varios navegadores y css

http://www.jakpsatweb.cz/css/css-vertical-center-solution.html

Instalar ie7 en linux

http://www.bootlog.cl/blog/internet/ie7-para-linux-mas-facil-que-en-windows/

¿Cuándo poner un botón y cuándo poner un enlace?

Nos recuerda algunas pautas para decidir si poner un botón o un enlace:

http://www.alzado.org/articulo.php?id_art=633

CSS distintas para los navegadores

Bien sabido es que cada navegador interpreta las css casi que a su modo y ello obliga a hacer pequeñas modificaciones para uno u otro navegador.

Para hacer que nuestras páginas tomen una css u otra yo realizo lo siguiente:
(Nota: quitar los espacios después de '<')

1.-La css que me sirve de base la hago basada en firefox y luego genero otras para hacer las modificaciones.


< link type="text/css" rel="stylesheet" href="../css/css_base.css" />


2.- Para la css que modifica para explorer 7


< !--[if gte IE 6]>
< link rel="stylesheet" type="text/css" media="screen" href="../css/ie7_bug.css" />
< ![endif]-->


3.- La css que modifica para explorer 6


< !--[if IE 6]>
< link rel="stylesheet" type="text/css" media="screen" href="../css/ie6_bug.css" />
< ![endif]-->


A destacar:
Los atributos puesto con '_' (que sólo los veía explorer 6 o anteriores) no son válidos por el w3c.
Los estilos que coloquemos con *> el explorer 7 sí los interpreta (aunque no del todo bien) y el explorer 6 no. El firefox también los interpreta.

Abrir automáticamente una impresión de una página html

Muchas veces al abrir una ventana queremos que se lance la ventana de impresión automáticamente, esto se consigue con un iframe oculto (accesibilidad=0).

1.-Función js para detectar el tipo de navegador, porque la impresión se lanzará de manera diferente (hace uso de la función para detectar el navegador que tengo en otro post):

/*Función que imprime el frame oculto*/
function imprimoFrame(){
var tipo = tipoNavegador();
if (tipo==1){
window.frames["popUpImpresion"].focus();
window.frames["popUpImpresion"].print();
}else{
if (tipo==2){
document.popUpImpresion.focus();
document.popUpImpresion.print();
}else{
if (tipo==3){
document.popUpImpresion.focus();
document.popUpImpresion.print();

}
}
}
}

2.-Coloco en mi página el iframe: (quitar el espacio luego del '<')

< iframe class="marcoOculto" src="/aplicacion/action/confirmPopUp" name="popUpImpresion" id="popUpImpresion" onload="imprimoFrame()">
Su navegador no soporta IFrame
< /iframe>


3.-La class marcoOculto de css tiene lo siguiente:

/*oculta un iframe, en realidad pone ancho y alto a 0*/
iframe.marcoOculto{
border:none;
width:0em;
height:0em;
}


4.-El action /aplicacion/action/confirmPopUp lo que hace es llevar a la tile aplicacion.respuestaHTML que en realidad es la página html a imprimir. En realidad, se podía haber colocado la página directamente, pero esta forma es más elegante.



detectando navegador con js

/*Función que detecta el tipo de navegador: firefox=1, ie7=2, ie6=3.*/

function tipoNavegador(){
var version=0;
if (window.XMLHttpRequest) {
if(document.all){
//IE7
version=2;
}else{
//mozilla, safari, opera 9, etc
version=1;
}
} else {
// IE6, o viejos navegadores
version=3;
}
return version;
}

Comenzando

Hoy ¡por fin! me he dignado a crear un blog para dejar constancia de cosas con las que me topo en mi trabajo, sobretodo con java, es mi manera de colaborar a la "transmisión del conocimiento" porque si yo me baso en la red para buscar información creo que tengo que aportar mi granito de arena también ;).

VRS