#50600 Add compat for entry api to all deprecation and _s interfaces to be accessible.
Opened 5 months ago by firstyear. Modified 5 months ago

Issue Description

Lib389 has a legacy Entry interface. It's implemented in a really complex and difficult to understand manner. This interface is deprecated, and we have wanted to remove it for sometime. In wanting to remove it, we have tried to ask people to stop using the _s apis because it adds more techdebt on an interface we don't want.

Developers and QE want to be able to control certain ldap operations though. They want to use the _s apis. But this would make it harder and harder to remove this piece of techdebt.

I have resisted people using the _s ldap apis because I don't want more usage of Entry, but we also can't remove it easily because we would break some legacy tests.

As a middle ground it was suggested that:

  • We remove the meta layer that turns ldap raw calls into Entry wrapping and unwrapping calls.
  • We add compat functions for _s_entry that access and does the entry wrap and unwrap
  • we rework dsldapobject to use the _s calls directly without Entry (IE the dict ldap api).

This way people could use the ldap calls on dirsrv they want for tests, and we move closer to identifying and removing the Entry api.

Metadata Update from @mreynolds:
- Custom field origin adjusted to None
- Custom field reviewstatus adjusted to None
- Issue set to the milestone: 1.4.2
- Issue tagged with: lib389

5 months ago

Login to comment on this ticket.