Difference between revisions of "Wiki File Resolver"

From Biowikifarm Metawiki
Jump to: navigation, search
(Created page with 'Mediawiki stores its files inside a repository structure, that uses MD5 hashes as part of the file name. This makes direct access to a binary file (image etc.) slightly difficult...')
 
m
Line 1: Line 1:
 
Mediawiki stores its files inside a repository structure, that uses MD5 hashes as part of the file name. This makes direct access to a binary file (image etc.) slightly difficult if you only know the wiki-name of the file (like File:XY.jpg). However, mediawiki also may be configured to use a series of external repositories, including wikimedia commons. When resolving a file like XY.jpg, mediawiki will go through the repository definitions, and returns the file from the first repository containing a name of this file. This behavior is impossible to re-implement without detailed knowledge about the attached repositories.
 
Mediawiki stores its files inside a repository structure, that uses MD5 hashes as part of the file name. This makes direct access to a binary file (image etc.) slightly difficult if you only know the wiki-name of the file (like File:XY.jpg). However, mediawiki also may be configured to use a series of external repositories, including wikimedia commons. When resolving a file like XY.jpg, mediawiki will go through the repository definitions, and returns the file from the first repository containing a name of this file. This behavior is impossible to re-implement without detailed knowledge about the attached repositories.
  
As a solution, the Mobile Key  extension offers a web service that may also be used independently of mobile key developing. This service resolves wiki file names (the binary files for which which may come from local or a variety of attached repositories). It offers the two functions: action=getMediaURL (return URL as string) and action=getMediaFile (directly resolve Media file).
+
As a solution, the Mobile Key  extension offers a web service that may also be used independently of mobile key developing. This service resolves wiki file names (the binary files for which may come from local or a variety of attached repositories). It offers the two functions: action=getMediaURL (return URL as string) and action=getMediaFile (directly resolve Media file).
  
 
The first returns a single string, which is the URL to the media file, setting MIME type to text, the second returns the binary media file, setting MIME type to image/xxx. Optionally a width parameter can be set for both, in which case a thumb will be dynamically rendered.
 
The first returns a single string, which is the URL to the media file, setting MIME type to text, the second returns the binary media file, setting MIME type to image/xxx. Optionally a width parameter can be set for both, in which case a thumb will be dynamically rendered.

Revision as of 08:00, 8 June 2010

Mediawiki stores its files inside a repository structure, that uses MD5 hashes as part of the file name. This makes direct access to a binary file (image etc.) slightly difficult if you only know the wiki-name of the file (like File:XY.jpg). However, mediawiki also may be configured to use a series of external repositories, including wikimedia commons. When resolving a file like XY.jpg, mediawiki will go through the repository definitions, and returns the file from the first repository containing a name of this file. This behavior is impossible to re-implement without detailed knowledge about the attached repositories.

As a solution, the Mobile Key extension offers a web service that may also be used independently of mobile key developing. This service resolves wiki file names (the binary files for which may come from local or a variety of attached repositories). It offers the two functions: action=getMediaURL (return URL as string) and action=getMediaFile (directly resolve Media file).

The first returns a single string, which is the URL to the media file, setting MIME type to text, the second returns the binary media file, setting MIME type to image/xxx. Optionally a width parameter can be set for both, in which case a thumb will be dynamically rendered.

Examples:

From ForeignAPIRepo wikimediacommons:
http://biowikifarm.net/metawiki/index.php?title=Special:MobileKey&action=getMediaURL&objectName=File:PelobatesFuscus.jpg
http://biowikifarm.net/metawiki/index.php?title=Special:MobileKey&action=getMediaFile&objectName=File:PelobatesFuscus.jpg&width=200
From ForeignDBRepos:
http://biowikifarm.net/metawiki/index.php?title=Special:MobileKey&action=getMediaURL&objectName=File:Blatt%20gelappt.svg&width=400
http://biowikifarm.net/metawiki/index.php?title=Special:MobileKey&action=getMediaFile&objectName=File:Blatt%20gelappt.svg&width=400
http://biowikifarm.net/metawiki/index.php?title=Special:MobileKey&action=getMediaURL&objectName=File:Mauerraute.jpg&width=200
http://biowikifarm.net/metawiki/index.php?title=Special:MobileKey&action=getMediaFile&objectName=File:Mauerraute.jpg