Help:Image Administration

This article describes how FORwiki handles and stores files, and gives some information on configuring.

This applies to images as well as to any other type of file that can be uploaded. All files are stored with a corresponding article in the namespace "File:".

Upload and usage of images
See: Help:Images

Enable upload of images
To upload files, three conditions have to be met:


 * 1) FORwiki must have uploads enabled. Set $wgEnableUploads to true.
 * 2) The file type must be allowed. More information: $wgFileExtensions.
 * 3) The user has must be in a group with the "upload" right. By default this is given to all logged-in users.

Uploads are done using Special:Upload.

Image thumbnailing
FORwiki's extended image syntax allows images to be automatically thumbnailed.

GIF
For thumbnailing GIF-Animations under windows, you need to install ImageMagick as described above.

SVG
FORwiki supports SVG image rendering: if enabled, SVG images can be used like other image files: they will automatically be rendered as a PNG file and thumbnailed as needed on the fly.

Deletion of images
Files, like wiki pages, can only be deleted by users with the "delete" permission (sysops by default). Deletion of files is done by deleting the associated description page (or by clicking the "delete all versions" link).

Deletion of individual revision
If a file has been altered, there is a revision history of the files which is displayed on the file article page. Each revision has a "delete" link. If this is clicked, the revision and the file are deleted.

The versions of files are separate from the page history of the file description page.

Information about old revisions of files are stored in the oldimage table.

Data storage
Whenever an image is uploaded, several things are created:


 * 1) An article in the file namespace with the name of the file, e.g. File:MyPicture.png. This page is stored and can be edited like any other page.
 * 2) The file itself is stored in a folder on the file system.
 * 3) If necessary and thumbnailing is available, thumbnailed versions of the file will be created when necessary (such as for the usage on the file description page. These are stored in the thumb directory of the image directory, in a separate directory for each main file.

If $wgHashedUploadDirectory is enabled (by default), FORwiki creates several subdirectories in the images directory.

The directory names are from the first two characters of the md5 hash of the final filename.

Folders
All image files are stored in a separate folder, set by $wgUploadPath.

Description of named image subfolders:


 * archive: This is the storage place for files that have been replaced by newer versions.
 * temp: used for image uploading.
 * thumb: Thumbnails (automatically generated) for the files. If these are deleted, they are automatically regenerated when needed.

Depending on the configuration, there may be additional image subfolders:
 * math: Folder to store your rendered TeX input.

Space usage
Files need considerably more space than articles. The following calculations assume a block size of 4KB with Linux/Unix servers.

The default setting is $wgHashedUploadDirectory = true.

Space requirements for all directories:


 * image directories: 0-f/x0-f: max. 16*16 = 256 directories = 256*4 KB = 1024 KB
 * archive directories: 0-f/x0-f: max. 16*16 = 256 directories = 256*4 KB = 1024 KB
 * thumb directories: 0-f/x0-f: max. 16*16 = 256 directories = 256*4 KB = 1024 KB
 * temp directories: 0-f/x0-f: max. 16*16 = 256 directories = 256*4 KB = 1024 KB

Therefore, the basic amount of space needed without any images uploaded is 4 MB in theory (although the directories are created only when needed).

For each file we need:
 * size of the original image file + 2 KB average overhead

For files that need to be thumbnailed:
 * size of the created thumbnail(s) + 2 KB average overhead (each)
 * directory for thumbnail (4KB) (each image has its own thumbnail directory)

Examples:
 * image 20778 Byte png (small size, no thumb): 24 KB for the image: Total 24 KB
 * image 123.000 Byte jpeg (big size, auto thumb): 124 KB for the image, 4KB for the thumb directory, 64 KB for the thumb: Total: 192 KB

File Access
Uploaded files are generally served directly by the web server, not through FORwiki. While there may be a minimal level of security through obscurity with path encryption (eg. /c/c4/...) if $wgHashedUploadDirectory is set, the path can be calculated easily from the file name and does not provide true protection.

Licensing
A feature of Foresight Wiki allows the Special:Upload Page to streamline licensing of images. Foresight Wiki's Upload Page has a Licensing drop down box below image summary.

Licenses expects a certain format in a wiki list.

Line 1 will produce "License text" and substitute the license 1 template in the image page and transclude license 2.

Line 2 will show a greyed out header with text "Header 1:"

Line 3 will produce "Attribution ShareAlike 2.5" and transclude template cc-by-sa-2.5 on the image page.

Foreign Repositories
It is possible to access files stored in foreign repositories, without needing to upload them to the wiki, by setting the $wgForeignFileRepos array. This feature offers several possibilities:
 * ForeignAPIRepo accesses files from a remote MediaWiki installation
 * ForeignDBRepo accesses files through a database, and is useful for creating wiki families
 * FSRepo accesses files from a local folder

In all cases, one would be able to embed files into a page using ordinary image syntax and specifying the name of the file in the foreign repository. Note that some of the above implementations are still experimental, and might not be suitable for production sites.