Ticket #12235 (closed PLIP: fixed)
Unified batch implementaion
Reported by: | tom_gross | Owned by: | tom_gross |
---|---|---|---|
Priority: | minor | Milestone: | 4.3 |
Component: | General | Version: | 4.1 |
Keywords: | Cc: |
Description (last modified by tom_gross) (diff)
Proposer: Tom Gross
Seconder: N.N.
Motivation
At the moment there are multiple batching implementations in Plone:
- CMFPlone/PloneBatch.py
- plone.app.content
- z3c.batching (via plone.z3cform)
Having these batches makes it difficult to maintain a common ui and usability. Furthermore it is hard for 3rd party product development to choose the right one to integrate.
Proposal & Implementation
Extract the batching mechanism and put it in a separate egg (plone.sequencebatch?) and point all other occurrences to this location. This makes it easier to maintain a common UI and development API. A separate batch implementation could in a later step respect internal features of the ZCatalog or 3rd party data providers (e.g. Solr) and provide a better performing solution.
The implementation should merge the code from PloneBatch and plone.app.content and get rid of the z3c.batching dependency, which is not integrated into the Plone styling and behavior in any way.
Deliverables
The plone.batching egg, which is based on BloneBatch and the plone.app.content implementation. The API of the batching has to be be documented well for 3rd party development and styling.
Progress
Idea and code analysis.
Risks
We risk to confuse 3rd party product developers by providing "just another" batch implementation. It is part of the PLIP to replace all other batch implementations in favor of the unified one.
Participants
Tom Gross - tom_gross (irc.freenode.net)
Change History
comment:3 Changed 4 years ago by tom_gross
The PLIP is ready for review https://raw.github.com/plone/buildout.coredev/4.2/plips/plip12234-batching.txt
comment:5 Changed 4 years ago by eleddy
Main thing missing on accepting this plip is documentation. You should have 2 reviews so please check those out and let us know if you have any questions and when the rest is ready.
comment:7 Changed 4 years ago by eleddy
- Version set to 4.1
- severity set to Untriaged
How is the documentation for this plip coming? we would like to prep it for merge
comment:8 Changed 4 years ago by tom_gross
I sent you and alec mitchell an email but it seems cc-ing it to plone-dev removed the other recipients :(
So here is the current status (see also my email PLIP 12235 plone.batching to plone-dev):
- The legal issue is fixed. The package is licesend ZPL 2.1 now.
- The batchformkeys-issue is fixed too. I reimplemented the feature.
- I'm working on the documentation. One part is available on github already but the majority is not pushed. I think I can finish and push the draft this week.
- The usage of the __len__-method is still open for discussion (see email).
comment:9 Changed 4 years ago by tom_gross
Update 2: I just pushed the documentation of the plone.batching package I have. Except from the __len__ issue all open points from the reviews should be fixed.
comment:10 Changed 4 years ago by alecm
Excellent. You've got a +1 from me then.
The len issue is a little hairy, but essentially unavoidable. However, all deprecated use of that method within the core should be fixed before release. I don't think it needs to happen before the merge, but that should probably be up to the release manager. It may be easier to track down and fix the warnings after the merge, to avoid creating a bunch of single fix branches of packages.
comment:11 Changed 4 years ago by kleist
- Status changed from new to confirmed
- Component changed from Infrastructure to General
Confirming, just to clean up the report "Untriaged Tickets".
comment:12 Changed 4 years ago by esteele
- Status changed from confirmed to closed
- Resolution set to fixed
FWT says: go for it! (4.3)