2

I'm trying to create a KhanAcademy (KA) clone on Google App Engine (GAE). I downloaded the offline version of KA (http://code.google.com/p/khanacademy/downloads/list) for Mac, and set it up with GoogleAppEngineLauncher (https://developers.google.com/appengine/). Because KA was produced on Python 2.5, I have the setup running through the Python 2.5 included in the KA offline version download, and I added these extra flags to the app (to essentially duplicate the functionality of the included Run file):

--datastore_path=/Users/Tadas/KhanAcademy/code/datastore --use_sqlite

As is, GAELauncher is able to get that up and running perfectly fine on a localhost. However, to get it up on my Google appspot domain, I need to change the application name in app.yaml. When I change "application: khan-academy" in app.yaml to a new name and try to run the local version via GAELauncher (or the included Run file), the site comes up but all the content (exercises, etc.) has disappeared (essentially, the site loses most of its functionality). If I try to "Deploy" the app in this state, I received a 500 Server Error when I try to go on the appspot website. Any ideas as to what could be going wrong?

Thanks.

Tadas
  • 21
  • 2
  • A 500 server error is what your app sends to users when an uncaught exception is encountered. Check your app's logs to see what actually went wrong. – Nick Johnson May 18 '12 at 00:07

1 Answers1

3

The problem is that your 'clone' application does not have access to Khans Academy's AppEngine datastore so there is no content to display. Even if you do use all of the code for their application, you are still going to have to generate all of your own content.

Even if you are planning to 'clone' their content, too, you are going to have to do a lot of probably manual work to get it in to your application's datastore.

Adam Crossland
  • 14,198
  • 3
  • 44
  • 54
  • But if it works locally (with the application name as khan-academy), doesn't that mean all the content is present, just some link to it is broken when I change the name? Someone has done what I'm trying to do successfully - http://adamwulftestbed.appspot.com/ – Tadas May 17 '12 at 15:43
  • 1
    The name of the application is an intrinsic part of the keys, and has to be because of the way the datastore works on top of bigtable (you're essentially sharing a table with every application). – Wooble May 17 '12 at 15:46