Talk:Multilingual files uploader
Ideas from Alec:
Some ideas for multilingual file uploads: 1 - Use a modal for all multilingual file uploads. Have each possible language appear as a tab within the modal.
2 - Use a minimalist upload tool (less real estate) instead of plupload and use the same popover approach as we use for other multilingual inputs.
3 - Use the batch upload capabilities of plupload and then add a subsequent interface to associate images with languages.
Comments from Juan:
1 - This will get clunky, I think. 2 - This would be my preferred approach, but we need to identify a good widget. I suggest this is a good time to scour the internet for alternatives to plupload. 3 - This one is likely significantly more complicated and problematic from the implementation point of view.
Comments from Jason:
3 - How would that work? If a user is uploading a directory full of files, they're going to need to edit each one either during that process or afterwards, in order to add metadata. In the former case, its not really batch. In the latter, we're allowing files to exist at least temporarily with no metadata assigned to them other than what we can glean during upload.
From Alec about the other file types widget mode:
We don't have a good pattern for the following common set of elements:
1 - File upload field/widget to replace existing file, or upload initial version if creating new content
2 - Link or preview to allow download of current version, if any
3 - Indication of data re: existing file (name, MIME type, size...)
4 - Delete action, for situations where the file upload is optional (e.g. issue covers)
The differences between image uploads and non-image uploads are... 5 - Image uploads need to present an "alt text" field
6 - Image uploads can contain image previews, potentially with a download link; other types just have a download link
Related to Alec's last comments:
1 - The replace action can be added to this widget. If user clicks on it, then it has just to upload a file, the other extra information about the file will remain (alternate text, for example). Initial file upload can be done by clicking into the upload action. I will create more images to show this.
2 - User can download the file by clicking on the filename (it's a link) or clicking on the image.
3 - This can be accessed clicking on the info action. We can present all the information related to the file inside an information modal.
4 - We already have a delete action in the proposal.
5 - That's already covered by the proposal.
Proposal to use grids with multilingual rows (the current images inside the main page DOESN'T reflect this proposal):
The current proposal is kind of using a grid structure to present the items, even if it's a simpler one. So maybe it makes sense to reuse our current grid structure to present multilingual items. The current grid structure handles well file uploading and it's a very common widget that users will have to understand to work.
We can use grids the way they are right now to handle multilingual file uploads. But the main problem that I am trying to solve is how to group the multilingual items so user will know which ones are associated (which ones are multilingual versions of the primary locale one). I think that we can't rely on filename to let users make that distinction themselves. If we use something like a popover inside the grid it will be much easier for users to handle this and, again, we will use a common pattern used elsewhere (the multilingual popover).
Maybe we can create multilingual rows for grids. It will also have a multiliingual icon, and when users mouse over the other locales will be visible. The grid add action will first add an item into the primary locale (the required one). This is a little different from the other multilingual controls, but it's necessary so we can avoid validating user actions after something it's done. I think that's important to keep the feeling that actions inside the grid are saved in real time, so anything that's not possible to be done should be forbidden. This will also avoid a lot of extra work, like deleting files already uploaded if user cancelled the action instead of saving, etc.
After adding an item for the primary locale, users can add multilingual versions by clicking the grid add action again and choosing to add a localized version of the existing item inside the grid. If they don't want to upload a localized version of an existing item, they can just do the normal upload.
Users can add localized versions of existing items also interacting directly with the localized rows, what I think it will be a lot easier. Once they upload an item for the primary locale, a multilingual row will be visible and they can mouse over and interact with the other localized rows.
If there is no item to show for the interface locale, then we can present the item for the primary locale but with a different background, so this and the flag of the primary locale will make it clear to users that the data for the current locale is missing.
Maybe a multilingual popover action might be useful too, something like delete all, so users can delete an item and it's localized versions with just one click.