Project

General

Profile

Actions

Feature #49714

closed

Localizable FAL file records

Added by Andreas Wolf over 11 years ago. Updated almost 10 years ago.

Status:
Rejected
Priority:
Must have
Assignee:
-
Category:
File Abstraction Layer (FAL)
Target version:
-
Start date:
2013-07-05
Due date:
% Done:

0%

Estimated time:
PHP Version:
Tags:
Complexity:
medium
Sprint Focus:

Description

Currently, FAL does not support localization of files in any way. As this is a nearly must-have feature, we should definitely support it in FAL.

The plan is to make the metadata of files (title, description,...) localizable by using the standard TYPO3 means. Therefore, we have to split the file information into two tables:

  1. the sys_file table which contains all information that belongs to the physical file (size, hash, change date, ...).
  2. a sys_file_metadata table which contains all additional information provided by the users

The sys_file record should be included in the metadata records via an IRRE relation or a custom user field. This would also enable us to later on exchange a file in one language with a localized file.

Relations are still made to a sys_file record which then gets coupled with the metadata record in the correct language.

Actions #1

Updated by Andreas Wolf over 11 years ago

As discussed with Benni Mack at T3DD13, we might take this as a chance to implement proper locale handling first. This would mean to localize files with a locale instead of the sys_language_uid, as the language behind a sys_language_uid is not always the same throughout one installation (think of multi-tree sites where each site has a different language as default [sys_language_uid 0]). In this case, selecting the files by sys_language_uid will fail for at least one of the two sites, as it will return a wrong language.

The better concept is to implement locales now. The idea is to add them to the sys_language records and do a mapping between the locale and the uid in TCEmain where necessary.

A PoC implementation for locale support already exists. A remaining problem is how to fetch the translations. This will be rather easy for sys_file_metadata records, as they all belong to one "parent" sys_file record, but may be harder when we want to allow the localized records to point to a different file.

Actions #2

Updated by Gerrit Code Review over 11 years ago

  • Status changed from Accepted to Under Review

Patch set 1 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/22835

Actions #3

Updated by Andreas Wolf over 11 years ago

Questions raised by SteffenR in the review request on Gerrit:

  • migration script?

For sys_file_metadata? Should be a simple "INSERT INTO ... VALUES (SELECT FROM ...")

  • how could that be used?

"That"?

  • listing of translations like in normal list module?

Should be no problem, as we have a 1:1 mapping between sys_language records and locales currently

  • right of editors for languages?

See above, can be used from sys_language records

  • how to deal with workspaces

Have not looked at that, but I don't think this is

  • language mapping in backend

possibly a default locale for a user(group), or make it switchable

  • language service in non-backend concept

That shouldn't be too hard to implement, just take out all BE-only method calls

  • info popups?

Have to respect the locale field, like DataHandler does.

  • sys_file_reference "Vorbelegungen" (placeholder aus related Records)

Can be taken from sys_file or sys_file_metadata, there's no difference there (just that the correct sys_file_metadata record has to be loaded)

  • Sprachvarianten Datei?

File could easily be replaced for a specific language with an updated file_uid value. Only problem is the relation between the two files then (and that we have to do an additional lookup probably)

  • API php seitig

Not implemented currently; what API do we need for this concept? The DataHandler part is already there, as (partly) is the "create localization" feature in EditDocumentController.

  • search for missing translations

Not implemented currently

  • overlays // fallback

Fallback chaining could be taken from the sys_language records (field "fallback language" there which points to sys_language)

Actions #4

Updated by Andreas Wolf over 11 years ago

Andreas Wolf wrote:

  • how could that be used?

"That"?

That's related to a frontend implementation

Actions #5

Updated by Gerrit Code Review about 11 years ago

Patch set 2 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/22835

Actions #6

Updated by Steffen Ritter about 11 years ago

  • Status changed from Under Review to On Hold
  • Assignee deleted (Andreas Wolf)
  • Target version deleted (6.2.0)
Actions #7

Updated by Lorenz Ulrich over 10 years ago

I think this issue can be closed.

Actions #8

Updated by Christian Kuhn almost 10 years ago

  • Status changed from On Hold to Rejected

The pending patch was abandoned after one year without progress. This issue here will be rejected for now since a solution in this area needs a concept and discussion first. This can happen in a new approach, maybe referencing single bits and pieces from this issue here.

Actions

Also available in: Atom PDF