Warning: Table './jdarx_drupal/sessions' is marked as crashed and should be repaired query: SELECT u.*, s.* FROM users u INNER JOIN sessions s ON u.uid = s.uid WHERE s.sid = '67663845150302b37142df83d338fad0' in /f2/jdarx/public/includes/database.mysql.inc on line 172

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /f2/jdarx/public/includes/database.mysql.inc:172) in /f2/jdarx/public/includes/bootstrap.inc on line 899

Warning: Cannot modify header information - headers already sent by (output started at /f2/jdarx/public/includes/database.mysql.inc:172) in /f2/jdarx/public/includes/bootstrap.inc on line 531

Warning: Cannot modify header information - headers already sent by (output started at /f2/jdarx/public/includes/database.mysql.inc:172) in /f2/jdarx/public/includes/bootstrap.inc on line 532

Warning: Cannot modify header information - headers already sent by (output started at /f2/jdarx/public/includes/database.mysql.inc:172) in /f2/jdarx/public/includes/bootstrap.inc on line 533

Warning: Cannot modify header information - headers already sent by (output started at /f2/jdarx/public/includes/database.mysql.inc:172) in /f2/jdarx/public/includes/bootstrap.inc on line 534
TreePath and LDAP | wayland's Computer Stuff

TreePath and LDAP

warning: Cannot modify header information - headers already sent by (output started at /f2/jdarx/public/includes/database.mysql.inc:172) in /f2/jdarx/public/includes/common.inc on line 141.

LDAP has a very powerful path specification language. Unfortunately, it's somewhat more cumbersome than XPath, and familiar to fewer people than other more well-known tree navigation languages such as XPath and glob().

I'm proposing that the next version of LDAP have an option to use TreePath-based paths (as described in TreePath -- a universal tree navigation language) as well as the traditional LDAP ones.

Using TreePath with LDAP

This would mean that a path such as

 dc=example,dc=com,ou=People,uid=user1
could be replaced with the following Complex TreePath:

 /*[dc="example"]/*[dc="com"]/*[ou="People"]/*[uid="user1"]
...which is admittedly worse, but it could also be replaced with the following Simple TreePath:

 /example/com/People/user1
...which I hope you'll agree is much simpler for first-time LDAP users. It would also mean that anyone who has used XPath before would quickly adapt to at least Complex TreePath. If the glob() people take up my suggestions regarding TreePath and glob(), it will also mean that many ordinary Unix users will be familiar with TreePath.

Another one of TreePath's advantages is that it incorporates into its syntax whether the search is to be a base, one, or sub type of search.

Conclusion

Allowing the use of TreePath with LDAP will make LDAP paths both simpler and more powerful.