Code Monkey home page Code Monkey logo

awards-bot's People

Contributors

csjx avatar dmullen17 avatar maier-m avatar mbjones avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

awards-bot's Issues

1.4.2 installation issues

  1. When Chris installed the latest version of the bot we get this error message:
ℹ Rendering reprex...
pandoc: Unknown writer: gfm
Error: pandoc document conversion failed with error 9
Execution halted

Not sure why the bot is set up this way where if there is an error it automatically goes to render a reprex as I can't find any mention of it in the code base

  1. "out", "#> Error in eval(expr, envir, enclos): object 'out' not found"

awards-bot sending duplicate emails

Matt also reported that a second initial email was also sent out after the initial emails sent using the 1.0.4 release so I'm not sure where the bug may be.

consider adding a fail safe

If we will be sending more than x initial emails, should we consider stopping the code, alerting the team in #awardsbot and ask the user to verify and run the code manually? Ie. have an argument in the main function that overrides this.

Looking at previous history I wouldn't expect any more than 10 initial emails a day or 20 reminder emails.

This will hopefully allow for some human intervention and sanity checking prior to a large update.

How far back should the initial bot send emails?

How far back in time should we go for the initial round of NSF award correspondences? For instance we can look for all awards < 2 years old and send initial correspondence emails. Or we could look for all non-expired awards and set up some email conditions, for instance:

  • for all awards < 1 year old send an initial correspondence + annual report email
  • for all awards > 1 year old send annual report due date email and no initial correspondence email

Once the bot is up and running it will take care of new awards by itself, but we need to decide how to handle contacting existing NSF awards so as not to inundate them with emails at once.

Review email templates

Hey @mbjones @aebudden @csjx @mpsaloha when you get a chance can you review the email templates that we're going to automatically email to NSF award recipients? They're located in this folder https://github.com/NCEAS/awards-bot/tree/master/inst/emails. Jesse, Kathryn and Marie already made edits, so hopefully there isn't much left to do.

The most time efficient method might be to just comment any proposed changes in this issue, although using a fork / PR works too. @mbjones could also grant push access to the repo - but that might be overkill for this issue.

Thanks!

Webhook Depecrated; Create Slack App Instead

Part of Awards-Bot functionality is dependent on the "Incoming Webhooks" app Slack used to maintain. It's since been deprecated, and so awards-bot needs to be switched over to a Slack App instead

Consider automating portal creation for NSF awards

Help create a basic portal that:

  • adds the title of the award
  • filters for the award number
  • adds the award abstract?

Reduces the activation energy required to get users to create a portal. Allows NSF program officers one location to access all the datasets related to the same award.

Give PIs the option to unsubscribe

A couple PIs requested the option to unsubscribe from automatic notifications. We could build in a feature that reads replies and looks for specific text like "unsubscribe". An additional column would need to be added to the database csv file, subscribed, that defaults to TRUE and updates to FALSE if they'd like to unsubscribe.

It could also be handled case by case, but that would require manually editing the database each time.

consider using renv

Since we re-install awardsBot to the server with every new release, it might be useful to have something like renv in place so the versions of packages used locally to test are consistent with what will be installed on awards bot - https://rstudio.github.io/renv/articles/renv.html.

  • Having the minimum package versions in the description only solves part of the problem.
  • There are some packages like slackr that are being worked on regularly might have breaking changes that we might not have been keeping up with all the time - https://github.com/mrkaye97/slackr/releases/tag/v3.0.0
  • Easier for someone new picking up awardsBot for the first time

Notify of correspondences via email and Slack

This particular code likely won't be added to this repository, but I'm creating this issue so I don't forget. Set up a bot similar to the submissions bot that notifies the members of #awardsbot on correspondences.

refactor the code for human and bot integrated workflow

This will allow us to be more flexible with our email strategy but also allowing the bot to automate some of the simpler tasks

Bot actions:

  1. check the NSF award database
  2. update our internal database for keeping track
  3. alert users that x awards have been awarded (eg. slack message or email)
  4. alerts users that x awards are due in a month and to contact the researchers if they haven't already
  5. alerts users that there has been new correspondence via slack channel

Data team user actions:

  1. run necessary functions needed to email researchers (eg. a mass email every week for initial contact)
  • provide a function that allows users to pass a custom email template similar to create_ticket_and_send_initial_correspondence
  1. write any custom emails and follow up with the researchers

restructure database

Currently the "database" is just a csv file. This could be expanded to a relational database with a general database of NSF awards, extensions of awards numbers, annual report correspondences, AON correspondences, etc.

This should probably be done as it would simplify some of the existing code, but the bot will run just fine for now.

supress the messages from attaching packages

2021-06-25T09:40:01-0700
Attaching package: 'dplyr'
The following objects are masked from 'package:stats':
    filter, lag
The following objects are masked from 'package:base':
    intersect, setdiff, setequal, union
Attaching package: 'lubridate'
The following objects are masked from 'package:base':
    date, intersect, setdiff, union

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.