{"id":19640603,"url":"https://github.com/daniel-km/omeka-s-module-generic","last_synced_at":"2026-02-14T00:03:25.117Z","repository":{"id":62208777,"uuid":"172644807","full_name":"Daniel-KM/Omeka-S-module-Generic","owner":"Daniel-KM","description":"Module for Omeka S that brings together all one-time methods used to install or to config another module.","archived":false,"fork":false,"pushed_at":"2024-07-29T17:01:35.000Z","size":293,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-09-14T19:03:52.605Z","etag":null,"topics":["development","omeka-s","omeka-s-module"],"latest_commit_sha":null,"homepage":null,"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/Daniel-KM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-02-26T05:34:58.000Z","updated_at":"2024-07-29T17:01:39.000Z","dependencies_parsed_at":"2025-12-22T01:05:48.751Z","dependency_job_id":null,"html_url":"https://github.com/Daniel-KM/Omeka-S-module-Generic","commit_stats":null,"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"purl":"pkg:github/Daniel-KM/Omeka-S-module-Generic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daniel-KM%2FOmeka-S-module-Generic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daniel-KM%2FOmeka-S-module-Generic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daniel-KM%2FOmeka-S-module-Generic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daniel-KM%2FOmeka-S-module-Generic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Daniel-KM","download_url":"https://codeload.github.com/Daniel-KM/Omeka-S-module-Generic/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daniel-KM%2FOmeka-S-module-Generic/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29424621,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T22:20:51.549Z","status":"ssl_error","status_checked_at":"2026-02-13T22:20:49.838Z","response_time":78,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["development","omeka-s","omeka-s-module"],"created_at":"2024-11-11T14:06:14.491Z","updated_at":"2026-02-14T00:03:25.084Z","avatar_url":"https://github.com/Daniel-KM.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Generic Module (module for Omeka S)\n===================================\n\n\n\u003e **IMPORTANT**: The module Generic was replaced by modules [Common] and [Easy Admin]\n\u003e and kept only for compatibility until next Omeka S major version. It won’t be\n\u003e updated any more.\n\n\u003e __New versions of this module and support for Omeka S version 3.0 and above\n\u003e are available on [GitLab], which seems to respect users and privacy better\n\u003e than the previous repository.__\n\n\n[Generic Module] is a module for [Omeka S] that allows to manage all common one\ntime tasks (install, config, settings management…) from the config of another\nmodule, so it avoids the developer to copy-paste common code between modules.\n\nInternally, the logic is \"config over code\": so all settings have just to be set\nin the main `config/module.config.php` file, inside a key with the lowercase\nmodule name, with sub-keys `config`, `settings`, `site_settings`, `user_settings`\nand `block_settings`. All the forms have just to be standard Zend/Laminas forms.\nEventual install and uninstall sql can be set in `data/install/` and upgrade\ncode in `data/scripts`. Another class allows to check and install resources\n(vocabulary, resource templates, custom vocab, etc.).\n\n\nInstallation\n------------\n\nUncompress files and rename module folder `Generic`.\n\nUnlike other modules, this one is available once unzipped, even if it is not\ninstalled or not enabled in the admin modules panel.\n\n\nUsage (for developer)\n---------------------\n\nFor new modules, use module [Common].\n\n### Main Usage\n\nThis module contains a generic abstract class `AbstractModule`, that extends\nitself the Omeka one, so make your module extends it.\n\nReplace the following:\n\n```php\nnamespace MyModule;\nuse Omeka\\Module\\AbstractModule;\nclass Module extends AbstractModule\n{}\n```\n\nwith:\n\n```php\nnamespace MyModule;\nrequire_once dirname(__DIR__) . '/Generic/AbstractModule.php';\nuse Generic\\AbstractModule;\nclass Module extends AbstractModule\n{\n    const NAMESPACE = __NAMESPACE__;\n}\n```\n\nIf you prefer not to force install of module Generic, you can copy the file `Generic/AbstractModule.php`\nin folder `src/` of your module, then require it like that:\n\n```php\nnamespace MyModule;\nif (!class_exists(\\Generic\\AbstractModule::class)) {\n    require file_exists(dirname(__DIR__) . '/Generic/AbstractModule.php')\n        ? dirname(__DIR__) . '/Generic/AbstractModule.php'\n        : __DIR__ . '/src/Generic/AbstractModule.php';\n}\nuse Generic\\AbstractModule;\nclass Module extends AbstractModule\n{\n    const NAMESPACE = __NAMESPACE__;\n}\n```\n\n### Installing resources\n\nTo install resources, you need to include the file `InstallResources.php`. The\nfiles that contains vocabs, custom vocabs, and templates inside `data/` will be\nautomatically imported.\n\n\nWarning\n-------\n\nUse it at your own risk.\n\nIt’s always recommended to backup your files and your databases and to check\nyour archives regularly so you can roll back if needed.\n\n\nTroubleshooting\n---------------\n\nSee online issues on the [module issues] page on GitLab.\n\n\nLicense\n-------\n\nThis module is published under the [CeCILL v2.1] license, compatible with\n[GNU/GPL] and approved by [FSF] and [OSI].\n\nIn consideration of access to the source code and the rights to copy, modify and\nredistribute granted by the license, users are provided only with a limited\nwarranty and the software’s author, the holder of the economic rights, and the\nsuccessive licensors only have limited liability.\n\nIn this respect, the risks associated with loading, using, modifying and/or\ndeveloping or reproducing the software by the user are brought to the user’s\nattention, given its Free Software status, which may make it complicated to use,\nwith the result that its use is reserved for developers and experienced\nprofessionals having in-depth computer knowledge. Users are therefore encouraged\nto load and test the suitability of the software as regards their requirements\nin conditions enabling the security of their systems and/or data to be ensured\nand, more generally, to use and operate it in the same conditions of security.\nThis Agreement may be freely reproduced and published, provided it is not\naltered, and that no provisions are either added or removed herefrom.\n\n\nCopyright\n---------\n\n* Copyright Daniel Berthereau, 2018-2024 (see [Daniel-KM] on GitLab)\n\n\n[Generic module]: https://gitlab.com/Daniel-KM/Omeka-S-module-Generic\n[Omeka S]: https://omeka.org/s\n[GitLab]: https://gitlab.com/Daniel-KM/Omeka-S-module-Generic\n[Common]: https://gitlab.com/Daniel-KM/Omeka-S-module-Common\n[Easy Admin]: https://gitlab.com/Daniel-KM/Omeka-S-module-EasyAdmin\n[module issues]: https://gitlab.com/Daniel-KM/Omeka-S-module-Generic/-/issues\n[CeCILL v2.1]: https://www.cecill.info/licences/Licence_CeCILL_V2.1-en.html\n[GNU/GPL]: https://www.gnu.org/licenses/gpl-3.0.html\n[FSF]: https://www.fsf.org\n[OSI]: http://opensource.org\n[MIT]: http://opensource.org/licenses/MIT\n[Daniel-KM]: https://gitlab.com/Daniel-KM \"Daniel Berthereau\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaniel-km%2Fomeka-s-module-generic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaniel-km%2Fomeka-s-module-generic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaniel-km%2Fomeka-s-module-generic/lists"}