question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Meta: clarify the project scope and goals

See original GitHub issue

With a growing number of users and contributors, we need to define clearly what the project goals are, and what we don’t plan to handle.

Current scope

As far as I’m concerned, the scope of the library is:

  • Allow to use a LDAP service as a Django database backend, without Django noticing;
  • Handle any form of LDAP layout that complies to the official RFCs;
  • Don’t assume anything on the LDAP layout: only use standard methods and queries;
  • Support all supported Python versions, the latest stable Django release, and the latest Django LTS strictly before that release.

This means that we’ll have to handle the following features:

  • ./manage.py inspectdb (based on the schema) => #155;
  • Handle arbitrary tree structures => #3;
  • Support or emulate transaction support => #83.

Options to consider

I can think of a few extra options we might want to include in the future, or which could be handled in a separated library.

Server-specific extensions We could add custom fields for specific directories, similar to django.contrib.postgres (for instance, a field to handle an ActiveDirectory SID or userAccountControl). If those fields require additional Python dependencies, we should likely move them to dedicated packages (still under the django-ldapdb organization).

Account management helpers We could add a few helpers to be used when the Django account base is backed by the same LDAP we’re talking to. I’m not sure of the scope of that section yet; besides, this looks like the goal of the django-auth-ldap project.

Specific form fields A LDAP supports multi-valued fields. We might want to provide a clean type of widget for such fields in the admin and other ModelForms. However, getting a clean user experience for a multi-valued form field is complex; we might want to look at existing Django field libraries to reuse some. Or maybe push those changes to a side library, since it should be compatible with any database where a field supports a collection of values.

More? Do you see other features we could add?

Issue Analytics

  • State:open
  • Created 5 years ago
  • Comments:7 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
ikreb7commented, Sep 3, 2018

Hello buddies, sorry. I had holidays.

I think, we should let django-ldapdb small and don’t integrate everything. I agree that ui-tool would be nice like @peppelinux mentioned, but i would do it inside a extra repo. We have already enough issues at the moment and more functionality make also more problems. So lets keep it simple.

I am fine with custom fields, but please let define at first a policy for this. Otherwise we will have soon very much custom fields or a too large discussion about the next new custom field and probably more dependancies.

I want to add that we should improve our tests. Could help if we should add new features. And what is with a better documentation, e.g. sphinx?

And how do we want develop together?

0reactions
Natureshadowcommented, Aug 8, 2018

I’d suggest starting with defining template classes for the most common and relevant LDAP object classes.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to Write a Project Scope in 8 Easy Steps [2022] • Asana
Project scope is a way to set boundaries on your project and define exactly what goals, deadlines, and project deliverables you'll be working ......
Read more >
Goal vs. Objective vs. Scope vs. Deliverable
Objectives: Comparatively low level statement and referring to tangible benefits,consequent upon the completion of a project. Scope: The method ...
Read more >
What to Include in a Project Scope Statement - Dummies.com
Project managers use the Scope Statement as a written confirmation of the results your project will produce and the constraints and assumptions ......
Read more >
What is project scope? - TechTarget
Project scope is the part of project planning that involves determining and documenting a list of specific project goals, deliverables, tasks, costs and ......
Read more >
4 Phases of the Project Management Lifecycle Explained
You'll sort out the project goals, scope, and resources of the project, and what roles are needed on the team. Clarifying what stakeholders...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found