Madrid, Spain 2014

The following are the talks defined for the event.

WORKSHOP DAY 1 - Thu, August 21st

WORKSHOP DAY 2 - Fri, August 22nd

CONFERENCE DAY 1 - Sat, August 23rd

09:00
09:30

CakePHP Community Keynote

James Watts

An overview of the CakePHP community, providing a year in review with the highlights since the last CakeFest in San Francisco.

The key topics include:

- Our sponsors for CakeFest 2014
- Updates about the project and related news
- Framework milestones and significant contributions
- Community statistics and demographics
- Noteworthy book releases, interviews, posts, and CakePHP events
- How people can get involved and contribute to the project

The slides are not available yet!

The video is not available yet!

09:30
10:00

The road to CakePHP 3.0

Mark Story

CakePHP 3.0.0 is coming soon. It is a big shift from 2.x. What is changing and why? Many aspects of CakePHP will be changing in 3.0.0, and each change has a reason. In this talk, we'll cover the road travelled to 3.0, some of the big important changes, where they came from and what problems we hope they solve for you.

The slides are not available yet!

The video is not available yet!

10:00
10:40

Advanced querying with the new CakePHP 3.0 ORM

José Rodríguez

In this talk I skim over all the lesser known and more advanced features of the CakePHP 3.0 ORM. The emphasis will be put into contrasting the sometimes awkward ways you had to hack CakePHP 2.0 to achieve the same results you can now do in a few lines with the new ORM.

A list of the features that will be shown with real-live examples are result formatters, map reduces, collection composition, custom column types and external association matching.

The slides are not available yet!

The video is not available yet!

10:50
11:30

CakePHP and Auth

Marc Ypes

Going through several aspects of users, accounts and permission within your application. Going through the several core Authenticate adapters and building your own adapter.
Including shameless plug of Opauth project for authentication against 3rd party applications like Twitter, Google and GitHub using Oauth.
Now that we know who the user is, we can decide what the user is allowed to do within the application. Again going through both core and custom adapters.

The slides are not available yet!

The video is not available yet!

11:30
12:10

AJAX and CakePHP

Mark Scherer

Since this topic hasn't been covered a lot (except for a post from me once), and there are always tons of people asking:

A medium talk (30-60?) about how to leverage CakePHP for that.
- When to use GET/POST
- Using extensions
- Not using the helper, but simple jQuery/js

Simple AJAX examples built from scratch could be:

- AJAX Pagination
- Chained Dropdowns
- AJAX Delete
- Fancy PopUp Edit?
- Inplace edit?

The slides are not available yet!

The video is not available yet!

12:20
13:00

Scaling Your MySQL Instances AND Keeping your Sanity

Dave Stokes

The database is the limiting factor for many LAMP stack based systems. But how do you scale up for higher availability, more simultaneous users, 'drinking from the fire hose', or working with NoSQL? This talk covers options (and their costs) to help you plan how to grow your project and maintain your sanity. Covered options include read/write splitting, DRBD, sharding, and many more.

The slides are not available yet!

The video is not available yet!

15:00
15:40

Effective debugging

Andrew dawson

Oh dear, your application has suddenly stopped working as expected. What should you do now?

Using techniques applicable to any php application, we'll go over what to look for and which problems to avoid when trying to determine where the problem lies. We'll show how to correctly identify and deal with problems including:

* network connectivity
* server config issues
* php config
* WSOD
* common CakePHP application errors

The slides are not available yet!

The video is not available yet!

15:50
16:30

Composer and CakePHP: Development is better with package managers

Justin Yost

Introduction to Composer and Packagist
Using Composer to Install Cake (including Cake 3.0)
Using Composer to manage your dependencies, including PEAR packages
Submitting packages to Packagist, including using the composer/installers to load CakePHP Plugins correctly

The slides are not available yet!

The video is not available yet!

17:00
17:40

Bootstrap: Mobile Sites in Minutes

Anna Filina

