OpenIDM: Trying the UI

OpenIDM community logoOne feature starting to take shape in the OpenIDM is the browser-based UI. What’s there is no doubt going to change a lot before the next release. It’s not hard to get a sneak preview of what might be coming soon.

Update: The OpenIDM dev team has made your life easier. Now you no longer need to deal with the profile. Just start OpenIDM, and then browse to http://localhost:8080/openidmui/. You can login as openidm-admin:openidm-admin, or you can register (create a new account).

  1. Unzip a nightly build of OpenIDM.
    cd /path/to
    unzip ~/Downloads/openidm-2.1.0-SNAPSHOT.zip
  2. Apply the ria-ui-default profile.
    cd openidm/profiles
    python apply-profile.py ./ria-ui-default
  3. Add the users from profiles/ria-ui-default/README.
    vi ria-ui-default/README # Comment out extra lines
    sh ria-ui-default/README
  4. This gives you one administrator and one user, so you can login and try the UI.
  5. Browse to http://localhost:8080/openidmui/, and login.
    If you used the README as is without editing users, then your users are admin@admin.com & user@user.com, both with password CCxxaa11!!.

OpenIDM UI

Advertisements

34 thoughts on “OpenIDM: Trying the UI

  1. Hi Mark it was just a problem with windows and escape characters. You need to escape ” with \”. That said even though I can now create and retrieve users with the CURL/REST interface I still can’t login. Am I missing something obvious?

      1. Cannot registyer users manually either.
        Here is the console trace when I try to logon:

        5 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – REQUEST /openidm/managed/user/ on org.ecli
        pse.jetty.server.nio.SelectChannelConnector$SelectChannelHttpConnection@b5df86@127.0.0.1:8080127.0.0.1:1569
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – scope null||/openidm/managed/user/ @ HttpS
        erviceContext{httpContext=org.apache.felix.webconsole.internal.servlet.OsgiManagerHttpContext@d809e3}
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – context=||/openidm/managed/user/ @ HttpSer
        viceContext{httpContext=org.apache.felix.webconsole.internal.servlet.OsgiManagerHttpContext@d809e3}
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – Got Session ID hnrzvf5agks6ch6n6a5ofdo6 fr
        om cookie
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – sessionManager=org.eclipse.jetty.server.se
        ssion.HashSessionManager@12be8e1
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – session=null
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – servlet ||/openidm/managed/user/ -> null
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – scope null||/openidm/managed/user/ @ HttpS
        erviceContext{httpContext=org.apache.felix.webconsole.internal.servlet.OsgiManagerHttpContext@d809e3}
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – context=||/openidm/managed/user/ @ HttpSer
        viceContext{httpContext=org.apache.felix.webconsole.internal.servlet.OsgiManagerHttpContext@d809e3}
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – sessionManager=org.eclipse.jetty.server.se
        ssion.HashSessionManager@18a3257
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – session=null
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – servlet ||/openidm/managed/user/ -> null
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG o.o.p.w.s.spi.model.ServerModel – Matching [/openidm/managed/user/]…
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG o.o.p.w.s.spi.model.ServerModel – Path [/openidm/managed/user/] matched
        to {pattern=/openidm/.*,model=ServletModel{id=org.ops4j.pax.web.service.spi.model.ServletModel-7,name=org.ops4j.pax.web.service.spi.model.ServletModel-7,urlPatterns=[/openidm/*],alias=/openidm,servle
        t=org.forgerock.openidm.restlet.Servlet@1bc3013,initParams={},context=ContextModel{id=org.ops4j.pax.web.service.spi.model.ContextModel-6,name=,httpContext=DefaultHttpContext{bundle=org.forgerock.openi
        dm.httpcontext [35]},contextParams={}}}}
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – scope null||/openidm/managed/user/ @ HttpS
        erviceContext{httpContext=DefaultHttpContext{bundle=org.forgerock.openidm.httpcontext [35]}}
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – context=||/openidm/managed/user/ @ HttpSer
        viceContext{httpContext=DefaultHttpContext{bundle=org.forgerock.openidm.httpcontext [35]}}
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – sessionManager=org.eclipse.jetty.server.se
        ssion.HashSessionManager@129cfbb
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – session=org.eclipse.jetty.server.session.H
        ashSessionManager$HashedSession:hnrzvf5agks6ch6n6a5ofdo6@24188025
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – servlet |/openidm|/managed/user/ -> org.op
        s4j.pax.web.service.spi.model.ServletModel-7
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG o.o.p.w.s.j.i.HttpServiceContext – Handling request for [/openidm/manag
        ed/user/] using http context [DefaultHttpContext{bundle=org.forgerock.openidm.httpcontext [35]}]
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – chain=
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – call filter org.ops4j.pax.web.service.spi.
        model.FilterModel-8
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG o.f.openidm.filter.AuthFilter – Found valid session for openidm-admin w
        ith roles [openidm-admin, openidm-authorized]
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – call servlet org.ops4j.pax.web.service.spi
        .model.ServletModel-7
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG o.f.o.r.JsonResourceRouterService – /filters/0 evalCondition yielded tr
        ue
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG o.f.o.r.JsonResourceRouterService – Calling /filters/0 onRequest script

        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG o.f.openidm.managed.ManagedObjectSet – query name=user id=null
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG o.f.o.r.JsonResourceRouterService – /filters/0 evalCondition yielded tr
        ue
        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG o.f.o.r.JsonResourceRouterService – Calling /filters/0 onRequest script

        14:50:49.885 [qtp8161381-588 – /openidm/managed/user/?_query-id=for-credentials&password=CCxxaa11!!&uid=admin%40admin.com] DEBUG org.eclipse.jetty.util.log – RESPONSE /openidm/managed/user/ 400

        Think it tracks back to this error with python script

        Suspect this failure stops the ria interface from working even though users added correctly

        :
        Traceback (most recent call last):
        File “apply-profile.py”, line 190, in
        performConfiguration()
        File “apply-profile.py”, line 171, in performConfiguration
        substitutionConfig = readSubstitutionConfig(configFilePath)
        File “apply-profile.py”, line 49, in readSubstitutionConfig
        return json.loads(fileContent)
        File “C:\Python27\lib\json\__init__.py”, line 326, in loads
        return _default_decoder.decode(s)
        File “C:\Python27\lib\json\decoder.py”, line 360, in decode
        obj, end = self.raw_decode(s, idx=_w(s, 0).end())
        File “C:\Python27\lib\json\decoder.py”, line 376, in raw_decode
        obj, end = self.scan_once(s, idx)
        ValueError: Invalid \escape: line 8 column 22 (char 131)

  2. Hi Mark got the app working OK. Thanks for your help.
    Should the group management tab function at this stage.
    Also what are the plans for a stable release of the UI and what functionality will it have?

    1. Cool!

      I’ve not done anything with the group management tab, yet. YMMV on this early version of the UI.

      https://wikis.forgerock.org/confluence/display/openidm/OpenIDM+Roadmap shows how we expect the different phases of the UI to roll out, with the end user dashboard in 2.1 followed by and admin UI in 2.2 and enhancements in 2.3.

      If you’re interested in following along, I’d suggest subscribing to the user list, https://lists.forgerock.org/mailman/listinfo/openidm

      Regards,
      Mark

  3. Hi Mark

    on 27th June i download openidm-2.1.0-SNAPSHOT.zip and using it.

    Your instruction to apply the ria-ui-default profile and also add the users from profiles/ria-ui-default/README has worked perfectly.
    But when i log in as admin@admin.com i don’t see any configured users? Where is the problem?

  4. Hi Corrado,

    When I add the users, OpenIDM returns the IDs and revs:

    $ sh ria-ui-default/README
    {“_id”:”9CE500F9-9DC4-4B7A-80B5-CE030A1B70B5″,”_rev”:”0″}{“_id”:”D9EC6185-87F1-4786-8538-7795E8C2BF35″,”_rev”:”0″}

    Then I see two users when I login as admin@admin.com. Their email addresses are admin@admin.com and user@user.com.

    Are you saying the users list in the console is empty for you?

    If so, can you see the users in the OpenIDM repository?
    For example:
    $ curl –header “X-OpenIDM-Username: openidm-admin” –header “X-OpenIDM-Password: openidm-admin” –request GET http://localhost:8080/openidm/managed/user/?_query-id=query-all-ids
    {“query-time-ms”:1,”result”:[{“_id”:”9CE500F9-9DC4-4B7A-80B5-CE030A1B70B5″,”_rev”:”0″},{“_id”:”D9EC6185-87F1-4786-8538-7795E8C2BF35″,”_rev”:”0″}],”conversion-time-ms”:1}

  5. Yes, my user list in console is empty.

    When i have launched “$ sh ria-ui-default/README” i have obtained this output:

    {“_id”:”EFBD6621-2D22-43F1-8534-E639260E1201″,”_rev”:”0″}{“_id”:”085603F4-CBB8-42DF-A8EF-BC6741355702″,”_rev”:”0″}

    Now i obtain this output:

    {“error”:403,”reason”:”Forbidden”,”detail”:”Access denied”}.

    when i exec the command:

    $ curl –request GET –header “X-OpenIDM-Username: openidm-admin” –header “X-OpenIDM-Password: openidm-admin” “http://localhost:8080/openidm/managed/user/?_query-id=query-all-ids”

    1. Hmm. There’s definitely something wrong if you get HTTP 403 when you query all IDs as openidm-admin.

      Are all the appropriate services active? Here’s what I see with scr list at the OpenIDM prompt:

      -> scr list
      Id State Name
      [ 17] [active ] org.forgerock.openidm.config.starter
      [ 7] [active ] org.forgerock.openidm.external.rest
      [ 11] [active ] org.forgerock.openidm.provisioner.openicf.connectorinfoprovider
      [ 14] [active ] org.forgerock.openidm.ui.simple
      [ 1] [active ] org.forgerock.openidm.router
      [ 19] [unsatisfied ] org.forgerock.openidm.scheduler
      [ 13] [active ] org.forgerock.openidm.restlet
      [ 6] [unsatisfied ] org.forgerock.openidm.external.email
      [ 16] [active ] org.forgerock.openidm.repo.orientdb
      [ 5] [active ] org.forgerock.openidm.sync
      [ 3] [active ] org.forgerock.openidm.script
      [ 2] [active ] org.forgerock.openidm.scope
      [ 9] [active ] org.forgerock.openidm.http.contextregistrator
      [ 18] [active ] org.forgerock.openidm.config
      [ 0] [active ] org.forgerock.openidm.audit
      [ 15] [unsatisfied ] org.forgerock.openidm.repo.jdbc
      [ 4] [active ] org.forgerock.openidm.managed
      [ 12] [unsatisfied ] org.forgerock.openidm.provisioner.openicf
      [ 8] [active ] org.forgerock.openidm.authentication
      [ 10] [active ] org.forgerock.openidm.provisioner

      Anything odd in the logs, or exceptions being thrown?

  6. Mark
    now it’s work.

    My output of ‘scr list’ is the same of yours. Using the Felix console via web, the log service does not report any error.
    In my Linux server, port 8080 is correctly assigned to OpenIDM (jetty).

    I don’t stop OpenIDM after that i had created users by “sh ria-ui-default/README”.

    So i have stopped and started OpenIDM and now i see users in console and query by curl and REST interface provide this output:

    {“query-time-ms”:1,”result”:[{“_id”:”EFBD6621-2D22-43F1-8534-E639260E1201″,”_rev”:”0″},{“_id”:”085603F4-CBB8-42DF-A8EF-BC6741355702″,”_rev”:”0″},{“_id”:”7B385E9D-7174-4C76-BD98-F8C1876EBDB3″,”_rev”:”0″}],”conversion-time-ms”:0}

    Thank you for support
    Corrado

  7. The development team has improved the user experience… rendering what I wrote earlier obsolete 😉

    When I try the “OpenIDM 2.1.0 Experimental Nightly” from the download page, http://forgerock.org/openidm.html as of this morning for example, I no longer need to run anything to get the UI to work.

    Just start OpenIDM and go.

    $ cd /path/to/openidm ; ./startup.sh
    ...
    --> scr list
    ...
    [  14] [active       ] org.forgerock.openidm.ui.simple
    ...

    After logging in as openidm-admin:openidm-admin at http://localhost:8080/openidmui/ , I click Add users and create another user, etc.

  8. Mark,

    Do you know the current status of the UI? I installed the nightly build and can get to openidmui/index.html#login/ but I see a “Not Found Error” when the page loads, I am unable to login with the admin users and I don’t see a way to create new users.

    Thanks,
    Brad

  9. Hi Brad,

    I just downloaded the build from last night, 20121016 http://download.forgerock.org/downloads/openidm/snapshot/openidm-2.1.0-SNAPSHOT.zip

    This is on Mac OS X 10.7 with Java 6.

    I’m able to login as openidm-admin:openidm-admin at http://localhost:8080/openidmui/, and create a user.

    The groups page says Page Not Found.

    The task page doesn’t seem to let me do anything through the UI out of the box, yet.

    Perhaps you’ve hit a bug?

    Regards,
    Mark

    1. Mark,

      It was self-inflicted. I am running openIDM behind a proxy and while I created the proxy rule for /openidmui … I forgot to create the proxy rule for /openidm.

      The UI is definitely starting to take shape. I am looking forward to these stubs going active! 🙂

      Thanks!!
      Brad

  10. Mark,

    Have been playing with the experimental build – nightly snapshot 20121108 for 2.1 and I don’t see a self-registration or “register” link on the page. Did that get removed?

    thanks,

    brenden

  11. Hi EJ,

    I just downloaded a nightly build from http://download.forgerock.org/downloads/openidm/snapshot/openidm-2.1.0-SNAPSHOT.zip, unzipped the file, started OpenIDM, and logged in to the UI as openidm-admin.

    Indeed the Group Management tab is gone in this version. The User Management tab has become Users and changed since I captured a screenshot for this blog entry over 10 months ago.

    As shown in the roadmap, https://wikis.forgerock.org/confluence/display/openidm/OpenIDM+Roadmap, the Admin and System UIs are expected to be finished for OpenIDM 2.2, so expect more changes before the exact content is fixed.

    Regards,
    Mark

    1. Hi Mark,

      Thank you for the reply. I thought I need to do something else to have a Group Management module. I’ll definitely wait for version 2.2.

      EJ

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s