Russ,

    Apologies for forcing the issue & for making a mess of the 
``django.core`` namespace. The goal was to help improve the user experience 
of sanity-checking their kit, but it seems I did more harm than good.

    I'm fine with unifying the two (with option #2 probably being more 
likely so as not to disrupt the GSoC project any further). I am not opposed 
to either ``check`` or ``verify``. Both are perhaps a bit too generic for 
my taste ("what are you checking (or verifying)?"), but they are much more 
concise than using ``./manage.py 
checkmyapplicationsettingsandcodeforcompatibilitywiththisdjango``, so I'm 
in favor. The upshot is that since it's new, very little should be 
depending on what was committed, as I didn't get the chance to submit 
patches to other projects/apps to integrate it yet.

   In short, whatever the consensus, I'm happy to change it (or help (or 
get out of the way)).


Daniel



On Wednesday, June 19, 2013 1:34:54 AM UTC-7, Russell Keith-Magee wrote:
>
> Hi all (but especially Daniel)
>
> I've got a quick question about a recent commit and some naming 
> consequences that I think we need to sort out before we cut the 1.6 beta.
>
> tl;dr - I think we either need to rename the recently added checksetup 
> command, or do some light refactoring of it's internals so that we don't 
> make a rod for our own backs with work landing through the GSoC.
>
> In a recent commit [1], Daniel introduced a new management command - 
> checksetup - that can be used to identify upgrade-related issues in your 
> Django configuration -- in this case, the TEST_RUNNER problem, but he's set 
> up a framework that allows for other checks in the future.
>
> There's some interesting overlap here between this command, and the work 
> of my GSoC student, Christopher Medrela.
>
> Chris' GSoC project is about refactoring the `validate` management 
> command, turning the current monolithic validation mechanism into something 
> that is more easily extensible. Along the way, the aim is to introduce 
> validation warnings as well as errors, and provide ways to silence those 
> warnings if needed.
>
> As part of this work, we're addressing the fact that `validate` is a badly 
> overloaded word in Django at this point -- we have model validation, form 
> validation, and `validate` which performs system checks. This is 
> particularly problematic because we're looking at factoring 'validation' 
> system checks out into models and fields… which already have validate 
> methods to handle model validation.
>
> So - we've been looking for a new name. Two days before Daniel committed 
> his patch and new `checksetup` management command, Christopher and I were 
> having a discussion about a suitable alternative name for a new, refactored 
> `validate` command [2]. The end goal would be to deprecate validate in 
> favour of the new name.
>
> The mailing list discussion kicked around a few names, and we'd broadly 
> settled on `verify`. `check` (and some variants) was also considered. 
> Chris' preference was for verify. I'm on the fence. I don't love `verify` 
> as a name, but I'm willing to call it a bike shed on my part. 
>
> In line with this, fields, models, and anything else requiring on-startup 
> checks will be gaining a verify() entry point that users can use to add 
> their own verification checks.
>
> However, Daniel's commit has forced the issue, because we now have a 
> checksetup command whose implementation and use is a simple version of what 
> we're targeting for the GSoC. 
>  
> So, do we:
>
> 1) Keep checksetup as a name, and integrate the GSoC work under that new 
> name (including making the API entry points called check() or checksetup() 
> ). 
>
> 2) Rename `checksetup` to `verify`, setting the groundwork for the GSoC to 
> expand on the implementation that is already there
>
> 3) Keep both commands. 
>
> Opinions? I don't think (3) is the way to go - I'm not sure how we'd 
> explain the existence of both commands. I could go either way on (1) or (2) 
> though -- I'm not in love with either name, we just need to pick one. 
>
> Either way, this also means there's some scope for refactoring -- 
> django.core.compat_checks is a bit of a wart of a name against the rest of 
> the django.core namespace, IMHO. Chris is going to have a need for a bunch 
> of verify/check related utilities, not the least of which are classes for 
> defining Verify/Check Errors and Warnings, so we have an opportunity to 
> create django.core.verify.compatiblity (or django.core.check.compatibility) 
> to store the compatibility checks, and django.core.check.utils to store the 
> helper pieces.
>
> Yours,
> Russ Magee %-)
>
> [1] 
> https://github.com/django/django/commit/91f317c76d503b4bcae5a26c230425944dbf4ea8
> [2] 
> https://groups.google.com/d/msg/django-developers/fEf21dtpqDE/YqxM_OopbHcJ
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-developers.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to