Aipo でユーザー毎のアプリ利用状況を調べる

イベントログを検索して、ユーザー毎のアプリ利用状況を調べる方法です。 以下の場合は主要機能をどのくらい触ったかが調べられます。

  protected int getActionCount(Integer userId) {
    SelectQuery<EipTEventlog> query = Database.query(EipTEventlog.class);
    List<Integer> actions = new ArrayList<Integer>();
    actions.add(ALEventlogConstants.PORTLET_TYPE_SCHEDULE);
    actions.add(ALEventlogConstants.PORTLET_TYPE_TIMELINE);
    actions.add(ALEventlogConstants.PORTLET_TYPE_ADDRESSBOOK);
    actions.add(ALEventlogConstants.PORTLET_TYPE_BLOG_ENTRY);
    actions.add(ALEventlogConstants.PORTLET_TYPE_CABINET_FILE);
    actions.add(ALEventlogConstants.PORTLET_TYPE_EXTTIMECARD);
    actions.add(ALEventlogConstants.PORTLET_TYPE_MSGBOARD_TOPIC);
    actions.add(ALEventlogConstants.PORTLET_TYPE_NONE);
    actions.add(ALEventlogConstants.PORTLET_TYPE_REPORT);
    actions.add(ALEventlogConstants.PORTLET_TYPE_TODO);
    actions.add(ALEventlogConstants.PORTLET_TYPE_WEBMAIL);
    actions.add(ALEventlogConstants.PORTLET_TYPE_WORKFLOW);
    query.where(Operations.in(EipTEventlog.PORTLET_TYPE_PROPERTY, actions));
    query.where(Operations.eq(EipTEventlog.TURBINE_USER_PROPERTY, userId));
    return query.getCount();
  }