Bootstrap is a front-end framework that allows you to create responsive layouts, meaning that they automatically adjust to any screen size. It's easy to use, fast to integrate and looks amazing. This presentation will teach you how to quickly create an adaptive layout and with little effort. It will also feature a case study of transforming an existing web application.

The slides are not available yet!

The video is not available yet!

17:50
18:30

Frontend asset management with Bower and Gulp.js

Fahad Heylaal

Leverage Bower as your package manager for the front-end assets of your CakePHP application. Define your packages once (jQuery, Bootstrap, and what not?), and let it download everything for you and check for compatibilities among them. No more committing third-party assets to your repository.

And also utilizing Gulp.js, the streaming build system, for automating repetitive front-end related tasks like converting LESS to CSS, CoffeeScript to JavaScript, concatenating files, minifying them, etc with just a single command.

The slides are not available yet!

The video is not available yet!

18:30
19:10

Writing code that lasts

Rafael Dohms

As developers we write code everyday, only to frown at it a week after that. Why do we have such a hard time with code written by others and ourselves, this raging desire to rewrite everything we see? Writing code that survives the test of time and self judgment is a matter of clarity and simplicity. Let's talk about growing, learning and improving our code with calisthenics, readability and good design.

The slides are not available yet!

The video is not available yet!

19:20
20:00

Testing CakePHP app with Selenium on TravisCI

Yusuke Ando

Testing application is common thing even for CakePHP app.
By using TravisCI, you can automate testing your app with real web browser.
This talk will provide information and example of testing your app on TravisCI.
CakePHP of Redmine, CandyCane is running the test suite with Selenium on TravisCI. it will be an example of real story.

The slides are not available yet!

The video is not available yet!

CONFERENCE DAY 2 - Sun, August 24th

10:00
10:40

Profiling and Optimization: A practical approach

Mark Story

An overview and introduction to a variety of tools, guidelines and techniques for profiling PHP/Javascript applications. I'll be discussing some strategies for profiling, and improving performance. I'll be taking a full stack approach in this talk starting with the browser and Javascript runtime issues. Following that, we'll look at some simple but rewarding HTTP optimizations around caching and reducing requests. Lastly, we'll look at profiling PHP, what to look for and how to fix things. Some tools I'll be discussing are: Chrome dev tools, siege, XHprof and Xdebug. The talk will be given in the framework of some simple rules/guidelines that will hopefully help people make decisions in the future.

The slides are not available yet!

The video is not available yet!

10:50
11:30

Payment processing: you are DOING IT WRONG

Mariano Iglesias

This talk is not only about the technology behind payment processing, but most importantly about the do-dont's that you learn after processing millions of dollars through your webapp.

We will learn how to process payments using a wide variety of payment gateways, including the very popular Paypal, Stripe, Authorize.net, and Worldpay, and several others, but we won't stop there. After learning how to properly process payments, we will leverage this knowledge with a lot of useful tips and techniques, such as:

After learning how to start processing payments, we will leverage this knowledge with a lot of useful tips and techniques, such as:

* Think globally but act locally: one payment gateway DOES NOT fit all. Each country / region has their specific needs.

* Techniques for automatic (aka subscription) payments.

* Should I store CC data? If so, how?.

* Using more than one gateway (and why you definitely should).

* Dealing with failed payment attempts.

* Techniques for solving "common user mistakes".

* Fraud: the moment your start processing payments, a team of fraudsters will try to hurt you. Trust me.

* Fraud prevention: techniques, tools-of-the-trade, how to deal (and prevent) fraudsters.

* Maintaining a good payment experience for your clients.

The slides are not available yet!

The video is not available yet!

11:30
12:10

API Pain Points

Phil Sturgeon

I've been building APIs for a long time now and it is becoming ever more common for server-side developer thanks to the rise of front-end JavaScript frameworks, iPhone applications and generally API-centric architectures. On one hand you're just grabbing stuff from a data source and shoving it out as JSON, but surviving changes in business logic, database schema updates, new or deprecated etc gets super difficult.

