Redvant: Difference between revisions

From Cibernética Americana
Jump to navigationJump to search
(38 intermediate revisions by the same user not shown)
Line 1: Line 1:
<html><style> .mw-headline {color: black !important;}</style></html>
<html><style> .mw-headline {color: black !important;}</style></html>
<div style="background-color: ivory; color: black;">
<div style="font-weight: 600;background-color: #fbfcf8; color: black;">
<blockquote><br>
<blockquote><br>
{{TOCleft}}
{{TOCleft}}
Line 13: Line 13:
and "vant" is just from haskell-servant.
and "vant" is just from haskell-servant.
</div><br><span class=plainlinks>
</div><br><span class=plainlinks>
Use of Apache [https://isis.apache.org <font color=lime>ISIS</font>] or other fat DDD pkg is intended later in the development our overall DDD product line engineering (i.e. a 'redvantis'). Some enterprise users may prefer the java basing of ISIS or an ERP core and these future developments are anticipated after the foundational elements are established.
Use of Apache [https://isis.apache.org <font color=lime>ISIS</font>] or other fat DDD pkg is intended later in our overall DDD product line engineering (as 'redvantis'). Some enterprise users may prefer the java basing of ISIS or an ERP core and this is anticipated for later development.
</span>
</span>


Line 21: Line 21:


For pragmatic reasons, it is accounting oriented and doesn't address the full actual scope of use as implied by &sect; 2.2 below, which could be confusing.
For pragmatic reasons, it is accounting oriented and doesn't address the full actual scope of use as implied by &sect; 2.2 below, which could be confusing.
Later, there will coverage in the Docs DCMS volume.


== Scope ==
== Scope ==
Line 32: Line 34:
The model use cases are the [https://ac.ai-integration.biz Web KEE SPA] and the [https://doorbell.meansofproduction.biz/?TCOLL=1 Ft doorbell], as well as GT2 2.1 and later and the tl:dr product line, in sofar as their front and middle are concerned.
The model use cases are the [https://ac.ai-integration.biz Web KEE SPA] and the [https://doorbell.meansofproduction.biz/?TCOLL=1 Ft doorbell], as well as GT2 2.1 and later and the tl:dr product line, in sofar as their front and middle are concerned.
</span>
</span>
== Transacting ==
==== django-oscar ====
<blockquote class=plainlinks>
I chose this back end pkg because of its claim of being domain driven. That claim, as it turns out is based on dynamic class loading. So without quibbling and as its sole focus on txing is convenient it turns out to be an early anchor in my DDD praxis.
Provides front end for tx'ing objects. We introduce the notion of an ephemeral tx ledger, oriented to a single, possibly complex tx which is connected to the others (&sect; 2.4.1.1). Like 'ledger', transaction 'tx' is defined to be an abstract change to a ledger. The process of application of a real instance of such change to persistent ledgers is called settlement.
Consequently, any transaction requirements are realized as constraints on the [https://django-oscar.readthedocs.io/en/3.1/ref/apps/index.html 16 Oscar Apps] or new classes in its framework.
</blockquote>


== Accounting ==
== Accounting ==
 
<blockquote>
=== Principles ===
=== Design Principles ===
<blockquote>


==== Abstraction and Unity ====
==== Abstraction and Unity ====
<blockquote>
#Ledgers are abstract entities realized differently in different packages but from the perspective of a single accounting ontology.
#Unless qualified, 'ledger' means double entry accounting ledger, a fundamental concept conserved across all ledger implementations, the basis of their unification.
</blockquote>


Ledgers are abstract entities realized differently in different packages but from the perspective of a single accounting ontology.
==== Security and Transparency ====
<blockquote>
This is a requirement that requires a balancing of interests as transparency can conflict with security. Users. i.e. individuals and groups (including firms) may opt
for near complete opacity of their accounts which has been the general norm. The System, domain space, however is required to have open books and line items
against its books are why it's not complete opacity.
</blockquote>
</blockquote>


Unless qualified, 'ledger' means double entry accounting ledger, a fundamental concept conserved across all ledger implementations, the basis of their unification.
=== Back End Packages ===
 
<blockquote><blockquote>
=== Packages ===
The pkgs that provide the functional detail in different use cases generally repeat and duplicate functions. By virtue of &sect; 2.4.1.1.2 however, and system ops that implement it, they all operate against common ledgers. When function is duplicated, there is generally only one package that is contextually supported. For example, SQL/SMB has transaction interfaces but these are not used as django-oscar is selected for that and SQL/SMB is used as a back office system only.
</blockquote></blockquote>
<blockquote>
==== hledger ====
==== hledger ====


The user reference ledger, how individuals and groups  view their ledger. hledger-web is not duplicated.
The users personal ledger. It may be convenient for the group administrators personal ledger to be used as the group ledger and this is the assumed default. hledger-web is not duplicated, nonetheless because of its accounting function and system integration, it is deemed a part of 'redvant'.


==== ledger ====
==== ledger ====


The plaintext reference ledger, how the system views all ledgers. AKA ledgercli, ledger c++, the original that was ported to hledger.
Basis of the System Journal, how the system views all ledgers. AKA ledger-cli, ledger c++, the original that was ported to hledger.


==== SQL-Ledger / LedgerSMB ====
==== SQL-Ledger / LedgerSMB ====


The enterprise reference ledger, typical of a firms view of their ledger. Individuals don't normally view this package and it's interface is mod perl based.
The enterprise Chart of Accounts (COA), typical of an ERP pkgs ledger. Individuals don't normally view this package and its interface is mod perl based.
Every O class user has its own COA.
The System COA is visible to all AKPERSONs.


== Transacting ==
</blockquote>
==== django-oscar ====
 
<blockquote>
I chose this pkg because of its claim of being domain driven, supporting DDD. That claim, as it turns out is based on dynamic class loading. So without quibbling and as its sole focus on txing is convenient it turns out to be an early anchor in my DDD praxis anyway.


Provides front end and tx'ing code. We introduce the notion of an ephemeral tx ledger, oriented to a single, possibly complex tx which is connected to the others. Like 'ledger' transaction, 'tx' is defined to be an abstract change to a ledger. The process of application of an real such change to persistent ledgers is called settlement.
</blockquote>


= Sonstiges =
= Sonstiges =

Revision as of 10:44, 3 October 2022


Précis

Redvant , or 'dcms<' (dcms-bra), is a collective term for software including react and servant within a DCP context and packaged as a reusable resource demonstrated in various applications such as the tl:dr and by the KEE.


"red" could be

react, redis, light in the ~700 nm range, a proper name as in red5, the parfume, riding hood, Malcom X, Simply, etc..

and "vant" is just from haskell-servant.


Use of Apache ISIS or other fat DDD pkg is intended later in our overall DDD product line engineering (as 'redvantis'). Some enterprise users may prefer the java basing of ISIS or an ERP core and this is anticipated for later development.

Requirements

At this time, this § is the sole exposition besides the code of any forks of constituent 3rd party packages in my public github or my original ones in my private git repo.

For pragmatic reasons, it is accounting oriented and doesn't address the full actual scope of use as implied by § 2.2 below, which could be confusing.

Later, there will coverage in the Docs DCMS volume.

Scope

Redvant carries our use of react and related node based stuff generally but here is discussed for the core purpose of transacting and accounting in domain space systems and apps. The transctional UI is actually django templating which could also be confusing.

As such it is deeply integrated with DCMS, DCP, etc. but these interfaces shall not be required in the product and its operation without them is a design requirement.

Design by Doing

The model use cases are the Web KEE SPA and the Ft doorbell, as well as GT2 2.1 and later and the tl:dr product line, in sofar as their front and middle are concerned.

Transacting

django-oscar

Accounting

Design Principles

Abstraction and Unity

  1. Ledgers are abstract entities realized differently in different packages but from the perspective of a single accounting ontology.
  2. Unless qualified, 'ledger' means double entry accounting ledger, a fundamental concept conserved across all ledger implementations, the basis of their unification.

Security and Transparency

This is a requirement that requires a balancing of interests as transparency can conflict with security. Users. i.e. individuals and groups (including firms) may opt for near complete opacity of their accounts which has been the general norm. The System, domain space, however is required to have open books and line items against its books are why it's not complete opacity.

Back End Packages

The pkgs that provide the functional detail in different use cases generally repeat and duplicate functions. By virtue of § 2.4.1.1.2 however, and system ops that implement it, they all operate against common ledgers. When function is duplicated, there is generally only one package that is contextually supported. For example, SQL/SMB has transaction interfaces but these are not used as django-oscar is selected for that and SQL/SMB is used as a back office system only.

hledger

The users personal ledger. It may be convenient for the group administrators personal ledger to be used as the group ledger and this is the assumed default. hledger-web is not duplicated, nonetheless because of its accounting function and system integration, it is deemed a part of 'redvant'.

ledger

Basis of the System Journal, how the system views all ledgers. AKA ledger-cli, ledger c++, the original that was ported to hledger.

SQL-Ledger / LedgerSMB

The enterprise Chart of Accounts (COA), typical of an ERP pkgs ledger. Individuals don't normally view this package and its interface is mod perl based. Every O class user has its own COA. The System COA is visible to all AKPERSONs.

Sonstiges

Commonalities

The same boat small form factor common reusable base with ...

  1. DS SSO, messaging, and DCMS API setup for product families.
  2. Videotelephony, defaults to Jitsi.

Deliverables