Category: PHP

P4A 3.0.0-rc3 released

Thanks to your feedback we have a few improvements beside some fixes that are usual for a RC release.

Highlights of this release:

  • P4A_DB_Navigator drag&drop implemented
  • date P4A_Field now allows inputing dates by hand
  • P4A_DB_Source::setTable() now supports database views

Complete changelog:

- file upload check and error reporting was enhanced
- a bug with file download within a non-ajax environment was solved
- Zend Framework was updated to 1.5.2
- P4A_Redirect_To_File() global function now checks if the file really
exists within P4A_UPLOADS_DIR, otherwise throws a P4A_Exception
- P4A_Tab_Pane’s pages’ labels are now auto translated on getAsString()
- P4A_Field::getAsDate() does not set the field “readonly” anymore thus
now dates can you written by hand too
- jQuery was updated to 1.2.5
- jQuery::UI::datepicker javascript file was replaced with the packed one
which is only 20kb instead of 60kb
- folder_home icon was changed with a new one that degrades to GIF in a
better way
- jQuery::UI::core, draggable and droppable 1.5b4 were added
- P4A_DB_Navigator’s drag&drop movements were implemented
- P4A_DB_Table::_setupPrimaryKey() method was added, it just calls
the parent::_setupPrimaryKey() avoiding exceptions (used when the
table has no primary keys)
- P4A_DB_Source now supports database views within the setTable() method
- P4A_DB_Source::load() now does not set pk if P4A_DB_Table does not
return one or more pk(s)
- jQuery::dimensions plugin was removed because it has been bundled to
the jQuery core
- P4A_Mask’s default template now includes CSS first and then JS, solving
some jQuery related issues (on safari/opera)
- fix_date option was added to P4A_I18N::_normalize() method
- jQuery::form plugin was updated to 2.10

Before downloading please remember to nominate P4A for the SF 2008 community choice award!

Download P4A 3.0.0-rc3 :-)

Share/bookmark:
Digg StumbleUpon Facebook Reddit Mixx del.icio.us Google Live NewsVine

P4A 3 development update and commercial license

Hello everybody,

I worked a lot on 3.0-rc3, mostly on 2 things:

  • patching the db_source so that the setTable() method could work with database views too
  • update jQuery to 1.2.5 and implement drag&drop for db_navigator again

I’ve to say that I’m quite stuck with jQuery development, there are many delays and this release introduces (at least in our usage) a lot of regressions due to the integration of the “dimensions” plugin within jQuery core. Many things doesn’t work anymore on Safari 3.1 (win), there are some weird behaviours with opera (but there were also before the latest updates) and the drag&drop has issue on all browsers (ok, jQuery UI 1.5 is in beta, but the problems I’m talking about are related to the “dimensions” plugin again).

I filled a few bug reports on jQuery’s trac, let’s see what happens but I’m in a bad mood now and I can’t release the rc3.

Commercial license update

We finally have a draft of P4A Commercial License Agreement but it should be pretty definitive…

We think we can confirm the 100 Eur + 20% VAT (total = 120 Eur) for every developer, with a year of free upgrades.

Some sample of commercial policy:

  • If 2 analysts and 3 developers work together on a commercial software based on P4A, than you should buy 3 licenses
  • If a company buys 3 licenses and after 2 years the company wants to have new commercial updates, the company will have to pay for all developers that will work again on the commercial applications. Buying only 1 license to gain the commercial package won’t be enough if the application is coded by other developers (also if they have a previous license).

Hope it’s all enough clear.
Please write me all your considerations.

UPDATE: digging on jQuery’s trac I found a post where someone told to change the inclusion order (CSS before JS), I tried and that fixed all bugs. I’ve updated the bugs I filled with this info. I think we can release the rc3, just need a few more test.

Share/bookmark:
Digg StumbleUpon Facebook Reddit Mixx del.icio.us Google Live NewsVine

P4A 3 release candidate 2

The are a lot of things to talk about today, let’s start.

MOST IMPORTANT: SF 2008 COMMUNITY CHOICE AWARDS
Please take 1 minute to vote P4A in the “Best Tool or Utility for Developers” category (you can nominate P4A for more categories but we think that the suggested one is the right).

THE RELEASE
This is nothing more than a bugfix release, here’s the changelog:

- a bug with P4A_Field::getAsCheckbox() method was solved
- when a P4A_Field’s value is coming from a POST, P4A::main() now checks if the field is enabled
- translations were synched

Download P4A 3.0.0-rc2

