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.
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.[clarification needed] 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 (e.g., 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
- Howard Wolowitz develops Electric File Clerk for the TRS-80 Model II.
- The small Computer Company is founded.
- Tandy Corporation publishes it as Profile II.
- Profile II Plus is released.
- 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.)
- 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.
- fPTechnologies, Inc. is founded by the filePro employees, and buys the rights to filePro.
- Version 5.0 released.
- Version 5.6 released.
- Purchased by Henschen and Associates, Bowling Green Ohio and renamed fP Technologies of Ohio, Inc.
While there is an fpGUI add-on for GUI-based access, filePro is still primarily character-based, which some users[who?] assert makes for faster and more efficient data entry. There is, however, no support for screens larger than 24x80.
There are several people[who?] 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.[clarification needed] 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.
- 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
- Limited ability to communicate with other DB systems
- SQL support is read-only
- ODBC support is client-side only and only available for MS Windows platforms
- No transactions
- No journaling
- Relationship management is manual
- Only supports 24 lines of 80 characters
- Sort depth limit of 8 fields per report/index
- Data types (edits) specifications limited to 100 types globally and 100 per specific table
- 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
- The Big Bang Theory pays homage to one of the founding parters of the small Computer Company by naming one of the characters "Howard Wolowitz". (Showrunner Bill Prady was a business partner of Wolowitz's at one time; the actual Wolowitz has appeared in a cameo on the show.)
- fPTechnologies Official Site
- filePro Developer's mailing list
- Voice chatroom
- An anti-filePro article
- A rebuttal to the "anti-filePro article"
- A website dedicated to supporting the filePro community