{"id":19640639,"url":"https://github.com/daniel-km/omeka-s-module-contribute","last_synced_at":"2026-01-26T09:03:11.629Z","repository":{"id":148008269,"uuid":"268818560","full_name":"Daniel-KM/Omeka-S-module-Contribute","owner":"Daniel-KM","description":"Module for Omeka S that allows guest users or visitors to edit and complete metadata of a resource in the public side.","archived":false,"fork":false,"pushed_at":"2025-06-10T20:11:33.000Z","size":907,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-10T21:29:02.038Z","etag":null,"topics":["contribute","correction","crowdsourcing","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}},"created_at":"2020-06-02T14:08:38.000Z","updated_at":"2025-06-10T20:11:38.000Z","dependencies_parsed_at":"2023-12-06T08:27:19.340Z","dependency_job_id":"431a2528-7f41-4a4e-8626-d4bdf4af21c5","html_url":"https://github.com/Daniel-KM/Omeka-S-module-Contribute","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/Daniel-KM/Omeka-S-module-Contribute","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daniel-KM%2FOmeka-S-module-Contribute","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daniel-KM%2FOmeka-S-module-Contribute/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daniel-KM%2FOmeka-S-module-Contribute/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daniel-KM%2FOmeka-S-module-Contribute/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-Contribute/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daniel-KM%2FOmeka-S-module-Contribute/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28771522,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T08:38:24.014Z","status":"ssl_error","status_checked_at":"2026-01-26T08:38:22.080Z","response_time":59,"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":["contribute","correction","crowdsourcing","omeka-s","omeka-s-module"],"created_at":"2024-11-11T14:06:19.959Z","updated_at":"2026-01-26T09:03:11.622Z","avatar_url":"https://github.com/Daniel-KM.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Contribute (module for Omeka S)\n===============================\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[Contribute] is a module for [Omeka S] that allows visitors to add, edit,\ncomplete or translate metadata of the resources without access to the admin\nboard.\n\nAccess to the contribute and to the edit page may be controlled by a token, that\nyou can send to your users, or to users only (in particular guest users), or to\nanybody.\n\nThe three main differences with module [Collecting] is, first, the fact that\nthis module uses standard resource templates, so you don't need to create\nspecific forms, second, the possibility to complete or to revise an existing\ndocument, for example to ask visitor to fix spelling mistakes or to identify\nsubjects, third, to define precise rights on who can contribute or not, via\nrole, authentication, settings, etc.\n\nThis module can be used for institutional repositories too, so students can\ndeposit their works and theses, like the thousands ones in [Dante] of\nUniversité de Toulouse.\n\n\nInstallation\n------------\n\n### Module\n\n\nSee general end user documentation for [installing a module].\n\nThe module [Common] must be installed first.\n\nThe module uses the module [Advanced Resource Template] in order to manage the\nforms and the properties that the users can edit or fill, so it should be\ninstalled first.\n\nIf you want to open contribution only to authenticated users, it is recommended\nto install the module [Guest] and [Blocks Disposition] (unless you edit theme).\n\n* From the zip\n\nDownload the last release [Contribute.zip] from the list of releases (the\nmaster does not contain the dependency), and uncompress it in the `modules`\ndirectory.\n\n* From the source and for development\n\nIf the module was installed from the source, rename the name of the folder of\nthe module to `Contribute`.\n\n### Upgrade from module Correction\n\nThe upgrade from the module Correction was removed in version 3.4.24. If needed,\ninstall version 3.4.23 then upgrade the module.\n\n\nUsage\n-----\n\nTo be contributed or completed, a resource must have a template and be allowed.\n\nThere are two ways to allow users to contribute: globally or by template.\n\n- global mode:\n  When the mode is global, the options in main settings will be checked for all\n  templates. Use this mode when there is only one template used for contribution\n  or when contributors can contribute via all templates.\n- by template mode:\n  When the mode is by template, the options should be set in each template. It\n  allows, for example, to limit contribution to one or some templates to some\n  users, for example a template \"Thesis\" for student authenticated by some sso\n  rules or for some mails, and a template \"Master\" for other students. So use\n  this mode when rights are complex or for a better ux for users and to skip the\n  first step where the user choose the templates.\n\nIf you choose the global mode, the following options should be set in main\nsettings. If you choose the mode by template, they should be filled in each\ntemplates used for contribution.\n\n- Configure the main settings, in particular the contribution modes.\n- Configure the resource templates to select the properties to be edited or\n  filled. Note: If a property has no value, it can't be edited, even if the\n  property is marked editable. To allow to add a value, choose \"fillable\". To\n  allow only one value, set the maximum number of values to 1.\n- To allow to contribute a file, you should define a template for files and set\n  it in the parameters of the main template.\n- If the contribute mode requires token:\n  - Create one or more tokens for the resources you want to edit via the link in\n    the sidebar of a resource or the bulk process dropdown at the top of the\n    resource browse pages.\n  - Send emails to your users with the tokens, so they can edit or complete\n    metadata of the resources.\n- Else a link is displayed on the item page if enabled in the theme or via the\n  module Blocks Disposition.\n- After submission, the admin can go to the resource page of the edited items\n  and apply changes, or decline them. A page lists all contributions too.\n  Contribution can be marked as undertaken and validated and token can be made\n  expired.\n\n\nTODO\n----\n\n- [x] Reintegrate features for corrections in version 3.3.0.18+.\n- [ ] Store the site in the contribution.\n- [ ] Store the ip and some data to check anonymous contribution (see module Contact Us).\n- [x] Make the token optional (allow anybody to edit; review all rights).\n- [ ] Manage the fillable fields with a language, so it will simplify validation of translation (use advanced resource template).\n- [ ] Finalize value resources.\n- [ ] Finalize select for resources (dynamic api query via chosen-select).\n- [x] Create an admin browse page with all contributes.\n- [ ] Remove the fallback contribution settings to simplify config and move all settings to advanced resource template.\n- [ ] Check process when the resource template is updated (required, max values, editable, fillable…).\n- [ ] Remove requirement for Advanced Resource Template: only list of editable and fillable properties may be needed (or make them all editable/fillable).\n- [ ] Remove the \"@\" in internal proposition values.\n- [ ] Add the elements via the form, not only via view.\n- [ ] Add resource via token (only edition currently).\n- [ ] Clarify add/edition resource for correction.\n- [ ] Dynamic select for resource (without custom vocab).\n- [ ] Add pagination in guest contribution list.\n- [ ] Require only on submit for new contribution?\n- [ ] Improve lang management.\n- [ ] Allow to create subresource in the main form (author). Require check.\n- [ ] Manage value annotations.\n- [ ] Include all fields as form elements (included laminas collections of elements).\n- [ ] Allow to edit item and media together.\n- [x] Use a three state (true, false, null) for validated/not-validated/undefined.\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\nThis software is governed by the CeCILL license under French law and abiding by\nthe rules of distribution of free software. You can use, modify and/ or\nredistribute the software under the terms of the CeCILL license as circulated by\nCEA, CNRS and INRIA at the following URL \"http://www.cecill.info\".\n\nAs a counterpart to the access to the source code and 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 have only limited liability.\n\nIn this respect, the user’s attention is drawn to the risks associated with\nloading, using, modifying and/or developing or reproducing the software by the\nuser in light of its specific status of free software, that may mean that it is\ncomplicated to manipulate, and that also therefore means that it is reserved for\ndevelopers and experienced professionals having in-depth computer knowledge.\nUsers are therefore encouraged to load and test the software’s suitability as\nregards their requirements in conditions enabling the security of their systems\nand/or data to be ensured and, more generally, to use and operate it in the same\nconditions as regards security.\n\nThe fact that you are presently reading this means that you have had knowledge\nof the CeCILL license and that you accept its terms.\n\n\nCopyright\n---------\n\n* Copyright Daniel Berthereau, 2019-2026 (see [Daniel-KM] on GitLab)\n\nFirst version of this module was done for [Université de Paris-Saclay].\nImprovements were done for [Enssib] and for the site used to do the deposit and\nthe digital archiving of student works ([Dante]) of the [Université de Toulouse Jean-Jaurès].\n\n\n[Omeka S]: https://omeka.org/s\n[Contribute]: https://gitlab.com/Daniel-KM/Omeka-S-module-Contribute\n[Collecting]: https://omeka.org/s/modules/Collecting\n[Advanced Resource Template]: https://gitlab.com/Daniel-KM/Omeka-S-module-AdvancedResourceTemplate\n[Blocks Disposition]: https://gitlab.com/Daniel-KM/Omeka-S-module-BlocksDisposition\n[Common]: https://gitlab.com/Daniel-KM/Omeka-S-module-Common\n[Guest]: https://gitlab.com/Daniel-KM/Omeka-S-module-Guest\n[Contribute.zip]: https://gitlab.com/Daniel-KM/Omeka-S-module-Contribute/-/releases\n[installing a module]: https://omeka.org/s/docs/user-manual/modules/#installing-modules\n[module issues]: https://gitlab.com/Daniel-KM/Omeka-S-module-Contribute/-/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[Université de Paris-Saclay]: https://www.universite-paris-saclay.fr\n[Enssib]: https://www.enssib.fr\n[Dante]: https://dante.univ-tlse2.fr\n[Université de Toulouse Jean-Jaurès]: https://www.univ-tlse2.fr\n[GitLab]: https://gitlab.com/Daniel-KM\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-contribute","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaniel-km%2Fomeka-s-module-contribute","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaniel-km%2Fomeka-s-module-contribute/lists"}