Skip to content
This repository has been archived by the owner on Sep 5, 2019. It is now read-only.

Latest commit

 

History

History
318 lines (215 loc) · 8.69 KB

onegov_cloud_modules.rst

File metadata and controls

318 lines (215 loc) · 8.69 KB

OneGov Cloud Modules

Hierarchy

There are three kinds of OneGov Cloud Modules:

Base modules
Provide the framework inside which OneGov Cloud is run.
Supporting modules
Provide models/methods/utilities, but no HTTP interface (neither HTML nor REST).
Base applications
Provide shared bases for multiple applications. Namely it allows for shared UI elements.
Applications
Utilize the base and the supporting modules to actually provide a web application. Those may or may not be limited to HTML/REST.

This is how this hierarchy looks like:

                   ┌───────────────┐
                   │               │
                   │ onegov.server │  ◇─┐
                   │               │    │
                   └───────────────┘    │
                           ▲            │ base modules
                           │            │
                   ┌───────────────┐    │
                   │               │    │
                   │  onegov.core  │  ◇─┘
                   │               │
                   └───────────────┘
                           ▲
                           │
                   ┌───────────────┐
                   │               │  ◇─┐
                   │  onegov.org   │    │ a base application
                   │               │  ◇─┘
                   └───────────────┘
                           ▲
                           │
                   ┌───────────────┐
                   │               │  ◇─┐
                   │  onegov.town  │    │ an application
                   │               │  ◇─┘
                   └───────────────┘
        ┌──────────────────┼──────────────────┐
        ▼                  ▼                  ▼
┌───────────────┐  ┌───────────────┐  ┌───────────────┐
│               │  │               │  │               │
│  onegov.page  │  │  onegov.user  │  │  onegov.form  │
│               │  │               │  │               │
└───────────────┘  └───────────────┘  └───────────────┘
        ◇                                     ◇
        └─────────────────────────────────────┘
                  supporting modules
       (may depend on onegov.core or each other)

OneGov Server

Serves the OneGov web-applications. Meant to be the runner and configurator of all applications. Not meant to run publicly. Like all python web-applications this one should be proxied behind Nginx or Apache2.

OneGov server does not depend on any other OneGov module.

.. toctree::
    onegov_server

OneGov Core

Contains functionality shared between all the other OneGov modules, with the exception of OneGov Server, which may not depend on the core. In many ways this is the OneGov Cloud framework.

.. toctree::
    onegov_core

OneGov Org

Provides a base for applications written for organizations close to the government. For example, municipalities, youth organizations, elderly care, and so on.

.. toctree::
    onegov_org

OneGov Town

The most visible part of the OneGov municipality websites. Combines functionality of other OneGov modules and renders them.

OneGov Town tries to implement features itself when necessary. It's main concern is rendering JSON/HTML. Therefore it should be considered the UI layer.

.. toctree::
    onegov_town

OneGov User

Providers user management without any UI.

.. toctree::
    onegov_user

OneGov Form

Integrates the form library WTForms with OneGov and provides useful functionality related to that. May generate HTML, but won't offer any UI as such.

.. toctree::
    onegov_form

OneGov File

Provides a way to store and serve files tied to the database and bound to the transaction.

.. toctree::
    onegov_file

OneGov Page

Provides functionality to manage custom pages used by OneGov Town. Does not provide a UI.

.. toctree::
    onegov_page

OneGov People

Provides functionality to manage people. Does not provide a UI.

.. toctree::
    onegov_people

OneGov Foundation

Provides the Zurb Foundation theme for OneGov in an extendable fashion.

.. toctree::
    onegov_foundation

OneGov Ticket

A simple ticketing system for OneGov.

.. toctree::
    onegov_ticket

OneGov Reservation

Libres integration for OneGov Cloud. Libres is a python library to reserve stuff.

.. toctree::
    onegov_reservation

OneGov Event

A simple event (concert, meetup, party) system for OneGov Cloud.

.. toctree::
    onegov_event

OneGov Search

Elasticsearch integration for OneGov Cloud.

.. toctree::
    onegov_search

OneGov Newsletter

Contains models to handle the sending of newsletters and the managing of subscribers/recipients.

.. toctree::
    onegov_newsletter

OneGov Recipient

A generic implementation of e-mail/sms/url recipients backed by the database.

.. toctree::
    onegov_recipient

OneGov Gis

Contains models, methods and Javascript to use, work with and display maps and coordinates.

.. toctree::
    onegov_gis

OneGov Shared

Assets and other things shared between multiple OneGov applications.

.. toctree::
    onegov_shared

OneGov Testing

Provides commonly used testing code for all OneGov modules.

.. toctree::
    onegov_testing

OneGov Election Day

Shows Swiss election/voting results in an archive and as they come in during voting day.

.. toctree::
    onegov_election_day

OneGov Ballot

Contains a model representing elections/votes in Switzerland.

.. toctree::
    onegov_ballot

OneGov Feriennet

Developed for Pro Juventute, this specialised organisation website helps to organise summer activites for Switzerland's youth.

.. toctree::
    onegov_feriennet

OneGov Activity

Contains the model representing youth activites for Pro Juventute.

.. toctree::
    onegov_activity