docs: @RequestMapping(value = "/portlets.json", method = RequestMethod.GET)
      public ModelAndView getManageablePortlets(
              HttpServletRequest request, HttpServletResponse response) throws Exception {
          // get a list of all channels
          List<IPortletDefinition> allPortlets = portletDefinitionRegistry.getAllPortletDefinitions();
          IAuthorizationPrincipal ap = getAuthorizationPrincipal(request);
  
          List<PortletTuple> rslt = new ArrayList<PortletTuple>();
          for (IPortletDefinition pdef : allPortlets) {
              if (ap.canManage(pdef.getPortletDefinitionId().getStringId())) {
                  rslt.add(new PortletTuple(pdef));
              }
          }
  
          return new ModelAndView("json", "portlets", rslt);
      }