Advanced Topics for System Administrators
Global defaults
System administrators can change OmniWeb's defaults for all their users. This is especially useful for setting up proxies, but can be used to change any preference the user can change in the preferences panel. For example, administrators may want to change the site-wide default for their users' home page, bookmarks page, font settings, or compatibility setting.
There are two ways to change OmniWeb's defaults for several users at once: adding defaults to NeXT's NetInfo database, or creating a site-wide defaults file. The former method is preferable, but the latter may be necessary if the administrator has access to the file system but not the NetInfo database.
Using a tool such as NetInfoManager (in /NextAdmin/) or the command-line, administrators can not only create site-wide defaults, they can optionally disallow users from overriding those defaults. This is useful to set up defaults that, if altered, will cause OmniWeb not to work (like setting up local help files or proxies to get past a firewall), and in environments where users might be hostile (showroom floors, for example).
In NetInfoManager, use Domain->Open... to open the domain you want to set the defaults for. If you are in doubt, set open the "/" domain to set defaults site-wide.
Next, you must create the application_preferences directory if it doesn't already exist. To do this, use Domain->New Subdirectory, which will give you a new directory named new_directory. Double-click on this directory to bring up its inspector, click on the word new_directory in the right-hand column, type application_preferences in the text field below, hit return, then select Directory->Save or hit command-s. Now close the directory inspector window (which is now labelled /new_directory).
Now use the steps above to create a subdirectory of application_preferences called OmniWeb. While still in the directory inspect window, you can add new OmniWeb defaults by using Directory->New Property, and typing the name of the default you'd like to set in the field at the bottom of the window where it says new_property. There's a list of defaults you can set at the end of this document. (Don't forget to hit return after changing the name or your changes are lost.) Now use Directory->Append Value to add a value to your property. If, for example, you are setting a boolean value, you can enter "YES" or "NO" in the field.
If you want your default to be unchangeable by users, make sure the property you want to override is selected in the directory inspector's left-hand column, and then use Directory->Append Value and change the new value to say override. If done correctly, the property will now have two values; the top one being the default value, the bottom the word override.
You can add as many defaults ("properties" in NetInfo parlance) as you like to the OmniWeb dictionary. When you are done, save with command-s. The next time a user launches OmniWeb at your site, her defaults will be the ones you have set. Note that, if the user has already set preferences that you are setting defaults for, she won't notice a difference unless you've set your default to override.
For experts, you can also load the NetInfo database from the shell, which would look something like this:
# niload -r /application_preferences /
name = application_preferences;
CHILDREN = {
name = OmniWeb;
HomePage = "file:/LocalLibrary/OmniWeb/Start.html";
};
^D
When setting values for a property which takes a list or a dictionary, use NeXT's property list format, but take out all the returns and put the whole value in one line. Briefly, the property list format says arrays are surrounded by parentheses and have values separated by commas, and dictionaries are surrounded by curly braces and have key=value pairs terminated by semicolons. Here's an example of a value for the ProxyServers attribute, assuming your site is named yoursite.com and your proxy server is proxy.yoursite.com:
( { proxyURL = "(non-proxied protocols and destinations)"; destinations = (yoursite.com); }, {proxyURL = "http://proxy.yoursite.com/"; } )
An alternative way to create side-wide defaults is to add a file named Omni.dictionary to the directory /LocalLibrary/OmniComponents/ (create it if it doesn't exist, and make sure it is readable by the users).
The Omni.dictionary file will have an entry for each default that the administrator wants to change. For example, if the administrator wanted to make all users' default text color be red and default text font be Helvetica, the Omni.dictionary file would look like this:
{
OmniPreferenceController = {
SitePreferences = {
defaultsDictionary = {
TextColor = "1 0 0";
NormalFont = Helvetica;
};
};
};
}
Note that the disadvantages of using a file as opposed to using NetInfo:
- Using NetInfo puts all your site's configuration information in one place.
- All users must have /LocalLibrary/OmniComponents mounted on their machines for the defaults file to apply to them.
- Using NetInfo gives you the flexibility to set different defaults for each sub-domain or even each machine in your network.
Here is a complete list of all defaults that can be set by users or administrators. Note that some of these are rather obscure, and some aren't settable via the preference panel; these must be set either by the user executing a dwrite command in a shell or by the administrator setting them via one of the two above methods. Note further that some preferences are hidden because they are experimental or dangerous, and could cause instabilities in OmniWeb. These are marked below.
The entries below are in a format suitable for copying and pasting directly into an Omni.dictionary file. Be sure to quote any values that contain anything besides letters and numbers.
Colors are given as RGB triplets separated by spaces, where each channel is a float from 0 to 1.
Home defaults
- BookmarkPage = "OmniWeb:/SampleBookmarks.html";
- ShowBookmarkPage = YES;
- HomePage = "OmniWeb:/Start.html";
- ShowHomePage = YES;
- SearchPage = "http://www.omnigroup.com/Search/search.html";
- ShowSearchPage = NO;
- HideOnAutoLaunch = YES;
Color defaults
- BackgroundColor = ".8 .8 .8";
- BackgroundGray = 1;
- BookmarkBackgroundColor = ".8 .733333 .666666";
- BookmarkBackgroundGray = .666666;
- TextColor = "0 0 0";
- TextGray = 0;
- LinkColor = "0 0.2 0.46666";
- LinkGray = .333333;
- CachedLinkColor = "0 0.26666 0.06666";
- CachedLinkGray = .333333;
- HighlightedAnchorColor = ".1 .6 .12";
- HighlightedAnchorGray = .666666;
-
- FrameHighlightColor = "0.8 0 0";
- FrameHighlightGray = .333333;
-
- alwaysUsePreferenceColors = NO;
Font defaults
- FixedPitchFont = Courier;
- NormalFont = Helvetica;
- TitleFont = "Helvetica-Bold";
- FixedPitchFontSize = 12;
- NormalFontSize = 12;
- TitleFontSize = 12;
HTML defaults
- UseISOLatin1StringEncoding = YES;
- UnderlineAnchors = YES;
- IncrementalDisplay = YES;
- WaitForImages = YES;
- WaitForImagesTime = 15.0;
Bookmark defaults
- OpenCreatesNewWindow = YES;
- BookmarksSaveAutomatically = NO;
- BookmarksDefaultCheckTimeMinutes = 0;
Imaging defaults
- AutoFetchInlineImages = YES;
- BackgroundImagesDisabled = NO;
- BackgroundImagePrintingDisabled = YES;
- OmniImageProcessorDrawInterval = 2.0;
- OmniImageProcessorCheckTimeEveryNRows = 16;
- GifGammaCorrection = 1.6;
- JPEGGammaCorrection = 1.4;
Download defaults
- DownloadDirectory = "/tmp";
- ScratchDirectory = "/tmp/OmniWeb";
- RunSavePanelOnDownload = NO;
- SaveOpenedFiles = NO;
- Mailer = "Mail.app";
- Terminal = "Terminal.app";
- LocalServerSuffix = "";
- LocalServerDirectory = "/LocalLibrary/Web/";
Compatibility defaults
- SpoofAllServers = NO;
- NetscapeBigotedServers = ("777film.com", "hotwired.com", "speakeasy.org", "word.com", "yahoo.com", "wiso.gwdg.de", "books.com");
- MosaicCompatibleNonterminatedQuotedValues = NO;
- NetscapeCompatibleComments = YES;
- NetscapeCompatibleNewlineAfterEntity = YES;
- NetscapeCompatibleNonterminatedEntities = YES;
- NetscapeCompatibleRelativeAddresses = YES;
- ShuffleImplicitTableCells = YES;
Cookie defaults
- CookieDirectory = "~/Library/OmniWeb";
Proxy defaults
- ProxyServers = ();
- NonProxiableSchemes = (file, mailto, omniweb, rlogin, telnet, tn3270);
Cache defaults
- Danger: changing the following can cause OmniWeb not to work right
- ContentTypeExpirationTimeIntervals_2_0 = {
- "DocumentTitle/Guess" = NeverExpire;
- "DocumentTitle/Real" = NeverExpire;
- "ObjectStream/FileList" = 15;
- "ObjectStream/SGML" = 15;
- "Omni/DocView" = 600;
- "Omni/Image" = 600;
- "Omni/Source" = 300;
- "Omni/ImageMapSet" = 600;
- "TimeStamp/LastChanged" = NeverExpire;
- "TimeStamp/LastFetched" = ExpireWhenFlushed;
- "TimeStamp/LastViewed" = NeverExpire;
- };
Hidden defaults
- ShowBubbleHistoryBrowser = NO;
- ShowLinearHistoryBrowser = NO;
- ShowInspector = NO;
- ShowProcesses = NO;
- ShowConsole = NO;
- RealAcceptHeader = NO;
- Used in Netscape Cookie support
- ShortTopLevelDomains = ("com", "edu", "net", "org", "gov", "mil", "int");
- Used in the file: processor
- DirectoryIndexFilename = "index.html";
- Used in the OWController
- DocumentationURL = "http://www.omnigroup.com/Software/OmniWeb/Docs";
- FeedbackURL = "http://www.omnigroup.com/Software/OmniWeb/FeedbackForm.html";
- AboutURL = "http://www.omnigroup.com/Software/OmniWeb";
- Used by the FTP protocol
- AnonymousFTPPassword = ""; empty generates user@domain
- Debugging
- DebugHTTP = NO;
Please send comments, corrections, and suggestions regarding this documentation to OmniWeb-docs@omnigroup.com. Omni always welcomes your feedback!