RecipeIndex [V0.94 by Izumi Ohzawa, izumi@pinoko.berkeley.edu] [Archive maintainer: please store this file in the same directory as Recipes.tar.Z, since this package contains a set of tools to index recipe files in that collection. Thanks.] OS: 3.0 or later ARCH: MAB (m68k,i386) This is a Sevice filter daemon for indexing recipe collection in nroff format available as Recipes.tar.Z at FTP archives. This is a replacement (update) for scripts found in Recipes/.index directory which no longer work for Digital Librarian in NS 3.x or later. Precompiled FAT binary (m68k,i386) is included. Nroff-format recipe files themselves are not included, you must obtain them by getting Recipes.tar.Z from the archives. There is no need to modify the original recipe files. You only have to add several files to the Recipes database directory from this distribution, and install indexing tools and display scripts. From the original package, only the README file is included here as README-Recipes.orig. An alternative way to index this thing is to use a nroff2rtf type converter, which must exist somewhere, while moving the recipe title to the top of file. Then again, you will lose such cool features, e.g., ability to display recipes with metric measurement units with a simple modification to .displayCommand. This is a quickly hacked version of the indexing tool for NewsGrazer articles available as NewsIndex0.93* from the archives. Only minimal modifications have been made. See README-OLD.NewsInex0.93 for info on details not found in this README file. CAVEAT: This indexing service may or may not interfere if you attempt to index local man pages for DL, because it registers file type "nr". If you have trouble indexing new man pages, remove RecipesIndexing.service. Since the recipes collection appears to be static (no new ones avaialble), you might want to remove the service after you've created the index anyway. Also for now, you should avoid using Igor.app from AFS that comes with WriteUp.app (maybe also with PasteUp too). NS Release 3.2, DigitalLibrarian, ixbuild are not happy when Igor.app is in /LocalApps or ~/Apps. You will get lots of error messages in the console log from ixbuild and DL saying ascii paste board could not be filtered etc. This may not necessarily cause apps to mulfunction, but it is annoying. The bug, I was told, is in NeXT side of software, but until that is fixed, you might avoid Igor.app anyway. --- Installation Procedure ------------------------------------------------- [1] Copy "RecipeIndexing.service" folder into /LocalLibrary/Services or ~/Library/Services. [2] Copy the following 6 files: .index.ftype .index.swords .displayCommand .roffArgs .dir.tiff Copyright.rtf into ~/Library/Recipes directory (or wherever you have installed nroff recipe files). (Enable "Unix Expert mode" in Preferences, if you don't see these files in FileViewer.) Rename the obsolete .index directory to something else like .index.old (just in case the old directory is not completely ignored). [3] Copy xart.awk into /usr/local/lib directory. Also copy tmac.recip into /usr/local/lib/tmac. Create the directories if they do not exist. [These files and .displayCommand come from rcshow shell script in the original package written by Brian Reid.] [4] Do "make_services" or, logout/relogin or whatever necessary to make WorkSpace recreate its services cache. Try doing Command-u in WorkSpace while ~/Library/Services/RecipeIndexing.service (or /LocalLibrary...) is selected. [5] Cd to ~/Library/Recipes (or wherever), and do: rm .index.store ixbuild -gsv -LEnglish . This will create the first usable index for DL. With the '-v' flag for the ixbuild command, it should print out filenames being indexed followed by the file type "nr" for nroff file. If the file type is not "nr", something is wrong with the installation. Possible causes include missing .index.ftype or RecipeIndexing.service is not correctly installed or the servce is not yet registered by Workspace (see [4] above). [6] Start DL and drag ~/Library/Recipes onto shelf. Save. [7] From this point on, you should be able to update the index from within DL via the inspector (if you ever get new recipes in nroff format). [8] To display in Metric measurements (grams, milliliters, etc. instead of lbs, cups), change "-rM0" to "-rM1" in .displayCommand. [9] Delete the installed RecipeIndexing.service if you are not adding any new recipes in nroff format (see CAVEAT at the top of file). [10] Install a tastier .dir.tiff in the Recipes folder than the one I included from NeXT-icon@gun.com Archives (Tools/Spatula/Spatula.tiff). No Copyright is claimed for the RecipeIndex/RecipeFilter. This program is hereby released into the public domain, and you are free to use it for any purpose including commercial use. Note the copyright for the original recipes, however. ================================================================================= For more detailed info on the workings of this daemon and other tips, see README-OLD.NewsInex0.93. --- To Build FAT binary: -------------------------------------------------------- Launch ProjectBuilder.app, do Project->Open Makefile, and open the Makefile in this directory. Select target <Default>, and build! If there is an error, first select target "clean", build, and then select target <Default> and build. ---------------------------------------------------------------------------------
NewsIndex (NewsFilter) [V0.93 by Izumi Ohzawa, izumi@pinoko.berkeley.edu] News filtering and description services for DL indexing of usenet news articles. The following two services are implemented. [1] NewsDescribe Service: Describes news articles based currently on Subject:, From:, and Date: lines. Some effort has been made to extract full name of the poster from the From: line. With this service, when you search in DigitalLibrarian, titles are listed in the format: Re: DigitalLibrarian indexing service -- (Joe R. Poster), Sun Jan 23 1994 12:39 Without this filter, all you see as titles are filenames of news articles and the beginning of the first line, which aren't informative at all, e.g., NeXT-Announce.nfold/comp.sys.next.announce.9823 Path: agate!howland.reston.ans.ne [2] NewsFilter Service: Starting with Version 0.93, another service -NewsFilter:... has been added. The purpose of this filter is to remove junk, such as uuencoded stuff, Path: ..., and Nntp-posting-host: ... lines before the article text is handed over to indexing scanner. This should reduce the size of .index.store somewhat (upto 20% compared with Version 0.91). (Precompiled binary has been tested only under 3.2 Motorola. With recompile, it should work for Releases 3.x. You can also compile FAT as explained below.) BTW, this thing works with news articles saved by other news readers, but it assumes that articles are saved in separate files like NewsGrazer does. --- Installation Procedure ------------------------------------------------- [1] Copy "NewsIndexing.service" folder into /LocalLibrary/Services or ~/Library/Services. [2] Copy .index.ftype, .index.swords, and (optionally) .dir.tiff into ~/Library/NewsGrazer/NewsFolders directory. (Enable Unix Expert mode in Preferences, if you don't see these files.) Replace these files with new ones, even if you used NewsIndex0.9 - 0.91 and already have these in the NewsFolders directory. [3] Patch NewsGrazer so it won't claim *.nfold as its document file package (This interferes with ixbuild), by editing out the second line of __ICON segment __header section. This patch disables launching of NewsGrazer via double-clicking *.nfold in FileViewer (of WorkSpace). I don't use it, but if you actually rely on this feature, don't do it. A shell script "patch_NG" is provided for doing this. This script does not work with the MAB (FAT) version of NewsGrazer. To use the patch, you must 'lipo' out one binary architecture. Copy this script into NewsGrazer.app directory, and run it. If you don't own NewsGrazer.app directory and its content, you may have to become root. After the patch, try doing Command-u in WorkSpace while NewsGrazer.app is selected. NOTE: An alternative to patching is to move NewsGrazer.app to a directory that is not in the ApplicationPath such as /LocalUtil. Then, the *.nfold will not be recognized as doc packages for NewsGrazer. For the new (Released 94-02-11) MAB version of NewsGrazer, this is probably the best thing to do. To check if the patch or the move to non-AppPath directory worked, go to ~/Library/NewsGrazer/NewsFolders, and select any .nfold in FileViewer. The icon for the .nfold should be the standard (brown) folder icon, NOT the one with paper spilling out of the folder. [4] Do "make_services" or, logout/relogin or whatever necessary to make WorkSpace recreate its services cache. Try doing Command-u in WorkSpace while ~/Library/Services/NewsIndexing.service (or /LocalLibrary...) is selected. [5] Cd to ~/Library/NewsGrazer/NewsFolders, and do: rm .index.store ixbuild -gsv -LEnglish . This will create the first usable index for DL. [6] Start DL and drag ~/Library/NewsGrazer/NewsFolders onto shelf. Save. [7] From this point on, you should be able to update the index from within DL via the inspector. --- TIPS: ------------------------------------------------------------------ [8] Separating DL targets and index files for groups of newsfolders You might want to keep articles in separate groups, such as NeXT-stuff, Mac-stuff, PC-junk, Other-news, and you may not want source code groups to go into the index. You can do this by creating directories containg symbolic links. For example, you might create ~/Library/NewsGrazer/NewsIndex directory in which you create separate directories: NeXT-stuff, Mac-stuff, etc. You then create symbolic links to original *.nfold in these directories, e.g., cd NeXT-stuff ln -s ../../NewsFolders/NeXT-Announce.nfold NeXT-Announce.nfold ... Just leave out links for newsgroups which you don't want to be indexed. You must copy .index.ftype, .index.swords, and .dir.tiff into each of NeXT-stuff, Mac-stuff etc. Then in each one, do: rm .index.store ixbuild -gsvl -LEnglish . Note the additional "-l" option which causes ixbuild follow symbolic links. In the DL, you then drag these separate folders onto the shelf. The sum total of sizes of separate .index.store files will be larger than the case where you have one big index file for all newsgroups. This is because strings for words will be duplicated in separate index files. However, the time it takes to complete indexing and updates will be shorter, if DL does not have to check everything all the time. [9] Indexing and NFS Indexing news articles over NFS is slow. For a large news collection, it make take nearly twice as long to index over NFS than when articles are on the local disk. You can rlogin into the NFS server (if it's NEXTSTEP) and run ixbuild from a remote shell. Public Window Server is not necessary apparently. I don't know what will happen if the console user on the server and you, logged in remotely, try to index news at the same time. --- Notes to programmer types --------------------------------------------- Code is a quick hack, but it should serve a purpose as a starting point for writing other description filter daemons for DL. Advantage of this Listener daemon scheme over the Unix stdio filter (invoked via NXUNIXSTDIO port) is that the daemon based filter is more efficient because it is invoked only once per DL indexing session, while stdio filter is invoked for every article indexed. This is described in the NeXT doc (in Release 3.x) /NextLibrary/Documentation/NextDev/ReleaseNotes/AppKit.rtf: "For those which operate on NXFilenamePboardType, there are special ports called NXUNIXSTDIO and NXMAPFILE. The first will cause your filter to get launched with the name of the file to be converted on the command line and which expects the data to be put in the Pasteboard to come out of the filter's stdout. This is mostly for compatibility with existing filters which work this way, it is strongly encouraged that you NOT use this mechanism because it causes the filter to be repeatedly launched rather than staying around and waiting on a Listener port (which is much more efficient)." Daemons can keep running indefinitely, but this one quits after some duration of inactivity. No Copyright is claimed. This program is hereby released into the public domain. Benoät GrangÝ [ben@fizz.fdn.org] distributed a similar daemon free of charge, but no source code was included in the distribution. This version has been developed from scratch by myself, and comes with sources. --- To Build FAT binary: -------------------------------------------------------- Launch ProjectBuilder.app, do Project->Open Makefile, and open the Makefile in this directory. Select target <Default>, and build! If there is an error, first select target "clean", build, and then select target <Default> and build. --------------------------------------------------------------------------------- Have fun. -Izumi --- Izumi Ohzawa [ $@Bg_78^=;(J ] USMail: University of California, 360 Minor Hall, Berkeley, CA 94720 Telephone: (510) 642-6440 Fax: (510) 642-3323 Internet: izumi@pinoko.berkeley.edu (NeXTMail OK)
4/23/92 Recipes.tar.Z contains a Digital Librarianized version of the massive collection of recipes that can be found on many archives, including gatekeeper.dec.com. The semi-mystical recipe formatter (found in Recipes/.index/rcshow) is entirely the work of Brian Reid. If you want these recipes to display metric measurements instead, you can edit the rcshow script. The curious may also want to peek inside the .index directory; Digital Librarian is a cool thing, but it would be much cooler if the documented some of its features. These recipes come from a newsgroup called alt.gourmand, in which a moderator apparently translated recipes into the troff-ish format that you see in this archive. The moderator of rec.food.recipes, Andrew Mossberg (aem@mthvax.cs.miami.edu) has no idea where the group went, and neither do I. As far as I can tell, though, this clever style of formatting recipes is no longer used; if you know the story behind it, I'd appreciate it if you'd drop me (and Andrew) a line. Anyhow, I did all this mainly so I could find a particular chocolate- chip cookie recipe; now that I have, I'm gonna start baking. If you have suggestions or comments, feel free to send mail to me at the address below. And enjoy! William --- William Pietri | Email: William.Pietri@umich.edu Stat. Dept. Sysadmin and | or: william@stat.lsa.umich.edu ITD/CSS Consultant | or: USERW28W@UMICHUM.bitnet University of Michigan | Phone: (313) 764-9983
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.