This page is intended to be an ordered list of pointers to other page. It shouldn't contain any substantial content of its own.
Setting up a Developer PC¶
We have two methods of clocking: one to specify when we arrive and leave the office (including at lunch), and one for when actively working on projects.
Containers and Infrastructure¶
Containers are kind of like virtual machines.
We use them to contain an entire project as a standalone setup, which can be cloned to different desktops.
We have two main servers that host these: cluster1 for websites and cluster2 for Jira and documentation. These are considered the master copies, and we clone those to our desktops to work on
This is for new developers who are not familiar with containers
- They sort of behave like Virtual Machines
- They have their own environment settings and resources
- Limitation: They can only run Linux ( no windows, or any other OS )
- This is really helpful to keep the codebase separate and we can set the environment according to that specific project
- When you attach a container its like running a virtual machine for that project
- After attaching you are on rootfs for that container.
rootfs meaning root file system
In the containers you work like you are on a separate linux machine
- All the containers are located in
- You can access the containers files from here, although you should access them by running the container itself
The handbook is where we document all our systems and processes.
As you learn new things you should add to the Handbook.
Working with Git¶
We use git as our version control system.
We have a container named
gitBare that hosts all of our bare repos. This will be the
origin remote on most containers' repos.
Working with Jira¶
Jira is our support system used for tracking issues and managing projects.
Clients have access to our Jiras, and we use it to share details of tickets as they progress.
Day to day working¶
You'll need to get to know the command line, including naviagting around folders, accessing remote servers and managing local containers
Beyond the git basics, you'll need to know how we make use of it - how we push code around, manage branches and deploy to live sites.
- Branching policy
- [Git remotes] including Bitbucket and gitBare
- [Live site clones] (Needs documenting)
Most development is done in PHPStorm so you'll need to get to know how to make best use of it.
- Install Coding Standards
- Open a project in PHPStorm
- Set up Xdebug
- Try setting some breakpoints to make sure it's working
Make sure that both clients and other members of the team are kept updated with progress (or lack thereof)
These are some key tasks you'll be doing with Magento
- Skills Matrix
- Common config changes such as Base URLs
- Installing extensions
- Debugging tools
- Security patches
- Magento for Developers (8 part series)
- MageCert (more info then you need)
- Getting started with first demo container
- Magento Layout Rendering
- Magento Layout Rendering_Advanced
- Magento tutorial
- Magento Help Guide
- Creating new Module
If module is not displaying then check these things.
- Make sure config.xml is present at MODULE_PATH/etc/
- Make sure MODULE_PATH_NAME.xml is present at app/etc/module/
- Clear you Cache i.e.
Magento parses url in this manner.
- Magento Websites, Stores, Store Views
- Read Article