With this release we have opened up the doors of new possibilities for the Raxan PDI Framework. This document seeks to outline some of the newly added features and functionalities of the framework.

New XML Support

Have you ever had the need to query and process an XML document but you don't have the time to learn about the XML DOM or the XPath query syntax? If so, then you're going to love the new XML support that's now bundled with PDI. Within a single line of code you can query and manipulate the data you need just as if you were working with an HTML document:


// remove all retired employees
$page->source('employees.xml')->find('Employee[retired=true]')->remove();

By using your existing knowledge of HTML and CSS selectors you can now query, read and write XML data using a consistent set of APIs.

Mobile Web Application Support

Mobile Weather Form
Image courtesy of OpenWave v7 Simulator

Cell phone sales are expected to exceed one billion handsets per year by 2009, making mobile phones one the most widely used devices for communicating and sharing information. With an increasing number of consumers using their cell phones to access online information, the need for mobile web sites and applications are on the increase.

Starting with Beta 1, developers can quickly build mobile enabled web pages with very little effort.


// load a blank wml page and insert a greeting.
$page->source('wml:page')->content('Hello Mobile User!');

The above code will generate a basic WML page and the correct content-type. To see it in action you will need a wap-enabled mobile phone or a WAP Emulator. Visit the Mobile Application Demo.

One benefit of using PDI is that the functions and methods are consistent throughout framework, so you don't need to learn any new API when working directly with HTML, XML or WML documents. Best of all, you can use your existing CSS selector knowledge of query the document structure.


$page['input#name']->val('Enter your name');

Template Binder

Some people say that a picture is worth more than a thousand words. But nothing could be more pleasant than for a developer to be able to picture all the creative possibilities with the new Template Binder API. In a single call, you can bind your dataset to elements within the page. For example:


$page['table tbody']->bind($dataset); // or use RichAPI::bindTemplate()

And when you're ready to create that eye candy display, the Template Binder will be waiting with lots of options for you to choose from:


$page['table tbody']->bind($dataset,array(
    'tplFirst' => '...html code here...',
    'tplLast' => '...html code here...',
    'tplAlt' => '...html code here...',
    'tplSelected' => '...html code here...',
    'key' => 'empno',
    'selected' => 1456,
    'pageSize' => 10,
    'page' => 1,
    'format' => array(
        'birth_date'=> 'd-M-Y'
    )
));

Use the format option to format the display for a specific field. Valid formats are: integer, float, money, escape, date (see php date format), number, capitalize, replace (uses regex)

In addition to the new options listed above, we have added support for binding index-based arrays and RichWebPage elements to a template. This means that you can use parts of an existing web page or an XML document to supply the data you need to bind to the template. We have also added three new template fields that can be used for displaying additional information: {INDEX}, {VALUE} and {ROWCOUNT}. The INDEX and VALUE fields are only available when binding to index-based arrays or RichWebPage elements.


// example of binding a template to the Employee elements from an XML document.
$employees = $xml['Employee[retired=true]'];
$page['#retired']->bind($employees);

Here are a few ideas of things that you can do with the new Template Binder: Populate tables, ordered and unordered list items, forms, menus, grid items, blog listing, photo galleries, slideshows, banner rotation, content rotation.

See an example of the Template Binder in action by visiting the Employee Search Box

Easy Pagination

Adding a pager to your newly generated grid display is just as easy as creating the grid itself. All that's needed is a single call to the RichAPI::paginate() function:


$html = RichAPI::paginate($totalPages, $currentPage);
Or use your own custom templates

$html = RichAPI::paginate($totalPages, $currentPage, array(
    'tpl' => '...html code here...',
    'tplSelected' => '...html code here...',
));

The possibilities are endless when you think of the wide variety of pagers that you can create with your own custom templates.

New Event Binding Options

If you think the first set of event options (ajax callback, etc) were cool, then you're going to love the new set of super cool options that are now available at your disposal:

. The Auto-Disable Option (autoDisable) - Used to automatically disable/enable elements before and after a callback. This option can be used to prevent users from accidentally submitting a web form more than once.

. Auto-Toggle (autoToggle) - Used to toggle (show/hide) elements before and after a callback. This can be used for showing pre-loaders during a callback.

. The Delayed callback option (delay) - Delays the callback for a specified number of seconds.

