16

I'll add to this as needed. Since you have ssh access to the server, start there. 1) Connect via ssh to the production server via Terminal (or iTerm app). cd to the root of your site (or the directory where you want to track changes). 2) Type the following: git config --global user.name "SITE NAME Prod Server" git config --global user.email johndoe@...


5

I don't think it's left that many short to be honest. Most developers I'm aware of save their templates as files. Whilst I'd always recommend having version control in place, you don't need it, you can still save templates as files without Git. As for tutorials, the Ellislab docs are pretty explicit about how it's done. The learning curve for Git isn't ...


3

Another option that I have used in the past is with Playa: Create as many channels as you need modules (text, events, video, 1 big image, image gallery, etc.) and enter content Create a "page" channel with a playa field linking to your modules channels. Use conditionals / ifelse / switchee to test on the channel_short_name and display module fields: ...


3

Here's how I'm deploying the majority of sites http://digitalevangelist.net/blog/git-deployments I do have a paid DeployHQ account as well but that's generally for larger projects deploying to multiple environments with emails going to stakeholders when there's been a deployment.


2

I use Better Workflow for this. It makes life much easier when handling scenarios like what you have here. Another approach I have used, while not as pretty, was to establish statuses, and build a exception to block all but local traffic through a firewall (in this case, using Big IP from f5) and building multiple templates. One of the templates will be ...


2

You can use the native entry statuses to accomplish a draft status. If you review the documentation on statuses, you'll see how you can edit the status group and add draft alongside open and closed. Then, you'll just have to make sure your status group is assigned to the channels you're using to publish the content. By default, the {exp:channel:entries} ...


2

Sure - use an extension which fires on the entry_submission_end hook. Check that $meta['channel_id'] matches your Product channel, then take the data from $meta and $data to create a new entry (just an array of data) for your Blog channel. Lastly, pass that array to the Channel Entries API and you should be good.


2

I'll elaborate more on my comment to answer the poster more fully... There isn't a reliable, solid mechanism (especially automated) that I've come across that can safely migrate content forwards onto a live site - especially if you have living data (membership, commenting, forums, etc). If considering this, also remember environment configs and entry hit ...


1

For the control panel there are probably add-ons for this, like better workflow or maybe draftEE. For the front-end you can do some conditional checking in the template before showing the channel-form (safecracker).


1

1) Verify the template files system path is correct: Design > Templates > Global Preferences 2) Generally speaking, you can clear the current cache by navigating to "Tools > Data > Clear Caching". You can also try deleting all of the cache files in the /system/expressionengine/cache/ folder but I haven't tried that for this type of scenario.


1

Run a local dev server on your machine. To make life easy use MAMP, XAMPP, or similar. Maybe try Virtual Box/Vagrant if you're feeling saucy. I'm on a Mac so I use MAMP Pro and SequelPro to manage server and database. Install Git on your local machine. Set up a remote private Git repo at Bitbucket/Github. Bitbucket is free, even for private repos. Set up ...


1

Mountee shutting down forced me to change my workflow as well. Here's what's working for me: Save templates as files. Buy Coda 2 (panic.com) Setup a site in Coda with a local git repository, and the web server as the remote location. When I start implementing a new feature, I edit templates on the remote server. When it's all working, I sync everything ...


Only top voted, non community-wiki answers of a minimum length are eligible