# Coppermine Photo Gallery v1.5.x: Documentación y Manuales

# Actualizar

Ten en cuenta: como se han producido cambios tanto en los archivos de Coppermine como en la base de datos en la versión cpg1.5.x, los usuarios de versiones anteriores a cpg1.5.0 tendrán que aplicar todos los pasos mencionados a continuación: tienes que sustituir los archivos y has de ejecutar el script update.php una vez.

## ¿Por qué actualizar?

Hay versiones 'mayores' y 'menores' de Coppermine. Las versiones principales han sido hasta ahora cpg1.0, cpg1.1, cpg1.2.x, cpg1.3.x, cpg1.4.x y cpg1.5.x. La próxima versión 'mayor' o actualización será cpg1.6.x (actualmente se encuentra en fase de desarrollo y no hay fecha prevista de salida). Los lanzamientos de menor importancia (el tercer número, según el esquema de la versión), también llamados "revisiones" o "versiones de mantenimiento", representan actualizaciones. Una nueva versión tiene nuevas características (en comparación con la versión anterior), y las versiones de mantenimiento llevan correcciones de errores y pequeñas mejoras (como archivos de idioma nuevos).

Para entender la política de difusión del equipo de desarrollo Coppermine tienes que entender cómo se solucionan los problemas: mantenemos un repositorio en el que el núcleo de código de cada versión importante se perfecciona continuamente. Los errores que se reportan en el foro de soporte de Coppermine, grandes y pequeños, se arreglan y guardan en dicho repositorio. Una vez que se manda hacer un paquete todas las correcciones que se han hecho entran en la nueva versión de mantenimiento.

Hay una buena razón para sacar una nueva versión de mantenimiento: por lo general arreglan un error crítico o una vulnerabilidad de seguridad. Como ya se ha dicho hay otros errores menores que entran en cada nueva versión, no sólo el error crítico o la vulnerabilidad que condujo a la liberación del paquete. Por lo tanto, no arreglará sólo la vulnerabilidad que ha sido el motivo inicial para liberar este paquete. Por eso siempre interesa actualizar a la versión estable más reciente tan pronto como se anuncia.

### Motivos para sacar paquetes de actualización

Esta es la lista de lanzamientos de menor importancia de cpg1.5.x y la razón por la que han salido. Tiene el propósito de explicar por qué deberías actualizar lo antes posible la versión estable más reciente, si estás ejecutando una versión antigua.

Detalles

