Piklist v0.9.9 Public Beta and Next Steps

About four years ago, Kevin and I started developing Piklist. It didn’t start out as the most powerful framework for WordPress. What we originally planned was an application-type plugin.  However, we quickly realized we were building a plugin that allowed you to build powerful applications.

We took everything we knew about customizing WordPress and vowed to make it easier, and more powerful. Not an easy task.

Using part files and comment blocks to configure parts of Piklist without writing PHP was one way we made WordPress easier. We had no idea if this was a good idea, or bad one, we just knew that we loved using it and hoped others would as well (and you definitely do!).

The first feature we tackled was admin fields, the basic building blocks of the WordPress admin.  Then we started to include all aspects of WordPress; Widgets, Shortcodes, Admin Notices, Help Tabs, Pointers, Front End Forms, etc.  And also included features to make WordPress even more powerful: WorkFlow Tabs,  Infinite Repeater Fields, Conditional Fields, Field Validation and more.  All the while making sure Piklist was easy to use.

This is why we’ve kept Piklist in beta.  We wanted to make sure the processes we were creating made sense as we added more features. Creating an enterprise level framework that’s also easy to use is a balancing act.

We are now ready to bring Piklist out of beta!

The first step is having you test version 0.9.9. We want to make sure your existing code and data work as expected.  There are two features we’ve updated in v0.9.9 that we believe needed to be changed before Piklist gets to v1.0. Some of you may have to edit a little code but most should be fine.

WorkFlow Tabs

One of the most powerful and popular features of Piklist are its Workflow tabs. However, this is one of those times we were unhappy with the way you implement them. Unlike other parts of Piklist, you need to use a function, include_meta_boxes(), to include meta boxes into a flow. Not only is this not the Piklist way, but it also limits the power of Workflow tabs.

Starting in v0.9.9, the include_meta_boxes() has been replaced with a more “Piklist-like” way of assigning sections to a WorkFlow.  You simply include the Flow and Tab parameters in the comment block of your section files (i.e. meta-boxes). Full documentation can be found here >

Unfortunately, this is one of those rare times when a Piklist feature is not backwards compatible. Kevin and I debated long and hard about this, and ultimately decided this was the best way to go for both the project and you.

IMPORTANT: Existing Workflow tabs will not work until you make the change.

Add-More Field Data

Have you ever looked in your database and checked at the data Piklist is saving for you? If not, we suggest you do. It’s beautiful. Seriously beautiful. We work had to make sure the data saved is simple to read and easy to use.  Feel free to compare it to other field frameworks. You will see a big difference.

With almost every Piklist field you can use standard WordPress functions to retrieve your data. You already know how to use get_post_meta(), get_user_meta(), etc., so why should Piklist make you use custom functions instead?  The exception is the Piklist Add-More repeater.  Since you can literally create infinite levels of add-mores, with totally different groups of fields, and re-sort them if you like… you can guess that the data saved is a serious array. In the past, this data needed to be passed through the piklist() function for you to retrieve and use it in your themes.  This is something that always bothered us.  We want your data to be beautiful, and with this field it wasn’t…until now.

v0.9.9, Piklist will ask you to run a script to update your Piklist data. Once the update is complete, ALL Piklist data will be able to be pulled with standard WordPress functions.  Your existing Piklist code will be backwards compatible, however, any custom code you wrote targeting the old array structure will not work.  You will have to rewrite them.  IMPORTANT: Please back up your database before running the upgrade script and report any problems you see.

Post Relate Field

The post relate field is going away in Piklist v0.9.9… and will be replaced with an OBJECT Relate field. You will now be able to relate any object…to any object…to even another object. When you run the upgrade script your relate field data will be migrated to the new format, and the post_relationships table that Piklist created in the past will be removed. You should not have to do anything else.

Next Steps

Here is our plan to get Piklist to v1.0. We hope you can help.

  1. Backup your websites database. We cannot stress this enough.
  2. Download v0.9.9 from WordPress.org trunk, install, run the upgrade script and test, test, test. Test your code by editing a page that has Piklist fields on it, and then press save.  Do the fields look correct to you? Is the data displaying correctly on the front of your site? Please let us know if you find any bugs by posting on our support forum.
  3. Test the built-in demos. Add some data…save…edit it…save…repeat.
  4. After we receive your feedback and make any necessary changes, we will mark it as the active version on WordPress.org so everyone can easily upgrade with a push of a button.
  5. Once we are confident with the stability of v0.9.9, we will release v1.0.
  6. Other plugins like Toolbox and Fields and Forms will be released after Piklist is at v1.0. In hindsight, these plugins were announced prematurely. We realized that we need Piklist to be 100% stable before we can build plugins like these on top of it.

Kevin and I both view version 1.0 as just the beginning of Piklist. We have lots of ideas for features, plugins and add-ons once Piklist is at this point.

As always, thank you for using Piklist and giving us your feedback.

Please report all issues to the support forums. We are here to help you.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.