<table><tr><td style="">bruns created this revision.<br />bruns added reviewers: Baloo, Frameworks, ngraham, astippich, poboiko.<br />Herald added projects: Frameworks, Baloo.<br />Herald added a subscriber: kde-frameworks-devel.<br />bruns requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D19109">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>This adds extractor metadata in a backwards and forward compatible way.</p>

<p>There are several use cases for this metadata:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">Delayed loading of extractor plugins - currently, all extractors are loaded and and initialized when an ExtractorCollection is created.</li>
<li class="remarkup-list-item">Versioning information - e.g. Baloo would benefit from versioning information, to reindex affected files after an extractor has been updated.</li>
</ul>

<p>Although it would be possible to extend the extractor plugin interface<br />
with a method for each relevant property, it would require a bump of<br />
the plugin inteface version each time the interface is extended.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>ctest</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R286 KFileMetaData</div></div></div><br /><div><strong>BRANCH</strong><div><div>extractor_properties</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D19109">https://phabricator.kde.org/D19109</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>autotests/CMakeLists.txt<br />
autotests/extractorcollectiontest.cpp<br />
src/extractor.cpp<br />
src/extractor.h<br />
src/extractor_p.h<br />
src/extractorcollection.cpp<br />
src/extractorcollection.h<br />
src/extractors/CMakeLists.txt<br />
src/extractors/epubextractor.h<br />
src/extractors/epubextractor.json<br />
src/extractors/exiv2extractor.h<br />
src/extractors/exiv2extractor.json.in<br />
src/extractors/ffmpegextractor.h<br />
src/extractors/ffmpegextractor.json<br />
src/extractors/mobiextractor.h<br />
src/extractors/mobiextractor.json<br />
src/extractors/odfextractor.h<br />
src/extractors/odfextractor.json<br />
src/extractors/office2007extractor.h<br />
src/extractors/office2007extractor.json<br />
src/extractors/officeextractor.h<br />
src/extractors/officeextractor.json<br />
src/extractors/plaintextextractor.h<br />
src/extractors/plaintextextractor.json<br />
src/extractors/poextractor.h<br />
src/extractors/poextractor.json<br />
src/extractors/popplerextractor.h<br />
src/extractors/popplerextractor.json<br />
src/extractors/postscriptdscextractor.h<br />
src/extractors/postscriptdscextractor.json<br />
src/extractors/taglibextractor.h<br />
src/extractors/taglibextractor.json<br />
src/extractors/xmlextractor.h<br />
src/extractors/xmlextractor.json</div></div></div><br /><div><strong>To: </strong>bruns, Baloo, Frameworks, ngraham, astippich, poboiko<br /><strong>Cc: </strong>kde-frameworks-devel, ashaposhnikov, michaelh, astippich, spoorun, ngraham, bruns, abrahams<br /></div>