Paquete | Razón de la liberación | Fecha
--- | --- | ---
cpg1.5.12 | Security release (stable) Announcement thread Fixed film strip issue (thread) Fixed indent for subcategories (thread) Fixed function 'utf_replace' (thread) Updated Portuguese language file (user contribution) Fixed custom thumbnail for files with uppercase extension (thread) Fixed memberlist issue when database name contains a dash (thread) Fixed colspan for guest comments when captcha is enabled (thread) Fixed PHP session name for captcha (thread) Fixed playback of Windows Media Player videos (thread) Fixed XSS issues (thread) | 2011-01-02
cpg1.5.10 | Maintenance release (stable) Announcement thread Fixed default page when comments are sorted in descending order (thread) Fixed issue with plugin usergal_alphatabs when bridged (thread) Added charsetmgr.php to the delete files array (thread) Fixed admin email address validation (thread) Corrected French lang file to fix the non showing dropdown in the user manager (thread) Fixed search feature in the keyword manager (thread) Added partial Swedish language file (user contribution) Added Italian language file (user contribution) Added Icelandic language file (user contribution) Added language fallback to function cpg_get_default_lang_var (thread) Updated Finnish language file (user contribution) Updated default value of transparent_overlay in configuration.htm (thread) Added code that makes sure mb_strlen actually exists when called (thread) Fixed album manager issue when users aren't allowed to create private albums (thread) Fixed lower case user name issue with plugin usergal_alphatabs (thread) Fixed issue where users can edit public albums (thread) HTML validation (thread) Added partial Portuguese language file (user contribution) Added partial Catalan language file (user contribution) Fixed template error if guests are allowed to create public albums Allow admin to change email address (thread) Fixed issue when regular users try to upload to self-created public albums with simple upload form (thread) Fixed missing classid attribute causing videos not to play (thread, thread) Updated regex to fix error message for blank 'allowed file types' values (thread) Fixed setting email sender address Show 'upload needs admin approval' message for flash uploader (thread) Fixed exif issue when auto resizing is enabled and watermarking is disabled (thread, thread) Optimized picture resizing and watermarking procedure Fixed display of unprocessed bbcode markup in ecard display Fixed registration process if both email verification and admin activation enabled (thread) Fixed error message if uploaded file exceeds dimension limit (thread) Fixed session table name in SMF bridge files (thread) Fixed deprecated message on pluginmgr.php (thread) Fixed critical error on memberlist when bridged (thread) Fixed use of mysql_insert_id (thread) Fixed template placeholder bug that caused cut off tags Updated Swedish language file (previous version was mainly a Danish language file) Added partial Swedish documentation Fixed last visit display in user manager when bridged with SMF2 (thread, thread) Fixed implementation of plugin hook 'ip_information' (thread) Use IPTC headline instead of IPTC title as picture title according to docs (thread) Added additional submit button on top of 'Edit files' form (thread) Added plugin hooks 'after_edit_file', 'upload_html_pre_move' and 'upload_swf_pre_move' (thread) If error occurs during batch-add, show error message and don't redirect automatically (thread) Fixed default selection of check boxes for batch-add (thread) Fixed issue with 'User Gallery Alphabetic Tabbing' plugin when bridged (thread) Skip unknown file types during batch-add process (thread) Added label for 'remember me' checkbox (thread) Removed value 'SERVER_PROTOCOL' from client ID generator (thread) Fixed picture resizing via admin tools (thread) Removed declaration of function 'cpg_folder_file_delete' from update.php (thread) Fixed spelling of ImageMagick (thread) Fixed error message when entering invalid email address in profile manager (thread) Fixed renaming of already added files during batch-add (thread) Fixed picture manager - show user created albums in public categories (thread) No longer specify a MySQL engine - use the server default. Fixed comment approval when editing comments (thread) Add anonymous group if it doesn't exist (thread) Fixed ownership of albums created with xp publisher Consistent use of plugin hook types 'action' and 'filter' (thread) Adjusted/added maxlength parameter for album title/keyword according to database types (thread) Display more batch add error messages Fixed use of intermediate-sized image (thread) Theme 'curve': remove drop-down menu leftover if empty (thread) Added plugin hook 'replace_forbidden_conditions' (thread) No error message for admin during upload if image dimension exceeds configuration value (thread) Always use PHP time when querying the database (thread) Added missing/new plugin hooks to visiblehookpoints plugin Fixed potential security issue during installation (thread) Fixed issue with language manager (thread) | 2010-11-30
cpg1.5.8 | Maintenance release (stable) Announcement thread Fixed setting default language with language manager (thread) Changed form token generation - removed trouble maker parameters (thread) Fixed language manager issue for language files with underscore (thread) Set moderator group to '0' for all albums to avoid problems for people who used that feature before it was dropped (thread) Fixed ecard if no intermediate picture is present (thread) Added Estonian language file (user contribution) Update 'last visit' time if it's a 'remember me' session (thread) Added Slovak language file (user contribution) While deleting non-images, delete the corresponding custom thumbnail if exists While renaming non-images, rename the corresponding custom thumbnail if exists While renaming files, check if there will be no conflicts before doing anything Added plugin hook 'token_criteria' Fixed missing CSS class cpg_summary and icon replacement leading to broken output of help boxes on config screen (thread & thread) Fixed possibility for users to edit their files in public galleries if disabled in config (thread) Disable the possibility for guests to enter file details by default (thread) Fixed error message when regular users try to delete their albums in public categories Re-organizing zip archives inside docs folder Adding documentation about plugin config options Fixed issue when reset file ratings (thread) Fixed empty values for 'reason' in 'report to administrator' email (thread) Fixed category view when albums with keywords are present (thread) Changed type of plugin hooks 'theme_thumbnails_wrapper_start/end' from 'filter' to 'action' and adjusted English documentation accordingly (thread) Added search terms to the title of the thumbnails page (thread) Added Japanese language file (user contribution) Adding boxes to config documentation for defaults, max, min, recomended and record name Display Coppermine news always in an iframe (thread) Fixed error message for non existing categories (thread) Replaced wrong link in update.php (thread) Added language table population section to update script to stop cpg1.4.x upgrades seing only Luxemburgish and Mexican as available langauges Updated Turkish language file (user contribution) Show password prompt if user tries to access file in password protected album directly Added Brazilian language file (user contribution) Fixed uploading to password protected albums in public categories (thread) Changed default values for user galleries category (thread) Fixed album visibility issue with user galleries (thread) Changed fix for category alpha sorting Fixed a critical error with the most viewed meta album Updated French language file (improvement and corrections) Allow higher port numbers for the site url config setting Fixed display of swf files in Firefox (thread) Fixed resizing of watermark backup images (thread) Fixed category permissions for secondary user groups (thread) Fixed issue when editing user albums (thread) Fixed issues with usergal_alphatabs plugin (thread & thread) Fixed line breaks in contact form emails Removed outdated FAQ items Updated Hungarian language file (user contribution) Fixed pre-population of user name on comments form (thread) Fixed timeout issue when fetching remote files (thread) Fixed thumb sharpening (thread) Place new comments form accordingly to sort order of comments (thread) Added Danish language file (user contribution) Added default value for 'user_profile6' during user creation (thread) Fixed HTML validation issue for german lang files - replaced & by &amp; Updated plugin manager documentation (thread) Added Hungarian language file (user contribution) Fixed pagination for user manager (thread) Updated Finnish language file (user contribution) | 2010-08-06
cpg1.5.7 | This package was never released. In fact it never existed. | -
cpg1.5.6 | Maintenance release (stable) Announcement thread Fixed broken link (thread) Extended lang_byte_units array for some language files (thread) Fixed ip address duplicates in stat_details.php (thread) Updated Czech language file (user contribution) Fixed typo that caused the display of the 'not supported version' message box (thread) Fixed issue when uploading plugins to Windows-driven galleries Removed cpg1.3.x theme upgrade guide, as a direct upgrade from cpg1.3.x to cpg1.5.x no longer is supported Create different log entries for user registrations and admin user creations in access log file (thread) Fixed config value for path to ImageMagick when selecting GD during intallation (thread) Fixed query for album moderation group (thread) Fixed display of upload approval button (thread) | 2010-06-04
cpg1.5.4 | Stable release Announcement thread | 2010-06-02
cpg1.5.3 | Candidata (Release candidate) Anuncio en el foro | 2010-03-05
cpg1.5.2 | Versión beta. Primera versión pública de evaluación y pruebas. !No la uses en un entorno de producción! ¡No hay soporte! Anuncio en el foro | 2009-11-16
cpg1.5.1 | Versión alfa para probadores y traductores. Esta versión no se sacó al público - sólo se puso a disposición de un grupo cerrado de usuarios para pruebas y traducción. | 2009-07-24
cpg1.5.0 | Esta versión nunca fue lanzada como tal - el número 1.5.0 era una necesidad inicial del desarrollo de la serie 1.5.x antes de que se establecieran las características. No hay paquete disponible, ni tampoco ha habido nunca - sólo se sacaban 'checkouts' de sub-versiones desde el repositorio. | Never

Como puedes ver, el equipo de desarrollo está constantemente arreglando los errores y mejorando Coppermine. Todo software no trivial contiene errores, por lo que no hay garantía de que la versión que actualmente es la más reciente sea la versión final que se publicará en la serie cpg1.5.x. Es absolutamente vital que actualizaces tan pronto como sean liberados los nuevos paquetes.

