- Student: Daniyal Jahan Warsi
- Github: @jahandaniyal
- Organisation: National Resource for Network Biology (NRNB)
- Project: GraphSpace
The goal of this project Git for Graphs was to implement a system of version control which will enable users to track changes made to the graphs, save different version of the graph and fork other graphs(this functionality is similar to forking a repository in GitHub). The users of GraphSpace can backtrack to a previous version of the graph using GUI and REST APIs. A layout created for a particular version of a graph may not be compatible with other versions of the same graph, therefore a 'Layout Compatibility' feature has been added to check layout compatibility and the user has the option to resolve the compatibility issues.
The overall goal of this project is to implement a simple version of "Git for Graphs", which will allow users to track changes made to a graph, to describe these changes, as well as to easily undo these changes. This feature will help users to document the process and workflow that produced the given graph.
My project 'Git for Graphs' has been divided into 3 major patches :
-
Fork Feature - This operation is similar to forking a repository on GitHub. Users of GraphSpace can create copies of Graphs which have been shared with them or those graphs which are publicly available. The Fork feature does not allow forking a Graph if it's owner has made it private.
-
Versioning - This is the main goal of the project. Users will be able to create and save different versions of the same graph. They can provide a "commit" message that describes the changes in the given graph with respect to previous graphs. Each version of the graph a unique link. Users can go back to previous versions at any point of time using graphical interface and RESTful interface.
-
Layout compatibility - Since there may be different versions of the same graph, a layout that was created for one version may not be compatible with a later version. In order to support layout compatibility, a layout compatibility check feature has been added which will allow users to check if a Layout is compatible with a given version of the graph or not. If the layout is not compatibility, then the module reports this conflict to the User. A feature to resolve such conflicts has been added to Layout Compatibility module.
Project Proposal - (http://bit.do/etTjD)
Patch Details - (Murali-group/GraphSpace#385)
Commit History - (https://github.com/Murali-group/GraphSpace/pull/385/commits)
All commits made in this branch relates to the work done during GSOC '18
Patch Details - (Murali-group/GraphSpace#388)
Commit History - (https://github.com/Murali-group/GraphSpace/pull/388/commits)
All commits made in this branch relates to the work done during GSOC '18
Patch Details - (Murali-group/GraphSpace#390)
Commit History - (https://github.com/Murali-group/GraphSpace/pull/390/commits)
All commits made in this branch relates to the work done during GSOC '18
My Blogs on GSOC '18 and my project GraphSpace can be found here.
Looks good.