GSOC24
A blog to report the weekly progress of the 'Ontology Time Machine / Package Manager using DBpedia Archivo for DBpedia' project and some of my personal experience.
-
Coding period - 22th week
Progress Cleanup the code Finalize testcases Make sure everything is working as expected Work on documentation
-
Coding period - 21th week
Progress Work on cleaning up the code, testcases and documentation Next steps Use Enums for the default config Work on testcases that are able to test the different modes of the proxy Create documentation
-
Coding period - 20th week
Progress Focused on code cleanup, implementing test cases, and refining authentication processes. Discussion Some robots already started abusing the authentication became very important Make it possible to define the proxy setup using the authentication parameters Next steps Work in the https requests
-
Coding period - 19th week
Progress Continue the work on implementing the parameters. Discussion We realized that the implementation of all the parameters and the different functionalities will not fit into this project. The dependency mode out not in the scope of the project Some of the subparameters are also outside of the scope of...
-
Coding period - 18th week
Progress Working on the implementation of the parameters finalized during the previous meeting.
-
Coding period - 17th week
Progress Continued the discussion and the implementation of the parameters of the proxy. Here is a summary of the final results configuration options (incomplete sketch) defaultOntoVersion: (default originalFailoverLive) original intercept requests but serve the original upstream ontology response, NOTE if ontoFormat patchAcceptUpstream option is true, the Accept headers modified. This...
-
Coding period - 16th week
Progress As the functionality become complex, there were many discussions about the speficif functionalities and parameters during the week. This meeting we further discussed what possible functionalities should be available for the proxy.
-
Coding period - 15th week
Progress Ontology and logic implementation updates Dicsussion Move all the logic of the proxy into the a separate file for the logic This will help changing to other proxy libraries later if we decide to do so Logic refactoring: Moved all relevant logic into separate utilities for better organization and...
-
Coding period - 14th week
Progress Fixed testcases Refactoring the code to improve performance and readability Discussion HTTP Bin: Configured for testing and verifying HTTP responses. Archivo: Forced specific responses for testing within the Archivo environment. Wireshark: Installed on Ubuntu to assist in network monitoring and troubleshooting. Man-in-the-Middle Proxy: Set up for intercepting and analyzing...
-
Coding period - 13th week
Progress Archivo PR New PR for Archivo is ready for review and has been merged. Ontology Retrieval and Code Cleanup Improved retrieval of ontology IRIs with the get ontology function. Began cleaning up the codebase and restructuring the configuration dictionary. Discussion Parameter handling and interface design Question on parameter management:...
-
Coding period - 12th week
Progress This week I was on holidays so we did not have a meeting and there was no signifficant progress.
-
Coding period - 11th week
Progress GitHub Workflow Created new test cases to match the expected behavior. Opened a new pull request (PR) for updates. Dicsussion Authentication Addressed HTTPS authentication requirements: Integrated authentication headers using AuthPlugin for secure access. Next steps Add a wrapper around the request to improve the functionality of the time machine....
-
Coding period - 10th week
Progress Archivo Fixes and Enhancements Resolved an error encountered in the Archivo. Adjusted functionality for the “closest” option: Ensures that if an exact version exists, it is correctly identified. Testing: Added additional test cases specifically for Archivo functionality. Developed an example to demonstrate: print: request, host, URL, path, protocol. Discussion...
-
Coding period - 9th week
Progess PR on Archivo: Patch for Archivo to extend the functionality with when the timestamp doesn’t exist Test for the functionality Extend the README accordingly Discussion Slash Command and New API Testing Need to implement a few heuristics: Test with -v (verbose mode). Verify new web API functionality. Code maintenance...
-
Coding period - 8th week
The progress of the week: Added all the issues to GitHub with the corresponding labels Started a discussion about the HTTPS interception issue in the Proxy.py repository: https://github.com/abhinavsingh/proxy.py/discussions/1432 Read up on how the requirements for existing package managers are generated Here is an examples RDF that we want to use...
-
Coding period - 7th week
The progress of the week: This week I was working on the testcases. Adding issues to GitHub corresponding to both the Project proposal and development. Make sure that the parameters work properly according to the description. Finalized the PR on ontology Archivo: https://github.com/dbpedia/archivo/pull/48 Discussion: We discussed the questions I had...
-
Coding period - 6th week
The progress of the week: Extending the functionality of the proxy Adding the parameters that were defined by Johannes to fine-tune the functionality and make sure that is can be deployed with parameters tuned to the user’s needs. Implement the placeholders for all the possible modes. Implement most of the...
-
Coding period - 5th week
The progress of the week: The issue with the deployed docker is found, the CMD command was missing some parameters. Some testcases were broken with the previous PR, I fixed them. Refactor the code and make sure that the GET requests are only called once in case of any scenario....
-
Coding period - 4th week
The progress of the week: Change prints to logging Improve README Fix the HTTPS interception Discussion: The HTTPS intercetion works locally, but not on the deployed version, brainstoming on what the issue might be. How should we treat the different status codes. How should we implement the parameters that we...
-
Coding period - 3rd week
Progress This week we had a meeting at the beginning of the week and some async discussions about the project. The progress of the week: The proxy is corrected using the proxy.py library. The basic functionality is implemented for the failover mode. Dockerfile is created. Deployed to the the DBpedia...
-
Coding period - 2nd week
Porgress this week This week I created my first pull request with the following updates: Set up the project Create poetry venv Set up the HTTP proxy Implement the failover mode Add testcases Add GitHub action for running the tests Johannes reviewed it and he gave me the following feedback:...
-
Coding period - 1st week
Progress since last week: Setting up the project structure Set up poetry virtual environment Create the basic structure of the proxy with the http library and I used the threading library in Python to spin up the HTTP proxy server on a new thread Added 2 test cases to check...
-
DBpedia contributors meeting
We had a meeting for all the accepted DBpedia contributors organized by Julia Holze and Tommaso Soru. Summary of the meeting: Some statistics of DBpedia GSoC applications. This year they received 20 applications, 7 of them were shortlisted by DBpedia and 6 applicants were accepted in the end. All the...
-
Communty bonding period - 3rd week
This week I was provided with this tool that I can use to look up which ontology a term belongs to: http://tools.dbpedia.org:9274/lookup-application/api/search?query=Person We also had a long meeting with my mentors discussing all the details of the first phase and the next steps. Here is a summary of the discussion:...
-
The story of getting accepted to GSoC2024
I’m excited to share that I’ve been accepted as a Google Summer of Code contributor with DBpedia for a project called “Ontology Time Machine / Package Manager using DBpedia Archivo for DBpedia.” What many people don’t know is that this was my third time applying. I first learned about DBpedia...
-
Communty bonding period - 2nd week
This week was a bit quiet, we did not have a weekly meeting with my mentors. I finished reading the documents I was given and they were really helpful. I understand a lot better now how this project will contribute to DBpedia Archivo.
-
Communty bonding period - 1st week
I had the first meeting with my mentors: Johannes Frey and Natanael Arndt. We introduced ourselves and discussed the basic setup. This two GitHub repositories will be used for the project: Ontology Time Machine Ontology Package Manager We will follow agile framework. For managing the tasks we will use GitHub...
-
Accepted to GSoC2024
I’m thrilled to shared that I’ve been accepted into Google Summer of Code 2024 to work on a project with DBpedia. The Project: Ontology Time Machine / Package Manager using DBpedia Archivo for DBpedia The project focuses on improving DBpedia Archivo, an ontology archive containing over 1800 versioned snapshots of...