### Log de cambios (Changelog)

Los detalles sobre los cambios que entraron en un paquete se puede encontrar en el fichero de cambios (changelog) que viene en él. Puedes encontrarlo en el directorio raíz del paquete de Coppermine. Tiene la información sobre idiomas adicionales y la fecha y hora de la solución de problemas.

Es un archivo de texto sin formato que se puede leer con cualquier editor - en Windows es suficiente el Bloc de notas.

## Pasos necesarios para subir la versión de Coppermine (para cualquier versión)

Las siguientes instrucciones se aplican a todas las versiones y revisiones de Coppermine, así que por favor léelas atentamente.

- ### Haz una copia de seguridad (volcado) de la base de datos

  mySqlDumper o phpMyAdmin son dos herramientas recomendadas para volcar la base de datos. Consulta la sección Herramientas recomendadas por los desarrolladores: gestión de bases de datos para saber más.
  Esta copia de seguridad no es obligatoria para la que actualización vaya bien, sino una precaución en caso de que algo vaya mal. Es recomendable hacer frecuentemente copias de seguridad, de todos modos.

- ### Copia los archivos include/config.inc.php, anycontent.php y el directorio "albums" como medida de seguridad por si algo sale mal.

  Por lo general, sólo tienes que descargar toda la carpeta de Coppermine a tu disco duro local o cualquier otro lugar donde tengas tus copias de seguridad, por ejemplo utilizando una aplicaciónFTP. Los paquetes de Coppermine no tienen el archivo de configuración (este archivo se crea durante la instalación en el servidor), por lo que en realidad no se perderá el existente: es sólo una medida de seguridad.

- ### Bájate la versión estable más reciente en la sección de descargas de la página oficial de Coppermine

  No asumas que tienes la versión más reciente, especialmente si instalas Coppermine utilizando una aplicación de panel de control que te proporciona tu proveedor de alojamiento Web. Desde el equipo de desarrollo de Coppermine no recomendamos el uso de tales auto-instaladores - por favor descarga el original de la página oficial de Coppermine..
  Si no estás seguro de qué paquete usar (es decir, si hay varios tipos de archivo), selecciona el archivo zip, ya que desde Windows XP en adelante vienen con soporte para archivos zip integrado en el explorador.

- ### Descomprime el paquete descargado

  Igual que en las instalaciones nuevas, es necesario descomprimir el archivo en una carpeta temporal en su disco duro local (conservando la estructura de carpetas). La mayoría de los sistemas operativos modernos vienen con una aplicación capaz de extraer archivos zip.

- ### Carga todos los archivos y directorios nuevos a excepción del directorio "albums", asegurándote de no sobreescribir el archivo anycontent.php o el directorio "albums".

  De hecho, se podría cargar la carpeta albums también - en el paquete que has descargado está vacía. Pero remarcamos la recomendación de no subir esta carpeta por precaución porque algunos usuarios tienen configuraciones "graciosas" en sus aplicaciones FTP: algunas aplicaciones FTP borran las carpetas existentes en el servidor y luego las vuelven a crear vacías en el servidor. Por supuesto, que te pase esto en la actualización será un desastre para todas las galerías que tengas, porque perderás todos los archivos cargados en la galería. Sin embargo, el número de aplicaciones FTP que está configurado de esa manera extraña es pequeño y por lo tanto, a la mayoría no le pasará nada si sube también esta carpeta. Si no estás seguro, utiliza uno de los clientes FTP recomendado por los desarrolladores.

- ### Ejecuta el script de actualización

  Para ejecutar el archivo PHP "`update.php`" (es decir, el script de actualización), basta con escribir la URL en la barra de direcciones del navegador. El archivo "`update.php`" está en el directorio de Coppermine, por lo que para ejecutarlo tendrás que apuntar el navegador a `http://tudominio.tld/tu_carpeta_coppermine/update.php` (si has instalado Coppermine en la raíz del sitio Web, tendrás que ejecutar `http://tudominio.tld/update.php`, claro) Esto actualizará la instalación de Coppermine haciendo todos los cambios necesarios en la base de datos.

Para dejarlo absolutamente claro:

no hay un paquete de actualización independiente - Coppermine siempre es un paquete completo que se puede utilizar tanto para una nueva instalación como para una actualización.

## Acciones adicionales para algunas versiones

Dependiendo de la versión que estés actualizando hay otras acciones que debes realizar:

### Actualizar desde las versiones cpg1.0,1.1,1.2.x or 1.3.x a cpg1.5.x

No se sporta la actualización directa de cpg1.0, cpg1.1, cpg1.2.x o cpg1.3.x a cpg1.5.x - si todavía tienes una versión tan antigua, tendrás que actualizar en dos fases (desde su versión a cpg1.4.x y luego a cpg1.5.x)

### Actualizar desde cpg1.4.x a cpg1.5.x

- #### Plugins

  Los plugins creados para cpg1.4.x por lo general no se pueden ejecutar en cpg1.5.x, así que los tendrás que desactivar mientras está aún en marcha la versión 1.4.x (antes de iniciar la actualización). Algunas de las características que han sido un complemento en un plugin para cpg1.4.x entraron en el núcleo de cpg1.5.x, por lo que puede que no necesites los plugins. La manera más segura para cerciorarse de que no interfieran es desactivando todos los plugins

- #### Temas personalizados

  Si has creado un tema personalizado, aplica los cambios que se introdujeron en la estructura de los temas al tuyo - mira en la guía de actualizaciones de temas. Por favor, ten en cuenta que algunos de los temas que venían con Coppermine ya no están en el paquete cpg1.5.x. Sin embargo están disponibles como descargas separadas.

