The Technical Features of SavaPage show a broad field of topics a developer needs to know about. This knowledge, together with design skills and programming skills for Java, HTML, CSS, JavaScript and C/C++ is all needed to construct the SavaPage solution. Obviously these skills are rarely present in one person. Let alone that a person possesses all of these skills at the same high level of proficiency. Fortunately a partner with knowledge of some key topics can start to be productive on well-defined modular tasks and acquire the necessary skills along the way.

To simplify development and maintenance SavaPage follows a modular design according to the separation of concerns (SoC) principle. Several module types are identified:

  • An External Module runs as a separate process and collaborates with SavaPage run-time via Inter-process communication. Examples are savapage-cups-notifier, savapage-nss, savapage-pam and savapage-nfc-reader.
  • Internal modules are part of SavaPage run-time and collaborate via shared memory. There are two types:
    • Drop-in modules are a fixed part of the application package.
    • Plug-in modules are separate packages that bind ad-hoc with SavaPage at run-time.
  • A Utility is a small specialized module that is an addition to the SavaPage project but does not collaborate with SavaPage run-time.

All Development Partners are members of one team. Informal communication between members is important and highly encouraged. And above all, enjoy!

The Partner List shows the current partners.

  • roles/development_partner_profile.txt
  • Last modified: 2026/07/25 16:17
  • by rijk