User Experience Matters–install OpenDS in 5 easy steps

I recently moved over to the Directory Services team to take on the Product Line Management position.  I had a lot of fun working with the OpenSSO team and I am excited about the great things that team has released into the market place.  Another exciting thing about the job change, besides continuing to work with the OpenSSO team as they embed OpenDS as the configuration store in their product, is that I get to work with another team that values the importance of User Experience when building software.  Enterprise software for years has promulgated the myth that all that matters is innovation or features within new releases.  User Experience has always been an after-thought.

OpenDS has worked hard to promulgate a different approach which puts User Experience at the top of the priority list.  You can see this in the installation experience of the software.  MySQL builds software with a design guideline Martin Mickos call the "15 minute rule".  This is the rule that their enterprise version should be downloaded and installed in 15 minutes or less.  OpenDS can beat this by being installed in less than 3 minutes.  This is even true when you are allowing OpenDS to generate 2000 simluated Directory Entries.  Powerful stuff.  Not only do you get a great directory engine up and running quickly but if you are a Developer or QA Engineer you can get going quicker as well.

More to come on the performance data and some of our plans soon.  See for yourself how great the User Experience is for OpenDS in the video below:

This entry was posted in Sun. Bookmark the permalink.

2 Responses to User Experience Matters–install OpenDS in 5 easy steps

  1. This is my OpenDS for OpenSSO installation script
    DIRNAME=`dirname ${0}`
    if [[ -f /opt/opends/install.txt ]]; then
    echo "OpenDS already installed"
    exit 1
    if ! ${DIRNAME}/ ; then
    exit 1
    echo "This will install OpenDS on this server"
    echo "Press ENTER to continue or Ctrl-C to abort"
    if [[ -z ${DS_PASSWORD} ]]; then
    echo -n "Enter password "
    read DS_PASSWORD
    echo -n "Confirm password "
    read DS_PASSWORD1
    if [[ ! "${DS_PASSWORD}" = "${DS_PASSWORD}" ]]; then
    echo "Password not match"
    exit 1
    if [[ -z "${JAVA_HOME}" ]]; then
    echo "Set JAVA_HOME to ‘${JAVA_HOME}’"
    echo "JAVA_HOME set to ‘${JAVA_HOME}’"
    if [[ ! -d "${JAVA_HOME}" ]]; then
    echo "JDK not installed on this host"
    if [[ ! -x /usr/bin/unzip ]]; then
    yum -y -d 0 install unzip
    echo -n "Extract files from ${DISTR}.zip…"
    if [[ -d /opt/opends ]]; then
    rm -f -R /opt/opends
    mkdir -p /opt
    unzip -q /mnt/JumpStart/bootstrap/distr/${DISTR}.zip -d /opt
    mv /opt/${DISTR} /opt/opends
    echo "Done!"
    echo "Run OpenDS setup…"
    /opt/opends/setup –cli –no-prompt –doNotStart –ldapPort ${PORT} –rootUserDN "cn=Directory Manager" –rootUserPassword ${DS_PASSWORD} –baseDN dc=opensso,dc=java,dc=net -a
    mv /opt/opends/config/config.ldif /opt/opends/config/config.ldif~
    cat /opt/opends/config/config.ldif~ | sed "s/ds-cfg-single-structural-objectclass-behavior: reject/ds-cfg-single-structural-objectclass-behavior: accept/g" > /opt/opends/config/config.ldif
    #create configuration file
    if [[ -f /etc/sysconfig/opends ]]; then
    rm /etc/sysconfig/opends
    echo "Write configuration to /etc/sysconfig/opends"
    cat << EOF > /etc/sysconfig/opends
    echo "Create opends group"
    groupadd -r -f -g 450 opends
    echo "Create opends user"
    adduser -r -M –home /opt/opends –shell /sbin/nologin –comment "OpenDS service account" –gid opends -n -u 450 opends
    cp -R /mnt/JumpStart/bootstrap/files_opends/* /
    mkdir -p /opt/opends/logs/old
    echo -n "Change ownership and permissions on files…"
    chown -R opends:opends /opt/opends
    chmod 600 /etc/sysconfig/opends
    echo "done!"
    if [[ ! -x /usr/bin/sudo ]]; then
    yum -y -d 0 install sudo
    if [[ ! -x /usr/sbin/logrotate ]]; then
    yum -y -d 0 install logrotate
    if [[ ! -x /usr/sbin/crond ]]; then
    yum -y -d 0 install vixie-cron
    service crond start
    if [[ ! -f /etc/crontab ]]; then
    yum -y -d 0 install crontabs
    service crond restart
    #enable sudo in init.d scripts
    mv /etc/sudoers /etc/sudoers~
    sed ‘/requiretty/s/^/#/’ /etc/sudoers~ > /etc/sudoers
    chmod 0440 /etc/sudoers
    chkconfig –add opends
    chkconfig opends on
    service opends start
    /opt/opends/bin/ldapmodify -a -h localhost -p ${PORT} -D "cn=Directory Manager" -w ${DS_PASSWORD} -f /tmp/famsuffix.ldif
    rm -f /tmp/fams*.ldif

  2. [Trackback] See a video demo.

Leave a Reply

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

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

Google+ photo

You are commenting using your Google+ 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 )


Connecting to %s