sciencecommons / curate_science Goto Github PK
View Code? Open in Web Editor NEWTransparency & credibility curation products for all research stakeholders.
Home Page: https://CurateScience.org
License: MIT License
Transparency & credibility curation products for all research stakeholders.
Home Page: https://CurateScience.org
License: MIT License
please take the raw HTML from here:
http://curatescience.org/help-section.html
also, please replace the "ABOUT" link to the left of the avatar with a "HELP" link, which will bring the user to the basic help guide.
please also add a link to the help section within the expandable drawer , and reorder the links as follows:
Replications
About
FAQ
Help
steps:
notice that eventually the figure selector won't list any more available articles, even though not all of the 10 articles were linked. i'm usually able to add 6 or 7, and then the remaining 3-4 don't show up somehow (and therefore cannot be linked).
I believe this WAS working correctly before the prevent already-linked articles FIX (i.e., a9edead ), but i'm not 100% sure.
As mentioned in #20 (comment)
I believe an API change will be required to support this.
badges are incorrectly displayed after removing URLs/endorsement from an activated badge.
steps:
notice the badges are incorrectly being displayed.
expected behavior: they should all be "greyed out" unavailable badges.
(this seems vaguely/somewhat similar to #19 )
this is to ensure that the following 2 requirements can be achieved (which are necessary for the crowdsourcing platform to work and grow):
relevant discussion from #14 :
Alex:
here's a thought: What if creating an author page automatically created a linked user account, and vice versa? Then when you invite the user and they accept, their user account and author page are already linked and waiting for them, they would just need to set their password and start curating. This way, a given person's username and author slug would always match because they'd always be created at the same time, and they wouldn't need to decide between creating a new author profile vs searching for and linking one that you already created for them.
The only downside I can think of is that the users who don't need an author page would still have one, but in my mind that's OK because they could just not fill it out or link any articles to it.
I think this would work fine for both flows:
Etienne:
yes i think your proposed approach (of automatically/simultaneously creating/linking user and author page) is a good one.
however, i still think it may not cover an edge case whereby an admin creates an author page, but then that person signs up before being invited by the admin (or somehow gets invited but doesn't click the invite link). for this edge case, the user would need to be able to claim a pre-existing author page and then any (non-redundant) articles on that pre-existing author page would be merged into their newest author page.
for example, admin creates author page for "steve-smith", but doesn't invite him. later, that same person signs up under "steve-smith-2". the user then realizes that the "steve-smith" author page is his, and claims the author page. all (non-redundant) articles from pre-existing "steve-smith" author page are merged into his "steve-smith-2" author page, and the "steve-smith" author page is deactivated (or could even re-direct to "steve-smith-2" author page; but any one searching for "Steve Smith" would only be displayed the correct activated "steve-smith-2" author page.
so in summary, it appears we need the following new functionality:
well let me know what you think.
this of course involves a non-trivial amount of work, but the good news is that we only need the stuff in
# 1 for now and can implement # 2 and # 3 later (given that the 1st group of early beta testers won't be allowed to invite new users and non-invited users won't be able to sign-up until way later).
Creating a new issue for this as it's a significant component within the larger article editor dialog.
Edit author information button is incorrectly being displayed for non-logged in users (clicking Edit opens the Edit Author modal, though at least one can't save any changes made).
(And actually, the Edit author information button should also not be displayed for logged-in users who don't own that author page, but i have no way of testing this currently.)
e.g. https://curatescience-staging.appspot.com/app/author/etienne-lebel
most minor issues (in rough order of difficulty/time to complete)
slightly more involved MINOR issues
signup/login pages issues
admin-related issues
various components still missing/incomplete (only MVP-critical issues listed):
on article cards within article lists (example article lists: LeBel, Campbell):
Edit Article modal window:
more minor outstanding issues will be posted in a separate "low priority" (non-MVP) issue.
specs for author page article list and edit functionalities:
when creating a new author page, everything will be blank except the "Edit info" button within the "Author information" section and the "Add article" and "Link preexisting article" buttons.
"Add article" button opens the "New/Edit article info" modal window with everything empty.
"Edit article" button opens the "New/Edit article info" modal window with pre-existing info loaded.
Clicking "Link preexisting article" will reveal the "Find preexisting article" search box (the same one as already implemented to link an original study to a replication study (https://curatescience-staging.appspot.com/new/article/8/edit)), so that an article already in the DB can be linked to a specific author page (whether that article is linked to a different author page or not).
clicking "Unlink" will unlink that article from that author's page (leaving it linked to any other author pages; and also leaving it in the DB, even if it's not yet linked to any other author pages).
Added/linked articles will be displayed using the HTML and CSS that i used to generate the author pages of 3 prominent (open-science maverick) researchers: lorne.campbell (use this one as it covers all features), daniel.lakens, and julia.rohrer (which are actually a slightly scaled-back version of my own etienne.lebel author page). the only exception being the use of proper tooltips to display badge, replication, and commentary details on hover (note that these are interactive/contain clickable content), instead of my hacky span solution. UPDATE FEB 25: if this part of the UI still hasn't been implemented, please use improved labels and full-text buttons from etienne.lebel's author page
only admins will be able to delete an article, which will unlink it from all author pages and destroy it within the DB. this works because there's no use case for an author to want to delete -- rather than unlink -- an article. if an error is made (wrong title, wrong transparency URLs, even wrong DOI), then that information can be edited. hence, deleting an article should almost never need to happen, and if it does, only admins should be able to do this. (UPDATE: one rare case i just thought of for an admin to need to delete an article is for duplicate unpublished or "in press" articles given that these won't have a DOI and our initial UI won't be checking for duplicate titles (though we could implement this later)).
(eventually, we will implement "Quick add" functionalities (e.g., drag-and-drop DOI or PDF or PDF URL onto "Add article" button, which will automatically populate basic article metadata fields); we will also implement 2 ways to add batches of articles: "Import from Google Scholar" and "Import from ORCID ID account")
major stylistic/aesthetic issues (MVP-critical only):
Article list:
Edit Article modal window:
more minor aesthetic issues will be posted in a separate non-MVP issue.
though the server side latency issue was noticeably improved by fixing #9 , several more specific frontend latency issues still remain:
some operations still take more than ~1.5 seconds for anything to happen on screen. for example:
hopefully your "debounce-input" strategy (as noted in your TODO list #10 (comment) ; Form update performance (latency, consider https://www.npmjs.com/package/react-debounce-input)) will help.
of course i'm not expecting enterprise-level performance (given our limited budget), but i'm hoping we can achieve about a 1-second delay maximum for most operations.
also, responsive feedback is missing for most (slow) operations. for instance, it would be good to add 3 animated dots (like within the react-select component), whenever an action is executed that takes longer than 1 second (e.g., displayed within the clicked button or otherwise).
Support signed in and signed out users.
Signed out users will see splash screen carousel.
actually, let's just update the navbar for now (i'll just keep occasionally adding featured articles manually). once the main author page functionalities are implemented, we can then updated the homepage to display recent articles from the DB (rather than pulling from the HTML).
admin users will have the following additional capacities:
-on Admin page, new article doesn't open New Article window (it adds an "Untitled article" within list, which can then be modified , as it used to be on author page)
it appears that when creating new articles or linking them to an author, some of the articles do not get correctly linked to the author.
scenario 1:
only 13 articles were listed.
but when i checked the admin page, all 22 articles are in fact listed.
scenario 2:
and only 5 articles were listed.
i went back and refreshed my author page (within my logged-in session), and sure enough now only (the same) 5 articles appeared.
hence, it appears articles sometimes aren't being correctly linked to an author (when being created or linked), but i have no idea why it's only happening sometimes.
this is kind of a show stopper, and needs to be fixed for me to be able to continue seeding the production DB.
UPDATE: the problem seems to only emerge when creating/linking articles in succession. if i link an article, and then refresh the page, and then link another article, and then refresh the page, the articles do seem to be linked correctly. however, if i try to link articles in succession without refreshing the page in between, then only some get linked correctly.
the staging website ( https://curatescience-staging.appspot.com/ and https://curatescience-staging.appspot.com/new/recent ) is substantially slower than the production website (https://curate-science-216207.appspot.com/). e.g., loading homepage/viewing article takes a full 3-4 seconds whereas on the production website it's almost instantaneous.
jeremy input: it seems to take a good 3-4 seconds longer to load an article page (or to load an article's "update" page) compared to production, and it seems to stay this way even after several interactions (potentially ruling out Jeremy's "warm up" hypothesis).
Alex responses:
Testing it out, I also noticed that staging takes about 3000ms per request while prod takes only about 400ms. They're not configured any differently in App Engine, and the two databases are on the same VM, so there must be something about how the database are configured that's causing different SQL query latency. I'll keep digging...
The individual SQL statements being issued to the database are the same between prod and staging, so it is not due to any code change in the Django app generating slower queries on staging. And when I run the queries directly on the server, they take a similar amount of time on both databases. The databases have identical schemas and almost identical data in them so now I'm leaning toward it being something in GAE, but I'm not sure what yet. I basically didn't configure anything in GAE so I'm not sure what settings there are that affect app performance. That will require more research.
I can confirm that it's also not the indexes--staging has the exact same indexes as prod.
What about just recreating both production and staging websites anew and seeing if that resolves the issue?
Article List/Author Page
Article EDITOR
Other:
https://curatescience-staging.appspot.com/app/create_author
needs to work for admins (to create new author pages) and for non-admin users to create their own author page.
this actually involves 3 different problems (each of which used to work very recently):
i don't think these are due to a transition issue (related to user/author model changes), though i'm not 100% sure on this (but perhaps some of these may have started once card actions were moved to outside of card?)
From Etienne:
please use improved labels and full-text buttons from etienne.lebel's author page (from #12)
On the author page, If a social media URL is added, then removed, the corresponding social media icon is still displayed (and clicking it does nothing).
e.g., https://curatescience-staging.appspot.com/app/author/etienne-lebel
OSF profile URL was removed, but OSF icon still being displayed.
expected behavior: no social media icon should be displayed when a URL is removed (this is correctly working when no URL is initially provided)
This will be needed for replications, and recent articles, as per #13
Goal is to make transition seamless for those currently depending on the data in these pages, before updated collections/replications functionality is finalized in the redesign.
Followed instructions in README and successfully have server running.
python manage.py test
Creating test database for alias 'default'...
**Got an error creating the test database: permission denied to create database**
I tried creating the test database manually but that hasn't helped. Probably a simple issue.
admins need to be able to invite new users so that they can create their own author page.
perhaps for now, clicking "Invite new user" (from user menu bar, see mockup in #13) can open a modal window with email address and name text fields and a "Send Invitation" button. this will send an email to the user with a signup invitation link.
when clicked, the user will go to signup page, which will have their email and name pre-populated, and password field (which user will have to copy-and-paste from the email?).
clicking "Sign up" will then create the new user account, log-in the user, and bring them to the homepage in a logged-in state (where they can then click "Create author page".
Alex comments
E-mail address is the username, but I do need to implement a feature for the ability for admins to send invites. Looks like there are existing packages for this, so it shouldn't be much work. And since only admins will have invite permissions, there's no need for an invite quota. But if you decide you want to give authors the ability to send invites with a quota, let me know.
Etienne response
ok sounds good. and indeed authors should have an invite quota, which initially will be set to 0. only once the author page is tested and improved based on a small group of users (~15-20), will we want to give 2-3 invites to each user. but i'm not sure if you want to implement this now, or just add it later.
1st issue:
2nd issue:
additional info: if you uncheck the "In press" checkbox, re-enter a publication year, re-check the "in press" checkbox, then somehow the article does save.
also please add an asterisk * to the right of each of the required fields box label (title, authors, and year) and add the text "* indicates required field" at the bottom of the modal window (as per specs).
this should probably be done within the React-select component that searches for pre-existing articles (i.e., exclude all article IDs that are already linked to that author page).
this is only a duplicate within the article list UI itself, hence why i've categorized it as a non-MVP "low priority" issue
within article editor, can't delete added figure
this used to work a few days ago
steps:
notice author page doesn't load and following error is given:
Uncaught TypeError: Cannot read property 'label_detail' of undefined at TransparencyBadge.render_feature (webpack:///./src/components/TransparencyBadge.jsx?:144)
solution: once the "Prereg protocol URL" input box becomes non-empty, automatically select the first radio button ("Preregistered study design + analysis").
(given that this will be the correct prereg type in >95% of cases, and so solves the problem and increases curation efficiency!)
in the order that they appear:
for REPLICATION input boxes:
for NUMBER OF REPS input box, remove the "2" placeholder text
for ORIGINAL STUDY input box, update placeholder text to "e.g., SS Smith et al. (1989) Study 2"
for TARGET EFFECT(S) input box, update place holder text to "e.g., playboy effect"
for all 6 impact metric input boxes, remove the "2" placeholder text
for ACTION EDITOR input box, update placeholder text to "e.g., SS Smith"
for PEER REVIEWERS input box, update placeholder text to "e.g., SS Smith, Anonymous reviewer 2 (separate using ',')"
for OPEN PEER REVIEWER URL, update placeholder text to "http://..." (like all the other ones)
for commentaries:
if click on invalid link on social media icon (https://curatescience-staging.appspot.com/app/author/asdf), then goes to create author page
https://curatescience-staging.appspot.com/app/author/create
this doesn't happen for email field, but probably should (eventually) check and only allow valid email addresses
medium priority article list stylistic issues to be fixed for MVP (early beta testers):
moved from #23
steps:
if you click "Edit article" for a different article, and then go back and click Edit Article for the original article, the Edit Article modal window will correctly load the article information.
high priority article list stylistic issues to be fixed for MVP (early beta testers):
moved from #23
steps:
additional info:
somehow this only happens for non-admin users, so i suspect this is related to setting articles as live/non-live.
steps:
notice how the article just added (on a different author page) now incorrectly appears on one's own author page (presumably because it has been incorrectly linked to it).
i'm not sure how long this has been an issue, because i only yesterday managed to link an author page to my admin account ([email protected]), but it definitely wasn't happening before i'd associated an author page to my admin account.
(but it's kind of a crucial bug given that i need to curate several additional author pages and don't want all of these articles to become incorrectly linked to my author page).
non-admin users cannot delete added figures. attempting to do so yields server responded with a status of 403 ()
this was definitely working before, but i'm not sure when it stopped working.
admin users still can delete added figures
specs for new/edit article info modal window for within-card editing of article information or for creating a new article (all fields blank in this case):
no deep-linking, no auto-complete fields. the only "smart field" is the DOI field whereby it should give an error (on save) if DOI is already in the DB
for "Replication" article type, "Replication details" fields will be visible (for all other article types, this section will be empty)
clicking "Add figure" button will open a "browse for file" window and let users select the figures/table images (multiple selection allowed; a URL can also be inputted as is standard for this type of dialog window). the image(s) will then be uploaded, compressed (i've been using https://tinypng.com/), and thumbnailed ("Add figure" button remaining to the right of thumbnails as is currently implemented). the image should grow vertically within a 3-column div (given there will be < 6 figures/tables 90% of the time).
this should be implemented exactly as is (given that this will currently mostly be for internal use only; we can improve the UI/UX later). please note that the font and padding should be very small/compact so that all fields can be visible on a large desktop screen (crucial to maximize data entry/curation efficiency).
for
2 issues still remain:
copied over from #22
saving an article as "In press" incorrectly saves it as being published in default (2019) or inputted year.
if you edit the article and delete the default 2019 (or any other entered year) and try to save, nothing happens (presumably because an error is thrown).
i believe this previously worked (but can't remember when).
steps.
deleting two articles in succession deletes each successfully, but somehow the 1st article deleted then incorrectly re-appears within the article list;
steps:
notice article 1 disappears, then article 2 disappears, but then article 1 re-appears.
trying to delete article 1 then doesn't do anything because it's already been deleted. if the page is reloaded the article (correctly) doesn't appear.
if one waits at least 2 seconds in between deleting articles, the issue doesn't seem to arise.
perhaps a parallel bug to #31
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.