"Quality is the parent, the source of all subjects and objects." - Robert Pirsig

Fits Observation: Henry Gurr’s How Our Mind Works


Henry S Gurr’s Article, Book, & Mind-Map, Projects


SiteMaster Henry S Gurr’s Earth Friendly Projects:


SiteMaster Henry S Gurr’s Tech Corner & Projects:



ZMMQuality WebSite: Information Concerning
*** Zen and the Art of ***
Motorcycle Maintenance
** by Robert Pirsig **

Home Page: Fors ZMM Quality WebSite
News&NewsArchive: Re Robert Pirsig & Book
ZMM Book (Full Text) Free On Internet



SUMMARY=>How Find Way In This ZMMQ Site


SUMMARY=> Robert Pirsig Zen Art Motorcycle Maint.


Celebrate: Robert Pirsig’s July1968 Motorcycle Trek


SUMMARY=>Experts & Readers Provide Guidance


SUMMARY=>SpecialStudies Zen Art Motorcycle Maint


SUMMARY=>Memories: Dennis Gary English MSU


SUMMARY=>Research Montana State UniversityMSU


SUMMARY=>“Pirsig Pilgrims”&“Fellow ZMM Travelers”

AFTER Above Link ComeUp, GoTo ''Zen and..Last Hurrah”


SUMMARY=>Maps+Info: ZMM Travel & Mountain Climb


Resources: Pirsig & Zen Art of Motorcycle Maint.


SUMMARY=>Software&Hardware: Create This WebSite


Thanks To Persons Who Created & Supported ZMMQ


PLEASE NOTICE: THE FOLLOWING 4 HANDY LINKS:

ALSO PLEASE NOTICE THESE SAME 4 HANDY LINKS: BOTTOM EVERY ZMMQ PAGE


  

TO ACCESS PHOTO ALBUMS,
Click any photo below: **OR**
Mouse Hover, Over Photo, For Album Description

These 12 Photos were taken by Robert Pirsig’s very own camera, as he Chris, Sylvia and John made that 1968 epic voyage upon which The Travel Narrative for Mr Pirsig’s ‘‘Zen and the Art of Motorcycle Maintenance‘‘ (ZMM) book was based. Taken in 1968 along what is now known as ‘‘The ZMM Book Travel Route ‘‘ each photo scene is actually ‘‘Written-Into ‘‘ Mr. Pirsig’s book => ‘‘Zen and the Art of Motorcycle Maintenance‘‘ (ZMM)

Author Robert Pirsig’s Own 12 Color Photos, Of His 1968 ZMM Travel Route Trip: Each Is Written-Into His ZMM Book. AFTER the 5 Albums Cones Up, Read & ClickOn 2nd Down.

Each of the 832 photographs in these Four Albums show a scene described in the book ‘‘Zen and Art of Motorcycle Maintenance‘‘. Each photo was especially researched and photographed along the ZMM Route to show a specific ZMM Book Travel Description Passage: This passage is shown in quote marks below the respective photo. As you look at each of these photos, you will be viewing scenes similar to those that author Pirsig, Chris, and the Sutherlands might have seen, on that epic voyage, upon which the book ‘‘Zen and the Art of Motorcycle Maintenance‘‘ was based. Thus it is, that these 832 photographs are ‘‘A Color Photo Illustrated Zen and Art of Motorcycle Maintenance‘‘. Indeed ‘‘A Photo Show Book‘‘ for ZMM. Sights & Scenes Plus Full Explanation.

My ZMM Travel Route Research Findings, Are A Page-By-Page, Color Photo Illustrated ZMM. AFTER the 5 Albums Cones Up, Read & ClickOn Top Album.

Each of these 28 photos are Full Circle Panorama Photos Seven-Feet-Wide. They were taken along the Travel Route of the book ‘‘Zen and the Art of Motorcycle Maintenance‘‘. They show a 360 degree view, made by stitching together eight photos. These Panoramic Photos, complement and add to those of my Photo Album ABOVE named  => ‘‘A Color Photo Illustrated ZMM Book, With Travel Route Sights & Scenes Explained‘‘.