. Character Input Cache (inputCache) - Delays the callback until the specified number of characters have been entered. Works only with textbox inputs. You can use this option to add auto-complete widget functionalities to your web page.

Other Improvements & Stability

Here are a few things worth noting in this beta release.

New RichWebPage::responseType - This property makes it easier to generate standard compliant web pages. By default this property is set to generate HTML5 (html) standard web pages. Possible values include: xml, html, xhtml xhtml/html, wml

New CSS selector support - These new selectors can be used to query elements within an html, xml or wml document:


:even
:odd
:empty
:not(selector)
:lt(index)
:gt(index)
:contains(text)
[attribute]
[attribute=value]
[attribute!=value]
[attribute^=value]
[attribute$=value]
[attribute*=value]
[attribute~=value] (case-insensitive lookup)

Remote HTML web pages - It's now possible to access remote (http://) web pages using the RichWebPage class. For example:


$url = 'http://www.google.com/search?q=pre+vs+iphone';
$page = new RichWebPage($url);
$titles = $page['h3'];
foreach($titles->get() as $node){
    echo P($node)->html()."<br />\n";
}

New Timeout Event - Binds a timer to a server-side event. You can specify the timeout interval in milliseconds (>1000) and the number of repeat cycles. It also uses the same options as that of the bind() method. For example:


$page['div#photo']->timeout('#15000', 'change_photo'); // one-time callback
// or
$page['div#photo']->timeout('#15000', array(
'callback'=>'change_photo',
'repeat'=> 4, // trigger the event 4 times
));

For a complete list of changes see the ChangeLog.

SVN Repository

With this and future releases you will be able to gain direct access to the source code from Raxan SVN repository. By using your favorite SVN toolkit or IDE you can quickly checkout the latest source code.

