Brainstorming_HostingDesigns

MarcusWolschon edited this page Jan 17, 2013 · 19 revisions

<<Back to Brainstorming

Where to host our user-uploaded designs as well as their images?

requirements

  • scalable

hosting provider choices

host ourself

host the content ourself. On the same server as the homeprototype-website.

pro:

  • will not be gone (e.g. if GitHub decides it doesn't want thousands of small user-designs as projects)
  • Could use php-git2 for a local git based versioning of designs
  • a local git based storage could be swapped for a remote git repository on a per-project basis.
  • ... contra:
  • can get very expensive in terms of hosting fees as well as administrator time.

github

Let users create one github-project per design and link that. Probably use the [Githubiverse] (http://garyhodgson.com/reprap/2012/09/githubiverse-a-github-pages-template-for-3d-printing-projects/) github-page template as a base

discussion of how to use remote git repositories for storage

pro:

  • There is an API (e.g. used by Githubiverse)
  • Has an API with many language bindings
  • ...

contra:

  • "Repo explosion" - may be gone if github doesn't want this kind of content to use up it's resources.
  • ...

federated hosting with MediaGoblin

We could provide a ready to run virtual machine with OpenStack for people to contribute space and bandwidth on servers. The existing replication in Swift coult take care of servers going down. This would leave us with just the hosting cost and maintenance of the main web-server hosting the site itself, the index of all designs, comments, user-accounts,... but not the large designs and images. It could be hosted in Amazon S3 and we can try to pay for that part via ads handed by a legal entity or a private person willing to do so.

pro:

  • federated storage - could work using OpenStack. Storage servers require a file system with extended attributes switched on.
  • "3D models support (preview and renderization ) was added on 22 October 2012"
  • theming support
  • already translated
  • ...

contra:

  • "GNU MediaGoblin is fairly new and so at the time of writing,
  • ...

...

<< add more here

vote

<<<later

design decision


hosting software choices=

git

Store all files making up a user's design in a git repository.

pro:

  • versioning, forking, branching, tagging
  • Git is exposed for awesome people to fiddle with git like you would normally.
  • Everything git will be accessible through an idiotproof web interface too. If you don't look for git, you won't notice it. (eg: gists, https://github.com/github/gollum)
  • Allow hooking into existing github repositories, so items already created can be easily imported, and continue tracking the external git repo (should be easy, just a git pull)
  • ... contra:
  • ...

...

<< add more here

vote

<<<later

design decision

<<<vote result