As I’ve been developing the Ninja Forms 3.0 API, Kevin Stover has been developing the Ninja Forms 3.0 Builder. This builder is sweet. We are so super excited (yes, so super excited; quote me on that) about this new form building experience. However, it has been a great development tease to see it in progress, knowing that I can’t, yet, reach out and build forms with the beautiful new UI. None the less, my work has required form data and I needed a way to build a form without the builder. In the interim I’ve been building forms programmatically, which has some really cool possibilities.
As we work through developing a new version of Ninja Forms, I’ve been thinking about the cool new features that I can incorporate into the Ninja Forms Kozo Add-On Generator. A majority of Ninja Forms extensibility is moving to the Form Action system, which is where Kozo is anyway. Having a preview of the direction for Ninja Forms 3.0, I was able to start moving Kozo in that direction from the beginning.
While re-writing Field Class Registration for Ninja Forms 3.0, one of my goals was to clean up the file structure for adding fields. Previously, in Ninja Forms 2.*, new fields were created with procedural PHP, long argument arrays, and prefixed WordPress action hooks. These files were large, messy, and a burden to maintain. As a part of the re-write process, we were able to step back and take a fresh approach for registering new form fields with the Ninja Forms drag-and-drop form builder.
Alex Ogle, co-founder of Tubatomic, reminds us of the importance of communication in our work, not just for the consumer, but also for ourselves. In his talk, “Avoiding Zombies” (slides), he analogizes zombies to “creating without communications”. This is important if we are to create good work, for without communication with our audience, without a story, we are mere zombies. We must remember to “Find the Story” and communicate it.
Have you ever wanted to use that cool AJAX thing, what ever it is? You know, that cool thing that all the cool kids are using? What is AJAX, anyway?
Here is a little detail on how I setup my development environment for WordPress plugin development.
Ninja Forms leverages three (3) main database tables for storing form and form action data:
The `nf_objects` and `nf_objectmeta` tables mirror the setup between the WordPress `posts` and `postmeta` tables. With this setup, the `nf_objects` table is essentially a list of objects without any real information about each object. This keeps the table small and the queries fast.
“Hey Kyle, Rely Race… you in?” A few months ago, Jeremy, our CFO, asked if I’d be interested in a relay race with a group from the office. “Sure, sounds like fun” I said. However, Jeremy never said anything about a running relay race. Of course a relay race is a running relay race, but I was expecting a water balloon relay at a fall festival (or some such nonsense).
The WP Ninja team met Matt Thackston, product manager at MyEmma.com, at our sponsor table for WordCamp Nashville after his session on “How to grow your email list with your WordPress site”. In his talk, Matt shared statistics and strategies based in his experience as a product manager in the email marketing field.
Throughout WordCamp Nashville, multiple people dropped by our sponsor table to ask if we had support for the Nashville based email marketing service, Emma. Today we officially launched the Ninja Forms Add-On for MyEmma.com.
I’d like to take a minute and introduce you to the new Ninja Forms Add-On for Emma.