All Projects → dakshp07 → GSoC2021-Final-Report

dakshp07 / GSoC2021-Final-Report

Licence: MIT license
GSoC 2021 with Cuneiform Digital Library Initiative (CDLI)

Projects that are alternatives of or similar to GSoC2021-Final-Report

gsoc-2022
List of project ideas for contributors applying to the Google Summer of Code program in 2022 (GSoC 2022).
Stars: ✭ 44 (+22.22%)
Mutual labels:  gsoc
community
Keptn community content: governance, community management, project infrastructure etc.
Stars: ✭ 42 (+16.67%)
Mutual labels:  gsoc
getting-started
List of ideas for getting started with TimVideos projects
Stars: ✭ 50 (+38.89%)
Mutual labels:  gsoc
GSoC-Proposals-Archive
This repository contains Accepted and Rejected proposals for various Google Summer of Code organizations.
Stars: ✭ 47 (+30.56%)
Mutual labels:  gsoc
Soccer
Tired of searching the melange website for GSoC projects? Here's something that's visually pleasing and fast.
Stars: ✭ 15 (-58.33%)
Mutual labels:  gsoc
GSoC-Data-Analyser
Simple search for organisations participating/participated in the GSoC
Stars: ✭ 29 (-19.44%)
Mutual labels:  gsoc
DeepLearningCourse
[GSoC2019 with Red Hen Lab] A Deep Learning Course For Humanists.
Stars: ✭ 20 (-44.44%)
Mutual labels:  gsoc
Opensource-Contribution-Leaderboard
Open Source project contributors tracking leaderboard built with ❤️ in NodeJS 😉
Stars: ✭ 30 (-16.67%)
Mutual labels:  gsoc
GSoC-Ideas
CloudCV GSoC 2021 Ideas
Stars: ✭ 95 (+163.89%)
Mutual labels:  gsoc
CCAligner
🔮 Word by word audio subtitle synchronisation tool and API. Developed under GSoC 2017 with CCExtractor.
Stars: ✭ 131 (+263.89%)
Mutual labels:  gsoc
gsoc-meta-k8s
Project tracker for my GSoC project - Improve TPRs - for the Kubernetes organization (CNCF).
Stars: ✭ 23 (-36.11%)
Mutual labels:  gsoc
The-Beginners-Guide-to-Google-Summer-of-Code-GSoC
The Beginners Guide to Google Summer of Code (GSoC)
Stars: ✭ 33 (-8.33%)
Mutual labels:  gsoc
git-task-list
Git Task Lists
Stars: ✭ 25 (-30.56%)
Mutual labels:  gsoc
srijan-gsoc-2020
Healthcare-Researcher-Connector Package: Federated Learning tool for bridging the gap between Healthcare providers and researchers
Stars: ✭ 17 (-52.78%)
Mutual labels:  gsoc
projects
A website that showcases interesting projects, using Angular JS.
Stars: ✭ 106 (+194.44%)
Mutual labels:  gsoc
meshery
Meshery, the cloud native manager
Stars: ✭ 1,587 (+4308.33%)
Mutual labels:  gsoc
Google-Summer-of-Code-with-SymPy
This repository showcases my proposal, final report, and the work done during Google Summer of Code 2020 with the SymPy project.
Stars: ✭ 12 (-66.67%)
Mutual labels:  gsoc
Virtual-FPGA-Lab
This repository contains the codebase for Virtual FPGA Lab in Makerchip contributing as a participant in Google Summer of Code 2021, under FOSSi Foundation.
Stars: ✭ 65 (+80.56%)
Mutual labels:  gsoc
gsoc-organizations
A site for viewing and analyzing the info of the organizations participating in Google Summer of Code.
Stars: ✭ 195 (+441.67%)
Mutual labels:  gsoc
gsoc
Project Tracker for GSoC 2020: Creating Quality models using @grimoirelab and @chaoss metrics
Stars: ✭ 21 (-41.67%)
Mutual labels:  gsoc

License: MIT Linkedin: daksh Twitter: dakshp07 GitHub: dakshp07

Google Summer of Code 2021

with

Cuneiform Digital Library Initiative (CDLI)

Banner

Project Details | Links | Team | Objectives Accomplished | Deliverables | Contribution | Post GSoC | Acknowledgement

Check out my blog or follow me on Twitter for more updates.

Project Details

Digital Library Management is about preparing a dashboard that can show an admin the visual assets of the digital library for each artifact but also add, edit, delete, images using our archival images serve as a source of better quality images to prepare their web counterpart. Access to images should also be managed there (some images are not public).

Objectives

Primary

Develop a dashboard and a series of workflows so admins can manage the digital library (dl) Populate the tables with information from the current dl Keep the system flexible so we can create an extension for crowdsourcing of images in the future

Secondary

Assist in setting up an automated grab of archival and raw images from the VM, to the archival server. These images will have been uploaded through the images manager or the minio interface. Set up a granular access to images at the image level (instead of at the artifact level) Operations handled by the images manager

  • Create web version of images for an artifact using the archival version
  • Change the type for an image (main, detail, envelope, lineart, lineart detail, etc)
  • Associate existing images with a different artifact (when an error was made)
  • Associate images with artifacts, images which are currently associated with no artifact
  • Overview of assets for one artifact
  • Overview of assets for all artifacts (stats, also per collection)
  • Granular access for images management

Links

Team

