jQuery integration status
Hi all,
Just wanted to give you an update of the 2.0 status.
http://trac.qcu.be/projects/qcubed/query?status=infoneeded&status=in_wor...
Briefly, all examples are now working again.
If you take SVN 2.0 and apply all patches that are currently in Q_A (with exception of #142), all examples should be working, as well as all codegen and generated forms. Would love to see some feedback on this.
Next steps
- verify if plugins still work (would be great if they worked out of the box!)
- start converting the legacy javascript files to jQuery
- further integration of jQuery properties for the UI components (we now allow little control on how jQuery UI components such as the DialogBox can appear)
- integrate resizing on all controls
Any suggestions, let us know and create some tickets!
Regards,
Kristof
QCubed Server Migration
Folks,
We'll be migrating the qcu.be server - and all related services (Trac, SVN, etc) to a server kindly donated by Piranha Method. The website will be inaccessible for about 24 hours. We'll let you know as soon as that's completed.
Thanks!
-Alex and the rest of the Core Contributors
Integrating jQuery - part III: continuing the work
After the feedback received from my previous posts, I continued where I left of integrating all other events into qcubed.
For now, the following are done:
- Mouse Events: all with exception of toggle() and hover(): those events require 2 actions to be performed instead of 1. QCubed currently cannot handle this
- Keyboard Events: All integrated and removed some code for browser specific behaviour
- Form events: Form Events: all integrated, except onsubmit()
- Browser Events: error(), resize(), scroll(): not integrated
- Document Loading: load(), ready(), unload(): not integrated
- Event Object: not integrated
Q/A:
- toggle and hover can accept 2 parameters: should we support that through QCubed?
- How about integrating error(), resize() and scroll() ? Do we want/need this? Suggested approach?
- Should we initialize QCubed through ready() event instead of normal at the end of the page?
- Event object: I would love to be able to access the data on the server side! Can we somehow serialize (or json) this object and pass it in the form, so we can access the data on the server?
Kristof
QCubed 1.1.1 and 1.0.2 released!
Folks,
I'm pleased to announce the refresh of both of our product lines: QCubed 1.0 and 1.1. As you know, QCubed 1.0 is a branch that's meant to preserve perfect backward compatibility with our predecessor, QCodo; on that branch, we only do bugfixes. QCubed 1.1 is heavily reworked and has tons of new features, and most importantly, supports plugins authored by the community.
Today, we're announcing the official promotion of QCubed 1.1 product line into our STABLE BUILD. QCubed 1.1.1 is the new stable build.
QCubed 1.0.2 is the "legacy maintenance" release. We no longer recommend building new production systems on top of it - use that release only to patch your existing sites. Build all new sites on QCubed 1.1.1.
So, what's new in the 1.1.1 release? A bunch of stuff! The details are in the changelog, but here is a sneak peak:
- Integrated jQuery 1.4 and latest jQuery UI bits, signifying our long-term commitment to the jQuery framework.
- Resolved a myriad of little PHP 5.3 and E_STRICT issues.
- Finally resolved all backward-compatibility problems with QDateTime::__toString(). This has been a contentious issue; we found a solution that made literally EVERYONE happy.
- Added a new little component, QTimer, that lets you do lightweight debugging. See it in action.
Go download these new bits and let us know what you think! And of course, don't forget about the plugins - there's 20+ already!
Migrating QCubed javascript to jQuery - Part II: document.ready integration proposal
While waiting for feedback on Part I, let's get going with part II.
In this article, we will try to find out how we can replace the classical style of handling javascript events by the "jQuery" way of handling events.
Introduction
In normal javascript style, events are generally handled through an attribute inside the element.
For example, a click event will be handled by the onclick event handler of the element.
QCubed/Javascript way:
<button type="button" name="c2" id="c2" class="button" onclick="qc.pA('SampleForm', 'c2', 'QClickEvent', '', ''); return false;" > Click Me </button>jQuery way:
<script type="text/javascript">
$j(document).ready(function() {
$j("#c2").click(function(e){
qc.pA('SampleForm', 'c2', 'QClickEvent', '', '');
return false;
})
});
</script>How we do this?
Migrating QCubed javascript to jQuery - Part I: Ajax post through jQuery
Since the release of jQuery 1.4, I have been very eager to integrate jQuery into QCubed. Integrating a solid, cross browser javascript engine to QCubed could leverage the power, stability and growth of QCubed.
In these series, I'm taking a first step on integrating jQuery into QCubed. By writing these articles, my goal is to provide everyone with a (hopefully clear) view on the changes that are needed, have been-in order to become a full PHP jQuery framework, a possible way to integrate these changes and of course (and most important!) to receive feedback on the code changes, as well as a Q/A platform for me and the other developers on how to continue the integration.
To start, in this first part, we will replace the ajax post with the ajax post through jQuery. Sounds easy enough to begin with, doesn't it :)
Note: Baselius has already doen a lot of work on integrating jQuery (1.3.2), and has commited his work into the experimental branch of QCubed. During this series of articles, we will try understand the code that Baselius has commited, take the good bits and pieces from his work and integrate them where we can. Thanks a lot already to him!
Anyway, let's get started.
API Documentation Pipeline Created
Folks, I'm pleased to let you know that QCubed finally has an automated pipeline for generating API documentation. Without further ado: http://api.qcu.be. It's the documentation of the latest bits in the 1.1 branch; it gets regenerated nightly. Remember that it's not the "hottest" thing out there at this point (the design is not ideal, many classes aren't documented perfectly yet), but we're most certainly on our way to better documentation.
The old API docs site, http://qcu.be/doc/api/hierarchy.html, will be retired shortly.
Looking forward to your feedback!
Plugins pouring in!
Folks, it's been less than a week since QCubed 1.1 has been released, and plugins are pouring in already! I am SO excited to be a part of this amazing community. Just in these past few days, we got 5 new plugins contributed. We're already at 20! Check out the plugin repository!
One plugin that I'm particularly excited about is QFlot. It's a QCubed control that encapsulates an excellent jQuery-based plotting library, Flot.

