I wrote a few articles / howtos on SOPE and OpenGroupware.org. It should be rather obvious that I'm not a very skilled writer, so feel free to send me corrections ;-)

  • Using the SOPE Rule Engine: A very cool but little known feature available in WebObjects - and in SOPE - is the EOControl based rule system. It is used extensively by the DirectToWeb framework (part of WebObjects 4.5) to write database based web applications which require no code and are just composed of a set of rules plus a database model.
    [read the article ...]

  • Writing an XML-RPC Client in Objective-C: A small introduction on how to access XML-RPC web-services in Objective-C using NGXmlRpc. The XML-RPC support in SOPE is scattered in some frameworks (for some good reasons ;-) They are: libXmlRpc, libNGObjWeb and libNGXmlRpc. The XML parsing is actually done in sope-xml/XmlRpc.
    [read the article ...]

  • WO Templates vs XML WOx Templates: SOPE currently allows for two different template formats, the traditional WebObjects one (with the # addition) as well as a new XML based one. This document tries to outline some pros and cons for each.
    [read the article ...]

  • SOPE Methods: How to declare SOPE methods. What methods a SOPE object provides is specified in the product.plist of a SOPE "product bundle". For each method SOPE will register a callable "invocation" object in the appropriate SoClass. This is different to Objective-C and similar to Python (methods are just regular objects!).
    [read the article ...]

  • Profiling OGo Instances: OGo has quite a lot of profiling capabilities. In case someone is interested ... profiling information for OGo is exported using the "WOStats" direct action, e.g.: http://host/OGo/x/WOStats it returns an XML document (styled to a table on Internet Explorer 5+) which contains extremely useful information after an OGo instance is run "warm".
    [read the article ...]

  • OGo Document Storage Plugins: The document storage of OGo projects is implemented as a server based plugin API. This contains some more information on that. An OGo "project" is a groupware object that acts a central collection of other OGo objects and has associated tasks, contacts, notes, .. - and an associated document storage.
    [read the article ...]

  • How many users can OGo support?: Some information on the very common question of how many users OGo can support ... Every now and then people ask the (annoying ;-) question: Q: "What I would like to know is does anyone have a definitive answer to how many people OGo can support before it starts to suffer from general slow downs?".
    [read the article ...]

  • Telephony Integration with OGo: OGo can integrate with telephony systems in some ways ... All (most of?) the phone numbers are already generated by a single dynamic (template) element "SkyDialNumber". The source is located in WebUI/Common/OGoUIElements/SkyDialNumber.m.
    [read the article ...]