pick your shoes
Posts: 23
Comment
Template233
Reply #23 on : Sun September 15, 2013, 12:45:31
I really enjoy the blog.Really looking forward to read more. Fantastic.
pick your shoes http://www.pickyourshoes.com/
moncler
Posts: 23
Comment
Enjoy180
Reply #22 on : Thu September 26, 2013, 04:00:08
I truly wanted to write down a simple word to thank you for these precious tactics you are writing on this site. My time-consuming internet lookup has now been paid with excellent suggestions to share with my classmates and friends. I would suppose that we site visitors actually are undeniably blessed to be in a superb site with many special individuals with helpful opinions. I feel somewhat fortunate to have encountered your entire web page and look forward to some more amazing minutes reading here. Thank you once more for everything.
moncler http://www.stae.fr/
doudoune moncler
Posts: 23
Comment
Join()669
Reply #21 on : Sat September 28, 2013, 03:01:23
I like to eat on the patio at Bronte since Davis Kidd is always freezing to me. The only problem with it is sometimes you have to beg for a server to come out there.
doudoune moncler http://mcaf.ee/8cn70
parajumpers
Posts: 23
Comment
Phusion816
Reply #20 on : Sat October 05, 2013, 04:10:23
Je suis d'accord avec votre article. Docteur Mops!
parajumpers http://parajumpersgobi.moonfruit.fr/
?????? ??
Posts: 23
Comment
URLs230
Reply #19 on : Mon December 23, 2013, 12:02:42
“Don’t blame me either. I’ve been wanting to embrace you as a brother for ever so long; she has told me so much about you! We’ve somehow not made friends or got on together till now. Let us be friends, and . . . forgive us,” he added, flushing slightly and speaking in an undertone, but with such a charming smile that I could not help responding to his greeting with my whole heart.
?????? ?? http://www.tigersmania.jp/docs/miumiu1.php?product_id=28
??? ?? ??
Posts: 23
Comment
Genetic64
Reply #18 on : Tue December 24, 2013, 08:25:13
And so the inquiring pair, who had this lady’s address inscribed in her husband’s hand on a card, descended from the verandah of the big hotel and took their way, according to direction, along a large straight road, past a series of fresh-looking villas, embosomed in shrubs and flowers and enclosed in an ingenious variety of wooden palings. The morning shone and fluttered, the villas stood up bravely in their smartness, and the walk of the young travellers turned all to confidence. Everything looked as if it had received a coat of fresh paint the day before — the red roofs, the green shutters, the clean bright browns and buffs of the house-fronts. The flower-beds on the little lawns sparkled in the radiant air and the gravel in the short carriage-sweeps flashed and twinkled. Along the road came a hundred little basket-phaetons in which, almost always, a couple of ladies were sitting — ladies in white dresses and long white gloves, holding the reins and looking at the two Englishmen, whose nationality was not elusive, through fine blue veils, tied tightly about their faces as if to guard their complexions. At last the visitors came within sight of the sea again, and then, having interrogated a gardener over the paling of a villa, turned into an open gate. Here they found themselves face to face with the ocean and with a many-pointed much-balconied structure, resembling a magnified chalet, perched on a green embankment just above it. The house had a verandah of extraordinary width all round, and a great many doors and windows standing open to the verandah. These various apertures had, together, such an accessible hospitable air, such a breezy flutter, within, of light curtains, such expansive thresholds and reassuring interiors, that our friends hardly knew which was the regular entrance and, after hesitating a moment, presented themselves at one of the windows. The room within was indistinct, but in a moment a graceful figure vaguely shaped itself in the rich-looking gloom — a lady came to meet them. Then they saw she had been seated at a table writing, and that, hearing them, she had got up. She stepped out into the light; she wore a frank charming smile, with which she held out her hand to Percy Beaumont.
??? ?? ?? http://www.cubs.jp/doc/coach1.php?product_id=500
??? ??? ???
Posts: 23
Comment
Holiday999
Reply #17 on : Tue December 24, 2013, 08:33:51
But though Anna Andreyevna had been rather agitated and touched during the reading, she looked now as though she would say: “Of course Alexander of Macedon was a hero, but why break the furniture?” etc.
??? ??? ??? http://www.cafetheterrace.com/menu/coach2.php?product_id=288
?? COACH ??
Posts: 23
Comment
Cache190
Reply #16 on : Thu December 26, 2013, 10:44:07
“Have you come to study American manners?” the blue eyes and dark hair went on.
?? COACH ?? http://www.cubs.jp/doc/coach1.php?product_id=500
Hogan Interactive Donna
Posts: 23
Comment
Veri971
Reply #15 on : Sun July 13, 2014, 21:52:48
Se si vuole ricostruire l'intero importante aspetto visivo di questo Colosseum intorno capitale italiana, la particolare ceo tra famigerato Le scarpe di lingua italiana e inoltre borse di marca Hogan, Senke Della Valle ha pubblicato che sarà sborsare Trentaquattro k per attaccare l'incredibile monumenti tipici. Un Colosseo sono stati inizialmente integrato 72 Post, Hogan forza di volontà che lo porteranno in quel progetto del Colosseo romano con pochissime esigenze commerciali. La particolare miscela romana è probabilmente il simbolo della capitale italiana anche l'intero proposito di Italia, insieme a numerosi viaggiatori troviamo a vista ogni. D'altra parte, dopo 1500 A parecchi alti e bassi, questa Colosseo non sarà eccellente, non più del caos.
Hogan Interactive Donna http://www.associazionitraumi.it/wp-rss3.php
seo
Posts: 23
Comment
Marit920
Reply #14 on : Sat September 13, 2014, 20:33:47
Hello Web Admin, I noticed that your On-Page SEO is is missing a few factors, for one you do not use all three H tags in your post, also I notice that you are not using bold or italics properly in your SEO optimization. On-Page SEO means more now than ever since the new Google update: Panda. No longer are backlinks and simply pinging or sending out a RSS feed the key to getting Google PageRank or Alexa Rankings, You now NEED On-Page SEO. So what is good On-Page SEO?First your keyword must appear in the title.Then it must appear in the URL.You have to optimize your keyword and make sure that it has a nice keyword density of 3-5% in your article with relevant LSI (Latent Semantic Indexing). Then you should spread all H1,H2,H3 tags in your article.Your Keyword should appear in your first paragraph and in the last sentence of the page. You should have relevant usage of Bold and italics of your keyword.There should be one internal link to a page on your blog and you should have one image with an alt tag that has your keyword....wait there's even more Now what if i told you there was a simple Wordpress plugin that does all the On-Page SEO, and automatically for you? That's right AUTOMATICALLY, just watch this 4minute video for more information at. <a href="http://www.2014PandaSeo.com">Seo Plugin</a>
seo http://www.2014PandaSeo.com/
Showing comments 1 to 10 of 23 | Next | Last

Leave a Comment

Required fields are marked with *.
If you have trouble reading the code, click on the code itself to generate a new random code.