Answers.Body: <p>You could open up the db used by dev.customer.com for external access and connect to it from your local dev environment.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-18T05:51:44.890Z
Answers.Text: So when a customer wants 10 new fields, you add it to dev.customer.com, pull down db. Make code changes locally and deploy?
Answers.UserDisplayName: Magnus
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-18T06:13:05.870Z
Answers.Text: Sorry for the confusion. All I wanted to say is that I usually don't use a shared db while the site is in development. Instead I do what you mentioned in the question, content freeze, export from stage server, changes locally, import to stage again.
Answers.UserDisplayName: carlcs
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-18T07:19:47.193Z
Answers.Text: Well i think your solution (as i understood it :) ) sounded good. The customer can keep on working while i add minor changes. If the customer then wants bigger changes i can content freeze dev.customer.com. So thanks!
Answers.UserDisplayName: Magnus
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-17T23:08:44.410Z
Answers.LastActivityDate: 2016-08-18T06:03:50.307Z
Answers.LastEditDate: 2016-08-18T06:03:50.307Z
Answers.UserDisplayName: carlcs
Answers.Body: <p>Essentially the question is "how can I manage changing database content across environments" which has been covered several times here before.  Some leisure reading:</p>
  
  <p><a href="https://craftcms.stackexchange.com/questions/10/whats-the-best-practice-for-handling-data-migration-and-organization-across-dev">What&#39;s the best practice for handling data migration and organization across development environments?</a></p>
  
  <p><a href="https://craftcms.stackexchange.com/questions/55/git-workflow-and-multi-environment-how-to-approach">Git Workflow and Multi Environment - how to approach</a></p>
  
  <p><a href="https://craftcms.stackexchange.com/questions/13/whats-the-best-practice-for-upgrading-a-versioned-craft-site">What&#39;s the best practice for upgrading a versioned Craft site?</a></p>
  
  <blockquote>
    <p>Does Craft 3 solve this?</p>
  </blockquote>
  
  <p>Craft 3.0 will not have a solution for this at launch, but we are planning on something post 3 launch that will help making managing Craft content across environments easier to manage.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-17T09:17:23.767Z
