On 21.03.2015 02:34, RjOllos wrote:
> * I suppose that if a plugin creates its own resource directory, it
> should be mapped too. A plugin like wikiextras creates 7 of these
> directories which makes a lot of aliases
Ideally, yes.
I would also like to try and understand this better.
All of the static assets of WikiExtrasPlugin are extracted below
/path/to/trac/htdocs/wikiextras, so would the following be sufficient,
even though there are subdirectories in wikiextras?:
Alias /trac/chrome/wikiextras /path/to/trac/htdocs/wikiextras
$ find /path/to/trac/htdocs/wikiextras/ -type d
/path/to/trac/htdocs/wikiextras/
/path/to/trac/htdocs/wikiextras/icons
/path/to/trac/htdocs/wikiextras/icons/fugue
/path/to/trac/htdocs/wikiextras/icons/fugue/icons-shadowless
/path/to/trac/htdocs/wikiextras/icons/fugue/bonus
/path/to/trac/htdocs/wikiextras/icons/fugue/bonus/icons-shadowless-32
/path/to/trac/htdocs/wikiextras/icons/fugue/bonus/icons-shadowless-24
/path/to/trac/htdocs/wikiextras/icons/fugue/bonus/icons-24
/path/to/trac/htdocs/wikiextras/icons/fugue/bonus/icons-32
/path/to/trac/htdocs/wikiextras/icons/fugue/icons
/path/to/trac/htdocs/wikiextras/css
Maybe I misunderstood the initial question or at least missed the part
about wikiextras creating 7 directories. I just meant to say that, yes,
resource directories of plugins should be mapped too. But you are right,
one Alias directive is sufficient for all subdirectories.
>
> * I don't understand why "its important to override only known
paths and
> not try to make universal |/chrome| alias for everything", unless
you
> suspect a rogue user could create more directories in `htdocs`
I think it just means that not necessarily all paths can be mapped the
same way, e.g. because plugins will be installed later (but not mapped
in htdocs),
I think I'm missing some critical point here. Provided that all of the
static resources are extracted below /path/to/trac/htdocs, for example:
$ ls /path/to/trac/htdocs
common newsflash tracfullblog
footnote site wikiextas
... one still should not use the following alias?:
Alias /trac/chrome /path/to/trac/htdocs
If you're sure all the static resources are there, I think it's fine.
The only potential problem I can think of is when more static resources
are (later added) elsewhere.
For example when you allow uploading plugins, but the uploader forgets
or is not allowed to extract the uploaded plugin's resources. In that
case the Alias would apply to the static resources of the new plugin,
but the files would not be found.
(While it would "work" if each known chrome subfolder had its own Alias
directive. The new plugin would not yet have one, so Trac would serve
the resources.)
If that's all the documentation means, it's maybe a bit overstated.
Instead of:
> Plugins can add their own resources, usually accessible by
`/chrome/<plugin>` path, so its important to override only known paths
and not try to make universal `/chrome` alias for everything.
The documentation could say:
> Plugins can add their own resources, usually accessible by
`/chrome/<plugin>` path. A universal `/chrome` alias for everything
might miss these. Either override only known paths, or extract all
(future) plugin resources to the same location.
But maybe I'm missing the point.
or maybe some plugins are installed globally and mapped to
some shared path etc.
There's also /chrome/shared defined by the htdocs_dir option in the
inherit section of the TracIni.
http://trac.edgewall.org/wiki/TracDev/TracURLs
<http://trac.edgewall.org/wiki/TracDev/TracURLs>
If I want to be sure that a file is being served by Apache, that would
be indicated by the absence of GET requests in the log? The following
message that is seen before I setup a mapping for footnote, but not after.
2015-03-21 02:06:21,372 Trac[main] DEBUG: Dispatching
<RequestWithSession "GET '/chrome/footnote/footnote.css'">
Or is there another way I can check that Apache is serving the file?
Maybe delete the file? If it still works Trac is serving it. Your way
sounds better. :)
--
You received this message because you are subscribed to the Google Groups "Trac
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/trac-users.
For more options, visit https://groups.google.com/d/optout.