@Override
  protected void event(UserRequest ureq, Controller source, Event event) {
    if (event instanceof OpenAuthorProfilEvent) {
      OpenAuthorProfilEvent uriEvent = (OpenAuthorProfilEvent) event;
      Long identityKey = uriEvent.getKey();
      if (identityKey == null) return;
      final Identity identity =
          BaseSecurityManager.getInstance().loadIdentityByKey(identityKey, false);
      if (identity == null) return;
      final HomePageConfig homePageConfig =
          HomePageConfigManagerImpl.getInstance().loadConfigFor(identity.getName());

      ControllerCreator ctrlCreator =
          new ControllerCreator() {
            public Controller createController(UserRequest lureq, WindowControl lwControl) {
              HomePageDisplayController homePageCtrl =
                  new HomePageDisplayController(lureq, lwControl, identity, homePageConfig);
              LayoutMain3ColsController layoutCtr =
                  new LayoutMain3ColsController(
                      lureq, lwControl, null, null, homePageCtrl.getInitialComponent(), null);
              // dispose glossary on layout dispose
              layoutCtr.addDisposableChildController(homePageCtrl);
              return layoutCtr;
            }
          };

      ControllerCreator layoutCtrlr =
          BaseFullWebappPopupLayoutFactory.createAuthMinimalPopupLayout(ureq, ctrlCreator);
      // open in new browser window
      openInNewBrowserWindow(ureq, layoutCtrlr);
      return; // immediate return after opening new browser window!
    } else {
      super.event(ureq, source, event);
    }
  }
 @Override
 protected void event(UserRequest ureq, Controller source, Event event) {
   if (recordingsCtrl == source) {
     cmc.deactivate();
     cleanUp();
   } else if (cmc == source) {
     cleanUp();
   }
   super.event(ureq, source, event);
 }
 @Override
 protected void event(UserRequest ureq, Controller source, Event event) {
   if (assessmentForm == source) {
     if (event instanceof AssessmentFormEvent) {
       AssessmentFormEvent afe = (AssessmentFormEvent) event;
       if (afe.isClose()) {
         stackPanel.popController(assessmentForm);
         fireEvent(ureq, Event.DONE_EVENT);
       } else {
         fireEvent(ureq, Event.CHANGED_EVENT);
       }
     } else if (event == Event.CANCELLED_EVENT) {
       stackPanel.popController(assessmentForm);
     }
   } else if (detailsCtrl == source) {
     if (event == Event.CHANGED_EVENT || event == Event.DONE_EVENT) {
       assessmentForm.reloadData();
       fireEvent(ureq, Event.CHANGED_EVENT);
     }
   }
   super.event(ureq, source, event);
 }