Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
history:newfilebase [2022/01/02 13:28] – created digital manhistory:newfilebase [2023/02/28 14:54] (current) – [libarchive] beautify filenames digital man
Line 1: Line 1:
-====== New File Base (introduced in 3.19) ======+====== New Filebase (introduced in v3.19) ======
  
-The new FileBase files are stored in the same database location as before +The new filebase files are stored in the same database location as before 
-(e.g. data/dirs/), but the file extensions are different:+(e.g. ''[[dir:data]]/dirs/''), but the file extensions and storage formats are different:
  
-^ Purpose                  ^   Old    ^   New    ^ +^ Purpose                  ^   Old        ^   New    ^ 
-| Index (e.g. filenames)   | code.ixb | code.sid | +| Index (e.g. filenames)   ''code.ixb'' ''code.sid'' 
-| Data (e.g. descriptions) | code.dat | code.shd | +| Data (e.g. descriptions) | ''code.dat'' ''code.shd'' 
-| Extended Descriptions    | code.exb | code.sdt | +| Extended Descriptions    | ''code.exb'' ''code.sdt'' 
-| Metadata                 | code.dab | code.ini | +| Metadata                 ''code.dab'' ''code.ini'' 
-| Allocation Tables        | N/A      | code.sda and code.sha |+| Allocation Tables        | N/A          ''code.sda'' and ''code.sha'' |
  
 If these new filebase file extensions look familiar to you, that's because If these new filebase file extensions look familiar to you, that's because
Line 29: Line 29:
 time during the upgrade process), you can turn off file hashing in the time during the upgrade process), you can turn off file hashing in the
 per-directory Toggle Options in SCFG->File Areas. You would have to perform per-directory Toggle Options in SCFG->File Areas. You would have to perform
-this opt-out for the directories of choice *before* you run 'jsexec update' /+this opt-out for the directories of choice **before** you run 'jsexec update' /
 'upgrade_to_v319'. You should not normally need to run 'upgrade_to_v319'. 'upgrade_to_v319'. You should not normally need to run 'upgrade_to_v319'.
  
Line 53: Line 53:
 to accommodate the limited width of a traditional BBS user terminal. An effort to accommodate the limited width of a traditional BBS user terminal. An effort
 is made to always display the full file extension/suffix however is made to always display the full file extension/suffix however
