pallets-eco / flask-admin

Simple and extensible administrative interface framework for Flask
https://flask-admin.readthedocs.io
BSD 3-Clause "New" or "Revised" License
5.76k stars 1.57k forks source link

Can we add more write-access maintainers to the repo to keep updates flowing? #2153

Closed caffeinatedMike closed 3 months ago

caffeinatedMike commented 3 years ago

Currently there are 50 open pull requests and 340 open issues. I notice that the last commit was from August 2nd and the last official release to PyPI was April 17th. To many people these factors may make the project appear dead and unmaintained. @mrjoes would you consider granting a select group (maybe a few volunteers from the top contributors?) of additional users write access to the project, so the backlog can be worked on and updates can be more-regularly pushed?

mrjoes commented 3 years ago

For sure. Currently, all of our maintainers are fairly inactive - we have more than one.

caffeinatedMike commented 2 years ago

I can give it a shot if you'd like. I'm utilizing the bootstrap4 template for a current project, so I'd say my level of knowledge with the extensive code-base is limited. However, if it means keeping the project alive I'll try to get some of the existing PRs merged.

caffeinatedMike commented 2 years ago

You might also attract some more attention to the project if you were to add the label Hacktoberfest to the repository.

Here are a few notes I've taken thus far:

Addressed/PR Created/Merged: #2130 Editable column displays as 'Empty' when not "open" (PR created & merged) #2146: Fixes X-editable combodata not showing in editable column of list.html view. Closes #2144 #2022 (merged) #2115 Remove dependency on nose (port to pytest) (merged) #1864: column_editable_list can not work well on Relationship columns (possible link with #2130) (PR covering this merged) #2142: Fixed Upload fields compatibility with WTForms 3.x (PR created & merged) #2129: column_editable_list do not obey can_edit settings. (PR created & merged) #2151: SelectQueryField problem (issue is resolved - was operator error, no bug - closed) #1465: Waiting for it to be closed (supposedly fixed in #1742) (closed) #1306: Waiting for it to be closed (supposedly fixed in #1742) (closed) #2139: Fixes empty jsonfield, so it returns empty (approved, merged) #2141: Brand icon missing from navbar when on any page other than index (issue is resolved - was operator error, no bug - waiting for it to be closed)

2128: Add decorators to ModelView like MerhodView does (vetoed, waiting for it to be closed)

Tracking:

2044: Support Import data (waiting for OP to implement requested changes - This will also close #1353)

2116: Implement "frozen" fields (waiting for OP to implement requested changes)

Improvements Needed:

Bug that effects entire package Blueprints are registered twice when app.testing=True. When using an app factory function and registering the ModelViews from there Flask-Admin does not check whether it has already registered the blueprints. This causes an error since the werkzeug reloader is utilized (essentially starting the app twice) when testing is set to true. This doesn't seem to cause an issue when directly running the app (since that only sets app.debug=True, not app.testing), but does however cause most tests to break when the tests go to create an application instance. (Original source).

caffeinatedMike commented 2 years ago

Going to cc a few of the top contributors whose profiles seem active to see if we can start to re-animate this repo.

cc: @pawl @petrus-jvrensburg @michaelbukachi @singingwolfboy @plaes @abkfenris

Sorry for spamming you guys, just don't want a great project to die out!

michaelbukachi commented 2 years ago

@caffeinatedMike I don't mind helping out. We are using Flask-Admin heavily at work so it would be a huge benefit for us.

caffeinatedMike commented 2 years ago

@michaelbukachi That's great to hear! Do you have write-access (I don't)? I'd like to start cleaning things up and clearing the backlog.

michaelbukachi commented 2 years ago

@caffeinatedMike I do not sadly. Is it possible to reach out to one of the mainteners?

caffeinatedMike commented 2 years ago

@mrjoes 😄

mrjoes commented 2 years ago

Who's there? :smile:

Jokes aside, I'm totally OK merging things almost daily as long as someone can veto and sign off on pull requests. I don't have time to do code reviews these days, and it's hard for me to reason if changes are good enough to be accepted. If this'll work out as a start - we can definitely figure out merge permissions.

michaelbukachi commented 2 years ago

Who's there? smile

Jokes aside, I'm totally OK merging things almost daily as long as someone can veto and sign off on pull requests. I don't have time to do code reviews these days, and it's hard for me to reason if changes are good enough to be accepted. If this'll work out as a start - we can definitely figure out merge permissions.

I don't mind doing code reviews :raising_hand_man:

mrjoes commented 2 years ago

Great then. Please stamp PRs with seal of your approval and tag me in comments - I'll start merging things.

Also, I can do release whenever - I know some guys are waiting for some fixes to be released. Let's try this new process and if it'll work - we can do another release soon-ish.

caffeinatedMike commented 2 years ago

I'm also open to doing code-reviews and veto/sign-offs. I pretty much already started with my work above 😄

Would it make sense to make us actual reviewers (and requiring PRs to have at least one reviewer sign-off)? That would make things easy for you in terms of being automatically notified of PR approvals.

michaelbukachi commented 2 years ago

Great then. Please stamp PRs with seal of your approval and tag me in comments - I'll start merging things.

Also, I can do release whenever - I know some guys are waiting for some fixes to be released. Let's try this new process and if it'll work - we can do another release soon-ish.

Alright. I'll start reviewing them in the morning.

caffeinatedMike commented 2 years ago

I dove right in, sorry in advance for all the mentions guys!

