Login   Register  
PHP Classes
elePHPant
Icontem

File: flashPash.changelog.txt

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Simon McKenna  >  flashPash  >  flashPash.changelog.txt  >  Download  
File: flashPash.changelog.txt
Role: Documentation
Content type: text/plain
Description: flashPash changelog
Class: flashPash
Database automation for Flash and PHP
Author: By
Last change:
Date: 2003-07-15 12:09
Size: 16,513 bytes
 

Contents

Class file image Download
+==-==-==-==-==-==-==-==-==-==-==-==+
|      flashPash RC1 changelog      |
+==-==-==-==-==-==-==-==-==-==-==-==+

Changes to FlashPashClass

- Added new static properties to handle different join types:
  FP_JOIN_INNER (I)
  FP_JOIN_LEFT  (L)
  FP_JOIN_RIGHT (R)
- Added new static properties to handle table and field aliases:
  FP_XML_FIELD_ALIAS   (fieldAlias)
  FP_XML_TABLE_ALIAS   (tableAlias)
  FP_XML_FIELD_COMPUTE (compute)
- Added getDebugText, getError, getErrorText, getRecordCount and getState
  methods for related public properties.  They are all read-only (of sorts)
- Renamed method 'getNow' to 'now' to avoid confusion with get/set methods
- Renamed all FP_XML_* static properties to FP_*

Changes to FlashPashComponentClass

- Added tableAlias and fieldAlias parameters to _createFieldElement
- Added get/set methods for public properties.  Refer to help for details.
  IMPORTANT! setDataSource can accept either the instance of a FxDataSetClass
  or Recordset class, or the name of one (it stores the name).  Also be aware
  that getDataSource will return a reference to the dataSource object.
- Changed _createDataPacketElement so that 'recordLimit' and 'limitFrom'
  are sent to server if length > 0 and have non-zero value.
- Renamed all 'childNodes[ 0 ]' references to 'firstChild'

Changes to FlashPashFireflyClass

- Added generic code for creating empty dataset when doSelect returns 0 recordCount.
  NOTE: There is an issue in Firefly when creating empty datasets in XML.
  After creating an empty dataset, there is a record with an 'update' delta
  packet in the resolver, which is pretty useless...so flashPash calls
  deleteRecord and purgeUpdates against the associated dataset.
- Added delay to _checkDataSourceProperties if unable to find datatset connector.
  Pauses for 1 second and tries again, if connector still not found pause for
  another 2 seconds and try again before failing.  I believe this is happening
  due to the external Firefly library not being loaded yet (since it only happens
  when first loading a movie and then only intermittantly).
- Added new methods setKey, setJoin and setAlias. Refer to help for details.
- Added method _setMapSource method
- Changed parameters for setField method.  Refer to help for details.
- Changed _getFields method to only set @ in path.
  Path now built by combing table and field.
- Changed default maxWaitTime from 45000 (45 seconds) to 15000 (15 seconds)
- Fixed bug in _getResolverFields when getting delta count
- Fixed bug in _buildResolverInsert when getting default value
- Renamed _addKeyField and _deleteKeyField to _addResolverKey and _deleteResolverKey

Changes to FlashPashRecordsetClass

- Added new methods setKey, setJoin and setAlias. Refer to help for details.
- Added _getRecordSet method
- Changed parameters for setField method.  Refer to help for details.
- Changed default maxWaitTime from 45000 (45 seconds) to 15000 (15 seconds)

Changes to FlashPashStashClass

- None

Changes to FlashPashServerClass

- Added errorReporting property.  Also added associated static properties:
  FP_ERROR_REPORTING_DEFAULT : Default setting - Report error number and brief error text
  FP_ERROR_REPORTING_VERBOSE : Include all available information in errorText property
  FP_ERROR_REPORTING_ONLY_NUMBER : Only return the error number, errorText property not set
  FP_ERROR_REPORTING_NONE : error and errorText properties are not set if error found
