GithubHelp home page GithubHelp logo

regro / regolith Goto Github PK

View Code? Open in Web Editor NEW
14.0 14.0 66.0 5.92 MB

Research Group Content Managment System

Home Page: http://regro.github.io/regolith-docs/

License: Other

Python 77.68% HTML 7.40% TeX 14.28% Batchfile 0.09% Xonsh 0.55%

regolith's People

Contributors

adibaejaz avatar ahmeds343 avatar berrakozer avatar chloeann95 avatar cj-wright avatar connorjbracy avatar davidkim1 avatar dpeters001 avatar dragonyanglong avatar dy2403 avatar jiaweizang avatar kaylabim avatar matthewturk avatar mkwang2024 avatar mwinitch avatar n-g-asker avatar pliu2781 avatar priyankaanehra avatar raidun99 avatar sbillinge avatar scopatz avatar sheneric88 avatar shogho0 avatar st3107 avatar vivianlin2000 avatar zichengliu1997 avatar zthatch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

regolith's Issues

Latex base class?

It seems a couple of things are shared between the CV and pub list builders. I imagine other things that write to latex templates would want those things as well.

JSON Schema for dbs

It might be nice to have a JSON Schema for the dbs. (this is related to the validation stuff)

subprojects

Any interest in sub projects? The idea that each project could have various sub projects where each sub projects roughly maps to one repo. This would allow us to put release info and badges on the project page.

Integration tests

It might be nice to have integration tests.
These tests might include having a fake research group which we run tests against. This way we can make sure that we don't break anything major when PRing.

Render Service start/stop years

This will require changing of the resume/cv builder or template to properly understand that service can either have a single occurrence or a start and stop.

ENH: add affiliation to people

Some people may have a couple of affiliations. This will be helpful if we use this in conjunction with rever to template/release papers.

Format base and index for webpage

It may be nice to actually generate the index.html and base.html pages for the website.
Currently index.html is used by the app.
This may also help with #1

Procedural generation of website

It might be nice to have something somewhere (in the rc?) that specifies which pages/methods get run since not every group will have/want all the page types.

Sensitive data

How is sensitive data handled?
Is there a password protected section of the website?

Project tracking

It may be nice to be able to track a project (potentially privately, or with public/private chunks).
Eg. Track on a given project

  1. Collaborators
  2. When samples were shipped/measured
  3. Data analysis status
  4. Paper status
  5. Software commits/PRs/Repos associated with a project.

At the very least it may be beneficial to track all the papers associated with a public project.

Add validate command

The command would run schema validation against all databases in the RC. (This could be helpful as a git hook pre-commit for commits to dbs.)

utf-8 vs windows 1252

It seems that on windows YAML tries to load the yaml files with cp1252 encoding, which causes breakage

Track conda-forge/pypi packages

It might be nice to track all the conda-forge/pypi packages managed by a research group, since packaging is an important piece of getting software to users. It may also help to show the large impact that software group's packaging has on the community.

User docs

It may be helpful to go through a few use cases/best practices in the docs to get everyone up to speed:

  1. How do I initialize the system?
  2. How do I update things?
  3. How this integrates with Doctr?
  4. Where do I put my more private data (not in a public github repo)?

Grant Reporting build

It might be nice to have some templating for grant reports. It might not get everything, but it would get some of the important info (eg published deliverables in the reporting period)

FIX: app deletes content on failed json entry

If the user tries to put in bad json, then when the page is re-loaded then all their work is gone. This is rather nasty as they could have put a lot of work into their entry. Maybe we can reload the existing string? This may also be helped by moving to yml

Validate schema in Flask

Flask already checks for valid json, it would be good to check it against the schema as well.

Injest citations breaks

It seems that ingest citations writes a bunch of {'$set': 'bla'} stuff into the db which breaks the author checking. Is the '$set' stuff intentional?

ENH: Match public db entries with private

When running interactively (or with builders which use both the public and private dbs) it may be nice to be able to combine similarly named dbs with the same _id. Eg a public project entry may have some information but the private entry keeps track of accounting, ongoing work, etc. but when we go to build an internal report we want both dbs to be accessed together.

DB level schemas

In addition to making certain that the combined DBs pass some validation, it may be helpful to have validation on a per db basis.

