What's new? | Help | Directory | Sign in
Google
zogi
XML-RPC Bundle For OpenGroupware's ZideStore Integration Server
  
  
  
  
    
Show all Featured Downloads:
zOGI-r879.tar.gz
Join project
Project owners:
  adamtaunowilliams

zOGI is the ZideStore OpenGroupware Interface.

As of 2007-08-19 (r1994) of OpenGroupware the zOGI protocol bundle is included in the official builds of ZideStore Development continues here, with the zOGI included in ZideStore being the "stable" branch; use this branch, at your own risk, for the latest and greatest.

MISSION: To provide a clean and consistent XML-RPC API to the full suite of functionality provided by the OpenGroupware groupware server. zOGI provides a simple mechanism to build all manner of collaborative applications on the solid and robust platform provided by OpenGroupware extending and integrating groupware functionality to existing applications as well as creating new applications (such as Consonance).

Applications

Several applications either have been built or are under development using the zOGI API to utilize the powerful OpenGroupware groupware and collaboration engine. If you have developed or are developing an application, utility, or component using the zOGI API please let us know and we'll list it here. Feedback on any existing zOGI application or project is also appreciated.

API

Bindings

Developer Tips

Support & Community

Questions regarding zOGI, the zOGI API, or zOGI development should be directed to the XML-RPC mailling list hosted by the OpenGroupware project.

Understanding zOGI Entities

Each zOGI API call (with the exception of getTypeOfObject) will return, if successful, either a dictionary or an array of dictionaries. Every dictionary returned represents a groupware object of a specific type identified by the entityName attribute.

Detail Levels

Object requests and search requests specify a detail level. This detail level is an integer that is used with a bit mask in order to specify how much information about the object(s) you requested should be marshaled and returned to the client. The detail levels are defined in the zOGIDetailLevels.h include file:

#define zOGI_INCLUDE_NONE              0
#define zOGI_INCLUDE_NOTATIONS         1
#define zOGI_INCLUDE_OBJLINKS          2
#define zOGI_INCLUDE_PARTICIPANTS      4
#define zOGI_INCLUDE_COMPANYVALUES     8
#define zOGI_INCLUDE_PROPERTIES       16
#define zOGI_INCLUDE_LOGS             32
#define zOGI_INCLUDE_CONFLICTS        64
#define zOGI_INCLUDE_MEMBERSHIP      128
#define zOGI_INCLUDE_CONTACTS        256
#define zOGI_INCLUDE_ENTERPRISES     512
#define zOGI_INCLUDE_PROJECTS       1024
#define zOGI_INCLUDE_COMMENT        2048
#define zOGI_INCLUDE_TASKS          4096
#define zOGI_INCLUDE_PLUGINS        8192
#define zOGI_INCLUDE_CONTENTS      16384
#define zOGI_INCLUDE_ACLS          32768
#define zOGI_INCLUDE_EVERYTHING    65535

If a detail level of zero is specified then only the objects core attributes are returned. Specifying details not appropriate to the object returned is acceptable, that request will simply ignored for the object of the inappropriate types. This allows you to requests object of different types, such as tasks and appointments, in a single call to getObjectsById while still retrieving all the information you need.

For instance if you wanted both the properties and participants of an appointment you would request a detail level of 20 (16 + 4). You can also specify a detail level of 65535 as short hand for retrieving all the available information about the objects. But it is best to only retrieve the information you require in order to avoid placing unnecessary load on the groupware server.

The detail levels of zOGI_INCLUDE_OBJLINKS (2), zOGI_INCLUDE_PROPERTIES (16), and zOGI_INCLUDE_LOGS (32) apply to all object types.

Special Keys

The zOGI dictionary representing an object may have several keys whose start with the underscore character. These are special keys usually added to the dictionary as a result of the specified detail level. The contents of a special key is always a, possibly empty, array. Special keys are: