{"id":21277944,"url":"https://github.com/b13/otf","last_synced_at":"2025-07-11T08:32:12.306Z","repository":{"id":43789907,"uuid":"426983917","full_name":"b13/otf","owner":"b13","description":"TYPO3 Extension for on-the-fly evaluation hints in FormEngine","archived":false,"fork":false,"pushed_at":"2022-03-02T15:07:06.000Z","size":72,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":8,"default_branch":"main","last_synced_at":"2024-11-06T15:23:42.793Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/b13.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-11-11T11:56:51.000Z","updated_at":"2022-09-22T21:48:27.000Z","dependencies_parsed_at":"2022-08-22T02:21:35.370Z","dependency_job_id":null,"html_url":"https://github.com/b13/otf","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fotf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fotf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fotf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b13%2Fotf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/b13","download_url":"https://codeload.github.com/b13/otf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225708281,"owners_count":17511635,"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":[],"created_at":"2024-11-21T10:08:20.546Z","updated_at":"2024-11-21T10:08:21.082Z","avatar_url":"https://github.com/b13.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OTF - A TYPO3 extension to display on-the-fly evaluation hints in FormEngine\n\nThis TYPO3 extension allows to add a FormEngine FieldWizard to specific\nTCA fields. The FieldWizard checks the corresponding fields for their\n`eval` configuration. If one or multiple supported evaluations are found,\nthe FieldWizard displays on-the-fly evaluation hints in the backend form.\n\nAn example use case is the `username` field of `fe_users`, which is\nconfigured as `unqiueInPid` and would therefore add a hint, as soon\nas an already existing username is entered.\n\n## Installation\n\nInstall this extension via `composer req b13/otf`.\n\nYou can also download the extension from the\n[TYPO3 Extension Repository](https://extensions.typo3.org/extension/otf/) and\nactivate it in the Extension Manager of your TYPO3 installation.\n\nNote: This extension is compatible with TYPO3 v10 and v11.\n\n## Configuration\n\nThe FieldWizard can be added to any TCA field of type ``input``.\n\nThe following example adds the FieldWizard to the `username` and `email`\nfields of the TYPO3 `fe_users` table.\n\n```php\n\u003c?php\n\ndefined('TYPO3') or die();\n\n\\TYPO3\\CMS\\Core\\Utility\\GeneralUtility::makeInstance(\\B13\\Otf\\Tca\\Registry::class)\n    -\u003eregisterFields(\n        new \\B13\\Otf\\Tca\\Configuration('fe_users',\n            new \\B13\\Otf\\Tca\\Field('username'),\n            new \\B13\\Otf\\Tca\\Field('email')\n        )\n    );\n```\n\nIn case you want to add the FieldWizard to a field, which does not yet\ndefine any supported evaluation, you can simply add new evaluations to\nthe `Field`.\n\n````php\n\u003c?php\n\ndefined('TYPO3') or die();\n\n\\TYPO3\\CMS\\Core\\Utility\\GeneralUtility::makeInstance(\\B13\\Otf\\Tca\\Registry::class)\n    -\u003eregisterFields(\n        new \\B13\\Otf\\Tca\\Configuration('fe_users',\n            (new \\B13\\Otf\\Tca\\Field('email'))-\u003eaddEvaluations('uniqueInPid', 'email')\n        )\n    );\n````\n\nIt's also possible to remove existing evaluations with the\n`-\u003eremoveEvaluations()` method.\n\nThe above examples are for the use in `TCA/Overrides` files. In your own\nTCA, simply add the FieldWizard to your field's configuration directly:\n\n````php\n'aField' =\u003e [\n    'label' =\u003e 'aField',\n    'config' =\u003e [\n        'type' =\u003e 'input',\n        'eval' =\u003e 'trim,required,unique',\n        'fieldWizard' =\u003e [\n            'otfWizard' =\u003e [\n                'renderType' =\u003e 'otfWizard'\n            ]\n        ]\n    ]\n]\n````\n\n\n### Supported evaluations\n\nCurrently, following evaluations are supported:\n\n* `unique`\n* `uniqueInPid`\n* `email`\n\n### Administration\n\nThe behaviour of the on-the-fly evaluation hints can be configured with\nUser TSconfig. Following options are available:\n\n* `tx_otf.conflictingRecordLink` - Whether a link to the confliciting record should be displayed (Default: `1`)\n\n### Registration API\n\nYou can register your own evaluation services to handle additional `eval`s.\nTherefore, create a new evaluation service class which implements the\n`EvaluationInterface`. The class will then automatically be tagged and\nregistered. Additionally, you can extend `AbstractEvaluation`, which\nalready implements some required methods.\n\n## Credits\n\nThis extension was created by Oliver Bartsch in 2021 for [b13 GmbH, Stuttgart](https://b13.com).\n\n[Find more TYPO3 extensions we have developed](https://b13.com/useful-typo3-extensions-from-b13-to-you)\nthat help us deliver value in client projects. As part of the way we work,\nwe focus on testing and best practices to ensure long-term performance,\nreliability, and results in all our code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb13%2Fotf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fb13%2Fotf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb13%2Fotf/lists"}