Jul 13
Introducción.
Después de actualizada la versión 5 del portal a la 6.12 o la instalación de una versión 6.x fresca, se hace necesario actualizar el portal a la nueva versión disponible, la 6.13.
Procedimiento.
- Realizar la copia de seguridad de la base de datos del portal.
- Ingresar al portal con el usuario cuyo id = 1.
- Modificar la configuración del sitio poniéndolo en modo administración: ?q=admin/settings/site-maintenance.
- Actualizar los módulos disponibles según el módulo de update-status: ?q=admin/reports/updates.
- Desactivar los módulos (?q=admin/build/modules) y temas (?q=admin/build/themes) de terceros.
- Realizar la actualización de los archivos.
- $ wget http://ftp.drupal.org/files/projects/drupal-6.13.tar.gz
- $ rm site.old
- $ mv site site.old
- $ tar zxvf drupal-6.13.tar.gz
- $ mv drupal-6.13/ site
- $ cp -rf site.old/files site (si no se utiliza la convención bajo sites/default).
- $ cp -rf site.old/sites site
- (web) $URL/apps/site/update.php
- (web) $URL/?q=admin/reports/updates
- rm site/install.php site/CHANGELOG.txt site/INSTALL.txt site/INSTALL.mysql.txt site/INSTALL.pgsql.txt site/LICENSE.txt site/MAINTAINERS.txt site/UPGRADE.txt
- $ rm drupal-6.13.tar.gz
- Activar los módulos (?q=admin/build/modules) y temas (?q=admin/build/themes) de terceros.
- Modificar la configuración del sitio poniéndolo en línea nuevamente: ?q=admin/settings/site-maintenance.
Con esta actualización se introducen las siguientes modificaciones al esquema de actualizaciones de Drupal que se había estado siguiendo hasta la fecha.
- Los archivos del usuario, diferentes a los de la distribución de Drupal, y a los cuales se les debe realizar copia de seguridad se encuentran en las siguientes ubicaciones.
- sites/all/libraries. Librerías que aplican a todos los sitios.
- sites/all/modules. Módulos de terceros que aplican a todos los sitios.
- sites/all/themes. Temas de terceros que aplican a todos los sitios.
- sites/default/files. Archivos de usuario de un sitio específico (default).
- sites/default/settings.php. Configuración de un sitio específico (default).
- Si no se utiliza la convención bajo sites los directorios libraries, modules, themes y files se ubicarán en el directorio raíz de la distribución de Drupal, esto debe tenerse muy en cuenta ya que deberán agregarse como pasos durante la copia de seguridad y deberá tenerse extremo cuidado para evitar conflictos con los archivos del núcleo de la distribución que utilizan la mayoría de estos directorios.
Enlaces.
Tagged with: CMS • Drupal • Hipergalaxia • php • Software • Web
Jul 13
Introducción.
Después de poblado el modelo con la información proporcionada por el usuario a través del formulario, la validación verifica que la información del modelo sea correcta mediante la aplicación de un conjunto de reglas definidas específicamente para cada modelo.
Especificación de reglas.
- Para especificar las reglas de validación de un modelo es necesario sobreescribir el método rules().
public function rules()
{
return array(
array('value1, value2, operator', 'required'),
array('value1, value2', 'numerical')
);
}
- El método rules() retorna un arreglo cuyos elementos corresponden con la siguiente especificación.
array('<lista de atributos>', '<validador>', 'on' => '<lista de escenarios>', ... <opciones adicionales>)
- El listado de atributos corresponde con los nombres separados por comas de los atributos a los cuales se les aplica la regla de valildación.
- El nombre del validador determina el tipo de verificación que se debe realizar sobre los atributos.
- El parámetro on (opcional) permite especificar en cuales escenarios (lista separada por comas) aplica la regla.
- Las opciones adicionales son parejas nombre/valor que permiten asignar valores iniciales a las propiedades del validador.
Tipos de validadores.
Existen tres tipos de formas como es posible especificar las reglas de validación.
- Como un método del modelo.
- Como una clase que hereda de CValidator.
- Como un alias de un validador predefinido.
Validadores predefinidos.
Corresponden a alias mas cortos y sencillos de los validadores mas utilizados sobre los atributos.
A continuación se muestras algunos ejemplos de estos validadores.
/* Se requiere un valor Username, no puede dejarse vacío */
array('username', 'required'),
/* Username deberá tener entre 3 y 12 carácteres */
array('username', 'length', 'min' => 3, 'max' => 12),
/* En el escenario 'registro', password deberá coincidir con password2 */
array('password', 'compare', 'compareAttribute' => 'password2', 'on' => 'registro'),
/* En el escenario 'login', password deberá ser autenticado (validador de método [1] o de clase [2]) */
array('password', 'authenticate', 'on' => 'login')
Ejecución de la validación.
- Es posible forzar a la validación manualmente mediante el llamado al método CModel::validate(). El llamado a métodos como CActiveRecord::save() lanzan automáticamente la validación.
- El retorno del método CModel::validate() se utiliza para verificar si la validación fue exitosa o si falló alguna de las reglas.
- Es posible (opcional) definir un escenario para la ejecución de la validación. En caso de especificarse se tomarán en cuenta las reglas que NO tienen definido un escenario (parámetro on) y aquellas cuyo escenario coincida con el definido para la ejecución de la validación. En caso de no especificarse un escenario, se tomarán en cuenta únicamente las primeras reglas, las que NO tienen definido un escenario.
$modelo -> scenario = 'registro';
if($modelo -> validate())
{
// Éxito en la validación
}
else
{
// Fracaso en la validación
}
- Es posible obtener mayor información del validador mediante los siguientes métodos que pueden ser aplicados globalmente para todos los atributos o a uno en específico.
- CModel::hasErrors(). Verifica si hubo o no errores en la validación.
- CModel::getErrors(). Obtiene los mensajes de error generados durante la validación.
Enlaces.
Tagged with: Desarrollo de software • Hipergalaxia • MVC • php • Web • yii