Answers.Text: Regarding content model export/import, it might be worth checking out the following plugins: [Schematic](https://github.com/nerds-and-company/schematic), [Art Vandelay](https://github.com/xodigital/ArtVandelay), [Field Manager](https://github.com/engram-design/FieldManager)
Answers.UserDisplayName: Mats Mikkel Rummelhoff
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-17T16:38:09.613Z
Answers.Text: Thanks Brad. I have read those earlier. The question don't have to be "how can I manage changing database content across environments". 
  
  The question can be more like "When developer X  on a one-man firm take care of the design and development of an content empty site for a client, what is then the best workflow? Knowing that when the client start to fill the site with content, they want to have field changes and so on"
  
  For example, is it totally wrong to skip git and local database and instead code directly on the server? How would you do Brad?
Answers.UserDisplayName: Magnus
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-16T22:41:49.163Z
Answers.LastActivityDate: 2016-08-16T22:41:49.163Z
Answers.UserDisplayName: Brad Bell
Answers.Body: <p>At step 5 you basically start working with another person. Their content input is just as important as your code changes. </p>
  
  <p>Therefore you'll need to alter the workflow as</p>
  
  <p><strong>Code</strong> flowing in  "Local <strong>></strong> Staging <strong>></strong> Production" direction</p>
  
  <p>and </p>
  
  <p><strong>Database</strong> flowing in "Local <strong>&lt;</strong> Staging <strong>&lt;</strong> Production" direction</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-23T14:40:02.573Z
Answers.LastActivityDate: 2016-08-23T14:40:02.573Z
Answers.UserDisplayName: Cem Meric
Answers.Body: <p>My suggestion would be to do what is outlined in <a href="https://nystudio107.com/blog/database-asset-syncing-between-environments-in-craft-cms" rel="nofollow noreferrer">Database &amp; Asset Syncing Between Environments in Craft CMS</a></p>
  
  <p>It's a little bit of logistical organization coupled with some scripts to do the asset/db synchronization.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-07-27T15:00:39.103Z
Answers.LastActivityDate: 2017-07-27T15:00:39.103Z
Answers.UserDisplayName: andrew.welch
Body: <p>A common workflow for me when building a web page is the following. </p>
  
  <ol>
  <li>I'm getting a PSD-file (Photoshop) from a external advertising agency</li>
  <li>Build the site in Webflow and then export to plain html/css/js</li>
  <li>Build the site locally in Craft CMS using Textmate</li>
  <li>Deploy to dev.customer.com using DeployBot and Github</li>
  <li>Send username and password for Craft to advertising agency, they then start to fill the site with content </li>
  </ol>
  
  <p>The problem with this workflow is when the agency in step 5 want changes (new fields, sections).  I don't want to add fields on both localhost and dev.customer.com. And I don't want to temporarily shut down dev.customer.com, export database on dev.customer.com to localhost and then import to dev.customer.com when done (there is often a tight schedule).</p>
  
  <p>How would you do? Does Craft 3 solve this?  If not, maybe me and the agency should work on the same codebase and database. One way is to have a small server locally (which i don't have) turned on 24h and open port 80 from outside so the agency could work in Craft. Another way is to use SSHFS to mount file system over SSH on a remote Linux VPS (which i have plenty of), but i'm not sure how stable this is.</p>
  
Tags: <deployment><workflow><git>
Title: Recommended workflow when developing new websites
ThreadText: # Recommended workflow when developing new websites
  
  (Asked by: username_0 on 2016-08-16)
  
  A common workflow for me when building a web page is the following.
  
  1. I'm getting a PSD-file (Photoshop) from a external advertising agency
  2. Build the site in Webflow and then export to plain html/css/js
  3. Build the site locally in Craft CMS using Textmate
  4. Deploy to dev.customer.com using DeployBot and Github
  5. Send username and password for Craft to advertising agency, they then start to fill the site with content
  
  The problem with this workflow is when the agency in step 5 want changes (new fields, sections). I don't want to add fields on both localhost and dev.customer.com. And I don't want to temporarily shut down dev.customer.com, export database on dev.customer.com to localhost and then import to dev.customer.com when done (there is often a tight schedule).
  
  How would you do? Does Craft 3 solve this? If not, maybe me and the agency should work on the same codebase and database. One way is to have a small server locally (which i don't have) turned on 24h and open port 80 from outside so the agency could work in Craft. Another way is to use SSHFS to mount file system over SSH on a remote Linux VPS (which i have plenty of), but i'm not sure how stable this is.
  
  **Tags:** deployment, workflow, git
  
  
  ---
  
  ## 4 answers
  
  ### Answer by username_1 on 2016-08-17. Score: 2 | Accepted answer
  
  You could open up the db used by dev.customer.com for external access and connect to it from your local dev environment.
  
  > **Comments:**
  > **username_0**: So when a customer wants 10 new fields, you add it to dev.customer.com, pull down db. Make code changes locally and deploy?  
  > **username_1**: Sorry for the confusion. All I wanted to say is that I usually don't use a shared db while the site is in development. Instead I do what you mentioned in the question, content freeze, export from stage server, changes locally, import to stage again.  
  > **username_0**: Well i think your solution (as i understood it :) ) sounded good. The customer can keep on working while i add minor changes. If the customer then wants bigger changes i can content freeze dev.customer.com. So thanks!  
  
  ---
  
  ### Answer by username_2 on 2016-08-16. Score: 8
  
  Essentially the question is "how can I manage changing database content across environments" which has been covered several times here before. Some leisure reading:
  
  [What's the best practice for handling data migration and organization across development environments?](https://craftcms.stackexchange.com/questions/10/whats-the-best-practice-for-handling-data-migration-and-organization-across-dev)
  
  [Git Workflow and Multi Environment - how to approach](https://craftcms.stackexchange.com/questions/55/git-workflow-and-multi-environment-how-to-approach)
  
  [What's the best practice for upgrading a versioned Craft site?](https://craftcms.stackexchange.com/questions/13/whats-the-best-practice-for-upgrading-a-versioned-craft-site)
  
  > Does Craft 3 solve this?
  
  Craft 3.0 will not have a solution for this at launch, but we are planning on something post 3 launch that will help making managing Craft content across environments easier to manage.
  
  > **Comments:**
  > **username_3**: Regarding content model export/import, it might be worth checking out the following plugins: [Schematic](https://github.com/nerds-and-company/schematic), [Art Vandelay](https://github.com/xodigital/ArtVandelay), [Field Manager](https://github.com/engram-design/FieldManager)  
  > **username_0**: Thanks username_2. I have read those earlier. The question don't have to be "how can I manage changing database content across environments".   The question can be more like "When developer X  on a one-man firm take care of the design and development of an content empty site for a client, what is then the best workflow? Knowing that when the client start to fill the site with content, they want to have field changes and so on"  For example, is it totally wrong to skip git and local database and instead code directly on the server? How would you do username_2?  
  
  ---
  
  ### Answer by username_4 on 2016-08-23. Score: 4
  
  At step 5 you basically start working with another person. Their content input is just as important as your code changes.
  
  Therefore you'll need to alter the workflow as
  
  **Code** flowing in "Local **>** Staging **>** Production" direction
  
  and
  
  **Database** flowing in "Local **<** Staging **<** Production" direction
  
  
  ---
  
  ### Answer by username_5 on 2017-07-27. Score: 1
  
  My suggestion would be to do what is outlined in [Database & Asset Syncing Between Environments in Craft CMS](https://nystudio107.com/blog/database-asset-syncing-between-environments-in-craft-cms)
  
  It's a little bit of logistical organization coupled with some scripts to do the asset/db synchronization.
  
  
  ---
  
  