Schedule

The following are the timetables defined for the workshop and conference days.

08:00
09:00

Reception, Welcome and check in

Confirm entrance and collect name badge.

09:00
12:00

Basic Workshop Day 1

Join us for a structured workshop on building a basic CakePHP application - learn application structure including models, controllers and views. Complete with interactive examples and much more!

12:00
13:45

Lunch

Take some time for a lunch break.

13:45
15:45

Advanced Workshop Day 1 Part 1

Advanced Workshop Day 1 Part 1

15:45
16:00

Leg Stretch

Short Break

16:00
17:00

Advanced Workshop Day 1 Part 2

Advanced Workshop Day 1 Part 2

09:00
12:00

Basic Workshop Day 2

Continuation from Day 1

12:00
13:45

Lunch

Take a short break for lunch

13:45
15:45

Advanced Workshop Day 2 Part 1

Advanced Workshop Day 2 Part 1

15:45
16:00

Leg Stretch

Short Break

16:00
17:00

Advanced Workshop Day 2 Part 2

Advanced Workshop Day 2 Part 2

08:00
08:55

Reception, Welcome and check in

Confirm entrance and collect name badge.

08:55
09:30

CakeFest 2019 open and Sponsor Keynote

A short welcome to CakeFest 2019 and a few words from our Diamond Sponsor

09:35
10:10

A safer and more helpful CakePHP in 4.0

Mark Story

CakePHP is quickly approaching a 4.0 release. While it cannot read minds, we hope that it will help you develop your applications quickly and more safely. Safety, and early helpful feedback are two themes of CakePHP 4.0. I'd like to talk about some of the larger changes in CakePHP 4.0 and how they aim to make building applications easier and safer.

10:10
10:25

Leg Stretch

Short break

10:30
11:05

The CakePHP features I wish you were using more

José Rodríguez

CakePHP is a big framework with thousands of cool features, so it's not your fault you don't know them all by heart. In this talk I'd like to point to a few lesser known or under-utilised features that could make your life easier and your applications more robust.

11:10
11:45

Consider a smooth upgrade to CakePHP 3

Yuki Kanazawa

It is important to be able to upgrade smoothly in order to keep using CakePHP.

Lancers of the crowdsourcing service gradually upgraded the 600,000 step source code from CakePHP 1.3 to CakePHP 2.8 step by step.
In order to upgrade the version without stopping the usual enhancement development, Model and Lib co-existed 1.3 and 2.8 and upgraded by Controller unit, it took about 1 year.

To upgrade to CakePHP 3, there is a bigger problem such as ORM acquisition format.

I will introduce the controller-based migration method we conducted this time and further think about how to solve the problem of CakePHP 3 transition.

12:00
13:30

Lunch

Included in ticket price

13:30
14:30

12 Factor CakePHP Applications - The Remix

Jose Gonzalez

In many cases, developers will write code and assume it will perform exactly the same or better in production. However, as we’ve all seen, applications that build correctly locally do not necessarily perform well once they are being used by the world at large.

In a previous incarnation of this talk, there was a brief overview of what 12 factor applications are and how to best apply those principles to CakePHP Applications. This talk will cover practical changes that can be made to a PHP application - in this case using the CakePHP framework, but easily applicable to other frameworks - in order to better support distributed, cloud-based environments, as well as various tactics developers can use to monitor and alert on application health.

14:35
15:10

Test-driven development to avoid painful of test code

KAZUKI HIGASHIGUCHI

Recently the importance of testing is increased among PHP developers, I feel.
However, some people feel it painful to write test code. I think the cause is "no testing code is not good design, that's why testing become very tough."
To avoid such a painful, I think Test-driven development(TDD) approach is useful.
This talk will be useful for people from beginner to intermediate level.

15:15
15:30

Leg Stretch

10 minute leg stretch

15:30
16:05

CakePHP & Spatial Big Data - Visualising Spatial Data & Metrics over 70 Billion+ rows

Daniel Voyce

LOCALLY is a global leader in location data intelligence and real-time consumer engagement. Our innovative and highly precise location technology merges physical places and digital devices with powerful AI and ML models, along with the transparency of blockchain, to deliver insights that are actionable at scale.

We have been working with CakePHP 3.x since the inception of the company (and personally as developers over 8 years), where we were processing around 500K records per month through a standard MQ workflow, over the past year we have scaled up to be ingesting over 20B records each month.

This talk will discuss how we interface our Data Warehouse with CakePHP to produce sub-second aggregation counts over Billions of rows over a variety of metrics, we talk about how we integrate with Presto (A Facebook open-source Big Data Query Engine) to provide an SQL like interface to our data-warehouse that is accessible by CakePHP and how we use HyperLogLog++ Sketches to allow for dynamic up-to-the second unique aggregation counts of both standard metrics and Geospatial Joins to be achieved in sub-second times.

