Ticket #10745 (closed PLIP: fixed)
Packaging updates for 3rd party Javascript
Reported by: | MatthewWilkes | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | 4.1 |
Component: | JavaScript | Version: | |
Keywords: | Cc: | smcmahon, plip-advisories@… |
Description (last modified by MatthewWilkes) (diff)
Proposer: Matthew Wilkes
Seconder: Steve McMahon
Motivation
There are some very popular Javascript libraries in use in Plone, such as jQuery, jQuery Tools and TinyMCE. Some of these have rich Plone integration packages in the plone.app.* namespace which necessitate tight control over who can change them.
The practical upshot is that integrators who want to use a different version of jQuery have to hack around with the JS Registry. By depending on the collective.js.* releases we can use the power of setuptools for version control.
Assumptions
This assumes we aren't shipping vendor modified branches of various JS libraries.
Proposal & Implementation
Move all third party Javascript libraries in core components to new packages in the collective repository. These will follow a standard format that provides access to the javascript as a browser resource and an entry in the JS registry.
Deliverables
New packages: collective.js.jquery, collective.js.jquerytools, collective.js.tinymce (maybe)
Risks
Since we'll have key components in the collective repository, it's going to be very important to identify the release managers for the components and make sure that PyPI package ownership is controlled.
Participants
Steve McMahon (I'll handle the jQuery Tools parts). Matthew Wilkes
Progress
-
Change History
comment:6 Changed 6 years ago by robgietema
As discussed in the FWT meeting:
- we thought it is a good idea in general but only for packages which are "frameworks" (so jquery and jquerytools and not tinymce)
- we didn't agree about this being in the collective
- we didn't like the double name space
so the proposal is:
- create plone.jquery with just the jquery.js file and the registration of the resource
- create plone.jquerytools with just the jquerytools.js file (factored out of p.a.jquerytools)
- let the plone.app.jquerytools contain just the plone integration
This follows the convention we have already about the plone.* and plone.app.* namespaces.
comment:7 Changed 6 years ago by davisagli
Another argument against doing it for tinymce is that at this point Products.TinyMCE has applied some modifications from the vendor source.
Please consider making sure the new packages work or at least degrade properly in Plone 3; otherwise 3rd-party add-ons keeping compatiblity with Plone 3 won't be able to depend on them.
comment:8 Changed 6 years ago by esteele
Your PLIP has been accepted for consideration for Plone 4.1.
Framework Team voting on this PLIP was: Alec +.5 Craig +.5 Elizabeth +0 Laurence +1 Martijn +1 Matthew -- Rob +1 Ross +1
The initial implementation deadline for your PLIP is October 1st, 2010. The Framework Team would certainly appreciate you finishing beforehand so that they may begin evaluating it as soon as possible. Announce its readiness here once your implementation is ready for review.
comment:10 Changed 5 years ago by esteele
- Status changed from new to closed
- Resolution set to fixed
Completed.