ZMM Travel Route Research PANORAMIC PHOTOS 7ft wide! Henry Gurr, 2002 ZMM Research Trip. AFTER the 5 Albums Cones Up, Read & ClickOn 2nd Down.

This album shows what I saw  on my RETURN trip home (San Francisco California to Aiken South Carolina), Summer 2002. These 55 photos were taken along the Route of the “1849er’s Gold Rush to California” (In Reverse Direction). After I completed my ZMM Research, I RETURNED home by way of the Route of the ‘49’s Gold Rush. This route included the route of the “California Gold Rush Trail” (in Nevada & California), as well as portions of the Oregon Trail' all the way into Missouri. These 1849er’s Travel Route Photos, were taken AFTER I took those Photos shown in the above Album named “A Color Photo Illustrated ZMM Book, With Travel Route Sights & Scenes Explained”.

Henry Gurr’s 2002 Research Photos: California Gold Rush Trail & Oregon Trail. AFTER the 5 Albums Cones Up, Read & ClickOn 3rd Down.

Each of these seven 360 degree  Full Circle Panoramic Photos were taken along the route of the Gold Rush ‘1849’ers from Missouri to California. Each is 7 foot wide! These Panorama Photos complement and add to those of my Photo Album above named  => "Henry Gurr’s Research Photos: California Gold Rush Trail & Pioneer Oregon Trail".   AFTER the 5 Albums Cones Up, Read & ClickOn Top Album.

California Gold RushTrail & Pioneer Oregon Trail PANORAMIC PHOTOS 7ft wide! Henry Gurr, 2002 ZMM RETURN Trip. AFTER the 5 Albums Cones Up, Read & ClickOn Top Album.

Enjoy 225 Photos of Flowers & Red Wing Blackbirds Along the ZMM Route. This Album of  Color Photos shows every Flower and Red Wing Blackbird (RWBB) that I could “get within my camera sights!!”  This was done in honor of the ZMM Narrator's emphasis of Flowers and Redwing Blackbirds in the book “Zen and the Art of Motorcycle Maintenance”. I was very surprised to find RWBB's the entire travel route from Minneapolis to San Francisco.

In Honor of ZMM Narrator’s Emphasis: 225 Color Photos of ZMM Travel Route Flowers & Red Wing Blackbirds. AFTER the 5 Albums Cones Up, Read & ClickOn 5th Down.

These 165 photos show ‘‘Tourist Experiences’‘ the ZMM Traveler may have along the ZMM Route.

My 2002 ZMM Travel Route Experience: By Henry Gurr ZMMQ Site Master. AFTER the 5 Albums Cones Up, Read & ClickOn 3rd Down.

Starting Monday 19 July 2004, Mark Richardson traveled the ZMM Route, on his trusty Jakie Blue motorcycle. Mark made these 59 interesting photographs of what he saw along the way. As he toured, he pondered his own life destiny (past present future), and sought to discover his own deeper personal meaning of the book “Zen and the Art of Motorcycle Maintenance”.

Mark Richardson’s 19 July 2004, ZMM Route Trip & Photo Journal. AFTER the 5 Albums Cones Up, Read & ClickOn 5th Down.

The former home (~1968) of John and Sylvia Sutherland, at 2649 South Colfax Ave, Minneapolis MN, shown in 18 photos. Despite John's quite negative disparaging statements in ZMM, about their home back in Minneapolis, this same house, shown in these photos, looks to us like a wonderful, beautiful home along a very nice, quiet, shady street, in a perfectly fine Minneapolis Neighborhood!

John & Sylvia Sutherland of “The ZMM Book”: 18Potos Of Former Minneapolis Home>2649 South Colfax Ave, AFTER the 5 Albums Cones Up, Read & ClickOn 4th Down.

A 36 Photo Tour of Two University of South Carolina Buildings:  a) Etherredge Performing Arts Center Lobby + b) Ruth Patrick Science Education Center, some of which show “Built In Educational Displays

