source: trunk/LATMOS-Accounts/man/man8/latmos-accounts-base-sql.pod @ 2156

Last change on this file since 2156 was 2156, checked in by nanardon, 6 years ago

Add an option 'endCircuitdontExpire' to disable endcircuit attribute behavior

File size: 8.9 KB
Line 
1# $Id$
2
3=head1 DESCRIPTION
4
5=head1 SPECIFIC SETUP PARAMTERS
6
7=head2 db_conn
8
9The C<libpq> connection parameters, eg a semin colon separated paramaters
10containing the server, the database name, user and password, etc...
11
12=head2 no_pg_utf8
13
14If set disable utf8 flags from postgresql. You can try this parameter if you
15have issue with non ascii value from database
16
17=head2 remove_old_dpmt
18
19By default when the department is changed on a user account it remains in the
20department group as a secondary department.
21
22Setting C<remove_old_dpmt> to true in the config will force user removal from
23the group when department is changed.
24The user can still be added back later.
25
26=head1 FEATURES
27
28=head2 Object Aliases
29
30It is possible to create object being simple alias to another, like symbolic on
31UNIX filesystem or mail alias.
32
33Thoses aliases objects are always resolved when propagating into other base.
34The referenced object can be easilly change and all the data related will be
35propagated.
36
37Only alias for object type C<User> are supported at time.
38
39=head3 Usage Example:
40
41The typical exemple is for attribute C<manager> or attribute C<managedBy>.
42Instead setting them to C<John> you can create an alias C<Director> and when
43C<John> leave just change alias reference to C<Bill>.
44
45=head2 Network managment
46
47Link::Accounts can build automatically some part of your DNS or DHCP
48configuration.
49
50To do this you have to create a C<netzone> object. Such object need a type:
51
52=over 4
53
54=item dns: to build a DNS zone for classic domain
55
56=item reverse: for reverse IP address (168.192.in-addr.arpa)
57
58=item dhcp: ISC dscpd configuration for fixed address
59
60=item puppet: puppet configuration
61
62=back
63
64The way it works is quite simple, each zone will make the code to write a file
65you can include in your server configuration. The match is done by looking the
66zone IP address masks and the host IPs.
67
68For example someone having a zone named C<private.mydomain.com> having masks
69C<192.168.5.0/24>, and having an host named C<foo> with IP C<192.168.5.3> and
70another host C<bar> with IP C<192.168.13.78>. The zone built will look likes:
71
72    foo IN A 192.168.5.3
73
74As you can see this DNS zone is not valid: the goal of such feature is to make
75the repetive work for us, not to manage the full zone (even such feature could
76be possible). The repetitive work is declaring the hundred computers our users
77have.
78
79The output will be happend to a template have the name of the zone suffixed by
80C<.in>. You can put in this template evering about the zone declaration (SOA,
81NS, TXT...).
82
83=head2 User endcircuit
84
85The C<endcircuit> attribute contain the deadline for people to make
86admnistrative task when starting to work.
87If set this attribute take precedence to C<expire> attribute for computed
88attributes (C<accountExpires> for Active Directory).
89
90Setting C<endCircuitdontExpire> option to the database disable this behavior and
91C<endcircuit> attribute become informationnal only.
92
93=head2 User Employment
94
95The employment object allow you to set time when you're user have a status. This
96allow through 'Employment' module for la-sync-manager to automate changes.
97
98The synchronized attributes are:
99
100=over 4
101
102=item C<company>
103
104=item C<employer>
105
106=item C<department>
107
108=item C<contratType>
109
110=item C<managerContact>
111
112=item C<expire>
113
114=item C<endcircuit>
115
116=back
117
118To avoid error when modifying user direclty when you're using employment those
119attribute become on user's side become read-only once an employment exists.
120
121You can change this beaviour using C<employment_lock_user> parameter:
122
123By default it is impossible to modify or create past employment. This behavior
124can be changed by settings C<allow_pasted_employment> parameter in base
125configuration.
126
127=over 4
128
129=item any (default)
130
131Any existing employment lock those attribute, you must
132create another employment to change user status or delete all employements for
133this user.
134
135=item always
136
137The user's attribute are always locked
138
139=item never
140
141The user's attribute are always locked
142
143=item active
144
145Thoses attributes are locked is any employment are still active (ie unfinished
146or coming later).
147
148=item attribute=value
149
150Thoses attributes are read-only if the C<attribute> given contains C<value>,
151C<*> allow to match any value.
152
153=back
154
155When active users become out of any employment all managed attribute are unset
156(except the expire attribute).
157
158A default value for each of this attribute can be set in configuration using
159parameter in form C<unemployment.ATTRIBUTE>. For example
160C<unemployment.contratType=external> will set any C<contratType> to C<external>
161when no employment apply to user anymore.
162
163Only active accounts are modified in this way.
164
165=head3 User endEmployment
166
167This attribute compute the next day the user will leave the company according
168the employment object registered.
169
170The parameter C<employment_delay> give the number of days to ignore when a hole
171exists between two employment.
172
173If no employment are found, if set the date given in C<unemployed_expire>
174database parameter is returned.
175
176=head3 User endStrictEmployment
177
178This attribute compute the next day the user will leave the company according
179the employment object registered.
180
181It does not take C<employment_delay> parameter into account.
182
183If no employment are found, if set the date given in C<unemployed_expire>
184database parameter is returned.
185
186=head3 User endLastEmployment
187
188This attribute return the very last end of all registered employment fr this
189user.
190
191=head3 User endCurrentEmployment
192
193The end of the employment matching current date.
194
195=head3 Account Expiration
196
197When using employment, account expiration are set to match employment. By
198default the expiration is set to C<endEmployment> value.
199
200This behaviour can be changed by setting C<expireOn> parameter into base
201definition:
202
203=over 4
204
205=item any of endCurrentEmployment, endEmployment, endStrictEmployment, endLastEmployment
206
207=item never
208
209The expire date is left unchanged and must managed manually.
210
211=back
212
213=head2 Group AutoMemberFilter
214
215Group objects contains users members by setting either C<members> or
216C<memberUID> attributes.
217
218Sometimes it can be usefull to have group automatically populated by arbitrary
219rules.
220
221This is possible by setting a filter in the C<autoMemberFilter> attribute,
222The filter format is the same the one used by L<la-search>, the attribute is
223multivaluable.
224
225So for example one can create an account automatically a group containing people
226having "Olivier" as first name:
227
228    autoMemberFilter: givenBame=Olivier
229
230A probably more usefull example is a group containing people from two others
231groups:
232
233    autoMemberFilter: memberOf=group1
234    autoMemberFilter: memberOf=group2
235
236The  C<members> or C<memberUID> attribute becomes read-only attribute once
237C<autoMemberFilter> attribute is set.
238
239=head2 Aliases AutoMemberFilter
240
241This attribute allow to create automatics dynamics aliases according filter
242rules exactly like L<Group AutoMemberFilter> works.
243
244The C<forward> attributes is automatically set with email address of selected
245user, user w/o email address are ignored.
246
247=head2 Group AutoFromSutype
248
249Group object can be tagged with the C<sutype> attribute.
250
251When C<autoFromSutype> is set the group member will be computed from member of
252all groups having C<sutype> set this value.
253
254The goal of this attribute is to setup magic group like with the
255C<autoMemberFilter> but working even a new group is created.
256
257=head2 Aliases AutoFromSutype
258
259This attribute allow to create automatics dynamics aliases according filter
260rules exactly like L<Group AutoFromSutype> works.
261
262The C<forward> attributes is automatically set with email address of selected
263user, user w/o email address are ignored.
264
265=head2 Statistics
266
267The application provide some statitics tools but they are only based on the
268current data inside the database and are unable to track delete data.
269
270To keep some mesurement you must use C<stat> objects to describe the data you
271want to track, and enable in L<la-sync-manager.ini> the C<Stats> module.
272
273Each attribute of C<Stat> object describe how data must but compute before being
274stored.
275
276=head3 Stat object Attributes
277
278=head4 description
279
280A label about this statistics object
281
282=head4 display
283
284IF set the statistic appear in the menu of the web interface
285
286=head4 otype
287
288The object type this stat is tracking, must be a supported object type
289
290=head4 filter
291
292One or multiple filter to limit the objects taking into account
293
294=head4 attribute
295
296The attribute fetch to compute data
297
298=head4 refFilter
299
300When the attribute reference another type of object this setting allow to
301filter to the matching referenced object.
302
303=head4 refAll
304
305When the attribute reference another type of object non exiting objects in
306the results appear as 0, otherwise they are ignored.
307
308=head4 aggregateFunction
309
310An optionnal operation to do on the data:
311
312=over 4
313
314=item sum
315
316Make the sum of the result per item
317
318=item avg
319
320Make the average of the result per item
321
322=item count
323
324Count the number of item return
325
326=back
327
328=head4 delay
329
330The number of day between two run
331
332=head4 retention
333
334If set, the duration in days after which stats value must deleted
Note: See TracBrowser for help on using the repository browser.