public function onLaunch()
    {
        $this->initSession();

        /* blindly copied from Vickers' Rating demo app */
        $_SESSION[__CLASS__] = [
            'consumer_key' => $this->consumer->getKey(),
            'resource_id' => $this->resource_link->getId(),
            'user_consumer_key' => $this->user->getResourceLink()->getConsumer()->getKey(),
            'user_id' => $this->user->getId(),
            'isStudent' => $this->user->isLearner(),
            'isContentItem' => false
        ];

        /* store Canvas settings */
        if (!empty($this->user)) {
            foreach ($this->user->getResourceLink()->settings as $key => $value) {
                $_SESSION[__CLASS__]['canvas'][str_replace('custom_canvas_', '', $key)] = $value;
            }
        }

        $this->redirectURL = $this->assignRedirect('launch');
    }