VERSION 2.02 - RELEASED ON JANUARY 25,2010 - MULTI FILE UPLOADS - Aug 6th, 2010
|
The major new feature is a new flash based multi-file upload component. This makes it WAY easier to upload lots of files at the same time. No more clicking "Browse..." for each file. There are a few other fun new features in this release as well (see below). - Uploads: You can now upload multiple files at once with uploadify flash upload component
This addition uses a jQuery component from uploadify.com. You can click “upload” and then select a dozen or more files (either by holding shift or ctrl or by selecting a box with your mouse) and clicking upload. If some of your files exceeded the maximum allowable file size, only those that are too big will throw an error message, the rest will be uploaded to the server and will appear in the uploaded list.
- Viewers: Sort ordering can now be defined in viewer URLs with orderBy=fieldname or fieldname DESC
This makes it very easy to sort a viewer list page multiple ways (e.g.: by price, product name, etc). We've written custom code to do this many times, now you can just create a link to ?orderBy=price DESC to let the user sort viewer lists the way they want.
- Viewers: min/max date searches now support date without time formatted as: YYYY-MM-DD
If you wanted to do date min/max range searches you previously had to enter a full MySQL format date like this: ?date_min=2010-01-01 00:00:00. Now you can just enter the date part and it figures out the rest (00:00:00 for _min searches and 24:00:00 for _max searches).
- Settings: Custom settings files can be created for dev domains, such as: /data/settings.localhost.php If you've ever had to keep a local staging/development environment in sync with a live server you've probably noticed what a hassle it is to manage the /data/settings.dat.php file. You need different mysql details, upload paths, etc for each environment. Now CMSB will automatically check for a settings file with the current domain name in it and use that if it's available. Just copy settings.dat.php and replace "dat" with your hostname or IP.
Note: When using this feature, Dave suggests that you always setup a new file for your dev environment and let production/live use the default one. That way if a domain name is added or changed it won't break things on the live site.
- Viewers: Added the following options to getRecords() for advanced MySQL users: 'groupBy' and 'having'
For advanced MySQL users (and to make forum support easier for us). If you know what "GROUP BY" and "HAVING" are, you can now pass them to getRecords with the 'groupBy' and 'having' options.
- Viewers: Added utility function mysql_escapef(), example: mysql_escapef("num = ? AND name = ?", $num, $name);
This is another one for more advanced MySQL users. When writing custom MySQL you have to be careful to escape user input to avoid "SQL Injection Attacks" (Google for details). Basically this means passing any input to mysql_real_escape_string().
This can make simple queries like this: 'where' => "city = '$city' AND year = '$year' ",
Look a lot more complicated like this:
'where' => "city = '" .mysql_real_escape_string($city). "' AND year = '" .mysql_real_escape_string($year). "' ",
Dave Edis from Interactive Tools explained that mysql_escapef lets you write your query with a ? where each value goes, then mysql_escapef automatically escapes and inserts the values for you.
So now the query would be written this way: 'where' => mysql_escapef("city = ? AND year = ?", $city, $year),
- Viewers: getPrevAndNextRecords() now supports 'orderBy' option
The getPrevAndNextRecords() function has been optimized and an orderBy option has been added to it. If you'd like to display links to the previous and next record on a detail page you can do that like this:
list($prevRecord, $nextRecord, $firstRecord, $lastRecord) = getPrevAndNextRecords(array( 'Table name' => 'news', 'recordNum' => $record['num'], 'orderBy' => 'createdDate', ));
And you can display links to the previous and next record as simply as: <?php echo $prevRecord['_link'] ?> or <?php echo $nextRecord['_link'] ?>
- Custom CSS:
You can now define your own upgrade-safe CSS by creating a file named: cmsAdmin/custom.css
According to Dave, “It's only loaded if it exists and it will be loaded _after_ all the rest of the CSS, making it easy for you to override any CSS styling you want to change.”
|
The materials on this web site have been created for use with CMS Builder content management software. CMS Builder software is published and licensed for use by InteractiveTools.com. Please contact
Interactive Tools for information on the downloading of the software or the purchasing of licenses.