4

What is a recommended setup in terms of source control, builds, testing, bug tracking, and deployment for a downloadable PHP application (a la Wordpress, phpBB, Magento, etc.)? As a developer working on the application, what would you expect? What about as a user of the application? Please describe a setup and workflow, as well as any resources you think might be relevant or helpful.

TheLQ
13.7k7 gold badges57 silver badges88 bronze badges
asked Sep 22, 2010 at 23:28
4
  • Maybe StackOverflow.com is a better place for this question? Commented Sep 22, 2010 at 23:30
  • 1
    @Jonas Would be closed too easily Commented Sep 22, 2010 at 23:36
  • I figured this would be the place to try first. It's related to programming, but it's not programming itself. Commented Sep 22, 2010 at 23:48
  • It's a subjective question.Here is the best place. Good luck with answers. Commented Sep 23, 2010 at 0:05

3 Answers 3

2

I've found the following approach to be workable for the app I maintain:

  1. The app is distributed as a single zip, that just has to be unzipped on a working PHP server.
  2. Navigating to the app automatically runs a set of sanity checks (PHP environment, app configuration). Errors explain in simple terms how to fix any issue that crops up.
  3. At first run, if the sanity checks pass, a configuration wizard is launched. This is disabled as soon as a settings file exists.
  4. All customer modifications are done in a special subfolder of the app, that they can copy over from old installs (backwards compatibility is maintained for this folder). Being able to do upgrades by unzipping files and copying around a few folders is a useful feature.
  5. The zip file itself is built with a command-line PHP script that is checked into the source repository. Doing a build is as simple as svn update followed by a call to build.php.
  6. Developer builds are made the same way as release builds, only with a "-no-optimize" flag passed to the build script to prevent minification and concatenation.
  7. The fact that the build script is itself PHP means that any developer can make changes to how the builds are made, without even having to log into our build server.
answered Oct 12, 2010 at 18:09
2
  • +1 - Do you know of any projects that do 4 or 5? Any resources on implementing them? Commented Nov 7, 2010 at 20:51
  • Sorry, it's all home-grown. I can tell you that for minification we're using yuicompressor (placed in the same folder as the build script), and for concatenation of CSS files (with URL rewriting) we're using a hacked-up version of code.google.com/p/minify Commented Nov 7, 2010 at 21:11
1

From the developer point of view I would prefer two ways:

  1. Getting the sources from SVN / GIT
  2. Downloading a packaged Version

But as a user I would prefer a download package (*.zip and *.tar.gz).

There should be

  • readme.txt (or pdf or html)
  • install.txt (or pdf or html)
  • A demo configuration file with a documentation of all parameter

If you install the software there shoul be an installer.php, which checks the requirements and does the configuration work.

As far as I remember the roundcube webmailer had one of the best installer I know.

Chris
5,6433 gold badges30 silver badges39 bronze badges
answered Oct 5, 2010 at 20:49
1

As a user

Everything that's been said already (single tarball, with an install script that does all the necessary environment checks).

Depending on the target market, don't require CLI access - some shared hosts don't allow this, and a lot of new users won't know how to use it anyway.

answered Apr 14, 2011 at 19:35

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.