legacy-knowledge-base
公開されました Jul. 2, 2025

作成日や会員数などのサイト情報

投稿者

Kanchan Bisht

knowledge-article-header-disclaimer-how-to

knowledge-article-header-disclaimer

legacy-article

learn-legacy-article-disclaimer-text

問題

  • 要件は、すべてのサイトの名前、作成日、およびメンバーのリストを取得することです。 Liferay コントロール パネルからのショートカットがある場合は?

Environment

  • Liferay DXP 7.0

解決策

  • 現在、これを実現する OOTB 機能はありません。
  • ただし、以下は、これらの詳細を取得するために使用できる groovy スクリプトです。
    • import com.liferay.portal.kernel.service.GroupLocalServiceUtil;
      import com.liferay.portal.kernel.service.LayoutSetLocalServiceUtil;
      import com.liferay.portal.kernel.service.UserLocalServiceUtil;
      import com.liferay.portal.kernel.model.Group;
      import com.liferay.portal.kernel.model.LayoutSet;
      import com.liferay.portal.kernel.model.User;
      import java.util.Date;

      //populate a list with all the sites
      List < Group > groups = GroupLocalServiceUtil.getGroups(-1, -1);

      for (group in groups) {
      //fetch the groupId
      long groupId = group.getGroupId();

      //we need to use the LayoutSet's create date to find out when the site was created as there's no create date for groups
      LayoutSet sitePublicLayoutSet = LayoutSetLocalServiceUtil.getLayoutSet(groupId, false);
      Date siteCreationDate = sitePublicLayoutSet.getCreateDate();

      //get the name of the site
      String name = group.getGroupKey();

      //get the users that belong to the site
      List < User > groupUsers = UserLocalServiceUtil.getGroupUsers(groupId);

      //we only need those sites to which users are added (although the creator user will always be added) and when the group is really a site.
      if (groupUsers.size() > 0) {
      if (group.isSite()) {
      out.println("This site is called " + name + " and was created on: " + siteCreationDate + "\n");
      out.println("users added to this site can be found below:")
      }


      for (groupUser in groupUsers) {
      String screenName = groupUser.getScreenName();
      out.println(screenName);
      }

      out.println("______________________________________________________________________________________________________" + "\n");
      }
      }
      スクリーンショット__172_.png

追加情報

  • スクリプトを実行するには、 管理者 > コントロール パネル > サーバー管理 > スクリプト タブに移動します。
  • ユーザーが一度に 1 つの特定のグループについてのみこれらの詳細を必要とする場合は、必要に応じて groovy スクリプトを変更し、すべてのグループを反復処理する代わりに、1 つの特定の groupId を使用できます。
  • 「グローバル サービス チーム」 と呼ばれる別のチャネルがあり、これに関するさらなる支援を提供しています。
did-this-article-resolve-your-issue

legacy-knowledge-base