Wiki source code of User Profile Fields Manager

Last modified by Vincent Massol on 2024/11/19 16:13

Show last authors
1 = Admin / User Fields Manager =
2
3 * [[XWiki's Standard Fields>>UserProfileFieldsManager#HXWikisStandardFields]]
4 * Fields Manager
5 ** [[Add Field>>UserProfileFieldsManager#HFieldsManagerAdd]]
6 *** [[Proposal 1>>UserProfileFieldsManager#HAddFieldLayoutProposal1SeparatePreview]]
7 *** [[Proposal 2>>UserProfileFieldsManager#HAddFieldLayoutProposal2IntegratedBeforeSubmitPreview]]
8 *** [[Proposal 3>>UserProfileFieldsManager#HAddFieldLayoutProposal3IntegratedAfterSubmitPreview]]
9 ** [[Custom Fields>>UserProfileFieldsManager#HCustomCreatedFieldsEditProfileViewProfile]]
10 *** [[Predefined Fields>>UserProfileFieldsManager#HPredefinedFields]]
11 ** [[Fields Options>>UserProfileFieldsManager#HFieldsOptions]]
12 *** [[Private>>UserProfileFieldsManager#HPrivateFieldshoveractivestatekeepinprofilebutmakethemnonvisible]]
13 *** [[Move>>UserProfileFieldsManager#HMoveFieldshoverchangethefieldsorder]]
14 *** [[Delete>>UserProfileFieldsManager#HDeleteFieldshoverremovefromtheuserprofilelist]]
15
16 === Specifications ===
17
18 * make it easy to add custom user fields
19 * focus on really standard fields
20 * allow it to be easily customizable
21
22 = Proposal =
23
24 == XWiki's Standard Fields ==
25
26 Standard fields are directly connected to the Register fields
27
28 [[image:SimpleFields.png||style="margin-right: auto; margin-left: auto; display: block;"]]
29
30 == Fields Manager - Add ==
31
32 * "Add new field"
33 * "Add more fields ... "
34
35 [[image:AddFieldLocation.png||style="margin-right: auto; margin-left: auto; display: block;"]]
36
37 ==== Add Field Layout Proposal 1 - Separate Preview ====
38
39 [[image:LayoutProposal1.png||style="margin-right: auto; margin-left: auto; display: block;"]]
40
41 * Field Type:
42 ** Text
43 ** Textarea
44 ** Separator
45 ** [[image:PredefinedFields.png||style="vertical-align: top;"]]
46 * Field Icon:
47 ** [[image:FieldIcon.png||style="vertical-align: top;"]]
48
49 [[image:LayoutProposal1b.png||style="margin-right: auto; margin-left: auto; display: block;"]]
50
51 ==== Add Field Layout Proposal 2 - Integrated Before Submit Preview ====
52
53 [[image:LayoutProposal2.png||style="margin-right: auto; margin-left: auto; display: block;"]][[image:LayoutProposal2b.png||style="margin-right: auto; margin-left: auto; display: block;"]]
54
55 ==== Add Field Layout Proposal 3 - Integrated After Submit Preview ====
56
57 [[image:LayoutProposal3.png||style="margin-right: auto; margin-left: auto; display: block;"]]
58
59 [[image:LayoutProposal3b.png||style="margin-right: auto; margin-left: auto; display: block;"]]
60
61 == Custom Created Fields (Edit Profile | View Profile) ==
62
63 * Allows user to select the appropriate icon for the field using "Field Icon" [[image:FieldIcon.png||style="float: right; margin-left: 1em;"]]
64 ** examples:
65 *** Telephone field - Home, Company, Mobile, Fixed, Fax
66 *** Address field - Home addr, Company addr, geo location
67 *** Virtual items: email, links, feeds, web pages, calendars, attachments, photos, tags, etc
68
69 [[image:CustomCreatedFields.png||style="margin-right: auto; margin-left: auto; display: block;"]]
70
71 == Predefined Fields ==
72
73 * We could add support for predefined fields, like address, email, phones or links.
74 ** This is an easiest and rapid way to add complicated or custom groups of fields, like address, department info, person (title, fname, lname, birthday, etc) etc
75 * If we select a predefined field, the preview will show all components that field has.
76 ** The components that are not needed can be deleted afterwards.
77 * Predefined fields can have proper **validation**, acording to the selected type
78
79 [[image:PredefinedFields.png||style="margin-right: auto; margin-left: auto; display: block;"]]
80
81 Example: Address predefined fields
82
83 [[image:PredefinedAddress.png||style="margin-right: auto; margin-left: auto; display: block;"]]
84
85 == Fields Options ==
86
87 [[image:FieldsOptions.png||style="margin-right: auto; margin-left: auto; display: block;"]]
88
89 ==== Private Fields (hover + active state) - keep in profile, but make them non visible ====
90
91 Hide all profile information? Private / public fields
92
93 [[image:PrivateFields.png||style="margin-right: auto; margin-left: auto; display: block;"]]
94
95 ==== Move Fields (hover) - change the fields order ====
96
97 [[image:MoveOption.png||style="margin-right: auto; margin-left: auto; display: block;"]]
98
99 ==== Delete Fields (hover) - remove from the user profile list ====
100
101 [[image:DeleteOption.png||style="margin-right: auto; margin-left: auto; display: block;"]]
102
103 == Other Ideas ==
104
105 * edit field? or just add-delete-move
106 * when adding a link field type - show the file type icon (pdf, png, html, etc)

Get Connected