Coppermine Photo Gallery - Your Online Photo Gallery

Coppermine Photo Gallery v1.4.10: Documentation and Manual

About Coppermine

Coppermine Photo Gallery is an advanced, user-friendly, picture gallery script with built-in support for other multi-media/data files. The gallery can be private, accessible to registered users only, and/or open to all visitors to your site. Users, if permitted, can upload pictures with their web browser (thumbnail and intermediate sized images are created on the fly), rate pictures, add comments and even send e-cards. The site administrator determines which of the features listed above are accessible by registered and non-registered users. The site administrator can also manage galleries and batch process large numbers of pictures that have been uploaded onto the server by FTP.

Image files are stored in albums and albums can be grouped into categories, which in turn, can be further grouped under parent categories. The script supports multiple users and provides the administrator of the website with tools to manage which user groups can or cannot have personal albums, send ecards, or add comments. Users may also upload to public albums if the website administrator permits it. Permissions to create albums, upload and delete files are all determined by the website administrator.

Coppermine has an optional user selectable theme system with a number of themes pre-installed. It also supports the use of multiple languages and contains it's own language library. These language files provide, users of your gallery, access in their preferred languages. Coppermine uses PHP, a MySQL database, and either the GD library (version 1.x or 2.x) or ImageMagick to generate and keep records and file information of all thumbnails, intermediate, and full-sized images. Coppermine generates the html code necessary to display its various categories, sub-categories, albums, intermediate, and full-sized image displays dynamically. This drastically cuts down on the number of files and space your gallery would require using standard HTML. The install script (install.php) makes it quick and easy to get started.

Table of contents