Site Master Henry Gurr's Campus: Photos Of Two Buildings (of 32 total), University of South Carolina Aiken. AFTER the 5 Albums Cones Up, Read & ClickOn 2nd Down.

A 105 Photo Tour of Science Building
At The University of South Carolina Aiken, Aiken SC.
Also showing a) Flowers & Exotic Plants In The Greenhouse
And b) The Rarely Seen Equipment Service Room & Dungeon.
Site Master Henry Gurr's Campus: Photos Of Science Building, One (of 32 total Buildings) At The University of South Carolina Aiken. AFTER the 5 Albums Comes Up, Read & ClickOn 5th Down.

IThese 15 photos show persons & scenes, related to how we got this ZMMQ WebSite going, back in ~2002. Included are "screen captures" of our software systems in use. A few of these photos show the screen views of what we were “looking at,” some including brief notes & hints on how to get around some of the problems we experienced.

Software We Used ~2002, In Creating and Maintaining This ZMMQ WebSite: Illustrated & Explained. AFTER the 5 Albums Cones Up, Read & ClickOn Top Albun.

Attach:ZmmqWikiThumbForWikiMenuLinkToMscFacPixPg2.jpg Δ
1947-60: Photos of MSC Faculty & Sarah Vinke (Vinki Vinche Finche Finch)


In Hawaiian WIKI MEANS => Quick N’ Easy N’ Better! For Anything You Do!!
Wikis began 1994, Ward Cunningham gave name "WikiWikiWeb"..Cont Heret
UP-TO-DATE INFORMATION & HOW TO USE pmWiki
The Pages You Are NOW Reading, Are Powered By pmWiki WebSite SftWare:


ZMMQ Site => Various UN-Complete Work In Process



