wiki:PLATFORM_NFR_EXTENSIBILITY
Last modified 16 years ago Last modified on 04/16/09 13:51:53

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Extensibility

Overview

Sophie2 is an open source extensible platform for creating interactive books with text and multimedia content in networked enviroment. Sophie2 is designed to be an extensible platform that has many advantages

  • Implementation of new features can be done by anyone without changing (and knowing) other parts of the application.
  • A feature can be improved with minimal effort. Each part of the application can be substituted with newer version or just with other plugin that provides the same functionality.
  • Non-used features can be disabled to save workspace, memory or disk space. This allows easy implementation of different editions such as reader, author and server.
  • Language and skinning support doesn't mix with programming - almost everything is changeable without source code modification
  • The actual document content is not limited to text and multimedia - every type of content is implementable.

Plug-ins

Sophie2 is plugin based platform. What we call plugin is a part of the application which interacts with other plugins but is independent - it holds group of functionalities. Plugins provide extensions and extension points. This model gives a well defined interface, which allows the programmers to design new plugins independently with backward (and in some cases forward) compatibility. This architechture provides easy and very powerful way to extend, subtitute and implement new functionalities without knowing the whole source or previous implementations of this feature. Plugins are explained further here.

Skins

Skins are part of plugin concept. For most of the applications, skins provide visual styles. In Sophie2 we give even more functionality to the skins - language support, tooltips and of course, visual styles. This allows non-programmers to contibute in translation and styling for example.

Templates

Templateing is one of the most charming features for most of the authoring applications - because people often design great elements that just worth reusing and sharing. Sophie2 supports book, page and frame templates. What a template really is decides the user - style, content, shape or everything.

Scripting

One of Sophie2 main purposes is to give each user what he expects - one should feel comfortable whatever his technical experience is. Scripting provides users with programming skills to ease their application usage by performing usual tasks fast and easy.