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.