Hippocampome-Org / php

Hippocampome web portal
3 stars 2 forks source link

NS: [articles]: Article table not accepting page number with letters for v2.0 #747

Open drdiek opened 2 months ago

drdiek commented 2 months ago

In csv2db_import, the Article table only accepts first_page as the data type int(11) which is a number-only data type. Some Journals list page numbers with letters in them, e.g., Proceedings of the National Academy of Sciences, link, or eLife and PLoS Biology. When entering new article records into the Hippocampome database, using a column such as pmid_isbn_page in fragement tables, e.g., phases_fragment, may allow entering page numbers with letters in them. PHP functions to retrieve article ids based on the pmid and first_page can have a conflict when the fragment data and the Article table's first page do not match because of a letter in one entry and no letters in the other.

A solution would be to change the Article table's first_page column to a text data type instead of a number-only one. However, this may have unintended consequences because any existing code that expects to access the column as the integer data type or does numerical operations with the column value could have a conflict. A short term solution implemented is to change any fragment page number entries into numbers only even if the real page description has a letter in it. For example, article's pmid_isbn_page was changed from E2726 to 2726 in phases_fragment. A long term solution can be to go through all code, ensure there will not be any conflicts with changing the Article table first_page column data type, then change the data type to a text one.