Journals Management and Display

by Nisheal John


Project Overview.

I’m Nisheal John, participating in Google Summer of Code 2020 with CDLI. I’ve been accepted for the project Journals Management and Display, the project focuses on the publication of various types of articles that CDLI hosts, currently CDLI hosts four articles, two peer-reviewed journals (CDL Journal and CDL Bulletin), the CDL Pre-prints repository and the CDL Notes. For the upload of articles, appropriate designs and workflow need to be developed which includes the development of required routes, controllers, views & tests. The major challenges to this project are the conversion of the editor’s article inputs to CDLI’s article publications which will be carried out by using latex and Maths libraries. The editors will be uploading the latex file of the article and the dashboard will convert the latex file into the needed HTML content i.e the CDLI web template. Building latex and Math parser is the heart of this project. Further in the project necessary end-to-end & unit testing phases should be established to improve the development workflow and avoid build issues.

Project: GSoC’20, GitLab GSoC’20 Proposal: Link Contributions to CDLI: Link Ongoing work status: Link

Mentor: David Wong

GSoC Final Report and Summary.

Participating in GSoC was a great learning experience, I faced alot of challenges in this journey which helped me learning key skills. I shall always be indebted to such a welcoming organisation and my mentor for his help.

What Was Done

During these three months I have completed all the essential and additional objectives of the project which includes

# Objectives Pull Requests Status
1 CRUD operations for the article upload !55, !139 Merged
2 Conversion of article latex to article HTML !158 Merged
3 Display of articles with PR !55 Merged
4 Linking articles and publications !189 Merged
5 Schema & Data migrations - Completed
6 Initalize Lint+Unit testing with CI/CD !41,!45, !51, !76, !85, !92, !98, !172 Merged

What Is Left

My next assignments are to re-test the entire dashboard and fix the details which were suggested by my mentor. While completing the project I see scopes for many possible feature which could ease the entire process of article upload which has to be improved issues

Objectives and Deliverables

Objectives are separated in two categories: essential and additional, they are also listed in priority order.

Essential Objectives

# Objectives Status Associated Deliverables issue(s)
1 Article CRUD Complete Feature for editors to CRUD different types of articles. #265
2 Article Conversion Complete Backend to convert the editor’s uploaded article to CDLI Standards for display. #267
3 Article Display Complete Display all the articles at their respective pages and indiviual view for each article. #266
4 Schema Migration Complete Make necessary changes to the schema for journals dashboard. -
5 Article Migration Complete Move old & archived articles to the new architecture. -
6 Testing Complete Implement necessary testing for the project and sync with CI/CD. #185

Additional Objectives

# Objectives Associated Deliverables issue(s)
1 Improvements to CI/CD Gitlab CI/CD Pipelines -
2 Initalize unit testing Framework Testing #185


Week Objectives Status Deliverables
1 Upload article attributes to database Complete CRUD Operations for article attributes and different types of journals.
2 Upload article content to database Complete Controllers to manage authors and article content/HTML to the database
3 Display varioues types of articles Complete Make Different pages for different types of articles.
4 Migration of article Complete Migrate old CDLI articles to new schema and display
5 Testing Complete Testing Implementations of Milestone 1 i.e Week 1 to week 4
6 Convert articles at editor Dashboard. Complete Build latex tex to HTML converters.
7 Convert articles at editor Dashboard. Complete Finishing the latex tex to HTML conversion for journals.
8 Display of article content Complete Display of HTML Content of the journal (Individually)
9 Testing Complete Testing Implementations of Milestone 2 i.e Week 6 to week 8.
10 Integration Testing Complete Testing the data variation to the database with article content and integration with other modules.
11 Unit Testing Complete Initalize unit testing for CDLI Framework and write possible tests journals dashboard
12 Improvements Complete Manually test the entire journal dashboard, ready the project for submission and document necessary details (CKEditor, pdf2html and tests).
13 Finishing the project Complete Testing the project and making release/production ready.

Weekly Reports

journals, Community Bonding

by Nisheal

journals Eval#1 Week#1

by Nisheal

journals Eval#1 Week#2

by Nisheal

journals Eval#1 Week#3

by Nisheal

journals Eval#1 Week#4

by Nisheal

journals Eval#1

by Nisheal

journals Eval#2 Week#5

by Nisheal

journals Eval#2 Week#6

by Nisheal

journals Eval#2 Week#7

by Nisheal

journals Eval#2 Week#8

by Nisheal

journals Eval#2

by Nisheal

journals Eval#3 Week#9

by Nisheal

journals Eval#3 Week#10

by Nisheal

journals Eval#3 Week#11

by Nisheal

journals Eval#3 Week#12

by Nisheal

journals Eval#3

by Nisheal