Recent Changes
2009-09-08 08:47 mark * Made a minor change to spPage, just to force the doctype and html tags to always appear on separate lines, even with whitespace suppression enabled in CF8. Fixed a couple of configuration typos in Event and Article content types (no changes to default behaviour). 2009-09-01 16:34 mark * Fixed stupid bug caused by typo in spPromote - calls to content and property type event handlers should pass #level#, not #attributes.level# as newLevel attribute. 2009-08-26 15:05 mark * Fixed bug in code to add to meta cache in display method of Event content type. Rejigged code to call content and property type promote event handlers in cf_spPromote tag. Added note RE potential issue with basePath attribute to cf_spContentPaging tag (this has been flagged as a potential bug in redmine, to be examined some other time - it's not very significant). Added id attributes to form elements in renderFormField method of Text property. Updated id attributes for form elements in renderFormField method of ValuePicker property - don't lower case the property name when generating the id. 2009-08-20 11:34 mark * Fixed bug in code to update last active timestamp for users within spPortal. Added id attributes to all form elements in ValuePicker property (this should really be done for renderFormField methods of all property types). Updated ValuePicker property to allow maxSelect to be unlimited by setting the value of the attribute to -1 (TODO: same for other picker properties). 2009-08-12 11:46 mark * Minor changes to cf_spTidy - modified encoding used when converting from strings to streams and vice-versa from UTF-16 to UTF-8, just to avoid any confusion RE endianness. 2009-08-12 10:33 mark * Updated various container content types such that the maxSelect attribute of the Picker property is configurable (default is still 25). Updated spUserGet to loop through the list of security zones in the order in which they are listed in the application/portal configuration file. This only really matters when the same username and password combination is used in multiple security zones. 2009-07-28 17:08 mark * Fixed permissions bug in admin.cfm - users with promote, but not live, access could not delete items. Modified some user interface strings used with promotion model enabled (strings file, spContent, spContentAdmin). Fixed bug in code to get labels for content items when adding to to content index (wrong column name, id rather than spId, doh!). Fixed some issues with spPromote, modified code to obtain date for content index (could throw exception in some circumstances), and modified behaviour when promoting pseudo revision 0 so that spArchived column isn't set when promoting through edit and review (deletions only require spArchived to be set on successful promotion to live), and first promotion is always set to current view level (deletions need to be the latest entry in the history table at all levels). 2009-07-28 10:32 mark * Modified email sent to new users from user administration window (just added URL for web site to bottom of mail). Minor change to view source action in file manager, show save changes button, but disabled and text-decoration:line-through (not ideal, but changing the label on the cancel button to back or adding a back link involves adding to the properties file). Updated spCacheThis to be a little more forgiving in what it will accept for the cacheName attribute. This should be a valid variable name, and previously just removed spaces, but now it will remove trailing punctuation and replace dots with underscores (allowing application keywords to be passed as all or part of the cache name without any pre-processing). 2009-07-14 15:06 mark * Fixed bug in asset property, condition to check whether asset is publicly accessible would always return false when promotion model enabled. 2009-07-14 14:27 mark * Fixed bug in thumbnail method of image content type, if lightbox attribute was false, standard popup window or image gallery would fail to load if Lightbox javascript variable existed, which it would if the lightbox.js file was included in the html head. 2009-07-13 14:32 mark * Cleaned up calls to cf_spType for some built-in content types - just removed description attribute where the value was the same as the name attribute, both were required long ago, but description has defaulted to the name for some time. 2009-07-13 14:09 mark * Updated spKeywords to inherit values for properties the current user does not have permission to edit from the parent keyword, when adding a new keyword. Updated spPage to always copy key values in request.speck.page back to request.speck.portal to allow new templates to be used with old layouts. 2009-07-10 16:33 mark * Added labels to content index. 2009-07-10 15:41 mark * Updated scripts to export users and newsletter subscribers, now using string buffer and a tmp file, which is way, way faster (could be further improved by appending csv lines directly to the tmp file). 2009-07-09 14:57 mark * Updated forceParagraphs() function and default JTidy config in cf_spTidy to avoid cleaning up non-breaking spaces in "empty" table cells. 2009-07-09 11:14 mark * Minor changes to code to update session keys within contentPut method of spUsers type when user being updated is the session user. 2009-07-09 10:51 mark * Tidied up code to get reference to getConfigString() function in Article and Event content types - used cfparam and iif to make sure that context is always available in attributes scope, even before cf_spType has started executing. 2009-07-09 07:25 mark * Fixed bug in spApp, started key wasn't being added to application.speck when application configuration was loaded from the cache, which meant that creating a tmp/refresh.txt file wouldn't force an application refresh in portal applications. Also changed the width of the table that holds the form fields in the default edit method from 570 pixels to 100%, tested in FF3 and IE8 and it doesn't seem to cause any problems. Will do more testing at some point and may tweak this further. 2009-07-06 17:07 mark * Another minor tweak to code editor in file manager - if user hasn't already saved some changes, we can just go back in the history when cancel button is clicked rather than set window location to directory listing url. 2009-07-06 16:42 mark * Updated code editor in file manager so the editor is reloaded after saving the file and made a couple of other minor improvements to the interface - show "saving..." indicator and disable submit button when form submitted, moved buttons to right hand side and changed label on submit button to "Save Changes". 2009-07-06 16:07 mark * Updated code to implement simple type inheritence in spType.cfm so standard attributes of extended type are also inherited. Previously, only methods and properties were inherited, which meant attributes of cf_spType had to be duplicated when creating a type that extended another (not good). 2009-07-02 15:09 mark * Updated contentPut method of spUsers type - update fullName and email keys in session.speck if user being updated is session user, i.e. user is updating themselves. Hacked spLogonForm a little to make it a little prettier by default and easier to style (this needs a bit of an overhaul really). 2009-06-26 17:06 mark * Updated keywords/navigation admin window to fix opacity issue in IE8. Fixed bug in request.speck.portal.getKeywordUrl() function - always used keyword for current page, even if passed a keyword argument. Updated code to generate refreshURL in spToolbar so it works a little nicer from POST requests where there's nothing in the URL to tell spPortal which page should be loaded (i.e. no spPath or spKey) - now adds spKey if missing from URL, which is typically the case with a POST. 2009-06-25 14:53 mark * Fixed bug in getDisplayMethodUrl() function - didn't take appWebRoot into account when generating rewrite engine URLs, so wasn't working as expected when rewrite engine enabled for apps running with virtual directories. Fixed bug in forceParagraphs() function - didn't deal with paragraph tag immediately followed by another block level element. Updated forceParagraphs() function to check for input that's too hot to handle - if the input looks like it's too complicated to deal with, don't meddle with it and just return it (better safe than sorry). 2009-06-23 12:15 mark * Fixed very minor bug in code to show validation messages within spDefault - wasn't html escaping error messages, so any html tags within the message would be rendered as html rather than appear as source. Updated code to deal with validate method in spHandler - r_lErrors attribute now required. 2009-06-18 16:14 mark * Updated code to generate paths to stylesheets and javascript files in spPortal and Html property so it works properly when the application is running in a virtual directory. 2009-06-18 12:11 mark * Updated content css for force letter spacing for admin links. Updated display method ImageContainer content type to look for displayColumns rather than columns attribute to avoid clashing with spContent columns attribute (we only want columns when displaying the actual images, not the container itself). Fixed nasty, and silly, bug in code to close up open table in spHandler, always used mod operator to determine the number of columns remaining, but if number of rows wasn't divisible by number of columns, remainder was always the number of columns, ouch! 2009-06-18 10:34 mark * Updated add new role form - when a group is to be created with the role, allow user to enter the name of the group rather than just generate the group name automatically. 2009-06-17 14:14 mark * Updated toolbar to show admin login link if user has any role (previously had to have spSuper, spEdit or spLive). 2009-06-17 12:09 mark * Improved code to check if property values are unique when unique attribute set to true - now uses new(ish) spArchived column which means it works nicely with promotion enabled (previously, with promotion enabled, uniqueness could only be checked at all revisions, which was crap). 2009-06-17 11:42 mark * Updated code to generate SEO labels in both Article and Event content types - check if label generated from title is unique and if not, append sequence id to force unique. 2009-06-17 10:17 mark * Fixed bug in code to add user - code to check for existing user assumed that spUserGet returned an empty stUser struct when user not found, when in fact it returns nothing. Fixed bug in code to create spUsers table in spPortal - forgot to add new salt column. Updated code to render admin login link within spToolbar so it just doesn't work if javascript is disabled, rather than half work. Added endRow attribute to spContent - previously the endRow was always the recordCount of the content query, which was fine unless you wanted to pass an existing content query to spContent and only render x number of rows from that query (we're using this update to render random rows from an existing content query). Removed requirement for article titles to be unique. This was done to ensure SEO labels generated from article titles would always be unique, but that caused some problems. As it stands now, articles with the same title and therefore label could clash if they are to be displayed in the same location - I'll solve that one later. 2009-06-11 16:26 mark * Updated code to check if username is available when adding a new user such that it checks all security zones. 2009-06-11 12:13 root * Added support for salted hashed passwords, portal framework will now salt passwords before hashing, and spUserGet will use a salt when generating a hashed password if one exists. These changes are significant, any custom developed code to manage users and save hashed passwords to the spUsers table will be incompatible with these updates (possible TODO: add an option to tell the portal framework not to salt the passwords before hashing?). 2009-06-10 17:23 root * Updated ImageInfo class to latest version I could find (http://schmidt.devlib.org/image-info/ is dead, but found a version packaged with FCKEditor's Java integration package). This should solve issues with obtaining image dimensions of some jpgs (like the ones created by picasa). 2009-06-10 14:04 root * Fixed bug in code to obtain date for content index in spContentPut - if date was set to be retrieved from a user defined property, but value of that property for current content item was null, code to default value to spCreated failed. 2009-06-10 12:00 root * Updated spApp to add 'started' key to application.speck, and updated code in spPortal to force refresh when tmp/refresh.txt found such that it only refreshes when the modified date is later than the started date for the application. This allows spPortal to refresh the app when a refresh.txt is touched, even if CF doesn't have permission to delete the file. 2009-06-10 07:22 mark * Fixed really, really stupid bug in code to cfparam appWebRoot setting in spPortal (introduced yesterday, I think I may have been sleepwalking at the time). 2009-06-09 15:27 mark * Fixed bug in code to generate default 'home' keyword in spPortal, was looking for old stPortal.appWebRoot variable. Also updated action for view link in navigation window, now focuses the main window as well as loading the page. 2009-06-08 10:42 mark * Fixed bug in spMenu tag - when used to generate a sitemap, menu items which were flagged to appear in normal menus but not the sitemap were included in the output. Fixed minor bug in code to clean word crap from Html when saving. 2009-05-27 13:37 mark * Fixed bug in spContentPut - forgot to check if contentIndex struct exists in stType before trying to update the content index.