Revised}DaveMatos130715+HenryGurr140227;16036;170214;180920;181127,200217,200312, 200318, 200831, 210626, 220508,220926,240209-12 , 240319-21, 240530, 240915, 241220.--]
File = WikiZmmq)MenuSidebar.CuzWantPreservPrev240914CpyFnServerServAgain01+FxNgLinks3.docx
PrevFile = WikiZmmq)MenuSidebar.CuzWantPreservPrev240914CpyFnServerServAgain01+FxNgLinks2.docx
PrevFile = WikiZmmq)MenuSidebar..BecuzPrevSvAsNg 240319CpyFnServer07)CpyFmServAgain01.docx
PrevFile = WikiZmmq)MenuSidebar..BecuzPrevSvAsNg 2403`9CpyFnServer07.docx
PrevFile = WikiZmmq)MenuSidebar..200217..210626..220508EdtSvd+Fx&AddLine13+Rev1.docx
File = WikiZmmq)MenuSidebar..200217..210626..220508EdtSvd+Fx&AddLine12.docx
PrevFile = WikiZmmq)MenuSidebar..200217..210626..220508EdtSvd,doc.Hsg02.docx
PrevFile = WikiZmmq)MenuSidebar..FaFaFa200217.06Fa200830Fa210626.Hsg01.doc




PmWiki includes a script called upload.php that allows users to upload files to the wiki server using a web browser. Uploaded files (also called attachments) can then be easily accessed using markup within wiki pages. This page describes how to install and configure the upload feature.

Some notes about security

PmWiki takes a somewhat, but justifiable, paranoid stance
when it comes to the uploads feature. Thus, the default settings for
uploads tend to try to restrict the feature as much as possible:

  • The upload function is disabled by default
  • Even if you enable it, the function is password locked by default
  • Even if you remove the password, you're restricted to uploading files with certain names, extensions, and sizes
  • The characters that may appear in upload filenames are (default) alphanumerics, hyphen, underscore, dot, and space (see also here).
  • The maximum upload size is small (50K by default)

This way the potential damage is limited until/unless the wiki
administrator explicitly relaxes the restrictions.

Keep in mind that letting users (anonymously!) upload files to your web server does entail some amount of risk. The upload.php script has been designed to reduce the hazards, but wiki administrators should be aware that the potential for vulnerabilities exist, and that misconfiguration of the upload utility could lead to unwanted consequences.

By default, authorized users are able to overwrite files that have already been uploaded, without the possibility of restoring the previous version of the file. If you want to disallow users from being able to overwrite files that have already been uploaded, add the following line to config.php:

$EnableUploadOverwrite = 0;

Alternatively, an administrator can keep older versions of uploads.

An administrator can also configure PmWiki so the password mechanism controls access to uploaded files.

Basic installation

The upload.php script is automatically included from stdconfig.php if the $EnableUpload variable is true in config.php. In addition, config.php can set the $UploadDir and $UploadUrlFmt variables to specify the local directory where uploaded files should be stored, and the URL that can be used to access that directory. By default, $UploadDir and $UploadUrlFmt assume that uploads will be stored in a directory called uploads/ within the current directory (usually the one containing pmwiki.php). In addition, config.php should also set a default upload password (see PasswordsAdmin).

Thus, a basic config.php for uploads might look like:

<?php if (!defined('PmWiki')) exit();
##  Enable uploads and set a site-wide default upload password.
$EnableUpload = 1;
$UploadPermAdd = 0;
$DefaultPasswords['upload'] = pmcrypt('secret');

If you have edit passwords and wish to allow all users with edit rights to upload, instead of $DefaultPasswords['upload'], you can set $HandleAuth['upload'] = 'edit'; in config.php.

Important: do NOT create the uploads directory yet! See the next paragraph.

You may also need to explicitly set which filesystem directory will hold uploads and provide a URL that corresponds to that directory like:

$UploadDir = "/home/foobar/public_html/uploads";
$UploadUrlFmt = "http://example.com/~foobar/uploads";

Note: In most installations, you don't need to define or change these variables, usually PmWiki can detect them (and if you do, uploads may simply not work).

Upload directory configuration

Uploads can be configured site-wide, by-group (default), or by-page by changing $UploadPrefixFmt in config.php.
This determines whether all uploads go in one directory for the site, an individual directory for each group, or an individual directory for each page. The default is to organize upload by group.


It is recommended that the $UploadPrefixFmt variable defined in config.php is the same for all pages in the wiki, and not different in group or page local configuration files. Otherwise you will be unable to link to attachments in other wikigroups.

Single upload directory

For site-wide uploads, use

$UploadPrefixFmt = '';

Per page upload directories

To organize uploads by page, use:

$UploadPrefixFmt = '/$Group/$Name';

You may prefer uploads attached per-page rather than per-group or per-site if you plan to have many files attached to individual pages. This setting simplifies the management of picture galleries for example. (In a page, you can always link to attachments to other pages.)

The upload directory

For the upload feature to work properly, the directory given by $UploadDir must be writable by the web server process, and it usually must be in a location that is accessible to the web somewhere (e.g., in a subdirectory of public_html). Executing PmWiki with uploads enabled will prompt you with the set of steps required to create the uploads directory on your server (it differs from one server to the next). Note that you are likely to be required to explicitly create writable group- or page-specific subdirectories as well!

Uploading a file

Once the upload feature is enabled, users can access the upload form by adding "?action=upload" to the end of a normal PmWiki URL. The user will be prompted for an upload password similar to the way other pages ask for passwords (see Passwords and PasswordsAdmin for information about setting passwords on pages, groups, and the entire site).

Another way to access the upload form is to insert the markup "Attach:filename.ext" into an existing page, where filename.ext is the name of a new file to be uploaded. When the page is displayed, a '?-link' will be added to the end of the markup to take the author to the upload page. (See Uploads for syntax variations.)

By default, PmWiki will organize the uploaded files into separate subdirectories for each group. This can be changed by modifying the $UploadPrefixFmt variable. See Cookbook:UploadGroups for details.

Versioning Uploaded Files

PmWiki does not manage versioning of uploaded files by default. However, by setting $EnableUploadVersions=1; an administrator can have older versions of uploads preserved in the uploads directory along with the most recent version.

Upload restrictions

Restricting uploaded files for groups and pages

Uploads can be enabled only for specific groups or pages by using a group customization. Simply set $EnableUpload=1; for those groups or pages where uploading is to be enabled; alternately, set $EnableUpload=1; in the config.php file and then set $EnableUpload=0; in the per-group or per-page customization files where uploads are to be disabled.

Restricting total upload size for a group or the whole wiki

Uploads can be restricted to an overall size limit for groups. In the group configuration file (i.e., local/Group.php), add the line

$UploadPrefixQuota = 1000000; # limit group uploads to 1000KB (1MB)

This will limit the total size of uploads for that group to 1000KB --any upload that pushes the total over the limit will be rejected with an error message. This value defaults to zero (unlimited).

Uploads can also be restricted to an overall size limit for all uploads. Add the line

$UploadDirQuota = 10000000; # limit total uploads to 10000KB (10MB)

This will limit the total size of uploads for the whole wiki to 10000KB --any upload that pushes the total over the limit will be rejected with an error message. This value defaults to zero (unlimited).

Restricting uploaded files type and size

The upload script performs a number of verifications on an uploaded file before storing it in the upload directory. The basic verifications are described below.

filenames
the name for the uploaded file can contain only letters, digits, underscores, hyphens, spaces, and periods, and the name must begin and end with a letter or digit.
file extension
only files with approved extensions such as ".gif", ".jpeg", ".doc", etc. are allowed to be uploaded to the web server. This is vitally important for server security, since the web server might attempt to execute or specially process files with extensions like ".php", ".cgi", etc.
file size
By default all uploads are limited to 50K bytes, as specified by the $UploadMaxSize variable. Thus, to limit all uploads to 100KB, simply specify a new value for $UploadMaxSize in config.php:
$UploadMaxSize = 100000;

However, the default maximum file size can also be specified for each type of file uploaded. Thus, an administrator can restrict ".gif" and ".jpeg" files to 20K, ".doc" files to 200K, and all others to the size given by $UploadMaxSize. The $UploadExtSize array is used to determine which file extensions are valid and the maximum upload size (in bytes) for each file type. For example:

$UploadExtSize['gif'] = 20000; # limit .gif files to 20KB

Disabling file upload by file type

Setting an entry to zero disables file uploads of that type altogether:

$UploadExtSize['zip'] = 0;  # disallow .zip files
$UploadExtSize[''] = 0;     # disallow files with no extension

You can limit which types of files are uploadable by disabling all defaults and specifying only desired types.
Setting the variable $UploadMaxSize to zero will disable all default file types. Individual file types may then be enabled by setting their maximum size with the variable $UploadExtSize.

# turns off all upload extensions
$UploadMaxSize = 0;

# enable only these file types for uploading
$aSize=100000; // 100 KB file size limitation
$UploadExtSize['jpg' ] = $aSize;
$UploadExtSize['gif' ] = $aSize;
$UploadExtSize['png' ] = $aSize;

Note: Files with multiple extensions

Some installations with the Apache server will try to execute a file which name contains ".php", ".pl" or ".cgi" even if it isn't the last part of the filename. For example, a file named "test.php.txt" may be executed. To disallow such files to be uploaded, add to config.php such a line:

  $UploadBlacklist = array('.php', '.pl', '.cgi');

Adding new file types to permitted uploads

To add a new extension to the list of allowed upload types, add a line like the following to a local customization file:

$UploadExts['ext'] = 'content-type';

where ext is the extension to be added, and content-type is the "MIME type", or content-type (which you may find here or on the lower part of this page) to be used for files with that extension. For example, to add the 'dxf' extension with a Content-Type of 'image/x-dxf', place the line

$UploadExts['dxf'] = 'image/x-dxf';

Each entry in $UploadExts needs to be the extension and the
mime-type associated with that extension, thus:

$UploadExts = array(
  'gif' => 'image/gif',
  'jpeg' => 'image/jpeg',
  'jpg' => 'image/jpeg',
  'png' => 'image/png',
  'xxx' => 'yyyy/zzz'
);

For the types that PmWiki already knows about it's not necessary to repeat them here (the upload.php script adds PmWiki's defaults to whatever the administrator supplies).

See also Cookbook:UploadTypes for additional types.

Other file size limits

There are other factors involved that affect upload file sizes. In Apache 2.0, there is a `LimitRequestBody directive that controls the maximum size of anything that is posted (including file uploads). Apache has this defaulted to unlimited size. However, some Linux distributions (e.g., Red Hat Linux) limit postings to 512K so this may need to be changed or increased. (Normally these settings are in an httpd.conf configuration file or in a file in /etc/httpd/conf.d.)

