Jello framework

A Jello based application is essentially a web application running in a GAE JAVA servlet container. App Engine invokes your app's Jello servlet classes to handle requests.

You develop your application in Eclipse, using the Google Plugin and the Jello Plugin. Your application code is analyzed by Jello's annotation processor and the the JDO builder and gets ready to run.

As a GAE web application, Jello leverages all App Engine services and they are all available to you, including the Local Development Server and the App engine dashboard.


Create new Jello Entity

You can use Jello » Jello New Entity wizard to generate the entity Java class and set the entity's access privileges.

new entity wizard

Add a new field

You can use Jello » Add new Field wizard to add fields to your entities.

new entity wizard

This section is optional.

You can modify aspects of Jello runtime behavior in the application configuration file:

<project-root> » war » WEB_INF » web.xml or app.yaml

If your project contains the app.yaml file, it will generate the app.xml file.


Application Cache

Read more in Performance guide- Jello cache.


Application search index

Read more in Entity definition guide- search index.


Concurrency control and ETags

More details coming soon


License and REST copyright text

More details coming soon


app.yaml

    # Jello
  - url: /jello/*
    servlet: jello.JelloServlet
    name: Jello
    init_params:
      #jello.cache.active: true
      jello.cache.flushOnDeploy: false
      jello.cache.validTimeSeconds: 3600
      jello.license.key: <jello-license-key>
      jello.copyright.text: <optional-custom-copyright-text>
      jello.search.enabledByDefault: true
      jello.concurrency.serveEtag: true
      jello.concurrency.enforceEtag: false

web.xml

  <servlet>
    <servlet-name>Jello</servlet-name>
    <servlet-class>jello.JelloServlet</servlet-class>
    <init-param>
      <param-name>jello.cache.flushOnDeploy</param-name>
      <param-value>false</param-value>
    </init-param>
    <init-param>
      <param-name>jello.cache.validTimeSeconds</param-name>
      <param-value>3600</param-value>
    </init-param>
    <init-param>
      <param-name>jello.concurrency.enforceEtag</param-name>
      <param-value>false</param-value>
    </init-param>
    <init-param>
      <param-name>jello.concurrency.serveEtag</param-name>
      <param-value>true</param-value>
    </init-param>
    <init-param>
      <param-name>jello.copyright.text</param-name>
      <param-value>optional-custom-copyright-text</param-value>
    </init-param>
    <init-param>
      <param-name>jello.license.key</param-name>
      <param-value>jello-license-key-value</param-value>
    </init-param>
    <init-param>
      <param-name>jello.search.enabledByDefault</param-name>
      <param-value>true</param-value>
    </init-param>
  </servlet>


More details coming soon.

Last updated May 17, 2016.