HANDLING NON-COMMUTATIVE OPERATION ON GRAPH EDITING COLLABORATIVE APPLICATION IN OFFLINE CASES WITH CONFLICT-FREE REPLICATED DATA TYPE YJS

Collaborative applications like Google Docs, Figma, etc are commonly used for daily use, especially after the new work from anywhere (WFA) culture. This new culture, make many collaborative applications are used to fulfill the needs where some workers work from different places. This application...

Full description

Saved in:
Bibliographic Details
Main Author: Kevin C Sembiring, Rehagana
Format: Final Project
Language:Indonesia
Online Access:https://digilib.itb.ac.id/gdl/view/78319
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Institut Teknologi Bandung
Language: Indonesia
id id-itb.:78319
spelling id-itb.:783192023-09-19T00:27:37ZHANDLING NON-COMMUTATIVE OPERATION ON GRAPH EDITING COLLABORATIVE APPLICATION IN OFFLINE CASES WITH CONFLICT-FREE REPLICATED DATA TYPE YJS Kevin C Sembiring, Rehagana Indonesia Final Project collaborative, client-server, CRDT, Yjs, graph editing. INSTITUT TEKNOLOGI BANDUNG https://digilib.itb.ac.id/gdl/view/78319 Collaborative applications like Google Docs, Figma, etc are commonly used for daily use, especially after the new work from anywhere (WFA) culture. This new culture, make many collaborative applications are used to fulfill the needs where some workers work from different places. This application mainly has a server which becomes a source of truth and the applications can only be used by the user that is connected to that corresponding server. However this will become such a problem when a bunch of users send some changes that will result as a conflict when connected to the server. There is an alternative that is can be possibly used to resolve this matter which is a technology called “conflict-free replicated data types (CRDT)”. Graph Editing Collaborative Application becomes an alternative to the test case that is used, because this application can represent well how conflict resolution works and many people use this kind of application such as figma, google jamboard, etc. This final project uses Yjs as a library for the implementation of CRDT. This library is used because of its good performance on a benchmark that has been done on some CRDT common use. Also this library gives better performance than some other libraries. To test the implementation of CRDT, this project will develop a graph editing collaborative application that will have some feature to resolve the main problem of this final project which is non-commutative operation. Based on the test, CRDT implementation with Yjs can already handle some features that are needed with some rules that Yjs describe itself. Every users will receive the same result after synchronization on the server but didn’t get the best result yet for some non-commutative operation cases. text
institution Institut Teknologi Bandung
building Institut Teknologi Bandung Library
continent Asia
country Indonesia
Indonesia
content_provider Institut Teknologi Bandung
collection Digital ITB
language Indonesia
description Collaborative applications like Google Docs, Figma, etc are commonly used for daily use, especially after the new work from anywhere (WFA) culture. This new culture, make many collaborative applications are used to fulfill the needs where some workers work from different places. This application mainly has a server which becomes a source of truth and the applications can only be used by the user that is connected to that corresponding server. However this will become such a problem when a bunch of users send some changes that will result as a conflict when connected to the server. There is an alternative that is can be possibly used to resolve this matter which is a technology called “conflict-free replicated data types (CRDT)”. Graph Editing Collaborative Application becomes an alternative to the test case that is used, because this application can represent well how conflict resolution works and many people use this kind of application such as figma, google jamboard, etc. This final project uses Yjs as a library for the implementation of CRDT. This library is used because of its good performance on a benchmark that has been done on some CRDT common use. Also this library gives better performance than some other libraries. To test the implementation of CRDT, this project will develop a graph editing collaborative application that will have some feature to resolve the main problem of this final project which is non-commutative operation. Based on the test, CRDT implementation with Yjs can already handle some features that are needed with some rules that Yjs describe itself. Every users will receive the same result after synchronization on the server but didn’t get the best result yet for some non-commutative operation cases.
format Final Project
author Kevin C Sembiring, Rehagana
spellingShingle Kevin C Sembiring, Rehagana
HANDLING NON-COMMUTATIVE OPERATION ON GRAPH EDITING COLLABORATIVE APPLICATION IN OFFLINE CASES WITH CONFLICT-FREE REPLICATED DATA TYPE YJS
author_facet Kevin C Sembiring, Rehagana
author_sort Kevin C Sembiring, Rehagana
title HANDLING NON-COMMUTATIVE OPERATION ON GRAPH EDITING COLLABORATIVE APPLICATION IN OFFLINE CASES WITH CONFLICT-FREE REPLICATED DATA TYPE YJS
title_short HANDLING NON-COMMUTATIVE OPERATION ON GRAPH EDITING COLLABORATIVE APPLICATION IN OFFLINE CASES WITH CONFLICT-FREE REPLICATED DATA TYPE YJS
title_full HANDLING NON-COMMUTATIVE OPERATION ON GRAPH EDITING COLLABORATIVE APPLICATION IN OFFLINE CASES WITH CONFLICT-FREE REPLICATED DATA TYPE YJS
title_fullStr HANDLING NON-COMMUTATIVE OPERATION ON GRAPH EDITING COLLABORATIVE APPLICATION IN OFFLINE CASES WITH CONFLICT-FREE REPLICATED DATA TYPE YJS
title_full_unstemmed HANDLING NON-COMMUTATIVE OPERATION ON GRAPH EDITING COLLABORATIVE APPLICATION IN OFFLINE CASES WITH CONFLICT-FREE REPLICATED DATA TYPE YJS
title_sort handling non-commutative operation on graph editing collaborative application in offline cases with conflict-free replicated data type yjs
url https://digilib.itb.ac.id/gdl/view/78319
_version_ 1822995705342459904