- #### Archivos de idioma

  No puedes utilizar los archivos de idioma de las versiones anteriores de Coppermine como primer idioma (el idioma que usarás como administrador) - asegúrate de que sólo tienes los archivos de idioma que vienen con este paquete dentro de la carpeta lang (borra o renombra todos los archivos de versiones anteriores dentro de la carpeta lang).
  Si necesitas utilizar un idioma para el que no se ha traducido cpg1.5.x, puedes intentar usar el archivo de idioma de cpg1.4.x. Sin embargo debes tener ciertas precauciones:
  - Las frases de cpg1.5.x que no existen en el antiguo archivo de idioma continuarán sin traducir o se mostrarán en inglés
  - No puedes administrar Coppermine usando un archivo de idioma antiguo - el administrador tiene que utilizar un archivo de idioma específico para cpg1.5.x
  - Eres libre de intentar usar los archivos antiguos de idiomas; sin embargo cuando se produzcan problemas o mensajes de error, cambia a inglés de Estados Unidos (US-English) y comprueba si el problema desaparece. No pidas soporte del uso de archivos obsoletos de idioma.

- #### Cifrado de contraseñas

  En cpg1.3.x, las contraseñas de los usuarios se almacenaban como texto plano dentro de la base de datos. Esto cambió en cpg1.4.x - a partir de esta versión se cifran las contraseñas antes de almacenarlas. Sin embargo, había una opción para aquellos que actualizaron desde cpg1.3.x a cpg1.4.x en que se permitía saltarse el paso de encriptar las contraseñas. En cpg1.5.x, el almacenamiento de las contraseñas como texto ya no es una opción. Si estás utilizando una galería que actualizaste desde cpg1.3.x a cpg1.4.x y ahora actualizas a cpg1.5.x, el proceso de actualización automáticamente cifrará todas las contraseñas de los usuarios (incluido la propia cuenta de administrador). No tienes que hacer nada al respecto - el programa de actualización lo hará automáticamente.

- #### Mostrar FAQ

  La opción para mostrar una página de preguntas frecuentes a los usuarios finales (marcando la opción de configuración correspondiente) que existía en cpg1.3.x y cpg1.4.x se ha eliminado de cpg1.5.x, porque casi no se usaba y sólo añadía carga de trabajo adicional a los traductores. Si eres de los pocos que utilizan las FAQ en el menú de navegación Coppermine, puedes crear fácilmente una página personalizada con el encabezado y el pie de Coppermine y mostrar tus propias FAQ en ella.

- #### Archivos obsoletos

  Elimina los archivos obsoletos de las versiones anteriores de Coppermine que ya no existen en cpg1.5.x.
  Es sobre todo una precaución para asegurarte de que tu galería no contiene errores de versiones no actualizadas que permitirían a un atacante explotar las debilidades en las versiones anteriores. Para saber qué archivos hay que eliminar manualmente, echa un vistazo a la salida en la parte inferior de la pantalla de actualización `(http://tudominio.tld/tu_carpeta_coppermine/update.php`) - el programa de actualización intentará borrar los archivos por tí, pero en la mayoría de configuraciones del servidor Web no tiene permiso para hacerlo, así que tendrás que eliminar manualmente los archivos mediante una aplicación FTP. Otra forma de averiguar los archivos que deben ser borrados es la página de comprobación de versión (versioncheck) - los archivos programados para el borrado salen allí también - pero la comprobación de versiones no intenta eliminar estos archivos.

- #### Modo seguro

  Si tu servidor web se ejecuta en modo seguro y has habilitado "SILLY_SAFE_MODE" en el fichero include/config.inc.php, tendrás que ir a la configuración de Coppermine después de realizar los pasos mencionados y permitir "silly safe mode" allí, porque la entrada en `include/config.inc.php` ya no se tendrá en cuenta en cpg1.5.x. El ajuste "silly_safe_mode" ha pasado a ser una opción de configuración.

- #### URI upload removed

  The URI upload feature has been removed from cpg1.4.x to cpg1.5.x, as it wasn't actually doing what many users thought that it would do: when using URI uploads people expected the file to remain at the URI that they entered into the upload form and not be transfered to the webspace where their Coppermine gallery resided on. Subsequently, they thought that they could safe webspace. This was a misconception and in fact just wishfull thinking: using URI uploads in cpg1.4.x, the file actually was uploaded to the Coppermine webspace no matter what.
  Therefore, the actual feature "URI upload" was removed in cpg1.5.x. However (depending on the operating system of your client) you can (ab)use the regular http upload form to accomplish a similar thing in cpg1.5.x: when entering the URL of a file accepted by Coppermine into the http upload form, the file will get downloaded to your client's temporary folder and then a regular http upload from your client to your server will be performed. This is not actually a feature built into coppermine, but rather a feature of your OS/browser and therefore it goes unsupported. However, there is no action required when performing the upgrade - this paragraph is just meant to inform you that the feature was dropped.

- #### Configure new features

  In comparison to cpg1.4.x, the new version cpg1.5.x comes with a load of new features. Some of them are enabled by default after performing the upgrade, which might not be what you want. Therefore, it's advisable that you (at least cursorily) read up the features list and check the config panel and the groups control panel for the changes there. The way that Coppermine handles languages has been changed as well, that's why you need to visit the language manager at least once after the upgrade and configure language support there.

### Actualizar desde versiones cpg1.5.x to a la más reciente

No hay ningún paso extra que debas seguir cuando actualizas de una versión anterior de cpg1.5.x a la versión más reciente de esa familia. Basta seguir las instrucciones descritas anteriormente en pasos necesarios para realizar al actualizar Coppermine (de cualquier versión).

## El script de actualización

Es un archivo que contiene un conjunto de instrucciones (script) que actualizarán la base de datos y eliminará los archivos sobrantes de versiones obsoletas que ya no se utilizan en esta versión. Se puede acceder desde el enlace correspondiente dentro del menú de administración o escribiendo la URL en el navegador.

Se puede ejecutar escribiendo `http:////tudominio.tld/tu_carpeta_coppermine/update.php.` en la barra de direcciones del navegador.

