I could do a hook_form_alter() to set node_styles to automatically apply style overrides to all nodes across a site, but in cases where users aren't comfortable with writing the PHP for the hook_form_alter(), or in multisite setups where one has multiple users using the same theme and individual sites want to adjust the theme (without access to the backend and without affecting everyone else!), being able to set node_styles sitewide would be very cool. Additionally, it would then apply to admin and other system pages.
It looks like Bryght already has something similar to the functionality I'm describing: http://support.bryght.com/node/548 . It runs out of the theme config page. I haven't, however, found any indication of this functionality being available in a module in the contributions repository. And because the functionality already in node_style module would be desirable in a multisite setting as well, it seems adding the ability to set an individual scheme to apply sitewide would be a logical addition to the node_style module. It would clash with the name of the module, though... :)
I'm wondering what the developers' thoughts are about this functionality? Perhaps it should be a separate, multi-purpose style-tweaker module?
I'd be happy to contribute code towards this end.
mlsamuelson
Comments
Comment #1
Zen commentedThe plan, when this project was created, was to also write a separate and generic module named "signal" which would handle all such cases. The idea was that the signal module would provide a UI wherein the user would be able to create signals (sic) for stuff like node IDs, node types, paths, user IDs, roles, taxonomies and so on. Signals would allow for ranges, logical operators, regexes etc. Modules such node_style (which would have then become a misnomer) would register with these signals and would be invoked whenever a signal match occurs.
Berkes and I were planning on working on this, but it has just not materialised yet due to various constraints. What do you think, Michael?
-K
Comment #2
mlsamuelson commentedI like that idea, Zen. It could be a very useful module!
I'd be interested in working on it if you and/or Berkes would be willing to provide some mentoring. On my own, that module might be a little bigger than me. But with a bit of perspective and a push in the right direction...
mlsamuelson
Comment #3
Zen commentedI'll be happy to help. I've also pinged Berkes about this.
Cheers,
-K
Comment #4
mlsamuelson commentedThanks, Zen!
I've got to get out from under a few tasks that have come up since my initial posting, but once I've dug myself out (hopefully by the end of the week), I'll go ahead and create the project in CVS and put up a project page and we can move the discussion over there.
Since we've got a few days before I get to that, I might as well ask: you've referred to the module as Signal module, but because so many module names are in plural form (Views, Panels, etc.) I'm inclined to set it up as Signals. Does that work for you?
mlsamuelson
Comment #5
Zen commentedNaming: as opposed to filter, node, taxonomy, project? :)
I'm not fussed though :P
-K
Comment #6
mlsamuelson commentedSignal it'll be. Amusingly, Zen, I couldn't think of _any_ modules with singular names, and then you go and rattle off a bunch of obvious ones. :)
I think I've carved out enough space of begin devoting time to the Signal module. I can actually justify it at my day-job so I ought to be able to put in a couple of hours on it every week.
I've created a project page and have a folder with a README.txt in the CVS repository now. Additionally, I gave you CVS access.
So I guess the next step is to take the discussion to the Signal issue queue.
Comment #7
Zen commentedExcellent! Cheers, Mark.
-K
Comment #8
mlsamuelson commentedThought I should provide an update here...
I discontinued Signal module development after realizing that the Workflow_ng module was already doing most of the heavy-lifting that Signal was setting out to do.
At this point I haven't investigated the feasibility of writing an Workflow_ng action to switch the theme when a page is about to be viewed.
mlsamuelson