Provide warning when editing user layer
Short, concise description of the idea
When someone is editing a user layer, provide a warning that it should only be used for defining properties that can be changed through the Custom Options customization area, and that other information can be lost.
Full description of the idea
A fair number of people seem to put custom S2 functions, and other custom code, as part of their user layer. I've seen unofficial tutorials that specifically instruct to put code in the user layer rather than the theme layer; I've known people that put code in the user layer because they want to be able to use the theme layer for different color schemes, or because they think that's What You Do, or because it's user-created code and therefore makes sense in the user layer.
Except that the way the S2 style system is set up, the user layer is automatically overwritten by the customization area, which means that custom code can be lost without warning or without possibility of backup. The layer-related S2 FAQs do mention this problem, and anyone who asks in support will be told not to put code in user layers, but a lot of people don't look at those FAQs and don't ask in support and so don't know there's a problem, until all their code gets wiped.
There are valid reasons why people might want to manually create/edit user layers. (For example, color theme switching -- if the custom functions are in the Theme layer, multiple user layers for the different color arrangements would mean that it's easy to switch back and forth without re-doing each customization each time.) So I don't think it should be disabled. However, there *should* be some form of warning -- something that appears at the top of the S2 editor, or a confirmation screen when starting to edit a user layer, or something -- informing the user that code can be lost without warning and they should probably do a theme layer instead.
(Preferably, of course, the warning would only show up for user layers; someone who's editing a theme or layout layer doesn't need to know that editing user layers can be bad.)
- People are more likely to be aware of the problems with editing user layers, since it's not very obviously documented
- Those people who pay attention to the warning and create a theme layer instead of a user layer will not lose code unexpectedly
- Those people who ignore the warning and work with user layers anyway can't claim they weren't informed ;)
An ordered list of problems/issues involved
- People who are actually trying to create a user layer might be offended/annoyed at the warning
- Also, a lot of people will (unintentionally) skip over warnings without seeing them, which may reduce the effectiveness
- Alternatively, if the warning is in a blinky neon marquee for visibility, I may have to spork my eyes out. *grin*
An organized list, or a few short paragraphs detailing suggestions for implementation
- Change the S2 editor to recognize when someone is editing a user layer, and generate the warning as appropriate
- Push the code live
- Get snarked at for changing something about LiveJournal...