- Added 'rawurlencode' parameter to _checkForCDATA method
- Added property 'socketPort' in preparation for socket support
- Added static property FP_SOURCE_XML_SOCKET in preparation for socket support
- Added error logging when opening and writing to log files
- Added private property _qri to store current index position of _SQL array
- Changed debug property so that it can be FP_LOG_HTML and/or FP_LOG_TEXT
  ie. flashPash will write both HTML and Text logfile if both are set. 
- Added new static properties to handle different join types:
  FP_JOIN_INNER (I)
  FP_JOIN_LEFT  (L)
  FP_JOIN_RIGHT (R)
- Added new static properties to handle table and field aliases:
  FP_XML_FIELD_ALIAS   (fieldAlias)
  FP_XML_TABLE_ALIAS   (tableAlias)
  FP_XML_FIELD_COMPUTE (compute)
- Added new methods setKey, setJoin and setAlias. Refer to help for details.
- Added flashPash.firefly.php and flashPash.recordset.php include files,
  removed associated methods.
- Added private methods _getFieldsForSelect, _getFieldsForInsert, _getFieldsForUpdate
  and _getFieldsForDelete
- Added private methods _getTablesForSelect, _getTablesForInsert, _getTablesForUpdate
  and _getTablesForDelete
- Changed debug output of XML so that it is now correctly formatted
- Changed flashPash.permissions.xml to flashPash.roles.xml.  To help reduce
  confusion between database users and flashPash users, all references to
  'user' permissions have been changed to 'role' permissions.
- Changed _buildXMLoutput to check for attributes or nodes on each field
- Changed _buildQuery and _runQuery methods to handle multiple queries in _SQL.
  This means if you have multiple tables, separate queries will be run for each
  table for FP_INSERT, FP_UPDATE and FP_DELETE SQL types.
- Changed parameters for setField method.  Refer to help for details.
- Changed _buildSelectResult so that it only searches for FP_SQL_ALIAS once.
- Changed checkFieldValue so that boolean data types are not converted to 0 or 1
- Renamed property checkUser to checkRole, and renamed property userName to role
- Renamed method _checkPermissions to _checkRole
- Renamed method _searchPermissionNode to _searchRoleNode
- Renamed static properties:
  FP_ERROR_PERMISSION_FILE_MISSING to FP_ERROR_ROLE_FILE_MISSING
  FP_ERROR_PERMISSION_INVALID_XML  to FP_ERROR_ROLE_INVALID_XML
  FP_ERROR_PERMISSION_INVALID_USER to FP_ERROR_ROLE_INVALID
  FP_ERROR_PERMISSION_DENIED_ALLOW to FP_ERROR_ROLE_DENIED_ALLOW
  FP_ERROR_PERMISSION_DENIED_DENY  to FP_ERROR_ROLE_DENIED_DENY
  FP_ERROR_PERMISSION_DENIED       to FP_ERROR_ROLE_DENIED
  FP_PERMISSION_NOT_FOUND          to FP_ROLE_NOT_FOUND
  FP_XML_USER_NODE                 to FP_XML_ROLE_NODE
