Project

General

Profile

Statistics
| Revision:

# Date Author Comment
8450 04/11/2013 04:52 PM Aaron Marcuse-Kubitza

web/**/.htaccess: Use [qsappend] flag with all RewriteRules to ensure that the original query string is never lost

8449 04/11/2013 04:30 PM Aaron Marcuse-Kubitza

inputs/VegBank/.htaccess: Added RewriteCond to check that the REQUEST_FILENAME is not an existing dir, which is apparently needed to prevent the verify/ subdir from being interpreted as a redirect

8448 04/11/2013 02:45 PM Aaron Marcuse-Kubitza

web/**/.htaccess: Removed preprocessing commands that need to run for every dir, because these are now inherited from the outermost .htaccess using InheritBefore. This allows the inner .htaccess files to focus just on the fallback rewrites, without needing lots of boilerplate code (except for the obligatory RewriteEngine/RewriteOptions/SetEnvIf preamble).

8447 04/11/2013 02:34 PM Aaron Marcuse-Kubitza

web/.htaccess: handle DirectoryIndex subrequests when there is no DirectoryIndex, by deleting the /index filename. This ensures that any fallback redirect is not invoked, and instead the action corresponding to a trailing / (usually the display of a directory listing) is performed.

8446 04/11/2013 02:07 PM Aaron Marcuse-Kubitza

web/**/.htaccess: Use InheritBefore RewriteOption so that the outermost dir's rules are always run first. This is necessary so that all the HTTP_HOST and dotpath handlers, etc. are applied before any fallback handlers, without needing to copy and paste each rule into every .htaccess file. (Note that the InheritBefore RewriteOption is only available in Apache 2.4.) The outermost .htaccess file, however, must not use InheritBefore because this would inherit rules from the global Apache config, which normally should not be run and which cause an infinite redirect loop.

8445 04/11/2013 01:56 PM Aaron Marcuse-Kubitza

web/**/.htaccess: fallback rules which should not be inherited by subdirs: Filter using a RewriteCond on %{ENV:innermost_dir} so that the rule is only run if the innermost dir was this dir. (This is needed when using InheritBefore.)

8444 04/11/2013 01:36 PM Aaron Marcuse-Kubitza

web/**/.htaccess: Added SetEnvIf directives to set the $innermost_dir env var, which is used by InheritBefore RewriteRule inheritance. You can easily populate the current dir name in jEdit by right-clicking the buffer tab and selecting Insert File Path (which requires the BufferTabs plugin), and then picking out the dir right before the .htaccess. If multiple dirs in the dir path have the same name (e.g. a/b/a/), add a distinguishing prefix to the inner dirs (this is rare).

8443 04/10/2013 11:17 PM Aaron Marcuse-Kubitza

web/.htaccess: Support rules being inherited by subdirs using InheritBefore, by setting an env var $innermost_dir that stores the name of the innermost subdir to contain an .htaccess file. This env var can then be tested for in a RewriteCond in rules that should only apply locally. This works because SetEnvIf processes directives from the outer dir to the inner dir, so that the inner dir's setting comes last and is the final value of $innermost_dir. Note that you must use SetEnvIf rather than SetEnv because "The internal environment variables set by [SetEnv] are set after most early request processing directives are run, such as access control and URI-to-filename mapping. If the environment variable you're setting is meant as input into this early phase of processing such as the RewriteRule directive, you should instead set the environment variable with SetEnvIf." [emphasis added] (http://httpd.apache.org/docs/current/mod/mod_setenvif.html#setenvif)

8442 04/10/2013 10:20 PM Aaron Marcuse-Kubitza

web/.htaccess: don't rewrite existing paths: Changed match string to what is used in subdirs, so that if this rule is inherited, what is considered an existing path (i.e. a file or subdir) is restricted appropriately

8441 04/10/2013 10:18 PM Aaron Marcuse-Kubitza

web/**/.htaccess: no-replacement RewriteRules: Removed the standard [discardpath,noescape] flags because they add unnecessary clutter and are not needed for this type of rule. Note that these flags are still required on regular RewriteRules which have a replacement string.

8440 04/10/2013 10:15 PM Aaron Marcuse-Kubitza

web/**/.htaccess: no-replacement RewriteRules: Use just ^ as the match string because there is no need to actually match characters. This also makes it easy to visually tell what is a no-replacement RewriteRule vs. a RewriteRule that matches the entire path.

8439 04/10/2013 10:11 PM Aaron Marcuse-Kubitza

web/.htaccess: Renamed $REQUEST_URI_NO_SLASH to $REQUEST_URI_no_/ to take advantage of (some) special chars being allowed in env var names