-(e.g. "longfilename.jpeg" may be *displayedas "longfil.jpeg").+(e.g. "longfilename.jpeg" may be //displayed// as "longfil.jpeg").
  
 Note: only 64 characters of each filename (always including any extension) are Note: only 64 characters of each filename (always including any extension) are
Line 59: Line 59:
 64K characters in length, is stored intact in the filebase. 64K characters in length, is stored intact in the filebase.
  
-Filenames with /extensions/ longer than 3 characters, e.g. ".jpeg", ".tar.gz",+Filenames with //extensions// longer than 3 characters, e.g. ".jpeg", ".tar.gz",
 can be added to the filebases, but the configurable compressible, extractable, can be added to the filebases, but the configurable compressible, extractable,
 and viewable file types/extensions remain limited to 3 characters in SCFG. and viewable file types/extensions remain limited to 3 characters in SCFG.
Line 97: Line 97:
 of 10 lines or 512 total characters. There is no technical limit to the length of 10 lines or 512 total characters. There is no technical limit to the length
 of extended file descriptions, though a limit of 4000 characters imported from of extended file descriptions, though a limit of 4000 characters imported from
-description files embedded in archives (e.g. FILE_ID.DIZ) is being imposed.+description files embedded in archives (e.g. ''FILE_ID.ANS'', ''FILE_ID.DIZ'', or ''DESC.SDI'') is being imposed.
  
 ===== Batches ===== ===== Batches =====
Line 103: Line 103:
 File upload and download batch queues used to be maintained in memory (though File upload and download batch queues used to be maintained in memory (though
 they were written to disk files to be retained between user logons), they are they were written to disk files to be retained between user logons), they are
-now entirely maintained in disk files (data/user/*.upload and *.dnload in .ini+now entirely maintained in disk files (''data/user/*.upload'' and ''*.dnload'' in ''.ini''
 file format). This means that custom batch management can now be performed file format). This means that custom batch management can now be performed
 easily by modules or non-Terminal Server scripts. easily by modules or non-Terminal Server scripts.
Line 137: Line 137:
 ===== Tags ===== ===== Tags =====
  
-Individual files can now be tagged for easy searching/grouping. This feature+Individual files can now be tagged (with tag-words, ala hashtags) for easy searching/grouping. This feature
 will be utilized/enhanced more in the future. will be utilized/enhanced more in the future.
  
Line 150: Line 150:
  
 The new FileBase JS class is now used to import files directly from FidoNet The new FileBase JS class is now used to import files directly from FidoNet
--style .TIC files (via tickit.js) so no dependency or invocation of any+-style ''.TIC'' files (via tickit.js) so no dependency or invocation of any
 external utilities (e.g. addfiles) is required. external utilities (e.g. addfiles) is required.
  
Line 158: Line 158:
 replaced with similarly named and purposed JavaScript utility scripts to be replaced with similarly named and purposed JavaScript utility scripts to be
 invoked with JSexec or via timed event: invoked with JSexec or via timed event:
-addfiles.js for importing lists of files into filebases +  * ''addfiles.js'' for importing lists of files into filebases 
-postfile.js for importing a single file into a filebase +  * ''postfile.js'' for importing a single file into a filebase 
-filelist.js for generating file listings from filebases +  * ''filelist.js'' for generating file listings from filebases 
-delfiles.js for removing files from filebases +  * ''delfiles.js'' for removing files from filebases 
-dupefind.js for detecting/listing/removing duplicate files in the filebases+  * ''dupefind.js'' for detecting/listing/removing duplicate files in the filebases
  
 ===== Performance ===== ===== Performance =====
Line 175: Line 175:
 Due to the removal of support for rendering FTP-downloaded content (e.g. Due to the removal of support for rendering FTP-downloaded content (e.g.
 HTML files) in modern web browsers, the FTP Server no longer supports dynamic HTML files) in modern web browsers, the FTP Server no longer supports dynamic
-HTML index file generation (e.g. 00index.html). Instead, we will focus on+HTML index file generation (e.g. ''00index.html''). Instead, we will focus on
 better support for filebase browsing and file transfers via HTTP and HTTPS in better support for filebase browsing and file transfers via HTTP and HTTPS in
 addition to the traditional FTP and FTPS uses. The dynamic generation of addition to the traditional FTP and FTPS uses. The dynamic generation of
-the ASCII file listings via FTP (e.g. 00index) is still supported by the FTP+the ASCII file listings via FTP (e.g. ''00index'') is still supported by the FTP
 server, though now much faster than before. server, though now much faster than before.
  
 ===== libarchive ===== ===== libarchive =====
  
-The libarchive library (http://libarchive.org/has now been integrated into+The [[http://libarchive.org/|libarchive]] library has now been integrated into
 Synchronet (and exposed via the new "Archive" JavaScript class) and integrated Synchronet (and exposed via the new "Archive" JavaScript class) and integrated
 into SBBSecho so that the creation, listing/viewing, and extraction of into SBBSecho so that the creation, listing/viewing, and extraction of
Line 190: Line 190:
  
 Formats fully supported: Formats fully supported:
-zip +  * zip 
-7zip +  7zip 
-gzipped-tar +  gzipped-tar 
-bzipped-tar+  bzipped-tar
  
 Formats supported for viewing and extraction only: Formats supported for viewing and extraction only:
-rar (original and RAR v5 format) +  * rar (original and RAR v5 format) 
-lha/lzh +  lha/lzh 
-iso +  iso 
-xar +  xar 
-cab+  cab
  
 This means that for most BBSes, no "Compressible" or "Extractable" file types This means that for most BBSes, no "Compressible" or "Extractable" file types
Line 207: Line 207:
 command-line need be configured. command-line need be configured.
  
-For listing the contents of archives, the new archive.js utility script may be+For listing the contents of archives, the new ''[[dir:exec]]/archive.js'' utility script may be
 installed as a "Viewable File Type" handler for the commonly supported file installed as a "Viewable File Type" handler for the commonly supported file
-extensions by running 'jsexec archive.js install'. This installs archive.js as+extensions by running 'jsexec archive.js install'. This installs ''archive.js'' as
 a final "fall-through" viewer for "*" files (all file types). a final "fall-through" viewer for "*" files (all file types).
  
 ===== DIZ ===== ===== DIZ =====
  
-Description files embedded in archives (e.g. FILE_ID.DIZ) are now supported+Description files embedded in archives (e.g. ''FILE_ID.DIZ'') are now supported
 more uniformly and seamlessly. Supported ANSI sequences (e.g. attribute/color more uniformly and seamlessly. Supported ANSI sequences (e.g. attribute/color
 changes) are now converted to Ctrl-A equivalents upon import. Metadata changes) are now converted to Ctrl-A equivalents upon import. Metadata
Line 225: Line 225:
 "Area Tag" explicitly set for FidoNet-style file distribution networks. If "Area Tag" explicitly set for FidoNet-style file distribution networks. If
 an Area Tag is not explicitly set, then the directory's short name is used an Area Tag is not explicitly set, then the directory's short name is used
-(with spaces replaced with underscores) automatically. tickit.js now uses+(with spaces replaced with underscores) automatically. ''tickit.js'' now uses
 this new "area_tag" file_area.dir[] JS property for its "AutoAreas" feature. this new "area_tag" file_area.dir[] JS property for its "AutoAreas" feature.
  
Line 250: Line 250:
 modern world. Bye bye Bi-modem. :-( modern world. Bye bye Bi-modem. :-(
  
 +===== User-to-user File Transfers =====
 +
 +While user-to-user file transfers **are** supported in the new file base, the "to" users of existing user-to-user transfers (in the "user" file area, if you have one) will not be migrated by 'upgrade_to_v319' to the new filebase.
 +
 +A quick way to check if this will impact you is to see if you have a non-zero-length ''[[dir:data]]/xfer.ixt'' file. If you do, then you have some pending user-to-user transfers that you may want to deal with.
 ===== See Also ===== ===== See Also =====
   * [[:history:|history index]]   * [[:history:|history index]]