-
Notifications
You must be signed in to change notification settings - Fork 2
F20105
Yannouk edited this page Jul 5, 2012
·
1 revision
- Abstraction level: Low
- State: In progress
- ID: F20105
- Story: User uploads a file
- Priority: Critical
-
Development Time: 1,5 week
- Started: 2012/01/04
- Finish: planned 2012/01/13
- Maintenance Time: 0
- none
- none
- none
- a user friendly interface
- > display only things functionally required, for example "help us translate" or "bug list" links
- > no tutorial (the current functionality of uploading is very simple, no need to explain what it is)
- > change the default UploadWizard text to labels more common, for example "téléverser" in french can be replaced by "envoyer"
- the user can set for each file
- the license
- the read right
- everyone: everyone can set this right
- private (only the owner can read it): only member of core group U20 Users can set this right
- the edit right
- everyone: everyone can set this right
- private (only the owner can edit it): only member of core group U20 Users can set this right
- The file is stored on seizam server.
- It is based on UploadWizard Mediawiki extension (the original extension code is modified)
- there are 3 mediawiki components which can do the upload job:
- the MediaWiki core functionality, using Special:Upload
- the UploadWizard extension, using Special:UploadWizard
- this is mainly a javascript frontend using UploadStash through api.php content file upload method
- via the API, using one of the api.php methods:
- Upload file contents directly, using the "file" parameter
- Upload from a URL, using the "url" parameter
- Complete an earlier upload that failed due to warnings, using the "filekey" parameter
- All methods require an account with the "upload" right.
- Whenever an image is uploaded, several things are created:
- 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.
- The file itself is stored in a folder on the file system.
- 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.
- The directory names where the files are stored are from the first two characters of the md5 hash of the final filename.
- Since MediaWiki version 1.11, archiving deleted images/files (and thus undeleting them) is enabled per default and the behavior is controlled by $wgFileStore.
- Information about deleted images are stored in the filearchive table.
- Database tables used:
- The file description page is stored as any page in the page, text, revision etc. tables
- image table: Holds some metadata such as the size of the file and the upload date.
- oldimage table: This is stores information for files that have been replaced with newer versions.
- filearchive table: holds the information on the deleted files.
- imagelinks table: Records what pages use a file.
-
non javascript compatibility
- when uploadwizard detects that javascript is not available, it redirects automatically to Special:Upload basic form
- > Special:UploadWizard AND Special:Upload have to been developped at the same time with same functionalities
- the user can set a read paid content right
- she can set the price, used then by F10410 Everyone buys content
- is this involves that only the owner can then edit the file ?
- each user has a Seizam disk space quota
- when someone wants to uploads a file, she is warned if her quota is reached almost / exceeded
- if the quota is exceeded, the user can still upload a file, but with a certain limit
- when quota is exceeded and upper limit reached, no more downloads are allowed