This talk will outline the common pitfalls developers get trapped in when building APIs and outline methods to avoid them. Most of it is uncertainty over conventions and "the right way" during v1 development, leading you to make a mess of an API which you then have to drastically rewrite for v2. That is no fun. Learn about POST/PUT/PATCH, data structures, embedding data in the response, sane file uploads, HATEOAS, how to utilize OAuth, etc.

The slides are not available yet!

The video is not available yet!

12:20
13:00

Why You Can't Test

Chris Hartjes

You know that you should be testing your code and working towards the Holy Grail of Continuous Deployment, but that amount of stuff you need to know is bearing down on you like a gigantic iceberg. The tools are difficult. Developers are not taught testing practices from the beginning. You don't have control over the environment. These are the real issues facing developers looking to commit to testing as a development practice. Somewhere along the way we made the whole concept of "testing" difficult and intimidating. In this talk Chris Hartjes discusses his own experiences in dealing with creating an environment in which testing is easy and provides real benefits.

The slides are not available yet!

The video is not available yet!

15:00
15:40

CakePHP Documentation/Contribution

Bryan Crowe

Overview of the importance of documentation in regards to adaptability and retention of framework usage. Stress the point of being an active learner and contribute to the documentation during the learning and novice stages. Offer tips on how one single found mistake could potentially be applied documentation-wide. Talk about looking at and borrowing other projects’ documentation ideas. (ADmad’s “Improve this Doc” idea is an example of this.) Touch on translation efforts. Perhaps a quick demonstration of building the docs for proofreading / ensuring proper ReST syntax. Go over documentation areas that may need improvement at the time of the conference. Also, perhaps some insight into Sphinx itself, maybe a fast overview of Sphinx or how to write a simple extension.

The slides are not available yet!

The video is not available yet!

15:50
16:30

Enterprise Cake

James Watts

More than a technical talk, we'll focus on the design patterns and approaches associated with large scale projects and complex domain models, giving a clear perspective on how to confront these challenges and build solid, robust applications which scale and perform with CakePHP.

We'll look at how we deal with enterprise level applications at the Cake Development Corporation (CakeDC), as well as the strategies and tools we use to get the job done right!

The slides are not available yet!

The video is not available yet!

17:00
17:40

AngularJS Fundamentals Tutorial

Rosina Bignall

AngularJS is the fastest growing Javascript framework and for good reason. Come learn why and watch while we build a simple application (no it won't be the standard To Do app) right before your very eyes!

If you haven't used AngularJS, this talk is definitely for you. If you do any front end work at all, you need to know about AngularJS. If you're using AngularJS already I may be able to answer some of your questions and we'll talk about best practices when building an Angular app. We may even touch on some more advanced features.

The slides are not available yet!

The video is not available yet!

17:50
18:30

Asynchronous data processing

Andrea Giuliano

Choosing the right way to process data might become a strategic and non trivial decision for many kind of applications. Especially in applications where an high percentage of the time is spent elaborating information behind the scenes.

There are different message queuing systems designed to manage and process data asynchronously. Using simple messages, it becomes possible to define many types of queue patterns, from the straightforward solution to the more complex one like routing, publisher/subscriber and topic.

The purpose of the talk is to show how to approach the different scenarios in php, adding value to your application.

The slides are not available yet!

The video is not available yet!

18:30
19:10

A/B Testing on a Variety of Platforms

Jose Gonzalez

Unit Testing is great for telling you when your application is broken, but how do you know if your revenue streams are broken?

This talk will cover the basics of A/B Testing, what things should be A/B Tested, how to measure conversions, and show off a few tools that can be used in your CakePHP applications to test your business and marketing theories.

The slides are not available yet!

The video is not available yet!

19:20
20:00

Croogo for business applications

Pierre Martin

This talk is an overview of the current Croogo features making it a solid base for custom business applications.

We will go over things such as Composer usage, the events system, plugins, migrations and admin interface creation process to illustrate how Croogo leverages CakePHP to help you write better applications faster by focusing on your domain.

The slides are not available yet!

The video is not available yet!