7

I don't use GIT or anything (yet) but am trying to speed up the time it takes to set up a new EE site. I'm finding that I'm setting up a lot of the same channels, custom fields, low variable, etc. So I'm wondering, is it / should it be possible to set up a new site the way I want, export out those tables, then import them to sites afterwards as a jump start?

I tried this, and it worked - sort of. I tried to export out my tables for Low variable groups and low variables. Both imported fine. However, while the groups showed up in the CP, the variables didn't (even though they were in the database).

Anyway, thanks for any thoughts you have about this, or tips/links on accomplishing something similar!

Todd

5 Answers 5

2

I don't pre-populate channels and fields because my sites tend to be slightly different and sometimes I like to try a different approach to solving the same problem. That being said, what I do can be modified to add channels/fields. I built a default install with a set of free add-ons I use all the time that make development easier (Switch:ee, If/Else, Responsive CP, etc.) I created a DRY config file that only requires a few setting changes when duplicating this site. Once I setup all the add-ons and config files I export a .sql file from Sequel Pro and save this at the root of my default site. When I need a new site I create an entry in my httpd_vhosts.conf and hosts files, duplicate the directory, import the DB using Sequel Pro, make the necessary changes to my config file and voila, I have a new site up and running.

Now, you could certainly setup as many channels and fields that you believe are common from site to site right after setting up your default install. When you import the DB to your server (in my above case it's a local dev server) the channels and fields come along for the ride. You could also place all these files into git, something I'm learning more about so I can do just that. Carl Crawley did a presentation at EECIConf 2012 that made this process take less than a minute and all managed and updated through git but my manual approach only takes about 5 minutes to go from nothing to a new site.

2
  • I do something similar. I have a base install that I reuse. It requires updating add-ons that have newer versions sometimes, but it saves me setting a whole bunch of config items in the CP - paths, etc. Has worked well overall.
    – 4midori
    Dec 3, 2012 at 20:43
  • Thanks Stuart - that is the kind of plan I had in mind. I was going through the entire process of first installing EE, but really that isn't even necessary. You gave me several ideas here!!
    – Todd
    Dec 8, 2012 at 21:54
8

This largely depends on what you are trying to do. So many of my sites are so different that I wouldn't get much of a time savings by setting up much of anything in the DB for re-use.

However, here are your options in general.

The NSM site genator looks promising and it's all open, but it seems to have been light on activity lately. The last commit appears to have been 5 months ago. Dead project?

http://ee-garage.com/nsm-site-generator

If you do a search for "import" at http://devot-ee.com then you will see a lot of add-ons which you can use to import data in other formats. Because the control panel is the slowest cog in the process, I think creating data in X format using offline tools and then importing that data would save a bunch of time.

You could also just setup add basic items to a bootstrap base install of EE, but again, it's the control panel which slows me down. So, an importer would be faster.

Certain modules from developers such as Solspace provide auto installs to get examples for their add-ons working. This can be quite helpful at times, especially if you have never worked with the add-on before.

Of course, the items which jumps out to me is that you don't know Git. Fix that! By far you will get the most benefit by setting up one base install, copy that to your repo and then clone that repo for each new project.

Also, more and more, developers and clients are expecting to have the development backed up in a version control system. Using Git also gives you more options for fast deployments, and this can save you a lot of time and headaches as well.

1
  • Thanks, John. I appreciate the links - and the push towards Git. I'm working on three projects right now and two of them have similar setups. So it just got me thinking about how I could speed up setting up some of the things. But you make a good point - what is really going to be the same on each one that you don't spend time going back and undoing something that is set up. I've created my "new site" folder with add-ons, etc. So that helps. As for Git, I've started to mess with it but that's about it. Looks like it needs to be a higher priority - for a number of reasons!
    – Todd
    Dec 1, 2012 at 17:27
4

Not sure about pre-populating sites with channels etc as every project is different but Made by Hippo posted an article re getting EE up and running quickly, might be useful to you, I've adopted a couple of things like pulling out config file to assets folder.

1
  • Thanks - I thought I came across that once but didn't save it. I'll check it out again!
    – Todd
    Dec 1, 2012 at 17:25
2

One way or another you'll have to dip in to git and the best thing is you can accomplish most things with out even touching the terminal.

For example have a local install via MAMP. Setup everything to a point where you feel confortable e.g. channels, fields, categories, snipets, variables and any other settings. Export database as file then create a Bitbucket account (which is free), get Sourcetree, create a repository and connect it to the local install folder via Sourcetree and commit which syncs files. This then becomes your base template for future projects which can be installed in a few minutes.

1

To populate a new install with dummy content you can use http://squarebit.co.uk/seed.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.