This file documents MegaList. Copyright (C) 1991, 1992, 1993, 1994, 1995 by Magnus Lilja. MegaList ******** MegaList manual updated: 14 June 1995 MegaList is a filelisting utilitiy for the Xenolink BBS. The program is able to produce filelists and the add/update them to the filecatalouge. You can also create AmigaGuide-compatible filelists! Copying and distribution notes ============================== This program is free to copy and spread. You may spread the program via BBS, FTP-sites and through ADS-alike systems, in other words spread it! The only condition is that this archive is intact and that NO files are deleted/added (except those annoying camefrommybbs.displayme, although I personnally dislike them). Requirements ============ In order to run MegaList 1.32 you need AmigaDos v2.0 or higher and Xenolink Z3a or higher. That's all! Installation ============ Copy MegaList to your path, preferrably xenolink:utilities/ and copy MegaList.cfg to XCONFIG:MegaList/ Now you need to change some things in the default MegaList.cfg, see Configuration for more info about the format of the configuration file. Configuration ============= The configuration file is called MegaList.cfg and should be located in XCONFIG:MegaList/ Each filelist takes about 1kB of memory. MegaList 1.32 recognizes the following keywords: BUFFERS ======= Syntax: BUFFERS Description: Xenolink can preload files and that makes MegaList a bit faster. Note that this may not be valid in future versions of Xenolink. PACK ==== Syntax: PACK Description: With the PACK keyword you specify the different archiving methods that MegaList can use. is i.e LZH,LHA,ZOO,ZIP,ARJ or something like that. could be "lha -2 u". This can look like this: PACK LZH lha -2 u PACK LHA lha -2 u You may specify up to 10 different packing methods. FILELIST ======== Syntax: FILELIST
or Description: FILELIST marks the beginning of a new filelist.
is the file section number that the filelist should be placed in. If you don't want the filelist to be added to Xenolink's filecataloge type a directory instead. The path must end with '/' or ':'. After FILELIST comes the rest of the keywords that specifies how this particular filelist should look like. When you have finished one filelist type ENDFILELIST to tell MegaList that this is the end of this filelist. After ENDFILELIST you can have another FILELIST entry. ADDLINEFEED =========== Syntax: ADDLINEFEED YES/NO Description: Do you want a linefeed (\r) added after each line? ALWAYSPRINTHEADER ================= Syntax: ALWAYSPRINTHEADER YES/NO Description: If you select NO MegaList won't add sectionheader/footer if there are no files printed in that section. YES means that MegaList always prints sectionheader/footer. AMIGAGUIDE ========== Syntax: AMIGAGUIDE YES/NO Description: If you want to create an AmigaGuide filelist then set this option to YES. In that case be sure to fill in the AMIGAGUIDEHEADER field also. AMIGAGUIDEHEADER ================ Syntax: AMIGAGUIDEHEADER Description: The string is parsed and will be shown in the title of the AmigaGuide window. Possible specifiers are: %n - Filesection number %N - Filesection name %D - Current date BANNER ====== Syntax: BANNER Description: MegaList will put the file in the beginning of the filelist. BEGINLIST ========= Syntax: BEGINLIST[FILE] Description: The string will be parsed and then put in the beginning of the filelist after the BANNER file. Maximum length is 1000 chars, if you want longer use the method below. You can put C-type formatting characters in the string such as: \n Return \r Linefeed and if you put %D in the string MegaList will print the current date instead if %D. If you want to load the template from a textfile then use BEGINLISTFILE instead of just BEGINLIST. DESCLEN ======= Syntax: DESCLEN Description: Since you can have long descriptions in Xenolink Megalist can wrap the description after characters. See INDENT, of you to make the output look good after a wrapped description. DESCRIPTION =========== Syntax: DESCRIPTION Description: This is the description that will appear in Xenolink's file catalog for the filelist. You can use C-type formatting characters as well as %D - current date. ENDBANNER ========= Syntax: ENDBANNER Megalist will put this file at the end of the filelist. If you don't have any file then leave out this keyword. ENDFILELIST =========== Syntax: ENDFILELIST Description: ENDFILELIST marks the end of a filelist. After ENDFILELIST you may begin with another filelist with the FILELIST command. See FILELIST, for more info. ENDLIST ======= Syntax: ENDLIST[FILE] Description: The string will be parsed and then put at the end of the filelist. Maximum length 1000 chars, if you want longer use the method below. You can type C-type formatting characters as well as: %D - Current date. %B - Total number of bytes in list. %F - Total number of files in list. %K - Will expand to "bytes" or "kbytes" depending on how large your BBS is. If you want to load the template from a textfile then use ENDLISTFILE instead of just ENDLIST. EXTENSION ========= Syntax: EXTENSION is the unpacked filelist's extension, i.e .TXT FILEENTRY ========= Syntax: FILEENTRY Description: This is the format string for each fileentry in the filelist. In addition to C-type specifiers you can have these: %N - Filename %s - Filesize in bytes %d - Description %D - Date uploaded %a - Number of accesses %u - Uploader %p - Privilege %f - Freedownload (if the file is free an asterisc (*) will appear) Maximum length is 200 characters. FREEDOWNLOAD ============ §yntax: FREEDOWNLOAD YES/NO Description: Set the free-download flag? INCLUDEUNVALIDATED ================== Syntax: INCLUDEUNVALIDATED YES/NO Description: Do you want unvalidated files to be included in the list? INDENT ====== Syntax: INDENT Description: With INDENT you specify how many spaces MegaList should put before a wrapped description. GTB14.lha 500123 14-Oct-92 GadToolsBox v1.4 . A very good GUI-builder. And if you forget set INDENT to 0 it will look like this: GTB14.lha 500123 14-Oct-92 GadToolsBox v1.4 . A very good GUI-builder. See DESCLEN for more info about long descriptions. NAME ==== Syntax: NAME Description: This is the name of this filelist, without any extension, like: FILES 200-222 FILE030 PACKED ====== Syntax: PACKED Description: With PACKED you tell MegaList which packmethod you want to use on this filelist. must be one of those you specified with the PACK keyword. PACKFILELIST ============ Syntax: PACKFILELIST YES/NO Description: Do you want the list to be packed? If yes, it will be packed using the method described by PACKED keyword. PRINTMEGALISTINFO ================= Syntax: PRINTMEGALISTINFO YES/NO Description: Registered users of MegaList can turn off the text at the end of each filelist that MegaList adds. (It's the text saying MegaList registered to xxxx yyy). SECTIONFOOTER ============= Syntax: SECTIONFOOTER[FOOTER] Description: This string is parsed and inserted after the end of each filesection. Maximum length is 1000 chars, if you want longer use the method below. Optional specifiers are: %n - Filesection number %N - Filesection name %F - Number of files in section %B - Number if bytes in this section %D - Current date If you want to load the template from a textfile then use SECTIONFOOTERFILE instead of just SECTIONFOOTER. SECTIONHEADER ============= Syntax: SECTIONHEADER[FILE] Description: The string is parsed and inserted before each filesection. Maximum length is 1000 chars, if you want longer use the method below. Possible specifiers are: %n - Filesection number %N - Filesection name %D - Current date If you want to load the template from a textfile then use SECTIONHEADERFILE instead of just SECTIONHEADER. SECTIONS ======== Syntax: SECTIONS
Description:
is a list of which filesection to include in this filelist. SECTIONS 10-15,23,40-96,32 meaning, include sections 10 to 15, 40 to 96, 23 and 32 if they exist. Note that all sections between 40 and 96 don't need to exist. If MegaList can't find a section it continues with the next. SINCE ===== Syntax: SINCE or SINCE LASTSCAN Description: If you want to make a 'Last 15 days' list, then use SINCE 15 or how many days back you want. If you use SINCE LASTSCAN MegaList will include all files uploaded after the last MegaList scan. SORT ==== Syntax: SORT [ALPHA|DATE|SIZE] Description: MegaList is able to sort the files in one section before printing it. You can sort files by their names, sizes and how old they are. By default sorting is done backwards. To print a list forwards use FALPHA, FDATE, FSIZE. SORT FALPHA FILE9 6 19-Jul-92 [000] file9desc SASCOPTS 47 18-Jul-92 [000] blafs TEST.Q 31 27-Jul-92 [000] testing XLINFO.LNK 112 12-Jun-92 [000] Test program SORT FDATE XLINFO.LNK 112 12-Jun-92 [000] Test program SASCOPTS 47 18-Jul-92 [000] blafs FILE9 6 19-Jul-92 [000] file9desc TEST.Q 31 27-Jul-92 [000] testing SORT FSIZE FILE9 6 19-Jul-92 [000] file9desc TEST.Q 31 27-Jul-92 [000] testing SASCOPTS 47 18-Jul-92 [000] blafs XLINFO.LNK 112 12-Jun-92 [000] Test program and default sorting SORT ALPHA XLINFO.LNK 112 12-Jun-92 [000] Test program TEST.Q 31 27-Jul-92 [000] testing SASCOPTS 47 18-Jul-92 [000] blafs FILE9 6 19-Jul-92 [000] file9desc SORT DATE TEST.Q 31 27-Jul-92 [000] testing FILE9 6 19-Jul-92 [000] file9desc SASCOPTS 47 18-Jul-92 [000] blafs XLINFO.LNK 112 12-Jun-92 [000] Test program SORT SIZE XLINFO.LNK 112 12-Jun-92 [000] Test program SASCOPTS 47 18-Jul-92 [000] blafs TEST.Q 31 27-Jul-92 [000] testing FILE5 6 19-Jul-92 [000] file5desc Note that sorting is memory consuming. A future version may include a option that needs less memory when sorting but it will take longer time. UPDATEFILE ========== Syntax: UPDATEFILE YES/NO Description: Should MegaList update the fileentry in Xenolink's file-cataloge? UPLOADUNPACKEDFILE ================== Syntax: UPLOADUNPACKEDFILE Description: Do you want to upload the textfile that hasn't been packed? MegaList usage ============== Once you have configured MegaList.cfg and tested the program by typing MegaList in the CLI you can put MegaList in your nightly script. This way the filelists are always updated. You can have multiple config-files for MegaList if you want to, and in order to use another config than the default XCONFIG:MegaList.cfg just type: MegaList CONFIG When running MegaList will create a new filelist, update the old ones in the filecatalouge. MegaList now has a special mode so it's easy to create a door from which a user can create a filelist and download it. MegaList CONFIG USERNAME LISTNAME SINCE PACKFILELIST USERNAME and LISTNAME must be specified. LISTNAME overrides the FILENAME in the config-file. Example: MegaList CONFIG xconfig:MegaList/mluser.cfg USERNAME "Magnus Lilja" LISTNAME USERLIST SINCE 15 PACKFILELIST This will force MegaList to create a filelist called USERLIST+extension and include files that are not more than 15 days old. Included sections will be; All sections specified by SECTIONS keyword and all sections that the user "Magnus Lilja" has masked in. With this function you can create a door which calls MegaList and then lets the user download his personal filelist. See MegaList.rexx for a simple example (don't know if it works). You can break MegaList by pressing CTRL-C. Registration ============ My philosophy is not to stop any users from using any of my programs functions, therefore registration is 100% up to you. The only change for you when you have got your keyfile is that some of my utilities print out [Registered]. So, if you use my programs and like to give the author some support just read through the file 'Registration.txt' for more info. Bugreports ========== As you all know all programs has its bugs, but in order to find all bugs I rely on your help. If the program acts strange please send me a message with _a lot of_ information about the strange behaviour. You can send bugreports in three ways: 1. Post them in XENOLINK_UTIL (easiest) to 'Magnus Lilja'. 2. Write a NetMail to 'Magnus Lilja' at 2:201/244.0 . 3. Send a e-mail (fastest) to lilja@lysator.liu.se . The last one is the fastest and you will probably have my answer within 48 hours. Acknowledgements ================ Special thanks to: Mikael Abrahamsson for ideas, alpha/beta testing. Bruce Lawson for bugreports and ideas. Jonathan Forbes for Xenolink and LZ. Micke Persson for ideas and testing. and to all sysops active in XENOLINK_UTIL that gives me ideas and bugreports. Thanks to Commodore-Amiga for a great computer, SAS/C for their fine C-environment (V6.x)