pues resulta que la compilación de php le tomo 25 min 50 seg, lo bueno fue que se quedo trabajando en la noche, así que ya solo falta instalar
make install
ya solo es cuestión de modificar el /usr/local/apache2/conf/httpd.conf y agregar
AddType application/x-httpd-php .php
para que maneje los archivos con extension .php con PHP y reiniciar el apache para que tome la configuración ya con php
sudo /etc/init.d/httpd stop
sudo /etc/init.d/httpd start
ahora si ya esta lista la sparc para que migre la aplicación de la compaq, pero esa es otra historia, por el momento voy a enfocarme a escribir los factories para el MVECBuilder
¿hay algo en como usa el Controller al View que dependa de propiedades especificas que no formen parte de la api del View? por el momento no lo veo muy claro
lo que es evidente es que necesito una clase que sirva como visor del tipo date y el MVECBuilder.ViewFactory va a devolver por default una instancia de esta clase cuando se trate de este tipo.
MVECBuilder.ViewFactory = function( params ){
if ( typeof params.symbol==undefined )
throw 'params.symbol is mandatory argument';
if ( typeof params.containerElement==undefined )
params.containerElement = null;
var symbol = params.symbol;
var containerElement = params.containerElement;
var objParams = {};
objParams.symbol = symbol;
if ( containerElement!=null )
objParams.containerElement = containerElement;
if ( symbol.type=='date' ){
return new GSF.GUI.DateViewer( objParams );
} else {
return new MVECBuilder.View( objParams );
}
}
Escritura del componente GSF.GUI.DateViewer
if ( GSF==undefined ) GSF = {};
if ( GSF.GUI==undefined ) GSF.GUI = {};
GSF.GUI.DateViewer = function( params ){
/*
params.symbol
params.containerElement (opcional)
params.rootElement (opcional)
*/
// check arguments
if ( params.symbol==undefined )
throw ‘params.symbol is a mandatory argument’;
var symbol = params.symbol;
var containerElement = null;
var rootElement = null;
var visibleStyleDisplay = ‘inline’;
if ( params.rootElement==undefined ){
rootElement = document.createElement(‘span’);
} else {
rootElement = params.rootElement;
}
if ( params.containerElement!=undefined ){
containerElement = params.containerElement;
}
// public interface
this.getContainerElement = function(){
return containerElement;
}
this.getRootElement = function(){
return rootElement;
}
this.setVisible = function( visibility ){
if ( visibility ){ // show
if ( rootElement.style.display==’none’ ){
rootElement.style.display = visibleStyleDisplay;
}
} else { // hide
if ( rootElement.style.display!=’none’ ){
visibleStyleDisplay = rootElement.style.display;
rootElement.style.display = ‘none’;
}
}
}
this.update = function(){
var value = symbol.model.getValue();
if ( value==null )
value = ‘?’;
rootElement.innerHTML = value.toString();
}
// inicializar
this.update();
if ( containerElement!=null ){
containerElement.appendChild( rootElement );
}
}