Skip to content

Discussion: Announcements #46

Open
@ben9583

Description

One of the features we'd like to have on the new site is a page that has OCF announcements for events like if the lab is going to be closed/have different hours for a certain day, printing being down, an OCF event is happening, etc. The frontend currently polls from status.ocf.berkeley.edu, but this is infrequently updated and pretty much only updates when there is a mirror desync event. It may be good to explore some alternative solutions.

I think there are a few ways to go about this:

  • We can stick with using status.ocf.berkeley.edu and include other relevant events. We could also categorize these kinds of events so that less relevant issues like mirror issues don't show up on the homepage. I'm less supportive of this because I feel like status.ocf.berkeley.edu has taken on a purpose for exclusively reporting on the status of our mirrors, which has a pretty disjoint audience from those who browse our website. Furthermore, changing the schema of status.ocf.berkeley.edu may break current subscribers of the service, which is far from ideal.
  • We can use a method that exists exclusively in ocfstatic. For instance, we could have a section of the project structure dedicated to announcements and then build the site to reference these files. This would contain announcements to the new site and may make it easier to coordinate development, and it would mean that adding an announcement would be just a pull request to ocfstatic. However, I'm also not inclined to support this solution because feels wrong to entangle these two responsibilities (building a frontend website and hosting announcements) for no good reason. Sure it makes things easier from a development aspect, but it means that announcements have to get approved in a PR to the website. It also means that other OCF services cannot easily access these announcements unless we created also an RSS feed in ocfstatic, which feels like a solution to a problem that didn't need to exist in the first place.
  • Lastly, we could add announcements to the backend infrastructure, either in ocf/etc or a separate repo entirely. We could then make an update to ocflib to get this information and then create an API endpoint to retrieve this information. This would make the announcements separate from the web frontend and ocfstatic can just call the API to retrieve the latest announcements. It would also mean that adding an announcement and updating the website have separate CI/CD flows and we wouldn't have to build the website everytime we make an announcement. This is the solution that I currently support, but it would be quite a bit of work to create this backend.

I'm putting this discussion in the API issues because I think this is the team that would best equipped to do the latter solution, but I want to gauge what the team thinks and check to see if the bandwidth to do this exists in the first place. It would mean either creating a new repository or making a major change to ocf/etc, updating ocflib, and creating the relevant API endpoints. Again, I think this would be a good idea if we can get it done, but if either of the other two solutions or something else altogether seems more sensible, I'd be open to hearing these out as well.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Labels

enhancementNew feature or requesthelp wantedExtra attention is neededquestionFurther information is requested

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions