[keycloak-dev] Why does WildFly CLI suck?

Stan Silvert ssilvert at redhat.com
Thu May 21 08:56:15 EDT 2015


On 5/20/2015 8:25 AM, Bill Burke wrote:
>
> On 5/20/2015 7:47 AM, Stan Silvert wrote:
>> On 5/20/2015 3:44 AM, Stian Thorgersen wrote:
>>> ----- Original Message -----
>>>> From: "Bill Burke" <bburke at redhat.com>
>>>> To: keycloak-dev at lists.jboss.org
>>>> Sent: Tuesday, 19 May, 2015 4:04:17 PM
>>>> Subject: Re: [keycloak-dev] Why does WildFly CLI suck?
>>>>
>>>> CLI is a UI.  Generically rendered UIs generally suck.  For example, did
>>>> not managing JBoss 4.x and earlier suck using some generic JMX UI
>>>> renderer?  CLI falls into this category IMO.
>>> +1 I've never been able to achieve anything without googling for a recipe
>>>
>>> The fact that there's alternative commands for doing common tasks suggests that I'm not the only one. For example adding a data-source can be done with:
>>>
>>>      /subsystem=datasources/data-source=MigrateDS:add(jndi-name=java:jboss/datasources/MigrateDS, pool-name=MigrateDS, driver-name=h2, connection-url=jdbc:h2:mem:test;DB_CLOSE_DELAY=-1)
>>>
>>> or
>>>
>>>      data-source add ...
>>>
>>> The first auto-generated one is very hard to use, the whole syntax of the cli is weird in the first place and figuring how to puzzle that together is hopeless.
>> That's what CLI GUI is for.
> Why would somebody use CLI GUI over keycloak admin console?
>
I assume you mean "Why use CLI GUI over WildFly admin console.?" :-)

Here's a top 11 list:
1) WildFly admin console is not complete.  It doesn't come close to 
covering all the operations.  CLI GUI gives you everything, with help 
text included.
2) New subsystems don't show up in admin console.  You have to write a 
GWT UI for it by hand and give it to the admin console team.  Then you 
have to wait for them to release it.  CLI GUI gives you a UI for 
everything automatically.
3) If you are creating a script, CLI GUI helps you formulate the syntax 
of the operations.
4) You can run scripts from CLI GUI.  Can't do that from admin console.  
Also, CLI GUI remembers your recently run scripts so you can find and 
execute them quickly.
5) CLI GUI lets you browse the entire management tree and learn about 
what is available.  It's a great teaching tool.
6) If run locally, you don't need to log in to CLI GUI.
7) If run locally, CLI GUI survives a server restart.  You don't need to 
reconnect.  Great for development where you restart often.
8) CLI GUI is very small.  Admin console is huge.  In fact, about half 
of the WildFly download comes from the admin console.
9) CLI GUI runs inside jconsole.  So you can monitor the server and 
execute commands in the same UI.  Admin console's monitoring capability 
is very limited.
10) CLI GUI's "verbose" mode shows you the full request and response.  
That's very handy when writing DMR code and you need to learn exactly 
how the request and response are structured.
11) CLI GUI lets you download server logs.  Admin console still doesn't 
have this important feature.

And all that comes from a tool that I've probably spent a total of six 
weeks working on.  How much did admin console cost to develop? So far, 
two full time developers have worked on it for the last 3 to 4 years.

Stan


More information about the keycloak-dev mailing list