16:10
16:45

Working with Database Replication

Tadahisa MOTOOKA

This talk is related to the RFC "Read/Write database splitting" https://github.com/cakephp/cakephp/issues/9197
As mentioned in comments of the RFC, it's true that supporting database replications in the core is not the best way. But more applications than ever before are based on replicated databases and managing connections. This talk intends to introduce ways to support replications.

Also, this talk will include the following topics :

- design patterns to support read-replicas
- adding read-replica to an existing CakePHP application
- transaction considerations
- unit test considerations
- database replications for local development environments

16:45
17:00

Leg Stretch

Short break

17:00
18:00

Lighting Talks

Selected on the day - each speaker will get 10 minutes to talk about any topic of their choice!

08:30
09:10

Beyond unit testing: How to make your applications more reliable

José Rodríguez

It seems to be common knowledge that unit testing your code is a good guarantee for quality software, but whoever has tried to test all aspects of any given couple application, has come to the conclusion that unit testing is not enough to catch the important bugs or that the amount of effort it requires seems to not be paying off at the end. How can we do better?

In this talk we will explore several techniques that will help you catch bugs faster, and before your clients do. Some of those techniques include but are not limited to: using static analysis tools, refactoring code for clarity, and thinking thoroughly about your application.

09:10
09:45

GraphQL, CakePHP & JWT: A Fast & Secure Redemption from REST Hell

Prosper Otemuyiwa

Creating fast and secure data-driven apps can quickly become a nightmare. Wander profound into the gut of the program to reveal the mystery chants to lesser http round trips, better queries, mutations, schemas and subscriptions. And securing them with JWT.

This talk centers around the concepts of harnessing the power of GraphQL and JWT with CakePHP in building secure APIs that are fast and scalable. Give it a REST, long live GraphQL!

09:50
10:00

Leg Stretch

Short break

10:00
11:00

Baking with Vue.js

David Yell

The development landscape is changing, and as always Javascript is the front runner. In my job we produce lots of visual tables of data, which all need sorting and filtering. This talk will cover how we developed a new front-end dynamic table component for our CakePHP websites using Vue.js and CakePHP.

How do you integrate Vue.js into your CakePHP application? What can Vue.js do for your CakePHP application? Hopefully after this talk, you'll have a better understanding of the answers to those questions. We'll be looking at an internal CakePHP web service and how to interact with Vue.js to use that new web service.

11:00
12:00

CakePHP with Habitat - Build once, deploy everywhere

Graham Weldon

Deploying CakePHP is pretty easy. The work of the core team over countless years has made this possible. But this doesn't overcome the issues surrounding deploying to multiple target systems, and ensuring the base runtime (PHP) is the same everywhere. I'll talk about a deployment with Habitat, and how that guarantees the same runtime on every system, no matter what Operating system you're using.

Habitat is an open source project by Chef that bundles and packages any type of software. It covers problems such as service discovery, rolling updates, and packaging your application to run independent of the host operating system.

In this session, I will take you through a non-trivial example of the Habitat build process, and what it looks like to deploy updates to a Habitat supervised CakePHP application. Boost your flexibility in deployment, and speed to deploy updates safely with Habitat!

12:00
13:30

Lunch

Lunch break

13:30
14:05

Building interactivity with websockets

Wim Godden

The time of static or dynamically generated sites is long gone. Non-stop interaction with users is the new normal. However, polling with Ajax requests is processor intensive and cumbersome. Websockets allow you to interact with users in real-time without increasing system load. We'll go through the basics and see all the different options, illustrated with live examples.

14:10
14:45

Life after CakePHP

Andrej G.

After 10 years with CakePHP, I started my new job at a company using another popular framework as a tool of choice (spoiler alert - Laravel). After such a long and deep relationship, I unwillingly look at everything through CakePHP prism and now, after having extensive experience with something different, in this talk I'd like to summarize why I love CakePHP, what makes it such a great tool, as well as what could we, as community, do better, compared to other frameworks. Both tech and non-tech wise. What is the life like after CakePHP?

14:45
15:20

Let's start your first OSS with CakePHP

Sho Ito

Have you ever wanted to develop OSS? But, many people can not move to action. I used to be the same as you.
In this talk, I will tell you step by step how to make and publish OSS with CakePHP. And, I will also introduce the learned and cautionary points in this experience.
Specifically, it is a talk when I made OSS called "Easy Query" which behavior plugin for easily some complicated queries like upsert, bulk upsert and bulk insert.
Through this talk, I would like to support your first OSS development!

15:30
16:00

Leg Stretch

Short break

16:00
17:00

Raffle and Cake

CakeFest 2019 Closing ceremony