Difference between revisions of "tiOPF"

From Free Pascal wiki
Jump to navigationJump to search
m (Remove redundent text)
m
Line 1: Line 1:
 
+
=== About ===
===About===
 
 
The TechInsite Object Persistence Framework (tiOPF) is an Open Source framework of Delphi/Object Pascal code that simplifies the mapping of an object oriented business model into a relational database. The framework is mature and robust. It has been in use on production sites for over seven years. It is free, open source, and available for immediate download with full source code.  
 
The TechInsite Object Persistence Framework (tiOPF) is an Open Source framework of Delphi/Object Pascal code that simplifies the mapping of an object oriented business model into a relational database. The framework is mature and robust. It has been in use on production sites for over seven years. It is free, open source, and available for immediate download with full source code.  
  
Line 16: Line 15:
 
* Cross platform. Currently tested on Windows and Linux.
 
* Cross platform. Currently tested on Windows and Linux.
  
===Authors===
+
=== Authors ===
 
Peter Hinrichsen - Original Designer.<br>
 
Peter Hinrichsen - Original Designer.<br>
 
[[User:ggeldenhuys|Graeme Geldenhuys]] - Ported to Free Pascal.
 
[[User:ggeldenhuys|Graeme Geldenhuys]] - Ported to Free Pascal.
  
===License===
+
=== License ===
 
[http://opensource.org/licenses/mozilla1.1.php Mozilla Public License 1.1] (please contact the author if the MPL doesn't work with your project licensing)
 
[http://opensource.org/licenses/mozilla1.1.php Mozilla Public License 1.1] (please contact the author if the MPL doesn't work with your project licensing)
  
===Download===
+
=== Download ===
 
The latest stable release can be found on the [http://www.techinsite.com.au/tiOPF/ TechInsite] page.<br>
 
The latest stable release can be found on the [http://www.techinsite.com.au/tiOPF/ TechInsite] page.<br>
 
The latest development code can be found on the SubVersion server as follows
 
The latest development code can be found on the SubVersion server as follows
Line 37: Line 36:
 
   <tt>svn co <nowiki>https://svn.sourceforge.net/svnroot/tiopf/tiOPF2_Demos</nowiki> Demos</tt>
 
   <tt>svn co <nowiki>https://svn.sourceforge.net/svnroot/tiopf/tiOPF2_Demos</nowiki> Demos</tt>
  
===Dependencies / System Requirements===
+
=== Dependencies / System Requirements ===
 
* Compiler: Free Pascal 2.0.2
 
* Compiler: Free Pascal 2.0.2
 
* Components for your required persistence layer, if it is not included with the compiler. eg: FBLib for FireBird RDMS.
 
* Components for your required persistence layer, if it is not included with the compiler. eg: FBLib for FireBird RDMS.
Line 45: Line 44:
 
Issues:  None
 
Issues:  None
  
===Installation===
+
=== Installation ===
 
* Unzip the zip file to a location of your choice.
 
* Unzip the zip file to a location of your choice.
 
* Open Lazarus
 
* Open Lazarus
Line 57: Line 56:
 
For more all the available options see the end of the tiOPFManager.pas unit.
 
For more all the available options see the end of the tiOPFManager.pas unit.
  
===Usage===
+
=== Usage ===
 
In Lazarus, open your project and add tiOPF as a Required Package ''(Project -> Project Inspector -> Add)''.  Include ''tiObject'' in your uses clause.
 
In Lazarus, open your project and add tiOPF as a Required Package ''(Project -> Project Inspector -> Add)''.  Include ''tiObject'' in your uses clause.
You are now read to create object decending from TtiObject or TtiObjectList.
+
You are now ready to create object decending from TtiObject or TtiObjectList.
  
 
See the example projects in the Demos directory for additional examples.
 
See the example projects in the Demos directory for additional examples.

Revision as of 12:31, 7 July 2006

About

The TechInsite Object Persistence Framework (tiOPF) is an Open Source framework of Delphi/Object Pascal code that simplifies the mapping of an object oriented business model into a relational database. The framework is mature and robust. It has been in use on production sites for over seven years. It is free, open source, and available for immediate download with full source code.

Some of the key features of the tiOPF include:

  • Lets you build an object oriented application that can swap databases with the flick of a command like a command line parameter or a change of a compiler directive. Currently, there are persistence layers for Interbase-IBX, Oracle-DOA, XML-MSDOM, XML-XMLLite, Paradox-BDE, MSAccess-ADO, MSSQLServer-ADO, FireBird-FBLib, FireBird-SqlDB, HTTP Proxy-Remote, CSV files and TAB files.
  • Family of abstract base classes for building a complex object model
  • 27 Persistent object aware components for building complex GUIs (Delphi only).
  • Model-GUI-Mediators for enabling any standard GUI component to become Object Aware.
  • 1400+ DUnit/fpcUnit tests to guarantee stability
  • 160 pages of documentation to get you started
  • News groups for support
  • Automated, daily builds and unit testing
  • Lots of demos focusing on specific parts of the framework for easy learning.
  • Cross platform. Currently tested on Windows and Linux.

Authors

Peter Hinrichsen - Original Designer.
Graeme Geldenhuys - Ported to Free Pascal.

License

Mozilla Public License 1.1 (please contact the author if the MPL doesn't work with your project licensing)

Download

The latest stable release can be found on the TechInsite page.
The latest development code can be found on the SubVersion server as follows

svn co https://svn.sourceforge.net/svnroot/tiopf/tiOPF2/Trunk tiOPF2

or downloaded as a nightly build zip file from the DailyBuild page.

NOTE: The tiOPF code has recently moved to SourceForge, so there isn't any pre-packaged zip files available yet. The latest code can be downloaded from SubVersion though.

An easy way to get the code, is to use the command line svn client as follows. The commands below will checkout the \Source and \Demos directories of tiOPF version 2.

 svn co https://svn.sourceforge.net/svnroot/tiopf/tiOPF2/Trunk Source
 svn co https://svn.sourceforge.net/svnroot/tiopf/tiOPF2_Demos Demos

Dependencies / System Requirements

  • Compiler: Free Pascal 2.0.2
  • Components for your required persistence layer, if it is not included with the compiler. eg: FBLib for FireBird RDMS.

Status: Stable (Tested on Windows and Linux.)

Issues: None

Installation

  • Unzip the zip file to a location of your choice.
  • Open Lazarus
  • Open the package tiOPF.lpk with Component/Open package file (.lpk) located in the Source\Compilers\FPC directory.
  • Click on Compile

NOTE
I included the FBLib components as the default persistence layer for FPC in the tiOPF.lpk package. That is the only one I use under FPC/Lazarus. So make sure you have FBLib installed, or you need to remove it from the tiOPF package.

Persistence layers are controlled by a Compiler Directive under Compiler Options -> Other -> Custom Options. eg: LINK_FBL = FBLib components. For more all the available options see the end of the tiOPFManager.pas unit.

Usage

In Lazarus, open your project and add tiOPF as a Required Package (Project -> Project Inspector -> Add). Include tiObject in your uses clause. You are now ready to create object decending from TtiObject or TtiObjectList.

See the example projects in the Demos directory for additional examples.