campadrenalin / contentgremlin Goto Github PK
View Code? Open in Web Editor NEWA GNU Mediagoblin alternative written in Go for speed, reliability, and clean upgrades/architecture
License: GNU Affero General Public License v3.0
A GNU Mediagoblin alternative written in Go for speed, reliability, and clean upgrades/architecture
License: GNU Affero General Public License v3.0
Create a 'task' abstraction that allows us to track file creation processes. Start with just upload. Should have progress reporting.
We should do the right thing when:
This might be tricky to test, but I'm sure we can mock our way to victory.
Should be fairly placeholder, include an 'upload' button, etc.
This is quite cosmetic, but will be important someday. Sooner for some users than others.
Store all images in a lossless format, but with a max resolution.
Allow owners to store and edit metadata, like description, title, license, etc.
We'll want to support Persona login for anyone with an email address, even if they don't already have an account. We'll want to think how to expose auth plugins to the UI, since they need to be able to create new accounts, not just authenticate existing ones.
We want to be able to upload files via forms. AJAX will be a separate ticket.
We're competing (in a friendly way) with Mediagoblin, which means that on mascot turf, we have to compete with Gavroche. Tough act to follow, especially since we're already walking the line of derivative concepts. I do have some skills with Inkscape, we really just need some good concept art, and a little time investment on my part to vectorize the new mascot/logo.
Should contain 'db.sqlite' and 'contents' dir.
Allow people to comment on media.
Create a tasks AJAX call that can be used to track all uploads and transcodes from any tab. Transcodes themselves may not be available yet.
Use go-bindata to host static files, using the standard production/debug dichotomy. This allows quick development, but makes it easier/more self-contained to revert versions of the static filesystem in a production rollback.
Include iframes fallback stuff, using the same stack as photo uploads at Inspire.
Include transcode progress via ffmpeg
Support locking the old process into read-only mode, cloning and upgrading the DB, shutting down the old process, moving the old db to a backup location, moving the new db in, and starting up from the old process.
Will handle task persistence in another ticket.
Should use 3 tables: users, display_names, and authenticators. In most cases, authenticators will be scrypt-hashed passwords.
Yes, we also need auth plugins.
Support uploading images. This will require creating the plugin infrastructure, which recognizes image types, and rejects unknown types. Do not attempt any transcoding yet.
Much more complex than Persona, so much less of a priority.
Media plugins should also provide a UI, which we can use to see the media.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.