Package: visaplan.recipe.symlinks
Not working yet - resource detection missingCreates symbolic links to the resources which are registered by the installed
Zope products / packages.  Allows to exclude all/++resource++*paths from the
RewriteRule which hands the requests over to ZServer.
This serves two purposes:The/++resource++*paths can be handled by your front http server, e.g. Apache,
instead of the Zope server, which is likely to be better in this taskAll changes to those resources are effective immediately when they are next requested,
not requiring a Zope restart nor a refresh of the compilation,
which is useful during develoment.Currently this recipe requires an operating system which provides native
symbolic links support via theos.symlinkfunction.FeaturesCreates symbolic links for every resource which is registered to a Zope
instance.This allows those resources to be served by the front http server rather than
proceeding them to the Zope server and thus unburden the Python threads.It also allows to use/++resource++*paths in error pages including those
which are used by the front-end server to indicate the Zope process to be
down (HTTP status codes 5xx).UsageAdd a visaplan.recipe.symlinks part to your buildout:[buildout]

...
parts =
    ...
    symlinks

[symlinks]
recipe = visaplan.recipe.symlinks
document-root = ${buildout:parts-directory}/htdocs
eggs = ${instance:eggs}and then runbin/buildout.Optionsdocument-rootTheDocumentRootof yourVirtualHost(in Apache-speak),
which is the location your http server will start looking for the files to
serve.The default is ahtdocssubdirectory of${buildout:parts-directory};
it will be created unless already present.eggsThe list of eggs which are installed to your Zope instance;
if you have an[instance]section in your buildout script,${instance:eggs}will be the default.(not yet implemented)relative-linksDetermines whether relative links will be created.
Allowed values are:yes, onuse paths relative todocument-root(or to the created
directories, respectively).Might fail in cases the use of relative paths is not possible or not
advisable, e.g. if the path todocument-rootcontains symbolic links.(No such checks implemented currently)no, offuse absolute paths as link targetslink-leavesAllowed values are:yes, onFor products which register a resource directory, create a matching
directory belowdocument-rootand create a dedicated symbolic link
for each single resource (“leaf”).  This can be considered a little bit
more safe, as it won’t make available any resource which was added
after built time.no, offFor products which register a resource directory, simply create a
symbolic link to that directory.This comes in handy for development.autoCreate symbolic links to resource directories for development packages
(likeyes), and leaf links for all other packages.Once implemented, this will likely become the default.For now, theautochoice is not yet implemented.ContributeIssue Tracker:https://github.com/visaplan/visaplan.recipe.symlinks/issuesSource Code:https://github.com/visaplan/visaplan.recipe.symlinksSupportIf you are having issues, please let us know;
please use the issue tracker mentioned above.LicenseThe project is licensed under the GPLv2.ContributorsTobias Herp,tobias.herp@visaplan.comChangelog0.1.dev1 (unreleased)Initial release.
No working resources detection yet.
[tobiasherp]