P4A WEBSITE
We took some time to work on the website and add some cools features, first of all a nice screenshot section, powered by jquery and the jcarousel and lightbox plugins.

Here you have a screenshot of the new page:

Be sure to check the new website at:
http://p4a.sourceforge.net/

In the new link bar you can find the constantly updated code reference and the link to the translation tools and everything else you will need to live in the P4A world.

P4A WIKI
The new wiki is installed and available here:
http://p4a.crealabsfoundation.org/wiki/
it’s completely empty but you can start registering and we will discuss what to publish and how to do that in the next few days.

PS: the wiki is not linked from the home page yet, we’ll wait for some contents to do that.

MISCELLANEOUS

  • We’re working on the commercial license and we hope to have it ready soon
  • it seems that the new jquery and jquery UI release will be out in a few days, if it will be so we’ll be happy to include it in P4A 3
  • I’m sure I’m forgetting something :-)

see you soon and spread the word!!!

Share/bookmark:
Digg StumbleUpon Facebook Reddit Mixx del.icio.us Google Live NewsVine

P4A 3 goes RC

Time to release some bugfixes and prepare for the stable release, we had to cut out jQuery UI (and P4A_DB_Navigator’s drag&drop) from our roadmap ’cause it seems that jQuery UI won’t be released soon and we can’t wait anymore.

Anyway, here is the changelog:

- saveUploads() method was moved from P4A_Mask to P4A_Data_Source
- P4A_DB::quote() method’s 2nd param “autoquote” is now false by default,
solving some problems with P4A_Data_Field::getSQLValue() and getSQLNewValue()
- when P4A_DB_Source needs a quoted value now it uses P4A_DB->quote() with
autoquote turned on
- P4A_DB::quote() method, if autoquote param is on, always encloses the value
within single quotes
- jQuery::form was updated to 2.0.8
- jQuery::iFixPNG was updated to 2.1
- P4A_Menu’s CSS were changed a bit solving a bug with IE6 (too fast hide)
- P4A_DB_Navigator movements were disabled (due to the unavailable jQuery UI release)
thus now all allowMovements methods trigger errors

We’ll let this release “rest” for some weeks, during this time we’ll work on the documentation and website, fixing the bugs that will eventually come out. If everything will go smoothly as I hope, we’ll simply have to sync translations and release it as 3.0.0 final.

Download P4A 3.0.0-rc1, please help us with translations and report us all the bugs you find! Thank you so much!

Share/bookmark:
Digg StumbleUpon Facebook Reddit Mixx del.icio.us Google Live NewsVine

10th preview for P4A 3, major upgrades and optimizations

The test phase is going on, thus some small modifications were done on many parts of the P4A codebase.

  • One important things for developer is that now all P4A_DB methods can use the “binding” feature coming with Zend Framework/PDO.
  • Other improvements were achived if you run P4A on Windows servers
  • FCKEditor was updated the new and shining 2.6 release and other libraries were updated too

but the most wonderful improvement is the Javascript/CSS lazy loading. We’re many heavy javascripts bundled with P4A (FCKEditor, the date picker etc…) and sometimes your app won’t use them… now every component is loaded only when needed and your applications will start and run much faster!

Anyway, let’s review the changelog:

- a bug with P4A_Field::getAsRadio() was solved (labels can be clicked now)
- P4A_Rmdir_Recursive() global function was added
- P4A_Data_Field::setSequence() method does not add the “_seq” postfix anymore
- P4A_DB::nextSequenceId() method adds the “_seq” postfix depending on the db you’re using
- SQL dump for PostgreSQL was added to products_catalogue sample
- products_catalogue’ SQL dump for MySQL was renamed to db_dump_mysql.sql
- P4A_Quote_SQL_Value() global function was removed
- P4A_DB::quote() method was added (it’s a wrapper for Zend_DB quote method)
- P4A_DB::get*(), fetch*(), query*() methods now support the binding params array
- P4A_ROOT_PATH autodetection rules were changed a bit for Windows server compatibility
- P4A_Strip_Double_Backslashes() global function was added
- P4A_UPLOADS_DIR autodetection rules were changed a bit for Windows server compatibility
- P4A_Fieldset’s label’s CSS was changed for Safari 3.1 compatibility
- P4A_Label’s CSS was changes a bit for cross-browser compatibility
- P4A_Field::getasText()’s CSS now has a default width (150px)
- a bug with P4A_I18N::mergeTranslation() method was solved
- FCKEditor was updated to 2.6
- jQuery::UI::datepicker was updated to 3.4.3
- javascript/css lazy loading was implemented, all widget depending js/css area loaded
only when loosing a lot of KB on first run
- print CSS was removed
- translations were synched
- “Loading…” message can now be translated

