Title Page Software Version Description for DataPort::FilteType::FormDB - Text Form Datatbase with advantages over CSV Revision: E Version: 0.01 Date: 2003/06/24 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. The DataPort::FileType::FormDB module is an integral part of the US DOD SDT2167A bundle of modules. The data used by Test::STDmaker and ExtUtils::SVDmaker are stored in this format. The dependency of the program modules in the US DOD STD2167A bundle is as follows: File::FileUtil Test::STD::Scrub Test::Tech DataPort::FileType::FormDB DataPort::DataFile DataPort::Maker Test::STD::Template Test::STDmaker ExtUtils::SVDmaker Note the File::FileUtil, Test::STD::STDutil Test::STD::Scrub program modules breaks up the Test::TestUtil program module and Test::TestUtil has disappeared. 1.3 Document overview. This document releases DataPort::FileType-FormDB version 0.01 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.01 http://www.perl.com/CPAN-local/authors/id/S/SO/SOFTDIA/DataPort-FileType-FormDB-0.01 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.01 2003/06/24 revised 0.05 MANIFEST 0.01 2003/06/24 generated, replaces 0.05 Makefile.PL 0.01 2003/06/24 generated, replaces 0.05 README 0.01 2003/06/24 generated, replaces 0.05 lib/DataPort/FileType/FormDB.pm 0.02 2003/06/23 unchanged t/DataPort/FormDB.d 0.04 2003/06/24 revised 0.03 t/DataPort/FormDB.pm 0.03 2003/06/24 revised 0.02 t/DataPort/FormDB.t 0.06 2003/06/24 revised 0.05 t/DataPort/FormDB0.tdb 0.01 2003/06/08 unchanged t/DataPort/FormDBa2.tdb 0.01 2003/06/08 unchanged t/DataPort/FormDBa2.txt 0.01 2003/06/08 unchanged t/DataPort/FormDBa3.tdb 0.01 2003/06/08 unchanged t/DataPort/FormDBa3.txt 0.01 2003/06/08 unchanged t/DataPort/FormDBa4.tdb 0.01 2003/06/08 unchanged t/DataPort/FormDBa4.txt 0.01 2003/06/08 unchanged t/DataPort/FormDBr2.txt 0.01 2003/06/08 unchanged t/DataPort/FormDBr3.txt 0.01 2003/06/08 unchanged t/DataPort/FormDBr4.txt 0.01 2003/06/08 unchanged t/DataPort/FormDBs0.tdb 0.01 2003/06/08 unchanged 3.3 Changes Changes to the previous version are as follows: 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 From: my ($record,$fields) = ('',''); my ($$record_p, $$fields_p) = ($record,$fields); To: my ($record,$fields) = ('',''); my ($record_p, $fields_p) = ($record,$fields); 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); 3.4 Adaptation data. This installation requires that the installation site has the Perl programming language installed. Installation sites running Microsoft Operating systems require the installation of Unix utilities. An excellent, highly recommended Unix utilities for Microsoft operating systems is unxutils by Karl M. Syring. A copy is available at the following web sites: http://unxutils.sourceforge.net http://packages.SoftwareDiamnds.com 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.01 http://www.perl.com/CPAN-local/authors/id/S/SO/SOFTDIA/DataPort-FileType-FormDB-0.01 Prerequistes. 'Test::Tech' => 1.08, 'Test::STD::Scrub' => 1.07, 'File::Package' => 0, 'File::SmartNL' => 0, 'File::TestPath' => 0, 'DataPort::DataFile' => 0, 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 DID Data Item Description DOD Department of Defense POD Plain Old Documentation SVD Software Version Description US United States 2.0 SEE ALSO Modules with end-user functional interfaces relating to US DOD 2167A automation are as follows: Test::STDmaker ExtUtils::SVDmaker DataPort::FileType::FormDB DataPort::DataFile Test::Tech Test Data::Dumper Test::STD::Scrub Test::STD::STDutil File::FileUtil The design modules for Test::STDmaker have no other conceivable use then to support the Test::STDmaker functional interface. The Test::STDmaker design module are as follows: Test::STD::Check Test::STD::FileGen Test::STD::STD2167 Test::STD::STDgen Test::STDtype::Demo Test::STDtype::STD Test::STDtype::Verify Some US DOD 2167A Software Development Standard, DIDs and other related documents that complement the US DOD 2167A automation are as follows: US DOD Software Development Standard US DOD Specification Practices Computer Operation Manual (COM) DID Computer Programming Manual (CPM) DID) Computer Resources Integrated Support Document (CRISD) DID Computer System Operator's Manual (CSOM) DID Database Design Description (DBDD) DID Engineering Change Proposal (ECP) DID Firmware support Manual (FSM) DID Interface Design Document (IDD) DID Interface Requirements Specification (IRS) DID Operation Concept Description (OCD) DID Specification Change Notice (SCN) DID Software Design Specification (SDD) DID Software Development Plan (SDP) DID Software Input and Output Manual (SIOM) DID Software Installation Plan (SIP) DID Software Programmer's Manual (SPM) DID Software Product Specification (SPS) DID Software Requirements Specification (SRS) DID System or Segment Design Document (SSDD) DID System or Subsystem Specification (SSS) DID Software Test Description (STD) DID Software Test Plan (STP) DID Software Test Report (STR) DID Software Transition Plan (STrP) DID Software User Manual (SUM) DID Software Version Description (SVD) DID Version Description Document (VDD) DID