Giter Club home page Giter Club logo

lab-website's People

Contributors

davebridges avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

lab-website's Issues

Fix Title Tags for Several Pages

contact, feeds, location, people, people-details, projects and project-details are all not having their title tags read by google webmaster tools.

Integrate Social Media Information for Personnel

Add fields for social media information in the Person model. To make full use of these I can use public API's to get information from twitter/google plus/facebook.

For one we can get potential profile photos from each of these services (see also issue #30)

Document and Test Root App

Using Sphinx documentation and docstrings. Document roadmaps in the init.py file of each package. Correct cross-reference formats are:

  • :mod:papers for a package
  • :class:~papers.models.Publication for a class

Document and Test Papers App

Using Sphinx documentation and docstrings. Document roadmaps in the init.py file of each package. Correct cross-reference formats are:

  • :mod:papers for a package
  • :class:~papers.models.Publication for a class

Document and Test Personnel App

Using Sphinx documentation and docstrings. Document roadmaps in the init.py file of each package. Correct cross-reference formats are:

  • :mod:papers for a package
  • :class:~papers.models.Publication for a class

Add Syndication Framework

Should set up RSS feeds for:

  • New lab papers
  • New interesting papers
  • New lab people
  • New commentaries on papers
  • New blog posts, once i figure out how to integrate a blog

Generate Location and Photo Page

This page will give information about the lab's location, department and institution. Should also integrate some photographs of the lab.

Generate an App for Papers

incorporate Mendeley, Altmetric and PLOS API's where applicable. Will hold all authored and interesting papers.

Integrate Facebook Notes as Blogging Platform

Facebook notes can be posted on the lab facebook page (not app). This allows for formatting, inclusion of pictures, etc. Information about facebook notes is here: https://www.facebook.com/help/488014787881885/

These notes can then be retrieved using the facebook API: https://developers.facebook.com/docs/reference/api/note/ and then displayed as if a normal blog post. Some HTML formatting is allowed in posts.

Will need to check with the terms of use for the facebook API to make sure that crossposting is ok.

Add Facebook and Google Metadata to Each Page/Like Button

This is to assign the correct thing that is liked and descriptions.

The idea is that for most pages, the like button refers to the main page on the root domain. This should be the http://yourserver/ domain for pages in the footer with the metadata for the main lab page and description.

For internal like buttons (like papers) then the metadata should be the title/description of the paper. For google plus I will use schema.org markup as recommended by https://developers.google.com/+/plugins/snippet/. The url is defined by the href attribute of the button and the metadata is set by that target url. That means for papers, if the target url is the DOI then the DOI sets the metadata.

Create Lab News Feed

This will be the facebook integration part, with only relevant lab news being posted. Twitter will be used for more conversational, and link sharing.

Shared Links Page

From the /news page, need to find a better way to display shared links. They are not currently displayed

Make a Mixin for Remote File Manipulation for Lab Specific Documents

In commit 3c6a4c0 a remote file was obtained, then parsed into HTML for display. This seems like the best way to generically put in lab content. The workflow would be:

  • Generate remote (for example in Lab-Documents) files for lab specific content that can be served from some URL.
  • Set the URL in localsettings.py
  • Attempt to retrieve that URL (Can be a variety of different formats)
  • Parse the file to HTML or pass it to the templating engine for parsing.
  • If there is errors in the file retrieval or parsing pass those along to the template.

For some information on custom mixins see:

Document and Test Communication App

Using Sphinx documentation and docstrings. Document roadmaps in the init.py file of each package. Correct cross-reference formats are:

  • :mod:papers for a package
  • :class:~papers.models.Publication for a class

Add in PLOS API

If a paper is in a PLOS journal then we can use the PLOS API altmetrics. For more information see http://api.plos.org/alm/using-the-alm-api/. This can bring in information from several other sources not only just reads/downloads from the PLOS website.

The best approach is probably to do a test in the template if an article is a PLOS article and then load this data if it is.

Write App for Research Projects

As links to /research/ some indication of lab projects. There will be a list of projects and then a detailed page for each project. The project model will need links to papers, and personnel. Eventually there might be links to images and datasets.

Set Up REST API

I want to enable a REST API for papers and for personnel, and eventually for projects. I will use django-tastypie to set up the API and use backbone.js for the displays

Make personnel snippet

Make a snippet as part of the personnel app which displays the photo of the person, plus their name and their current position in the lab. This will be used on the homepage, personnel list page, on the project-detail page and on paper-detail pages. There will be a consistent layout for all of these images.

Incorporate Wikipedia API

at a minimum, use the wikipedia API to generate a list of recent edits by a user (or users). Ideally, also re-display those pages which we are interested in. Also list out some summary statistics of wikipedia usage.

For more details about the wikipedia API see http://www.mediawiki.org/wiki/API

Add an External Article Object

To papers app, add a new model which is a linked item. This is a post somewhere else discussing the paper such as a commentary, a blog post or a F1000 review. It could optionally include a button such as the F1000 logo. This would be shown on each article page as a link and would have no view of its own. This could only be added by an authorized user.

Allow Personnel/Users to Select Profile Photos

Three potential options for a profile photo, and to select this there will need to be a new field in the Person model which is a choice between these six things:

  1. Select no photo, which will then show a default silhouette.
  2. Upload a photo and display that
  3. Integrate gravatar, facebook, twitter or google plus and let the user select which photo to use. Notably, for this option, the user can change the display photo by changing the photo on that service.

If the user selects option 3, and selects one of those four options then there needs to be validation such that there is a valid unique identifier.

There will also need to be method for each user to get_image_url. This method will have to do one of the following in order:

  1. Check the preference for the image
  2. Depending on that preference, make either an API call to get the url, or get the user uploaded photo if using option 2.

There will also need to be a view where a user can log in and change the user photo.

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.