Reddit discussion & feedback for version 0.1

I had a good discussion with some intelligent folks over at Reddit about version 0.1. They raised a few concerns about plugin compatibility and security that will be addressed in the next version.

New Shortcode – [rp_paged_menu]

Using the [rp_paged_menu] shortcode you have the ability to insert one of your WordPress menus as a paged menu similar to how the iPhone navigates between screens.

View all of the Shortcodes

Besides an overhaul to the code-base, there are some new features coming as well

In version 0.2, most of RP’s shortcodes will include a “design” attribute that can be used to quickly specify a pre-built design (style/animation/functionality/etc) for the shortcode.

Need a red 3d button that highlights on hover? No problem: [rp_button color='#ff0000' design='3d']

How about a blue push button with an icon that links to Google? This should do it: [rp_button color="#0000ff" design="cassette" icon_class="icon-gplus"  link="http://google.com"]

What about a dark gray paged menu system based on your main menu? Pretty simple: [rp_paged_menu design="dark"]

This also means we can include new “designs” in future releases and publish a full catalog of designs that developers can browse to find a design that is best fit for their current site/project. I’m also looking forward to a global “design” feature that basically sets the default “design” for all shortcodes to a specific name. For example, if I set the global design to “dark”, all shortcodes should use the dark design by default without the need to specify it each time. This would make it really easy to adapt the entire repertoire of Rapid Platform’s UI components and shortcodes to a specific site/theme. Furthermore, if designs become a solid feature I’m hoping to see what crazy designs the WordPress community comes up with.

My biggest challenge is the fact that some of these shortcodes use anchor <a> elements and what if a theme already specifies global styles for all <a> elements? We end up having to override those styles at the shortcode to prevent them from affecting the natural design. Rather than using a broad CSS selector such as a {color:black;} one could always style their anchors more carefully using something like p a {color:black;} so that links are only styled if they reside within a paragraph (body of text), but that means if we have a shortcode inside of a <p> element we have the same problem as before…

And there’s not really a way to “reset” CSS styles at a specific element/DOM node unless you wrap it in an iFrame (starting a new document), so I’ll be researching/testing some other methods. Perhaps I will eliminate the <a> elements from shortcodes altogether and just reproduce their functionality with a <div> using HTML5′s data-* attribute to store the href and setting {cursor:pointer;}.

Read the full discussion

Major progress! Getting real close to a release for version 0.2 now…

Following the release of version 0.1, I made a post on reddit to ask the community for some feedback. They provided a lot of useful suggestions (mainly code corrections) which I’ve taken the time to address in version 0.2. Most if not all of the suggestions/issues from that reddit discussion have been implemented/corrected, including:

-Using a class/OOP model for better namespacing (avoids having many globals and very_long_global_names)

-Fixed some unnecessary inline calls to wp_enqueue_script; this is now handled via action hooks.

-Now using the WordPress core jQuery/jQuery UI instead of custom CDN versions to avoid breaking plugins and compatibility.

-Data is now being sanitized in key places.

-Session is still being used against recommendations. It works well (see my previous post about this) and if it becomes an issue it can be changed easily.

-Cleaned up and unified a ton of comments/wording.

-Eliminated the custom ajax endpoints; this is now handled via wp_ajax_* action hooks.

-Admin notices have been rewritten for the class/OOP model.

-Will be looking into hosting at the WordPress.org SVN for version 0.2/0.3…

I’ve gone through the code and unified several naming conventions; shortcodes now include a ‘design’ attribute for setting the overall look/feel (the previous ‘class’ attribute no longer handles this and works generically as expected). Some shortcodes have multiple designs already and more designs will be developed/included in future releases or as separate add-on packs. Improvements to style/class/attribute names have been made across the board.

The Google Custom Search Engine feature has been converted into a shortcode which is simple to use and now allows for multiple search engines on one page –  [rp_gcse cx="my search engine id"].

Read the full discussion

Rapid Platform Plugin Version 0.1 Released

Rapid Platform Plugin Version 0.1 has been released! Being that this is the first release (alpha quality at this point), I expect some issues/bugs right off the bat – though therapidplatform.com uses this version of the plugin and everything seems to be alright. There isn’t much documentation yet but I’ve commented the code where possible and described the features in detail at therapidplatform.com. Feel free to ask questions or report issues with this version by replying to the Google+ Community announcement and providing any details you’ve gathered. I’m looking forward to hearing from you.