Skip to content

Omnisense: the Omni ecosystem and its documentation

One prefix, several families 246 packages · 25 families

The core of the sites, and optional ready-made structures.

Read the documentation Getting started

A — The foundation

The core, the families, the bridges

What any site may take: omnibase, the core of the sites; the families, one contract per domain, fulfilled service by service by their providers; the bridges, which tie it all to a framework. The providers are not listed here: they are searched for.

A site takes the core, the families it calls on and the bridges of its framework. A prepared structure is added when it saves time: nothing in the core or the families depends on one. Plus 2 JavaScript libraries.

B — The families

A contract per domain, a package per service

A family writes down once what a domain asks of outside services - rates and labels for parcels, payments and refunds for trade - and each provider fulfils it for one service. Changing service is changing a line of configuration.

D — Optional Prepared structures

A ready-made structure, when it saves time

A ready-made structure for one trade - entities, screens, back office, translations, demo data - already assembled on the core. Optional: take one to go fast, or write your own on the core and the families.

Prepared structures omnibase/<trade> omnibase/adminomnibase/agendaomnibase/blog+ 26 29 structures

Nothing in the core or the families depends on them. Symfony today, as the core is; all of them are in the package search.

E — Compatibility

Any framework: the families in plain PHP, the core through its bridges

What is true today. No date is promised for the rest.

Today The families run in plain PHP

The core of an omni* family requires neither Symfony, nor Doctrine, nor Twig: only standalone libraries. Its registry is built by hand, in a script, a Laravel or a Symfony application. The Symfony bridge is in the package, under Bridge/Symfony, and nothing of it is loaded elsewhere.

use Omnitrade\PayPal\PayPalGatewayFactory;
use Omnitrade\Registry;
use Symfony\Component\HttpClient\HttpClient;

// No container, no kernel: the registry is built by hand.
$registry = new Registry([new PayPalGatewayFactory(HttpClient::create())], [
    'paypal' => ['factory' => 'paypal', 'options' => ['client_id' => $id, 'secret' => $secret]],
]);
$gateway = $registry->get('paypal');

The proof: each family has a framework-free test (Tests/BareTest.php) that builds its registry by hand and checks that no framework class is loaded.

Today omnibase 4 runs through its bridges

omnisense/omnibase 4.x requires only its framework-free foundation: Symfony comes through omnibridge/symfony, Laravel through omnibridge/laravel, the storage and the rendering through omnibridge/doctrine and omnibridge/twig.

Next The prepared structures follow

The prepared structures omnibase/* are Symfony bundles on the core today; each moves its trade to the root of its package (objects, rules, contracts) as it is reworked, its framework parts into bridges. The generic glue, which knows no structure:

That glue is omnibridge, described above.

The detail, and what it asks of each package: the Compatibility page of the documentation.

F — Read

Every package has its manual

The manuals are the Markdown files of each repository, as they are written there: a version per branch, a link to the file to correct it.

packages in the catalogue
246
manuals published
241
families
25

Read the documentation Support

News

  1. Six new families, GitHub Pages, manuals by series

    The website is published on GitHub Pages through omnibridge/static; omnifund, omnidns, omniticket, omnireach, omnifilm and omnigame join the catalogue; omnidrive gains four providers; flowjs 1.5.2; omnibase's manual for 4.x and 3.x side by side.

  2. omnibridge/static - a static export for any application

    The omnibridge family gains a generic exporter - an application's public pages rendered at build time by its own code, for any static host.

  3. This website is now static

    Guides, news, the catalogue and every package's manual, built from files and served without a server-side application.

All the news