No announcement yet.

What does your development workflow look like?

  • Filter
  • Time
  • Show
Clear All
new posts

  • What does your development workflow look like?

    Out of curiosity, what do your development workflows look like?
    I'm used to developing with a local site (e.g. wordpress theming), so not entirely sure how this translates in 3dcart

    e.g. what is your workflow for

    1. Making minor changes to common-html5
    2. Making minor changes to the specific theme

    I don't know of any other way besides downloading the theme files locally to PC, editing a change, FTP'ing back over to the template folder.
    This can be time consuming to see small changes at a time, so I wanted to know what other people use (e.g. do you remote-ftp and edit changes directly on server, track it with git, etc?)

  • #2
    You can edit the html pages and CSS in the admin under Settings>Design>Themes & Styles>More


    • #3
      okay thanks I didn't know you could do this

      what about tracking changes though?


      • #4
        Yeah, I edit through the admin panel. I usually save a copy of whatever I am editing for a backup. Also, the admin panel will let you roll back a certain number of changes if you find you break something.


        • #5
          I've been developing templates for sites on the 3dcart platform since 2011. 7 years later, the process still feels clunky with no sandbox / local dev environment but we deal with what we have. Ultimately, my workflow is generally a complete download of all project files via ftp to a local dev machine. They are snapshotted in git and pushed to github immediately. From there, as features are implemented and styles are in place, I commit/push from time to time and re-upload to the server.

          For new sites, I have been developing a set of react components that are tailored to encapsulate template sections and their comment triggers to try and make things a bit more re-usable. As the template file is put together, it is rendered to string and ultimately becomes the static representation of the page(s) as if they were just developed using the traditional path.

          What this also allows me to do is to write code that can be executed locally (using something like react storybook or cosmos) that is populated with dummy data (for the sake of creating responsive designs etc) and then when it is ready for deploy, the build process injects the [template_tag] and its comment strings where required to get the site data instead. It has saved a ton of upload -> clear cache -> reload cycles for me and that's never a bad thing.

          I'm excited to see where this evolves in the next few months. I would love to just enter an api key and instead of mocking dummy data statically, have it automatically sync the store's catalog to a local database and implement a thin view layer to get closer to the real thing without having to upload to the store all the time. The motivation there would be to almost fill the gap of not having a local sandbox to dev in and drive it via settings and data provided from the store for maximum compatibility when uploading.

          - keep files locally (in git) -> make changes -> upload -> clear cache -> observe -> repeat.
          - or get creative and carve your own path. ultimately you upload an html file to the server. how you get there is your choice.