Todo list - renepickhardt/related-work.net GitHub Wiki
For the first release we have the following main TODOs left:
- Fix design (Rene)
a) Search results
b) Author
c) Paper
d) Main layout
e) Home - Fix list presenters (Rene)
layout, scores - Fix usermanagement (Heinrich)
server logic, Email support - Implement new features
a) Loading status widget (Heinrich)
b) discussion system (Xinruo)
c) follow button
d) sidebar: add content (Rene) - Check db (Rene)
authors unique? datamining ok?
Design
TODOs
a) Search results
Use usual list presenter
b) Author
c) Paper
decide layout, draw pictures.
d) Main layout
fixed width, like github.com
e) Home screen
big search box in the middle
links to example searches/authors/papers
Usermanagement
TODOs
- send email from webserver
- implement new user server logic: validate email, etc.
- implement login logic: check password.
Decisions
- Userdata is stored in the Neo4J db.
- We try to treat paper authors and users very similar
Implementation
Serverside UserInformationObject
- Handles new user registration (sends emails/waits for response)
- Carries a list of SessionIds associated to the username
New Features
Loading status widget
(hidden) div in main presenter, listents to events.
Follow button
- toggle follow unfollow
- send RPC calls / store in db
Sidebar add content
- simple presenter allowing to add links to other resources
Discussions and Comments
Decisions
- Discussion data is stored in the Neo4J db.
- Design is oriented at Math/StackOverflow
-
- One comment stream (as opposed to comment tree)
-
- Voting features
ideas
- tab browsing for dicussions
-
- questions
-
- review
-
- summaries
-
- general discussions / comments /
Requiremens
- TabPanel (to store various kinds of dicusions (see idea section above))
- extending RPC Calls for pages with discussion in order to get the data
- creating a data base Desing for discussions (Topics start from Page (author, paper) where there take place and also from the author who initiated the discussion. Since dopics can have different kinds it probably makes sense to reserve different edge types for different kind of discussions. answers are linked list with topic at head)
- what is the best way to communicate with the server for reading
- a workflow for submitting new content has to be established.
- voting features have to be established
- markup of content (different formats but especially markdown) should be allowed
- connection with session and user management
Implementation
- Discussion presenter is injected on Author/Paper pages (debatable cf. Rene)
- Heinrich has not made up his mind, how to implement that.
Session management
SessionInformationObject (SIO) stores all session data on the client.
- Logs browsing behaviour in standard format
- Persistent storage in Browser (HTML5 / Cookies)
- Send to the Server in regular intervals / special events.
- Stored in flat files on server
List Presenters
Aim:
- Robust, pretty, and feature-rich set of list presenters
- Look and feel as in twitter.com - inlcuding hover properties
Implementation:
- Nested presenters for Lists and ListElements
- Get the usability just right by talking to Günther :)
- Various Classes/Abstraction layers for different List(Element)Presenters
Wiki / Usergenerated Content /
- let users add a website for an author
- let users be able to upload a paper with PDF
- let users add slides to a paper