Usenet Explorer Help Notes Getting started Newsreader The workspace window contains newsgroups, servers and newsgroup list panes. To enter newsgroups and servers you can use file menu->default toolbar->new newsgroup/server or context menus in the workspace window (or use toolbar buttons). Each newsgroup has an associated destination type set during its creation in the combo box in the bottom of the 'enter name' dialog. The type is critical to the program memory consumption. If it is a large binary newsgroup use the binary compact newsgroup type. For small binary groups (well under 1M headers) you can use message-id direct type, for small text groups (below 100K headers) you may use article number newsgroup type since only it allows to expire headers right when they expire on the server. If you have too many servers the message-id direct type is always recommended since its size doesn't depend on the number of servers. Also when you use compact binary or msg-id direct group types database space fragmentation is likely to be low. After entering newsgroups invoke 'get new headers' from the context menu or for the current newsgroup window you can use toolbar buttons. To download article bodies select headers and invoke 'download articles' you can invoke download&save to save attachments after download, depending on settings (properties->newsgroups->save) the attachments will be saved into default directory or the program will ask for download directory. Newsgroups can be dragged into folders, folders can be opened to contain combined headers from respective newsgroups (you can also combine newsgroups without dragging them into folders by selecting them and invoking 'combine newsgroups' from the context menu). With compact binary group type it is possible to keep e.g. 100-200M headers in 1GB of memory but usually it is not necessary since some newsgroups can be in unloaded state not taking any space. Message-id direct groups can achieve probably 14-17M headers in 1GB, the rest of types (article numbers and message-id) about the same order but somewhat less, how much less depends on the number of servers. The program has many more options but you don't have to learn about them right away and utilize them gradually, if someone is not clear check the forum and read the rest of these notes. Free poster The program contains free text/binary poster, also related functionality like newsgroup list related is free. The reason for including it as a free tool is existing widely used poster 'powerpost' is terrible by introducing options that may puzzle text newsreaders by forming invalid subjects and arbitrary placing references which isn't used by binary downloaders anyway and has backlog of all kinds of problems. The poster can post par2 sets, nzb and sfv files, for posting par2 it seamlessly uses par2 command line client. Other features are reposting segments/attachments, retrying posts reposting only failed segments, post task persistency between sessions, simultaneously posting several posts each to its own server (but still not suitable for sending spam), remembering prior posts etc. See the post menu and edit menu->properties->posts for related settings. Important to know Sometimes servers carry very large newsgroups. Unless you use the compact binary newsgroup destination type which can accomodate very large groups in much less memory you need to limit their size. Also for non article-numbers newsgroups if retention by date is not set the newsgroup will grow indefinitely since for them the program doesn't keep article numbers. Apart from retention by date for all group types it is recommended to set headers per server as well - approximately corresponding to the retention, then downloading headers after retention have been changed will start faster. For compact binary groups if you want to keep all headers set retention the same as the server retention. Use compact binary destination type for large binary groups. If you like to see partials in threads of replies the next most economical (but much more memory hungry than compact binary) is the msg-id direct newsgroup destination type, especially when you have more than one server downloading headers since for the other newsgroup types the storage required for destinations grows proportionally to the number of servers. When using other than compact binary type and dealing with many large newsgroups keep limited the number of loaded newsgroups and the number of newsgroups simultaneously downloading headers. To limit the number of loaded groups you can set 'Auto' load mode for such groups on per group basis (properties->newsgroups, initial/auto load mode). To limit the number of groups getting headers you can use properties->tasks->max.groups, the option not only limits the number of newsgroups with running header tasks but also wisely unloads newsgroups which are pending (but don't have running tasks) or have completed downloading headers. When using the max.group option take into account that the option means the number of loaded newsgroups in the header task queue, it doesn't necessarily mean the number of newsgroups which may have running header tasks at the moment (e.g. when one server has completed downloading newsgroup headers and another pending server for the same newsgroup has no available task slots), so set the value large enough. To disable the max.group option set the value empty. Prevent overload - properties->tasks->header tasks->prevent overload. When other than compact binary type large newsgroups are loaded/unloaded etc. in the conditions of low memory or database had been pushed to the disk by the system after being inactive it may take time until swapped pages are reloaded into memory. If there are header tasks running at the same time the queue of unprocessed headers is growing creating additional load on memory thus affecting the newsgroup operations. The option limits header bandwidth resolving the problem. Low space - properties->general->low space. What is important to remember that because of backup (so newsgroup data is not lost even when the save operation has been interrupted in the middle) UE needs 2 times more space to save a newsgroup than the size of newsgroup data on the disk. The default is 64MB, the minimal value is artificially restricted to 48, but if you deal with very large newsgroups you may wish to increase the threshold. Limit database size - properties->general->limit when database grows to large. If the option is unchecked and database grows beyond available RAM disk thrashing may result, on systems with 2GB and more memory the process may run out of memory. Autoload newsgroup mode (properties->newsgroups) along with not opening too many newsgroups while downloading headers and setting max.groups (properties->tasks->maximal number of tasks->headers->max.groups) help to deal with many groups effectively. Storage for purging/expired headers can remember headers after they've left newsgroup storage which might be used for example after newsgroup reset to keep remember header state (e.g. deleted/read) or prevent database reentry (purged). But the storage also takes database space. Avoid marking all or too many headers or exclude s uch headers from entering the expired storage by unchecking proper check boxies in edit menu->properties->tracking expired/purged headers. Marking headers new/old doesn't matter since the new flag is transient. For compact binary group types in most cases purged/expired partials won't enter the storage although they are removed from the database (thus they may reenter later e.g. during rescan). By default the storage is not used (all flags are unchecked). You can see that most of restrictions said above are not applied to compact binary newsgroup destination type. It doesn't mean that the program is foolproof. If you attempt to mark for download all headers in a large compact binary group the database allocated space will be about the same as for msg-id direct destionation type, many times difference. Shortcuts Fixed shortcuts General Ctrl+C Copy Ctrl+V Paste Ctrl+A Select all Ctrl+F4 Close tab in the main frame tab window Newsgroup view Shift+ scrolls line at a time when default (properties->general) is page at a time and vice-versa Quick filter Esc clears edit fields and clears the current newsgroup view filter Shift+Esc clears edit fields only Default and customized shortcuts You can see the shorcuts in menus; shortcuts for toolbar/quick filter bar/search service bar can be seen in View menu->Default toolbar etc. To customize/reset shortcuts to default invoke toolbar options (the rightmost downward arrow on the toolbar)->...->Customize->Keyboard Newsgroups Newsgroup types Regular - conventional group format. XPat (search) - the group contains results of XPat searches, you can search several newsgroups and several patterns in the same time. to use the type you need to know about wildmats since it is what kind of pattern the server expects, wildmats are described below in the 'quick filter' section. Import - you can import into the newsgroup nzb files or use third-party search service and get results directly into the group. Newsgroup headers per server/retention Newsgroup headers per server/retention allows from one side not to download all headers from the server and from other side to force older headers to eventually leave the database. It can be set on per newsgroup basis in edit menu->properties->newsgroups. Headers per server - you can define how many headers (or header range) to download from the server. e.g. if newsgroup contains 10 millions headers and you define 1 million - only last 1 million headers will be downloaded. When used for header expiration (article number destination types groups) it is natural to do it when downloading headers along with clearing headers expired on servers. It should be noticed that if newsreader doesn't know article numbers on servers (see destination types below) it cannot expire older headers based only on headers per server first/last article number which is returned by the server. It is why then the retention by date is necessary. Retention (by date) - expires articles by date. since date is always known the expiration mechanism can be applied to all newsgroup destination types. When downloading headers from the server, the date retention is used but it is also recommended to define approximate number of headers per server as well, since servers don't have a command to download headers within certain date range, thus however optimized, with headers per server as well it will work faster. When applied to expiring headers there is no connetion to downloading headers so the retention is applied manually or automatically when newsgroup is loaded (an option in properties->general->newsgroups). Newsgroup destination types For all destination types below UE keeps newsgroups the article belongs to. The rest is as following: Article numbers - servers the article can be found on along with article numbers for every server. It is the only newsgroup type where you don't need to define retention and the only type when newsgroup may be kept synchronized with the server, because for given article UE knows server article numbers and given the header range (the minimal and the maximal article numbers) it can e.g. expire exactly the headers which have expired on the server. The format takes the most database space, but it is clearly the best format for text groups or picture groups when one wants to reflect what is exactly on servers at the moment. Message-id - servers the article can be found on without article numbers. Since UE doesn't know article numbers date retention must be defined if you want some kind of automatic expiration. When downloading headers from all servers the server destinations can be used to download article bodies without trying on all servers. With many servers destination info can take significant place and also lead to database space fragmentation thus it should be avoided for especially large groups with many servers. Msg-id direct - the program doesn't keep info about servers or article numbers, thus when many servers are attached to the group the destination info won't grow proportionally. You need to define retention for such groups for the same reason as for message-id groups. Compact binary - the program keeps most data on the disk at price of not always showing partials in threads (it shows them as separate entries). It gives huge economy in memory. it is the only feasible type when dealing with many large binary groups simultaneously in reasonable amount of available memory. Currently the storage for expired/purged is not connected to compact binary type for partials, so instead of purging partials you can just delete headers, in any scenario it wouldn't decrease the database space, so no compelling reason to purge headers for the type; purging still works but for the type it just removes the headers of partials (unless they have bodies) without adding them to the expired/purged storage. Newsgroup load states Newsgroup can be in loaded or unloaded state. In the unloaded state newsgroup doesn't take database space. When a newsgroup is unloaded it doesn't influence downloading article bodies in the newsgroup. Initial newsgroup load state can be set in properties->newsgroups->initial or auto load state. Auto load state means that closed newsgroup without header tasks will be unloaded automatically. Servers For server settings described below see properties->servers. Server preferences Used to choose a server when an article body is to be downloaded. From all relevant servers for the given article body a server with highest preference is chosen. If the strict option is not set and the server has all its task slots taken a server with lower priority may be chosen, so if you want to force the server order keep the strict check box checked. Given a choice from several servers with the same preference the fastest server will be chosen. Msg-id direct servers If the server is attached to a newsgroup and an article is marked for download but the server doesn't have the article - it still may be used to download the article body (taking into account server preferences). Thus you don't have to download headers from msg-id direct servers (get headers option unchecked). Also it is clear that even without marking as msg-id direct - for msg-id direct destination types groups all attached servers may be used. Task manager The task manager shows all running pending tasks and errors; for article tasks it shows completed downloads. To manage tasks you can use options from the context menu. You can also reorder items in the lists by dragging. Collections and files Apart from partial and single messages there is an option to join similar posts into "collections". Collections are shown with yellow icons, incomplete collections - half-grey / half-yellow icon. If you expand collections you will see files which constitute them (here "file" is just a term to designate the header is a member of collection). Collections can be disabled completely in properties->general->collections, enable collections, it requires program restart but then all data structures revert to almost pre-collection releases state, thus saving a little in memory utilization, the overhead to support collections internally is rather small. Collections can also be not shown on newsgroup view opening, it can be set in properties->newsgroups, collections (on per newsgroup basis). Differently from completely disabling collections the toolbar enable collections button will be operational so you can switch collections on and off in every newsgroup view. Since generally posters don't care about well-formed subjects not all headers can be fit into collections and they are shown only as a guidance or a way to conveniently arrange posts (in some groups like alt.binaries.boneless the number of entries may drop as much as 95%, in mp3 groups subjects are less clear so the gain is less). The collection algorithm is different from "select related headers" since because its performance requirements are much more critical, it must be faster. Some files contain file numbers e.g. [1/28], for such collections the available and total files are shown in the subject like [*/28] (similarly as in case of partial messages regarding parts), also if all parts are available the collection is shown as complete (yellow icon). If files don't have file numbers in the subjects or the file number is not easily discernable the available/total are not shown in the subject and the icon is always "complete". Thread mode is still operational when collections are enabled within a view, but collections won't be shown inside a thread (they will be brought to the top as a separate entry instead) and even enabling collections in text groups as a rule won't distort displaying their content. Collections and filtering If you check "show only files matching filter in collections" toolbar button (as to newly opened view there is related option in properties->general->collections), the files shown will be like in non-collection views, i.e. non-matching files will be omitted. If the button is unchecked - also non-matching files will be shown, the difference the icon perimeter is grey, but because it is not so well visible, there is a grey cross-line on the non-matching file icon. As to filtering collection subject itself there is a trade-off to provide satisfactory performance. Only part of collection subject may be taken into account for filtering purposes since the shown subject may change when new files arrive. By default the collection subject is disregarded for filtering purposes, so only files matter, it usually works except the user should be aware when filtering by size that only files will be taken into account. There is an option to take into account the collection subject (through unchecking properties->general->collections, disregard collecton subject) but because only part of subject is used when e.g. filtering by file extensions the entry may be shown when you expect it shouldn't. Par2 files It is possible to download only limited volume of par2 files while marking for download using the "Mark limited volume of par2 files for download" toolbar button. Press the downward arrow to the right of the button to set the amount while the button is pressed. The rest of par2 files can be marked as paused. Another option is to mark all par2 files as paused through the "Mark par2 files for download as paused" toolbar button. If both buttons are unchecked par2 files are marked for download normally. Marking headers Headers can be marked as new, read, flagged, deleted. Apart from filtering by the attributes headers behave differently depending how they are marked. When a header is marked as deleted and it is marked for download - the download will be cancelled. If deleted header is marked for download it will be undeleted. When a newsgroup is reset - flagged headers, as well as headers marked for download won't be reset. Only newly incoming headers are marked as new. For import and xpat (search) groups incoming headers are always marked as new by default (even if they are already in the database), it can be reversed by unchecking properties->general->import->always mark new. Article download priorities Article tasks can marked for download with the following priorities: Lowest, Low, Below normal, Normal, Above normal, High, Highest In addition there is download later and download immediately priority range which can be configured in edit menu->properties->tasks->advanced. Tasks marked for download later may be in suspended or active download state (tasks menu). In the article queue articles can be sorted by priority or by date. When sorted by date there are may be three queue segments depending on article priority: download later and below - only matters when download later tasks are suspended above download later but below download immediately - the priority doesn't matter, the tasks are arranged by date download immediately and above - article tasks are sorted by priority When sorted by priority: download later behaves like in the previous case the rest is sorted by priority so a task with higher priority will be marked for download first when possible Server preferences Server preferences (set in properties->servers) define what servers to use when downloading article bodies. There are following server preferences: Lowest, Low, Normal, High, Highest If an article body may be downloaded from several available servers - a server with the highest preference will be used. A special case is when the most preferred servers don't have available task slots, but there are available servers with a lower preference. If the higher preference servers are checked as "strict" (properties->servers), then the task will be suspended until a server with the higher preference will be available, otherwise a server with lower preference will be engaged. Import and search To see results - nzb file or search results from search service or xpat conveniently - not hindered by other headers we can use the always mark new option mentioned above in the following way: make a search or import nzb file. click 'new' in the quick filter bar so only new headers are shown. if properties->general->search service "always mark new" and "mark rest old" are checked (this is default) you'll see only headers from the last import operation (if you unchecked "mark rest old" you can inovke "mark all headers old" - the bearded man toolbar icon - manually when needed instead). you may reset the import group periodically (just press "reset" in the search service bar or invoke usual newsgroup reset from the workspace which is the same operation). if you reset the newsgroup the pending downloads and flagged headers will be retained (so you can mark worthy headers as flagged). also it is possible to have more than one import group; for search results (indexing services) the group in the search service bar will be used; for nzb import - the currently opened import group will be used, if no such group and search service bar is opened - the import group in the search service bar and otherwise the "Import" group. for nzb files imported through the "Import" folder (see below) the "Import" group will be always used. Quick filter bar View menu->quick filter. the leftmost check box is for clearing flags but if you check it again the prior flags will be restored. you can define shortcut for the check box, the location is view menu->quick filter->marked (through customize, see 'shortcuts' above). The filter can work in two modes 'apply' and 'find'. in the find mode it also "highlights" matching headers through displaying an oval shape image to the left even when the bar shows the 'apply' settings. to switch between the modes use the rightmost check box. The leftmost checkbox clears filter flags but it also remembers them, then you press it check it again the same flags will be shown. The "Dates/days" and "Lines" fields can accept a range. Dates you can set like 25Mar 25Mar05 25Mar-29Mar, days 3-5 or 12h-1d12h (d means days and h - hours, if nothing it means days, also you can use something like <5 or >10, but '<' and '>' here means less/more or equal respectively. the same applies to newsgroup retention/headers properties). Boolean wildmats Wildmats are like wildcards. Original wildmats are used to implement e.g. XPAT command on the server side but they are limited and the original implementation does not always work (see the appendix in the bottom). In Usenet Explorer the original code has been changed to render wildmats more useful. Boolean wildmats are used in the quick filter, filters and for the indexing service searches. Note, that you don't need to put asterisks around your boolean wildmat patterns and the patterns are case-insensitive except for filters where case sensitivity is optional. The differences between Usenet Explorer wildmats described below and the original wildmats (see the appendix) except for fixed bugs in the original code are the following: [] were replaced with {} since square brackets are too common in real world subjects " special character added to help in matching whole words \ only turns off the special meaning of the special characters and not every character As a result usual copy/paste will very likely to achieve a ready match pattern without any modification. Wildmats (Usenet Explorer interpretation) Wildmat compares the text against the pattern. The pattern is interpreted according to rules similar to wildcards, and not as a full regular expression (so it runs much faster). The pattern is interpreted as follows: \x - If x is a boolean wildmat special character, i.e. one of ? * { } " ( ) ^ & | \ turns off the special meaning of x and matches it directly otherwise \ is not interpreted as a special character. It is not special inside curly brackets. ? - Matches any single character. * - Matches any sequence of zero or more characters. {x...y} - Matches any single character specified by the set x...y. A minus sign may be used to indicate a range of characters. That is, {0-5abc} is a shorthand for {012345abc}. More than one range may appear inside a character set; {0-9a-zA-Z._} matches almost all of the legal characters for a host name. The close curly bracket, }, may be used if it is the first character in the set. The minus sign, -, may be used if it is either the first or last character in the set. {^x...y} - This matches any character not in the set x...y, which is interpreted as described above. For example, {^}-} matches any character other than a close curly bracket or minus sign. " - Matches one or more non-alpha/non-numeric characters or beginning/end of the string. Given the above since wildmat substring oriented patterns may result in too many matches (e.g. when you match short words which may happen inside other words) there is a simple way to match whole words: "bach" phrases: "usenet explorer" or words: "bach"*"air" note that the double quote character can also limit the word from one side only: "usenet exp senet explorer" Boolean wildmats (UE wildmat extension - won't work for xpat groups since not implemented on the server side) Whole wildmats can be combined with boolean operations: (from the highest to lowest precedence) ^ - NOT & - AND | - OR For example: "bach"&"air" Also they can be enclosed in nested parentheses e.g. subject (mozart|"bach")&^"cpe" - will show all headers which contain "mozart" or "bach" but don't contain "cpe" To turn off the special meaning like in wildmats put the backslash character before the control characters. When the left parenthesis is not the leftmost character and is not precedeed by ^ & | the backslash character before it may be omitted, the same true for right parentheses without matching left parentheses. Search service bar There are two protocols supported - the Usenet Explorer native protocol and the NewzBin backend protocol. In both cases requested matching headers put in the import group currently selected in the search service bar. Native search service The program communicates with a Usenet Explorer indexing server (the default is ueservice.dyndns.org, port 2020). It can search for subject and author (with or without subject) and you can also set newsgroup match pattern all with boolean wildmats (see their description above in the quick filter section). Also you can set group kill filter in properties->general->search service->group kill filter to exclude unwanted newsgroups from your search so any post which was posted to at least one unwanted newsgroups won't be included in the search results. E.g. if you wouldn't like to see results from adult newsgroups you can put in the kill filter erotic|sex or something more elaborate. You can set day/dates ranges to limit result to certain days/dates correspondingly, exactly like in quick filter or when defining newsgroup retention, e.g. 14 would mean posted within last two weeks, 14-21 means posted three weeks ago, 1oct-12oct means posted between 25 and 27 march of the year etc. The search happens in two stages to provide maximal performance. First you get search results, then you choose what headers from those search results to import, you select desired headers and press 'space' or invoke 'import headers' from the context menu. The program puts results into the import group window set in the search service bar. Third party search service The program communicates with a third party search service and puts results directly into the import group window set in the search service bar. as to now www.newzbin.com is supported or any other service which supports the newzbin newsreader backend protocol. you need you have a subscription unless the third party service is free (newzbin is a commercial service). To switch to the service select 'NewzBin' from the protocol combo box, currently the newzbin backend is located at server: www.newzbin.com/backend/filefind/ port: 80, it is the default (if you using another service which utilizes the same protocol just change the server parameters). Permanent filters Permanent filters can be used to define complex or frequent view filters as well as used for automating downloads and kill fillters. There are simple and composite filters. simple filters are like those described in the quick filter topic above. composite filters are nested boolean expression consisting of simple filters which allows to define complex predicates in a trivial way. Every filter has unique name. Filters are created/handled in the filter editor. Then they can be applied to newsgroup views through the filter combo box in the toolbar, used as initial filters for newsgroups and folders in newsgroup properties, applied as watch filters to automate downloads and as kill filters to mark incoming headers deleted. Filters can be easily reordered by dragging where it makes sense so the user controls in what sequence they will appear. The filters are strictly synchronized with views and initial/watch/kill filter list, it means all non-valid (shown red in filter editor), deleted or not belonging to the respective filter list will be detached from views/removed from initial/watch/kill filter lists of respective newsgroups right after you press the filter editor 'Apply' or 'OK' button. Filter editor Edit menu->filter editor. Use insert buttons to insert filters in the list. For string patterns you can use boolean wildmats (boolean wildmat button checked). Every filter should have unique name. If the filter is not right it will be shown in the red color. You can use the separator entry to divide filters into groups for better reading. By checking view, watch, kill filters check box you can define to what list the filter will belong, e.g. if you are planning to use a filter only as a kill filter you check only the kill filter check box and the filter won't be shown in other filter lists. Composite filters Composite filters are (nested) boolean expressions consisting of names of other filters, simple or composite alike. Like in boolean wildmants & means AND, | - OR, ^ - NOT. Filter names used in composite filters containing control characters should be enclosed in double quotes. Example: Simple filters: Mozart - Subject contains Mozart... John - Author contains John Smith Bach - Subject contains Bach Robert - Author contains Robert White Composite filters: Mozart&John - Mozart&John Bach&Robert - Bach&Robert Mozart&Bach - "Mozart&John"|"Bach&Robert" Initial/view filters Initial filters are defined in properties->newsgroups from the filter combo box which contains all available view filters. You can also apply arbitrary view filters from the toolbar filter combo box, using the two buttons to the left to toggle initial/current filter on and off. Kill and watch filters Kill filters are set in properties->kill filters, and watch filters in properties->watch/auto. But they both have the same application order, which doesn't depend on what newsgroups views are opened at the moment: First, the newsgroup filters are applied. If newsgroup belongs to any folders the folder filters are applied in turn from bottom up as you see them in the workspace. In the end the filters of the Newsgroups topmost entry are applied. The order matters for watch filters since the first matching filter will be used. The leftmost list box contains all available filters. The middle list box contains all newsgroups. The rightmost list box shows the filters of the currently selected group. Copy/paste large buttons The copy button selects selected filters or filters of the selected newsgroups (depending under which list the button is located) in the leftmost all filters list, thus you can see the 'clipboard' right away. The paste button will add these filters to the selected newsgroups. Thus it follows that the 'Add' and the 'Paste' buttons in fact are the same. Kill filters You can add filters through selecting available filters/newsgroups or folders and pressing 'Add' or through copy/paste. The kill filters should define which headers to kill (mark deleted on entry). Watch filters Watch filters are added in the same way but there are more attributes for automatic marking for download, the same pane is used for setting automatic downloading headers. For each filter you can define article task priority and optionally save directory. You can switch watch/save or auto get headers for any group. The area to the left is for common settings, so you can enable/disable headers, watch or save without chaging newsgroup settings. If "Save incomplete partials" is unchecked such partials will be marked for downlod but not assigned save directory - this not saved, but in the moment the partial becomes complete it will be assigned save directory and saved. Import folder The "Import" folder is located in the database directory. If you put nzb files there they will be processed automatically and then moved to the "Old" folder. Imported headers are always added into the "Import" group. What to do with the headers is defined in properties->general, import/search, associate ... with the action. If the action includes "save" - the save directory will be the "Import" group default save directory in properties->newsgroups, if it is set to "Default" the save directory of the topmost "Default" entry in properties->newsgroups will be used like in other cases. Since the function is silent, if the 'ask for delete' is checked in properties->articles->save queue->saving attachments the answer will be assumed yes without asking. Scheduler Scheduler can be used to suspend tasks beyond intervals of activity or the opposite - to limit bandwidth at certin time intervals depending on settings in properties->scheduler. when 'suspend tasks' checked - tasks will be suspended beyond the time intervals of activity, when checked - depending on bandwidth settings in properties->scheduler and properties->tasks (empty means unlimited) scheduler will allow more or less bandwidth at certain times. Database directory Settings - the subdirectory contains all settings, all non-api related settings are in reg.dat and flt.dat (the latter file contains filter definitions), other files are related to third-party graphic library so if something gets screwed with the interface (not experienced but in theory)- you can delete all api.* files to reset everything to defaults. reg.dat contains all newsgroup and server settings (names etc.) so deleting it will erase almost everything, all what will be left - only bodies moved to the recycle bin. Thus to copy all settings it is enough to copy reg.dat and flt.dat (then just reset newsgroups or header ranges). Newsgroups - contains newsgroups content. If you delete this directory - also reset newsgruops or header ranges after restart. Even if the directory has been deleted - bodies will be preserved. The file map.txt is only for your reference and not used by the program otherwise. Bodies - contains all bodies, so if you delete the directory - you'll lose all downloaded bodies. Par2 - contains par2 files of posted messages, no problem e.g. to delete the directory or any of its subdirectories between launches. Temp - contains temporary files, no files are needed after the program exit. Import - import folder (see above) Database integrity Settings The program maintains the settings integrity so whatever happens (even in the case of the program crash or manual termination) if the system is working properly (committing file data into the hard drive) settings won't be affected. If you may experience any system problems like system lockups which may compromise file system integrity there is an option for active settings backup, in Properties->General->Settings backup. It ensures that up to date settings are always safe at the price of a little more disk activity. Apart from the above the program keeps older settings data (only for the case of user intervention): reg.dat.copy - the program makes copy of reg.dat on the program exit reg.dat.old, reg.dat.older, reg.dat.oldest - reg.dat from 3 sessions before the last one in this order. The same regarding flt.dat - flt.dat.copy, flt.dat.old, flt.dat.older, flt.dat.oldest So, say, if your settings have been lost you still have the opportunity to use older settings, if you see any problem after starting the program, exit the program, then rename reg.old to reg.dat (also take into account that with every program exit the files will be "expiring" by shifting from ".copy" to ".oldest" so backup them before you resort to such a recovery; also changes during the session which had its settings lost are not reflected including newsgroup header ranges). Newsgroups As a rule newsgroup data can survive program/system crashes or file data corruption. Running multiple instances To run multiple instances just use the database directory as the program launch parameter, e.g. create shortcut and add the database path to the target edit control (when spaces inside the path enclose it in double quotes). Retention and headers per server You may also want to tune 'retention' and 'headers per server' in edit menu->properties->newsgroups. If you set retention to 'natural' for newsgroups types other than 'article numbers' - the group will grow indefinitely containing headers which expired on the server. For that reason in edit menu->properties->newsgroups->default there are some default values but they may not be suitable for everything, for example for text 'article numbers' groups you may want to set retention to 'natural' and 'header range' to 'all' on per group basis so you can read all headers years back, from other side if your server carries binary groups which have other retention than default you can set it on per group basis too. In edit menu->properties->general->retention there is setting "let all incoming headers through". The option is checked by default. It means e.g. if server has retention 75 days and the default setting is only 60 days the older than 60 days headers will still enter the newsgroup view in the first time, but afterwards the program will apply retention settings so the excess of headers will be deleted. If the header range has been reset (with resetting newsgroup it is reset as well) this will happen again. If the option is unchecked the program will try to scan for matching header which is faster than download headers beyond the retention range directly but it may take too long as well since the usenet protocol doesn't provide a command to perform the operation effectively. Below is an example how to set header range in properties->newsgroups->default approximately corresponding to the retention, so the program won't scan for the first matching header too long. In the example the "let all incoming headers through" is considered unchecked but the logic works always. Example: if a group last 2M headers contain approximately 18 days of posts and you want to keep about 2M headers it is wise to set retention to 20 or more days; if you set it to 4 days the program will scan headers until it encounters matching headers (only in the first time after you've defined the retention afterwards it will work right away), so the actual header download will start a bit later (you'll see in the task manager when scanning - 'retention' and when getting actual headers 'header range'. if you set retention to 30 days it is also ok, just headers will be accumulating and headers older than 30 days will be disposed of when retention is applied (automatically by default or manually if you set so and invoke 'apply retention'). But in the end you can just keep "let all incoming headers through" checked and to prefer the excess of incoming headers with immediate responsiveness to sometimes long waiting for the program to find the matching header range. Appendix Wildmats Wildmats are only used to set search patterns for XPAT groups. XPAT is server side feature so it is subject to the standard wildmat rules. XPAT is rarely used feature since for binary newsgroups it is slow and for text newsgroups it is very fast to download all headers except if you are on modem connection. Usenet Explorer can translate patterns to be case incensitive. Below is the standard wildmat description (you can also find it elsewhere): Wildmat compares the text against the pattern. The pattern is interpreted according to rules similar to wildcards, and not as a full regular expression (so it runs much faster). The pattern is interpreted as follows: \x - Turns off the special meaning of x and matches it directly; this is used mostly before a question mark or asterisk, and is not special inside square brackets. ? - Matches any single character. * - Matches any sequence of zero or more characters. [x...y] - Matches any single character specified by the set x...y. A minus sign may be used to indicate a range of characters. That is, [0-5abc] is a shorthand for [012345abc]. More than one range may appear inside a character set; [0-9a-zA-Z._] matches almost all of the legal characters for a host name. The close bracket, ], may be used if it is the first character in the set. The minus sign, -, may be used if it is either the first or last character in the set. [^x...y] - This matches any character not in the set x...y, which is interpreted as described above. For example, [^]-] matches any character other than a close bracket or minus sign. Note: The last control sequence is not implemented correctly in the standard code and if the pattern starts with [^x...y] and the match is in the beginning of the string or the pattern ends with [^x...y] and the match is in the end of the string the result will be "mismatch". The bug doesn't exist in boolean wildmats. "" - when used as the whole pattern matches the empty string (v5.4.2+)