Skip to content

Commit cf87360

Browse files
committed
AOS-295: Update the module to apply when FileExtension is applied
1 parent 9ac6fa5 commit cf87360

File tree

7 files changed

+10
-29
lines changed

7 files changed

+10
-29
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,12 @@ SilverStripe\Forager\Service\IndexConfiguration:
110110

111111
### File attachments for content extraction
112112

113-
Firstly, you will need to set this environment variable. This will apply an extension to the `File` class, and allow you to use the `_attachment` field (detailed below).
113+
Firstly, you will need to apply the FileExtension extension onto Files. This extension will allow you to use the `_attachment` field (detailed below).
114114

115115
```yaml
116-
SEARCH_INDEX_FILES=1
116+
SilverStripe\Assets\File:
117+
extensions:
118+
ForagerBifrostFileExtension: SilverStripe\ForagerBifrost\Extensions\FileExtension
117119
```
118120

119121
Silverstripe Search supports content extraction for many different file types. These can be attached to your Documents using an `_attachment` field of type `binary`.

_config/extensions.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
---
22
Name: forager-bifrost-extensions
33
---
4-
SilverStripe\Assets\File:
5-
extensions:
6-
ForagerBifrostFileExtension: SilverStripe\ForagerBifrost\Extensions\FileExtension
7-
84
SilverStripe\AssetAdmin\Forms\FileFormFactory:
95
extensions:
106
ForagerBifrostFileFormExtension: SilverStripe\ForagerBifrost\Extensions\FileFormExtension

src/Extensions/FileExtension.php

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
use SilverStripe\Assets\Image;
88
use SilverStripe\Core\Convert;
99
use SilverStripe\Core\Extension;
10-
use SilverStripe\Core\Injector\Injector;
11-
use SilverStripe\Forager\Extensions\SearchServiceExtension;
1210
use SilverStripe\ForagerBifrost\Constants\SearchFile;
1311

1412
/**
@@ -35,12 +33,6 @@ class FileExtension extends Extension
3533
*/
3634
public function updateSearchAttributes(array &$attributes = []): void
3735
{
38-
$fileClass = Injector::inst()->get(File::class);
39-
40-
if (!$fileClass->hasExtension(SearchServiceExtension::class)) {
41-
return;
42-
}
43-
4436
if (!isset($attributes['_attachment'])) {
4537
return;
4638
}
@@ -68,12 +60,6 @@ public function getBase64String(): ?string
6860

6961
public function onBeforeWrite(): void
7062
{
71-
$fileClass = Injector::inst()->get(File::class);
72-
73-
if (!$fileClass->hasExtension(SearchServiceExtension::class)) {
74-
return;
75-
}
76-
7763
$file = $this->getOwner();
7864

7965
// Marks images and folders with zero content to exclude them from report generation

src/Extensions/FileFormExtension.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
use SilverStripe\Control\RequestHandler;
88
use SilverStripe\Core\Extension;
99
use SilverStripe\Core\Injector\Injector;
10-
use SilverStripe\Forager\Extensions\SearchServiceExtension;
1110
use SilverStripe\ForagerBifrost\Constants\SearchFile;
1211
use SilverStripe\Forms\FieldList;
1312
use SilverStripe\Forms\Form;
@@ -31,7 +30,7 @@ public function updateForm(
3130
): void {
3231
$fileClass = Injector::inst()->get(File::class);
3332

34-
if (!$fileClass->hasExtension(SearchServiceExtension::class)) {
33+
if (!$fileClass->hasExtension(FileExtension::class)) {
3534
return;
3635
}
3736

src/Reports/LargeDocumentReport.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
use SilverStripe\Assets\File;
66
use SilverStripe\Core\Injector\Injector;
7-
use SilverStripe\Forager\Extensions\SearchServiceExtension;
87
use SilverStripe\ForagerBifrost\Constants\SearchFile;
8+
use SilverStripe\ForagerBifrost\Extensions\FileExtension;
99
use SilverStripe\Model\List\SS_List;
1010
use SilverStripe\Reports\Report;
1111

@@ -24,7 +24,7 @@ class LargeDocumentReport extends Report
2424
public function description(): string
2525
{
2626
if (!$this->isReportActive()) {
27-
return 'This report requires the SearchServiceExtension being applied to Files.';
27+
return 'This report requires the FileExtension being applied to Files.';
2828
}
2929

3030
return sprintf(
@@ -65,7 +65,7 @@ private function isReportActive(): bool
6565
{
6666
$fileClass = Injector::inst()->get(File::class);
6767

68-
return $fileClass->has_extension(SearchServiceExtension::class);
68+
return $fileClass->has_extension(FileExtension::class);
6969
}
7070

7171
}

tests/Extensions/FileExtensionTest.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
use SilverStripe\Assets\Dev\TestAssetStore;
66
use SilverStripe\Assets\File;
77
use SilverStripe\Assets\Folder;
8-
use SilverStripe\Core\Environment;
98
use SilverStripe\Dev\SapphireTest;
109
use SilverStripe\Forager\Extensions\SearchServiceExtension;
1110
use SilverStripe\ForagerBifrost\Extensions\FileExtension;

tests/Reports/LargeDocumentReportTest.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
use SilverStripe\Assets\Dev\TestAssetStore;
66
use SilverStripe\Assets\File;
7-
use SilverStripe\Core\Environment;
87
use SilverStripe\Dev\SapphireTest;
98
use SilverStripe\Forager\Extensions\SearchServiceExtension;
109
use SilverStripe\ForagerBifrost\Extensions\FileExtension;
@@ -38,7 +37,7 @@ public function testDescription(): void
3837
// Removing extension should result in a new description
3938
$this->removeFileExtension();
4039
$this->assertEquals(
41-
'This report requires the SearchServiceExtension being applied to Files.',
40+
'This report requires the FileExtension being applied to Files.',
4241
$report->description()
4342
);
4443

@@ -91,7 +90,7 @@ public function testSourceRecords(): void
9190

9291
protected function removeFileExtension(): void
9392
{
94-
File::remove_extension(SearchServiceExtension::class);
93+
File::remove_extension(FileExtension::class);
9594
}
9695

9796
protected function setUp(): void

0 commit comments

Comments
 (0)