Customised qdPM in PHP for ticket tracking
Under contract · Mediapilote○ Archived
Adapting qdPM, an open-source PHP project management tool, to the agency’s needs: ticket assignment, quick time entry and Mailjet email notifications.
Context
Mediapilote tracked its projects, tasks and support tickets in qdPM, an open-source project management tool written in PHP. Out of the box, it lacked features the team needed every day.
I adapted the tool in five days of development, on a Docker environment set up for the job.
Challenge
qdPM is built on symfony 1, an old framework, with a large and poorly documented codebase. Every addition had to fit into what was there without breaking the original screens.
The other goal was speed of use: logging time, assigning a ticket or notifying a colleague had to take a few seconds.
Approach
I added ticket assignment to several users, links between tickets and tasks filtered by project, priorities, worked hours in comments and a client column in the lists. A quick time-entry mega menu lets users find a project, task or ticket by search.
For notifications, I connected Mailjet through a small Node.js proxy, with a fallback to the direct API: ticket resolution, user mentions with autocomplete, password reset. The tool also got a Mediapilote-branded skin and client-side paginated lists with DataTables.
(04) — Results
Key figures- 5
- days of development
- 21
- commits
- 3
- emails: resolution, mention, password
- Docker
- development environment