Tech Stack

  • CakePHP 4
  • Python
  • Docker
  • HTML

Objectives Accomplished

  1. Python Script For Dumping Information

    • A python script for web images, archival images.
    • Scanning the folders, files and dumping them into CSV.
    • Make folders for specific type of assets.
    Script
    The python script with the instructions to run mentioned on top.
    • The script should handle the creation of folder for VCModels/3D Models on the basis of the file name.
    • In 3D Model folder we have two (in some cases more) files for every artifact. One is .ply model and the other is its .jpg image.
    • I was supposed to handle creation of a folder for every artifact with all the entities related to it inside the folder.
    Structure Before Running Script
    You can see all the entities inside one folder ie VCModels
    • Once the script runs it scans through VCModels and makes folder on the basis of file name.
    Structure After Running Script
    You can see all the entities inside their own specific folder under the parent folder of VCModels
    • Once the scanning is done we pick up all our necessary information and dump them inside an CSV.
    Resulting CSV
    These are the few information we are scanning for our requirements.
    • Since there were issues in python version which then in turn interferes with versions of libraries being used.
    • We dockerized the complete script so that it can run inside a docker container, the admins can go inside the containers and access the stuff needed.
    Script Inside the Container
    Running a few sh commands can take the admins inside the container where they can run the script, navigate through the folders accordingly.
    • You can see the complete script here.
    Complete Script
    The complete script in action.
    • We have a similar script for archival images which just has a few changed regarding the folder structure of the assets.
    Complete Script Inside Docker Container
    The complete script in action inside the docker container.
  2. Designing Different Pages for Project

    • The next important task was to design the pages required by the project.
    • The most challenging part was to keep the design user friendly (as most of people uing my projects are research scholars).
    • I have reused most of the existing elements from the current design.
    Home Screens for Single View
    The complete script in action inside the docker container.
    • The complete design file can be accessed from here.
  3. Images Table in DB

    • It was time to decide upon the strcuture of the images table.
    • The users would require a few specifics in order to make a decision for one specific file.
    Images Table
    The structure of images table we decided upon.
    • Since the server which stored all the web images was facing a few issues we decided to fill the table with a few test images and start working upon the backend and frontend of the project.
    Images Table
    The images table filled with a few test data.
  4. Creating the Frontend

    • I was supposed to work on the frontend and make the templates for the project.
    • The main page was the index, the second page is list of all visual asset related to one artifact.
    • The third page is where the admins can edit, delete the images.
    Walkthrough for Frontend
    The complete fronted of the project.
    • The design team helped a lot in finalizing the designs, tons of discussions with Jacob resulted into this design.
  5. Working on Backend

    • The next task was to integrate the functionalities of backend into frontend.
    • We wanted to restrict this project just to the admins and not to the normal users.
    Admin Access
    Only admins, super-admins are able to access the functionalities provided by project.
    • The other functionality we were trying to provide is to view all the visual assets related to an specific artifact.
    View for Single Artifact
    Displaying all the visual assets related to one specific artifact.
    • Single View for one visual asset was the other task.
    • Since the visual asset could be of type jpg (image), pdf, ply (models) we were supposed to display them to the users in order to make a decision.
    Handling Different Types of Files
    Handling different types of files (pdf, svg, etc).
    • The next functionality was to change the type of visual asset, change its access level.
    • We have around 25 types of visual asset and the admin has the access to change its type, change its access level (public or private).
    Manage Type of Visual Asset
    Changing the type of visual asset.
    • While changing the visual assets there will be a case where the visual asset of other type already exists.
    • At such situations the admins should be able to able to overwrite the existing visual asset with the one they are changing.
    Renaming Asset, Removing Duplicate Entries
    Changing the type of visual asset.

Deliverables

What Was Done

During these three months I have completed all the essential objectives which includes

# Objectives PR/Commit/Link Associated Deliverables Status
1 Design Pages Link Design the pages for viewing archival images, selecting multiple artifacts at a time, upload archival images #609 Completed
2 Prepare Images Table Link Storing information regarding images in our table #87 Completed
3 Work Around Web Images !355, !377 Allowing the admins to work around the web images by giving them the option to add, edit, delete #87 Completed
4 Python Script -- A python script to extarct information and dump them in CSV. #87 Completed
5 Testing Functionalities -- Testing fucntionalities of the web images. Completed

Objectives

# Status Objectives Associated Deliverables issue(s)
1 ✔️ Design Pages Design the pages for viewing archival images, selecting multiple artifacts at a time, upload archival images #609
2 ✔️ Prepare Image Table Storing information regarding images in our table #87
3 ✔️ Work Around Web Images Allowing the admins to work around the web images by giving them the option to add, edit, delete #87
4 ✔️ Python Script to store details A python script to extarct information and dump them in CSV. #87
5 🚫 Dealing with Archival Images Adding the functionality to convert, view and peform operations on archival images. #87

Contributions

Post GSoC

  • Dealing with arcival images is the task which is now on my to-do list.
  • We have to work around the conversion algorithm which can help us in displaying the images to admin on the framework and then allow them to make changes on it.

Acknowledgment

  • I would like to thank my mentor Jacob L. Dahl & Émilie Pagé-Perron for helping and guiding throughout the GSoC Journey :)
  • Thanks to other mentees and mentors for collaboration.
  • I am thankful to Google Summer Of Code for providing me with an opportunity to work with CDLI.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].