resistance is obsolete ™ ;-)

OGo Bundles

Some Info about the Plugin mechanism used by OGo - plugins ...

Actually all OGo applications are implemented as plugins (so called "bundles"). A bit old, yet still current:

  Bundle up for a warm reception

OGo pushes that to the extremes. Almost all business logic (Logic layer), most datasources (DocumentAPI layer) and basically all UI stuff is plugin based. ZideStore of course also uses "ZideStore Product" bundles (.zsp).
Eg, if you don't need the Project application, just deleted the Project related UI bundles (.lso) from Library/OpenGroupware.org, restart your server and all project icons etc should be away.

Plugin Extensions used by OGo

.lso	- WebUI bundle
.cmd	- Logic command bundle
.ds	- DocumentAPI datasource bundle
.model	- database mapping model
.sax	- XML SAX API driver plugins (eg iCalSaxDriver.sax)
.sxp	- SOPE Products
.zsp	- ZideStore Products
.odr	- NGObjDOM XML renderer plugins
.bundle	- well, generic stuff
.gdladaptor - database connector plugin (comparable to JDBC adaptor)

Technical Details

Write some more about NGBundleManager plugin discovery using the bundle-info.plist ...

How to check whether a bundle will properly load into OGo

If you written a new bundle for OGo and want to check whether it will be found by OGo and can be properly loaded, you can use the bmlookup tool:

bash-2.05b$ bmlookup classes OGoOOoInlineViewer -load YES
lookup resource 'OGoOOoInlineViewer' of type: 'classes'
bundle: '/home/helge/OGo/Library/OpenGroupware.org/OGoDocOOoViewer.lso'
did load bundle: <NGBundle 0x8210fc4 \
fullPath: /home/helge/OGo/Library/OpenGroupware.org/OGoDocOOoViewer.lso \
infoDictionary: 0x8251c64 loaded=yes>

The bmlookup tool can be found in skyrix-core/samples.

We welcome your feedback!
Trademarks.  
This site is sponsored by
SKYRIX Software AG
ZideOne GmbH
MDlink