1. What is required

  • A web server that supports PHP
  • A MySQL database
    You will need MySQL version 3.23.23 or better. MySQL 4.1 is recommended, MySQL 5 is supported. The MySQL user needs permissions to perform CREATE, ALTER, SELECT, UPDATE, DELETE, INSERT data from the database. Most users have these permissions when webhosted. If you don't have them, you will not be able to use this or any other pre-made scripts at all. If you are uncertain about your permissions, please check with your webhost. Most hosting services can probably tell you whether coppermine can or cannot be run on their servers.
    A database needs to be set up that Coppermine can use - the install script will not create a database for you, but it will automatically create the tables and data structure in your database for you. In most webhosted environments, you will already have at least one database set up for you by your webhost. If not, you will need to create one. If you do need to create a database, check with your webhost on the proper procedures for doing so. Write down your database name, userID and password. You will require all three to successfully install Coppermine.
  • PHP (version 4.2.0 or better), either compiled with the support for the GD library or permission to use the exec() function for the ImageMagick "convert" utility in order to make thumbnails and reduced size images.
  • An image library: either GD version 1.x or 2.x (PHP has to be compiled to support it) or ImageMagick.
    (see What's ImageMagick and What is GD)
  • It's always a good idea to contact your webhosting service first and ask them if they are aware of any known issues when installing Coppermine.

Back to top


2. Installation and Setup

2.1 How to install the script

  • Unpack the archive preserving the directory structure.
    You can rename the coppermine folder, but not the files or folders within.
  • Upload all files onto your webserver (making sure to use the correct ftp mode)
  • Set permissions on the "albums" and "include" folders in your Coppermine directory. Usually, you have to apply the CHMOD command, setting the permissions to 755 (or 777, depending on your server config). This step is very important and must not be overlooked!
  • Ensure you have correct information about your database - you need to know the database name as well as the details of a MySQL user account with which Coppermine should connect to the database. The database and the username must already exist, and the user must have access to the relevent database. Coppermine will not create the database for you, but it will create the tables in the database during installation, there is no need for you to add any tables yourself.
  • Run the install script on your server (by going to http://your_server/coppermine_dir/install.php with your web browser) and follow the instructions
  • Confirm that you have all the correct information about the database that will be used for your Coppermine installation. If no database exists for your website, you will need to create one, or have one created for you by your webhost. Your webhost can best provide you with instructions on how to go about doing this. For installation purposes, you will need to know the path of the database server that you will be using with Coppermine and details of the MySQL user account through which Coppermine will connect to the server. You must have the database server path (usually 'localhost'), your MySQL username, MySQL password, and MySQL database name prior to installing Coppermine. The user installing Coppermine must have all relevant access rights to this database. If you are using a newly created database, there is no need for you to manually add any tables. Coppermine will create the necessary tables in the database during installation process.
  • To run the install script on your server, type the following URL into your web browser:   http://your_server/coppermine_dir/install.php   (your_server = your website, coppermine_dir = the folder in which you uploaded your Coppermine files.) Follow the online instructions inserting the necessary information as requested.
  • Back to top


    2.1.1 Setting permissions

    Coppermine needs write access to a number of files and folders on the webserver in order to accomplish the following:
    • during install, coppermine needs to create and write to the file "config.inc.php" in the "include" folder in order to store the necessary mySQL access data to run coppermine and to create and write the "install.lock" file, also in the same folder to prevent the installer from being run a second time after a successful install.
    • when using http uploads, coppermine needs to write the files that are being uploaded into the subfolders that you or your users create in the coppermine albums folder
    • regardless of the upload method, coppermine will create a thumbnail file and an intermediate file (if you have configured coppermine accordingly) and store it in a sub-folder in the "albums" directory, as well

    By default, files and folders on a webserver are usually not writable, so you will probably have to change permissions before installion, for the reasons mentioned above. It's really mandatory that you set/change (CHMOD) permissions - or you will run into issues sooner or later.

    To be able to set permissions correctly, you have to understand how they work: there are read, write and execute permissions (abbreviated with rwx) for each folder and file. Permissions on a parent folder can propagate to a child folder or the files within it, but it's possible to tweak your setup so that unwanted permissions will not propagate to child folders and resident files.

    However, there are differences between the different operating systems that are used as webservers. As a result, there are a number of different approaches. As coppermine is designed to run on many different setups, we've included some basic instructions. Those who know their way around may find these instructions somewhat generalized and lacking in details.
    Note: it is not your local, client computer that matters, permission-wise, but, rather, the operating system used by your webserver. If you're not sure what OS your server is running on, try the CHMOD instructions first - most webservers run a version of Unix/Linux. If you can't figure how to set permissions properly, ask your webhost for support.

    Back to top


    2.1.1.1 Apache on Unix/Linux (CHMOD)

    • Basics
      There are different flavors of Unix/Linux - all of them share a similar, somewhat common approach. In referring to this architecture, the word "Lunix" is used for both Unix and Linux derivates. "Read" permissions apply to files that are not actively run, but only being served, e.g text or plain html files. "Write" permissions are needed to dynamically create files, modify or delete them. "Execute" permissions are needed to run executable files, for example, script files like PHP. To serve web pages that are php-powered properly, the most basic permissions that are needed, therefore, are "read" and "execute" (abbreviated as r-x).
      Possible permissions settings are:
      • r-- ... read only
      • r-x ... read and execute
      • rwx ... read, write and execute
      Needless to say, other combinations are technically possible (such as -wx, --x or -w-), but they make little sense in webserver setups and will be ignored in this tutorial.
    • Groups in Lunix
      Lunix uses a set of three-group permissions, each of which can be applied independently. These are: owner, group and world. Using this set, you can dictate if a user who owns a file has permission to modify or delete it (write permission) while other users will only be able to read/view and possibly execute the file. On your server, these permission settings for the three possible groups are written in as a single line entry (in the order "owner", "group", "world").
      Examples :
      • rwxrwxrwx ... read, write and execute (rwx) permissions for all three groups
      • rwxr-xr-x ... rwx permissions for the owner, r-x permissions for all others
      • r-xr-xr-x ... read and execute permissions for all groups, only
    • Webserver daemon
      Even though you (the user who owns the files on your server and who has control over the permissions) may be able to access a file (e.g. using your FTP app), the coppermine script may not be able to do so. This is often caused by a particular setup option for servers: services (in Lunix often called "daemons") may run in the context of a specific user that is different from the user who is allowed to access the files. On many such servers, the webserver (apache) service runs as user "nobody". This way, the server can be protected against hacker attacks. Therefore, setting permissions on a server for the "owner" only does not work on these particular setups, you must set permissions for both "group" and "world" (at least for the group the webserver daemon is in).
    • Binary arithmetics
      As you can see, permissions can be either "on" or "off" - this is the equivalent to the two different states that a bit of data can have in binary arithmetics (and therefore, also in the whole world of computing). As we have three types of different permissions (read, write, execute), we will need three bits to assign a set of permissions. The highest bit is the "read" bit - decimal "4" is used to represent it. The middle bit "write" is assigned to decimal "2", the lowest bit "execute" is represented by decimal "1". This may be a bit hard to understand or follow at first, especially if you haven't dealt with binary arithmetics before. If you would like to learn more, google for it. It's easier to understand if you look at some examples:
      permissionbit valueset?value
      read44
      write22
      execute11
      sum (resulting byte value)7
      permissionbit valueset?value
      read44
      write2-
      execute11
      sum (resulting byte value)5
      permissionbit valueset?value
      read44
      write22
      execute1-
      sum (resulting byte value)6
    • What good is all of this?
      Instead of having to remember and write rwxrwxrwx for each file or folder in your setup, you can now write 777 in its place. The same applies for rwxr-xr-x, you can write 755, instead.
    • FTP application
      Setting the permissions using your FTP application will be the option available for most users who are webhosted. Depending on the FTP app you use, the user interface will slightly differ: some apps will allow you to enter the CHMOD command by entering the numbers (777 or 755), others will provide you with checkboxes where you can tick the permissions separately for each group. More advanced FTP apps may even provide you with both mechanisms. As this documentation can't cover all individual FTP apps that are available, the exact method might differ a bit from what you have.
      Your FTP app will probably have two windows, one showing your local files, the other one showing the files on your server. In the window that shows the remote files on the server, navigate to the folder your coppermine files reside in. Highlight the "albums" folder that resides within the coppermine folder. From the context menu (right-click!), choose "properties" (might be named "chmod" or similar as well). The permissions dialog will then pop up. Choose the proper permissions as suggested above (777 or 755, depending on your server setup). If you have a checkbox that enables the permissions to propagate for all sub-folders and files, tick it. If you don't have it, nevermind. Then click "OK" on the dialog box to apply the permissions. Keep in mind that your FTP app might not have the power to actually find out about the current permissions that are applied, so you mustn't trust the information displayed in the dialog box: even if it appears that the permissions are already set as needed, this may not be the case, so you should re-apply the permissions no matter what.
      After having applied the permissions for the albums folder, do the same thing for the include folder that resides within your coppermine folder.
    • Website control panel
      Some webhosts may not give you the option to access your site using FTP, or they may not allow your FTP client to execute the CHMOD command. If this is the case, you probably have a server setup interface (e.g. cpanel) to apply permission to folders and files. In fact, this doesn't matter, the method for applying permissions doesn't differ from the one described above in the section "FTP application": navigate to the albums folder and apply the permissions needed to give your webserver write access to all files and folders within the albums folder. Do the same thing for the include folder as well.
    • Shell access
      If you have shell access to your server, you can apply the native CHMOD command on your files and folders. Go to your coppermine folder using your shell access, then apply the permissions to the albums and include folder and everything within it. As explained above, the user the apache daemon runs under needs write access, so you should CHMOD to 777 or 755, depending on your server setup.

    Back to top


    2.1.1.2 Apache on Windows

    You have to understand that there is no such thing as CHMOD on Windows operating systems - this command is available on Unix/Linux only, even if your FTP application displays a CHMOD option. If you try to apply CHMOD on Windows, the command will simply be ignored and do nothing. However, there are permissions on Windows as well.

    The apache webserver service runs under a particular user - if you have full access to the server, check the services control to find out which one it is. If you can't do this, ask your webhost.

    As a temporary workaround, set permissions on folder and file level as suggested in the section IIS on Windows, but not for the IUSR (which only exists on IIS), but for "everyone". However, allowing "everyone" to have read, write and execute permissions might be a security risk and is not recommended at all.

    Back to top


    2.1.1.3 IIS on Windows

    Pre-requisites: you will need full admin privileges over your server to execute this process. If you do not run the webserver yourself, your webhost has probably set up a web-based interface to let you change permissions. If you're not sure, contact your webhost.

    The dialogs may differ slightly depending on the Windows version you have:

    • Start Windows Explorer on your webserver and navigate to your coppermine folder
    • right-click on the folder you want to change permissions for
    • Choose "Properties"
    • On the properties dialog, click on the "Security" tab
    • Highlight the user "Internet guest account (hostname\IUSR_hostname). If it's not there already, use the "Add..." dialog to add this particular user
    • Tick the "Allow"-checkbox for "Write"-access
    • Click the "Advanced" button
    • Just to make sure the write access propagates to all folders and files within the folder you're currently editing, tick the checkbox "Reset permissions on all child objects and enable propagation of inheritable permissions"
    • click "OK"
    • answer the confirmation dialog box that asks you if all permissions should be replaced with "Yes"
    • depending on the number of child objects and your system's speed, wait until the permissions of all objects have been changed and the status window goes away.
    • Click "OK" to close the permissions dialog

    You have to understand that there is no such thing as CHMOD on Windows operating systems - this command is available on Unix/Linux only, even if your FTP application displays a CHMOD option. If you try to apply CHMOD on Windows, the command will simply be ignored and do nothing. However, there are permissions on Windows as well.

    Back to top


    2.1.2 The install screen

    Your admin account
    This section requires information to create your administration account. Use only alphanumeric characters. Enter the data carefully ! Input an original admin username and password here. Make sure to either memorize it well, or note it down somewhere safe; you won't be able to administer your site if you lose this data.
    Username This will be the username for your everyday administration of coppermine - choose one that you can memorize and enter easily. This entry is case sensitive so give special consideration when creating a username. Pics that you upload later under this admin account will display the name shown in the uploader field. Comments you make will also display this name, as well, for others to see.
    Password This will be your admin password to your coppermine install. Don't use trivial, overly abused passwords - if an attacker figures out your password, s/he will be able to hack your entire site! Use a combination of letters, numbers and special characters in your password. like " j3e4n5n6y* " Remember, passwords like your admin username are case sensitive. Be careful when creating your password. Write it down and keep it safe, preferably somewhere away from your computer.
    Email address This email address will be used to send emails from the webserver (e.g. the registration email, notifications and ecards). Make sure that it is a valid email address.
    Your MySQL configuration MySQL is the type of database service that is available on most webservers. If you don't have it, you cannot install it. That is, unless the server is yours to administer. If you are webhosted, you are probably out of luck. It's mandatory to have a mySQL database to run Coppermine or any other PHP-based script. You can not fake the mySQL information during install, you must know it before hand, and enter the information as required. If you're not sure about the information required, ask your webhost.
    This section requires information on how to access your MySQL database. If you don't know how to fill them, check with your webhost support.
    MySQL Host
    (localhost is usually OK)
    MySQL Database Name Coppermine will not create this database for you - it must exist prior to any attempt at installing coppermine. (If you do not have a pre-designated database, you will have to create one, provided you have the authority on your site to do so).
    MySQL Username The mySQL user name does not have to be your coppermine admin username, nor is it the necessarily the same as your FTP username (although this can be the case for some users, but only by sheer coincidence or deliberate intention, to simplify site administration).
    The mySQL user needs the permissions CREATE TABLE, INSERT, ALTER, UPDATE, DELETE, SELECT.
    MySQL Password The password that goes with your mySQL username.
    MySQL table prefix
    (the default value is OK; do not use dots!)
    Coppermine's tables can co-exist in an existing database which has tables used by other applications. All coppermine tables will be using a different prefix from these, as specified here. You can even have several coppermine installs using one database - only the table prefixes have to differ in each case. Unless you know what you are doing, don't change the default value.
    ImageMagick You can not fake an ImageMagick path, you have to know it. If you're not sure, leave this field empty - Coppermine will then try to use GD by default. You can edit the path later as well in the config screen. You can only install ImageMagick or GD if the server is yours to administer - if you're webhosted, you probably can't. The user of the webserver, who wishes to use ImageMagick, will need read/write/execute permissions in the folder where ImageMagick's convert executable resides in.
    Coppermine can use the ImageMagick 'convert' program to create thumbnails. Quality of images produced by ImageMagick is superior to GD1 but equivalent to GD2.

    If ImageMagick is installed on your system and you want to use it, you need to input the full path to the 'convert' program below. On Windows the path should look like 'c:/ImageMagick/' (use / not \ in the path) and should not contain any space, on Unix is it something like '/usr/bin/X11/'.
    ImageMagick path



    After having entered all required data, click this button to submit the form

    Back to top


    2.2 Getting started

    Log in with the admin username and password you set up during install, click on the "admin mode" link if it is visible, go to the Config page and start to configure your gallery. Note that even if you are a member of the administrator group, you need to be in "admin mode" to configure your gallery.

    There are some settings in config that can't be changed later (if there are already files in the database) - make sure to set them up correctly in the first place. Although you'll surely want to start using coppermine immediately it is advisable to configure those settings (marked with an asterisk "*") properly at the very beginning.

    Use the "Album Manager" ("Albums" link in the admin menu) in to create and order your albums. You'll need at least one album your files can go into.

    Use the anonymous group to define what non-registered users can and can't do (in the groups panel).

    Use the properties of an album to modify its description and permissions.

    In order for a user to be allowed to upload a file in album two conditions must be met:

    • The user must be part of a group that can upload files.
    • There must be at least one album where "Visitors can upload files" has been set to "Yes",
      OR
      The user has created an album in the 'user galleries', if allowed.

    The same applies to picture rating and comment posting.

    If you have installed the script succesfully but are having trouble getting it working properly you can enable the "debug mode" on the Config page. In this mode, the script outputs most of the warning/error messages produced by PHP in addition to some debug information. This can provide valuable information to understand what is wrong.

    Back to top


    2.3 Creating or upgrading your own themes

    To upgrade an existing custom theme, to version 1.4.x, read the theme upgrade documentation.

    Coppermine themes are stored in the "themes" directory, each consists of 3 primary files :

    • "template.html" the main template in plain HTML.
    • "style.css" the stylesheet associated with the template
    • "theme.php" the PHP theme file

    Your Coppermine installation also includes a "sample" theme directory. The "sample" theme includes each of these files but does not show up in the user selectable list of themes in your Coppermine display. Sample's theme.php also holds a copy of every themeable function and template for your reference. If you opt to use the "sample" theme to begin creating your own theme, you should follow the theme.php instructions in the "theme upgrade documentation" and begin with a blank theme.php.

    To create a new template, the best solution is to use an existing one as its core. To do that, make a copy of the folder of the theme you want to use as a basis. Then edit the "template.html" and "theme.php" files and replace all occurences of "themes/old_theme_dir" with "themes/new_theme_dir" in order for the links to point to the correct place.

    When editing the "template.html" file do not remove the elements between {} these are the placeholders used by the script. Also keep in mind that despite this file being located in the "themes/your_theme_dir" directory, it must be coded as if it was in the main directory of the coppermine installation. For example, in order to display an image, you must use <img src="themes/theme_dir/images/image.gif" alt=""/> and not just<img src="images/image.gif" alt=""/>. The same principle applies for the "theme.php" file.

    Be careful not to delete the line <script type="text/javascript" src="scripts.js"></script> this javascript is necessary for the full-size pop-ups and other t functions related to JavaScript.

    If you are using an HTML editor to design your template, the easist working solution might be to the "template.html" file into the main directory of your coppermine installation and edit it there. Whenever you load Coppermine, if the script finds a file named "template.html" in the main directory it will load it instead of the default one that you assigned in the CONFIG menu. Once you have finished editing your theme be sure to move the file back into the directory it belongs.

    To modify the colors, fonts, font sizes, etc... used by the script, you should edit the "style.css" stylesheet whenever possible. For example, if you want to increase or decrease the size of the fonts you can simply modify the line with : table { font-size: 12px; }. Most of the font sizes used by the script are defined as a percentage of this size.

    The "theme.php" file contains all the HTML templates used by the script. You can edit them, as well. When making modifications to these templates, be careful that you do not alter the lines that start with <!-- BEGIN xxx --> and <!-- END xxx -->. These lines are often used to identify the start and end of specific code blocks that the script will use to display your gallery.

    If you're not sure how to go about creating your own theme, you could also have a look at the download section of the coppermine homepage: there are many user-contributed themes available for download that can be previewed on the coppermine demo page.

    While you're in the process of creating or testing a new theme, you might not want your theme to be displayed to visitors of your site, but you (as the coppermine admin) may want to still be able to preview your theme. To do that, simply add theme=your_theme_name to the url in your browser.


    Examples:
    • http://yoursite.tld/coppermine/index.php?theme=your_theme_name will show the coppermine index page, using your theme
    • http://yoursite.tld/coppermine/thumbnails.php?album=1&theme=your_theme_name will show the thumbnail view of album 1, using your theme
    • http://yoursite.tld/coppermine/?theme=xxx will reset your view back to the theme you chose as your default theme in coppermine config

    Back to top


    2.4 Safe mode issues

    A significant number of webhosts on the Internet run PHP in safe mode. Coppermine runs without any problem in safe mode and with the "open basedir restriction" active, provided safe mode is properly configured. Unfortunately, on many hosts, safe mode is not configured properly.

    If your webhost is running PHP in safe mode but is misconfigured, you may need to do the following :

    • With a FTP program, change the mode of Coppermine's "include" directory on your server to 0777.
    • Do the same for the "albums" and "userpics" directories.
    • Check that at the beginning the the "include/config.inc.php" file, you have a line with : "define('SILLY_SAFE_MODE', 1);"

    Back to top


    2.5 Using SMTP to send emails

    By default the script uses the PHP built-in mail function to send emails. In some cases, the PHP built-in function can't be used.

    If, in order to send emails with PHP, you are required to supply a hostname, a username and a password, you will need to edit the CONFIG menu section "Email settings" and insert the correct values there. If you don't need a username and password to connect to your SMTP server, just leave these lines blank. If you don't know what settings to enter, you will need to check with your webhost.

    Back to top


    3. Upgrading

    3.1 Upgrading from version 1.0

    If you already have installed version 1.0 and you want to transfer your albums to version 1.4x follow the following steps:

    • First, make a backup (dump) of your database.
    • Install version 1.4.x as you normally would but in a directory different from the one where you v 1.0 is. Note that in order to use the upgrade script, tables for version 1.0 and 1.4.x must be stored in the same database.
    • Copy the "albums" directory of version 1.0 into the directory where you installed version 1.4.x
    • The upgrade script assumes that you used the "CPG_" prefix for tables (default value) when you installed version 1.0, if this is not the case, edit upgrade-1.0-to-1.2.php and edit the $prefix10 variable.
    • Login to your 1.4.x Gallery, enter the admin mode
    • And call the upgrade script, http://yousitename/coppermine_dir/upgrade-1.0-to-1.2.php
    • The upgrade from 1.0 to 1.4.x is a two-step process. You must click the link which comes up on the bottom of the page to complete the upgrade!.
    • Delete upgrade-1.0-to-1.2.php from your server.
    • If you get an error, go to Coppermine 1.4.x config page, enable debug mode, try to call the upgrade script again and check what errors you get.

    This upgrade process leaves your v1.0 gallery untouched

    Back to top


    3.2 Upgrading from releases of version 1.1

    • First, make a backup (dump) of your database.
    • Backup your include/config.inc.php file, your anycontent.php file and your "albums" directory.
    • Unpack the archive
    • If the file install.php exists in the root directory, delete it.
    • Upload all of the new files and directories
    • CHMOD the albums directory and all subfolders once more to 755 or 777 (depending on your server config)
    • Call the upgrade script http://yousitename/coppermine_dir/update.php
    • Your upgrade should be complete.

    Back to top


    3.3 Upgrading from cpg1.2.0rc2 or cpg1.2.0final to version cpg1.2.1

    • First, make a backup (dump) of your database.
    • Backup your include/config.inc.php file, your anycontent.php file and your "albums" directory.
    • Unpack the archive
    • If the file install.php exists in the root directory, delete it.
    • Except for the "albums" directory, upload all of the new files and directories making sure not to overwrite the include/config.inc.php file, your anycontent.php file or the albums directory.
    • create a folder called "edit" within your "albums" directory - this folder will be used by coppermine as a temporary folder, do not ftp-upload files there. Make sure the new "edit"-folder is CHMODed the same way your albums-directory is (755 or 777, depending on your server's config)
    • No database update is necessary, and you're ready to roll

    Back to top


    3.4 Upgrading from cpg1.2.x or cpg1.3.x to version cpg1.4.10

    • First, make a backup (dump) of your database.
    • Backup your include/config.inc.php file, your anycontent.php file and your "albums" directory.
    • Unpack the archive
    • If the file install.php exists in the root directory, delete it.
    • Except for the "albums" directory, upload all of the new files and directories making sure not to overwrite the include/config.inc.php file, your anycontent.php file or the albums directory.
    • Delete all leftover, outdated language files in the lang folder that are named XXX-utf-8.php
    • If you have not already done so, create a folder called "edit" within your "albums" directory - this folder will be used by coppermine as a temporary folder, do not ftp-upload files there. Make sure the new "edit"-folder is CHMODed the same way your albums-directory is (755 or 777, depending on your server's config)
    • Run the file "update.php" in the coppermine directory once in your browser (e.g. http://yourdomain.tld/coppermine/update.php). This will update your coppermine install by making all necessary changes in the database.
    • If you have made a custom theme, apply the changes that were introduced in the themes structure to your custom-made theme - refer to the theme-upgrade guide.
    • You can not use language files from older versions of Coppermine as primary language (the language the admin will use) - make sure you only have the language files that come with this package inside of your lang folder (delete or rename all files from older versions within the lang folder).
      If you need to use a language that hasn't been translated for cpg1.4.x, you can try using the language file from cpg1.3.x, however there are certain caveats:
      • You need to enable the language fallback option in coppermine's config page
      • cpg1.4.x-phrases that don't exist in your old language file will go untranslated or show in english
      • Coppermine can't be administered using an old language file - the admin needs to use a "true" cpg1.4.x language file
      • You're free to try using old language files, however when running into issues or error messages, switch to US-English and see if the issue goes away then. Using outdated language files goes unsupported
    • The bridging method has changed from cpg1.3.x to cpg1.4.x. When upgrading, your bridged coppermine install will be unbridged - you will have to re-apply the bridging using the bridge-manager (using your standalone admin account you initially used to set up coppermine). You will not lose anything though, don't worry.

    Please note: as there have been changes both in the coppermine files and the database from cpg1.3.0 or better to cpg1.4.x, users of previous versions will have to apply all steps mentioned above: both the files have to be replaced and the update.php script has to be run once.

    3.5 Upgrading from cpg1.4.0 or better to version cpg1.4.10

    • First, make a backup (dump) of your database.
    • Backup your include/config.inc.php file, your anycontent.php file and your "albums" directory.
    • Unpack the archive
    • If the file install.php exists in the root directory, delete it. When performing an upgrade, it is not needed.
    • Except for the "albums" directory, upload all of the new files and directories making sure not to overwrite the include/config.inc.php file, your anycontent.php file or the albums directory.
    • Run the file "update.php" in the coppermine directory once in your browser (e.g. http://yourdomain.tld/coppermine/update.php). This will update your coppermine install by making all necessary changes in the database.
    • If you have made a custom theme, apply the changes that were introduced in the themes structure to your custom-made theme - refer to the theme-upgrade guide.

    Please note: as there have been changes both in the coppermine files and the database from cpg1.4.0 or better to cpg1.4.10, users of older versions than cpg1.4.10 will have to apply all steps mentioned above: both the files have to be replaced and the update.php script has to be run once.

    Back to top


    3.6 The version check tool

    Since the release of cpg1.3.2 Coppermine comes with an additional version checking tool to help you resolve issues with upgrades and updates easily. Except for specific files of coppermine that will only work for the version that it had been originally designed for, the versioncheck tool can be used with all versions starting from cpg1.2.1. To launch the versioncheck, simply add versioncheck.php to your browser's address bar after being logged into coppermine as admin (example: http://yourdomain.tld/your_coppermine_folder/versioncheck.php). With version 1.4x, you can run the versioncheck utility from the Admin Tools menu.

    3.6.1 What it does

    The script "versioncheck" is meant for users who have updated their coppermine install. This script goes through the files on your webserver and tries to determine if the local file versions on your webserver are the identical to the ones at the repository of http://coppermine.sourceforge.net. Files that do not match are displayed and are the files you should update as well. In Cpg1.4.x you can toggle the URL to the latest update for individual files in the versioncheck page.

    It will show everything in red that needs to be fixed. Entries in yellow need looking into. Entries in green (or your theme's default font color) are OK and should be left alone. When an entry is red or yellow, a help icon will appear next to it. Click it to find out more. Hovering with your mouse over an item will display additional information as well (tooltip).

    The versioncheck screen has several sections:

    • Section 1 explains what the versioncheck tool can be used for
    • Section 2 ("Options") displays the options you can chose
    • Section 3 will display a warning if coppermine was not able to connect to the online repository (where the most recent version data is being stored). The script will default to a local copy of the repository file. If connection to the online repository was succesfull, there will of course be no error message (no section 3).
    • Section 4 will show what version of coppermine you actually use. The versioncheck script draws this piece of information from the file include/init.inc.php - if you haven't replaced your copy of this file with the new version during upgrade, your old (outdated) version will appear in this section.
    • Section 5 will show the core of versioncheck's file: the version comparison. The script will loop through all files that are suppossed to exist (based on repository data) and compare them to the files you actually have on your webserver.
    • Section 6 will display a summary of the files and folders checked

    3.6.2 Options

    The options screen lets you configure the versioncheck, or rather what is being displayed. The options aren't saved anywhere, so you will have to adjust them each time you run versioncheck. The default options should be OK for most users - only change them if you have good reasons to do so.

    • show optional folders/files
      Uncheck this to hide files that are tagged as "optional" (display mandatory files only)
    • show mandatory files
      Uncheck this to hide files that are tagged as "mandatory" (Note disabling both optional and mandatory files will of course result in no files being displayed at all)
    • show additional information
      Toggles whether informaton about the installed coppermine version and the repository connection status are being displayed. Uncheck if your're making screenshots to save space and reduce dimensions.
    • show file versions
      Toggles wether additional version information of a file that belongs to the release version you're using should be displayed. When viewing the source code of a coppermine file, the file version is the number that looks like this: Id: index.htm,v 1.66 2004/08/26 04:42:19 gaugau Exp (in this example the file version is 1.66)
    • show folders/files with errors only
      Toggles display of files that don't have errors. Enable this option if you want to make a screenshot and ask for support on the coppermine forum.
    • coppermine is installed in the webroot
      Experimental: if all your files are being displayed as "non-existant", you probably have installed coppermine in your webroot, or you are using subdomains. Check this option only if you are experiencing problems. This option hasn't been tested thoroughly yet, there's no guarantee it will work on your setup.
    • try connecting to the online repository
      Toggles wether versioncheck should try to connect to the online repository (checked by default). Only uncheck this option if you're sure you can not access the online repository because of your server setup and you want to reduce the time the script needs to execute a bit.
    • show folder permissions
      Toggles the option to show/hide the read/write permissions of a folder.
    • don't display web svn link / display web svn link to stable branch / display web svn link to devel branch
      Toggles wether to show an additional column that contains a link to the web svn. Only recommended if your cpg version is OK (green), but your file version appears to be outdated. You can then connect to the web svn to get a more recent version of your file. Only recommended if you know what you're doing (or you have been told to do so from a supporter from the coppermine support board).
    • show condensed ouput (for easier screenshots)
      When checked, this options reduces the width of the version comparison columns. This will allow you to create screenshots with reduced dimensions and size.

    3.6.3 Version comparison

    There is a lot of information packed into a small space. Here's an example of a possible output and what the output means:


    • The column "icon" shows if the entry is a folder or a file. Clicking on the icon takes you to the page, e.g. clicking on util.php will take you to the "admin tools page" (although not all coppermine files can be opened directly by running them in the browser).

      In above example, rows "A" to "E" are folders, rows "F" to "K" are files.

    • The column "folder/file" holds the relative path from your coppermine root to the folder/file in question.

      If an entry is in your default font color, it exists (in above example, all rows but "G" and "H").

      If the entry is in yellow (row "G"), the corresponding folder/file doesn't exist on your webserver, but it is only considered to be optional (e.g. a language file that comes with the coppermine package that you don't want to use can be deleted from the webserver. It will then be shown in yellow, as it's only optional to have it). It's up to you if you need it.

      If the entry is in red (row "H"), the folder/file in question doesn't exist on your webserver, but it is mandatory to have it. You should upload the file from your coppermine package to your webserver. Only leave it as-is if you really know what you're doing.

    • The column "writable" shows information if the folder in question is writable, and whether this is correct or not. The write permissions for files are not being displayed, as this would slow down the script considerably. Usually, there are icons that show the writable status of your folder (if you have the icon resources on your webspace). Optionally, a plain text message in brackets might be visible (if you don't have the icon resources).
      • A white pencil with a green "x" indicates that the folder is not writable and is isn't suppossed to be writable - everything is OK then (row "A")
      • A green pencil indicates that the folder is writable and it is suppossed to be writable as well - everything is OK then (row "D"
      • A white pencil with a red "x" indicates that the folder is not writable, although it should be (row "C"). You should change write permissions (CHMOD) for this folder and everything within it, usually using your FTP software.
      • A red pencil indicates that the folder is writable, but it shouldn't be (row "E"). Unless absolutely necessary, leaving files writable could be a security risk. Where possible, you should change permissions for this folder and everything within it to read/execute only.
    • A question mark in a yellow box (help icon) indicates that there is additional information available. Click on the icon to display the pop-up window with this information.
    • The column "cpg version" displays what coppermine package your file on your webserver is from, and what version it should be from. The data is being extracted from the header of the file, that's why folders are shown as "n/a" - they have no header information containing their coppermine version (rows "A" to "E").

      Files that contain header information are being displayed with your file version and the cpg version of the file in the repository, separated with a slash. It is possible that a file version may differ from the version of your whole package - this doesn't matter as long as both your version and the repository versions match (the are displayed in green) - in above example: rows "F", "J" and "K".

      Of course, version numbers from files that don't exist can't be extracted, that's why rows "G" and "H" have a dash as cpg version. If your cpg version is lower than the repository version, your version is being displayed in red: if this is the case, you probably haven't successfully uploaded the proper file of files from the coppermine package to your webserver (replacing files that may have already existed on your webserver) - you should do so now (row "I").

      If your local version is being displayed in yellow, you are using a file that belongs to a higher coppermine version than the rest of your files - you probably downloaded a file from the devel branch: remember that using devel files go unsupported, do so on your own risk (if you know what you're doing). If most or all of your files are being displayed in yellow, you probably have upgraded some files, but you forgot to upgrade the file "include/init.inc.php" (that holds the version info for your install). Make sure to upload all files from the package to your server.

    • The column "file version" holds the individual file's version that get's increased during development of a new coppermine version (each time a developer modifies a certain file, the version number increases by one). As folders can't contain such version numbers, they are again labelled as "n/a" (rows "A" to "E"); the same applies to files that don't exist, that's why their file version is displayed as dash (rows "G" and "H"). Also the file version is irrelevant when comparing files from different coppermine packages, that's why row "I" has a dash as well.

      The coloring scheme is similar to the cpg version system: green means "everything is OK", red means "you're using an outdated version" and yellow means "you're using a newer version than you're actually suppossed to.

      The difference between the cpg version and the file version columns is indicative of the way you should obtain the file that you need to replace the existing one on your server: a red entry in the cpg version column means the file on your server hasn't been replaced with the file from the coppermine package; a red entry in the file version column (row "J") usually means that there have been updates to a certain file after the release of the package - you should either check if there is a newer package available or get the most recent file from the SVN (enable the web svn link column in the versioncheck options).

    • The column "web svn" (off by default) links to the corresponding file in the SVN. You're recommended to use this only if there appears to be a newer version in the svn than your coppermine package has and you know what you're doing.

    Back to top


    3.7 Downgrading from cpg1.4.x to an older version

    CPG1.4.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.4.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.

    If you haven't converted your database to unicode (utf-8) encoding, you can downgrade as explained below. To make this absolutely clear: you can only downgrade if you used to have cpg1.3.x before and upgraded this version to cpg1.4.x without converting the database. If you have converted the database or if you have made a fresh install of cpg1.4.x, you can't downgrade at all!

    To actually perform the downgrade, replace all cpg1.4.x files on your server with the files from the older version (as if you were doing an upgrade, see above). You then have to undo some changes in the database structure. To do so, run a query like

    ALTER TABLE `CPG_users` CHANGE `user_location`  `user_profile1` VARCHAR(255);
    ALTER TABLE `CPG_users` CHANGE `user_interests` `user_profile2` VARCHAR(255);
    ALTER TABLE `CPG_users` CHANGE `user_website` `user_profile3` VARCHAR(255);
    ALTER TABLE `CPG_users` CHANGE `user_occupation` `user_profile4` VARCHAR(255);

    using a tool like phpMyAdmin, replacing CPG_ in the query with the prefix you have chosen during coppermine install.

    Back to top


    4. Configuration & Administration

    4.1 Categories, albums and files

    The Coppermine Photo Gallery (CPG) works in the following way:

    • Files are stored in albums
    • Albums are organised in categories
    • Categories can be nested (into subcategories)

    If you don't plan to have many albums, you really won't need to use the categories feature. If this applies to you, simply do not create any categories and all your albums will automatically appear on the main page of the script.

    There is, however, a special category named "User galleries". This category can't be deleted. If a user belongs to the group "can have a personal gallery" and this is set to YES, he will have the right to create his own albums and his gallery will be a sub-category of "User galleries". This link is not visible to visitors of your site, however, if you do not allow users to upload pics and have their own albums.

    The administrator can create albums in any category. Non-administrative users can only create albums in the "User galleries/Their_username".

    You can, however rename the "User Galleries". To rename the "User galleries" category and description, simply go to your category control panel and change the name there (e.g. to translate the words "User galleries" into your language).

    Back to top


    4.2 Admin mode & User mode

    When you are logged in as an administrator, the script provides two modes of operation : Admin mode & User mode. You can switch between Admin & User mode by clicking on the corresponding link in the menu bar at the top of the screen.

    When you are in admin mode, you can administer your gallery using the menu bar that appears when in admin mode, as shown below :

    Admin menu

    When you are in user mode you are still logged in as an admin user, but the admin controls (the admin menu bar etc.) are hidden from the screen to give you a basic preview of what the page would look like for "regular users". However (as you still are logged in as admin), certain permissions and options in user mode will still look the same as if you were in admin mode; you can not use "User Mode" to see what a non-admin user is actually allowed to see. To see what a casual visitor can see and do on your site, simply log out. To see what a registered user can see and do on your site, create a test user account (non-admin) and log in with this particular user (when doing this it is recommended that you use two different browsers, NOT two instances of the same browswer, to view your site so you can stay logged in as admin on one and view what regular users see while making changes in admin mode. You will have to refresh the non-admin mode screen to see what changes you incorporated).

    The items in the admin menu should be pretty self-explanatory:

    • Upload approval
      See all pics that await approval by the admin (if you set admin approval as a required step on the settings in the "groups" control panel)
    • Config
      Configure the overall look of your gallery and the settings using the "Config" button in the admin menu (note: you can not access the configuration by manually entering the url of the config file)
    • Categories
      Create/edit/delete categories
    • Albums
      Create/edit/delete albums
    • Groups
      Create/edit/delete groups
    • Users
      Create/edit/delete users
    • Ban Users
      Ban users based on hostname or IP address. Make sure not to ban yourself! Use this feature with extreme caution, as most users today do not have static IP addresses, this feature should only be employed if you really know what you're doing.
      [cpg1.3.0 or better required]
    • Review Comments
      edit/delete user's comments
    • Display Ecards

      View the ecards sent by users.

      You must have ecard-logging enabled in the config menu, first (by default, logging is disabled). When enabled, all ecards that are being sent are written into the database, where the coppermine admin can view them.


      You can sort the log by clicking on the arrow icons next to each heading, and you can delete single or multiple log entries (deleting the log entries will not disable the ecard recipient to view the ecard).

      Before switching this option on, make sure that logging such information is legal in your country. It is also advisable to notify your users that all ecards are being logged (preferrably on the registration screen).

      [cpg1.3.0 or better required]
    • Sort my pictures

      Picture manager that can be used to custom-sort files within an album. By default, the thumbnail page that displays the contents of an album will be sorted by the sorting order specified in "Default sort order for files" on the config page. The "sort my pictures" option overrides the default sorting mechanism and displays the thumbnails in the order you specify. As this means an additional effort in the maintenance of each album, it's recommended to use the default sorting by filename and (instead of specifying a custom sort order) and naming the files appropriately before upload.

      Note: each user (including the admin) can use the sorting controls on the album's thumbnails display page to manually override the sorting option that was specified in coppermine's config and the "Sort my pictures" option; this final method of changing the sort order is stored locally in a cookie of the client and reverts to the config settings when this cookie is discarded.

    • Batch add files
      Batch-add files to the coppermine database that have been previously uploaded by FTP. Batch-add files does not upload files for you. You must upload files using your webhost's file manager or an FTP client software. You FTP files into folders that you create in the coppermine album directory. You must not, however, create these folders in the userpics folder.
    • Admin Tools (Resize Pictures)
      A collection of utilities to:
      Rebuild or resize intermediate pictures and thumbnails.

      Use this if you have changed the settings for thumbnail or intermediate images in config, or if you have to replace corrupt versions.

      Select the radio button for this action, then choose to rebuild the thumbnails, intermediates, or both.

      This uses a lot of server resources, so if you experience timeout issues, try setting it to process smaller batches ( 45 is the current default ).

      Delete full-size pictures.

      Use this to save space on your webspace.

      When selected, Coppermine checks to see if an intermediate copy exists, and if it does, it deletes the original sized picture, then re-names the intermediate. If no intermediate exists, Coppermine leaves the original in place.

      Delete orphaned comments.
      Sometimes, when pictures have been deleted, any comments associated with them remain in the database. Use this to remove them from the database entirely.
      Rename file titles.
      Use this to re-name the title of all files in an album, using info from the filename.
      Delete file titles.
      Use this to clear the file titles from one or more albums.
      View your server php info.

      If, you after following the troubleshooting guides in the documents provided here, you are still having problems with your coppermine installation, these problems are sometimes caused by a misconfigured server setup. Clicking this link will provide you with all your php and mySQL settings, as well as information on the GD library (if installed). The information may be required by the support team, if you are unable to sort problems yourself.

      It is not possible for visitors to your site to access this information, so if asked for it, copy and paste it on the support board. Do not post this information or any debug information unless requested first. You may post ERROR messages verbatim, but refrain from posting warning messages.

      Run a database update (update.php).
      After an update/upgrade, it is usually necessary to run update.php. This can be done by typing the address directly into your browser, or by clicking this link.
    • My profile
      Edit your own user profile

    In previous beta versions of cpg1.4.x there used to be an admin mode and user mode for "regular registered" users, somewhat like those for the true administrator. This feature has been removed as it was both confusing for end users and really didn't serve any special purpose.

    The user with upload permissions has the following admin options:

    • Create / order my albums
      similar to album manager in admin mode, the user can create albums within his user gallery
    • Modify my albums
      The user can edit album title and description (similar to "album properties" for the admin, but the user can't move his albums to other categories)
    • My profile
      The user can edit his profile (changing passwords, edit location, interests, home page and occupation properties, view quota usage). When integrated with a bbs service, the "My profile" link will send the user to the bbs's profile page.

    Back to top


    4.3 The group control panel

    This is where you define what members of a user group can and can't do.

    The disk quota applies only for groups where "Personal gallery" has been set to "Allowed". Both files uploaded by a user in his personal gallery as well as files uploaded to public galleries are included in the quota.

    Use the anonymous group to define what non-registered users can and can't do. Quota and "Personal gallery" are meaningless for anonymous users.

    Permissions control what the user is allowed to do in the gallery (Rating/Sending Ecards/Posting Comments).

    Bear in mind that if a user is a member of a group where "Rating", "Comments" or "Public albums upload" is set "YES", s/he will have the right to perform these operations only in albums where they are allowed. ( ie. uploading files will only be possible in albums where "Visitors can upload files" has been set to YES.)

    If "Personal gallery" is set to Allowed, the members of the group will be able to have their own gallery in the "User galleries" category where they will be able to create their own albums.

    If "Approval" is set to NO, files uploaded by members of the group in albums created in their own gallery won't need to be approved by the admin. If "Approval" is set to YES, the users in the particular group will be able to upload, however the uploaded files will only be shown after the admin (you) has approved them.

    The group control panel enables you to control the upload parameters of any group.

    Upload method lets you select the type of upload method that a particular group may use. Four forms or methods are currently available.

    • Single file uploads only - Users of this group may not use advanced uploading features. They may upload one file at a time. To enable single file uploads only, set File upload boxes to "1", URI upload boxes to "0" and No. of boxes to "fixed"
    • Multiple file uploads only - Users of this group may upload multiple files at one time. To enable multiple file uploads, set File upload boxes to any number higher than "1", URI upload boxes to "0" - it's up to you to let users configure the No. of boxes, but it's recommended to set it to "fixed" to avoid confusion and to limit the load on your server should several users try to upload simultaneously.
    • URI uploads only - The group may only upload files using URIs. Acceptable URIs must begin with 'http://' or 'ftp://'. To enable URI uploads only, set File upload boxes to "0", URI upload boxes to "1" or higher.
    • File-URI - Users of this group may upload files using file upload boxes and URIs. To enable both file and URI uploads, set File upload boxes to "1" or higher, URI upload boxes to "1" or higher

    No. of boxes set to "variable" allows the user to select the number of upload boxes for an upload. Usually, you will leave this option set to "fixed", as it presents the user with an additional step in the upload wizard that is not necessary.

    File upload boxes controls the number of file upload boxes presented to the user. If the user may customize the number of boxes (No. of boxes set to "variable"), this setting serves a maximum limit for the number of boxes he may request. Otherwise, this setting determines the number of boxes that will appear on the upload form.

    URI upload boxes is the same type of control as File upload boxes, but it controls the presentation of URI upload boxes.

    Please note: on unbridged installs (or standard, stand-alone coppermine installs), the group "banned" feature really doesn't accomplish much. A user who is member of this group is still able to log in and view pics, he's just not able to upload, rate, send ecards or post comments. If you truly want to place a full ban on someone you should use the "banning" feature (which isn't group-based but individually based), instead.

    Back to top


    4.4 The user control panel

    The user control panel can be found when clicking "users" from the admin menu. It is the place where you create and manage your users.

    If you have enabled integration (bridging) Coppermine with another application (e.g. your favorite BBS app), Coppermine will use the member table of the application you bridged with (your BBS), so the built-in Coppermine user management will be disabled in favor of the user management that comes with the bridged application. This has been incorporated to eliminate redundancy and facilitate a seemless integration.

    As a result, you will not have this user control panel; clicking the "users" link will send you to your bridge application's user management instead.


    4.4.1 Page controls

    • You can sort the user management display by either clicking the arrow icons () next to each column header or by choosing the sort order from the dropdown at the top right.
    • If you have more than 25 users, a page tab will apear at the bottom right of the screen, allowing you to go to subsequent pages of your member list
    • Clicking on a user's name will display the profile page of the individual user (read only)
    • The edit icon () will send you to the user's profile in edit mode - you can change the password, email account and other user-related settings there
    • If a user has uploaded any files, a link of "recent uploads" will show up next to his name. Clicking on this link will display files that have been uploaded by that user
    • The "group" column displays the primary member group the user is in
    • The column "Registered on" will show the date that the user account was created
    • The "Last visit" column will show the last login of the user.
      Note: if the user has ticked the checkbox "Remember me" on the login screen, he will not have to login every time he visits the gallery so this date may be accurate.
    • The "Files" column displays how many files the user has uploaded to date (including those that are awaiting admin approval)
    • The "Space used" column shows how much of the space that is assigned to the user has already been used. The total space the user is allowed to have ("Space Quota") depends on the user's group - which you set in the groups panel.
    • You can change a number of settings for several users at once by clicking the checkbox in front of the user row (use the checkbox at the very top or bottom of the page to select/unselect all users on the page) and then chosing an action to perform from the dropdown box "With selected" at the bottom left of the page. The actions you can choose from are "Delete", "Deactivate", "Activate", "Reset password", "Change primary membergroup" and "Add secondary membergroup". The user currently logged on (you as gallery admin) has no checkbox to avoid accidental deletion or deactivation of your own admin account.

    4.4.2 Searching for user(s)

    You can use the wildcards: * (for any string) and ? (any single character) or even %expression%.
    Example: searching for j* will return both Jack and Jill

    4.4.3 Creating new users

    To create a new user, simply click on the button "Create new user" at the bottom of the user manager and fill in the form that will come up.

    This does of course not apply if you have bridging enabled, as user management is being handled by the app you have bridged coppermine with. In this case, the user management screen of your bridged app should show - create a new user there.

    4.4.4 Editing users

    To edit the properties of a user, click the -button next to the user name. You will then find a page where you can modify all user profile fields the user has. This includes the option to change the password of that user. If you don't want to change a user's password, leave the password field blank.
    The dropdown list determines the primary group the user is in, the checkboxes beneath it determine the secondary groups.

    Please note that this screen (as well as the rest of Coppermine's user management) will not be available if you have enabled bridging, because then the user management of the application you have bridged with (e.g. your BBS) kicks in and handles everything related to user management.
    The button "Album permissions by group" can not be used to set permissions, but only to view them. You can set permissions using the album properties screen.

    4.4.5 Group membership

    When creating a new user or editing an existing user, you will notice a row named "User group" - it determines what group(s) the user is in.
    The first field (a dropdown field) determines the primary user group. It determines the status of a user. You should set it to "Administrator" (for users you want to assign admins powers to) or "Registered".
    Additional (secondary) group membership can be assigned using the checkboxes beneath the dropdown field. Here, all your custom groups (that you can create and manage using the group control panel) should show as well as the core groups (the ones that come with coppermine out of the box and can't be deleted). Assign additional group membership to your users here. Privileges for a particular user inherited from group membership are added: the least restrictive permissions are taken into account.

    Example: if you want your registered users to be capable of viewing the gallery only, and only privileged users of your custom user group "photographers" are allowed to actually upload files, make all your users members of the built-in group "registered" (by default, they already are). Only for user you want to give the privilege to upload, tick the check box "photographers" as secondary group. Then go to your groups control panel and disallow uploads for the registered group there, but allow uploads for the custom group "photographers".

    Note: the button "album permission by group" beneath the checkboxes is not meant to assign album permissions, but only to check the permissions set. You can only assign particular album permissions on the album properties screen.

    Back to top


    4.5 The categories control panel

    This panel allows you to edit your categories.

    • The button allows you to edit the title, description and parent category of an existing cetegory.
    • The button allows you to delete a category. Deleting a category does not delete the albums and files it contains. These are moved to the "Root" category if it is a subcategory that is deleted or to the root of the category list if it is a parent category that is deleted..
    • The and buttons allow you to order your categories.
    • The "Move into" dropdown lists allow you to change the parent of a specific category.

    "User galleries" is a special category. It is not visible unless you have some users that have created their own gallery. It can't be deleted but you can edit its title and description by using the button.

    You can specify how you want categories sorted in coppermine: alphabetically (instead of a customized order) by setting "Sort categories alphabetically" to "Yes". This setting is available both in coppermine config and the category manager. If you enable alphabetical sorting, the move up and move down arrows that normally let you manually sort the categories will disappear. Disable this feature if you want to organize your categories in some other order.

    You can only assign a picture to the category only if you have an album with images nested directly within it.

    Back to top


    4.6 The Album Manager

    Coppermine stores files inside of albums, so you'll need at least one album for your pictures/files to be placed in. Albums can be stored in categories (but they don't HAVE to be in a category, they can just as well go into the coppermine "root").

    When you click on "albums" in the admin menu, you will see the Album Manager.

    4.6.1 Creating albums

    • Choose a category from the dropdown list "Select category" and highlight the selection where you would like your album to reside in. (or choose "* No category *" if the album should go into the coppermine "root"). If you haven't created a category yet, go to the categories control panel first. Or, you can proceed with these steps to first create an album and move the album into a category later. You can also perform this moving task by using the album properties page.
    • To create an album, click on the "New" button - a new album will appear on the list, by default this album is labelled "New album"
    • Click on the text input field at the bottom of the screen, highlight the default name "New album"
    • Then type in the album name you want to use
    • (repeat steps 2 through 4 to add additional albums)
    • Click "Apply modifications" to submit your changes to the database. failure to do so will result in the loss of all the changes you just made. You can always return to this panel to edit and change album names, sort them within their parent category, and/or move them to different parent categories.
    • After clicking to Apply Modification, confirm your intent in the alert box with &the quot;OK" (Are you sure you want to make these modifications ? button.)

    4.6.2 Renaming albums

    • Choose a category from the dropdown list
    • Click on the album you want to change
    • Click on the text input filed at the bottom of the screen, highlighting the album name
    • Type the album name you want to assign
    • Click "Apply modifications"
    • After clicking to Apply Modification, confirm your intent in the alert box with &the quot;OK" (Are you sure you want to make these modifications ? button.)

    4.6.3 Changing the album order

    • Choose a category from the dropdown list
    • Click on the album you want to move up or down in the list
    • Use the arrow buttons to move the album up or down
    • Click "Apply modifications"
    • After clicking to Apply Modification, confirm your intent in the alert box with &the quot;OK" (Are you sure you want to make these modifications ? button.)

    4.3.4 Deleting albums

    • Choose a category from the dropdown list
    • Click on the album you want to delete
    • Click the "Delete" button
    • Confirm the alert box with "OK" (Are you sure you want to delete this album ? All files and comments it contains will be lost !)
    • Click "Apply modifications"
    • After clicking to Apply Modification, confirm your intent in the alert box with &the quot;OK" (Are you sure you want to make these modifications ? button.)

    Back to top


    4.7 Modifying albums/files

    When you are in admin mode there is a menu displayed next to each album

    Delete allows you to delete the album and (CAUTION) all files within it.

    Properties allows you to modify the name, description and permissions of the album

    Edit files allows you to modify the title/caption/keywords etc... of the files in the album

    Back to top


    4.8 Album properties

    The "Album category" drop down list allows you to move an album from one category to another. If you set this to "* No category *" then the album will be displayed on your main page.

    Use bbcode to add links and additional formating to your descriptions.

    The thumbnail option lets you select the picture that will represent the album in the album list. Do not assign a picture here if you would like the album to select images randomly.

    If you have set "Users can can have private albums" to YES on the config page, you can determine who will have permission to view the files of this album.

    When "visitors can upload file" is set to YES, it is possible for them to upload files into albums by enabling this permission.

    Note that only visitors who are members of a group for which the setting "Can upload pictures" is set to YES. Members not in the permitted group will not be able to upload files into such an album. Non-registered users are members of the "Anonymous" group.

    The same rules as above apply for "Visitors can post comments" and "Visitors can rate files".

    In 1.4.x the Album Keyword is no longer being used for searching purposes, but, rather, to link images from other album into another. Using this method, files/images can be displayed in various albums while the file itself need only exists in one album on your webserver. You simply upload a file to one album as you would normally do, then assign one or more keywords to the file. The keyword function reads blank spaces between words as a 'break' and assumes that these words are separate words. If you must use phrases for your keywords, connect them with an underscore or by using the ascii space holder ctrl+Alt+0160 (NOTE: the latter option only works with latin based character sets.) Each album can only have ONE (1) keyword or keyword phrase. All pictures residing in different albums that you would like to be displayed in this album must have the same keyword or keyword phrase in their respective keyword fields. Pictures, unlike albums can have multiple keywords or keyword phrases separated by spaces. This provides you with the option to display pictures in many albums. For the visitor of these albums, it will appear as if the file/image had been uploaded to each.

    Album Password: you can specify an album to be password-protected (instead of relying on the "regular" group-based permissions). This way, you can even allow access for unlogged users (guests) who you provide the password to. Use this option, for example, to set up an album for your family members only by specifying a password that only they can come up with answering an additional password hint (e.g. "What was the maiden name of aunt Emma?"), or you could decide to send the particular password to specific friends, family or business associates by email. The optional password hint will be displayed at the password prompt, when set.

    Note: when setting an album password, the permission dropdown field "Album can be viewed by" will be switched automatically to "me only" - this is expected behaviour. If you change the "Album can be viewed by" to another selection, you must disable the album password as well.

    4.8.1 Reset album properties

    You can reset the number of views count and total ratings in the album properties panel and even delete all pics at once in the sub-section "Reset album" by ticking the desired checkboxes and then submitting the form. To prevent accidental resets, you will have to place a tick on the checkbox "I'm sure" before changes can be submitted (the button will be greyed out (disabled) if you don't).

    Use these options with care: the deleting of files is irreversible, as well as the reset of views and ratings (you can only restore views and ratings by manually editing coppermine's database entries with third-party tools like phpMyAdmin - not recommended).

    Back to top


    4.9 Editing files

    Use this link to modify your file's title, description, keywords, and custom fields (if they are used).

    Use the album drop down menu in the panel to move the file between albums. Use keywords to link files to other albums (see description in the albums section above).

    Back to top


    4.9.1 Editing videos

    Here, you can modify the title, description, keywords, and custom fields (if they are used) of your video files.

    Use the album drop down menu to move the video to another album.

    Use the height and width fields to set the size of the video.

    Video uploads are possible beginning with cpg1.3.0 (or latter) and are included as part of the distribution package. For cpg1.2.1 you must install a separate modification.

    [cpg1.3.0 or better required]

    Back to top


    4.9.2 Custom Thumbnails

    Order of thumbnails:
    Thumbnails are defined by different levels (these are: user-defined, theme-defined, global) then in the order of their type (file-specific, extension-specific, media-specific). User-defined thumbnails are stored in the folder where the parent file is located. Theme-defined thumbnails are stored in the themes 'images' folder. Global thumbnails are stored within the 'images' folder of the Coppermine root. Thumbnails can be one of the following file types: 'gif', 'png', or 'jpg'.

    Types of thumbnails:
    File-specific thumbnails must have the same base name as the file. Using the above screenshot of a video file as an example, the thumbnails for this file could be 'thumb_thailand_waterfall.gif', 'thumb_thailand_waterfall.png', or 'thumb_thailand_waterfall.jpg', and searched for by cpg in that order.

    Extension-specific thumbnails are named after the extension of the file. (Examples: 'thumb_wmv.jpg', 'thumb_wav.jpg'.)

    The base name for media-specific thumbnails are 'thumb_movie', 'thumb_document', and 'thumb_audio'. Images use file-specific thumbnails by default.

    Uploading:
    There are 2 ways to upload custom thumbnails:

    1. Have an image already uploaded then upload a video via the upload page. (or vice versa) The video will share the thumbnail of the image.



    2. FTP upload both the video and (thumbnail or image) then batch-add. If you FTP upload the thumbnail, the thumbnail will be display in the batch add page instead of the default Coppermine thumbnail. If you upload an image it will look like the above screenshot. However, when the both files are added to the database, the thumbnail of the image will be used by the video.



    Final result.

    Note: If the first method is used and the image later deleted, the thumbnail will also be deleted and the default Coppermine thumbnails will be displayed, instead.
    If a previously uploaded video is to be uploaded again, via FTP, the accompanying thumbnail must also be uploaded, via FTP, to the same folder.

    Video uploads are permitted from verstion 1.3.0 of cpg (or better) and are included as part of the distribution package. For cpg1.2.1, this option is only available as a separate modification. The use of custom thumbnails aren't supported in versions prior to 1.3.0. NOTE: Using the above instructions, a custom thumbnail can be applied to any file, not just videos.

    FAQS:

    • Quote
      I have a video named 'movie.wmv', when I upload a thumbnail for it 'thumb_movie.jpg' it replaces the thumbnails for multiple videos!!!!
      Duhh. 'thumb_movie.jpg' is a media-specific thumbnail. Rename the video and the thumbnail with something other than just 'movie'.
    • Quote
      I can't find my user's folder!
      From within Coppermine, browse to the user's album. Look in the url of your browser and you should see the folder's name. (See screenshot for an example.)

      Your users can upload their own thumbnails by using this trick: Create an album. Change the permissions on it so no one can view it except that specific user. Then upload the fullsized images of the thumbnails to this folder. Files outside this album will be able to use the thumbnails of these images. (See above for naming.)
    • Quote
      How do I stop my users from creating their own custom thumbnails?
      Currently, this is not possible.

    [cpg1.3.0 or better required]

    Back to top


    4.10 Using bbcode to insert links and special formatting in various description fields

    Coppermine understands the following bbCodes (the same bbCodes that are used by phpBB and many other BBS apps) in image and album description

    • [b]Bold[/b] => Bold
    • [i]Italic[/i] => Italic
    • [url=http://yoursite.com/]Url Text[/url] => Url Text
    • [email]user@domain.com[/email] => user@domain.com
    • [color=red]some text[/color] => some text
    • [img]http://coppermine.sf.net/demo/images/red.gif[/img] =>

    Back to top


    4.11 Uploading pics/files

    There are several methods to upload files within Coppermine. You (as gallery admin) should use FTP-upload plus batch-add (only the admin can do this). Regular users are supposed to use the "regular" http upload or (if they have Windows XP) the XP Publisher.

    Back to top


    4.11.1 Uploading pics by FTP / Batch-Add Pictures

    It is recommended that the coppermine admin use ftp to upload multiple pics/files at a time. Use your ftp software to create sub-folders within your_coppermine_directory/albums/, where your ftp uploads can be saved. Though not mandatory, it's always a good idea to have a folder structure within the albums folder that reflects or mirrors your coppermine categories and albums.

    Important: do not create folders or ftp upload to the userpics- nor to the edit-folder by ftp: these folders are used by coppermine internally and must not be used for any other purpose! Folder names must not contain dots. We also highly recommend refraining from the use of any other special characters - use only a-z, numbers and - (dashes) or _ (underscores) to fill blank spaces. Make sure to upload in binary or auto-mode.

    Once you have uploaded your photos by ftp, click on the "Batch Add Pictures" button. The batch-add is performed in three steps:

    • find the directory under which you have uploaded your photos. Select this directory by clicking on it.
    • select the photos you wish to upload (by ticking them). New pics are automatically pre-selected, those that already are in your coppermine database are not selected. Next select thee album you wish to insert them into. Click "Insert Selected Pictures" to start the batch-add process.
    • CPG will then display the results of the batch-add (allow some time for all results to display).
      If the OK, DP, or PB 'signs' does not appear, click on the broken file image to see if any error message was produced by PHP.
      Should your browser time out, hit the reload button.
      • OK : means that the file was succesfully added
      • DP : means that the file is a duplicate and is already in the database
      • PB : means that the file could not be added, check your configuration and the permission of directories where the files are located
      • NA : means that you haven't selected an album the files should go to, hit 'back' and select an album. If you don't have an album create one first

    Giving FTP-access to other users can pose a serious security threat, this is why batch-add is only available for the coppermine gallery admin.

    Once files have been added to coppermine's database, make sure that you never rename or delete them via ftp - use coppermine's admin menu options to remove or rename files, instead. Only in this way will these files be removed from both the file system and the database.

    Back to top


    4.11.2 Uploading by HTTP

    Regular HTTP uploads use the browser's built-in capabilities to upload files to a server. The maximum file size is determined by two basic factors: the speed and amount of data the web-browser can upload before timing out, and the allowed file size determined by server settings. Note that those settings are not determined by coppermine, but the server config (php.ini). Users who are webhosted usually can't edit php.ini, so they wil