{"id":20213925,"url":"https://github.com/dachcom-digital/pimcore-dynamic-search-data-provider-trinity","last_synced_at":"2025-07-10T13:33:28.888Z","repository":{"id":45346744,"uuid":"193356449","full_name":"dachcom-digital/pimcore-dynamic-search-data-provider-trinity","owner":"dachcom-digital","description":"A Data Fetch Extension for Pimcore Dynamic Search. Crawl Pimcore Data assets, documents and objects.","archived":false,"fork":false,"pushed_at":"2025-01-06T14:36:02.000Z","size":224,"stargazers_count":5,"open_issues_count":3,"forks_count":7,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-05-15T12:11:28.614Z","etag":null,"topics":["fetch","index","pimcore","search"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dachcom-digital.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-23T14:15:22.000Z","updated_at":"2025-03-15T15:38:24.000Z","dependencies_parsed_at":"2023-11-10T15:06:20.430Z","dependency_job_id":"8f84cdce-ec08-4b79-90dc-7c5126927f9d","html_url":"https://github.com/dachcom-digital/pimcore-dynamic-search-data-provider-trinity","commit_stats":{"total_commits":113,"total_committers":7,"mean_commits":"16.142857142857142","dds":0.3982300884955752,"last_synced_commit":"275f7e7ec575748893563515429d0805b5305439"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/dachcom-digital/pimcore-dynamic-search-data-provider-trinity","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dachcom-digital%2Fpimcore-dynamic-search-data-provider-trinity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dachcom-digital%2Fpimcore-dynamic-search-data-provider-trinity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dachcom-digital%2Fpimcore-dynamic-search-data-provider-trinity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dachcom-digital%2Fpimcore-dynamic-search-data-provider-trinity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dachcom-digital","download_url":"https://codeload.github.com/dachcom-digital/pimcore-dynamic-search-data-provider-trinity/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dachcom-digital%2Fpimcore-dynamic-search-data-provider-trinity/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260695692,"owners_count":23048137,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fetch","index","pimcore","search"],"created_at":"2024-11-14T06:12:54.085Z","updated_at":"2025-07-10T13:33:28.864Z","avatar_url":"https://github.com/dachcom-digital.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dynamic Search | Data Provider: Trinity Data\n\n[![Software License](https://img.shields.io/badge/license-GPLv3-brightgreen.svg?style=flat-square)](LICENSE.md)\n[![Software License](https://img.shields.io/badge/license-DCL-white.svg?style=flat-square\u0026color=%23ff5c5c)](LICENSE.md)\n[![Latest Release](https://img.shields.io/packagist/v/dachcom-digital/dynamic-search-data-provider-trinity.svg?style=flat-square)](https://packagist.org/packages/dachcom-digital/dynamic-search-data-provider-trinity)\n[![Tests](https://img.shields.io/github/actions/workflow/status/dachcom-digital/pimcore-dynamic-search-data-provider-trinity/.github/workflows/codeception.yml?branch=master\u0026style=flat-square\u0026logo=github\u0026label=codeception)](https://github.com/dachcom-digital/pimcore-dynamic-search-data-provider-trinity/actions?query=workflow%3ACodeception+branch%3Amaster)\n[![PhpStan](https://img.shields.io/github/actions/workflow/status/dachcom-digital/pimcore-dynamic-search-data-provider-trinity/.github/workflows/php-stan.yml?branch=master\u0026style=flat-square\u0026logo=github\u0026label=phpstan%20level%204)](https://github.com/dachcom-digital/pimcore-dynamic-search-data-provider-trinity/actions?query=workflow%3A\"PHP+Stan\"+branch%3Amaster)\n\nA data fetch extension for [Pimcore Dynamic Search](https://github.com/dachcom-digital/pimcore-dynamic-search). \nFetch pimcore elements by listings: `assets`, `documents` and `objects`.\n\n## Release Plan\n| Release | Supported Pimcore Versions | Supported Symfony Versions | Release Date | Maintained         | Branch                                                                                          |\n|---------|----------------------------|----------------------------|--------------|--------------------|-------------------------------------------------------------------------------------------------|\n| **3.x** | `11.0`                     | `^6.4`                     | 28.09.2023   | Feature Branch     | master                                                                                          |\n| **2.x** | `10.0` - `10.6`            | `^5.4`                     | 19.12.2021   | No                 | [1.x](https://github.com/dachcom-digital/pimcore-dynamic-search-data-provider-trinity/tree/2.x) |\n| **1.x** | `6.6` - `6.9`              | `^4.4`                     | 18.04.2021   | No                 | [1.x](https://github.com/dachcom-digital/pimcore-dynamic-search-data-provider-trinity/tree/1.x) |\n\n***\n\n## Installation  \n```json\n\"require\" : {\n    \"dachcom-digital/dynamic-search\" : \"~3.0.0\",\n    \"dachcom-digital/dynamic-search-data-provider-trinity\" : \"~3.0.0\"\n}\n```\n\n### Dynamic Search Bundle\nYou need to install / enable the Dynamic Search Bundle first.\nRead more about it [here](https://github.com/dachcom-digital/pimcore-dynamic-search#installation).\nAfter that, proceed as followed:\n\nAdd Bundle to `bundles.php`:\n```php\n\u003c?php\n\nreturn [\n    \\DsTrinityDataBundle\\DsTrinityDataBundle::class =\u003e ['all' =\u003e true],\n];\n```\n\n***\n\n## Publishing State\n**This Bundle will fetch unpublished elements by default**. This is crucial and also a problematic fact.\nRead more about it [here](./docs/10_publishUnpublishedElements.md) to learn how to handle the publishing state of pimcore elements.\n\n## Basic Setup\n\n```yaml\ndynamic_search:\n    context:\n        default:\n            data_provider:\n                service: 'trinity_data'\n                options:\n                    always:\n                        index_object: true\n                        object_class_names:\n                            - TestClass\n                        index_document: true\n                        index_asset: false\n                    full_dispatch:\n                        object_limit: 20\n                        document_limit: 10\n                normalizer:\n                    service: 'trinity_localized_resource_normalizer'\n```\n\n***\n\n## Provider Options\n\n### always\n\n| Name                               | Default Value                           | Description |\n|:-----------------------------------|:----------------------------------------|:------------|\n| `index_asset`                      | false                                   |             |\n| `asset_data_builder_identifier`    | true                                    |             |\n| `asset_types`                      | `Asset::getTypes()`, except folder      |             |\n| `asset_additional_params`          | []                                      |             |\n|                                    |                                         |             |\n| `index_object`                     | false                                   |             |\n| `object_data_builder_identifier`   | 'default'                               |             |\n| `object_types`                     | `DataObject::getTypes()`, except folder |             |\n| `object_class_names`               | []                                      |             |\n| `object_additional_params`         | []                                      |             |\n|                                    |                                         |             |\n| `index_document`                   | false                                   |             |\n| `document_data_builder_identifier` | 'default'                               |             |\n| `document_types`                   | `Document::getTypes()`, except folder   |             |\n| `document_additional_params`       | []                                      |             |\n\n### full_dispatch\n\n| Name             | Default Value | Description |\n|:-----------------|:--------------|:------------|\n| `asset_limit`    | 0             |             |\n| `object_limit`   | 0             |             |\n| `document_limit` | 0             |             |\n\n***\n\n## Resource Normalizer\n\n### trinity_default_resource_normalizer\nScaffold simple documents\nOptions: none\n\n### trinity_localized_resource_normalizer\nScaffold localized documents\n\nOptions:\n\n| Name                           | Default Value                 | Allowed Type | Description                                                           |\n|:-------------------------------|:------------------------------|:-------------|:----------------------------------------------------------------------|\n| `locales`                      | all pimcore enabled languages | array        |                                                                       |\n| `skip_not_localized_documents` | true                          | bool         | if false, an exception rises if a document/object has no valid locale |\n\n***\n\n## Transformer\n\n### Scaffolder\n\n##### TrinityDataScaffolder\nIdentifier: `trinity_data_scaffolder`   \nSimple object scaffolder.   \nSupported types: `Asset`, `Document`, `DataObject\\Concrete`.\n\n### Field Transformer\n\n##### ElementIdExtractor\nIdentifier: `element_id_extractor`   \nReturns id of element   \n\nReturn Type: `string|int|null`   \nOptions: none   \n\n##### ElementPropertyExtractor\nIdentifier: `element_property_extractor`   \nReturns element property.   \n\nReturn Type: `string|null`   \nOptions:   \n\n| Name                    | Default Value | Allowed Type | Description |\n|:------------------------|:--------------|:-------------|:------------|\n| `property`              | null          | string       |             |\n| `object_getter`         | null          | null         | string      |\n| `allow_inherited_value` | true          | bool         |             |\n\n\n##### NormalizerValueCallback\nIdentifier: `normalizer_value_callback`   \nReturns given option `value`.   \n\nReturn Type: `string|null`   \nOptions:   \n\n| Name    | Default Value | Allowed Type | Description |\n|:--------|:--------------|:-------------|:------------|\n| `value` | null          | string       |             |\n\n##### ObjectGetterExtractor\nIdentifier: `object_getter_extractor`   \nReturns value of object getter.   \n\nReturn Type: `bool|int|float|string|array|null`   \nOptions:   \n\n| Name                 | Default Value | Allowed Type  | Description                                     |\n|:---------------------|:--------------|:--------------|:------------------------------------------------|\n| `method`             | id            | string        |                                                 |\n| `arguments`          | []            | array         |                                                 |\n| `clean_string`       | true          | bool          | cleans HTML and whitespace (if value is string) |\n| `transform_callback` | null          | null\\|closure | a callback function for further value transform |\n\n##### ObjectRelationsGetterExtractor\nIdentifier: `object_relations_getter_extractor`   \nReturns values of object relations getter.   \n\nReturn Type: `array|null`   \nOptions:   \n\n| Name        | Default Value | Allowed Type | Description |\n|:------------|:--------------|:-------------|:------------|\n| `relations` | null          | string       |             |\n| `method`    | id            | string       |             |\n| `arguments` | []            | array        |             |\n\n\n##### ObjectPathGenerator\nIdentifier: `object_path_generator`   \nReturns object path generated by link generator.   \n\nReturn Type: `string|null`   \nOptions:   \n\n| Name                       | Default Value | Allowed Type | Description                                                                                                     |\n|:---------------------------|:--------------|:-------------|:----------------------------------------------------------------------------------------------------------------|\n| `arguments`                | []            | array        |                                                                                                                 |\n| `fetch_object_for_variant` | false         | bool         | If true and object is type of `variant` the next parent gets fetched first until type `object` has been reached |\n\n##### DocumentMetaExtractor\nIdentifier: `document_meta_extractor`   \nReturns documents meta title or description.   \n\nReturn Type: `string|null`   \nOptions:   \n\n| Name   | Default Value | Allowed Type | Description                              |\n|:-------|:--------------|:-------------|:-----------------------------------------|\n| `type` | title         | string       | Possible Types: `title` or `description` |\n\n##### DocumentPathGenerator\nIdentifier: `document_path_generator`   \nReturns real full path of document   \n\nReturn Type: `string|null`   \nOptions: none   \n\n##### PdfDataExtractor\nIdentifier: `asset_pdf_extractor`   \nExtracts pdf content with ghostscript   \n\nReturn Type: `string|null`   \nOptions: none\n\n##### AssetPathGenerator\nIdentifier: `asset_path_generator`   \nReturns real full path of document   \n\nReturn Type: `string|null`   \nOptions: none   \n\n***\n\n## Upgrade Info\nBefore updating, please [check our upgrade notes!](./UPGRADE.md)  \n\n## License\n**DACHCOM.DIGITAL AG**, Löwenhofstrasse 15, 9424 Rheineck, Schweiz  \n[dachcom.com](https://www.dachcom.com), dcdi@dachcom.ch  \nCopyright © 2025 DACHCOM.DIGITAL. All rights reserved.  \n\nFor licensing details please visit [LICENSE.md](LICENSE.md)  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdachcom-digital%2Fpimcore-dynamic-search-data-provider-trinity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdachcom-digital%2Fpimcore-dynamic-search-data-provider-trinity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdachcom-digital%2Fpimcore-dynamic-search-data-provider-trinity/lists"}