Ticket #9314 (closed PLIP: fixed)
Plone "Developer Pack" option for installers
Reported by: | smcmahon | Owned by: | smcmahon |
---|---|---|---|
Priority: | minor | Milestone: | 4.0 |
Component: | Installers | Version: | |
Keywords: | Cc: | plip-advisories@… |
Description (last modified by smcmahon) (diff)
Proposer: Limi
Seconder: Steve McMahon (smcmahon)
Motivation
It's probably just as likely that our installers are being used to create developer environments (theming and content type — not core) as for production environments.
Assumptions
All of our installers are buildout-based now, and as of 3.3 will be using very similar buildouts. Those buildouts already have a set of commented-out egg lines for popular packages, including several very commonly used development tools. Offering an installation option that turned these on by default would deliver an immediately useful environment for exploring development tools.
Proposal & Implementation
Provide in the installers an installation option (a command-line option in the Unified Installer; checkbox options on the graphical installers) to load a common development environment.
Products included in the buildout and pre-installed in the sample Plone site:
- Products.Clouseau
- Products.DocFinderTab
- Products.Gloworm
- plone.reload
- roadrunner
- omlette
- eggtractor
Also, turning on Zope debug (not as sure about registry debug).
Deliverables
- Unified, Windows and OS X installers working with the new options.
- Installer documentation on the options, their implications, and when to choose them.
Risks
- Further option complication of the installers, potential misunderstanding of the options.
- These configurations would leak out to production sites that are deployed by less experienced users.
- A community risk that the toolset chosen may be controversial.
Risk Mitigation
Good documentation would minimize, though not eliminate, the first two risks.
Participants
Steve McMahon (smcmahon) will refine the buildouts and site-creation code for all installers, and add the options to the unified and os x installer. Sidnei would need to add the option to the Windows installer.
Progress
Existing installer buildouts already provide much of this as commented-out examples.
Change History
comment:3 in reply to: ↑ 1 Changed 7 years ago by smcmahon
Replying to MatthewWilkes:
Isn't there also a risk that these configurations would leak out to production sites that are deployed by less experienced users?
Good point. I've added that to the risks and suggested that good documentation could minimize it.
comment:4 Changed 7 years ago by pupq
+1. People really want to understand where to start. They want us to help pick a decent set of starting developer products.
(All I'd add would be the printing mail host to that list)
comment:5 follow-up: ↓ 7 Changed 7 years ago by csenger
+1 Collecting a good set of developer tools is not easy.
I find Products.PDBDebugMode and collective.recipe.omelette extremely useful, but leave the decision to others gladly ;)
comment:7 in reply to: ↑ 5 Changed 7 years ago by smcmahon
Replying to csenger:
... I find Products.PDBDebugMode and collective.recipe.omelette extremely useful, but leave the decision to others gladly ;)
I've added omlette and eggtractor to the list. Should have thought of them in the first place.
PDBDebugMode is great, but strikes me as a bit too intrusive and demanding for a default developer install. I'd be interested in opinions on that.
comment:8 Changed 7 years ago by erikrose
- Owner smcmahon deleted
Clearing Owner field of 4.0 PLIPs so we can use it to mean "implementor". (Many of these owners were automatically assigned from choosing a Component that had a default owner.)
comment:9 Changed 7 years ago by alecm
+1
This would be very helpful to have in the installers. I agree that PDBDebugMode, while very useful, would cause a great deal of confusion if enabled in any sort of automated manner.
comment:11 Changed 7 years ago by MatthewWilkes
FWT Vote: +1
comment:13 Changed 7 years ago by rossp
FWT vote: +1. As the author of PDBDebugMode, I think it would be a bad idea to include by default. It should only be included by someone intentionally after having made a conscious decision to become familiar with pdb. I would like to see ZopeSkel added to the developer environment as well.
comment:14 Changed 7 years ago by davisagli
FWT vote: +1.
This also gives us a chance to experiment and learn about the consequences of including more choices in the installer, which is a direction we might want to head further in if we get a simple "Plone base" for Plone 5.
Re the risk of things leaking into production environments...we could probably implement some sort of warning if known debug products are present and the site is VHM'd at port 80 or 443.
omelette's Windows compatibility is sort of a hack involving junction.exe to work around the lack of symlinks on that platform...it probably shouldn't be included on Windows.
comment:15 Changed 7 years ago by raphael
FWT vote: +1
and I agree with others to leave out PDBDebugMode.
comment:16 Changed 7 years ago by calvinhp
FWT Vote: +1 I'd also like to see the following included:
- ipython interpreter shell
- PrintingMailHost
- collective.workflowed
- zope.testrecorder
- dcworkflowgraph
I'm +1 for leaving in PDBDebugMode as it is an invaluable tool in debugging problems.
comment:17 follow-ups: ↓ 18 ↓ 19 Changed 7 years ago by witsch
not sure if it's too late, but i'd also nominate mr.freeze & Products.signalstack/. both are extremely useful!
comment:18 in reply to: ↑ 17 Changed 7 years ago by smcmahon
Replying to witsch:
not sure if it's too late, but i'd also nominate mr.freeze & Products.signalstack/. both are extremely useful!
As Hanno just pointed out:
"""remember the "dev pack" is more of an "integrators pack", so GloWorm and stuff is good. developers won't use the installer anyways and want to have it all custom with vimacs plugins..."""
Or, in my words: if you know how to send a USR1 signal, you're not the target audience.
comment:19 in reply to: ↑ 17 Changed 7 years ago by witsch
Replying to witsch:
not sure if it's too late, but i'd also nominate mr.freeze & Products.signalstack/. both are extremely useful!
as hanno correctly pointed out (on irc) the "dev pack" is supposed to be more like an "integrator pack", so mr.freeze might not be all that useful here. still, Products.signalstack would make a great addition, imho...
comment:20 Changed 7 years ago by esteele
Approved by FWT vote.
comment:23 Changed 6 years ago by limi
Or is this still targeted for 4.0? Re-reading it makes me uncertain. :)
comment:24 Changed 6 years ago by smcmahon
I'm still hoping it will be possible to get it done, given that it doesn't have to happen on the normal alpha,beta,rc schedule. But, we'll see!
comment:25 Changed 6 years ago by smcmahon
- Status changed from assigned to closed
- Resolution set to fixed
A first implementation of this will ship with 4.0b3. It's implemented as a "develop.cfg" that extends the installer-generated buildout.cfg.
The implementation is minimal in comparison with some of the ideas discussed earlier. My goal is to quickly get someone up-to-speed for a basic theme or Archetypes content-type project.
Here's what's added to the base (note that dumppickedversions is in the base):
extensions +=
mr.developer
eggs +=
Products.DocFinderTab plone.reload
parts +=
test zopeskel omelette
comment:26 Changed 6 years ago by davisagli
Omelette should not be added in Windows -- it requires a filesystem that supports symlinks.
Is the develop.cfg exposed anywhere in the installer UI, or is it just an option for when you run buildout manually sometime after installation?
comment:27 Changed 6 years ago by smcmahon
"""Omelette should not be added in Windows -- it requires a filesystem that supports symlinks."""
I'll make sure to point that out to Sidnei. We can just comment it out with a note.
"""Is the develop.cfg exposed anywhere in the installer UI, or is it just an option for when you run buildout manually sometime after installation?""
Just an after-install option.
Isn't there also a risk that these configurations would leak out to production sites that are deployed by less experienced users?