View Javadoc
1   package org.argeo.people;
2   
3   import org.argeo.naming.LdapAttrs;
4   
5   /** People specific JCR names. */
6   public interface PeopleNames {
7   
8   	String PEOPLE_PAYMENT_ACCOUNTS = "paymentAccounts";
9   	String PEOPLE_CONTACTS = "contacts";
10  	// For groups, job and mailing lists.
11  	String PEOPLE_MEMBERS = "members";
12  	String PEOPLE_JOBS = "positions";
13  
14  	// Reference an other entity using the business specific UID
15  	String PEOPLE_REF_UID = "people:refUid";
16  	String PEOPLE_REF_TITLE = "people:refTitle";
17  
18  	// Primary flag
19  	String PEOPLE_IS_PRIMARY = "people:isPrimary";
20  
21  	// Contactable
22  	String PEOPLE_MAILING_LISTS = "people:mailingLists";
23  	String PEOPLE_UNSUBSCRIBED_MAILING_LISTS = "people:unsubscribedMailingLists";
24  
25  	// Persons
26  	String PEOPLE_FIRST_NAME = LdapAttrs.givenName.property();
27  	String PEOPLE_LAST_NAME = LdapAttrs.sn.property();
28  	String PEOPLE_PRIMARY_EMAIL = LdapAttrs.mail.property();
29  	String PEOPLE_HONORIFIC_TITLE = LdapAttrs.title.property();
30  	String PEOPLE_NAME_SUFFIX = LdapAttrs.generationQualifier.property();
31  	String PEOPLE_DISPLAY_NAME = LdapAttrs.displayName.property();
32  
33  	String PEOPLE_MIDDLE_NAME = "people:middleName";
34  	String PEOPLE_BIRTH_DATE = "people:birthDate";
35  	String PEOPLE_SALUTATION = "people:salutation";
36  	String PEOPLE_GENDER = "people:gender";
37  	String PEOPLE_NICKNAME = "people:nickname";
38  	String PEOPLE_MAIDEN_NAME = "people:maidenName";
39  	String PEOPLE_LATIN_PHONETIC_SPELLING = "people:latinPhoneticSpelling";
40  	String PEOPLE_USE_POLITE_FORM = "people:usePoliteForm"; // (BOOLEAN)
41  	String PEOPLE_SPOKEN_LANGUAGES = "people:preferredLanguages"; // *
42  
43  	/* ORGANIZATIONS */
44  	String PEOPLE_LEGAL_NAME = LdapAttrs.cn.property();
45  	String PEOPLE_LEGAL_FORM = "people:legalForm";
46  	String PEOPLE_VAT_ID_NB = "people:vatIdNb";
47  
48  	// In people we use following properties to store primary contact info and
49  	// ease querying
50  	String PEOPLE_PPOSTAL_ADDRESS = LdapAttrs.postalAddress.property();
51  	String PEOPLE_PMOBILE = LdapAttrs.mobile.property();
52  	String PEOPLE_PTELEPHONE_NUMBER = LdapAttrs.telephoneNumber.property();
53  	String PEOPLE_PMAIL = LdapAttrs.mail.property();
54  	String PEOPLE_PURL = LdapAttrs.associatedDomain.property();
55  
56  	String PEOPLE_PORG = "people:cachePOrg";
57  
58  	/* CONTACTS */
59  	String PEOPLE_CONTACT_VALUE = "people:contactValue";
60  	// String PEOPLE_CONTACT_NATURE = "people:contactNature"; // Pro or private
61  	// String PEOPLE_CONTACT_CATEGORY = "people:contactCategory";
62  	// String PEOPLE_CONTACT_LABEL = "people:contactLabel";
63  	// String PEOPLE_CONTACT_URI = "people:contactUri";
64  
65  	// Phone: enable display of current time for this time zone
66  	String PEOPLE_TIME_ZONE = "people:timeZone";
67  
68  	// Postal Address
69  	String PEOPLE_STREET = LdapAttrs.street.property();
70  	String PEOPLE_ZIP_CODE = LdapAttrs.postalCode.property();
71  	String PEOPLE_CITY = LdapAttrs.l.property();
72  	String PEOPLE_STATE = LdapAttrs.st.property();
73  	String PEOPLE_COUNTRY = LdapAttrs.c.property();
74  	String PEOPLE_STREET_COMPLEMENT = "people:streetComplement";
75  	String PEOPLE_GEOPOINT = "people:geoPoint";
76  
77  	String[] PEOPLE_POSTAL_ADDRESS_PROPS = { PEOPLE_STREET, PEOPLE_STREET_COMPLEMENT, PEOPLE_ZIP_CODE, PEOPLE_CITY,
78  			PEOPLE_STATE, PEOPLE_COUNTRY, PEOPLE_GEOPOINT };
79  
80  	// Groups and jobs
81  	// An optional department within the org for the current position
82  	String PEOPLE_DEPARTMENT = "people:department";
83  	// Nature of the participation of the given entity in a group
84  	String PEOPLE_ROLE = "people:role";
85  	// String PEOPLE_POSITION = "people:position";
86  	String PEOPLE_IS_CURRENT = "people:isCurrent";
87  	String PEOPLE_DATE_BEGIN = "people:dateBegin";
88  	String PEOPLE_DATE_END = "people:dateEnd";
89  
90  	// An additional reference to an organisation when needed
91  	// For instance for contacts or mailing list items
92  	String PEOPLE_ORG_REF_UID = "people:orgRefUid";
93  
94  	// Bank account
95  	String PEOPLE_BANK_NAME = "people:bankName";
96  	String PEOPLE_CURRENCY = "people:currency";
97  	// To be used while passing transaction orders
98  	String PEOPLE_ACCOUNT_HOLDER = "people:accountHolder";
99  	String PEOPLE_ACCOUNT_NB = "people:accountNb";
100 	String PEOPLE_BANK_NB = "people:bankNb";
101 	String PEOPLE_IBAN = "people:iban";
102 	String PEOPLE_BIC = "people:bic";
103 
104 	/* MISCENELLANEOUS */
105 	String PEOPLE_ALT_LANGS = "people:altLangs";
106 	String PEOPLE_USERNAME = "people:username";
107 
108 	// LEGACY: TODO remove
109 
110 	// String PEOPLE_TITLES = "people:titles";
111 	// String PEOPLE_LANG = "people:lang";
112 	// String PEOPLE_PICTURE = "people:picture";
113 
114 	/**
115 	 * An implementation specific UID, might be a JCR node Identifier but it is not
116 	 * compulsory We personally use the type 4 (pseudo randomly generated) UUID - we
117 	 * retrieve them simply in java with this method
118 	 * <code>UUID.randomUUID().toString()</code> Class 3 UUID of the distinguished
119 	 * name in UTF-8
120 	 */
121 	// String PEOPLE_UID = "people:uid";
122 
123 	// A default Node at the root of the business path to store information
124 	// about current instance of the People repository
125 	// TODO replace by config management
126 	// String PEOPLE_CONF = "conf";
127 
128 	// Enable synchronisation with third party systems
129 	// String PEOPLE_EXTERNAL_IDS = "people:externalIds";
130 
131 }