Jump to content

filePro

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 85.180.157.173 (talk) at 00:15, 16 January 2012. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.


filePro is a proprietary DBMS and RAD system originally developed by Howard Wolowitz as The Electric File Clerk in 1978. He licensed it to Tandy Corporation in 1979 who first published it in 1980 as Profile II.

Although there was a Profile for the TRS-80 model I, model III and model IV, these were unrelated programs. Today's filePro started out on the Model II and was first released by Tandy as "Profile II". After passing through several owners, the code is currently the property of fPTechnologies, Inc.

Current status

filePro is not a true relational database, because it does not satisfy Codd's 12 rules, although the language does allow looking up data in one file while working in another. filePro, in fact, fully satisfies only the first of Codd's 12 laws. filePro stores data in fixed length record files. It allows for rapid prototyping of curses-like screens, and add-on products are available for client-side read-only ODBC interoperability, Common Gateway Interface-like functionality, and a limited form of SQL restricted to SELECT statements only.

While filePro supports limited datatype integrity checking at the table level, these checks can be overridden by code. There is no support for triggers. Locking is done on a per-record basis, so that two users cannot update different fields in the same record simultaneously. Code is stored on a per-table basis. Manual data update/insertion/deletion follows user-defined rules based on processing written in a custom BASIC-like language. Most interface processing involves reacting to interface events such as on an update or When-Leave-Field.

The reporting tool uses the same language. The reporting tool is also used to define non-report related processing by running reports with no defined output (eg, importing data from a CSV file).

The product no longer ships with a printed user manual; however, there is a manual available online at fpTech's website. As well, there is a single third-party full reference book available, along with a single third-party quick-reference guide.

There are several filePro resources available online including a company maintained discussion forum at http://www.fptechforum.com ; A user created free access website containing sample code, articles, tutorials and a directory of active filePro developers at http://www.fpgroups.com ; a user maintained mailing list—for more information, visit http://lists.celestial.com/mailman/listinfo/filepro-list ; and a user run chat room at http://www.valar.com/fp_room/fp_room_enter.htm

History

1978
Howard Wolowitz develops Electric File Clerk for the TRS-80 Model II.
1979
The small Computer Company is founded.
1980
Tandy Corporation publishes it as Profile II.
????
Profile II Plus is released.
1983
Profile 16 is released for the TRS-80 Model 16 running Xenix.
????
Profile 16 Plus is released.
????
filePro 16 and filePro 16 Plus are released by The small Computer Company for non-Tandy computers. (Profile was a trademark licensed by Tandy.)
1986
Version 3.0 released for both filePro 16 and filePro 16 Plus. This was the last version for the non-Plus filePro 16. Further versions also dropped the 16 part of the name.
????
filePro Plus Version 4.0 released.
????
The small Computer Company is bought by another company (Athena Investment Group), and becomes a subsidiary of that company. Over the next years, the parent company itself changes hands several times.
????
Version 4.5 released.
????
Version 4.8 released.
1998
fPTechnologies, Inc. is founded by the filePro employees, and buys the rights to filePro.
????
Version 5.0 released.
2006
Version 5.6 released.
2009
Purchased by Henschen and Associates, Bowling Green Ohio and renamed fP Technologies of Ohio, Inc.

Future

While there is an fpGUI add-on for GUI-based access, filePro is still primarily character-based, which some users assert makes for faster and more efficient data entry. There is, however, no support for screens larger than 24x80.

There are several people who have created XML and SQL bridges that allow cross-communication with legacy systems. Not even the PHP community has provided a full featured layer with the ability to directly read/write to filePro data in real time. PHP has contributions that allow reads if record numbers are known; however, record numbers could change in a reorganization, thus eliminating the usefulness of the contribution. Writing to filePro databases is still an issue, while the internal format of the B+ tree indexes used has been officially documented, no one has adapted such a library for these indexes—any programmers wishing to write new records to a database must do that (not inconsequential) work themselves.

Database Features

Strengths

  • Fast data lookups
  • Short learning curve (for programmers, user experience is software dependent). NOTE: people with traditional programming experience, particularly exposure to Object Oriented methodologies challenge this statement
  • Data entry system allows for quick familiarity with keyboard shortcuts, and as such, typists do not have to rely on mouse acquisition
  • Provides version updates and bug releases for operating systems for more than a decade[1]

Weaknesses

  • Limited ability to communicate with other DB systems
  • SQL support is read-only[2]
  • ODBC support is client-side only and only available for MS Windows platforms[3]
  • No transactions
  • No journaling
  • Relationship management is manual
  • Only supports 24 lines of 80 characters
  • Typically programmed by nerds, and often is badly programmed, and causes issues for everyone in the company.[4]
  • Sort depth limit of 8 fields per report/index[5]
  • Data types (edits) specifications limited to 100 types globally and 100 per specific table[6]
  • Coding limited to only if and goto and gosub (no else, switch, or looping statements)
  • No facility for passing arguments to subroutines with its gosub command.
  • Design does not allow for typical low-coupling/high-cohesion code design.
  • Maximum print width of 255 characters per line[7]

Trivia

  • Howard Wolowitz is one of the character's names on the TV show The Big Bang Theory, which was created by Bill Prady, one of the founding partners of The small Computer Company.

References