# Coppermine Photo Gallery v1.5.x: Documentation and Manual

# About Coppermine

Coppermine Photo Gallery (CPG) 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 during the upload stage), 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 to access the gallery in their preferred languages. Coppermine uses PHP, a MySQL database, and either the GD library (version 1.x or 2.x) or ImageMagick as image libraries 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.

Coppermine uses the jquery JavaScript/Ajax-library for a rich user experience and easy customization.

Coppermine is free, open source software and can be used both for personal sites as well as for commercial use. It is being released und the GNU GPL license, version 3, which has been approved by the OSI.

## About the documentation

Use the menu at the top left of this screen to browse through the Coppermine documentation. The menu is available throughout the documentation. The menu is JavaScript-driven - if you have JavaScript turned off or can't use it for whatever reason, use the link at the top that will lead you to the table of contents and from there on to the section of the docs that you want to read.

The Coppermine dev team strongly recommends enabling JavaScript and using a modern browser (with CSS and JavaScript according to the DOM standards) to read the documentation for a richer experience.

### Documentation Conventions

Throughout the documentation the follwing conventions have been applied:

#### Text boxes

There are text boxes in this documentation that have special meanings:

Examples that are meant to illustrate the instructions given are displayed like this!

Additional information that should not be overlooked is being displayed like this.

Hints that usually will lead to a bigger insight into the overall mechanisms within Coppermine or that will help you applying features successfully are being highlighted like this.

Warnings about things that can easily go wrong if a mistake is being made are being displayed in this manner. It is advisable to pay close attention to the text within such boxes.

Things that can go wrong depending on user interaction or user input are being displayed like this.

Actual errors or issues that can have a huge impact are being displayed like this. This is the most serious kind of boxes - their content is very important to read.

Longer sections of code examples (can be PHP, HTML, CSS or JavaScript) are displayed using the typewriter icon in front of them.

#### Links

