Files and licenses concept/UI

From mediawiki.org

Special:LicenseManager[edit]

Canonical name: <input />
Legal URI:      <input />
Messages:       * ( edit | hist ) MediaWiki:License-CNAME-title
                * ( edit | hist ) MediaWiki:License-CNAME-url
                * ( edit | hist ) MediaWiki:License-CNAME-text

FilePropertiesForm[edit]

User name field will auto-complete, with suggestions with all available usernames. The attribution field will be autofilled with the real name from the username (if available and if author was a wiki-user). On submit, if the attribution is equal to the real name, it will save a NULL, so that changes in the real name preference will auto-propagate. The wiki-author field (that was autocompleted) is checked against the database (in case it was altered or in case javascript was off) and the user-id is saved instead of the username (so user renames don't require a bunch of changes)

Remove/Add Author buttons will be submit buttons that trigger a preview and through POST-parameter tells PHP to add/remove somthing. JS will replace them with links so that a new input box can be added without server traffic.

On SpecialUpload the add button will not be available to non-js users [1]. Perhaps that we can provide more than 1 (3?) empty input boxes for them by default.

<form>
	<fieldset>
		<legend>Copyright information</legend>

		<table>		
			<tr>
				<td></th>
				<th>Author</th>
				<th>Attribution</th>
			</tr>
			
			<tr>
				<td style="padding-right: 1em;">Authors:</td>
				<td><input size="40" name="mw-fileprops-username[]" id="mw-fileprops-username1" value="Bryan" /></td>
				<td><input size="40" name="mw-fileprops-attribution[]" id="mw-fileprops-attribution1" value="Bryan Tong Minh" /></td>
				<td><input type="submit" id="mw-fileprops-removeauthor1" value="Remove" /></td>
			</tr>
			<tr>
				<td style="padding-right: 1em;"></td>
				<td><input size="40" name="mw-fileprops-username[]" id="mw-fileprops-username2" value="Catrope" /></td>
				<td><input size="40" name="mw-fileprops-attribution[]" id="mw-fileprops-attribution2" value="Roan Kattouw" /></td>
				<td><input type="submit" id="mw-fileprops-removeauthor2" value="Remove" /></td>
			</tr>
			<tr>
				<td style="padding-right: 1em;"></td>
				<td><input size="40" name="mw-fileprops-username[]" id="mw-fileprops-username3" value="John Doe" /></td>
				<td><input size="40" name="mw-fileprops-attribution[]" id="mw-fileprops-attribution3" value="Museum Foobar / John Doe" /></td>
				<td><input type="submit" id="mw-fileprops-removeauthor3" value="Remove" /></td>
			</tr>
			<tr>
				<td style="padding-right: 1em;"></td>
				<td><input size="40" name="mw-fileprops-username[]" id="mw-fileprops-username4" value="" /></td>
				<td><input size="40" name="mw-fileprops-attribution[]" id="mw-fileprops-attribution4" value="" /></td>
				<td><input type="submit" id="mw-fileprops-addauthor" value="Add" /></td>
			</tr>
			<tr>
				<th></th>
				<th>License name</th>
			<tr>
				<td style="padding-right: 1em;">Licenses:</td>
				<td colspan="2"><input size="40" name="mw-fileprops-license[]" id="mw-fileprops-license1" value="GFDL" /></td>
				<td><input type="submit" id="mw-fileprops-removelicense1" value="Remove" /></td>
			</tr>
			<tr>
				<td style="padding-right: 1em;"></td>
				<td colspan="2"><input size="40" name="mw-fileprops-license[]" id="mw-fileprops-license2" value="CC-BY-SA-3.0" /></td>
				<td><input type="submit" id="mw-fileprops-removelicense2" value="Remove" /></td>
			</tr>
		
		</table>
	</fieldset>
</form>

  1. because there is no way to submit to SpecialUpload with intention to prefil instead of uploading (ie. no errors should appear yet) - perhaps we can create this though ?