Granting TypeMetal File System Permissions
To help protect your Mac and your data, TypeMetal runs in an OS X Application Sandbox. This keeps TypeMetal from accessing files that you haven’t asked it to open or save.
You won’t need to deal with Sandbox permission issues when working with a WordPress projects, since TypeMetal keeps those in a "shoebox" directory that it always has access to, but you may encounter permission prompts when working with standalone HTML files.
Since an .html file can reference other .html files, .css style sheets, image files, and other such referenced resources, TypeMetal will sometimes need to ask you for additional permissions when you open a given .html file. TypeMetal requests permission for entire folders (directory subtrees), and retains the permissions you grant it — so once TypeMetal gets to know the project folders you regularly work with, it will no longer need to prompt you for permissions.
New in TypeMetal 1.1.2 and later: TypeMetal now allows you to open and edit any .html file, even when it can’t obtain permission to load some of the image files or other resources that the .html file references. A new title-bar popover UI warns you about potentially risky folder access requests, and allows you to approve them if desired, or continue working with the .html file without granting additional folder permissions if you prefer. See below for how this all works.
Answering the Request Sheet
When TypeMetal determines, during opening of an .html file, that it needs to request permissions you haven’t granted yet, it may prompt you to grant the needed permissions, using a sheet like this on the just-opened HTML document window:
In this example, TypeMetal is requesting permission to read and write files in a folder named “css”, and any subfolders and descendant folders that the “css” folder might contain. You can grant the permission TypeMetal is requesting by simply clicking the “Open” button at the lower-right corner of the sheet. You are, however, free to choose a different folder to approve. (See below for why you might.) You may also refuse the request by clicking the “Cancel” button. If you do, TypeMetal will be unable to access some of the resource files that the .html file references — so some styling and images may not appear, for example — but you will still be able to edit the .html file and save your edits.
Answering, and Avoiding, Repeated Requests
Sometimes, TypeMetal needs to request permission for more than one folder — perhaps, for example, because an .html file references image files in one folder and .css files in another folder, or because TypeMetal only discovers the need for additional folder access after parsing a .css file’s
url() references. TypeMetal strives to distill its requests into the fewest number necessary to make all of the file’s referenced resources accessible, while avoiding asking for unreasonably broad permissions (such as access to your entire home directory or access to system directories).
When TypeMetal prompts you for folder permissions, you’re free to choose a different folder to approve. If you anticipate that TypeMetal will need permissions for other folders within an enclosing top-level project folder, for example, you can choose that top-level project folder. This can avoid needing to answer additional permission request sheets, if the folder you grant permissions for encompasses every file TypeMetal requires.
You are always free to refuse a permission request that seems unreasonable, by clicking the “Cancel” button in the permission request sheet. TypeMetal will get by the best it can without access to affected resource files.
The Authorization Issues Popover
If you work with HTML files in file system areas that are a bit off the beaten path — that is: on the system’s boot volume, but outside your home directory — TypeMetal will exercise some caution by warning you about any potentially questionable permission requests that it decides it needs to make. It does this by displaying a warning icon next to the document icon in the window’s title bar:
You can click this warning icon, which causes TypeMetal to display a list of suspect folder paths for which it would like to obtain access:
If you’re comfortable granting access to the folders in the list, you can click the “Grant Access…” button to have TypeMetal prompt you, via successive sheets, to grant access to each needed path. (Once you grant access, TypeMetal will retain the granted permissions, and won’t have to prompt you for access to those folders again.) Or, you’re free to click anywhere outside the popover to dismiss it and continue working with your HTML file without granting additional access. The inability to access some of the resources your HTML file references may prevent TypeMetal from displaying your document with some of its intended images and styling, but that won’t affect your ability to edit your file’s HTML content and save your edits.
TypeMetal considers some access requests intrinsically unsafe. For example, TypeMetal will never ask you to grant it read/write access to your system’s root directory (“/”). In such cases, TypeMetal simply alerts you to the issue using a different icon, without offering the opportunity to make such risky access grants. It will make do without access to the affected resource files.
Potentially useful things to know:
A reference to a file that doesn’t exist won’t cause TypeMetal to request permission for the enclosing folder. TypeMetal only asks you to grant permissions when a referenced file actually exists, and TypeMetal can’t read the file only because it hasn’t been granted sufficient file system permissions.
To avoid being pestered about file system authorization, you may want to keep the HTML files that you want to work with, and their related resource files, in a place where user files are traditionally stored — such as within your home directory, within /Users/Shared, or on a volume other than your boot volume. Placing HTML files and their referenced resources in system directories may force TypeMetal to make questionable file system permissions requests. It’s best to keep your working files separate from system files, in places to which you can safely grant access without worrying about it.