Getting metadata for a person involves a number of API calls:
- PeopleApi.getPerson
- PeopleApi.getAvatarImage
- PreferencesApi.listPreferences
- PreferencesApi.getPreference
For more information about this ReST API endpoint, see Get Person Metadata.
For a description of the common parameters, such as fields, see Common Parameters.
import org.alfresco.core.handler.PeopleApi; import org.alfresco.core.handler.PreferencesApi; import org.alfresco.core.model.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.io.IOException; import java.util.List; @Component public class GetPersonMetadataCmd { static final Logger LOGGER = LoggerFactory.getLogger(GetPersonMetadataCmd.class); @Autowired PeopleApi peopleApi; @Autowired PreferencesApi preferencesApi; public void execute(String personId) throws IOException { Integer skipCount = 0; Integer maxItems = 100; List<String> fields = null; PersonEntry person = peopleApi.getPerson(personId, fields).getBody(); LOGGER.info("Got person metadata {}", person); PreferencePaging preferencePaging = preferencesApi.listPreferences(personId, skipCount, maxItems, fields).getBody(); LOGGER.info("Got person preferences:"); for (PreferenceEntry preferenceEntry: preferencePaging.getList().getEntries()) { LOGGER.info(" preference: {}", preferenceEntry.getEntry()); } } }
Executing this code will list the metadata for the user including any preferences. In the following example we list metadata for the out-of-the-box user abeecher:
% java -jar target/rest-api-0.0.1-SNAPSHOT.jar get-person-metadata abeecher 2021-05-05 16:06:50.550 INFO 22610 --- [ main] o.a.tutorial.restapi.RestApiApplication : Started RestApiApplication in 3.396 seconds (JVM running for 3.893) 2021-05-05 16:06:50.552 INFO 22610 --- [ main] o.a.tutorial.restapi.RestApiApplication : args[0]: get-person-metadata 2021-05-05 16:06:50.553 INFO 22610 --- [ main] o.a.tutorial.restapi.RestApiApplication : args[1]: abeecher 2021-05-05 16:06:50.787 INFO 22610 --- [ main] o.a.t.restapi.GetPersonMetadataCmd : Got person metadata class PersonEntry { entry: class Person { id: abeecher firstName: Alice lastName: Beecher displayName: Alice Beecher description: Alice is a demo user for the sample Alfresco Team site. avatarId: 198500fc-1e99-4f5f-8926-248cea433366 email: abeecher@example.com skypeId: abeecher googleId: null instantMessageId: null jobTitle: Graphic Designer location: Tilbury, UK company: class Company { organization: Moresby, Garland and Wedge address1: 200 Butterwick Street address2: Tilbury address3: UK postcode: ALF1 SAM1 telephone: null fax: null email: null } mobile: 0112211001100 telephone: 0112211001100 statusUpdatedAt: 2011-02-15T20:20:13.432Z userStatus: Helping to design the look and feel of the new web site enabled: false emailNotificationsEnabled: true aspectNames: null properties: null capabilities: class Capabilities { isAdmin: false isGuest: false isMutable: true } } } 2021-05-05 16:06:50.849 INFO 22610 --- [ main] o.a.t.restapi.GetPersonMetadataCmd : Got person preferences: 2021-05-05 16:06:50.849 INFO 22610 --- [ main] o.a.t.restapi.GetPersonMetadataCmd : preference: class Preference { id: org.alfresco.share.documentList.showFolders value: true } 2021-05-05 16:06:50.849 INFO 22610 --- [ main] o.a.t.restapi.GetPersonMetadataCmd : preference: class Preference { id: org.alfresco.share.documentList.simpleView value: false } 2021-05-05 16:06:50.849 INFO 22610 --- [ main] o.a.t.restapi.GetPersonMetadataCmd : preference: class Preference { id: org.alfresco.share.documentList.sortField value: cm:name } 2021-05-05 16:06:50.849 INFO 22610 --- [ main] o.a.t.restapi.GetPersonMetadataCmd : preference: class Preference { id: org.alfresco.share.documents.favourites value: workspace://SpacesStore/7c7bca1d-b65d-4444-9378-805b459fb74d,workspace://SpacesStore/b2f21ddd-0b0e-449f-bea9-a0be73e7d67b,workspace://SpacesStore/2cf35860-6705-42c3-b123-c4d6b39997b4,workspace://SpacesStore/7d90c94c-fcf7-4f79-9273-bd1352bbb612,workspace://SpacesStore/05dedd34-9d9d-48d9-9af6-c81b555541c9 } 2021-05-05 16:06:50.850 INFO 22610 --- [ main] o.a.t.restapi.GetPersonMetadataCmd : preference: class Preference { id: org.alfresco.share.sites.favourites.test value: true } 2021-05-05 16:06:50.850 INFO 22610 --- [ main] o.a.t.restapi.GetPersonMetadataCmd : preference: class Preference { id: org.alfresco.share.sites.recent._0 value: swsdp } 2021-05-05 16:06:50.850 INFO 22610 --- [ main] o.a.t.restapi.GetPersonMetadataCmd : preference: class Preference { id: org.alfresco.share.twisters.collapsed value: DocumentPermissions,DocumentWorkflows,DocumentLinks,DocumentActions }