Language

The Free and Open Productivity Suite
Released: Apache OpenOffice 4.1.15



Application Framework Project

Project Owner: Carsten Driesner

This project contains modules, that define the general behaviour of the OpenOffice application components ( Writer, Calc etc. ). This covers common operations, common objects or functionality on one hand and a module for the integration of the components into the external environment on the other hand. While the latter one is done by the framework module, the first is done by the sfx2 module.

The application framework project has a wiki page. We want to move to the wiki in the near future!

The sfx2 module offers a complete set of features for an application component, the most important are:

      • document persistance; loading and saving through UCB access
      • compound document support, inplace editing
      • multiple and different views for a document
      • context sensitive user interface
      • command dispatching infrastructure
      • template handling
      • docking windows


Modules in Application Framework Project


Module

Function

sfx2

The SFX is the core of the framework.

res

Contains typical resource files such as bitmaps, icons, and cursor files.

idl

IDL compiler for the SFX framework. It generates definition (header) files used in the components code.

framework

Integrates the application components in different environments like a desktop or a browser plugin etc. The framework module is also responsible for the content detection and content activation.

desktop

The code for the office executable.

DocumentProperties

Makes properties of the documents available through OpenOffice API.

scripting

Scripting Framework which allows OpenOffice.org to be scripted in multiple languages. You can find the module home page here.

tools

Contains base classes, like string, date, time, streams, and so on. These classes do not need a UI system, so you can also use them in an character based user interface.

svtools

Tools layered on top of VCL.

std2

Contains the STLport 3.5.1-a derivative from the SGI/STL.

io

Contains basic UNO I/O services for streaming (Pipe, DataStreams, MarkableStreams) and interprocess connections (sockets and pipes).

eventattacher

Component-based event handling.

unzip

The freeware infozip compression library.

unotools

Helper classes that provide UNO-based APIs.

extensions

Independent UNO Components for various purposes like OLE, PGP and Speech.

external

Contains stubs or makefiles for external components.

configmgr

Registry client containing UNO Components for Configuration access.

officecfg

Contains the configuration schemas for applications and components.

sot

Microsoft Office compatible storage implementation.

automation

Stub for testing framework for automated testing.

A more comprehensive description of the application framework modules can be found here.

Documentation/Examples/Add-ons

There are several documents available which describe features,  provide valuable information about the framework internals. We also offer some example add-ons which show interesting features of the framework UNO API. Most documents/add-ons are available via download as OpenOffice.org documents. There is a second section which presents online documents.

To Do List

You can find a list of tasks that we would like to implement but until now didn't find the time to do so. These tasks can be implemented by experienced C++ developers that want to help us. You would definitely get support or help of the regular framework developers. If you are interested to work on one of these tasks please contact us on our "dev" mailing list or via e-mail to the framework project lead.

Contributions

We had several valuable contribution from the community. Here is a list of contributors with some information on what they have done and who they are. Credit where credit is due as they say.

Proposals

We have a list of proposal documents which describe how we can solve various problems, create a better user interface and other framework related tasks.

Apache Software Foundation

Copyright & License | Privacy | Contact Us | Donate | Thanks

Apache, OpenOffice, OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. The Apache feather logo is a trademark of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.