About
The MulleEOInterface framework is a binary replacement for the EOInterface framework that Apple delivered in their Objective-C version of WebObjects (4.5). It's the link between EOControl and AppKit. With EOInterface you could conceivably - if you had a IB palette - easily create fairly complex desktop applications using Interface Builder and no code at all!

Download
The Source is distributed as a compressed tar archives.

EOInterface 1.3 FTP HTTP
EOInterface 1.2 FTP HTTP

The framework must be linked against the EOControl and EOAccess frameworks that came with the last WO 4.5.1 release.
There is a little piece of MulleEOF goodness released below. It's the part of EOControl, that deals with EOObserver protocol. It might be of some interest for an exclusive audience.

EOObserver 1.0 FTP HTTP


Installation
Install the framework MulleEOInterface.framework into the Library/Frameworks/ directory of either your boot volume or your home directory or the network directory.


Documentation
The available documentation on this site are Who retains who and How changes propagate to EOAssociations. But there is much more available on the net. See the NAQ section.


Contact
If you have any questions about the framework feel to contact us. We are looking for interested persons, who want to take over the development!.

License
The license for the library is LGPL.

Credits
The whole kaboodle was coded up by Nat! in the spring of 2002 with major refinements in 2006
EOF for the masses - Open Source - Binary Compatible

Answers to questions noone asked... yet

Q: What's the status of MulleEOInterface ?
A: The MulleEOInterface is production quality software. It has been used to run the original EOModeler flawlessly and more significantly it has been used to migrate a large application that contains more than 200 EODisplayGroups, more than 2000 EOAsssociation instances and about 40 EOAssociation subclasses.

Q: What is the future of MulleEOInterface ?
A: MulleEOInterface will be in continous refinement over the next years. There are no additions planned to the framework.

Q: Why is MulleEOInterface released now ?
A: The unfailing accuracy of the predictions of Nostradamus the great psychic, sort of forced us to release it now! In his series of books called "Centuries", amongst many other verses he wrote:

"Lune obscur cie aux profondes tenebres / Son frere passe de colour ferrigine
Le grand logiciel long temps soubs les tenebres / Tiendra fer dans la pluie sanguine"

You need no academic honors to put one and one together and to know that MulleEOInterface's future is destined to be a bright and forceful one. The prophet is even more enthusiastic concerning the longevity of the framework. Behold!

"Vingt ans du regne de la lune passez / Sept mil ans autre tiendra son logiciel
Quand le soleil prendra ses jours laissez / Lors accomplit a fine ma Prophecie"

The perennial pending release of the MulleConnectInspector was also a contributing factor.

Q: What do you mean with binary compatible ?
A: First, NIB files created with the old palette can be read with the MulleEOInterface framework. Second, all symbols that were defined by the old EOInterface library are also defined with MulleEOInterface. Third, the names and the relative offsets of the instance variables of the various classes have been kept compatible as much as possible

Q: Where is the IB palette ?
A: Unfortunately forthcoming. Although Mulle had access to a working palette, for development (thanks to Codeon), a new one needs to be written with the MulleConnectInspector. Time being in little supply around here and the knowledge of forthcoming changes of the Interface Builder Plugin API, nothing can be predicted.

Q: Is there any documentation for this ?
A: As long as Apple hosts the WebObjects 4.5 legacy documentation on their developer site, this will have it all. MulleEOInterface has been written, as if that documentation were a spec.
To a get a grip on the event routing of MulleEOInterface in conjunction with EOControl, check out How changes propagate to EOAssociations. To understand ownership of the various MulleEOInterface objects, see Who retains who.