TitaniumHocker commented 2 years ago

It's nice to see that someone found time to parse this bunch of PRs for merging. Btw, if someone interested in making improvements, - there is also need in migration from flask-babelex to flask-babel. flask-babelex can cause problems when using other libraries that have already moved from flask-babelex to flask-babel, such as flask-security-too.

caffeinatedMike commented 2 years ago

@TitaniumHocker I'm just happy to help/be able to contribute. Unfortunately, I don't have any experience with flask-babel(x). So, I'll need to cede those updates to someone else. Care to pitch in? :smiley:

TitaniumHocker commented 2 years ago

@TitaniumHocker I'm just happy to help/be able to contribute. Unfortunately, I don't have any experience with flask-babel(x). So, I'll need to cede those updates to someone else. Care to pitch in? 😃

Ok then, I'll work on it next weekend.

michaelbukachi commented 2 years ago

@caffeinatedMike https://github.com/flask-admin/flask-admin/pull/2044 seems good to go. What's next? I really think we should address the tests first.

caffeinatedMike commented 2 years ago

@michaelbukachi we requested changes to that one (adding a setting for upload directory) before merging. The op said they'd work on it this weekend. You could always piggyback off their progress to push it along if you have the time.

michaelbukachi commented 2 years ago

@michaelbukachi we requested changes to that one (adding a setting for upload directory) before merging. The op said they'd work on it this weekend. You could always piggyback off their progress to push it along if you have the time.

@caffeinatedMike I actually meant that it's out of our hands now :sweat_smile:.

caffeinatedMike commented 2 years ago

@michaelbukachi Oh 😆 Um, I'd really like to get #2157 integrated. Then, I really think it'd be wise to implement pagination in FileAdmin (#2154) sooner, rather than later. But, I'm open to suggestions. How would you like to coordinate?

michaelbukachi commented 2 years ago

@michaelbukachi Oh laughing Um, I'd really like to get #2157 integrated. Then, I really think it'd be wise to implement pagination in FileAdmin (#2154) sooner, rather than later. But, I'm open to suggestions. How would you like to coordinate?

I want to prioritize tests. I see that we are using Travis. We should migrate to Github actions. I'm willing to take this up and start working it ASAP.

caffeinatedMike commented 2 years ago

@michaelbukachi I definitely second GH Actions. By all means have at it! Tomorrow I'll look into the two issues I mentioned, as well as continue the ongoing correspondence with some of the open issues. I've addressed a few today and am waiting on a few OPs to reply or implement the requested changes for PRs. Slowly but surely we'll chip away 😄

michaelbukachi commented 2 years ago

@michaelbukachi I definitely second GH Actions. By all means have at it! Tomorrow I'll look into the two issues I mentioned, as well as continue the ongoing correspondence with some of the open issues. I've addressed a few today and am waiting on a few OPs to reply or implement the requested changes for PRs. Slowly but surely we'll chip away smile

Noice. Looking forward to the day we get those PRs and issues to double digits.

caffeinatedMike commented 2 years ago

We should probably coordinate a sweep of the super-old issues to determine the threshold/qualities that signify stale issues (so we can batch close them). For the time-being, until we get write access to the repo (in this case to use project board to triage the sorting of existing issues and PRs) I guess we just continue to track them here. You can always check my issue comment above for a list of what's going on on my end.

@mrjoes I think we might be better off getting some sort of access sooner, rather than later because the coordination we'll need when trying to work through old issues is best suitable for a Project board.

caffeinatedMike commented 2 years ago

We need a better way to work through these Issues/PRs. I'm getting sick of updating my comment lol.

ulgens commented 2 years ago

Hey guys, what is the best way to contribute to the cleaning? I can contribute to cleaning the test matrix, fixing the CI, moving the CI to Github actions and updating outdated documents.

michaelbukachi commented 2 years ago

@ulgens Feel free to open any PRs based on open issues than tag me or @caffeinatedMike in the PR .

ulgens commented 2 years ago

@michaelbukachi Got it, thank you. Can we start with https://github.com/flask-admin/flask-admin/pull/2069 please? Then I'll send a fix for https://github.com/flask-admin/flask-admin/issues/1978

michaelbukachi commented 2 years ago

@ulgens we've already migrated to GitHub actions. See #2169. The tickets you've suggested can be follow up work.

ulgens commented 2 years ago

@michaelbukachi Thanks for the info. I didn't realize the config is already in place because the main branch still has travis.yml and build badge goes to Travis. Maybe that should be another PR.

michaelbukachi commented 2 years ago

@ulgens Yes. We are supposed to do a follow up PR to cleanup.

pawl commented 2 years ago

Just saw this thread. It might be safest to remove me as a maintainer for now. I've been doing Django stuff for work for the last few years, and haven't used flask-admin in a long time. (Note: I'm not saying Django's admin is better.)

Maybe we can re-add me in the future if things change and I start working with Flask stuff and contributing to flask-admin again.

odigity commented 1 year ago

I'm guessing this rescue effort has expired.

Seems that, for the moment, flask-admin is a dead project. Which is a shame. I dislike Django Admin...

davidism commented 3 months ago

Flask-Admin is now part of the Pallets Community Ecosystem. Pallets is the open source organization that maintains Flask; Pallets-Eco enables community maintenance of Flask extensions. If you are interested in helping maintain this project, please reach out on the #pallets-eco channel on the Pallets Discord server.

@caffeinatedMike @michaelbukachi @TitaniumHocker @ulgens @odigity