Difference between revisions of "ContentEngine"
Arif Iqbal (talk | contribs) |
Arif Iqbal (talk | contribs) |
||
| Line 30: | Line 30: | ||
| | | | | | ||
(doc1) -> (doc2) -> (doc3) -> (doc4) -----^ | (doc1) -> (doc2) -> (doc3) -> (doc4) -----^ | ||
| + | |||
Revision as of 08:23, 6 May 2007
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
