Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.
Joomlatools Composer Installer
This Composer plugin will install extensions into your Joomla setup.
FOF2 (Framework on Framework 2)
FOF is a rapid application ...
WampServer is a Windows web development environment. It allows you to create web applications with Apache2, PHP and a MySQL database. Alongside, PhpMyAdmin allows you to manage easily your databases.
Mamp (Mac: Both Community and Commercial versions)
MAMP installs a local server environment in a matter of seconds on your Mac ...
On the PHP side:
XDebug: A PHP extension for developers that allows you to do ...
Simply install the extension or template again (without uninstalling the original) by uploading it to the Extension Manager.
We typically create fully installable extensions for our sites. We install them on our development server for testing, and when they are suitable, we simply install them on the production server. As long as the method in the manifest ...
Frontend (template, framework etc):
Notepad++ (for extreme speed and simplicity)
Sublime Text (super fast and feature packed)
PhpStorm (Full PHP IDE)
Quickly and easily develop desktop, mobile and web applications
with Java, HTML5, PHP, C/C++ and more. NetBeans IDE is FREE, open source, and has a worldwide community of users and developers.
Eclipse PDT (PHP ...
Adobe Edge Inspect CC (free)
Edge Inspect is an essential application for web developers and designers who need to preview their content across multiple mobile devices. Wirelessly pair multiple iOS and Android devices to your computer, grab screenshots from any connected device, and see real-time results from changes to HTML, CSS, and ...
Design / Development / Management:
MySQL Workbench - (Windows, Mac, Linux)
MySQL Workbench is a unified visual tool for database architects, developers, and DBAs. MySQL Workbench provides data modeling, SQL development, and comprehensive administration tools for server configuration, user administration, backup, and much more.
With MySQL ...
There are some free and paid extensions that can help with staging.
EasyStaging is a free extension from Craig Phillips (who is an active member on this forum): http://extensions.joomla.org/extensions/hosting-a-servers/database-management/21308
SP Staging is a paid extension from SP Cyend: http://extensions.joomla.org/extensions/access-a-security/site-...
SourceTree (Windows, Mac)
SmartGit (Windows, Mac, Linux)
Github Website (must register first before using any of the below)
Git Bash (Windows - command line)
Git Bash (Mac - command line)
Github (Windows - GUI)
Github (Mac - GUI)
Version control software list on Wikipedia
Database Version Control:
I can answer based on how we work at Virya Group - our CTO Marco Dings has been writing these up in a series of articles: http://magazine.joomla.org/issues/issue-apr-2014/item/1842-practical-development-3-project.
We use Atlassian products - Jira, Stash, Confluence etc.
We set up our working environment as a vhost for each project - we're working on ...
I don't understand why you set up the bare / public structure;
I only use the public_html as the root of the repo, with a very complete .gitignore (which needs to be updated after each new Joomla! update, with git status you find the new files and add them so they don't get versioned).
Developers push to development branches; in the end when a release is ...
System Requirements for Joomla! 3.x
Also for those that are just starting and want to setup their environment, or simply need to install Joomla, these are the basic system requirements for Joomla to work:
Magic Quotes GPC off
We have been using a similar workflow as described above by RCheesly. I'd highly recommend the Atlassian suite of products for project management. This lets us tie commit messages to JIRA tickets to leave an audit trail in bitbucket. We always create a feature branch i.e feature/joomla-update/JIRA-ticket-no, perform work on that branch and test before ...