MaRDI4NFDI / portal-compose

docker-composer repo for mardi
https://portal.mardi4nfdi.de
GNU General Public License v3.0
3 stars 1 forks source link

Integrate Quickstatements with Wikibase Docker bundle #57

Closed aot29 closed 2 years ago

aot29 commented 2 years ago

Quickstatements is a tool for importing data (e.g. CSV) into wikibase. The original software written by Magnus Manske can be found here.

Goal The goal we are trying to achieve is to integrate Quickstatements with the Wikibase Docker bundle. Several problems are discussed here and here.

Still, we need a tool for importing data into the MaRDI portal wikibase. Since we got some functionality of Quickstatements to work with our Docker setup, I would like to propose to WBSG (FIZ is a new member of the WBSG) that we work on a solution to this problem.

Details Here's what I propose to do:

Links

physikerwelt commented 2 years ago

Still, we need a tool for importing data into the MaRDI portal wikibase. Since we got some functionality of Quickstatements to work with our Docker setup, I would like to propose to WBSG (FIZ is a new member of the WBSG) that we work on a solution to this problem.

In general, this is a good idea. I think to be fair, we should invest a reasonable amount of effort to ensure that the bugs we fixed in QS find their way to their respective upstream repos. Moreover, we should improve the documentation at least that much that everyone can solve the problem in the future again without having to access our project-specific documentation.

Here's what I propose to do:

* Make a public Github repository to hold code, issues and documentation.

I don't understand the need here. Can't we work with the tools provided by WMF and WMDE? It might be even possible to create an extra branch for our purposes.

* The main problem in my view is that Quickstatements has probably grown organically and needs a cleanup. I want to change as little as possible, but api.php and quickstatements.php badly require a structural refactoring to make the code maintainable.

We would need to acquire funding for that. Unfortunately, refactoring is not covered by the MaRDI mission. We should enumerate things we would like to see implemented in the document (unofficial working draft) we prepare a statement for the NFDI Common Infrastructures Section.

* Document the PHP classes and methods inline, add an UML class diagram

Same as above.

* Make an additional Github repo that provides a Docker container that integrates with the wikibase bundle. We are currently using wikibase bundle 1.35, but we would be interested in upgrading as soon as a new version becomes available.

* Add unit and integration tests.

See above.

* Perhaps reduce the dependency between Quickstatements and Magnustools by porting some of the Magnustools into Quickstatements (I'm not sure if this is feasible)

I can't tell.

* Fix some bugs, e.g. with regexes

That is something we should do.

* Merge back into the original Quickstatements repo

Maybe, this is something we can investigate before doing any actual work. I have seen at least one commit @lucaswerkmeister So it might be possible that there is already an official Quickstatements repo maintained by WMDE or WMF. I would strongly prefer fixing bugs for everyone than creating forks. Forking comes with high maintenance costs and does not fit well into our FAIR and Open attitude.

aot29 commented 2 years ago

You're right about obtaining funding. I think max 1 week, it's just a couple of files. By refactoring I mean applying some pattern to take advantage of the classes and functions that are already there. Much of the code is one large function and this makes it very difficult to maintain.

aot29 commented 2 years ago

No time left, but I still think it's a good idea for the future.