Difference between revisions of "GDL"

From GNUstepWiki
Jump to navigation Jump to search
m (style)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
GNUstep Database Library 2 (GDL2) is a set of libraries to map Objective-C objects to rows of relational database management systems (RDBMS). It aims to be compatible with Enterprise Objects Framework ([[EOF]]) as released with WebObjects 4.5 from Apple Inc and is used in conjuction with [[GNUstepWeb]].
 
GNUstep Database Library 2 (GDL2) is a set of libraries to map Objective-C objects to rows of relational database management systems (RDBMS). It aims to be compatible with Enterprise Objects Framework ([[EOF]]) as released with WebObjects 4.5 from Apple Inc and is used in conjuction with [[GNUstepWeb]].
  
==== Current Version: [ftp://ftp.gnustep.org/pub/gnustep/libs/gnustep-dl2-0.10.1.tar.gz 0.10.1] ====
+
==== Current Version: [ftp://ftp.gnustep.org/pub/gnustep/libs/gnustep-dl2-0.12.0.tar.gz 0.12.0] ====
  
* Released September 14, 2006
+
* Released February 20, 2009
  
 
=== Features ===
 
=== Features ===
Line 9: Line 9:
 
GDL2 consists of the following components:  
 
GDL2 consists of the following components:  
  
* EOControl (gnustep-db2control)
+
* EOControl
 
: The fundamental abstraction library which includes many non RDBMS related extensions such as KeyValueCoding extensions and other categories. Most importantly it contains the classes which handle the coordination of object graphs namely EOEditingContext.
 
: The fundamental abstraction library which includes many non RDBMS related extensions such as KeyValueCoding extensions and other categories. Most importantly it contains the classes which handle the coordination of object graphs namely EOEditingContext.
  
* EOAccess (gnustep-db2)
+
* EOAccess
 
: This library implements the underlying mechanism to retrieve and store data in RDBMS. It defines the abstract classes like EOAdaptor which are subclassed to interface with concrete RDBMS implementations.
 
: This library implements the underlying mechanism to retrieve and store data in RDBMS. It defines the abstract classes like EOAdaptor which are subclassed to interface with concrete RDBMS implementations.
  
Line 19: Line 19:
  
 
* EOAdaptors
 
* EOAdaptors
: This is a collection of concrete EOAdaptor projects needed to connect to specific databases. GDL2 currently only supplies an Adaptor for the PostgreSQL database. Even though the Adaptor is still called Postgres95 we aim to support PostgreSQL 7.2 and higher API. In fact the Adaptor may very soon be renamed to PostgreSQL.
+
: This is a collection of concrete EOAdaptor projects needed to connect to specific databases. GDL2 currently supplies an Adaptor for PostgreSQL and SQLite.
  
 
* DBModeler
 
* DBModeler
: GDL2 offers an alpha version of DBModeler to create and maintain .eomodel(d) files.
+
: GDL2 offers an alpha version of [[DBModeler]] to create and maintain .eomodel(d) files.
 +
 
 +
* EOModeler
 +
: This framework is used by DBModeler can be used to write bundles for DBModeler to interface with the application.
 +
 
 +
* GDL2Palette
 +
: Both Gorm and InterfaceBuilder can be used to create nib files which contain display groups an EOEditingContext.  The palette provides those applications with the necessary code to hook up UI components with the model objects.
 +
 
 +
* Examples/Trading
 +
: The Trading framework, provides an example model, and some routines to create a database from the model, and populate the database with data, while not an example itself it is intended for use by example applications using GDL2 alone, EOInterface or GSWeb, and for higher level tests.
 +
 
 +
* Using GDL2 in other Projects
 +
 
 +
: Typically you would want to use EOControl and EOAccess for tools and
 +
EOInterface additionally for applications.
 +
 
 +
:: Tools:
 +
<pre>
 +
ADDITIONAL_NATIVE_LIBS += EOControl EOAccess
 +
</pre>
 +
:: Applications:
 +
<pre>
 +
ADDITIONAL_NATIVE_LIBS += EOControl EOAccess EOInterface
 +
</pre>
 +
:: GDL2 based Palettes / DBModeler Bundles:
 +
<pre>
 +
ADDITIONAL_NATIVE_LIBS += EOControl EOAccess EOInterface EOModeler
 +
</pre>
  
 
=== State ===
 
=== State ===
Line 30: Line 57:
 
Expect the current interface to change especially with respect to functions and methods not documented in EOF 4.5. Even the library names themselves may change.
 
Expect the current interface to change especially with respect to functions and methods not documented in EOF 4.5. Even the library names themselves may change.
  
We currently do not support the EOSchemaSynchronization methods yet. But you are likely to find many more missing implementations within the source. If you identify something that you need, please let us know at or even better get copyright assignment for the FSF and post a patch.
+
If you identify something that you need, please let us know at or even better get copyright assignment for the FSF and post a patch.
  
 
=== Maintainer ===
 
=== Maintainer ===
  
 
* [mailto:ayers@fsfe.org David Ayers]
 
* [mailto:ayers@fsfe.org David Ayers]
 +
* [mailto:dave@turbocat.de David Wetzel]
 +
* [mailto:ratmice@gmail.com Matt Rice]
  
 +
[[Category:Database Frameworks]]
 
[[Category:Frameworks]]
 
[[Category:Frameworks]]

Latest revision as of 00:27, 28 June 2010

GNUstep Database Library 2 (GDL2) is a set of libraries to map Objective-C objects to rows of relational database management systems (RDBMS). It aims to be compatible with Enterprise Objects Framework (EOF) as released with WebObjects 4.5 from Apple Inc and is used in conjuction with GNUstepWeb.

Current Version: 0.12.0

  • Released February 20, 2009

Features

GDL2 consists of the following components:

  • EOControl
The fundamental abstraction library which includes many non RDBMS related extensions such as KeyValueCoding extensions and other categories. Most importantly it contains the classes which handle the coordination of object graphs namely EOEditingContext.
  • EOAccess
This library implements the underlying mechanism to retrieve and store data in RDBMS. It defines the abstract classes like EOAdaptor which are subclassed to interface with concrete RDBMS implementations.
  • EOInterface
This library implements classes used to synchronize UI components such as NSTextFields, NSButtons and NSTableViews with the state of objects which an EOEditingContext contains.
  • EOAdaptors
This is a collection of concrete EOAdaptor projects needed to connect to specific databases. GDL2 currently supplies an Adaptor for PostgreSQL and SQLite.
  • DBModeler
GDL2 offers an alpha version of DBModeler to create and maintain .eomodel(d) files.
  • EOModeler
This framework is used by DBModeler can be used to write bundles for DBModeler to interface with the application.
  • GDL2Palette
Both Gorm and InterfaceBuilder can be used to create nib files which contain display groups an EOEditingContext. The palette provides those applications with the necessary code to hook up UI components with the model objects.
  • Examples/Trading
The Trading framework, provides an example model, and some routines to create a database from the model, and populate the database with data, while not an example itself it is intended for use by example applications using GDL2 alone, EOInterface or GSWeb, and for higher level tests.
  • Using GDL2 in other Projects
Typically you would want to use EOControl and EOAccess for tools and

EOInterface additionally for applications.

Tools:
ADDITIONAL_NATIVE_LIBS += EOControl EOAccess
Applications:
ADDITIONAL_NATIVE_LIBS += EOControl EOAccess EOInterface
GDL2 based Palettes / DBModeler Bundles:
ADDITIONAL_NATIVE_LIBS += EOControl EOAccess EOInterface EOModeler

State

Currently GDL2 is meant for developers who can help test and contribute to the current code or are willing to test the interface. It is not ready for general purpose production code. Having said that, it should be mentioned that GDL2 is being used in production environments and has been much tested in those contexts.

Expect the current interface to change especially with respect to functions and methods not documented in EOF 4.5. Even the library names themselves may change.

If you identify something that you need, please let us know at or even better get copyright assignment for the FSF and post a patch.

Maintainer