Coder Social home page Coder Social logo

infoledger's Introduction

Infoledger

History

This is an open-source CRM I wrote many years ago and thought I lost when my drive and backup died. I came across an old drive of backups, and to my surprise...look what I found, along with a bunch of unrelated goodies. So many years later let me introduce Infoledger :)

What is Infoledger ? First you need to understand 'CRM Math'

What is CRM Math? We will look at examples in the CRM Math Section.
But before we start we need to understand a few Principles.

Principles

A Person and a Person are People
People = Person + Person
Note: People + People would make a "larger" People
People = People + People
People = People + Person

A Group can be a number of People or Person(s)
Group = People //(but People can not equal Group)
Group = People + People
Group = People + Person
Group = People + Person + Person + People
Group = Group + People + Person

Sample Output

STARTING BASIC TEST...

Initializing People & Data

People ppl_1 = bob + frank + sam + alice;
Name: Bob ID: 1 Data: Knowledge
Name: Frank ID: 2 Data: Knowledge
Name: Sam ID: 3 Data: Knowledge
Name: Alice ID: 4 Data: Knowledge

People ppl_2 = sally + alice + mary;
Name: Sally ID: 6 Data: Knowledge
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge

People ppl_3 = ppl_1 + ppl_2;
Name: Bob ID: 1 Data: Knowledge
Name: Frank ID: 2 Data: Knowledge
Name: Sam ID: 3 Data: Knowledge
Name: Sally ID: 6 Data: Knowledge
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge

ppl_2 += pat;
Name: Sally ID: 6 Data: Knowledge
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge
Name: Pat ID: 0 Data:

ppl_2 -= pat;
Name: Sally ID: 6 Data: Knowledge
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge

ppl_2 += ppl_1;
Name: Sally ID: 6 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge
Name: Bob ID: 1 Data: Knowledge
Name: Frank ID: 2 Data: Knowledge
Name: Sam ID: 3 Data: Knowledge
Name: Alice ID: 4 Data: Knowledge

ppl_2 -= ppl_1
Name: Sally ID: 6 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge

ppl_1
Name: Bob ID: 1 Data: Knowledge
Name: Frank ID: 2 Data: Knowledge
Name: Sam ID: 3 Data: Knowledge
Name: Alice ID: 4 Data: Knowledge

ppl_2 += ppl_1 + alice - bob;
Name: Sally ID: 6 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge
Name: Frank ID: 2 Data: Knowledge
Name: Sam ID: 3 Data: Knowledge
Name: Alice ID: 4 Data: Knowledge

ppl_1
Name: Bob ID: 1 Data: Knowledge
Name: Frank ID: 2 Data: Knowledge
Name: Sam ID: 3 Data: Knowledge
Name: Alice ID: 4 Data: Knowledge

Reset ppl_1 = alice + mary;
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge

ppl_2 -= ppl_1 - sam;
Name: Sally ID: 6 Data: Knowledge
Name: Frank ID: 2 Data: Knowledge
Name: Sam ID: 3 Data: Knowledge

ppl_1
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge

People

ppl_3 = ppl_1 - ppl_2
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge

Initialize Group (Requires 2 Person(s))

Group group_1(alice, mary, Group One);
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge

Group group_2(sally, sam, Group Two);
Name: Sally ID: 6 Data: Knowledge
Name: Sam ID: 3 Data: Knowledge

Group group_3(bob, frank, Group Three);
Name: Bob ID: 1 Data: Knowledge
Name: Frank ID: 2 Data: Knowledge

Group & Person

group_1 = group_1 + bob;
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge
Name: Bob ID: 1 Data: Knowledge

group_1 = group_1 - bob;
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge

group_1 += sam;
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge
Name: Sam ID: 3 Data: Knowledge

group_1 -= sam;
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge

group_1 = ppl_3;
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge

Group, Person(s), & People

group_1 += sam + bob;
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge
Name: Sam ID: 3 Data: Knowledge
Name: Bob ID: 1 Data: Knowledge

group_1 -= sam + bob;
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge

group_1 = group_1 + pl_1 + sam - mary;
Name: Alice ID: 4 Data: Knowledge
Name: Sam ID: 3 Data: Knowledge

ppl_1
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge

group_1 = group_1 - bob - alice;
Name: Sam ID: 3 Data: Knowledge

ppl_1
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge

group_1 += bob + frank;
Name: Sam ID: 3 Data: Knowledge
Name: Bob ID: 1 Data: Knowledge
Name: Frank ID: 2 Data: Knowledge

ppl_1
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge

group_1 -= bob + frank;
Name: Sam ID: 3 Data: Knowledge

ppl_1
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge

group_2 = bob + frank;
Name: Bob ID: 1 Data: Knowledge
Name: Frank ID: 2 Data: Knowledge

group_1
Name: Sam ID: 3 Data: Knowledge

group_3 = group_2 + alice - group_1 + bob + mary;
Name: Bob ID: 1 Data: Knowledge
Name: Frank ID: 2 Data: Knowledge
Name: Alice ID: 4 Data: Knowledge
Name: Mary ID: 5 Data: Knowledge

group_1 += group_2 - bob - alice;
Name: Sam ID: 3 Data: Knowledge
Name: Frank ID: 2 Data: Knowledge

group_2
Name: Bob ID: 1 Data: Knowledge
Name: Frank ID: 2 Data: Knowledge

group_1 -= group_2 - bob - alice;
Name: Sam ID: 3 Data: Knowledge