Take a look at it in action: see how easy it is to create a bar chart or a time series chart.
QCubed 1.1 is ready!
I'm jumping out of my pants - that's how freaking excited I am.
The biggest project of this community, QCubed 1.1, a major functionality release, is now DONE. We spent over 6 months on this baby. And we are SO proud of what we got done as a result.
This project started as a humble effort to keep QCodo alive. We wanted to build trust in the community, allowing everyone to continue developing on this great framework - knowing that there's someone out there who can help troubleshoot issues and fix some most critical bugs.
We've accomplished that with QCubed 1.0 release series.
But now, the times are different. We want more - we want the QCubed framework to stand on its own. We want to leverage the enormous potential of the community of developers that built businesses on this framework - to let each pitch in with some of their code, because as we found out, lots of this stuff can be reusable.
We stood beside our biggest tenet: there MUST be multiple owners for the project. Not a single person should be in a position to slow down or stop the development, no matter if the fall under a bus and disappear into the ether. This approach, while slower than having one king-of-the hill, ensures the long-term survival and growth.
Today, this approach gives its first, beautiful fruits.
Without further ado, here it is: QCubed 1.1, download it here. There's a crapload of new stuff there:
- PLUGINS! There's already 15 plugins written by developers like you - and it's ridiculously easy to install those plugins, thanks to the brand new Plugin manager.
- Light integration of jQuery: it's now very easy to include jQuery into your project. Note that you don't have to include it, though (by default, jquery js files are not in your HTML).
- New directory structure that ensures security and provides for ease of future upgrades. Do expect some pain if you want to transition a QCubed 1.0 or QCodo project to 1.1 - here's a tutorial that explains the migration process.
- Configuration checker: a tool that runs when you first install QCubed and verifies the prerequisites, also helping you configure QCubed settings.
The full changelog is here, check it out. Remember that QCubed 1.1 is a development release at this point - we do not recommend using it for production systems. That said, the core contributors team is committed to iterating on it to actually make it production-ready.
We're looking forward to your feedback on these new bits! Thanks so much for your continued support! Leave us a comment here and let us know what you think!
.. or, if you feel like jumping right in, write a plugin for a piece of code that others might find useful - plugin creation process is extensively documented, and it's actually really easy. Intro tutorial is here, there are others linked from it.
QCubed 1.0.1 Stable is Ready! - UPDATED!!!
Congratulations, everyone! QCubed is pleased to announce that, thanks to all the efforts by the community, we are releasing the QCubed 1.0.1 Stable. This maintenance release includes a dozen bugfixes; most importantly, it provides full compatibility with PHP 5.3. Full changelog is here.
The Core Contributors are committed to maintaining the 1.0.x stable branch to fix security and serious functionality issues.
Download QCubed 1.0.1 Stable today!
In the meantime, we will also start work on the 1.1 release - this is where all the new, exciting features will be added. Here's the long list of things we'll be working on. MySQL stored procedure support? Yes! Oracle adapter? Sure! Performance improvements? Hell yes! Unit and functional testing framework integrations? Of course!
And now, as always, we need your help. If you've written custom code for QCubed or QCodo that you think might be useful for others, and are interested in sharing it, please let us know - post a note on the forums or just open a ticket.
