Bug 23214 - UDM: Anlegen von Benutzern mittels Wizard
UDM: Anlegen von Benutzern mittels Wizard
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC (Generic)
UCS 3.0
Other Linux
: P1 enhancement (vote)
: UCS 3.2
Assigned To: Dirk Wiesenthal
Alexander Kläser
: interim-3
: 32963 33112 33115 33116 (view as bug list)
Depends on: 32902
Blocks: 32942 32963
  Show dependency treegraph
 
Reported: 2011-08-09 09:50 CEST by Alexander Kläser
Modified: 2013-11-19 06:43 CET (History)
5 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): Usability
Max CVSS v3 score:


Attachments
Screenshot IE9 (106.44 KB, image/png)
2013-11-05 14:16 CET, Alexander Kläser
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Kläser univentionstaff 2011-08-09 09:50:08 CEST
Das Anlegen neuer Benutzer im UMC-UDM-Modul sollte über einen kleinen Wizard geschehen, der alle notwendigen Daten in einem Popup-Dialog abfragt. Danach sollte es aus dem Dialog heraus die Möglichkeit geben einen neuen Benutzer anzulegen, die Details des Benutzers zu bearbeiten (→ normale Detailansicht), zurück zur Suche zu gelangen.
Comment 1 Alexander Kläser univentionstaff 2011-08-09 09:51:49 CEST
Zur Info: Derzeit stehen bei Benutzern bereits alle wichtigen und notwendigen Informationen auf dem ersten Untertab. D.h. zum Anlegen eines neuen Benutzers reicht es, die entsprechenden Felder auf dem ersten Untertab auszufüllen.
Comment 2 Andreas Büsching univentionstaff 2011-10-29 14:33:49 CEST
Das wird zu 3.0 erst einmal nicht umgesetzt
Comment 3 Stefan Gohmann univentionstaff 2012-02-16 14:18:00 CET
Der Default-Wizard sollte überschrieben werden können, beispielsweise für UCS@school Bug #26159.
Comment 4 Alexander Kläser univentionstaff 2012-03-16 11:01:04 CET
(In reply to comment #3)
> Der Default-Wizard sollte überschrieben werden können, beispielsweise für
> UCS@school Bug #26159.

Dies zunächst nicht mehr nötig, da es getrennt über eigene Module (Bug 26344) gelöst wird, sonst ist es zu aufwändig.
Comment 5 Alexander Kläser univentionstaff 2013-10-07 11:30:20 CEST
In einer aktuellen Version können keine Benutzer mehr editiert werden, es gibt dann einen JS-Fehler auf der JS-Konsole.
Comment 6 Dirk Wiesenthal univentionstaff 2013-10-07 12:01:18 CEST
One can try it out with
  univention-management-console-module-udm 4.0.33-1.356.201310071151

Added an express_layout in users/user in
  univention-directory-manager-modules 9.0.45-1.1101.201310062345

To use this simple form, one has to click on "Create user" and activate "Simple form" (activated by default).
Comment 7 Dirk Wiesenthal univentionstaff 2013-10-08 15:58:01 CEST
New approach in
  univention-management-console-module-udm 4.0.36-1.359.201310081548

Wizards live here: umc/modules/udm/wizards/$objectType
I have added a rough users/user.js wizard.

Technically the easy ones (like the one added) are just overlays over the complicated form with their own widgets, connected to the original widgets. For now only simple Widgets (like TextBox) are supported.

I should be possible to add ones own widgets (like a DHCP-Checkbox). Before I start implementing a computers/computer wizard, let me know what you think (and maybe how you want that wizard to be).
Comment 8 Alexander Kläser univentionstaff 2013-10-09 12:28:49 CEST
Nice.

I observed a problem after entering the password twice and hitting enter. If the focus is in the second password field (with the password entered) and I hit enter, the password widget still seems to be invalid.

I would still opt for the wizard in a pop up dialogue. The progress bar now is a little bit irritating.
Comment 9 Dirk Wiesenthal univentionstaff 2013-10-10 14:41:28 CEST
(In reply to Alexander Kläser from comment #8)
> I observed a problem after entering the password twice and hitting enter. If
> the focus is in the second password field (with the password entered) and I
> hit enter, the password widget still seems to be invalid.

  univention-management-console-module-udm 4.0.41-1.363.201310101439
Comment 10 Dirk Wiesenthal univentionstaff 2013-10-17 16:21:43 CEST
univention-management-console-module-udm 4.0.47-1.369.201310171541

puts the wizard as a popup over the search grid.
Comment 11 Dirk Wiesenthal univentionstaff 2013-10-18 01:10:58 CEST
I also added wizards for all computers/* modules, except:
 * computer (unused base class)
 * trustaccount (the complete form is only 4 widgets)
 * thinclient -> for some reason IP and MAC differs: they are required. Is this correct? Should I provide a wizard for this module?

Note that the wizard consists of only the name of the computer and a "secret" field that tries to set network to "default" (which in turn sets an ip address and reverse and forward zone). Maybe we should discuss the computer wizard once more in detail.
  univention-management-console-module-udm 4.0.49-1.371.201310180104
Comment 12 Stefan Gohmann univentionstaff 2013-10-18 18:23:30 CEST
(In reply to Dirk Wiesenthal from comment #11)
> I also added wizards for all computers/* modules, except:
>  * computer (unused base class)

OK

>  * trustaccount (the complete form is only 4 widgets)

OK

>  * thinclient -> for some reason IP and MAC differs: they are required. Is
> this correct? Should I provide a wizard for this module?

No, it is only a legacy module.
 
> Note that the wizard consists of only the name of the computer and a
> "secret" field that tries to set network to "default" (which in turn sets an
> ip address and reverse and forward zone). Maybe we should discuss the
> computer wizard once more in detail.
>   univention-management-console-module-udm 4.0.49-1.371.201310180104

I think you should add IP, mac and network. If the network is selected a DNS entry is auto generated.
Comment 13 Dirk Wiesenthal univentionstaff 2013-10-19 03:08:39 CEST
(In reply to Stefan Gohmann from comment #12)
> I think you should add IP, mac and network. If the network is selected a DNS
> entry is auto generated.

Okay. I also implemented an easteregg: If one enters a mac address and the network object has a DHCP object, DHCP is activated. Now how cool is that?

  univention-management-console-module-udm 4.0.53-1.376.201310190248
Comment 14 Florian Best univentionstaff 2013-10-21 16:41:36 CEST
(In reply to Dirk Wiesenthal from comment #13)
> (In reply to Stefan Gohmann from comment #12)
> > I think you should add IP, mac and network. If the network is selected a DNS
> > entry is auto generated.
> 
> Okay. I also implemented an easteregg: If one enters a mac address and the
> network object has a DHCP object, DHCP is activated. Now how cool is that?
> 
>   univention-management-console-module-udm 4.0.53-1.376.201310190248
Currently I can't see how cool that is because of my FFPU:

Die Ausführung des Kommandos udm/network ist fehlgeschlagen:

Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/__init__.py", line 204, in execute
    func( request )
  File "/usr/lib/pymodules/python2.6/univention/management/console/modules/udm/__init__.py", line 573, in network
    obj.refreshNextIp()
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/networks/network.py", line 238, in refreshNextIp
    self.modify()
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 344, in modify
    return self._modify(modify_childs,ignore_license=ignore_license)
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 868, in _modify
    self.lo.modify(self.dn, ml, ignore_license=ignore_license)
  File "/usr/lib/pymodules/python2.6/univention/admin/uldap.py", line 397, in modify
    raise univention.admin.uexceptions.licenseDisableModify
licenseDisableModify
Comment 15 Dirk Wiesenthal univentionstaff 2013-10-21 21:55:18 CEST
This is Bug#30351
Comment 16 Moritz Muehlenhoff univentionstaff 2013-10-22 10:21:27 CEST
I think the primary e-mail address should be part of the user wizard (think of a typical use case of a group ware server)
Comment 17 Moritz Muehlenhoff univentionstaff 2013-10-22 11:49:48 CEST
Why is the user wizard split into two dialogues? Both of them are really tiny and
would easy fit on a single page.

The current split only causes overhead for the administrator (extra mouse click) w/o improving usability.
Comment 18 Alexander Kläser univentionstaff 2013-10-22 13:08:26 CEST
(In reply to Moritz Muehlenhoff from comment #17)
> Why is the user wizard split into two dialogues? Both of them are really
> tiny and
> would easy fit on a single page.
> 
> The current split only causes overhead for the administrator (extra mouse
> click) w/o improving usability.

Yes w.r.t. more clicks, however, a wizard has the advantage that it hides complexity. We had the user feedback that the form for creating new users seems to be too complex. Splitting the information up into two pages seemed to render the process easier to us. Advanced users may directly jump to the detailed view.
Comment 19 Moritz Muehlenhoff univentionstaff 2013-10-22 13:14:09 CEST
(In reply to Alexander Kläser from comment #18)
> (In reply to Moritz Muehlenhoff from comment #17)
> > Why is the user wizard split into two dialogues? Both of them are really
> > tiny and
> > would easy fit on a single page.
> > 
> > The current split only causes overhead for the administrator (extra mouse
> > click) w/o improving usability.
> 
> Yes w.r.t. more clicks, however, a wizard has the advantage that it hides
> complexity. We had the user feedback that the form for creating new users
> seems to be too complex. Splitting the information up into two pages seemed
> to render the process easier to us. Advanced users may directly jump to the
> detailed view.

The wizard is definitely a much-needed improvement, but I don't see how splitting the wizard into two small sub menus makes anything easier: It takes one additional click to finish a rather mundane dialogue (and especially a task which someone might want to repeat several times to create multiple users in a row, the Univention Directory Manager is too heavyweight for small environments and users w/o CLI experience)
Comment 20 Dirk Wiesenthal univentionstaff 2013-10-22 23:53:49 CEST
UCR variables:
  Doc: univention-directory-manager-modules 9.0.69-2.1137.201310222347
  Set: univention-management-console-module-udm 4.0.57-1.381.201310222350
Comment 21 Florian Best univentionstaff 2013-10-24 16:30:28 CEST
Can you do a statement about comment #16 and comment #19 ?
Comment 22 Stefan Gohmann univentionstaff 2013-10-24 16:39:13 CEST
(In reply to Florian Best from comment #21)
> Can you do a statement about comment #16 and comment #19 ?

Yes, I can. ;)

(In reply to Moritz Muehlenhoff from comment #19)
> (In reply to Alexander Kläser from comment #18)
> > (In reply to Moritz Muehlenhoff from comment #17)
> > > Why is the user wizard split into two dialogues? Both of them are really
> > > tiny and
> > > would easy fit on a single page.
> > > 
> > > The current split only causes overhead for the administrator (extra mouse
> > > click) w/o improving usability.
> > 
> > Yes w.r.t. more clicks, however, a wizard has the advantage that it hides
> > complexity. We had the user feedback that the form for creating new users
> > seems to be too complex. Splitting the information up into two pages seemed
> > to render the process easier to us. Advanced users may directly jump to the
> > detailed view.
> 
> The wizard is definitely a much-needed improvement, but I don't see how
> splitting the wizard into two small sub menus makes anything easier: It
> takes one additional click to finish a rather mundane dialogue (and
> especially a task which someone might want to repeat several times to create
> multiple users in a row, the Univention Directory Manager is too heavyweight
> for small environments and users w/o CLI experience)

Maybe you are right but I think smaller dialogs with less input fields are easier. Let us wait for external feedback.

(In reply to Moritz Muehlenhoff from comment #16)
> I think the primary e-mail address should be part of the user wizard (think
> of a typical use case of a group ware server)

Yes, we should add the mail address.


Furthermore we will adjust the different dialogs a bit. The first dialog (container selection and type selection) and the second dialog look different and they use different buttons. So reopen is the correct status.
Comment 23 Florian Best univentionstaff 2013-10-24 16:49:09 CEST
The implementation of umc.widgets.Wizard().autoValidate is nice but done in the wrong place. next() and canFinish() are public methods which are often overwritten. Please move this into _next and _finish. You can also merge the two same code lines into a new public method called canNext().
Comment 24 Alexander Kläser univentionstaff 2013-10-30 18:15:31 CET
Just noticed a wrong translation in the notification: 'Benutzer "user2" created'
Comment 25 Alexander Kläser univentionstaff 2013-10-30 18:33:45 CET
Noticed the following JS traceback when adding a new user:

> "ReferenceError: wizardDeferred is not defined
>     at null.<anonymous> (http://10.200.26.5/umcdev/js_$20133010133122$/umc/modules/udm.js:1417:7)
> ...
Comment 26 Alexander Kläser univentionstaff 2013-10-30 18:44:46 CET
I integrated the caching into the wizards.

 univention-management-console-module-udm (4.0.76-1) unstable; urgency=low
 .
   * Bug #32978: integrated cache into wizard
Comment 27 Dirk Wiesenthal univentionstaff 2013-10-30 20:01:56 CET
(In reply to Alexander Kläser from comment #24)
> Just noticed a wrong translation in the notification: 'Benutzer "user2"
> created'

No. You noticed that your dev-function "link" does not take updated de.po files into account.

(In reply to Alexander Kläser from comment #25)
> Noticed the following JS traceback when adding a new user:
> 
> > "ReferenceError: wizardDeferred is not defined
> >     at null.<anonymous> (http://10.200.26.5/umcdev/js_$20133010133122$/umc/modules/udm.js:1417:7)
> > ...

Yes, will be fixed. Not critical as appears at the end of a then() callback
Comment 28 Dirk Wiesenthal univentionstaff 2013-10-31 00:12:35 CET
(In reply to Alexander Kläser from comment #26)
> I integrated the caching into the wizards.
> 
>  univention-management-console-module-udm (4.0.76-1) unstable; urgency=low
>  .
>    * Bug #32978: integrated cache into wizard

Thanks. The impressive speedup at second startup of wizard made it break because of timing issues (on handlers were not yet registered). I had to add a new deferred!
Comment 29 Stefan Gohmann univentionstaff 2013-10-31 06:55:17 CET
The new wizard looks really great! Fast and helpful.

(In reply to Stefan Gohmann from comment #22) 
> (In reply to Moritz Muehlenhoff from comment #16)
> > I think the primary e-mail address should be part of the user wizard (think
> > of a typical use case of a group ware server)
> 
> Yes, we should add the mail address.

A default installation does not create a mail domain object. The mail address syntax need a mail domain object.

So if I fill out all values, I get an error message. My suggestion is to remove the primary mail address from the wizard. For a later release it would be nice if UMC asks to create the mail domain object.
Comment 30 Dirk Wiesenthal univentionstaff 2013-11-01 09:51:46 CET
*** Bug 32963 has been marked as a duplicate of this bug. ***
Comment 31 Alexander Kläser univentionstaff 2013-11-01 12:00:01 CET
The combo box for templates is now correctly hidden/shown depending on whether templates exist or not.

 univention-management-console-frontend (3.0.144-1) unstable; urgency=low
 .
   * Bug #23214: make autoHide feature of ComboBox dynamic

 univention-management-console-module-udm (4.0.86-1) unstable; urgency=low
 .
   * Bug #23214: removed unneeded Deferred for NewObjectDialog, added autoHide
     for template combo box
   * Bug #32978: adjusted calls to getChildModules() to return id-label pairs
Comment 32 Dirk Wiesenthal univentionstaff 2013-11-01 13:37:34 CET
(In reply to Stefan Gohmann from comment #29)
> A default installation does not create a mail domain object. The mail
> address syntax need a mail domain object.
> 

Removed
Comment 33 Florian Best univentionstaff 2013-11-01 14:09:42 CET
* OK Changelog
* OK wizard validation
* OK creation of computers and users
* OK selection of $position
* OK mail/primary address is removed

* QA TODO user templates, caching
Comment 34 Alexander Kläser univentionstaff 2013-11-04 17:21:57 CET
"Account deactivation" is marked as invalid when using a template → Bug 33106
Comment 35 Alexander Kläser univentionstaff 2013-11-04 18:06:02 CET
Templates → OK

I was somewhat irritated by these warnings, but everything worked fine:
> WARNING: The property "e-mail" as specified by the template does not exist. Ignoring error. Template.js:115
> WARNING: The property "primaryGroup" as specified by the template does not exist. Ignoring error. Template.js:115
> WARNING: The property "shell" as specified by the template does not exist. Ignoring error. Template.js:115
> WARNING: The property "homeSharePath" as specified by the template does not exist. Ignoring error. 

Caching → OK
I could not observe problems when working with UDM objects, also fine when creating new templates/extended attributes.
Comment 36 Dirk Wiesenthal univentionstaff 2013-11-04 19:16:02 CET
(In reply to Alexander Kläser from comment #34)
> "Account deactivation" is marked as invalid when using a template → Bug 33106

It's not a bug, it's a feature. This is broken in settings/usertemplates, not in the wizard. Actually, the wizard fixes this problem (when combined with a template)
Comment 37 Alexander Kläser univentionstaff 2013-11-05 09:59:15 CET
More observations which are no blockers for now:
* Bug 33112 - [IE8] Wizard does not work
* Bug 33113 - [IE9] "Enter" on in wizard form does not work
* Bug 33115 - Wizard is positioned incorrectly
* Bug 33116 - After creating a computer via the wizard, the field "name" is marked as invalid 
* Bug 33117 - [Android] No virtual keyboard when wizard opens / fixed height needed
Comment 38 Dirk Wiesenthal univentionstaff 2013-11-05 12:04:51 CET
(In reply to Alexander Kläser from comment #37)
> More observations which are no blockers for now:
> * Bug 33112 - [IE8] Wizard does not work

-> Very easy, will fix that

> * Bug 33113 - [IE9] "Enter" on in wizard form does not work
> * Bug 33115 - Wizard is positioned incorrectly

-> These two somehow go together. Strange

> * Bug 33116 - After creating a computer via the wizard, the field "name" is
> marked as invalid 

-> Very annoying, will fix that (the problem is that the focus is removed. But this is a feature)

> * Bug 33117 - [Android] No virtual keyboard when wizard opens / fixed height
> needed

-> autoFocus: !has('touch') should do the trick
Comment 39 Alexander Kläser univentionstaff 2013-11-05 14:16:56 CET
Created attachment 5567 [details]
Screenshot IE9

BTW, I also observed an error (with an alert message) in IE9 when opening the user wizard, choosing a template, going one page further, and then closing the dialogue again. See screenshot.
Comment 40 Dirk Wiesenthal univentionstaff 2013-11-05 18:17:16 CET
(In reply to Alexander Kläser from comment #37)
> More observations which are no blockers for now:
> * Bug 33112 - [IE8] Wizard does not work
> * Bug 33115 - Wizard is positioned incorrectly
> * Bug 33116 - After creating a computer via the wizard, the field "name" is
> marked as invalid 
> * Bug 33117 - [Android] No virtual keyboard when wizard opens / fixed height
> needed

Fixed in
  univention-management-console-module-udm 4.0.95-1.415.201311051759

> * Bug 33113 - [IE9] "Enter" on in wizard form does not work

Not fixed. Not critical. Clever bug: hides from debugger!

(In reply to Alexander Kläser from comment #39)
> error (with an alert message) in IE9 when opening
> the user wizard, choosing a template, going one page further, and then
> closing the dialogue again. See screenshot.

Cannot reproduce. RESOLVED for now
Comment 41 Dirk Wiesenthal univentionstaff 2013-11-05 18:19:04 CET
*** Bug 33116 has been marked as a duplicate of this bug. ***
Comment 42 Dirk Wiesenthal univentionstaff 2013-11-05 18:19:30 CET
*** Bug 33115 has been marked as a duplicate of this bug. ***
Comment 43 Dirk Wiesenthal univentionstaff 2013-11-05 18:19:51 CET
*** Bug 33112 has been marked as a duplicate of this bug. ***
Comment 44 Alexander Kläser univentionstaff 2013-11-07 11:12:13 CET
(In reply to Dirk Wiesenthal from comment #40)
> (In reply to Alexander Kläser from comment #37)
> > More observations which are no blockers for now:
> > * Bug 33112 - [IE8] Wizard does not work
> > * Bug 33115 - Wizard is positioned incorrectly

OK.

> > * Bug 33116 - After creating a computer via the wizard, the field "name" is
> > marked as invalid 

OK.

> > * Bug 33117 - [Android] No virtual keyboard when wizard opens / fixed height
> > needed

Still not ok, but will be done at Bug 33117.

> > * Bug 33113 - [IE9] "Enter" on in wizard form does not work
> 
> Not fixed. Not critical. Clever bug: hides from debugger!

OK.

> (In reply to Alexander Kläser from comment #39)
> > error (with an alert message) in IE9 when opening
> > the user wizard, choosing a template, going one page further, and then
> > closing the dialogue again. See screenshot.
> 
> Cannot reproduce. RESOLVED for now

Another of these next generation clever bugs (NGCB) that tries to hide from the developers (not only debuggers!). We'll see!
Comment 45 Stefan Gohmann univentionstaff 2013-11-19 06:43:31 CET
UCS 3.2 has been released:
 http://docs.univention.de/release-notes-3.2-en.html
 http://docs.univention.de/release-notes-3.2-de.html

If this error occurs again, please use "Clone This Bug".