Skip to content

Commit

Permalink
Merge pull request #29 from qresp-code-development/develop
Browse files Browse the repository at this point in the history
New Release, v2.0.0
  • Loading branch information
mgovoni-devel authored Oct 19, 2020
2 parents 4f9c2ee + c735299 commit ee4ccc5
Show file tree
Hide file tree
Showing 498 changed files with 23,281 additions and 1,062 deletions.
6 changes: 6 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
__pycache__
.pytest_cache
.vscode
.next
flask_session
node_modules
20 changes: 9 additions & 11 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,20 @@ web/qresp.egg-info/
web/project/config_test.ini
web/project/tests/__pycache__/

Ignore Temp Files
PREVIEW_*
PUBLISH_*

# VsCode
.vscode/

# Python
__pycache__

# Dev
run_flask.sh
# Pytest
.pytest_cache


=======
# Python
__pycache__

# Dev Envs
.vscode/
run_flask.sh
TexSamples/
# Certificate Files
*.certs
*.crt
*.key
24 changes: 12 additions & 12 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
language: python
matrix:
include:
- os: linux
python: 3.5
env: TOXENV=py35
- os: linux
python: 3.6
env: TOXENV=py36
- os: linux
python: 3.7
env: TOXENV=py37
include:
- os: linux
python: 3.5
env: TOXENV=py35
- os: linux
python: 3.6
env: TOXENV=py36
- os: linux
python: 3.7
env: TOXENV=py37

before_install: |
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
Expand All @@ -36,12 +36,12 @@ before_install: |
fi
install:
- cd web
- cd backend
- pip install -r requirements.txt
- python setup.py install
# command to run tests
script:
- nose2 --with-coverage -v

after_success:
- coveralls
- coveralls
5 changes: 3 additions & 2 deletions AUTHORS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
This file lists the authors of the Qresp software as well as the known contributors.

# Project Leads
# Project Leads

- Marco Govoni (Argonne National Laboratory and University of Chicago)
- Giulia Galli (University of Chicago and Argonne National Laboratory)
Expand All @@ -10,12 +10,13 @@ This file lists the authors of the Qresp software as well as the known contribut
The current list of developers, in alphabetical order:

- Marco Govoni (Argonne National Laboratory and University of Chicago)
- Aditya Tanikanti (University of Chicago)
- Sushant Bansal (University of Chicago)

# Former Developers

The former list of developers, in alphabetical order:

- Aditya Tanikanti (2017-2019)
- Milson Munakami (2017-2018)

# Contributors
Expand Down
32 changes: 20 additions & 12 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,31 @@
Change Log
==========
# Change Log

v1.2.2 (2020/09/25)
-------------------
## v2.0.0 (2020/10/19)

Major Update

- Added new frontend service, using NextJS(React)
- Improved UI using Material UI
- Updated outdated packages
- Reduced external dependencies
- Fixed search by tags
- And added various small quality of life improvements for users

- Added new API routes, to publish and verify humans
- Updated schema from v1.1 to v1.2, added new License field.

## v1.2.2 (2020/09/25)

- Fixed bug impacting workflow hover info cards.
- Updated File server parser to make compatible with new file server.

v1.2.1 (2020/05/26)
-------------------
## v1.2.1 (2020/05/26)

- Fixed bug causing edit workflow functionality to break.
- Fixed bugs breaking DOI minting.
- Fixed python's package version incompatibilities causing build to break.

v1.2.0 (2019/09/20)
-------------------
## v1.2.0 (2019/09/20)

- Updated Curator UI
- Added Preview Functionality
Expand All @@ -26,8 +36,7 @@ v1.2.0 (2019/09/20)
- Removed ssh connection and added Zenodo & HTTP connection
- New unit tests

v1.1.0 (2019/01/25)
-------------------
## v1.1.0 (2019/01/25)

- Fixed bugs related to port number
- Fixed bugs related to DOI minting and search functionality
Expand All @@ -36,7 +45,6 @@ v1.1.0 (2019/01/25)
- Added unit test cases
- Added CI(Travis)

v1.0.0 (2018/12/18)
-------------------
## v1.0.0 (2018/12/18)

- Initial Qresp release
File renamed without changes.
24 changes: 24 additions & 0 deletions backend/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
FROM python:3.6-alpine

# Add to dump logs to file without buffering
ENV PYTHONUNBUFFERED 1

# install ca-certificates so that HTTPS works consistently
# the other runtime dependencies for Python are installed later
RUN apk add --no-cache ca-certificates

# Create the working directory (and set it as the working directory)
RUN mkdir -p /home/flask/app/web
WORKDIR /home/flask/app/web

# Install the package dependencies
RUN apk add --no-cache curl pkgconfig openssl-dev libffi-dev musl-dev make gcc libxslt-dev
RUN pip install lxml


COPY requirements.txt /home/flask/app/web
RUN pip install --no-cache-dir -r requirements.txt

# Copy the source code into the container
COPY . /home/flask/app/web
COPY project/static /usr/src/app/web/project/static
24 changes: 24 additions & 0 deletions backend/Dockerfile.dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
FROM python:3.6-alpine

# Add to dump logs to file without buffering
ENV PYTHONUNBUFFERED 1

# install ca-certificates so that HTTPS works consistently
# the other runtime dependencies for Python are installed later
RUN apk add --no-cache ca-certificates

# Create the working directory (and set it as the working directory)
RUN mkdir -p /home/flask/app/web
WORKDIR /home/flask/app/web

# Install the package dependencies
RUN apk add --no-cache curl pkgconfig openssl-dev libffi-dev musl-dev make gcc libxslt-dev
RUN pip install lxml


COPY requirements.txt /home/flask/app/web
RUN pip install --no-cache-dir -r requirements.txt

# Copy the source code into the container
COPY . /home/flask/app/web
COPY project/static /usr/src/app/web/project/static
File renamed without changes.
31 changes: 31 additions & 0 deletions backend/dev_docs/Publish.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Publish

## How was it done

In upto release 1.2.2, there was a strong dependence on Google services because that was the authentication/verification method.

Basically, on publish we would ask the user to login using a google account and if successful we publish.

## How it's done currently

Now, we generate a publish link and send it to the user's email. And when the user clicks on that link in the mailm, it redirects to Qresp and the paper is published.

## Why ?

No Google dependence anymore, more fluent. We maintain most of the routes, people with their university emails can curate and publish.

## Technically

Let's talk about exaclt what'll happen when the user clicks the publish button

### Flow

1. On click, the data comes in a json format as defined in the schema at the route `/api/publish`. We store that data temporarily in the publish folder on disk (This needs to be database in the future, really).
2. We process the data and send back a verify(or the actual) publish link to the curator via email.
3. If there are any errors the user is provided with the error and no email is sent.

4. The user clicks on the link in the url in the email and is redirected to the GUI of the instance. The link would be like `instance/publish/{id}`, the frontend then takes in the id, calls the api at `/api/verify/{id}`. This is where we nmotify the user that paper is successfully published or if there was error.

## Contributing

Always welcome, thanks. Suggestions, pull requests welcome. If you find a bug please, open on issue on Github.
Loading

0 comments on commit ee4ccc5

Please sign in to comment.