docs: function renderSideview(appName, initialModel, routeInfo) {
  
      if ( !routeInfo.hasSideview ) {
          return new Q('');
      }
  
      var sideviewName = routeInfo.sideview || 'default';
      var sideview = this.pancakes.cook('app/' + appName + '/partials/' + appName +
                                          '.sideview.' + sideviewName + '.partial');
      var me = this;
  
      var user = initialModel && initialModel.user;
      var activeUser = user ? {
          _id: user._id,
          name: user.username,
          role: user.role,
          user: user
      } : {};
  
      var modelDeps = {
          currentScope:   sideview.defaults || {},
          initialModel:   initialModel,
          routeInfo:      routeInfo,
          activeUser:     activeUser
      };
  
      // call the sideview model allowing it to make another database call
      return Q.when(this.pancakes.cook(sideview.model, { dependencies: modelDeps }))
          .then(function (model) {
  
              // this is similar to both jng.pages renderPage() and jng.directives
              // as well as ng.uipart.template (for client side pages and partials)
              me.attachToScope(model, sideview.attachToScope);
  
              // generate the partial view
              var viewDeps = { model: model, subviews: me.getSubviews(sideview.subviews) };
              _.extend(viewDeps, me.getJangularDeps());
              var view = me.pancakes.cook(sideview.view, { dependencies: viewDeps });
              return jangular.render(view, model, { strip: routeInfo.strip });
          });
  }