ContentEngine
The ContentEngine is the foundation on which TopSoil is built.
Our engine borrows heavily from the concepts of the Git - Fast Version Control System.
To understand how Content Engine works, lets take an example in which Alex and Bob edit documents in the content engine. Lets say Alex creates a document named "ABC" in the content engine. Lets take the steps through which the Content Engine will go through
- Intially, Content Engine wont have any name "ABC" that live in the system.
- By creating the document "ABC", the system will add a name "ABC" in the engine and will point this to a vertex i.e. first version of this document.
ABC ---> ( doc1 )
- Now Alex edits the document and saves another version. At this stage, our system will add another vertex and will now point the name "ABC" to this newer version
(doc1) -> (doc2)
^
|
ABC
So, now ABC now points to doc2 i.e. the new version of the document.
- Now, another user Bob comes and they both start editing the document pointed to by name "ABC" and Bob creates a new version
(doc1) -> (doc2) -> (doc3)
^
|
ABC
- Alice and Bob now decides that they have different views on topic "ABC" and they rather have their own versions of this topic. So, they the content engine looks like
-----> (doc5) (doc2) -> (doc3) -> (doc4) (doc5) -> (doc6) (doc2) -> (doc3) -> (doc4) -----^
Consider the Content Engine as a graph where
Vertex = Particular version of a document Edge = Connecting different versions of documents Name = Name points to a vertex i.e. document