### Qué hace

La actualización lleva a cabo tres acciones:

- Comprueba la autorización de quien accede a este script
- Ejecuta las consultas en la base de datos mysql que están en el archivo `sql/update.sql` (sustituyendo el prefijo genérico del nombre de la tabla por el que elegiste en la instalación inicial)
- Elimina algunos archivos que estaban en Coppermine en las versiones anteriores. Sólo se eliminan archivos innecesarios y no afecta a tus archivos personalizados, por lo que no hay razón para preocuparse.
- Convierte las contraseñas de texto plano, cifrándolas: en versiones anteriores de Coppermine había una opción para permitir que las contraseñas de los usuarios se almacenaran como texto en la base de datos. En cpg1.5.x no se admite esa posibilidad. Por lo tanto (si no estás usando ya las contraseñas encriptadas), las contraseñas guardadas en la base de datos serán codificadas durante la actualización.

### Propósito

El proceso realizará la actualización de base de datos por tí después de haber reemplazado manualmente el archivo sql. La actualización no detectará si hay disponible una nueva versión de Coppermine, ni descargará nada desde el sitio web de Coppermine. El nivel de automatización no es tan avanzado (aún).

Para conocer las nuevas versiones de Coppermine o saber si hay actualizaciones de mantenimiento, consulta las Novedades en coppermine-gallery.net.

### Permisos de ejecución

El script de actualización solía estar accesible públicamente en las versiones de Coppermine anteriores a cpg1.5.x , esto es, todo el mundo era capaz de ejecutarlo. Si bien esto era bueno para dar soporte (cualquiera era capaz de ejecutar la actualización cuando un usuario pedía ayuda, si era obvio que no lo había hecho), cabía una pequeña posibilidad de que en algún momento pudiera ser un riesgo para la seguridad. Por eso los miembros del equipo de desarrollo decidieron proteger este script, y que no pudiera ser ejecutado por cualquier visitante - a partir de cpg1.5x hay que proporcionar credenciales de administrador. Hay cuatro maneras diferentes:

- Si ya has iniciado sesión como administrador y ejecutas el programa de actualización desde el vínculo en el menú de administración de Coppermine se debe ejecutar sin más - usa la autenticación "normal" por cookies que utiliza toda la galería Coppermine
- Si no estás conectado como administrador, o si llamas a los componentes básicos de Coppermine antes de haber ejecutado este script (por lo general cuando actualizas versiones 'mayores' de Coppermine) te pedirá las credenciales - introduce los detalles de la cuenta de administrador que configuraste la primera vez que instalaste
- Si has olvidado en tercer lugar puedes dar tus credenciales en mySQL, también los que usaste al hacer la primera instalación. Si tampoco te acuerdas descarga `include/config.inc.php` de tu servidor web y edítalo: allí deben estar. Si han cambiado, el equipo de soporte de tu servidor web debe ser capaz de ayudarte a recuperarlas.
- Por último, si todo falla, hay una alternantiva para saltarte la autenticación: descarga el archivo (`update.php`) de tu servidor web, encuentra la línea que dice `// define('SKIP_AUTHENTICATION', true);`, y sustituyela por `define('SKIP_AUTHENTICATION', true);`. Guarda los cambios y sube el fichero a tu servidor web, sobreescribiendo el que existe en el servidor. Recuerda restaurar el archivo, tal como estaba, después de haber realizado la actualización con éxito.

### ¿Cuándo hay que ejecutar la actualización?

Tienes que ejecutar el programa de actualización cada vez que cambies la versión o la sub-versión de mantenimiento, es decir, cada vez que se cambie el archivo `sql/update.sql`.

No importa ejecutar el script de actualización varias veces, así que si dudas vuelve a ejecutar.

## Herramienta de comprobación de versiones (versioncheck)

Desde el lanzamiento de cpg1.3.2 Coppermine viene con una herramienta adicional para comprobar los archivos y verificar que pertenecen a la versión de que se trate, para ayudar a resolver más fácilmente los problemas relacionados con las mejoras y actualizaciones. Para lanzarla tienes que añadir `versioncheck.php` a la dirección de la galería en el navegador después de entrar en Coppermine como administrador (por ejemplo: `http://tudominio.tld/tu_carpeta_coppermine/versioncheck.php`). Con la versión 1.5.x puedes ejecutar la utilidad versioncheck desde el menú de administración.

La herramienta versioncheck no actualiza, ni descarga las nuevas versiones de Coppermine por ti, ni instala ningún parche - sólo te informa acerca de las versiones más recientes y te ayuda a determinar si la actualización ha sido correcta.

### Qué hace

La secuencia de comandos "versioncheck" tiene dos propósitos:

- Si has actualizado desde una versión anterior, debes ejecutar versioncheck para ver si la actualización funcionó como se esperaba
- También te ayuda a asegurarte que la versión de Coppermine está al día y no hay versiones posteriores.

Este script comprueba los archivos de tu servidor web y trata de determinar si las versiones de archivos son idénticos a los que hay en el repositorio de http://coppermine-gallery.net. Resalta los archivos que no coinciden y que debes actualizar también.

La página versioncheck ha sido rediseñada para cpg1.5.x tanto en apariencia como en funcionalidad, en comparación con versiones anteriores.

### Primera ejecución

When run for the first time, you will see the option screen first. For a start, default options should be OK, so just submit the form. The script will then determine the coppermine version you're currently running, an try to look up the XML file on the coppermine repository that corresponds to your version. If successfull, it will compare all files that exist on your server against the most recent files that are recommended to use (trying to obtain that data from the repository). Subsequently, you should see a list of folders and files that are supposed to exist on your server and an explanation if the file versions you have are the most recent. For details how to interpret the output, read on. Cuando se ejecuta por primera vez verás la primera pantalla de opciones. Para empezar, las opciones por defecto deberían bastar, así que pulsa el botón de enviar. La secuencia de comandos determinará la versión de Coppermine que esté actualmente en ejecución e intentará buscar el archivo XML en el repositorio de Coppermine que corresponde a su versión. Si tiene éxito comparará todos los archivos en tu servidor con los archivos en el repositorio más recientes y/o recomendados (tratará de conseguir esos datos del repositorio, claro). Posteriormente deberías ver una lista de carpetas y archivos que se supone que existen en tu servidor y una explicación sobre si las versiones de archivo que tienes son las más recientes. Sigue leyendo para conocer más detalle de cómo interpretar la salida.

