-
Notifications
You must be signed in to change notification settings - Fork 174
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Publication Module #3695
Publication Module #3695
Conversation
$pubUploadInsert = array( | ||
'PublicationID' => $pubID, | ||
'PublicationUploadTypeID' => $pubTypeID, | ||
'URL' => basename($fileName), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't seem to be a URL, since basename is just the filename
`PublicationUploadID` int(10) unsigned NOT NULL AUTO_INCREMENT, | ||
`PublicationID` int(10) unsigned NOT NULL, | ||
`PublicationUploadTypeID` int(2) unsigned NOT NULL, | ||
`URL` varchar(255) NOT NULL, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If URL is unique, there can't be 2 version of the same file. Is that intended? If yes, what is version for?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the version field was included in the original design mock-ups. i interpreted it to be a sort of crude version control feature, where perhaps somebody could upload different versions of the same or similar publication drafts for collaborative purposes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great module!
Main comment is that the Readme/nomenclature is a little unexpected:
- "Publications module" suggests it's for tracking publications, while Readme says it's instead purely for Proposal applications
# Publication | ||
|
||
## Purpose | ||
The publication module allows users to propose research projects based on LORIS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cc @mohadesz @cmadjar per Monday meeting -
"Publication" strongly suggests this module is for tracking Papers underway/assigned/published.
However says it's for Project Proposals -- i.e. researchers request to perform a series of Analyses, via access to specific datasets (like genomics).
- This extra sense of "project" confuses our documentation -> suggest "Analysis Proposal" or "Research Proposal"?
Typically, one research analysis project can generate multiple publications. And/or one publication and result from several analyses.
CONSTRAINT `PK_publication_status` PRIMARY KEY(`PublicationStatusID`) | ||
) ENGINE=InnoDB DEFAULT CHARSET='utf8mb4'; | ||
INSERT INTO publication_status (`Label`) VALUES ('Pending'); | ||
INSERT INTO publication_status (`Label`) VALUES ('Approved'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Publication status "Approved" strongly suggests that a manuscript was approved/accepted for publication by a publisher.
If this means just "Project/Access approved" - then consider renaming
`Version` varchar(255), | ||
`Citation` text, | ||
CONSTRAINT `PK_publication_upload` PRIMARY KEY (`PublicationUploadID`), | ||
CONSTRAINT `UK_publication_upload_URL` UNIQUE (URL), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this an external URL (Pubmed) or the URL on (e.g.) *.loris.ca where the paper will be hosted/downloadable (prob relative to a Config setting?) ?
Adding an External URL field is not a bad idea for preprints, the official publisher's site, etc.
- per my comment in the Readme, this is a very different sense of "publication" from "project proposal"
'publication_parameter_type_rel', | ||
'publication_test_names_rel', | ||
'publication_collaborator_rel', | ||
'publication_keyword_rel', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could be done with foreign key cascading.
@xlecours also suggests wrapping the script in a transaction and rolling back if an exception is caught instead of using a cleanup function.
Co-Authored-By: davidblader <dblader.mcin@gmail.com>
Co-Authored-By: davidblader <dblader.mcin@gmail.com>
Co-Authored-By: davidblader <dblader.mcin@gmail.com>
…Loris into publications_module
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
file upload still not working. im failing to find what the bug is. could someone else please try test?
CONSTRAINT `FK_publication_UserID` FOREIGN KEY(`UserID`) REFERENCES `users` (`ID`), | ||
CONSTRAINT `FK_publication_RatedBy` FOREIGN KEY(`RatedBy`) REFERENCES `users` (`ID`), | ||
CONSTRAINT `FK_publication_PublicationStatusID` FOREIGN KEY(`PublicationStatusID`) REFERENCES `publication_status` (`PublicationStatusID`), | ||
CONSTRAINT `FK_publication_LeadInvestigatorID` FOREIGN KEY(`LeadInvestigatorID`) REFERENCES `publication_collaborator` (`PublicationCollaboratorID`), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
table publication_collaborator
needs to be created first before it is referenced
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
solved
on testing: 2 errors no longer an issue. the only error remaining is that on editing an existing publication, file upload throws a DB->update error |
Despite the above concerns and objections, I'm going to merge this as a beta state in the interest of it not falling behind and becoming unmergeable/unmaintainabe.. if anyone wants to tackle any of the above bugs or reviews (or even just log them as a github issue), feel free. |
..except the merge button seems to be broken on my computer :( |
This adds a new module called "the publication module." The publication module allows users to propose research projects based on LORIS data, upload publication media, and allows study PIs to review the project proposals.
Module for proposing & uploading publication projects
Test plan