All "regular" links (that don't have a special icon displayed next to them) are internal links, i.e. they refer to a section of this documentation and therefore allow you to navigate this documentation. The exception to this rule are the following links:

- ##### Expandable / collapsible sections

  There are some sections that can be expanded and collapsed (if JavaScript is enabled in your browser) for easier reading. Usually, the expandable sections contain details about the paragraph in front of them. Expandable sections are being tagged with a little plus box () in front of them if in collapsed state and a minus box () if in expanded state. If JavaScript is turned off in your browser, all expandable boxes will be displayed expanded - clicking the icons won't do anything then.

- ##### External links

  External links that lead to a page outside of this documentation are being followed by a little icon that represents a window with an arrow in it: .

- ##### PHP documentation

  As Coppermine is a PHP-driven app, there are a number of references within it's documentation that relate to technical terms of the programming language PHP. The links that are tagged with a little PHP icon () therefore lead to sections within the official PHP documentation on php.net that contain further information or definitions of the term used within the coppermine docs.

- ##### Anchors

  On every page within the Coppermine documentation you will find anchor icons () next to many paragraph headings. They are clickable and will point exactly to the paragraph in front of them. Their purpose mainly is for easier support: if a supporter wants to refer to a particular section of the docs from within his/her posting, he/she can easily perform a right-click, "copy URL" within the documentation on the official coppermine home page and paste that copied link into his posting. For you as an end user, the anchors can be helpfull if you want to bookmark particular section of the docs.

## Features

Coppermine comes with many features. Below you'll find an incomplete list. Features that are new in cpg1.5.x (compared to cpg1.4.x) are marked accordingly.

Details

- Installer
  - easy install (installer provided)
  - improved, wizard-like installer (cpg1.5.x)
- Registration & Login
  - terms and conditions option (cpg1.5.x)
  - config settable global password for registration feature (cpg1.5.x)
  - visual confirmation (captcha) for registration (cpg1.5.x)
  - email address verification (activation link)
  - resend activation link feature (cpg1.5.x)
  - registration approval by admin
  - registration notification for admin
  - optional creation of personal albums on registration (cpg1.5.x)
  - user can delete own account feature (cpg1.5.x)
  - login possible with username or email address (cpg1.5.x)
- User management
  - user management (private galleries, groups)
    visitors can register for themselves (if the admin allows registrations). Alternatively, admin can create user accounts.
  - User management is group-based
  - Permissions are managed/assigned per group
  - bridging: integration of user management with various bbs (like phpBB, YaBB SE, SMF, Invisionboard, vbulletin)
  - bbs integration settable with a wizard-like user interface (bridge manager)
  - user membership in multiple groups
  - more admin-settable user profile fields
- Managing categories and albums
  - arrangement of pictures in categories, optional sub-categories and albums
  - users can create albums in admin allowed categories (cpg1.5.x)
  - New category hierarchy system (cpg1.5.x)
- Uploading
  - users can upload pictures/files with web interface (and admin can FTP-upload and batch-add to database)
  - creation of thumbnails and intermediate size pics
  - caption, title, description and user defined fields for each picture (searchable)
  - upload approval notice for admin
  - image rotation
  - multi-pic upload
  - option to choose max height or width for thumbnails will help in creating nicer looking thumbnail rows and cols
  - picture-resize on upload
  - optional preview thumbnails during batch-add (cpg1.5.x)
  - allowed filetypes message displayed on upload screen (cpg1.5.x)
  - animated graphics on upload screen to indicate the upload progress (cpg1.5.x)
  - non-latin characters in file names are being replaced with transliteration if possible and underscore if there is no transliteration for web-safe file names regardless of user skills (cpg1.5.x)
- Displaying images
  - Meta albums:
    admin can specifiy what virtual extra albums can be used to provide alternative "views" or methods to browse the gallery:
    - last commented
    - last added
    - random picture
    - browse-by-date meta-album (cpg1.5.x)
    - most viewed
    - top rated
    - favorites
  - slideshow viewer
  - option to display a clickable flimstrip of thumbnails below the image display
  - watermarking option (cpg1.5.x)
  - thumb cropping and sharpening (cpg1.5.x)
- User interaction
  - user comments
  - comment approval option (cpg1.5.x)
  - visual confirmation (captcha) for comments (cpg1.5.x)
  - usage of Akismet for comment filtering (cpg1.5.x)
  - registration promotion in the comments section (cpg1.5.x)
  - e-card feature
  - Flash support for ecard (cpg1.5.x)
  - language selection option in template
  - password-protected albums
  - Voting/Rating
  - optional display of rating on thumbnail screen (cpg1.5.x)
  - voting level customizable and ajax-driven (cpg1.5.x)
  - optional contact form with captcha (cpg1.5.x)
  - users can report misplaced or improper content to admin
  - favorites: visitors can add images to their favorites for future visits
- Statistics
  - public display of number of images, views and last uploads
  - browser and os stats for admin (cpg1.5.x)
  - overall stats (cpg1.5.x)
  - album hits counter (cpg1.5.x)
  - public stats can be turned off (cpg1.5.x)
- Searching
  - advanced search (boolean operators)
  - regular expressions in search (cpg1.5.x)
  - clickable keywords
  - tag cloud feature (cpg1.5.x)
- Administration
  - Admin tools
  - basic authentication for update script (cpg1.5.x)
  - reset to default for individual config options (cpg1.5.x)
  - Uploaded files can be un-approved by the admin to temporarily hide them (cpg1.5.x)
  - Direct banning option on comment approval screen (cpg1.5.x)
  - User management screen with additional criteria, showing user interaction (cpg1.5.x)
- Plugins
  - plugin-API to allow the creation of user-contributed enhancements
  - many plugin contributions available
  - plugin-manager
- Documentation
  - online help feature for the admin pages
  - bbcode help icon on comments (cpg1.5.x)
  - complete admin documentation available
  - multi-lingual documentation
  - documentation split into sections for easier reading (cpg1.5.x)
- Miscellaneous
  - picture information stored in database
  - full multimedia support
  - multi-lingual
  - English as a fallback language for un-translated entries in language files
  - all features customizable with web interface (admin section)
  - EXIF/IPTC support
  - URL parameters refer to absolute positions instead of relative ones for search engine friendliness (cpg1.5.x)
  - API for Coppermine to be used with applications like Koppermine and others (cpg1.5.x)
  - news section for the admin to alert him about updates (cpg1.5.x)
  - usage of Inspekt for the sanitization of superglobals, a tool to create secure PHP application (cpg1.5.x)
  - granular control for guest access: no access, thumbs only, thumbs + intermediate only, thumbs + intermediate + full-size (cpg1.5.x)
  - Prevent search engine spiders from indexing meta albums (cpg1.5.x)
- Visual appearance
  - template/theme system
  - separation of the breadcrumb block so that it can be placed independently of category in the template
  - option to show first level albums of a category instead of just statistics of the category
  - option of turning on OR off the showing of "Private" Icon to unlogged / unprivileged user
  - option to send visitors directly from the thumbnail page to the full-size pop-up (cpg1.5.x)
  - optional movie download link (cpg1.5.x)
  - alternating colors for table rows (cpg1.5.x)
  - optional tag cloud (cpg1.5.x)
  - sidebar for easier navigation (cpg1.5.x)
  - ajax filmstrip (cpg1.5.x)

## What's next?

There's a number of pages within this documentation that beginners should start with:

- Minimum requirements
- Installation and setup
- Getting started
- Languages
- Credits
- License & Copyright
- Known issues