Problem/Motivation

Media field extraction and mapping is an essential part of media. Examples:
* file size
* mime type
* image colorspace
* video play length
* ...

Currently (contrib media) field extraction is provided by media provider classes, and field mapping is handled by them too.

This means, every media provider implements its own filesize / mimetype / whatever field extraction.
This shoud be pluginified in some way.

Also the current mapping system has no notion of the result type of an extractor. Currently this is no problem as all field extractors are of type text.

Also having default values for fields is not at all media specific and should be done generically. In fact for text fields we already can use tokens for the default value.

Even though media providers in core are experimental, we should not add a feature that is bound to be completely changed.

We should decide
a) when and how to change this
b) in which direction to go

Options might be
a1) move field extraction and mapping into core as is
a2) rework it in the process

b1) drop field mapping and replace it with tokens, which can be used as field default values.
b2) pluginify field providers (and decide to make them media specific)

Proposed resolution

* Create a media_tokens module with all the extractor code from the current media providers
* This can be instantly used to provide field default values (untested, maybe we need some small tweaks)
* Move this to core instead of current field providers and mapping

Remaining tasks

Discuss, decide.

User interface changes

* Field mapping will be obsdoleted.

API changes

* Field provider and mapping API will be obsoleted.

Data model changes

None.

Comments

axel.rutz created an issue. See original summary.