Fork me on GitHub

n. Slang a rough lawless young Kuali developer.
[perhaps variant of Houlihan, Irish surname]
kualiganism n

Blog of an rSmart Java Developer. Full of code examples, solutions, best practices, et al.

Monday, January 31, 2011

The KIS Identity - LDAP Development Setup

Abstract

Before you can use the LDAP/Entity integration into your Kuali Rice-based application, you have to first build it into Kuali Rice. To do that, you first need to setup a development environment for building and packaging rice.

Video Instructions

I've put together a video for instruction how to not just setup your rice development environment, but also modularize the LDAP Integration source code distribution with Kuali Rice to be packaged and distributed together.

If you're an institution developing custom rice applications or just running rice-based kuali applications, you will most likely have your own rice release to add customizations too. LDAP integration in its current incarnation is pretty much that. It's like a third-party module/customization that is added to existing rice source.

This screencast is also using the Eclipse IDE. Again, if you have another IDE
or some other method. Please substitute whatever you would normally do.

Here it is. Enjoy:




Steps

These are written instructions for those that found the video to be difficult to follow.
  1. First, let's checkout the rice source code. Here, I am going to checkout the rice 1.0.3 branch from rsmart. Our trunk currently has an ldap integration. I created this branch specifically for this screencast. You should use whatever URL you have at your institution
  2. Now that it's checked out, I am simply going to copy it to my Eclipse project. I
    then refresh my project.
  3. The next thing we want to do is to add our ldap integration as a module or subproject within the rice project. What we need for this is to first create a path for it.
  4. Now that the source code is checked out, we want to tell Eclipse that this is a Maven project. Go to your project context menu. Then, select the Maven submenu. Finally, Enable Dependencies Management.

  5. All that needs to be done is to update the rice pom.xml and the rice-web pom.xml. I now open the rice pom.xml. I add to the modules section that ldap is a module.



    4.0.0
    org.kuali.rice
    rice
    pom
    Kuali Rice
    1.0.3
    The Kuali Rice effort provides an enterprise class
    middleware suite of integrated products that allows both Kuali and
    non-Kuali applications to be built in an agile fashion, such that



    api
    impl
    ldap
    web
    sampleapp
    ksb
    kcb
    kns
    kim
    kew
    ken

    ...

  6. Next, open the rice-web pom.xml. In here we set rice-ldap as a dependency. I will just copy the rice-impl dependency and change impl to ldap.



    Kuali Rice Web
    4.0.0

    org.kuali.rice
    rice
    1.0.3

    rice-web
    war



    ${project.groupId}
    rice-impl
    ${project.version}


    ${project.groupId}
    rice-ldap
    ${project.version}

    ...
    ...

  7. There, it's that easy. Now, when rice is packaged, the rice-ldap jar will be created with it. Let's do that.


    leo@leviathan~/.workspace/rice-1.0.3
    (02:15:03) [13] mvn -Dmaven.test.skip=true package
    ...
    ...
    leo@leviathan~/.workspace/rice-1.0.3
    (02:20:06) [14] ls ldap/target/
    classes/ maven-archiver/ rice-ldap-1.0.3.jar
    leo@leviathan~/.workspace/rice-1.0.3
    (02:20:11) [15]


Thursday, January 20, 2011

LDAP Development + Xtranormal

Video that I overlaid with an xtranormal as an experiment in instruction.