END BASIC TEST...

------------------------------------- STARTING TEST PROCESS...

Initializing Person(s) Type B

Initializing People NOT Type A
People #1
Name: Bob ID: 26 Data:
Name: Frank ID: 27 Data:
Name: Sam ID: 28 Data:
Name: Alice ID: 29 Data:
People #2
Name: Sally ID: 31 Data:
Name: Alice ID: 29 Data:
Name: Mary ID: 30 Data:
People #3
Name: Bob ID: 26 Data:
Name: Frank ID: 27 Data:
Name: Sam ID: 28 Data:
Name: Sally ID: 31 Data:
Name: Alice ID: 29 Data:
Name: Mary ID: 30 Data:

Initializing Groups Type B

Group A
Name: Bob ID: 26 Data:
Name: Frank ID: 27 Data:
Name: Sam ID: 28 Data:
Name: Alice ID: 29 Data:

Group B
Name: Sally ID: 31 Data:
Name: Alice ID: 29 Data:
Name: Mary ID: 30 Data:

Group C
Name: Bob ID: 26 Data:
Name: Frank ID: 27 Data:
Name: Sam ID: 28 Data:
Name: Sally ID: 31 Data:
Name: Alice ID: 29 Data:
Name: Mary ID: 30 Data:

Creating Data, Process, Output
Creating Infoledge (Information + Knowledge) Type D

Infoledge il_1(pat, group_A);
Person:
Name: Pat ID: 25 Data:
Group:
Name: Bob ID: 26 Data:
Name: Frank ID: 27 Data:
Name: Sam ID: 28 Data:
Name: Alice ID: 29 Data:
Result:
database.Save(il_1);

Infoledge il_2(frank, group_B, process);
Person:
Name: Frank ID: 27 Data:
Group:
Name: Sally ID: 31 Data:
Name: Alice ID: 29 Data:
Name: Mary ID: 30 Data:
Result:

il_2.RunProcess()
MyProcess with Person & Group
process result:
Person:
Name: Frank ID: 27 Data:
Group:
Name: Sally ID: 31 Data:
Name: Alice ID: 29 Data:
Name: Mary ID: 30 Data:
Result: Knowledge
database.Save(il_2);

database.Print
#: 0
Person:
Name: Pat ID: 25 Data:
Group:
Name: Bob ID: 26 Data:
Name: Frank ID: 27 Data:
Name: Sam ID: 28 Data:
Name: Alice ID: 29 Data:
Result:
#: 1
Person:
Name: Frank ID: 27 Data:
Group:
Name: Sally ID: 31 Data:
Name: Alice ID: 29 Data:
Name: Mary ID: 30 Data:
Result: Knowledge

il_1 = database.Get(0);
Person:
Name: Pat ID: 25 Data:
Group:
Name: Bob ID: 26 Data:
Name: Frank ID: 27 Data:
Name: Sam ID: 28 Data:
Name: Alice ID: 29 Data:
Result:

il_1 = database.Get(1);
Person:
Name: Frank ID: 27 Data:
Group:
Name: Sally ID: 31 Data:
Name: Alice ID: 29 Data:
Name: Mary ID: 30 Data:
Result: Knowledge

END TEST PROCESS...

infoledger's People

Stargazers

Jayen avatar

Watchers

James Cloos avatar David Rowley 514 avatar Ami Rajpal avatar Jayen avatar

Forkers

jayeharrill

infoledger's Issues

Dev Branch, When print database data knowledge is not printing (Test Process)

---------- Doing MyProcess with Person & Group --------------
Person:
Name: Frank ID: 27 Data:
Group:
Name: Sally ID: 31 Data:
Name: Alice ID: 29 Data:
Name: Mary ID: 30 Data:
Data Printing

pdata->Print();
Knowledge: Discovery
database.Save(*pdata, il_2);

il_1 = database.Get(0);
Person:
Name: Frank ID: 27 Data:
Group:
Name: Sally ID: 31 Data:
Name: Alice ID: 29 Data:
Name: Mary ID: 30 Data:
Data Printing
------------ Previous:
Person:
Name: Frank ID: 27 Data:
Group:
Name: Sally ID: 31 Data:
Name: Alice ID: 29 Data:
Name: Mary ID: 30 Data:
Data Printing

END TEST PROCESS...

People += People creates duplicate Person

People + People creates duplicate Person if each People has the same Person.
ppl_1 & ppl_2 both contain Alice
ppl3 adds both ppl_1 and ppl_2, and when we see the output it is duplicated.

Bug: People + People

People + People creates duplicate Person if each People has the same Person.
ppl_1 & ppl_2 both contain Alice
ppl3 adds both ppl_1 and ppl_2, and when we see the output it is duplicated.

People ppl_1 = bob + frank + sam + alice;
Name: Frank ID: 3
Name: Bob ID: 2
Name: Sam ID: 4
Name: Alice ID: 5

People ppl_2 = sally + alice + mary
Name: Alice ID: 5
Name: Sally ID: 7
Name: Mary ID: 6

People ppl_3 = ppl_1 + ppl_2
Name: Frank ID: 3
Name: Bob ID: 2
Name: Sam ID: 4
Name: Alice ID: 5
Name: Alice ID: 5
Name: Sally ID: 7
Name: Mary ID: 6

Add original ontological value flow sketch

Update documentation with original ontological value flow sketch

  • Scan old sketch to better help visualize the logic flow outlined in the readme
  • Add to the Readme or as a supporting piece of documentation

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.