ftp.nice.ch/peanuts/GeneralData/Documents/literature/RecipeIndex.0.94.NI.bs.tar.gz#/RecipeIndex

Copyright.rtf
[View Copyright.rtf] 
Makefile
 
README
 
README-OLD.NewsInex0.93
 
README-Recipes.orig
 
RecipeFilter.m
[View RecipeFilter.m] 
RecipeIndexing.service/
 
services
 
tmac.recip
 
xart.awk
 

README

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.
---------------------------------------------------------------------------------

README-OLD.NewsInex0.93

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)

README-Recipes.orig

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.