My First Web Application Mark 1

Full code for MyFirstWebApplication, mark1.

    application org.webdsl.myfirstwebapp.mark1

    description {
      A community site about research.
    }

    section data model

      entity Publication {
        title     :: String (name)
        authors   -> List<Person> (inverse=Person.publications)
        abstract  :: Text
        published :: Date
        url       :: URL
      }

      entity Person {
        fullname     :: String (name)
        homepage     :: URL   (optional)
        email        :: Email (optional)
        address      <> Address 
        publications -> Set<Publication> 
      }

      entity Address {
        street  :: String
        city    :: String
        country :: String
        phone   :: String
      }

    section templates 

      define main() 
      { 
        body() manageMenu()
      }

      define page home() { main() }

      define body() {}
      define manageMenu() {}