Your language is not listed here? Let
us know!
Focusing on standard protocols and being compatible with ANSI-C, OGo
services provide a very high compatibility with almost any language
environment.
Most of OpenGroupware.org is written in a language called Objective-C, or
in short, ObjC. ObjC is a very simple object oriented extension to ANSI-C
and features Smalltalk OO at ANSI-C portability and speed.
Using Objective-C you can tweak almost any aspect of OpenGroupware.org.
Python is the scripting language of choice of the OGo core developers and
most scripting examples are in implemented in that language. In turn Python
is well supported.
Access to OGo XML-RPC services is trivial from Python and in turn from
Python based environments like Zope or Plone.
You can access OGo services using XML-RPC from ANSI-C. On the other side you
might consider learning
ObjC (~1 day task for a developer fluent in C) and get
access to the full OGo environment.
In addition its easy to wrap OGo Objective-C classes in ANSI-C APIs in case
you are restricted to use "pure" C.
No specific APIs are currently provided for C++. As usual you can use WebDAV
or XML-RPC interfaces to access OGo groupware services, and this is the way
how C++ applications like
KOrganizer
access OGo.
Notably on MacOSX and with upcoming GCC versions on other environments,
there is a new language called ObjC++ which integrates
Objective-C with C++.
This provides seemless access to OGo classes from C++.
.NET, and especially
Mono project,
are considered important at OGo as they are attempting to be a
"Java done right".
Using IKVM, access to
all OGo Java APIs is ensured and using
IronPython,
Python instructions apply as well.
Finally, Adam Williams is working on direct support for Mono using a
C#/GTK# frontend for OGo.
Be the first to
provide OGo related Ruby information! :-)
So far we have no Ruby specific instructions, but the regular integration
and access technologies should apply for Ruby. That is, use an Ruby XML-RPC
client to access OGo services or integrate webpages written in Ruby from
SOPE/OGo HTML components.
Of course Perl can seemlessly access all the functionality of OGo provided
by the shell tools. In addition Perl supports
XML-RPC very well and OGo provides examples for that.
As a matter of fact its simple to integrate existing Perl based dynamic
webpages into OGo WebUI.
Various examples are provided to show how to access OGo services from PHP
using the XML-RPC interface. Adam Williams has stepped up to wrap the raw
XML-RPC calls into a convinient PHP API called POGI.
If you have existing PHP webpages you would like to integrate or if you want
to enhance OGo WebUI using PHP this is easy to accomplish with SOPE.
OGo provides broad Java support and the future will bring even more. Besides
examples of Swing applications, SWT applications and Portlets, the JOGI
API wraps the OGo XML-RPC server into convinient Java objects.
In the future
JIGS
will be used to provide Java access to all OGo objects
(on MacOSX you can use the
Apple
provided
Java/ObjC bridge).
Finally you can easily integrate JSP's and Servlets into the OGo WebUI to
integrate existing applications or to enhance OGo using Java.
A lot of OGo services can be accessed from a Unix shell, either using
specialized commandline tools or using the excellent xmlrpc_call tool
which allows you to invoke OGo XML-RPC services from the shell.
As with the other languages, OGo services can be accessed using either WebDAV
or XML-RPC from Basic environments like VisualBasic.
In addition you can reuse APIs provided by the C#
effort in case you are using VisualBasic for .NET
(or the Mono Basic compiler).