### Opciones

El pequeño número de opciones en la página versioncheck deberían ser bastante auto-explicativas:

- #### Salida

  Determina si se usa la salida completa o sólo una versión de texto plano reducida
  - Salida completa
    Es recomendable que uses esta opción por defecto. Mostrará el mayor detalle posible y tiene un diseño más agradable.
  - Sólo texto
    Si desde el foro de soporte te solicitan la salida de versioncheck activa esta opción para que puedas copiar y pegar fácilmente el resultado en tu respuesta. ¡Pero sólo cuando te lo pidan en el foro! Otro uso posible es disminuir el consumo de recursos: si sufres timeouts, prueba usando la opción de texto, que consume menos.

- #### Mostrar sólo los posibles errores

  Si no tienes mucha idea de lo que significa la salida entera, o si te lo piden desde soporte, puedes marcar esta opción para mostrar sólo las carpetas y archivos que tienen problemas.

- #### No comprobar imágenes

  Al habilitar esta opción se aplica un filtro que deja de aplicar la comprobación a los recursos gráficos (es decir, todos los iconos y otras imágenes). Utiliza esta opción para hacer la salida menos saturada: las imágenes por lo general no tienen que ver con la seguridad, así que puedes quitar las imágenes si estás preocupado sólo por los archivos relacionados con la seguridad.

- #### Don't check for modified files No buscar los archivos modificados

  Este filtro oculta la columna "modificado" y se traducirá en una salida algo menos cargada. No se llevará a cabo la verificación de los archivos modificados. Habilita esta opción sólo si tienes problemas de rendimiento de la secuencia de comandos o si todos los archivos se muestran como modificados.

- #### No conectar al repositorio

  Si marcas esta opción versioncheck no intentará conectar con el repositorio en línea y en su lugar utilizará el archivo XML local. Usa esta opción únicamente si la conexión al repositorio no funciona (por ejemplo, si estás en una intranet y no tienes acceso a Internet). El principal inconveniente de no conectar al repositorio es que no sabrás acerca de posibles actualizaciones y versiones más recientes, así que es mejor encontrar la causa de que no conectes con el repositorio.
  Durante la fase de desarrollo (entre lanzamientos de versiones), el repositorio no se actualiza con frecuencia en general, por lo que sólo si estás usando 'checkouts' de SVN (es decir, si eres un desarrollador) deberás marcar esta opción.

La pantalla de opciones te permite configurar versioncheck, o mejor dicho lo que se muestra. Las opciones que escojas no se guardan, así que tendrás que elegir cada vez que se ejecuta versioncheck. Las opciones por defecto deberían valer para la mayoría de los usuarios - cámbialas solo cuando tengas buenas razones.

### Salida de la comprobación

Hay una gran cantidad de información en un espacio muy pequeño. He aquí un ejemplo de una posible salida y lo que significa:

- #### Ruta

  La carpeta y el nombre del archivo

- #### no existe

  Si no hay nada en esta columna, la carpeta/archivo existe en el servidor. Si no es el caso (es decir, la carpeta/archivo no existe en el servidor o es inaccesible), la columna de "no existe" tendrá el resultado de este primer examen básico.
  Nota: hay algunas carpetas y archivos que son obligatorios, mientras que otros son opcionales. De todos modos, si estás haciendo una instalación o una actualización, debes asegurarte de subir todas las carpetas y archivos. Puedes eliminar después algunos de los archivos opcionales si quieres, aunque esto ahorra poco espacio.
  Si falta un archivo todas las demás comprobaciones no se llevarán a cabo - no se puede saber la versión de un archivo que falta, y similares. Si versioncheck se queja sobre archivos desaparecidos usa tu aplicación FTP para revisar si no existen o están pero son inaccesibles. Si no están vuelve a cargarlos. Si no se puede acceder a ellos tendrás que revisar los permisos apropiados.
  Algunos archivos de las versiones anteriores se habrán dejado de usar (y por tanto no irán en el paquete) . Los que pudieran ser un problema de seguridad aparecerán con la palabra "borrar" en la columna "no existe". Si te encuentras con un archivo así usa la aplicación FTP para eliminar el archivo del que se queja versioncheck. Dejar el archivo donde está (haciendo caso omiso de la sugerencia de versioncheck) puede suponer un riesgo para la seguridad y por lo tanto no es recomendable.

- #### Permisos

  Displays the permissions assigned to the folder/file. For some folders, write permissions are needed, while for others read permissions are enough. If the permission level of a folder is good, the result will be displayed together with a remark (in brackets) like "OK" (may differ in your language). Using a script like versioncheck to actually check permissions on folders works OK, while it may or may not work very well on files. This being said, you should mostly be concerned about folders that don't have sufficient permissions. If files are being reported to have an improper set of permissions assigned, don't be to alarmed if the rest of your gallery is working just fine. Muestra los permisos asignados a la carpeta/archivo. Para algunas carpetas son necesarios permisos de escritura, mientras que para otras basta permiso de lectura. Si el nivel de permisos de una carpeta es suficiente, el resultado saldrá junto con un comentario (entre paréntesis) como "OK" (puede variar en tu idioma). El uso de un script (como versioncheck) para comprobar los permisos en carpetas funciona bien, pero puede o no funcionar con los ficheros. Dicho esto, deberías preocuparte sobre todo de las carpetas que no tengan permisos suficientes. Si te informa de permisos incorrectos de los archivos no te alarmes si el resto de su galería está funcionando bien.
  Si es necesario revisar los permisos de las carpetas lee la sección de permisos en la documentación y haz lo que se sugiere allí.

