Giter Site home page Giter Site logo

sirikata-cdn's Introduction

What is Sirikata?
-----------------
Sirikata is a BSD licensed open source platform for games and virtual
worlds. We aim to provide a set of libraries and protocols which can
be used to deploy a virtual world, as well as fully featured sample
implementations of services for hosting and deploying these worlds.

Where can I find out more?
--------------------------
The most up to date information can always be found at
http://www.sirikata.com.  The source code is available from GitHub at
http://github.com/sirikata/sirikata/.

sirikata-cdn's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sirikata-cdn's Issues

Tags entered when uploading aren't saved

I just uploaded some files and tried to enter tags when I was setting the name and description, but when I visit the page for the model, it says there aren't any labels.

Include subfile hashes with name lookup

We currently get subfiles in headers, e.g.,

Subfile-Name: foo.jpg
Subfile-Path: /user/model/foo.jpg

Most of the time we're just going to download these anyway, so it would be nice to get all the hashes as well, e.g.,

Subfile-Hash: abcd6543

Especially when content is already cached, this could greatly speed up the client as it has to do many thousands of name lookups for dependent textures. Each of these is relatively quick, but we could entirely remove that overhead. It would probably be better for the CDN servers as well since they'll get far fewer http requests.

Add /api/upload method

We need to be able to upload via the API for automatically generated meshes, like aggregates from the space server.

Error setting up Cassandra schema

When doing a fresh install, I run

python sirikata-cdn/manage.py sync_cassandra

to setup the schema and get:

Traceback (most recent call last):
  File "sirikata-cdn/manage.py", line 11, in <module>
    execute_manager(settings)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 191, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 220, in execute
    output = self.handle(*args, **options)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 351, in handle
    return self.handle_noargs(**options)
  File "/home/ewencp/sirikata-cdn.git/sirikata-cdn/cassandra_storage/management/commands/sync_cassandra.py", line 32, in handle_noargs
    strategy_options=settings.CASSANDRA_STRATEGY_OPTIONS)
TypeError: create_keyspace() got an unexpected keyword argument 'replication_factor'

Looking at pycassa docs, it looks like that should be in an 'strategy_options' parameter, but I don't know pycassa/cassandra well enough to say if that's the right fix & check that it works.

Audio support

This would involve adding audio files into the Names table under type=audio, and then making import_upload and place_upload detect audio files.

Add flag(s) to make model non-browsable, transient

Content which is dynamically generated, like aggregate meshes from the space server, are likely transient and almost certainly not usable by regular users. We need some flags which disable displaying these models when browsing the CDN (in a browser or by API). This same flag or another might also indicate that the data is transient -- it'll likely become invalid.

Faulty ephemeral uploads staying seemingly forever

Uploaded ephemeral meshes, for which the upload process does not complete successfully, seem to stay in my pending upload queue forever. See, for example, the list of pending uploads under my account on singular.stanford.edu. The process did not complete for these meshes because of the bug in sirikata, where a "Content-Length" header in the response was deemed an error condition.

Add keep-alive call + garbage collection

For transient data, we probably want some sort of keep alive call or a timeout to indicate when the data becomes invalid. As a result, we'll be able to garbage collect that data periodically (or as soon as the individual asset goes past its expiration). This will be necessary as models from the space server can become an extra storage burden.

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.