Code Monkey home page Code Monkey logo

kerckhoff's People

Contributors

azure-pipelines[bot] avatar changyang-liu avatar dumbooctopus avatar hongee avatar hwhong avatar kaileymonn avatar matthewyu01 avatar nathanmsmith avatar parth7600 avatar pyup-bot avatar randomy-2 avatar reginawang3495 avatar rohanator9000 avatar tiyingxu avatar zhangjuliet avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

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

Forkers

nelsonlu21

kerckhoff's Issues

Missing webpack-stats on setup?

Tried setting up Kerckhoff for the first time and I got this error after running docker-compose up:
screen shot 2018-05-31 at 10 11 25 am

I noticed that webpack-stats.json is in both .gitignore and .dockerignore. I'm not familiar with it, but I would assume that it needs to be autogenerated by webpack? Why then was it not autogenerated on my machine during setup? I'm guessing what's happening is it's looking for webpack-stats.json before webpack runs?

Video Upload and Streaming

For this flatpage, external sites needed to upload a video to s3. They requested a way for kerckhoff to upload videos to s3, similar to how it does for images.

The one difference is that the video should be "streamable". I believe in s3, there should be an option called publically playable which should allow video streaming. But I haven't looked into this.

Switch out YAML in frontmatter

YAML is hard to write for non-technical people, and is prone to parsing errors that are hard to debug and track down.

Short term solution: Use AML to parse frontmatter
Long term solution: Enforce and extend metadata schemas on PackageSet level

Thanks @yyc for the suggestion!

caching asset hashes

right now assets are downloaded before we calculate a MD5 to determine if they have changed which is not cheap on bandwidth. one idea is to create a .kerckhoff-meta to keep track of this in the google drive, and the api also offers some interesting metadata extensions to make this easier.


Turns out google drive store last edited values - we should use those

process image one by one

currently, images are all kept in memory, so if you process a lot of images at the same time, the server just crashes. you should refactor this so only a few images are kept in memory and others are in disk. so we won't encounter out of memory issues.

Parsing error to generate ID from new package set

Description

When generating a "Drive folder id" from a "Drive folder url," the current parser does not handle the ?open or ?share sections of the Google Sharing URL properly and they get put into the ID.

fix the ArchieML parser

the current library we're using for parsing AML doesn't handle a number of edge cases properly. the spec for archieml is actually rather straightforward and it might actually be helpful to write a parser ourselves using something like https://github.com/dabeaz/sly or ply

Add a readme?

This is cool and I want to contribute but I don't know how ๐Ÿ˜ข. Can you add a readme with details on how to get this set up on my computer?

Kerckhoff Build hook

The build hook should trigger be able to call some api endpoint whenever the AML changes.

The purpose of it is to rebuild static site pages whenever the data changes. As of now, the static sites just fetch from kerckhoff every time the user loads them. However, if we build the static sites with the data, the frontend would not have to do a fetch and the page would load faster and be more efficient overall. And even if kerckhoff crashes, the static site will still work.

his is something experiemental we were thinking for design.dailybruin.com

implement file upload

Tasks

  • implement S3 API
  • grab the necessary keys in upload UI
  • get barebones uploading to work

[Django] Image is sometimes thought to be uploaded even though it isn't

What shows up on user side:

They put a photo in google drive but it never shows up on kerckhoff.dailybruin.com

In the rancher logs, it prints these lines, even for the photos which aren't showed to be uploaded in kerckhoff.dailybruin.com:

4/28/2021 7:21:46 PM2021-04-29 02:21:46,031 kerckhoff    INFO     BakurMadini.jpg has not been modified since last fetch.
4/28/2021 7:21:46 PM2021-04-29 02:21:46,031 kerckhoff    INFO     CarlKing.jpg has not been modified since last fetch.
4/28/2021 7:21:46 PM2021-04-29 02:21:46,034 kerckhoff    INFO     BrandonMcLelland.jpg has not been modified since last fetch.
4/28/2021 7:21:46 PM2021-04-29 02:21:46,034 kerckhoff    INFO     AngelinaQuint.jpg has not been modified since last fetch.
4/28/2021 7:21:46 PM2021-04-29 02:21:46,034 kerckhoff    INFO     AngelinaQuint.jpg has not been modified since last fetch.
4/28/2021 7:21:46 PM2021-04-29 02:21:46,035 kerckhoff    INFO     ArtharvaKulkarni.jpg has not been modified since last fetch.

Have Kerkchoff package files be owned by an admin Gmail

Right now, the files in the Kerckhoff Google Drive are owned by whoever created the package. However, when they leave, the media emails get deleted, so these files are lost. Using an admin email to create these files would prevent this issue.

Add celery or other task scheduler to reduce peak cpu usage

Currently, if a lot of packaging requests are sent to Kerkhoff, the peak CPU usage exceeds Kubernetes resource limit as in last night, which causes worker timeout:

Screen Shot 2022-11-29 at 1 15 15 PM

We can add a task scheduler so large packaging such as for prime can be done asynchronously and can improve our availability.

Also #82 is needed. Currently, if a fetch fails, we cannot re-fetch it easily.

Progress bar/message on fetch

Some packages take very long to fetch, making it seem like the fetch has failed even though it's still going on. Add a progress bar, or maybe something that indicates the progress of the fetch (e.g. fetching image 1 of 4) on the frontend so that the user knows not to refresh the page.

In the same vein as #82 (issues with slow/failing fetches)

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.