app error

Traceback (most recent call last):
  File "/home/christopher/mc/envs/dp_dev/lib/python3.5/site-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/christopher/mc/envs/dp_dev/lib/python3.5/site-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/christopher/mc/envs/dp_dev/lib/python3.5/site-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/christopher/mc/envs/dp_dev/lib/python3.5/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/home/christopher/mc/envs/dp_dev/lib/python3.5/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/christopher/mc/envs/dp_dev/lib/python3.5/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/christopher/dev/regolith/regolith/app.py", line 53, in collection_page
    coll.save(body)
AttributeError: 'dict' object has no attribute 'save'

Include link to schemas in app

It would be nice to have a link to the collection schema (if it exists) in the app page for that collection. This way if you needed to remember what the schema was, just go look at it!

Error building ergs website with regolith master

loading _build/_dbs/ergs-public/db/blog.yaml...
loading _build/_dbs/ergs-public/db/citations.yaml...
loading _build/_dbs/ergs-public/db/grants.yaml...
loading _build/_dbs/ergs-public/db/jobs.yaml...
loading _build/_dbs/ergs-public/db/news.yaml...
loading _build/_dbs/ergs-public/db/people.yaml...
loading _build/_dbs/ergs-public/db/projects.yaml...
dumping jobs...
Traceback (most recent call last):
  File "/Users/aaronmeurer/anaconda3/bin/regolith", line 3, in <module>
    main()
  File "/Users/aaronmeurer/Documents/regolith/regolith/main.py", line 184, in main
    CONNECTED_COMMANDS[rc.cmd](rc)
  File "/Users/aaronmeurer/anaconda3/lib/python3.5/contextlib.py", line 66, in __exit__
    next(self.gen)
  File "/Users/aaronmeurer/Documents/regolith/regolith/database.py", line 126, in connect
    dump_database(db, client, rc)
  File "/Users/aaronmeurer/Documents/regolith/regolith/database.py", line 111, in dump_database
    dump_git_database(db, client, rc)
  File "/Users/aaronmeurer/Documents/regolith/regolith/database.py", line 74, in dump_git_database
    to_add = client.dump_database(db)
  File "/Users/aaronmeurer/Documents/regolith/regolith/fsclient.py", line 142, in dump_database
    filename = self.dump_yaml(collection, collname, dbpath)
  File "/Users/aaronmeurer/Documents/regolith/regolith/fsclient.py", line 127, in dump_yaml
    dump_yaml(f, docs, inst=inst)
  File "/Users/aaronmeurer/Documents/regolith/regolith/fsclient.py", line 50, in dump_yaml
    inst.indent(mapping=2, sequence=4, offset=2)
TypeError: 'NoneType' object is not callable

Render latex

This may need to go somewhere else, but it seems that the citations don't have their latex math rendered.
How do we fix that?

Test the app

It might be nice to test the app (especially as most people probs, don't want to deal with everything manually)

BUG: (?) cannot run regolith app due to uncommitted changes in _build

This may never happen in production (only because of some git trickery by Chris?) but I am recording it here for full disclosure.

  1. tried to run regolith app in my rg-db-private repo and got this:
    image

  2. failing with a git error, but git status shows everything is clean.

  3. Chris tells me I need to run git in _build/_dbs/billingegroup_private (not obvious to the casual user)

  4. indeed find some uncommitted things in there which I commit and push

  5. push fails because I am behind, so try and pull, but have conflicts.

  6. resolve conflicts and commit.

All in all, I don't think it is a bug (a feature maybe?) but I am putting it here as a potential thing that may crop up for other users......though I can't quite imagine how.

Link projects with publications/software releases

It might be nice to have each project on the project webpage to track the publications/software releases that are associated with the project. Should we keep track of the publication ids in the project or the project in the publication?

Rever tie in

It would be nice to have some hooks to/from rever.
Examples:

  1. When a software version is released, the software releases table (which doesn't exist, yet) gets updated
  2. As a paper is getting ready for submission use rever to push updates on the status to regolith dbs (eg, use rever to release a "submitted", "in review", "accepted" version of the paper)
  3. Similar to above for posters

Generate arg parse by dict

It might be nice to include the arg parse information in a dict. This way to add a command we just update the dict

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.