- #### Versión

  La versión del archivo en el servidor. Si es idéntica a la versión indicada en el repositorio, deberías ver un "OK". Si utilizas una versión antigua en tu servidor deberías conseguir un paquete nuevo y hacer una actualización.
  Nota: ni las carpetas ni los archivos binarios (como gráficos) tienen números de versión, por lo que la columna "Versión" muestra "n/a" para las carpetas y archivos binarios. Solo los archivos cuyo contenido sea texto pueden tener número de versión, así que no te alarmes por los muchos mensajes "n/a (OK)" que aparezcan.

- #### Revisión

  La revisión del archivo en tu servidor. Si ésta es idéntica a la revisión indicada en el repositorio XML, deberías ver un "OK". Si utilizas una versión antigua en tu servidor deberías conseguir un paquete nuevo y hacer una actualización.
  Las revisiones están relacionadas con las versiones - por lo general, si la versión está bien, la revisión debería estar bien. Sólo en el caso de saques los archivos desde el repositorio (hagas checkout desde el repositorio), las revisiones pueden ser más nuevas. Lo mismo que se aplica a los números de versión se aplica a las revisiones: sólo los archivos de texto pueden tener números de revisión - las carpetas y los archivos binarios no tienen un número de revisión.
  ¿Dudas? No tienes porqué: por lo general, puedes ignorar de forma segura las revisiones - si usted quiere saber más acerca las revisiones, lee la información en la página de subversiónes.

- #### Modificado

  Si un archivo está accesible y los números de versión y de revisión cuadran, el script versioncheck intenta comprobar si el archivo se ha modificado, en comparación con el original que viene con el paquete de Coppermine. Esta comprobación se realiza con los valores hash MD5 del fichero original y tu copia.
  Cuando se realiza una instalación nueva o una actualización no debe haber archivos modificados. Si salen como modificados hay varias posibles razones:
  - Has modificado deliberadamente el archivo (por ejemplo, aplicando una modificación personalizada). En ese caso puedes hacer caso omiso de la advertencia en la la columna "Modificado"
  - El archivo no se ha transferido correctamente al servidor web. Si este es el caso, intenta volver a cargar el archivo al servidor. Si con esto no se resuelve el problema, el paquete que has conseguido podría estar corrupto. Vuelve a descargar uno de la sección de descarga de Coppermine, desempaqueta y/o descomprime y vuelve a cargar el archivo. Asegúrate de que la aplicación FTP está configurada para sobrescribir los archivos existentes
  - Has usado FTP en modo inadecuado para transferir el archivo al servidor web. En las aplicaciones de FTP puedes transferir archivos en modo ASCII o binarios. La mayoría de clientes FTP modernos seleccionan automáticamente el modo apropiado de FTP para cada archivo. Si no es el caso, intenta ponerlo a mano y especifica explícitamente el modo de FTP para la carga de archivos.
  - Tu servidor web está inyectando código en cada archivo. Muchos proveedores de espacio web gratuito (los llamados "freehosts") hacen esto para poner anuncios en tus ficheros. No puedes hacer mucho, excepto pagar un servicio de hosting o ignorar la alerta de la columna "Modificado" y esperar que las cosas funcionen de todos modos.
  Puedes filtrar la salida de la columna "Modificado" activando la opción No comprobar los ficheros modificados. De paso mejorará ligeramente el rendimiento de versioncheck.

- #### Comentario

  La columna de comentario tiene una recomendación acerca de lo que supuestamente está mal y lo que debes hacer para solucionar el problema. Que no haya comentarios significa por lo general que todo está bien.

- #### Enlace al repositorio

  El enlace al repositorio SVN (SVN web) se añade como funcionalidad adicional para los usuarios avanzados y los desarrolladores. Lea las instrucciones del repositorio de subversiones para obtener más información. Si todo va bien no tienes que preocuparte por el enlace.

### Qué podría salir mal usando versioncheck

Como las acciones realizadas por el script versioncheck son complejas, hay varias cosas que pueden salir mal, dependiendo de la configuración de tu servidor web:

- No hay conexión con el repositorio XML
  Si tu servidor está tras un proxy o un filtro web que necesite autenticación, o no dispones de conexión a Internet (p. ej en la intranet de una empresa), versioncheck puede no ser capaz de conectar con el repositorio. Marca la opción correspondiente para que versioncheck siga con su trabajo. Ten en cuenta las advertencias mencionadas en la sección de opciones.
- Obtengo una página en blanco o una página vacía
  La secuencia de comandos se pasa de tiempo y da un timeout, ya que consume enormes recursos. Vas a tener que conformarte sin versioncheck durante la configuración de tu servidor, a menos que el servidor sea tuyo y le puedas asignar más memoria y más tiempo de ejecución al script.
- Me aparece un mensaje de error
  Los mensajes de error como `Error fatal: se superó el tiempo de ejecución máximo de 60 segundos /ruta/al/directorio/raíz/carpeta_coppermine/include/versioncheck.inc.php en la línea xxx` también son un indicador de que el scripto consume muchos recursos. Prueba a desactivar algunas opciones de salida. Si sigue sin funcionar simplemente no puedes ejecutar el script versioncheck en tu servidor.

Como hay varios factores que influyen en su comportamiento puede que trabaje correctamente en tu servidor, o puede que no. Si versioncheck no hace nada, es probablemente tu caso - pero no tienes por qué alarmarte: sólo asegúrete de mantener la instalación de Coppermine al día, preferiblemente activando la opción de configuración "Mostrar noticias de coppermine-gallery.net". Sólo si la herramienta te dice que hay problemas (es decir, sólo si algunas líneas contienen un comentario en la columna de comentarios), debes preocuparte y mirar más detenidamente.

