The NPDS Pseudo-Filename System

How To Be a Card-Based Computer in a Disk-Based World

The Web is very much organized around the idea of "files" and"paths" and "directories" yet the Newton has no concept of thesethings. All storage on a Newton is in a single meta-store and dividedinto smaller units called soups. Soups are composed of entries. TheNewton paradigm is much more fluid and adaptive than the fixeddirectory sructure of standard CLI -type filesystems but since we'retrying to emulate the latter, some conventions have been established.

Newton Data is accessed via directories like in a standardfilesystem, but NPDS uses the folder name (/dates/, /html/, etc) todetermine which plugin to use to create data for service to the WWW.No physical information is encoded in the directory name.

Thusly: All NPDS Directories are one level deep. In other words,by default, all items in the /dates/ directory are the same level inthe tree. There's no support for additional layers in the emulatedfilesystem and developers are welcome to use any subdirectory schemethey wish to implement.

NPDS paths look like: "/html/224567867$967.xxx"

What is encoded here is:

|NPDSPluginPath|/|NewtonStoreSignature|$|SoupEntryUniqueID|optionaldata|.|extension|

This path, combining the directory, store, soup entry ID, andextension allow NPDS plugins to return the requested item just likeit was being served off a big ol' Hard Disk.