{"id":20846426,"url":"https://github.com/teppokoivula/versioncontrol","last_synced_at":"2025-05-09T03:01:05.792Z","repository":{"id":15492497,"uuid":"18226320","full_name":"teppokoivula/VersionControl","owner":"teppokoivula","description":"Version Control Module For ProcessWire CMS/CMF","archived":false,"fork":false,"pushed_at":"2024-03-21T22:27:52.000Z","size":636,"stargazers_count":26,"open_issues_count":13,"forks_count":10,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-16T19:37:40.554Z","etag":null,"topics":["processwire"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/teppokoivula.png","metadata":{"files":{"readme":"README.md","changelog":"HistoryTab.js","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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},"funding":{"github":"teppokoivula"}},"created_at":"2014-03-28T20:58:54.000Z","updated_at":"2024-09-16T21:24:33.000Z","dependencies_parsed_at":"2025-05-09T03:00:29.303Z","dependency_job_id":null,"html_url":"https://github.com/teppokoivula/VersionControl","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teppokoivula%2FVersionControl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teppokoivula%2FVersionControl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teppokoivula%2FVersionControl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teppokoivula%2FVersionControl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/teppokoivula","download_url":"https://codeload.github.com/teppokoivula/VersionControl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253181418,"owners_count":21866991,"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":["processwire"],"created_at":"2024-11-18T02:16:08.010Z","updated_at":"2025-05-09T03:01:04.760Z","avatar_url":"https://github.com/teppokoivula.png","language":"JavaScript","readme":"Version Control For ProcessWire CMS/CMF\n=======================================\n\nVersion Control Module For ProcessWire CMS/CMF.\nCopyright (c) 2013-2022 Teppo Koivula\n\nThis module uses hooks provided by ProcessWire to catch page edits and stores\nhistory data in a series of custom database tables, so that it can be later\nretrieved, reviewed, and restored.\n\nNote that at module settings you can define which specific fieldtypes and fields\nto track and for which templates tracking values should be enabled. Right out of\nthe box tracking is disabled for all templates and fields.\n\nWhile editing a page with version control enabled, revision toggle (link which\nopens list of previous revisions) is shown for fields with earlier revisions\navailable. From this list user can select a revision and rollback value of\nthe field to that specific revision.\n\n## Supported fieldtypes and inputfields\n\nAll native ProcessWire fieldtypes and inputfields, apart from those that either\ndon't directly store values at all (repeaters fields, fieldsets) or only store\nhashed values (password), should be supported by the time of this writing:\n\n  * Email\n  * Datetime\n  * Text (regular and multi-language)\n  * Textarea (regular and multi-language)\n  * Page Title (regular and multi-language)\n  * Checkbox\n  * Integer\n  * Float\n  * URL\n  * Page\n  * Module\n  * File\n  * Image\n  * Selector\n  * Options\n\nSupported third party fieldtypes:\n\n  * ProFields Textareas\n  \nIf a specific fieldtype isn't listed here, it doesn't necessarily mean that\nit's not supported; it just hasn't been tested yet. If you know a fieldtype\nthat works properly with this module but isn't included here, please inform\nthe author of this module via GitHub.\n\nYou can enable support for any installed fieldtypes locally by modifying the\n\"Compatible fieldtypes\" setting, which can be found under \"Advanced Settings\"\nin module configuration screen.\n\nFollowing inputfields are confirmed to be supported:\n\n  * TinyMCE\n  * CKEditor (regular and inline mode)\n  * Text (+ other inputfields using `\u003cinput\u003e` HTML element, such as Email)\n  * Textarea (+ other inputfields using regular `\u003ctextarea\u003e` HTML element)\n  * Select\n  * File\n  * Image\n  * Selector\n\n## Requirements\n\nPlease note that this module requires ProcessWire 2.4.1 or a later version.\nIf you're still running an earlier version of ProcessWire and would like to\nhave a similar feature, please take a look at the Version Control for Text\nFields module: https://github.com/teppokoivula/VersionControlForTextFields.\n\n## Getting started\n\nCopy (or clone with git) VersionControl folder to /site/modules/, go to Admin \u003e\nModules, hit \"Check for new modules\" and install Version Control. Supporting\nmodules Process Version Control and Page Snapshot are installed automatically.\n\nAfter installing this module you need to configure it before anything really\nstarts happening. Most configuration options (essentially templates and fields\nthis module is switched on for) can be found from Admin \u003e Modules \u003e Version\nControl (module config.) Minor settings can be found from related Process\nmodules config: Admin \u003e Modules \u003e Process Version Control.\n\n## Diff Match and Patch\n\nThe Diff Match and Patch libraries offer robust algorithms to perform the\noperations required for synchronizing plain text. In the scope of current\nmodule, the JavaScript implementation of Diff Match and Patch is used to\nrender diff between different revisions of a field value.\n\nDiff Match and Patch is copyright (c) 2006 Google Inc. and released under\nthe Apache License, Version 2.0. For more information about this library,\nplease visit http://code.google.com/p/google-diff-match-patch/.\n\n## License\n\nThis program is free software; you can redistribute it and/or\nmodify it under the terms of the GNU General Public License\nas published by the Free Software Foundation; either version 2\nof the License, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program; if not, write to the Free Software\nFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.\n\n(See included LICENSE file for full license text.)\n","funding_links":["https://github.com/sponsors/teppokoivula"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteppokoivula%2Fversioncontrol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteppokoivula%2Fversioncontrol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteppokoivula%2Fversioncontrol/lists"}