I'm not sure there are any resources specific to this use case, but I've built quite a few add-ons which import channel entries.
It's fairly straightforward with just a couple caveats:
Inserting data for more advanced fieldtypes can be a bit tricky. Your best bet is to look at what fields are actually being submitted via the publish form in the control ...
I typically make database changes on the live site and then copy that from live to live to staging/local and then do templates/css/js work before pushing it back to staging/live.
This has worked well for me. The only way that I would see it not working is if the database changes that needed to be made would affect the live site on the front end. But ...
Take a look at line 1187 in system/expressionengine/controllers/cp/content_files.php. The function do_sync_files() is called by the synchronize page. This would be in the EE 2.8.1 core files.
You could probably write a script that calls that function or else re write the logic for your own use (I think it checks a bunch of environment variables that would ...
This is caused by not having a trailing slash on the server_path parameter in the upload directory config.
The Focus Labs documentation within the master config doesn't include the slash
$env_config['upload_preferences'] = array(
1 => array(
'name' => 'Uploads',
'server_path' => $images_path . '/uploads',
I am using Focus Lab's EE master config so I had to add a trailing slash on my directory paths in the config file.
This is what I had:
1 => array(
'name' => 'Images',
'server_path' => $base_path . '/uploads/images',
'url' => $base_url . '/uploads/images/'
This is what fixed it:
1 => array(
Here's how it works. Out of the box templates are stored in the database. When you allow the template "to be saved as a file" it also copies the template to a location of your choice as a .html file.
Personally I use this all the time as then you can get your templates under version control, refactor them to a controlled directory ect. Not to mention the ...
It shouldn't be harmful to perform the sync. The worst thing that could happen is that ExpressionEngine doesn't recognize which of the two versions are more recent and syncs them the wrong direction. This might have happened to me many years a go very early on in version 2.
I would however argue that it can be harmful NOT to perform an occasional sync. ...
We are using a method where any changes we make to the dev database are logged to a file, and then we can just run those same sql queries against the production database to update it. Here's a plugin that offers to do the logging for you, though I can't personally vouch for it.
I was originally going to post this as a comment, but it's too long, so have opted for an 'answer'.
You should be aware of the security implications of doing this as advised above.
I've just created an add-on to do just this which will be executed via CRON - however, it needs to be pointed out that running:
With DataGrab, you can point to a URL to import from. I've successfully imported directly by using the following URL pattern
With Datagrab you can use any column as a 'primary key' for updates. Ensure on your spreadsheet ...