- Renamed property _loadedPOSTdata to _gotData.  Reflects change to _intialise
  method, which is now called before getData is called (if it hasn't been already)
- Renamed _getPOSTdata method to _getData method to prepare for socket support
- Renamed _SQLquery to _SQL and type to array.  Needed for multi-table updates.
- Renamed all FP_XML_* static properties to FP_*
- Removed private method _checkErrorCount (now handled by _logError)
- Removed 2 ob_end_clean() calls as it may interfere with other scripts (PHP 4.3.2)
- Removed checkRole, role and errorReporting from FlashPashServerClass constructor
- Removed _getFieldEqualsValue method.  Replaces by _getFieldsForXXX methods.

Changes to demo's

- Added localConnection logic to all demo's (links to katsi logo on website)
- Added "Add Item" button to recordset demo, added keyfield, improved useability
- Changed flashPash.firefly.demo to fix problem with legacy components
- Changed flashPash.firefly.demo and TimeTrax tutorial to Firefly v1.0
- Changed all demos to comply with setField parameters and converted
  to work with new methods setKey and setJoin.
- Changed demo structure to separate Actionscript and Movies from PHP code
- Changed flashPash firefly demo to use joined tables (table1 and table2)

Other changes

- flashPash.exe installation program nows installs into 'First Run' folder.
  Flash MX will automatically copy into appropriate user folder.
- Subversion.tigris.org implemented as flashPash's version control software.
  Tortoise.tigris.org is also used as a windows shell extension for Subversion.
  This isn't running over HTTP yet, but email si@sshnug.com for a working copy.
- ADOdb v3.60 built into release


+==-==-==-==-==-==-==-==-==-==-==-==+
|    flashPash beta 3 changelog     |
+==-==-==-==-==-==-==-==-==-==-==-==+

Changes to design:

- New client-side class hierarchy

sshnug [ namespace ]
|
+-->FlashPashClass   [ flashPash.as ]
    |
    +-->FlashPashComponentClass   [ flashPash.component.as ]
    |   |
    |   +-->FlashPashFireflyClass   [ flashPash.firefly.as ]
    |   |
    |   +-->FlashPashRecordsetClass   [ flashPash.recordset.as ]
    |
    +-->FlashPashStashClass   [ flashPashStash.as ]


Changes to flashPash MX components

- Added doSaveUpdates (resolver updates) method for firefly dataSources!
  Note: With Firefly dataSources, this should be the main method used, as it correctly
  handles updates to primary key values and is more efficient as it only includes changes.
- Added custom interface for component parameters.  Provides some basic error checking
  and allows user to use enter key to switch between properties.
- Added static property FlashPashClass.FP_WRAP_IN_TRANS and implemented into doSaveUpdates,
  ie.  If doSaveUpdates wrapInTransaction parameter is true, all updates must be successfull
  or none will be.  Note that this is only support in ADOdb v3.40 or higher.
- Added FP_XML_FIELD_OLDKEY (on client and server classes) to field attributes to allow for
  updating of key values and to avoid unnecessary inclusion in SQL "SET" conditions.
- Added FP_XML_FIELD_JOIN (client+server) to fields to prepare for automated table joins
- Added setField method to flashPash firefly and recordset components
- Added 2 new properties 'interval' and 'maxWaitTime'. Both used to customise state timing.
- Added new client-side error code FP_ERROR_TIMEOUT
- Added description of parse error message in XML.status (taken from flash documentation)
- Moved firefly specific functions to FlashPashFireflyClass
- Removed unnecessary property and event declarations in code (already in parameters)
- Removed redundant constant declarations 
- Removed 'dontSendXML' parameter from public methods
- Removed property 'dataSourceType'. Added constant FP_CUSTOM_DATA_SOURCE
  To determine the dataSource, use public method 'getDataSourceType'
  Note: Property still exists on server-side class and FP_DATA_SOURCE_TYPE
  is still sent (if necessary) in XML as a dataPacket attribute.
- Fixed problems with non-alphanumeric's and CDATA being received and sent by client
- Fixed bug which prevented calling firefly chained events from flashPash
- Fixed bug which prevented flashPash state change if no event was specified
- Fixed bug when changing state after multiple FP_ERROR_ALREADY_BUSY errors
- Fixed bug which was causing component graphic to be shown on form
- Changed code syntax to have more standardised formatting
- Changed FlashPashClass to descend from Object and not MovieClip (saves resources?)
- Changed _createXMLDataPacket to _createDataPacketElement
- Changed _createXMLfield to _createFieldElement
- Changed _onXMLdata method so to prevent processing of XML result after timing out
- Changed XML contentType sent from flash is now "application/flashPash"
- Changed all 'before' style events to now abort method if false returned within event call
- Changed FlashPashRecordsetClass to use XML nodes mpt attributes (avoids CDATA issues)
- Changed all class shortcut aliases for consistancy (fp_proto, fpComponent_proto, etc)
- Changed reset method to _reset, as it doesn't have to be public.
- Changed XML structure to be more efficient and self-describing: SQLtype is now
  used as nodeName, saves around 30 bytes per request (data packet).


Changes to flashPash PHP class (flashPash.php)

- Added XML based server-side permission structure!  Now you can implement a MySQL 
  style security model even if you only connect to the database with one user
  (For more information see documentation in checkUser in FlashPashServerClass reference help)
- Added Allow and Deny attributes to permission checking for each SQLtype to provide further
  permission filtering.  See checkUser property in API help for FlashPashServerClass.
- Added ADOdb qstr, DBDate and DBDateTime wrappers to matching field types in _convertFieldValue method,
  and as a result removed addslashes function from _convertXMLtoArray().  This should result in greater
  database portability.
- Added standard properties to FlashPashServerClass constructor
- Added new private property _loadedPOSTdata.  This is now set to true whenever getPOSTdata is
  able to successfully load POST contents into dp array.   What this means is you can now verify
  and change client-side data before it is executed against the database.
- Added new private method _buildMetaArray.  This adds a prefix to DB, TABLES and COLUMNS meta
  requests to make result XML compliant and referenced from 1 instead of 0.
- Added ability to wrap flashPash XML sent from client up in a transaction using ADOdb StartTrans
  and CompleteTrans. Only for ADOdb 3.40 or higher. Also added FP_WRAP_IN_TRANS static property.
- Removed redundant constant declarations for meta-data (tableInfo now object based)
- Removed FP_MYSQL_PASSWORD constant and conditional check (performance hit was too high).
  This means SQL involving MySQL password fields will have to be done by doSQL method only.
- Removed errorCount property.
- Fixed problems with non-alphanumeric's and CDATA being received and sent by server.
  Note: HTTP contentType sent from server is now "application/flashPash"
- Fixed bug in meta-data which prevented multiple (not primary) key field types being defined
- Fixed problem connecting to firebird/interbase databases (thanks for your patience Kent)
- Fixed logic bug which allowed processing to continue even if dbConnect failed
- Fixed PHP notice when passed value is null in WHERE clause
- Fixed logic bug which was propogating error messages when multiple data packets processed,
  and an error was found.  A new routine _initialiseDataPacket was created.
- Changed code syntax to have more standardised formatting.
- Changed class from flashPash to FlashPashServerClass for consistency and to avoid confusion
- Changed _convertPropertiesToXML method to _convertArrayToXML
- Changed _convertXML method to _convertXMLtoArray
- Changed _checkAndSetDataPacketIfXML to getPOSTdata.  Function is now public to enable server-side
  script to get client-side contents without execution of query.
- Changed _killField to _deleteField
- Changed from reading XML sent by client from $_POST to php://input stream
  NOTE: If PHP version is less than 4.3.0 then flashPash will read $HTTP_RAW_POST_DATA
- Changed property 'name' to 'logfile' (more accurate description of it's purpose)
- Changed FP_SQL_ALIAS searches to be case insensitive
- Changed XML parsing to use XML_Tree
- Changed XML structure to be more efficient and self-describing: SQLtype is now
  used as nodeName, saves around 30 bytes per request (data packet).


Changes to demo

- Added live "flashPash using firefly" 
	demo: http://flashpash.sshnug.com/demo.php?type=swf&name=firefly
- Added live "flashPash using recordset"
	demo: http://flashpash.sshnug.com/demo.php?type=swf&name=recordset
- Added live server-side flashPash 
	demo: http://flashpash.sshnug.com/demo.php?type=php

- Added flashPash 'interval' and 'maxWaitTime' properties
- Added 'get db list' switch to avoid ODBC restriction as it connects via DSN
- Fixed bug where previous server log was loaded if client error occured
- Changed flashPash.demo.swf to flashPash.firefly.demo.swf
- Changed database name to be editable
- Changed meta-data table selection to be a combo box and auto-filled after doMeta
- Changed Server and client demo logs to now be reset before activation
- Changed doInsert, doUpdate and doDelete methods to now delete from local firefly dataset
  after the server has successfully modified the current record
- Changed firefly components to RC3.  So an updated library file is required


Other changes

- Added ADOdb v3.40 to release
- Changed flashPash actionscript install location to $flash/configuration/include 
  (ie. flashPash will no longer install into its own sub-directory)
- Changed installation of public demo files directory to default to "public_html" 
  but user can also choose their own location to make things easier.
- Fixed flashPash firefly and recordset icons in component panel
- Fixed numerous display problems in reference documentation