Return-Path: Delivered-To: apmail-directory-dev-archive@www.apache.org Received: (qmail 96319 invoked from network); 29 Aug 2007 14:23:00 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 29 Aug 2007 14:23:00 -0000 Received: (qmail 67082 invoked by uid 500); 29 Aug 2007 14:22:55 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 67036 invoked by uid 500); 29 Aug 2007 14:22:54 -0000 Mailing-List: contact dev-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Apache Directory Developers List" Delivered-To: mailing list dev@directory.apache.org Received: (qmail 67025 invoked by uid 99); 29 Aug 2007 14:22:54 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 29 Aug 2007 07:22:54 -0700 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of akarasulu@gmail.com designates 66.249.92.168 as permitted sender) Received: from [66.249.92.168] (HELO ug-out-1314.google.com) (66.249.92.168) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 29 Aug 2007 14:22:50 +0000 Received: by ug-out-1314.google.com with SMTP id u40so76673ugc for ; Wed, 29 Aug 2007 07:22:28 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:mime-version:content-type:x-google-sender-auth; b=LLqPvEKzwh5sMkL8bnVGt4JVgU9i4lAeVvtOKsr4CI6bYewo0/nuY5SjAkZ6cNYYx6459K9wjSXc0K5wX77CrgPzsTOhfXGEN6OAVulKuHk7VFRtRf+75W/ZCrkb3f1CBa4x6o4bE2QTZVyfh/cwec7yZ47KhPk/0RwOT7n1UgM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:sender:to:subject:mime-version:content-type:x-google-sender-auth; b=mf3IeGDpeTJ8VT0s7CpnxoXCBja9wLJJ0GWqFnaP3ZkTeBLupWCt0RACKqkUTS2P5/hVQ3zV/RslW8cXm3IVH0SBZSnZ2GqHBHzgGb8o3x0oGNm9JBUuuHpUoNuZNhy84zEfDDrjYBbDfYOJcO81+u4u/roNIZmtGkPHLxgsCcM= Received: by 10.143.10.15 with SMTP id n15mr33473wfi.1188397345938; Wed, 29 Aug 2007 07:22:25 -0700 (PDT) Received: by 10.142.101.21 with HTTP; Wed, 29 Aug 2007 07:22:25 -0700 (PDT) Message-ID: Date: Wed, 29 Aug 2007 10:22:25 -0400 From: "Alex Karasulu" Sender: akarasulu@gmail.com To: "Apache Directory Developers List" Subject: [LDAP][Client] Slick idea for a CLI based client MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_2019_19570231.1188397345559" X-Google-Sender-Auth: 2bb2ab56d57f2a8e X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_2019_19570231.1188397345559 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline A while back I posted some Confluence pages about writing a command line yet interactive LDAP client called LDAP shell. I never really got any comments about it. I just thought it might be worth while putting out the idea again on this email channel. The concept is simple and one that everyone on the command line is pretty much used to. A shell. Users log into an LDAP server and have a command prompt where they can: o CD into any ldap context using relative or absolute distinguished names o LS within a server entry to list it's children if any (use -R to change scope :)) o CAT to print the contents of an entry to the console o LESS to pan through contents o VI, ED to edit the contents and save o PUSHD to push a DN onto the stack o POPD to pop a DN off of the stack and CD into it o MV to modifyDn on an entry o CP to copy an entry Yep all the shell built-ins you're used to in bourne or bourne again shells should be there. The only difference in the commands are that they apply to a different naming system than the UNIX file system path syntax. The idea here is to enable LDAP scripting for those who already know how to script in shells. Furthermore these deterministic scripts can be transformed into code that can be pushed into the server as stored procedures. Also Directory Studio can use this as an LDAP console. You don't need to just be in a shell to utilize this neat little client. Studio's browser can select nodes in the tree to represent the path of working directory ($PWD). As the user navigates through the LDAP shell Studio's browser can give them cues on their position and where they can go. Drag and drop can be used to move nodes in the browser into the shell which will list the DN of the node dropped in. Selected a node in the browser can automatically CD users into that entry. Is this a crazy idea? Thoughts? Alex ------=_Part_2019_19570231.1188397345559 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline A while back I posted some Confluence pages about writing a command line yet interactive
LDAP client called LDAP shell.  I never really got any comments about it.  I just thought
it might be worth while putting out the idea again on this email channel.

The concept is simple and one that everyone on the command line is pretty much used to.
A shell.  Users log into an LDAP server and have a command prompt where they can:

 o CD into any ldap context using relative or absolute distinguished names
 o LS within a server entry to list it's children if any (use -R to change scope :))
 o CAT to print the contents of an entry to the console
 o LESS to pan through contents
 o VI, ED to edit the contents and save
 o PUSHD to push a DN onto the stack
 o POPD to pop a DN off of the stack and CD into it
 o MV to modifyDn on an entry
 o CP to copy an entry

Yep all the shell built-ins you're used to in bourne or bourne again shells should be there.  The
only difference in the commands are that they apply to a different naming system than the UNIX
file system path syntax. 

The idea here is to enable LDAP scripting for those who already know how to script in shells. 
Furthermore these deterministic scripts can be transformed into code that can be pushed into
the server as stored procedures. 

Also Directory Studio can use this as an LDAP console.  You don't need to just be in a shell
to utilize this neat little client.  Studio's browser can select nodes in the tree to represent
the path of working directory ($PWD).  As the user navigates through the LDAP shell Studio's
browser can give them cues on their position and where they can go. Drag and drop can be
used to move nodes in the browser into the shell which will list the DN of the node dropped in.
Selected a node in the browser can automatically CD users into that entry.

Is this a crazy idea? Thoughts?

Alex
------=_Part_2019_19570231.1188397345559--