GithubHelp home page GithubHelp logo

birkbeckctp / janeway Goto Github PK

View Code? Open in Web Editor NEW
163.0 16.0 64.0 84.32 MB

A web-based platform for publishing journals, preprints, conference proceedings, and books

Home Page: https://janeway.systems/

License: GNU Affero General Public License v3.0

Python 31.68% CSS 8.11% JavaScript 34.47% HTML 15.29% XSLT 7.83% Shell 0.03% Dockerfile 0.01% Makefile 0.05% SCSS 2.52% TeX 0.01%
janeway journal publishing preprints

janeway's Issues

Allow adminitrator to set password policy

Currently our only password policy is length, but we should allow an admin to set a site with password policy including:

  • Password length (min: 9 chars)
  • Must include upper case
  • Must include number

Note: We recommend an easy to remember, long password that could be a short sentence as these are harder to crack.

TOC Model/Special collections

If we store a table of contents as a separate model, then we can attach/detach them arbitrarily. So an issue can have a ToC. A journal can have a homepage ToC. A special collection can have a ToC.

Plug and Play Workflow

Allow a plugin to register as a workflow plugin. It's workflow name will be added to the set of Stages. Managers can then define where they fit in the workflow with an handshake and password stage.

IE plugin x might handshake with Review and handoff to Production

Plugins can identify themselves as eligible to be part of the workflow in their plugin_settings.py eg:

IS_WORKFLOW_PLUGIN = True
HANDSHAKE_URL = 'bc_article'
STAGE = 'Back Content'

This Stage identifier will then be appended to the stage list and will also display articles in this stage on the dashboard.

Kanban will need to be updated and the relevant plugin will need to supply a card.html file to determine it's content within the kanban list.

  • Add new workflow handover event that returns core.workflow.workflow_next
  • Identify core workflow handover points and add an event call the new event:
  • Review
  • Copyediting
  • Production
  • Proofing
  • Prepublication
  • Update core.worflow.workflow_next to handle there being no more events (redirect somewhere?)
  • Update Kanban to reflect workflow elements
  • Update workflow plugins to have a card.html for Kanban
  • On install, generate a default workflow [review, copyediting, typesetting, proofing, prepub]
  • Record which elements an article has been through
  • Update the Article Jump drop down

Sync Sites Command

This command currently tears down the Sites table and recreates it. Instead we should get_or_create and if created is False, update the attrs.

Typeset Tasks Files

All files are shown, not only those that the Production Manager has selected.

Pinned Articles

Allow an editor to select pinned articles and order them for a journal. This will pin the articles in order to the articles listing.

Login Ban

We should have the ability to ban a user or Ip from logging in for a set period. If a user fails to login 5 times they should be banned for 20 mins. Resetting if a password will remove all bans.

OAI to API App

APIs should have their own app, and all code related to OAI rendering should be moved there.

Failed Author Search

On submission, when an author search fails we should notify the user with a django message.

Summernote Save Bug

When attempting to save a summernote field in Code View it will not save, we should warn the user and arrest the save function.

Upgrade to Django 1.11

Upgrade to latest version of Django, this will require updating the django debug toolbar and updating dynamic sites to get rid of render_to_response.

This opportunity should be taken to upgrade all prerequisites.

/home/ajrbyers/.virtualenvs/janeway/src/dynamicsites/dynamicsites/middleware.py:
    3  from django.contrib.sites.models import Site
    4  from django.http import HttpResponsePermanentRedirect, Http404
    5: from django.shortcuts import render_to_response
    6  from django.utils.cache import patch_vary_headers
    7  from django.utils.http import urlquote
    .
  231                      if redirect_to:
  232                          cookies = response.cookies
  233:                         response = render_to_response(
  234                              'debug_toolbar/redirect.html',
  235                              {'redirect_to': redirect_to}

/home/ajrbyers/.virtualenvs/janeway/src/dynamicsites/dynamicsites/views.py:
    1  from django.http import Http404
    2: from django.shortcuts import render_to_response
    3  from django.template import RequestContext
    4  from django.contrib.sites.models import Site
    .
   16          'site':site
   17      }
   18:     return render_to_response('dynamicsites/site_info.html', args,
   19          context_instance=RequestContext(request))

Overlay journal views and handlers

Add backend and front-end interfaces to handle external articles (either by DOI or by URL). If by DOI then pull in metadata automatically.

[Note: security of DOI metadata pull in to inject malicious content into a ToC page if safe filter is used]

News App

News is large enough that it should have its own application.

  • Add a new News app
  • Move views, urls and models across
  • Update other code that utilises news
  • Test all still working

Preprints

Allow a site wide option for preprints and add option to submission process.

Front end/Display

  • Add a new is_preprint boolean to submission model
  • Set default submission objects manager to filter out non-preprints
  • Add a new boolean setting 'enable_preprints'
  • If preprints are enabled, add a nav item for preprints
  • Add a "preprints" area with info pages on preprints and a way to search preprints
  • Add a new preprint article display template
  • Add a preprint list page (paginated by 15)

Submission

  • If enabled, add a drop down to the submission nav item allowing selection of either a normal article or a preprint for submission
  • Add new preprint start submission page with its own content
  • Allow user to complete submission as normal
  • Limit submission to PDF files only (setting?)
  • Add Event to be fired on submission

Workflow

  • Add new interface to view all unaccepted preprints
  • Allow editor to view preprint metadata and make a decision
  • Editor should be able to email the decision to the author(s)
  • If accepted, it will appear in the preprint archive
  • If declined, it will not appear on the site

Comments

  • There should be a way for people to leave comments on the manuscript that are moderated... by the author as to whether they appear in public
  • Add interface to view all comments moderated and un-moderated for a given article
  • Allow author to approve comments for public display
  • Allow Editors to see a list of comments, their status and allow Editors to make them public also

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.