Giter VIP home page Giter VIP logo

gca-web's Issues

Topics should be sortable.

This is maybe related to #123.

Solution:
Add a field order to topic.

Maybe it makes sense to subclass Model from a mapped superclass like OrderedModel which can be then subclassed by other models such as Author, Reference, Topic and `Affiliation. This way they can share implementations for 'compare' and similar methods.

See also issue #106

Identity vs. Account

Find a good solution how to handle Identity and Account nicely together at the service layer level.

Make a concept first and discuss it.

Unclear behavior of "contains" method for Java collections

On the service layer when validating whether a many-to-one property "contains" some object it's unclear what is the logic stands behind this operation. As a result it fails sometimes.

like
'conference.owners.contains(account)'
works with account freshly requested from the database by ID, but not for some other instances of the same account (see line 177 ConferenceService)

Editor labeling

Change some labels in the editor:

  • Abstract text field: Write "Enter abstract text (up to 2000 chars)"
  • Acknowledgments: Remove "Optionally"
  • There is a problem with the numbering of fields (4. occurs 2x)
  • Poster or Talk -> Presentation Preference
    • Poster
    • Talk or Poster (Why should this contribution be selected for an oral presentation?)

State change API

Write the controller (& routes) for state changes of given abstract, or list of abstracts.

Service layer interfaces

Define the API of the service layer (e.g. AbstractStore).

  • Add unit tests for respective classes

Error: Unable to save abstract

Description:
The message "Error: Unable to save abstract" occurs when saving the abstract.

Cause:
Most likely this was caused by a session timeout.

Solution:
Increase session lifetime (several hours).

Concept for authentication and security

Investigate authentication mechanisms OAuth, Persona and find out how they could be implemented using Play.
Make a simple toy example that shows how contollers can be secured using the chosen technology.

Draft for the REST API

Create a wiki page containing a draft for the specification of the REST API

  • Define the URLs and HTTP Methods for all actions
  • Define a rough design of the JSON responses

Editor: Order of fields

From @twachtler's email:

Order of Fields: put Figure after References and Separator to mark end of abstract content:

[...]

References

Figure

-- Separator (thin line?) -- (Alternatively put a thin box around abstract fields from title to figure)

Topic

Presentation Preference

De- / Serializer for models

Investigate possibilities for serializing our models to JSON and vice versa.

Write a class util.Serializer that is able of serializing nested model structures to JSON as specified in the REST API Spec.

Improve models

Enhance all models with the following features

  • Add missing companion objects
  • Add parameter uuid to every apply() method of companion objects
  • Initialize many-to-one and many-to-many relationships as empty lists.
  • Add JPA annotations
  • Make Model a class

Absolute position for message box

Issue:
Currently the message box is not visible when the document is scrolled down.

Solution:
Make the position of the message box absolute.

Client side abstract validation.

Add client side abstract validation that warns e.g. about users without affiliations or other missing stuff.

The validation should distinguish between warnings and errors:

  • errors: show a danger box and prevent the abstract from being saved
  • warnigs: just show a warning box, bus save the abstract anyway

Candidate for an error would be a missing abstract title.

API: delete abstract ignores admin permissions

DELETE on /api/abstracts/:id returns 403 error for admins if they don't own the abstract.

{
   "error":true,
   "No permissions for abstract with uuid = bc7cd336-43cd-4dad-921b-db41ffbeb016":".."
}

This issue may also apply to conferences and other requests that check owners.

Adjust affiliation fields

The affiliation should have the following fields:
Institution, Department, Address, Country

Solution:

  • remove name field from model
  • display section as "Institution" in the UI (in order to avoid schema changes)

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.