Rsync Publishing Widget

As mentioned, here is the first, very simple version, of my publishing widget:

Edit: addition:
As mentioned in the thread before, this widget was inspired by this tweet https://twitter.com/jsntlr/status/664943772229177344, but that widget is not public jet, so I needed to write my own one.

Contribution and testing is appreciated.

1 Like

its a good Widget, But i Rly Dont understand the Function :confused:

This widget is designed to work on your web server, because you would not need a staging server, if you user your localhost do edit your content. So the scope of the widget is the following:
You have your normal kirby site on your server. It will be in some folder in your webroot and is setup to be accessed on your normal domain.
Additionally you would have a second installation named the staging server, which will be on another domain, but on the same server. Please see the sketched folder structure of the readme.

The Idea is, to edit the content only on the staging domain and the sync to your main site. Then, the main site would´t even have an panel installed.
It was discussed in several threads before, which would be the best way of publishing changes of the content and the code. In this widget the content is excluded from git version control, so it must be synced separately.

The command displayed in the widget is just the command, which will be executed, if you click the button.

Thoughts about your screenshot:

You can use your own shell script to sync from your local machine to your web server. This will not be covered by this widget.
Additionally, this widget will not work on Windows properly, because of the different directory separators used by windows.

2 Likes

This is a really good idea! Thanks for sharing :slightly_smiling:!

By the way: maybe you should add some minimum requirements for that. I think this wont work on a “standard” webserver, or?

1 Like

As mentioned in the readme, the web server must have the unix bash command rsync and php must be allowed to execute shell scripts via shell_exec.
This also means, that the web server must be on an linux operating system (or Mac OS X).

But please give me feedback, if something does not work on your server, or even enhance this widget by a pull request.
For issues, please add the directly on github, because this is easier to track there.

1 Like

Hi,

had to dig out this old topic, since it was a really cool widget back then.

One client of mine is currently using it quite frequently for staging-purposes and the whole redactional process is build on it. Now we want to upgrade to Kirby 3. But since this widget is only for Kirby 2 we are still waiting.

Do you guys have any alternative to this widget? Anyone planning on updating this cool feature? Maybe it is simple and could easily be done?

Would be nice to hear from you.
Greets Tobi

Cool to hear, that this widget is actually used. I just created it as a quick hack to connect a staging server to deployment, which can be used by everyone.

Unfortunately I’m not doing any web development any more and haven’t even managed to update my own website to Kirby 3. (I was doing this during my university time and now I’m working as embedded software engineer.)
I’m also not using this widget any more, because the project I created this for is not using a staging server any more. And my personal publishing process is using a local installation for staging.

Therefore I haven’t planned to update this, sorry.
But if anybody wants to continue maintaining this project, I’ll happily invite another collaborator or transfer ownership of the repo.

Perhaps https://github.com/lukaskleinschmidt/kirby-terminal might work for you. A bit further down the readme there is an example for a rsync deploy script.