Onboarding Developer

Note

This page is intended to be an ordered list of pointers to other page. It shouldn't contain any substantial content of its own.

Fundamentals

Setting up a Developer PC

Redacted

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

LXC Containers

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 /var/lib/lxc/
  • You can access the containers files from here, although you should access them by running the container itself

Handbook

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.

Clocking

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.

Redacted

Security practices

Redacted

Day to day working

Development practices

Command Line

You'll need to get to know the command line, including naviagting around folders, accessing remote servers and managing local containers

Git

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.

PHPStorm Setup

Most development is done in PHPStorm so you'll need to get to know how to make best use of it.

Reporting progress

Make sure that both clients and other members of the team are kept updated with progress (or lack thereof)

Redacted

Magento 1

These are some key tasks you'll be doing with Magento

Module Problem

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. magerun cache:clean and magerun: cache:flush

URL Parsing

Magento parses url in this manner.

Magento Help