Problem noted on Red Hat 8.0/9.0 with Apache 2.0.x, the error "Requested content-length of 670955 is larger than the configured limit of 524288" was occurring under Apache and a "Page not found" would appear in the browser. Trying the above settings made no change with PHP, but on Red Hat 8.0/9.0 there is an additional PHP config file, /etc/httpd/conf.d/php.conf, and increasing the number on the line "LimitRequestBody 524288" solves the issue.

PHP itself has two limits on file uploads (usually located in /etc/php.ini). The first is the upload_max_filesize parameter, which is set to 2MB by default. The second is post_max_size, which is set to 6MB by default.

With the variables in place--PmWiki's maximum file size, Apache's request-size limits, and the PHP file size parameters, the maximum uploaded file size will be the smallest of the three variables.

Password protecting uploaded files

Setting a read password for pages (and groups) will prevent an attached file from being seen or accessed through the page, but to prevent direct access to the file location (the uploads/ directory) one can do the following:

  • In local/config.php set $EnableDirectDownload=0;
  • If you use per-group upload directories (PmWiki default, see $UploadPrefixFmt), add to config.php $EnableUploadGroupAuth = 1;
  • Deny public access to the uploads/ directory through moving it out of the html/ or public_html/ directory tree, or through a .htaccess file.

