Time goes bye, but that doesn’t mean I’m not thinking about the new version of P4A almost every day… Continue reading
Just a quick update on the development, please follow quicker on p4a’s facebook page:
- products catalog is acting as a skeleton application from now on, so it’s been moved to a separate repository: https://github.com/fballiano/p4a-products-catalog
- products catalog now has full composer support to install zend framework and autloading everything (check composer.json if you need to add things)
- p4a’s repository has been stripped down removing applications/icons and some other thigs
- at the moment i suggest you not to clone p4a’s repository cause i’m heavily moving things and refactoring so it’s really difficult for anyone to make an application run
we’re moving, we’re moving, expect more info soon!
In the last months we had problems with the past infrastructure, our mediawiki was heavily attacked and become useless and SourceForge’s bugtracker was completely destroyed by spam. So I took the suggestion of one of our followers to rethink about everything and give it a spin:
- First of all I moved the code repository to github (with full history, except for tags), hope everyone of you is familiar with it. This will make code collaboration much easier and I hope in some more contributions for the future. There’s also a new repository for contribs.
- The previous wiki was completely migrated to github’s wiki.
- The old bugtracker was disabled and the new bugtracker is github’s issues system.
- The SF’s news system was disabled, the official P4A news will be published on this blog (subscribe p4a’s tag RSS to be updated)
- The p4a.sf.net page has been updated with the new links.
That should be all for now, thank you everyone and I hope we’ll see much more movement around P4A in the future!
Another maintenance release for our beloved project, here you’ve the changelog:
– “meta viewport” tag was added to mask’s HTML for a better mobile rendering
– P4A::getMetaViewport() and setMetaViewport() methods were added
from the first visible column of the first P4A_Frame widget
– a bug with P4A_Frame and multiple CSS classes was solved
– P4A_Table’s arrow symbols were because the past ones weren’t shown on mobile
– an ob_clean() call was added to P4A_Thumbnail_Generator::outputThumbnail()
– Zend Framework was updated to 1.11.10
– P4A_Table’s image cols do not throw exception anymore if the image
does not exist
– P4A_Field_loadSelectByArray helper now supports a second parameter to specify
the array’s primary key field name
A few improvements on different areas, here you’ve the changelog:
– P4A_DB_Navigator now supports query defined sources
– a bug with P4A_Data_Source::saveUploads() was solved
– a bug with P4A_Table’s image cols (without GD installed) was solved
– P4A_DB_Navigator now triggers a beforeclick event
– all p4a_load_js calls were migrated to require.js
– a bug with P4A_DB_Source::deleteRow() called when in newRow state was solved
– a bug with P4A_GD constant default definition was solved
– P4A_Mask::restart() method was added
– Zend Framework was updated to 1.11.7
– translations were updated
– P4A_DB_Source::load() method now checks for duplicate calls and throws an error
This is a minor release but it contains really a lot of great upgrades and fixes, here you’ve the changelog:
– Zend Framework was updated to 1.11.6
– CKEditor was updated to 3.6.0
– jQuery UI was updated to 1.8.11
– requirejs was added
– P4A_Dir_Source automatically sorts files
– P4A_Dir_Source::setPageLimit() calling was disabled
– P4A_Dir_Source’s page limit is now set to 0 (disabled)
– autocomplete values are now sorted and unique
– P4A_Field::getSource() method was added
– p4a_load_js now uses requirejs
– P4A_Field and P4A_Data_Fields now support the “datetime” type
– P4A_Field and P4A_Data_Fields now support the “time” type
– P4A_Object::dropImplement() now turns the action to lowercase
– deprecated method P4A_Object::dropMethod() was removed
– P4A_DB_Navigator now correctly supports source with non-default DSN
In the last few weeks I’ve been thinking a lot about the future of P4A, there would be a lot of small things to do but I wanted to think about something big enough for a major release jump.
Some time ago we discussed about the rendering layer, at the moment we generate all the HTML and we use our custom CSS + some jQuery/jQuery UI goodness to enhance everithing a little bit. Point is that jQuery UI is growing too slowly and we need something bigger and more RIA oriented, like Dojo, ExtJS or Qooxdoo. We discussed about which one would be better and at the moment I’d go with Dojo, it has a great FLOSS license, it’s supported by a lot of major players, it’s highly modular and it has my preferred way of including modules. At last I cannot avoid talking about the new wonderful “Claro” graphical theme, simply amazing.
So I started coding some of P4A’s widgets just to test something out and everything was pretty easy, I’d choose to use the declarative syntax because it was the fastest way to have everything running but now I’m running into a few major problems.
But here we’ve the most critical issue, every time the page is redesigned (not using a full page refresh) we’ve a noticable memory leak, dojo keeps allocating memory and this is very very bad. That’s not a dojo problem, I mean, I replease the DOM nodes and recall the dojo parser, but the previously built dojo objects are not removed from memory. Actually I hoped that dojo would have recognized that an element was already parsed but this is not happening. Thus we would have to destroy all dojo objects before redrawing them but this operation will make the page flickering longer.