Kirby Sync - v0.3

Github: https://github.com/jenstornell/kirby-sync

With this plugin you can sync part of your content to other domains, kind of like this:

hub (domain)
├─ node (domain)
└─ node (domain)

Here are the changes for Kirby Sync 0.3:

0.3

  • Major rewrite.
  • Added option plugin.sync.active.
  • Removed option plugin.sync.log.
  • Removed option plugin.sync.trigger.delete.
  • Removed option plugin.sync.modified.
  • Updated option plugin.sync.token is now required by security reasons (null by default).
  • Replaced option plugin.sync.blueprint.prefix and plugin.sync.content.prefix with plugin.sync.prefix.
  • Added tests for panel.page.create, panel.page.update, panel.page.move, template change, blueprint and urls.
  • Less hook type dependent. It will try to figure out what to do. If a panel.page.update is triggered and the page does not exist, it will create it. If it already exists, it will make an update instead.
  • Price dropped from 50 EUR to only 9 EUR for each domain. There is also a licenses for multiple domains and multiple plugins.

I think there are two important things in this release. The first think is that I have written tests for almost anything. If there is a bug, it should be easier to track it down. The second thing is the much more clear separation between hub files and node files.

Be aware that there are some breaking changes. If you did not set a token, you need to do that now.

More information: https://github.com/jenstornell/kirby-sync.

1 Like

Thanks a lot for this great plugin! It works (almost) perfect for me, nevertheless there are two things missing right now which I both need:

  • Multi language support
  • Files synchronisation

I’ll go and try out some things by myself, but maybe you are already working on something in this direction?

I agree on the multi language support feature. I needed this plugin myself on a site that is not a multi language site. That’s one reason why it’s not yet implemented. Another reason is that I’m not sure if there will be a change how multi language works with Kirby 3. But whatever happends, the filenames will probably be the same as now (I’m guessing), so it’s probably “safe” to implement it already. So, it’s not forgotten, just on hold.

About the file sync part. I can already say that I will probably not implement it, ever. Sorry. :frowning: Personally I just need the content text files, but the biggest reason is that it could take “forever” to sync a page with 20 images to 10 sites.

Back to the multi language. I’m not sure about your skills but if you are good with PHP you could hack my plugin in the meantime. You should probably start here: https://github.com/jenstornell/kirby-sync/blob/master/node/tasks/create.php#L13 to make sure the filename is prefixed with a language. Oh, it also needs to be sent to read, in this array: https://github.com/jenstornell/kirby-sync/blob/master/hub/tasks/read.php#L17

I hope it helps.

Alright, thank you for the input!

Regarding the files: yeah, that’s absolutely true. However, I think this would fit and should be part of the plugin (as also the name suggests a full sync, not just content sync). Maybe disabled by default, and together with a warning that it could timeout when overused? In my case, I have just one node (maybe one more in future), and never more than a handful of images per page. The most important thing – at least for me – is also not the initial state (which is one time copy-paste on sFTP), but staying synced with changes over time. For my current project there won’t be many changes for files, neither for the content, but as there are a couple hundred of subpages, syncing by hand is like searching the needle…

However, I’ll go and try hacking the things together – maybe I’ll get to a point where I can send in a PR. :wink:

1 Like