8438 04/10/2013 09:42 PM Aaron Marcuse-Kubitza

Added web/people/

8437 04/10/2013 09:08 PM Aaron Marcuse-Kubitza

web/.htaccess: fallback redirect: Use new VegCore/ instead of specifying the full wiki URL

8436 04/10/2013 09:07 PM Aaron Marcuse-Kubitza

schemas/VegCore/.htaccess: Fixed bug where need to issue explicit redirect because path contains a fragment (#...), which must be sent to the browser

8435 04/10/2013 09:03 PM Aaron Marcuse-Kubitza

Added schemas/VegCore/.htaccess

8434 04/10/2013 08:57 PM Aaron Marcuse-Kubitza

Added web/.vegcore shortcut to exchange_schemas/VegCore

8433 04/10/2013 08:34 PM Aaron Marcuse-Kubitza

Added root .htaccess (accessed via web/servers/vegbiendev/fs or one of its shortcuts)

8432 04/10/2013 08:28 PM Aaron Marcuse-Kubitza

web/.htaccess: translate subdomain to path: Use new REQUEST_URI_NO_SLASH to avoid adding an automatic trailing / when a subdir was reached as a subdomain without a path (e.g. VegBank.vegpath.org), which should be equivalent to going to the subdir's homepage (vegpath.org/VegBank) rather than to its directory listing (vegpath.org/VegBank/ ; note the trailing /)

8431 04/10/2013 08:25 PM Aaron Marcuse-Kubitza

web/.htaccess: set REQUEST_URI_NO_SLASH for use by translating subdomain to path

8430 04/10/2013 08:19 PM Aaron Marcuse-Kubitza

Added web/.fs symlink to .vegbiendev/fs

8429 04/10/2013 01:53 PM Aaron Marcuse-Kubitza

web/svn-web, wiki: Made them hidden so they wouldn't appear in the dir listing (which should not contain shortcuts to inner paths, as these would create significant clutter). web/svn unfortunately can't be made hidden because there is already a .svn dir.

8428 04/10/2013 01:47 PM Aaron Marcuse-Kubitza

Added web/.nimoy, .vegbiendev shortcuts

8427 04/10/2013 01:44 PM Aaron Marcuse-Kubitza

web/DwC, VegX: Replaced with versions in exchange_schemas/

8426 04/10/2013 01:39 PM Aaron Marcuse-Kubitza

Moved web/TCS/ to schemas/

8425 04/10/2013 01:36 PM Aaron Marcuse-Kubitza

Added web/exchange_schemas/ symlink

8424 04/10/2013 01:35 PM Aaron Marcuse-Kubitza

Removed web/exchange_schemas/ in preparation for making it a symlink

8423 04/10/2013 01:34 PM Aaron Marcuse-Kubitza

Added schemas/.htaccess

8422 04/10/2013 01:33 PM Aaron Marcuse-Kubitza

Added web/exchange_schemas/

8421 04/10/2013 01:28 PM Aaron Marcuse-Kubitza

Merged web/DwC,VegX with the corresponding dir in schemas/

8420 04/10/2013 01:19 PM Aaron Marcuse-Kubitza

Moved web/BIEN2, IH into aggregators/

8419 04/10/2013 01:18 PM Aaron Marcuse-Kubitza

Moved web/BIEN2, IH into aggregators/

8418 04/10/2013 01:09 PM Aaron Marcuse-Kubitza

Added web/aggregators, primary_databases with symlinks to the applicable datasources

8417 04/10/2013 01:04 PM Aaron Marcuse-Kubitza

web/.tnrs: Updated to point to datasources/.TNRS/

8416 04/10/2013 01:01 PM Aaron Marcuse-Kubitza

Removed web/TNRS/ in preparation for replacing it with a symlink

8415 04/10/2013 12:59 PM Aaron Marcuse-Kubitza

Added inputs/.TNRS/.htaccess

8414 04/10/2013 12:13 PM Aaron Marcuse-Kubitza

web/.redmine/: Updated for new VegBIEN/ location

8413 04/10/2013 12:12 PM Aaron Marcuse-Kubitza

web/.htaccess: Use new %{REQUEST_SCHEME} to construct self-refential URLs

8412 04/10/2013 10:14 AM Aaron Marcuse-Kubitza

web/VegBIEN/: Moved to datasources/

8411 04/10/2013 10:07 AM Aaron Marcuse-Kubitza

Added inputs/.htaccess, which parses dotpaths and adds trailing / when datasources/ subdir is listed. (DirectorySlash cannot be used for this because it would affect all subdirs, too, which must not have DirectorySlash on. Turning DirectorySlash off in each subdir would not work, because the / is added as soon as a valid filesystem path is formed, even if the inner dir would not have added the /.)

8410 04/10/2013 09:48 AM Aaron Marcuse-Kubitza

web/**/.htaccess: internal redirects: Use ?&$0 instead of just ?$0 to prevent the query string from being reinterpreted as a dotpath by the destination dir

8409 04/10/2013 09:45 AM Aaron Marcuse-Kubitza

web/VegBIEN/Redmine/*/.htaccess: Use relative URL paths. This requires adding a RewriteBase directive because these dirs can be reached by symlinks.

8408 04/10/2013 09:40 AM Aaron Marcuse-Kubitza

inputs/SALVIAS/.htaccess: Removed test RedirectMatch directive

8407 04/10/2013 09:38 AM Aaron Marcuse-Kubitza

web/**/.htaccess: RewriteOptions: Redirect dir paths without the trailing / to the datasource's homepage, and let dir paths with the trailing / point to the directory index. This is the opposite of the way it was before, and is more intuitive because the trailing / indicates a directory listing, while the trailing / would generally be omitted when linking to the datasource itself.

8406 04/10/2013 07:49 AM Aaron Marcuse-Kubitza

web/**/.htaccess: handle DirectoryIndex subrequests, which append "index" to the dir

8405 04/10/2013 06:15 AM Aaron Marcuse-Kubitza

web/**/.htaccess: RewriteOptions: Removed inherit because if the destination is not found in the current dir, a 404 should be returned instead of trying to invoke the parent dir's fallback handler (which applies only to paths in the parent dir). Ideally, we would use InheritBefore to get the subdomain preprocessing, etc., but the parent dir's fallback handler would still need to be turned off somehow when the rule was being run by a subdir.

8404 04/10/2013 05:59 AM Aaron Marcuse-Kubitza

web/.htaccess: Only forward specific terms (subpaths) to VegCore, not also the dir index itself

8403 04/10/2013 05:15 AM Aaron Marcuse-Kubitza

web/**/.htaccess: RewriteOptions: Added AllowNoSlash (available in Apache 2.4) so dir paths without the trailing / can be parsed by mod_rewrite

8402 04/10/2013 05:12 AM Aaron Marcuse-Kubitza

web/.htaccess: Turned off DirectorySlash so that the dir without the trailing / can have a separate meaning (e.g. as the home page of a datasource, rather than a listing of the short URLs available for it)

8401 04/10/2013 03:33 AM Aaron Marcuse-Kubitza

web/main.conf: <Directory .>: Added `Require all granted`, which is needed by Apache 2.4 to prevent 403 Forbidden errors. This change breaks compatibility with older versions of Apache, but is unfortunately required by 2.4.

8400 04/10/2013 03:29 AM Aaron Marcuse-Kubitza

web/**/.htaccess: parse dotpath in the query string: Use just dotpath instead of dotpath.php because the extension is added automatically by MultiViews

8399 04/10/2013 03:28 AM Aaron Marcuse-Kubitza

web/**/.htaccess: parse dotpath in the query string: Remove any index.* suffix, which is added by MultiViews in Apache 2.4

8398 04/10/2013 03:28 AM Aaron Marcuse-Kubitza

web/main.conf: Updated the path of the <Directory> directive for the DocumentRoot

8397 04/10/2013 03:21 AM Aaron Marcuse-Kubitza

web/.htaccess: Set Options +Indexes because this isn't the default in Apache 2.4

8396 04/10/2013 01:46 AM Aaron Marcuse-Kubitza

web/.htaccess: DirectoryIndex: Use index instead of hardcoding index.php because MultiViews will now add the appropriate extension automatically

8395 04/10/2013 01:44 AM Aaron Marcuse-Kubitza

web/.htaccess: Turn on MultiViews to allow auto-adding of the file extension

8394 04/10/2013 12:15 AM Aaron Marcuse-Kubitza

inputs/**/.htaccess: Use a direct filesystem path rather than going through /svn (the Redmine web interface) because this loads much faster, and avoids needing to manually specify svn-web instead of svn for files that should be displayed in the browser instead of downloaded. It also adds support for files not in svn. Note that the use of a relative RewriteRule replacement requires RewriteBase when the directory is not under the document root, in order to construct the correct self-referential URL (http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase).

8393 04/09/2013 10:59 PM Aaron Marcuse-Kubitza

inputs/**/.htaccess: Removed no longer needed trailing / in paths

8392 04/09/2013 10:55 PM Aaron Marcuse-Kubitza

inputs/CTFS/*/.htaccess: Use new direct shortcuts to /Redmine subtrees

8391 04/09/2013 10:47 PM Aaron Marcuse-Kubitza

Added wiki shortcut to Redmine/wiki

8390 04/09/2013 10:43 PM Aaron Marcuse-Kubitza

web/.htaccess: use separate lowercase version when available: Support paths without a trailing /

8389 04/09/2013 10:41 PM Aaron Marcuse-Kubitza

web/.htaccess: use separate lowercase version when available: Fixed bug where need to use [last] flag, in order to rewrite in the new subdir instead of applying the rest of this dir's rules (which would forward to VegCore)

8388 04/09/2013 10:11 PM Aaron Marcuse-Kubitza

web/: datasources indexed in VegPath: Link to the corresponding inputs/ dir instead, which now stores the data and the short URLs in one place

8387 04/09/2013 10:10 PM Aaron Marcuse-Kubitza

web/.htaccess: Use %{REQUEST_URI} ("The path component of the requested URI" <http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond&gt;) instead of /$0, in order to preserve whether or not the path had a trailing slash. This also ensures that the rule functions correctly if it is invoked in a subdir context, which may occur for the "remove www subdomain" rule.

8386 04/09/2013 10:01 PM Aaron Marcuse-Kubitza

web/.htaccess: Removed "don't redirect subdir paths" because this is now handled by "don't rewrite existing paths" as described in r8375

8385 04/09/2013 09:48 PM Aaron Marcuse-Kubitza

web/: datasources indexed in VegPath: Added .htaccess files to corresponding inputs/ dir so the short URLs can also be accessed via VegBIEN's own dir for the datasource

8384 04/09/2013 09:36 PM Aaron Marcuse-Kubitza

inputs/input.Makefile: Removed .PRECIOUS from %/header.csv, %/map.csv so that these scripts are deleted on error. This is useful for the runscripts and for non-data dirs whose header.csv cannot be made.

8383 04/09/2013 09:33 PM Aaron Marcuse-Kubitza

inputs/input.Makefile: SVN: Only run %/add on subdirs with visible (non-hidden) files. Subdirs with only hidden files (e.g. .htaccess) are assumed to be non-data dirs.

8382 04/09/2013 09:23 PM Aaron Marcuse-Kubitza

inputs/input.Makefile: Staging tables installation: %/install: $(logInstall): Only use log file if log dir exists, to support non-data dirs

8381 04/09/2013 09:13 PM Aaron Marcuse-Kubitza

inputs/input.Makefile: Staging tables installation: %/install: ignore errors in $(exportHeader) and $(cleanup) if the table does not exist (i.e. a non-data dir)

8380 04/09/2013 09:11 PM Aaron Marcuse-Kubitza

inputs/input.Makefile: Staging tables installation: %/install: Don't run $(import_install_) for empty dirs because there is no data to import

8379 04/09/2013 04:37 PM Aaron Marcuse-Kubitza

lib/sql.py: parse_exception(): typed_name_re: Fixed bug where need to require the "" around the table/column name, because otherwise, the regexp will try to match as few characters as possible, causing it to match only the first letter of the name

8378 04/09/2013 04:13 PM Aaron Marcuse-Kubitza

web/**/.htaccess: Removed "handle DirectoryIndex" rule, which does not appear to be needed with the new dotpath format

8377 04/09/2013 04:10 PM Aaron Marcuse-Kubitza

web/VegBank/.htaccess: RewriteRule: Fixed bug where need to match tables by themselves as well as followed by columns

8376 04/09/2013 03:59 PM Aaron Marcuse-Kubitza

web/**/.htaccess: Added "don't rewrite existing paths" and "handle DirectoryIndex" rules to all .htaccess files, not just those for dirs that contain subdirs, to facilitate linking directly to files in the filesystem without first needing to retrofit the applicable .htaccess file.

8375 04/09/2013 03:42 PM Aaron Marcuse-Kubitza

web/**/.htaccess: Restrict redirection only of fully-existing paths, rather than of any path whose subdir exists, in order to avoid having to hardcode the absolute path to the directory containing the .htaccess file. This more restrictive approach still works because if the subdir exists and contains an .htaccess file, this (outer) .htaccess file's RewriteRules will be ignored completely until the inner .htaccess file's rules have been run, so that any subdir redirects will happen first. This "hole-punch" effect causes an existing filesystem path to always take priority over a virtual path (i.e. a redirect) defined in an outer .htaccess file.

8374 04/09/2013 02:57 PM Aaron Marcuse-Kubitza

Added web/datasources/ symlink to inputs/

8373 04/09/2013 02:49 PM Aaron Marcuse-Kubitza

web/servers/vegbiendev/fs: Updated symlink for new web/ dir nesting level

8372 04/09/2013 02:41 PM Aaron Marcuse-Kubitza

Deleted no longer used www/

8371 04/09/2013 02:36 PM Aaron Marcuse-Kubitza

Renamed www/ back to web/

8370 04/09/2013 02:34 PM Aaron Marcuse-Kubitza

Removed www/logs/ because it was actually successfully moved into main/ (but some of its files weren't)

8369 04/09/2013 02:33 PM Aaron Marcuse-Kubitza

Added www/logs/

8368 04/09/2013 02:24 PM Aaron Marcuse-Kubitza

web/: Moved auxiliary files into the main/ subdir in preparation for having just the web/ dir. Renamed web/ to www/ so it can be replaced with web/main/.

8367 04/09/2013 02:09 PM Aaron Marcuse-Kubitza

web/main/servers/vegbiendev/: Split it into db and fs forks, with db being the default. The fs fork links directly to /home/bien/svn on vegbiendev, which makes world-readable files directly web-accessible. (Permissions on /home/bien/svn and subdirs have been checked to ensure that private files are not world-readable.)

8366 04/09/2013 01:33 PM Aaron Marcuse-Kubitza

Added web/main/IH/db/

8365 04/09/2013 01:26 PM Aaron Marcuse-Kubitza

web/main/index.php: Updated fragment redirect for new dotpath format (using ? instead of a relative path)

8364 04/09/2013 01:20 PM Aaron Marcuse-Kubitza

web/main/index.php: Updated path templates for new dotpath format (using ? instead of /)

8363 04/09/2013 01:06 PM Aaron Marcuse-Kubitza

web/main/**/.htaccess: Support dotpaths in the query string instead of in the path, so that non-dotpath paths don't need to be suffixed with / to prevent their filenames from being interpreted as dotpaths. Putting dotpaths in the query string still requires only one character between the host and the path, but it's ? instead of / . ? is in many ways more natural, because the dotpath is a non-filesystem string to be parsed rather than something that's already a filesystem path. This change also avoids the need to strip trailing /s in many RewriteRules, because the dotpath mechanism is no longer appending them.

8362 04/09/2013 01:00 PM Aaron Marcuse-Kubitza

Added web/main/dotpath.php, which parses any dotpath in the query string

8361 04/09/2013 12:58 PM Aaron Marcuse-Kubitza

web/main/util.php: Added coalesce()

8360 04/09/2013 10:18 AM Aaron Marcuse-Kubitza

web/main/svn*: Fixed symlinks to use .redmine instead of Redmine

8359 04/09/2013 09:37 AM Aaron Marcuse-Kubitza

web/main/IH/.htaccess: Fixed whitespace

8358 04/09/2013 09:36 AM Aaron Marcuse-Kubitza

web/main/IH/.htaccess: RewriteRule: Fixed bug where need to \-escape % because it's a special character in the replacement string (it references a regexp group matched by the last RewriteCond)

8357 04/09/2013 09:28 AM Aaron Marcuse-Kubitza

Removed web/main/Redmine symlink so that it isn't listed in the directory listing as a visible (non-hidden) file. (There is already a .redmine symlink which matches all case variations via web/main/.htaccess logic.)

8356 04/09/2013 09:22 AM Aaron Marcuse-Kubitza

Added web/main/svn* symlinks to VegBIEN/Redmine/svn*

8355 04/09/2013 09:18 AM Aaron Marcuse-Kubitza

web/main/svn*/: Removed in preparation for replacing with symlinks, which will work now that absolute paths are used where needed

8354 04/09/2013 09:15 AM Aaron Marcuse-Kubitza

web/main/**/.htaccess: internal redirects using relative paths with .. : Use absolute paths instead so that when the directory is reached through a symlink, the redirect will still work. Note that relative paths without .. do not need to be absolute paths because the subtree structure is the same (just the parent dirs are different).

8353 04/09/2013 08:01 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: Regenerated exports

8352 04/09/2013 07:26 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb legend images: resized to medium-sized squares because apparently MySQL Workbench can't handle rectangular or very large images (it distorts them or resets them to their original size when the diagram is reloaded)

8351 04/09/2013 06:08 AM Aaron Marcuse-Kubitza

schemas/VegCore/VegCore.ERD.mwb: Legend: Added IS-A, HAS-A, and "inherits from record" entries