Re: New Merger nomination.

2020-04-21 Thread Markus Holtermann
I vote in favor of Claude becoming a MERGER.

Cheers,

Markus

On Thu, Apr 16, 2020, at 10:31 PM, charettes wrote:
> I cast my vote in favor of Claude's nomination as well.
> 
> Le jeudi 16 avril 2020 16:16:31 UTC-4, Adam Johnson a écrit :
> > This has fallen by the wayside, let's try restarting.
> > 
> > As Carlton points out, Claude hasn't been merging in code without others 
> > reviewing it. But as I understand it is useful to keep translations moving 
> > that he can merge in his or others' (accepted) PR's. It gets us to the 
> > minimum of three mergers, and Claude has stated he's willing to do his best 
> > in the role of merger. And I hope Claude can help inform us what we can do 
> > to make i18n more smooth.
> > 
> > I nominate Claude as a merger.
> > 
> > Technical board, please post your votes.
> > 
> > On Thu, 19 Mar 2020 at 07:59, Carlton Gibson  wrote:
> >> I don't know if this got blocked in the now-obsolete use of cognates of 
> >> "commit"? 
> >> 
> >> > The Merger role is not just a new name for "committer". If Claude is 
> >> > appointed a Merger, he will be forbidden to do what you are saying -- 
> >> > a Merger cannot push their own contributions directly into Django! 
> >> 
> >> Claude hasn't, and wouldn't, "commit" directly to Django here. He's always 
> >> opened a 
> >> PR with the translations updates, which has then been reviewed, and which 
> >> then, yes, he has 
> >> merged, and forward/backported as necessary — which IS the Merger role. 
> >> (IIUC)
> >> 
> >> In the Merger role, Claude would also be able to approve and Merge other 
> >> PRs. 
> >> 
> >> Beyond this important translations case, we do need a third Merger, and I 
> >> cannot think of a better candidate. 
> >> (The two most active contributors are Claude and Simon, and Simon cannot 
> >> serve as a Merger because of his 
> >> role on the Technical Board.) 
> >> 
> >> I would ask the Technical Board to proceed with the nomination, as, bar 
> >> the loose language, I think it is in line with the DEP. 
> >> 
> >> Kind Regards,
> >> 
> >> Carlton
> >> 
> 
> >>  -- 
> >>  You received this message because you are subscribed to the Google Groups 
> >> "Django developers (Contributions to Django itself)" group.
> >>  To unsubscribe from this group and stop receiving emails from it, send an 
> >> email to django-d...@googlegroups.com.
> >>  To view this discussion on the web visit 
> >> https://groups.google.com/d/msgid/django-developers/14af7b19-bcd3-4462-9e25-606f30ff6eda%40googlegroups.com
> >>  
> >> .
> > 
> > 
> > -- 
> > Adam
> 
>  -- 
>  You received this message because you are subscribed to the Google 
> Groups "Django developers (Contributions to Django itself)" group.
>  To unsubscribe from this group and stop receiving emails from it, send 
> an email to django-developers+unsubscr...@googlegroups.com.
>  To view this discussion on the web visit 
> https://groups.google.com/d/msgid/django-developers/c13e6529-0e75-4e04-8ea6-501982420504%40googlegroups.com
>  
> .

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers  (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-developers+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/ce2d7acb-8ad8-4d79-b76b-643499ca745a%40www.fastmail.com.


Fellow Reports -- April 2020

2020-04-21 Thread Carlton Gibson
Hi all. 




Calendar Week 14 -- ending 05 April.


Triaged:

https://code.djangoproject.com/ticket/31418 -- ValueError when 
FileBasedCache is used in Python 2.7 (invalid)
https://code.djangoproject.com/ticket/31411 -- Use RENAME COLUMN on MariaDB 
10.5.2+. (Accepted)
https://code.djangoproject.com/ticket/12826 -- Use __slots__ for some 
simple objects. (wontfix)
https://code.djangoproject.com/ticket/31405 -- 
LoginRequiredAuthenticationMiddleware force all views to require 
authentication by default. (Accepted)



Reviewed:

https://github.com/django/django/pull/12634 -- Fixed #31275 -- Optimized 
sql_flush() without resetting sequence on MySQL.
https://github.com/django/django/pull/12650 -- Refs #29988 -- Changed 
simple .format() calls to use f-strings.
https://github.com/django/django/pull/12517 -- Fixed #29329 -- Made 
datetime logging from runserver consistent.
https://github.com/django/django/pull/11937 -- Fixed #27395 -- Updated 
sitemap to generate 'alternates'.
https://github.com/django/django/pull/12642 -- Fixed #29205 -- 
MultiValueField ignores a required value of a sub field.
https://github.com/django/django/pull/12645 -- Fixed all accidental use of 
single backticks in docs.
https://github.com/django/django/pull/12647 -- Refs #12990 -- Moved 
PostgresSimpleLookup to the django.db.models.lookups.PostgresOperatorLookup.
https://github.com/django/django/pull/12643 -- Removed unused link in 
faq/help.txt.
https://github.com/django/django/pull/8477 -- Fixed #28184 -- Allowed 
passing a callable storage to FileField.
https://github.com/django/django/pull/12635 -- Refs #31040 -- Used 402 HTTP 
status in middleware_exceptions tests.
https://github.com/django/django/pull/12627 -- Fixed #31375 -- Made 
contrib.auth.hashers.make_password() accept only bytes or strings.
https://github.com/django/django/pull/12637 -- Fixed #30864 -- Doc'd 
classproperty decorator.







Calendar Week 15 -- ending 12 April.


Triaged:

https://code.djangoproject.com/ticket/31441 -- TabluarInline will not auto 
unhide/expand when classes = ['collapse'] and there is error 
during the saving process in django admin (Accepted)
https://code.djangoproject.com/ticket/31442 -- Inherited ManyToMany.all() 
empty with multiple inherited models of same name from abstract one 
(Invalid)
https://code.djangoproject.com/ticket/31427 -- Better support for __html__ 
in django admin (needsinfo)
https://code.djangoproject.com/ticket/31424 -- 
django.utils.log.AdminEmailHandler won't include stack trace when 
django.server logs are propogated (invalid)



Reviewed:

https://github.com/django/django/pull/12656 -- Fixes #13009 -- provide 
django.forms field type info for use in templates
https://github.com/django/django/pull/12689 -- Refs #31411 -- Used RENAME 
COLUMN on MySQL 8.0.4+.
https://github.com/django/django/pull/12685 -- Fixed typo in 
tests/backends/base/test_operations.py.
https://github.com/django/django/pull/8477 -- Fixed #28184 -- Allowed 
passing a callable storage to FileField.
https://github.com/django/django/pull/12682 -- Refs #30966 -- Added test 
for reloading related model state on non-relational changes.
https://github.com/django/django/pull/12661 -- Fixed #31407 -- Suppress 
`coroutine never awaited` warning in runtests.py
https://github.com/django/django/pull/12653 -- Enforced uniqueness of 
natural keys used in tests.
https://github.com/django/django/pull/12670 -- Fixed Sphinx warnings.
https://github.com/django/django/pull/12656 -- Fixes #13009 -- provide 
django.forms field type info for use in templates



Authored:

https://github.com/django/django/pull/12691 -- Fixed #31407 -- Fixed 
unawaited coroutine warning for Python 3.8+.
https://github.com/django/django/pull/12684 -- Fixed #31437 -- Corrected 
tests to show abstract multiple inheritance system check error.





Calendar Week 16 -- ending 19 April.


Triaged:

https://code.djangoproject.com/ticket/31450 -- Querying on 
ArrayField(PointField) returns string instead of list (Accepted)
https://code.djangoproject.com/ticket/31461 -- Make it easier to customize 
ValidationError messages in contrib.auth.password_validation (wontfix)
https://code.djangoproject.com/ticket/31443 -- 
LoginRequiredMixin/AccessMixin bug with off-site LOGIN_URL (Accepted)
https://code.djangoproject.com/ticket/25671 -- arrange model in django 
admin index page (wontfix)



Reviewed:

https://github.com/django/django/pull/12591 -- Fixed #30311 -- Replaced 
global admin actions with specialized ones per-admin
https://github.com/django/django/pull/12736 -- Refs #26552 -- Made 
reloading the database for tests check only loaded tables constraints.
https://github.com/django/django/pull/12017 -- Refs #21231 -- Backport 
urllib.parse.parse_qsl() from Python 3.8.
https://github.com/django/django/pull/12724 -- Improved action message 
example in admin documentation.
https://github.com/django/django/pull/12725 -- Fixed #31470 -- Fixed 
fieldset admin CSS to prevent overflowing 
 elements.
htt

Re: Progress report: DEP 10 implementation

2020-04-21 Thread Markus Holtermann
Thanks for the summary, James.

As one of the IRC group contacts, here's the proposal for what happens to the 
cloaks on Freenode:

- Right now there's a @django/committer/$name cloak. We'd abandon that cloak.

- Instead, every DSF member can apply for a @django/member/$name cloak by 
getting in touch with one of the IRC group contacts (namely apollo13 and 
myself, MarkusH) and pointing them to their name on the DSF member list. I'm 
not entirely sure yet how we would do the verification. Maybe by asking for the 
IRC handle when people become IRC members?

- To ensure we have moderators in place for every #django-* channel we'd also 
introduce the @django/moderator/$name cloak. Each DSF member can apply for that 
cloak. It will give cloak holders "voice" privileges in #django-* channels. One 
needs to show "regular activity" in at least one official channel to become a 
moderator.

- Former @django/committer/$name holders will be migrated to 
@django/member/$name unless they reach out to an IRC group contact before (or 
after, but that's double the work 😉).

With regards to the #django-core IRC channel, we'll figure out how to delete 
it. People in there, expect to be kicked out 🙂.

Cheers,

Markus

On Tue, Apr 21, 2020, at 5:34 AM, James Bennett wrote:
> Last month the process of adopting DEP 10 -- new governance for the
> Django project -- was completed:
> 
> https://www.djangoproject.com/weblog/2020/mar/12/governance/
> 
> As a result, we are now in the implementation stage. Although there
> will almost certainly be other items that pop up on the to-do list,
> here's a quick status update on what has been done so far, and what
> still needs to be done.
> 
> Some of these items require particular permissions; for example, I
> believe I currently have the necessary permissions to handle the PyPI
> configuration change, and I know I have the necessary permissions to
> create a page on djangoproject.com for listing the recipients of the
> initial grant of "Django Core Developer" status, but some others --
> particularly closing mailing lists, and IRC-channel bureaucracy -- I
> don't have access for, so consider this message a call to anyone who
> *does* have those permissions to get in touch and coordinate on
> getting them done.
> 
> 
> * DONE -- Create a Mergers group for the main Django repository
> * DONE -- Remove commit access for the main Django repository from the
> former "Django Core" team
> 
> * IN PROGRESS -- DSF Board develops infrastructure for running a
> Technical Board election
> * IN PROGRESS -- Restrict PyPI package-upload access to Releasers
> * IN PROGRESS -- Add page on djangoproject.com listing recipients of
> "Django Core Developer" title
> * IN PROGRESS -- Update Django documentation to describe DEP 10 governance
> 
> * TODO -- Close django-core mailing list
> * TODO -- Close django-technical-board mailing list
> * TODO -- Close #django-core IRC channel
> * TODO -- Remove or change Django "committer" cloak on Freenode IRC
> * TODO -- DSF Board to create a process for granting "Django Core
> Developer" title beyond initial DEP 10 grant
> * TODO -- First DEP 10 election of Technical Board
> 
> -- 
> You received this message because you are subscribed to the Google 
> Groups "Django developers  (Contributions to Django itself)" group.
> To unsubscribe from this group and stop receiving emails from it, send 
> an email to django-developers+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/django-developers/CAL13Cg9vj6qGbnR9Zj6inYNsRTv1Orbvn-CkWBmtCFRDoLTxGA%40mail.gmail.com.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers  (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-developers+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/0ddfcd81-7495-46c6-973b-47d8c5c3df4d%40www.fastmail.com.


Re: New Merger nomination.

2020-04-21 Thread Andrew Godwin
I also vote in favour of Claude becoming a Merger!

Andrew

On Tuesday, April 21, 2020 at 4:28:41 AM UTC-6, Markus Holtermann wrote:
>
> I vote in favor of Claude becoming a MERGER. 
>
> Cheers, 
>
> Markus 
>
> On Thu, Apr 16, 2020, at 10:31 PM, charettes wrote: 
> > I cast my vote in favor of Claude's nomination as well. 
> > 
> > Le jeudi 16 avril 2020 16:16:31 UTC-4, Adam Johnson a écrit : 
> > > This has fallen by the wayside, let's try restarting. 
> > > 
> > > As Carlton points out, Claude hasn't been merging in code without 
> others reviewing it. But as I understand it is useful to keep translations 
> moving that he can merge in his or others' (accepted) PR's. It gets us to 
> the minimum of three mergers, and Claude has stated he's willing to do his 
> best in the role of merger. And I hope Claude can help inform us what we 
> can do to make i18n more smooth. 
> > > 
> > > I nominate Claude as a merger. 
> > > 
> > > Technical board, please post your votes. 
> > > 
> > > On Thu, 19 Mar 2020 at 07:59, Carlton Gibson  
> wrote: 
> > >> I don't know if this got blocked in the now-obsolete use of cognates 
> of "commit"? 
> > >> 
> > >> > The Merger role is not just a new name for "committer". If Claude 
> is 
> > >> > appointed a Merger, he will be forbidden to do what you are saying 
> -- 
> > >> > a Merger cannot push their own contributions directly into Django! 
> > >> 
> > >> Claude hasn't, and wouldn't, "commit" directly to Django here. He's 
> always opened a 
> > >> PR with the translations updates, which has then been reviewed, and 
> which then, yes, he has 
> > >> merged, and forward/backported as necessary — which IS the Merger 
> role. (IIUC) 
> > >> 
> > >> In the Merger role, Claude would also be able to approve and Merge 
> other PRs. 
> > >> 
> > >> Beyond this important translations case, we do need a third Merger, 
> and I cannot think of a better candidate. 
> > >> (The two most active contributors are Claude and Simon, and Simon 
> cannot serve as a Merger because of his 
> > >> role on the Technical Board.) 
> > >> 
> > >> I would ask the Technical Board to proceed with the nomination, as, 
> bar the loose language, I think it is in line with the DEP. 
> > >> 
> > >> Kind Regards, 
> > >> 
> > >> Carlton 
> > >> 
> > 
> > >>  -- 
> > >>  You received this message because you are subscribed to the Google 
> Groups "Django developers (Contributions to Django itself)" group. 
> > >>  To unsubscribe from this group and stop receiving emails from it, 
> send an email to django-d...@googlegroups.com. 
> > >>  To view this discussion on the web visit 
> https://groups.google.com/d/msgid/django-developers/14af7b19-bcd3-4462-9e25-606f30ff6eda%40googlegroups.com
>  
> <
> https://groups.google.com/d/msgid/django-developers/14af7b19-bcd3-4462-9e25-606f30ff6eda%40googlegroups.com?utm_medium=email&utm_source=footer>.
>  
>
> > > 
> > > 
> > > -- 
> > > Adam 
> > 
> >  -- 
> >  You received this message because you are subscribed to the Google 
> > Groups "Django developers (Contributions to Django itself)" group. 
> >  To unsubscribe from this group and stop receiving emails from it, send 
> > an email to django-d...@googlegroups.com . 
> >  To view this discussion on the web visit 
> > 
> https://groups.google.com/d/msgid/django-developers/c13e6529-0e75-4e04-8ea6-501982420504%40googlegroups.com
>  
> <
> https://groups.google.com/d/msgid/django-developers/c13e6529-0e75-4e04-8ea6-501982420504%40googlegroups.com?utm_medium=email&utm_source=footer>.
>  
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers  (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-developers+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/15a11b73-d6dd-4ea4-af42-0919e75a5147%40googlegroups.com.


Re: Fellow Reports - April 2020

2020-04-21 Thread Mariusz Felisiak
Week ending April 19, 2020.

*Triaged:*
https://code.djangoproject.com/ticket/31457 - Docker container django html 
page was {{form.first_name}}. (invalid)
https://code.djangoproject.com/ticket/31455 - Support DEFERRABLE INITIALLY 
DEFERRED for EXCLUSION constraints. (accepted)
https://code.djangoproject.com/ticket/31458 - Allow changing 
executable_name for dbshell management command. (wontfix)
https://code.djangoproject.com/ticket/31462 - Allow overridding widget in 
formfield_for_manytomany(). (accepted)
https://code.djangoproject.com/ticket/31454 - The behavior of m2m_changed 
signals does not match the documentation. (duplicate)
https://code.djangoproject.com/ticket/31459 - URL path parameter regex too 
lenient. (accepted)
https://code.djangoproject.com/ticket/31465 - "python3 manage.py shell" 
using IPython instead of Python. (invalid)
https://code.djangoproject.com/ticket/31463 - Apply OPTIONS in database 
settings to dbshell. (duplicate)
https://code.djangoproject.com/ticket/31464 - Oracle destroy test database 
mixes tablespace, database and tables. (invalid)
https://code.djangoproject.com/ticket/31466 - A potential improvement in 
the Django template filter `escapejs`. (wontfix)
https://code.djangoproject.com/ticket/31467 - Possible error in the doc 
"Writing your first Django app, part 1". (invalid)
https://code.djangoproject.com/ticket/31470 - Overflow not respected when 
using `` tag in `` in the admin site. (accepted)
https://code.djangoproject.com/ticket/31469 - Custom lookup ignored inside 
built-in aggregation. (duplicate)
https://code.djangoproject.com/ticket/31472 - UserAdmin returns incorrect 
fieldsets when model has overridden __bool__. (wontfix)

*Reviewed/committed:*
https://github.com/django/django/pull/12701 - Refs #31196 -- Installed 
postgis_raster extension on PostGIS 3+.
https://github.com/django/django/pull/12355 - Fixed #31196 -- Added support 
for PostGIS 3.
https://github.com/django/django/pull/12508 - Fixed #29501 -- Allowed 
dbshell to pass options to underlying tool.
https://github.com/django/django/pull/12713 - Fixed #31462 -- Allowed 
overriding autocomplete/raw_id_fields/filter widgets for ManyToManyFields 
with formfield_overrides.
https://github.com/django/django/pull/12700 - Fixed #31451 -- Made settings 
cleansing work with list and tuple settings.
https://github.com/django/django/pull/12625 - Fixed #31268 -- Updated 
Algerian Arabic (ar_DZ) locale formats.
https://github.com/django/django/pull/12710 - Fixed #31459 -- Fixed 
handling invalid indentifiers in URL path conversion.
https://github.com/django/django/pull/12454 - Refs #27468 - Changed default 
Signer algorithm to SHA-256.
https://github.com/django/django/pull/12305 - Removed unused __str__() 
methods in tests models.
https://github.com/django/django/pull/12517 - Fixed #29329 -- Made datetime 
logging from runserver more consistent.
https://github.com/django/django/pull/12729 - Added test coverage for 
DatabaseOperations.sql_flush().
https://github.com/django/django/pull/12733 - Fixed #31473 -- Made 
sql_flush() use RESTART IDENTITY to reset sequences on PostgreSQL.
https://github.com/django/django/pull/12591 - Fixed #30311 -- Restored 
ability to override global admin actions.

*Reviewed:*
https://github.com/django/django/pull/12725 - Fixed #31470 -- Fixed 
fieldset admin CSS to prevent overflowing  elements.

*Authored:*
https://github.com/django/django/pull/12735 - Refs #31351 -- Made partial 
constraints tests use required_db_features.
https://github.com/django/django/pull/12736 - Refs #26552 -- Made reloading 
the database for tests check only loaded tables constraints.

Best regards,
Mariusz

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers  (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-developers+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/c78f0b3d-9df6-4a04-beef-1e8e98ebd7c0%40googlegroups.com.


Management of static assets

2020-04-21 Thread David Smith
Hi All, 

I hope you are all well. 

I've been thinking about static assets over the past week or so following 
my email on widget media. I collated the past 6 year's worth of discussions 
into a single source, with relevant extracts and links to sources. I've 
also set out some options and given my thoughts (FWIW). I've not yet done 
any detailed planning as I think we need to agree general principles first. 
Sorry this is a bit long, may need to go get a cup of tea first :-)

I hope this is helpful to aid discussion on this topic 🤞 



*Summary*
The below sets out this historical context for ticket #22298 
 (What to do with Widget 
Media) and the wider discussions this generated on how Django should manage 
assets. Whilst there are some detailed points below, these are to help set 
context and to aid discussion. This is a wide and deep topic and therefore 
I suggest at this stage we discuss the topic with an aim to agree the 
overall direction. The principle I suggest we discuss is:

*In alignment with it's "batteries included" philosophy, should Django have 
an aim to improve the management of static assets? *

In addition to seeking agreement to this broad principle I'd also like to 
encourage discussion on the topics which fall under this category. Here are 
some questions to aid a discussion, although I fully expect the 
conversation to be wider than these initial suggestions. Some items may be 
easier to seek agreement on than others; however, all will take time and 
effort of the community to agree the correct design and implementation. 

1. Should Django have an improved way of managing assets within apps 
(something akin to #29586)
2. Should Django have the ability to compile and compress assets?
3. Should Django have Webpack support?
4. Should Django have improved support for JS frameworks?
5. Should Django have support for NPM?

Based on evidence below my view is that there is enough support to improve 
Django's support in this area generally. Assuming this is agreed I think 
the a range of options are:

   - Provide improve awareness of static assets with Django core to help 
   3rd party packages
   - In addition, integrate an asset pipeline
   - In addition, integration with webpack, and support JS frameworks.


My personal view is that option one is fairly cautious, there are already 
3rd party packages which enable this functionality, and that the third one 
is too ambitious. I suspect most people using JS frameworks are doing it 
anyway irrespective of what is part of Django code. I think there the most 
value can be added is for sites with mostly HTML / CSS and, but would like 
some help compiling CSS and "sprinkling" a bit of JS here and there. 

I'd therefore suggest we start by revisiting work previously done by Claude 
to understand if this is the right foundation. Once this is complete this 
will enable phase two to integrate an asset pipeline / compressor into 
Django. I would suggest that this is via a separate package to start with 
under the Django umbrella. I suspect the pace of iteration will be too fast 
for Django core, and we would like it to be more stable before merging it. 
Would it be possible to use some of the existing work that the wider 
community has already developed and explore building on (or 'just' use) an 
existing 3rd party package? (I don't know how acceptable this is, or not)

My personal recommendation is also that ticket #22298 is closed or marked 
as someday / maybe. Widget Media may be useful in the future, we don't know 
yet. I would not support the deprecation of this functionality without  
something better to replace it. I also feel that a rename would have little 
benefit but would cause disruption for those using it and numbers may be 
high given it's been in place for many years. If agreement can be sought on 
this then it will help other Media related tickets to be progressed 
(example : #21987).

Below is an overview of various comments, on tickets, mailing list and pull 
requests over the past 6 years. 

*The ticket in question was on Widget Media, So what does Widget Media do?*

It is used to load CSS or JS to widgets / forms (e.g. add