{"id":19348840,"url":"https://github.com/adrianbj/processmigrator","last_synced_at":"2025-07-31T00:42:46.575Z","repository":{"id":10481193,"uuid":"12659422","full_name":"adrianbj/ProcessMigrator","owner":"adrianbj","description":"ProcessWire module that facilitates automated migration and sharing of page trees along with their templates and fields.","archived":false,"fork":false,"pushed_at":"2022-11-23T21:27:23.000Z","size":285,"stargazers_count":30,"open_issues_count":2,"forks_count":2,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-23T06:36:19.286Z","etag":null,"topics":["export","import","migration","processwire"],"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/adrianbj.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":"2013-09-07T03:40:34.000Z","updated_at":"2024-10-07T20:49:34.000Z","dependencies_parsed_at":"2023-01-11T19:45:46.953Z","dependency_job_id":null,"html_url":"https://github.com/adrianbj/ProcessMigrator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/adrianbj/ProcessMigrator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianbj%2FProcessMigrator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianbj%2FProcessMigrator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianbj%2FProcessMigrator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianbj%2FProcessMigrator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adrianbj","download_url":"https://codeload.github.com/adrianbj/ProcessMigrator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianbj%2FProcessMigrator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267967816,"owners_count":24173578,"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","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["export","import","migration","processwire"],"created_at":"2024-11-10T04:23:16.599Z","updated_at":"2025-07-31T00:42:46.523Z","avatar_url":"https://github.com/adrianbj.png","language":"PHP","readme":"# ProcessMigrator\n\nAllows automated migration and sharing of page tree content along with their templates and fields via JSON files. These JSON files can be imported into another PW installation to recreate the entire structure and content, including files and images.\n\nIt takes care of replicating all the pages, as well as creating any templates and fields that are needed.\n\nYou can also use this module to share page lists. \"Page Lists\" are a page tree (parent and children) that store selctor values for a Page fieldtype. An example would be a list of countries that would be used to populate a countried drop-down select field. The fields might include: Country Name, 2-digit code, 3-digit code, number code. There is a repositories of page lists available from: https://github.com/adrianbj/ProcessWirePageLists and these can be added to your site from a dropdown select in this migrator module.\n\nYou can also use 3rd party converters to migrate content from other sources. So far we have one for Wordpress, thanks to Nico:\nhttps://github.com/NicoKnoll/MigratorWordpress\n\n## How to install\nThe easiest way to install, is to go to Modules \u003e Site \u003e Add New and in the \"Add Module from URL\" option, enter:\nhttps://github.com/adrianbj/ProcessMigrator/archive/master.zip\n\n\n## Usage\nGo to the Setup Page \u003e Migrator and follow the prompts.\n\n## What it can migrate\n\nFields, templates, and page content for all field types including:\n* All standard field types, including RTE, and decoding of links modified by the PageLinkAbstractor module and abstracting again on the destination PW install.\n* File/Image/CropImage fields including the actual files/images/thumbnails, and all other variations\n* All Profields field types: Table, PageTable, Multiplier, and Texareas\n* All? custom field types\n* Repeaters fields and all their required fields, templates, and content including files/images\n* Page fields (and the pages, templates, and fields that make up their selectable pages)\n* Multilanguage versions of field content, page names and page titles\n* Templates (including Access, Family, URL and other settings) and the template .php files. It even grabs the appropriate file if you are using the \"Alternate Template Filename\" setting. NB the templates directory on the destination PW installation must be writable for these to be imported.\n\nFiles/images/template files and the json structure/data file are exported in a zip file which is then imported into the destination PW install.\n\nSo, you could build sections of content on a local dev PW installation, export it, and then with a couple of clicks import everything into the live PW installation.\n\n## Notes\n* It supports multi-language fields, but you should make sure to have language support already installed on the destination installation before running the import\n* It supports links in RTE fields that have been converted with the PageLinkAbstractor module - make sure the module is installed on the destination server before running the import\n\n\n## Outstanding Issues\nSome outstanding issues that I hope to get to shortly:\n* Need to support images inserted from a different page into an RTE field\n* Rewrite any references to page ids, eg $pages-\u003eget(xxxx) in template .php files so they will be converted to the correct id on the destination installation.\n* Need to look into the new core link abstractor that was added to PW 2.4 and see how to handle those links compared to the PageLinkAbstractor module.\n* Need to add checks so that existing template php files are not overwritten (or give the option to choose)\n* Might need to override PHP max_execution_time and other settings for larger exports and maybe chunk out zipping of all images to prevent memory issues on larger exports.\n\n\n## Support\nhttps://processwire.com/talk/topic/8660-migrator\n\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.)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrianbj%2Fprocessmigrator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadrianbj%2Fprocessmigrator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrianbj%2Fprocessmigrator/lists"}