Now you can Download P4A 2.99.9, please help us with translations and report us all the bugs you find! Thank you so much!

PS: remember to keep your eyes on the P4A TV!

PPS: spread the word :-)

Share/bookmark:
Digg StumbleUpon Facebook Reddit Mixx del.icio.us Google Live NewsVine

P4A video: multidatabase

Just check it out on P4A TV:
http://p4a.crealabsfoundation.org/tv/2008/04/02/multidatabase.html

Share/bookmark:
Digg StumbleUpon Facebook Reddit Mixx del.icio.us Google Live NewsVine

9th preview for P4A 3, closer and closer

Time for a weekend bugfix preview release, there’s only one more task in our roadmap, that’s the P4A_DB_Navigator drag&grop, but we’ve to wait for jQuery UI 1.5 to be released before completing it…

Changelog for this release:

- some minor changes were done after strict validation checks
- products_catalogue sample now has a “date” field to play with
- a bug with empty values in P4A_Tables (passed to formatters) was solved
- P4A_I18N::format() and normalize() methods now returns an empty string if
no value is passed
- P4A_Validate_NotEmpty::isValid() method now correctly handles the “0″ string
(which is a Zend Framework bug but we create a workaround for it)
- P4A_I18N::translate() methods returns an empty string if nothing is passed
- minor documentation updates were done on P4A_DB_Source
- Zend Framework was updated to 1.5.1
- P4A_Field::getAsMulticheckbox() and getAsRadio() methods now use
P4A_Generate_Widget_Layout_Table() global function to render labels and inputs
- P4A_Field::getAsDate()’s input is now “readonly”
- a bug with P4A_I18N::format() method managing dates was solved
(forcing format to YYYY-MM-dd)

Next week the new translations will be imported and released, now go ahead and Download P4A 2.99.8, please help us with translations (for the next preview I’ll sync all translations) and report us all the bugs you find! Thank you so much!

PS: remember to keep your eyes on the P4A TV!

PPS: spread the word :-)

Share/bookmark:
Digg StumbleUpon Facebook Reddit Mixx del.icio.us Google Live NewsVine

8th preview for P4A 3

P4A 3 is coming, we’ve only 2 tasks to complete in our roadmap!

For 2.99.7, out 8th preview release, I worked most of all on translation support to build multilanguage applications and now our products_catalogue sample has multilanguage features you should explore.

The raw changelog:

- a bug with disabled P4A_Field::getAsCheckbox() was solved
- P4A_Field::getAsRadio()’s CSS was modified a bit
- P4A_Fieldset’s legend is now auto translated on getAsString()
- P4A_Menu’s items are now auto translated on getAsString()
- P4A_Mask’s title is now auto translated on getAsString()
- P4A_Table’s headers names are now auto translated on getAsString()
- P4A_Mask’s title is now automatically generated using ucfirst() function instead of ucwords()
- P4A_I18N::mergeTranslation() method was added
- products catalogue sample application was changed for simplicity (SQL structure also)
- products catalogue sample application multilanguage support was added
- P4A:I18N::format() and normalize() methods now have a new parameter that allows coder to control
if the method should throw an exception or now (default is true)
- P4A_Fields now turns off the exception throwing parameter when calling P4A:I18N::format() or
P4A:I18N::normalize(), to avoid application break due to a wrong input

Now you can Download P4A 2.99.7, please help us with translations (for the next preview I’ll sync all translations) and report us all the bugs you find! Thank you so much!

PS: remember to keep your eyes on the P4A TV!

PPS: spread the word :-)

Share/bookmark:
Digg StumbleUpon Facebook Reddit Mixx del.icio.us Google Live NewsVine

P4A video: the stateful concept

Just check it out on P4A TV:
http://p4a.crealabsfoundation.org/tv/2008/03/22/stateful-concept.html

Share/bookmark:
Digg StumbleUpon Facebook Reddit Mixx del.icio.us Google Live NewsVine

Turn on your P4A TV, the show is on!

I’m proud to announce that the P4A screencasts channel opens today, turn on your TV or you’ll be late for the show!

The first screencast I’m publishing is about creating an hello world application, using a P4A_Button and some new system messages:

If you want to be a part of the P4A star system create your screencast and contact me, I’ll publish it on the TV :-)

Share/bookmark:
Digg StumbleUpon Facebook Reddit Mixx del.icio.us Google Live NewsVine