See Cookbook:Secure attachments

Other notes

  • If uploads doesn't seem to work, make sure that your PHP installation allows uploads. The php.ini file (usually /etc/php.ini or /usr/local/lib/php.ini) should have
file_uploads = On
  • Another source of error in the php.ini file is a not defined upload_tmp_dir. Just set this variable to your temp directory, e.g.
upload_tmp_dir = /tmp

Note that if you change this values, httpd must generally be restarted. Another way to check if uploads are allowed by the server is to set $EnableDiag to 1 in config.php, and set ?action=phpinfo on a URL. The "file_uploads" variable must have a value of 1 (if it says "no value", that means it's off).

How do I disable uploading of a certain type of file?

Here's an example of what to add to your local/config.php file to disable uploading of .zip files, or of files with no extension:

$UploadExtSize['zip'] = 0;  # Disallow uploading .zip files
$UploadExtSize[''] = 0;     # Disallow files with no extension

How do I attach uploads to individual pages or the entire site, instead of organizing them by wiki group?

Use the $UploadPrefixFmt variable (see also the Cookbook:UploadGroups recipe).

$UploadPrefixFmt = '/$FullName'; # per-page, in Group.Name directories
$UploadPrefixFmt = '/$Group/$Name'; # per-page, in Group directories with Name subdirectories
$UploadPrefixFmt = ''; # site-wide

For $UploadDirQuota - can you provide some units and numbers? Is the specification in bytes or bits? What is the number for 100K? 1 Meg? 1 Gig? 1 Terabyte?

Units are in bytes.

   $UploadDirQuota = 100*1024;         # limit uploads to 100KiB
   $UploadDirQuota = 1000*1024;        # limit uploads to 1000KiB
   $UploadDirQuota = 1024*1024;        # limit uploads to 1MiB
   $UploadDirQuota = 25*1024*1024;     # limit uploads to 25MiB
   $UploadDirQuota = 2*1024*1024*1024; # limit uploads to 2GiB

Is there a way to allow file names with Unicode or additional characters?

Yes, see $UploadNameChars

Where is the list of attachments stored?

It is generated on the fly by the

    markup.



    This page may have a more recent version on pmwiki.org: PmWiki:UploadsAdmin, and a talk page: PmWiki:UploadsAdmin-Talk.

    Recent Changes (All) | Edit Sidebar | Wiki Help | Page History | Edit Page Powered by PmWiki