Title Page Software Version Description for DataPort::FilteType::FormDB - Text Form Datatbase with advantages over CSV Revision: B Version: 0.04 Date: 2003/08/02 Prepared for: General Public Prepared by: SoftwareDiamonds.com Esupport@SoftwareDiamonds.comE Copyright: copyright © 2003 Software Diamonds Classification: NONE 1.0 SCOPE This paragraph identifies and provides an overview of the released files. 1.1 Identification This release, identified in 3.2, is a collection of Perl modules that extend the capabilities of the Perl language. 1.2 System overview The system is the Perl programming language software. As established by the Perl referenced documents, program modules, such the "DataPort::FileType::FormDB" module, extends the Perl language. The "DataPort::FileType::FormDB" program module accesses a text database file in the very specific FormDB format and inherits generic database methods from the "DataPort::DataFile" module. The "DataPort::FileType::FormDB" program module is a data source for the "DataPort::DataFile" module. The FormDB format has improve flexability and performance over other text base formats such as the Comma Separated Variable (CSV) format. The text format resembles as much as possible the standard hard copy forms. An example of a "DatatPort::FIleType::FormDB record follows: manhood length: ________ ^ time spent in big house: _________ ^ what drugs do you use: _________ _________ ^ ~-~ The ':' separates field names and field content. The '^' tags the end of a field and the '~-~' tags the end of the record. The separation sequences are escaped within the form by adding an extra character as follows: sequence escaped -------- -------- ~-~ ~--~ ~--~ ~---~ ^ ^^ ^^ ^^^ : : :: ::: Since ~-~ never appears inside a record, Perl can very easily find the record separators just by ... well ... searching for it. The search for the end of field and end of field name are just a little bit more complicated. Search for a ':' or '^' all by itself. Escaping and unescaping is just adding one more ':', '^', '-' or removing one of these characters. The FormDB record looks very much like a hard copy form yet is very simple and straight forward for Perl or any other programming language to process. 1.3 Document overview. This document releases DataPort::FileType-FormDB version 0.04 providing description of the inventory, installation instructions and other information necessary to utilize and track this release. 3.0 VERSION DESCRIPTION All file specifications in this SVD use the Unix operating system file specification. 3.1 Inventory of materials released. This document releases the file found at the following repository(s): http://www.softwarediamonds/packages/DataPort-FileType-FormDB-0.04 http://www.perl.com/CPAN-local/authors/id/S/SO/SOFTDIA/DataPort-FileType-FormDB-0.04 Restrictions regarding duplication and license provisions are as follows: Copyright. copyright © 2003 Software Diamonds Copyright holder contact. 603 882-0846 Esupport@SoftwareDiamonds.comE License. Software Diamonds permits the redistribution and use in source and binary forms, with or without modification, provided that the following conditions are met: 1 Redistributions of source code, modified or unmodified must retain the above copyright notice, this list of conditions and the following disclaimer. 2 Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. SOFTWARE DIAMONDS, http://www.SoftwareDiamonds.com, PROVIDES THIS SOFTWARE 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SOFTWARE DIAMONDS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING USE OF THIS SOFTWARE, EVEN IF ADVISED OF NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE POSSIBILITY OF SUCH DAMAGE. 3.2 Inventory of software contents The content of the released, compressed, archieve file, consists of the following files: file version date comment ------------------------------------------------------------ ------- ---------- ------------------------ lib/Docs/Site_SVD/DataPort_FileType_FormDB.pm 0.04 2003/08/02 revised 0.03 MANIFEST 0.04 2003/08/02 generated, replaces 0.03 Makefile.PL 0.04 2003/08/02 generated, replaces 0.03 README 0.04 2003/08/02 generated, replaces 0.03 lib/DataPort/FileType/FormDB.pm 0.04 2003/08/02 revised 0.03 t/DataPort/FormDB.d 0.07 2003/08/02 revised 0.06 t/DataPort/FormDB.pm 0.06 2003/08/02 revised 0.05 t/DataPort/FormDB.t 0.09 2003/08/02 revised 0.08 t/DataPort/FormDB0.tdb 0.02 2003/08/02 revised 0.01 t/DataPort/FormDBa2.tdb 0.02 2003/08/02 revised 0.01 t/DataPort/FormDBa2.txt 0.02 2003/08/02 revised 0.01 t/DataPort/FormDBa3.tdb 0.02 2003/08/02 revised 0.01 t/DataPort/FormDBa3.txt 0.02 2003/08/02 revised 0.01 t/DataPort/FormDBa4.tdb 0.03 2003/08/02 revised 0.02 t/DataPort/FormDBa4.txt 0.03 2003/08/02 revised 0.02 t/DataPort/FormDBr2.txt 0.02 2003/08/02 revised 0.01 t/DataPort/FormDBr3.txt 0.02 2003/08/02 revised 0.01 t/DataPort/FormDBr4.txt 0.03 2003/08/02 revised 0.02 t/DataPort/FormDBs0.tdb 0.02 2003/08/02 revised 0.01 tlib/File/SmartNL.pm 1.12 2003/08/02 revised 1.11 tlib/File/Package.pm 1.12 2003/08/02 revised 1.11 tlib/Test/Tech.pm 1.12 2003/08/02 unchanged 3.3 Changes Changes to previous revisions are as follows: DataPort_FormDB 0.01 Originated DataPort_FormDB 0.02 At 04:10 AM 6/9/2003 +0000, Josts Smokehouse wrote: Hello, Samson Monaco Tutankhamen! Thanks for uploading your works to CPAN. I noticed that the test suite seem to fail without these modules: STD::Tester As such, adding the prerequisite module(s) to 'PREREQ_PM' in your Makefile.PL should solve this problem. For example: WriteMakefile( AUTHOR => 'Samson Monaco Tutankhamen (support@SoftwareDiamonds.com)', ... # other information PREREQ_PM => { 'STD::Tester' => '0', # or a minimum workable version } ); If you are interested in making a more flexible Makefile.PL that can probe for missing dependencies and install them, ExtUtils::AutoInstall at may be worth a look. Thanks! :-) ~~~~~~~~~~~~~~~~~ CORRECTIVE ACTION: The Makefile.PL is automatically generated by ExtUtils::SVDmaker from the data stored in the DataPort::FileType::FormDB format in the Docs::Site_SVD::DataPort-FormDB module. For now, in Docs::Site_SVD::DataPort-FormDB Changed PREREQ_PM: ^ to PREREQ_PM: 'Test::TestUtil' => 0, 'Test::Tester' => 0, ^ and regenerated the distribution using ExtUtils::SVDmaker Uploaded Test::TestUtil and Test::Tester to CPAN in order to resolve the prerequiste. DataPort_FormDB 0.03 Resolved a CPAN namespace conflict by changing the name of Test::Tester to Test::Tech. DataPort_FormDB 0.04 Changed the name of "Test::Tester" to "Test::Tech". The name "Test::Tester" is taken on CPAN as an upload. Broke up the STD support utilities "Test::TestUtil" into "File::FileUtil", "Test::STD::Scrub" and "Test::STD::STDutil" Theses changes impacted the test software. DataPort_FormDB 0.05 * Broke "DataPort::DataFile" away into its own module. * At 08:39 AM 6/23/2003 +0000, Josts Smokehouse wrote: [snip] t/DataPort/FormDB......Can't declare scalar dereference in my at t/DataPort/FormDB.t line 147, near ") =" Execution of t/DataPort/FormDB.t aborted due to compilation errors. [snip] ~~~~ The below executed correctly under Perl v5.6.1 MSWin32-x86-multi-thread, ActiveState build 631, binary but not under the Perl version 5.008 for solaris my ($$record_p, $$fields_p) = ('',''); Changed in t\DataPort\FormDB.t my ($record,$fields) = ('',''); my ($$record_p, $$fields_p) = ($record,$fields); DataPort_FileType_FormDB 0.01 * Broke up the package "File::FileUtil" into packages with functional similar functions with a more descriptive package name. Replace "File::FileUtil" with "File::Package", "File::smartNL" and "File::TestPath". Changed in t\DataPort\FormDB.t * Still failing on Unix with "Can't declare scalar dereference" From: my ($record,$fields) = ('',''); my ($$record_p, $$fields_p) = ($record,$fields); To: my ($record,$fields) = ('',''); my ($record_p, $fields_p) = ($record,$fields); DataPort_FileType_FormDB 0.02 Updated the prerequisite list. DataPort_FileType_FormDB 0.03 Correct a problem with test 9, t/DataPort/FormDB.t. For test 9, must write out in binary and not cook the newline. This added a extra \r character. Moved some common functions to DataPort::DataFile Change the test so that test support program modules resides in distribution directory tlib directory instead of the lib directory. Because they are no longer in the lib directory, test support files will not be installed as a pre-condition for the test of this module. The test of this module will precede immediately. The test support files in the tlib directory will vanish after the installtion. 3.4 Adaptation data. This installation requires that the installation site has the Perl programming language installed. There are no other additional requirements or tailoring needed of configurations files, adaptation data or other software needed for this installation particular to any installation site. 3.5 Related documents. There are no related documents needed for the installation and test of this release. 3.6 Installation instructions. Instructions for installation, installation tests and installation support are as follows: Installation Instructions. To installed the release file, use the CPAN module in the Perl release or the INSTALL.PL script at the following web site: http://packages.SoftwareDiamonds.com Follow the instructions for the the chosen installation software. The distribution file is at the following respositories: http://www.softwarediamonds/packages/DataPort-FileType-FormDB-0.04 http://www.perl.com/CPAN-local/authors/id/S/SO/SOFTDIA/DataPort-FileType-FormDB-0.04 Prerequistes. 'DataPort::DataFile' => '0.04', Security, privacy, or safety precautions. None. Installation Tests. Most Perl installation software will run the following test script(s) as part of the installation: t/DataPort/FormDB.t Installation support. If there are installation problems or questions with the installation contact 603 882-0846 Esupport@SoftwareDiamonds.comE 3.7 Possible problems and known errors There are no known open issues. 4.0 NOTES The following are useful acronyms: .d extension for a Perl demo script file .pm extension for a Perl Library Module .t extension for a Perl test script file 2.0 SEE ALSO DataPort::FileType::FormDB DataPort::DataFile