NFileStorage v1.3.0

Rating: No reviews yet
Downloads: 4823
Released: Apr 12, 2009
Updated: Apr 12, 2009 by barkgj
Dev status: Stable Help Icon

Recommended Download

Source Code NFileStorage_2009_04_12__v_1.3.0 - Source
source code, 87K, uploaded Apr 12, 2009 - 2538 downloads

Other Available Downloads

Application NFileStorage_2009_04_12__v_1.3.0 - Binaries
application, 49K, uploaded Apr 12, 2009 - 721 downloads
Application NFileStorage_2009_04_12__v_1.3.0 - CommandTool executable
application, 77K, uploaded Apr 12, 2009 - 438 downloads
Example NFileStorage_2009_04_12__v_1.3.0 - Example executable
example, 63K, uploaded Apr 12, 2009 - 708 downloads
Example NFileStorage_2009_04_12__v_1.3.0 - Web example binaries
example, 73K, uploaded Apr 12, 2009 - 418 downloads

Release Notes


--------------
Version 1.3.0 features;

New
  • Added support for storing (custom) meta data to any data identifier (so next to the actual data, additional data can be stored). Retrieving meta data is slower compared to the primary data, but nevertheless a very good enhancement. You can decide yourself what custom metadata to store, the system does include an out-of-the-box string dictionary metadata and EmptyCustomMetaData (the 2 most likely ones), although you can define your own pluggable custom metadata classes too.
  • Added functionality to store and retrieve C# objects (objects implementing the IDynamiteXml interface)
  • Added "Defrag" feature to deframent a FileStorage (this one clones the FileStorage, and rebuilds the data identifiers, also exposes a SQL file that can be used to update the data identifiers in your database (if you have one).
  • Added "Upgrade" feature to upgrade an older version of a filestorage to a newer one (adding the meta data feature broke the compatibility in some methods)
  • Facade now has a GetStringData which exposes data as a string (otherwise you would have to make the plubming yourself).
  • The CLI now has the ability to add a file based upon the filename (the filename will be converted on the fly to a GUID)
  • The CLI shows the data identifiers as filenames in the DIR command if it appears this is possible (on the fly derivation of the filename based upon the GUID)
  • The CLI now has a new Meta subcommand that exposes the metadata (currently only holds the creation date in UTC of a new data entry), and has support for pluggable custom metadata. By default any newly created FileStorage will have meta data support if you use the Facade.
  • Versioning of all C# projects (Dll's) is handled at one location
  • Constructor performs (optionally) a check when opening a file, to see if the version is supported or not.

Fixes
  • If data was retrieved for a non-existing dataidentifier, in the old situation null would be returned, but in the new situation an exception is thrown, preventing null reference exceptions.
  • Upgraded DynamiteXml.dll to 1.0.0.1 (contains a manual fix I made myself, this is not an official release)
  • Fixed bug in web example; only even or odd items would show, not both
  • Fixed bug in GetInfo(); when data file is empty it would throw an exception.

Improved / adjusted naming conventions
  • ContainerName is now replaced by FileStorageName.
  • Standardized naming convention for methods of the Handler; fileIdentifier is replaced by dataIdentifier.
  • FileIdentifier class was replaced by DataIdentifier
  • Versioning number within the indexfile and datafile are now aligned with the versioning number of the dll.

New dependencies
  • DynamiteXml has now become a dependency for NFileStorage; its used to store/retrieve objects from a filestorage, and also used to store/retrieve metadata. Note that we reference to a customized DynamiteXml dll with version 1.0.0.1 (contains a manual fix I made myself, this is not an official release of DynamiteXml, see the codeproject DynamiteXml.codeplex.com, and the issue tracker http://dynamitexml.codeplex.com/WorkItem/View.aspx?WorkItemId=2202).

Reviews for this release

No reviews yet for this release.