August 28 2007
Many would agree that Adobe Spry Framework is one of the most exiting features of Dreamweaver CS 3 and definitely the #1 reason for the upgrade.
Besides the obvious ones it contains many hidden features allowing, for example, to manipulate data or execute almost any server-side code through AJAX.
For the past few months I have been working on the set of extensions to bring those features to the surface. Ladies and gentlemen, introducing Spry Data Utilities Toolkit.
Spry Data Utilities is a set of extensions for developing web applications powered by Adobe Spry framework for AJAX.
Using these tools you can take advantage of built-in Dreamweaver Server Behaviors for implementing AJAX-driven data related tasks (e.g. searching, creating, updating and deleting records), as well as building functionality for executing your own server-side code via AJAX(e.g. sending email or uploading files).
Additional Spry buttons for your Insert panel will provide easier access to the most commonly used Spry Region elements.
-
Included in the Toolkit:
- Recordset to XML (Dataset to XML for ASP.NET) Server Behavior.
Generate dynamic XML from your Recordset or Dreamweaver ASP.NET Dataset and reference the page as XML data source for your Spry Data Set or save as a file (e.g. for use as a Design Time feed for your Spry Data Set.
Compatible with ASP.NET (VB and C#), PHP (MySQL), ColdFusion and ASP (VBScript) Server Models.
- Spry Server Action object.
Create, update and delete records using built-in Dreamweaver Server Behaviors or execute your own server side code with Spry Server Action object.- Specify a page element that will show while the operation is in progress (e.g. "Contacting server" ).
- Display browser dialog with the message returned from the server.
- Refresh a Spry Data Set to reflect on the latest data changes (after deleting, creating or updating a record).
- In addition you can specify the names of your own "success" and "error" functions.
- Spry Search object.
Build AJAX-powered search functionality with Spry Search.
Specify the page element to display if search returns no results and another one to show when the results are available. To be used with Recordset to XML Server Behavior.
- Spry Region State objects (Error,Loading,Ready) and Spy XML Data Set Total Records object.
Select a block of content inside your Spry Region and click the corresponding button on the Spry toolbar to assign to it a region state.
A collection of error icons and animated progress bar images included for your convenience.
July 17 2007
This Server Behavior will dynamically generate Microsoft Outlook Calendar Event file (.vcs) based on a set of static and/or values retrieved from a database.
A user will be able to open this file or save it to a local hard-drive.
Launching the file will pop-up a dialog for importing the event into Outlook Calendar.The list of supported fields includes Event ID, event start time and end time, location, priority, subject and description.
December 06 2006
September 01 2006
Today I have posted a new extension for Dreamweaver - PHP Captcha (Security Image).
With this extension Dreamweaver users can quickly add Captcha functionality to their web forms.The extension has a number of customizable parameters which can be used to modify its appearance and number of characters in the verification code. The rendered results can be previewed in the Insert Object dialog as well as on the page after the object has been inserted. The parameters can be modified at any time.
You can also use your own image to generate Captcha code.
The extension has been already successfully tested on a number of web sites.
If you want to learn more about the extension or Captcha in general you can find the info here.
August 11 2006
Strangely enough, but majority of European countries the Comma-separated values format (CSV) does not use comma to separate field values. Instead it uses semicolon! This creates a problem when a user with a “wrong” locale tries to export your data to his/her CSV. As a result the unlucky user will end up with all the values from your recordset all stuck in one cell separated by either comma or semicolon (depending on what you have specified as the delimiter).
The updated Export to Excel extension will detect browser’s locale and automatically select the delimiter for the user.
June 12 2006
After 6 month of extensive development and testing I have finally released Time Picker Dreamweaver object - self-validating input control for entering and selecting time.With familiar “look and feel” of the standard Windows time picker it supports variety of formats, Dreamweaver Databinding and Live View and works with any Server technology.
Can be used with the standard Dreamweaver Behaviors (e.g. Validate Form) and Server Behaviors (e.g. Insert Record, Update Record).
This form control can be accessed through DOM for client-side manipulations (e.g. AJAX).
The appearance if fully customizable through CSS.
Prior to releasing the control as an extension I have successfully utilized it in several ASP.NET and PHP-based applications.
More information can be found here
January 25 2005
You can download the MXI utility here as always FREE.
January 21 2005
- Cross-browser Add to Favorites behavior
- Two form control behaviors: Submit and Reset HTML form
Using the other two you can submit or reset an HTML form residing in the same document with your Flash file.
You can purchase the suite here
August 27 2004
Far, far away, hidden deep amongst jagged granite peaks lies the mystical kingdom of Washado. In this remote land, untouched by man, birds of every feather have flocked together to create a special place of peace and prosperity that has remained unchanged for all of time... until a devious Raven steals the royal heir bearing egg from the nest of a ruling Eagle, and unwittingly changes the Avian kingdom forever.
Check out my Flash promo here
For more information about Mark, exerpts from his books, his poetry and short stories visit his site at http://www.marktufts.com (Also designed by yours truly
August 18 2004
A JavaScript function call triggered from Flash didn’t work in Opera browser.
Consider the following code (which is the most basic example):
getURL("javascript:alert('Hello World')");
Obviously the code should pop-up a JavaScript message box. It worked perfectly fine in any modern browser on both PC and Mac. It did work in Opera also, but only when testing the Flash movie locally. When I tested the code on the server it didn’t work as expected, and by this I mean ... nothing happened at all.
It took me a little while to realise what was "causing the problem":
The <param name="allowScriptAccess" value="sameDomain" /> parameter of the <object> tag and ‘allowScriptAccess="sameDomain"’ attribute of the <embed> tag in the HTML file which contains the swf. By default the file is generated by Flash MX 2004 when the movie is published. When a JavaScript function call is triggered by the Flash movie residing on a remote server the Opera Flash plug-in "thinks" the call is made from a different domain, or so it appears. Removing the attribute/ parameter solves the problem immediately. I understand this might be not the best solution, but a better one yet to be found.
July 07 2004
July 02 2004
So no database, no text or XML file to edit, only copy and paste from “My Documents” to the FTP folder using Internet Explorer.
To add to the problem the Flash photo gallery component I have been using loads the list of galleries and images from an external XML file...
And here is the simple solution I came up with:
Why not let a server-side script read the content of the folder and return it to Flash as XML? This way the user(s) could safely add, edit or delete folders ('galleries') or files without having to worry about an external data source.
A similar approach can be used to build an MP3 player or ... if you want Flash to present a structure of physical folder(s) on the sever, optionally applying custom filters on file extensions.Here is the code of the PHP file that is being loaded into Flash as XML:
<menuitems><?
//Define root folder
$maindir = "." ;
$mydir = opendir($maindir) ;
//Get list of folders
while($folder = readdir($mydir)) {
// A folder is anything without an extension (May not always be true e.g. htaccess file)
$f_is = strstr($folder, “.”);
if ($f_is !="") {
continue;
}
//Output opening XML node for the folder
echo "<item title=\"".$folder."\"><images directory=\"photos/".$folder."\">";
//Get list of JPEG images
$imagelist = opendir($folder);
while($image = readdir($imagelist))
{
//If filename contains “.jp” it’s a JPEG
$i_is = strstr(strtolower($image), ".jp");
if ($i_is =="") {
continue;
}
//Write opening tag for an image
echo "<imageNode jpegURL=\"".$image."\" thumbURL=\"".$image."\" title=\"\">";
//Write image name to be used as a comment but strip the extensioin
echo substr($image,0,strpos($image,"."));
echo "</imageNode>";
}
//Close XML nodes
echo "</images></item>";
closedir($imagelist);
}
closedir($mydir);
?>
</menuitems>
June 06 2004
It could definitely save you a lot of time designing online galleries, especially if the dimensions of the images vary or unknown (e.g. when they are loading dynamically from the database).
I have been testing this Behavior on a few sites (including this one) for 4 months working on compatibility with Opera and Mozilla. After quite a few adjustments I’ve come up with the final release. Check it out here.