### Falsas expectativas

Para algunos esto puede sonar trivial, para otros puede ser un dato importante: naturalmente, los archivos que no has reemplazado durante el proceso de actualización (`anycontent.php`, por ejemplo) se marcarán como obsoletos en la salida de versioncheck. Por supuesto era de esperar. No pasa nada si has realizado la actualización tal y como se ha indicado, porque los archivos que se supone que se mantienen durante el proceso en realidad no contienen código que necesite ser actualizado. A modo de ejemplo, `anycontent.php` en realidad no contiene código en absoluto (al menos el archivo que viene con Coppermine). Puede tener código personalizado si decides usarlo. Para obtener más información sobre el uso de `anycontent.php`, consulta la sección "Uso de anycontent.php".

La herramienta versioncheck en realidad no descarga las versiones de archivos de Internet - sólo comprueba los que tienes en tu servidor contra una lista de los más recientes. La herramienta versioncheck no comprueba ni arregla tu sitio contra la piratería informática.

## FAQ de la actualización

- ### ¿Cómo me informo sobre las nuevas versiones de Coppermine?

  Hay varias herramientas que te permiten estar al día y asegurarte de que no te pierdas ninguna versión:
  - Deja la configuración del ajuste "Mostrar mensajes de noticias coppermine-gallery.net" habilitada: te alertará sobre las novedades y los problemas de seguridad en Coppermine. Las noticias solamente están para tí, como administrador, por lo que los usuarios finales no se darán cuenta.
  - Suscríbete al paquete en las páginas del proyecto sf.net
  - Subscribe to the announcements board (by clicking on "notify" when being logged in). You will then get an email whenever a new posting is made on the announcement board. Suscríbete al tablón de anuncios (pulsando en "notificar" una vez validado). A partir de entonces recibirás un correo cada vez que haya un anuncio nuevo.

- ### ¿Cuál es la diferencia entre la actualización y la mejora?

  The words "update" and "upgrade" are often being used as synonyms. There is a slight difference though in the definition of the coppermine developers: upgrading usually means increasing the major version number, e.g. from cpg1.4.x to cpg1.5.x; while updating usually refers to minor version increases, e.g. maintenance releases from cpg1.5.x to cpg1.5.y. Las expresiones "actualizar" (update) y "subir de versión" (upgrade) a menudo se utilizan como sinónimos. Pero hay una ligera diferencia en la definición que usan los desarrolladores de Coppermine: la mejora por lo general significa incrementar el número principal de versión, por ejemplo, de cpg1.4.X a cpg1.5.X, mientras que la actualización se refiere generalmente a los cambios de menor importancia en la versión, por ejemplo, las versiones de mantenimiento de cpg1.5.x a cpg1.5.y.
  El uso coloquial no es tan estricto, sin embargo, por lo que puedes encontrar tanto en este documento como en sitios (como el foro oficial de Coppermine) que los términos se usan indistintamente. De hecho, las palabras son casi sinónimos por lo que respecta a nosotros.

- ### ¿Cómo puedo saber qué versión de Coppermine tengo?

  Hay varias formas de determinar qué versión de Coppermine estás ejecutando:
  - Si puedes iniciar sesión en tu galería Coppermine la cuenta de administrador, ve al panel de configuración de Coppermine: la versión exacta aparece en el encabezado de la tabla
  - Echa un vistazo al código fuente de cualquier página de Coppermine (por lo general, pulsa el botón derecho en una trozo en blanco y elige "Ver código fuente" o algo similar en el menú contextual). Desplázate hasta la parte inferior de la salida en el código fuente (justo antes de la etiqueta de cierre del 'body') - deberías encontrar una línea de comentario con la versión exacta de Coppermine
  - Usa un editor de texto plano para abrir una copia local de cualquier archivo del archivo PHP de Coppermine - en el encabezado del archivo debes ver tanto la versión exacta de Coppermine, como el número de revisión de la subversión. En otros ficheros que vienen con Coppermine verás lo mismo.

## Volver desde cpg1.5.x a una versión anterior

CPG1.5.x incorporates many new features (compared to older versions), so we encourage all users to upgrade. However, there may be some who want to test cpg1.5.x and decide later that they want to go back to an older version. You have to keep in mind that a full upgrade changes the overall layout of coppermine's database that includes converting the encoding to unicode. This process can't be reverted: once you have done the conversion, the only way back is to restore a complete mySQL database dump (of course you have to create this backup before you upgraded in the first place). Creating mySQL dumps (backups) is recommended anyway, so you should do so now. CPG1.5.x incorpora muchas características nuevas (en comparación con versiones anteriores), así que animamos a todos los usuarios a actualizar. Sin embargo, puede haber alguien que quiera probar cpg1.5.x y más tarde decida que quiere volver a una versión anterior. Hay que tener en cuenta que una actualización completa modifica la base de datos de coppermine, incluyendo la conversión de la codificación a Unicode. Este proceso tiene vuelta atrás: una vez terminada la conversión, la única forma de volver atrás es restaurar un volcado completo de la base de datos mySQL (por supuesto tienes que crear esta copia de seguridad lo primero antes de actualizar). Se recomienda de todos modos hacer copias de seguridad de mySQL, por lo que deberías hacerlo ahora mismo.

Para dejarlo claro: sólo se puede volver a versiones anteriores si tenías cpg1.4.x y actualizaste a cpg1.5.x. ¡Si has realizado una instalación nueva de cpg1.5.x, no hay manera de rebajar la versión a 1.4.x!

Para hacer la vuelta atrás cambia todas los archivos de la versión 1.5.x con los archivos de la versión anterior (como si fueras a hacer una actualización, ver más arriba). A continuación, restaura el volcado de base de datos que debes haber hecho antes de actualizar. Si no tienes una copia de seguridad de la base de datos (un backup, un volcado, un dump), no se puede volver atrás!