mysticbbs/mystic/todo.pas

245 lines
10 KiB
ObjectPascal
Raw Normal View History

This file showcases the direction of where this software wants to go as it
continues to expand. Some things that will probably be mentioned will be
vague, and serve mostly to remind me of my own ideas.
The scope of this file is to document bugs, future enhancements/ideas and
design elements/issues.
2012-02-17 23:39:15 -08:00
BUGS AND POSSIBLE ISSUES
========================
2013-03-13 20:56:42 -07:00
! Posting echomail via NNTP is not setting ECHO flag
2013-03-07 12:00:03 -08:00
! LBP menus arent scrolling correctly in Linux
2013-02-15 20:17:03 -08:00
! MUTIL FILESBBS import is not skipping FILES.BBS?
2013-01-17 14:12:55 -08:00
! Make sure MIS in Linux works with DOSEMU
! Node chat goes haywire at 1000 lines scrollback
! Node chat needs to actualy word wrap not nickname wrap.
! Node chat does not seem to account for prompt MCI codes when calculating
the wrap length.
! Make sure ALL msgbase and filebase MPL variables are in place.
! Make sure copy/paste for any msg file base REGENS unique numbers.
! GOTO does not always work properly in MPL (IceDevil)
! Complex boolean evaluations using numerical variables can sometime fail to
compile (IceDevil)
! After data file review, add missing variables to various MPL Get/Put
functions.
2012-08-21 09:23:47 -07:00
! Test midnight rollovers for time (flag for user to be immune to timecheck)
2012-11-18 00:48:33 -08:00
! Fixed REAL2STR per Gryphon
FUTURE / IDEAS / WORK IN PROGRESS / NOTES
=========================================
2013-03-13 20:56:42 -07:00
- MUTIL create FILES.BBS in the file base directory
- MUTILs new DIR import of msg bases could have optional config to reference
a series of .NA files to get the name/description of bases.
2013-03-08 04:21:13 -08:00
- New Scan/Read message should have option to not update last read when
reading personal messages.
2013-03-07 07:39:10 -08:00
- Option for QuickScan that only prints a base if it has new messages.
2013-03-07 12:00:03 -08:00
- Option for quickscan to show information about the messages (from,subj)
2013-03-07 07:39:10 -08:00
- QWK via email
- Either add Public/Private fusion type message base or allow reply via
email or netmail option.
- mUTIL scans MSGS directory and auto-creates anything that has data files
2013-03-07 12:00:03 -08:00
not related to a BBS message base.. uses a template
2013-03-04 20:49:02 -08:00
- Blind upload for single file upload (also message upload)
- Email validation
2013-02-15 20:17:03 -08:00
- Recode FCHECK into MUTIL, but also add the option to phsyically delete the
file record instead of marking it offline.
- Add ability to ignore files from a files.bbs import
- Need ALL mystic servers to hvae the option to auto-ban an IP address if it
connects X amount of times in X seconds.
2013-01-17 14:12:55 -08:00
- Outbound telnet feature
2012-11-18 00:48:33 -08:00
- Add "PREVIEW" option to message editors
2012-09-20 10:52:58 -07:00
- Finish Threaded message reader
2012-09-22 14:38:56 -07:00
- Add "high roller/smack talk" into BlackJack
- Add better MIS logging per server (connect, refuse, blocked, etc)
- BBS email autoforwarded to Internet email
- Ability to send internet email to people from within the BBS.
- ANSI post-processor for message uploads via FSE
- ANSI reading support in fullscreen reader
- Ability to override read-type per message base (usersetting/normal/lightbar)
- Ability to override index setting per message base (same as above)
- Ability to override listing type per file base (same as above)
- Ability to list files in a base that is not the current file base
- MCI code to show how many files are in current filebase
2012-02-15 21:27:59 -08:00
- Online text editor / ansi editor?
2012-02-15 21:57:33 -08:00
- Externalize remaining prompt data (msg flags, etc)
- File comments and rating system
- Integrate eventual online ANSI help system into configuration utilities
- Split 1 and 2 column msg/file list prompts and provide a user ability to
pick which they'd like to use?
- File attachments and crossposts
- User-directories? How could this be used? Next two items?
- Ability to save a message post if a user is disconnected while posting.
- Ability to save file queue if a user is disconnected with a queue.
- User 2 User chat system and private split screen/normal chat. For the
2012-02-22 02:51:25 -08:00
Linux and OSX peeps that do not have a page sysop function. Forced ACS
and remote screen restore afterwards.
- NNTP server completion
- MBBSCGI (or PHP DLL) [Grymmjack might have the only MBBSCGI copy]
- If not the above then finish the HTTP server?
- SDL versions of m_input and m_output and also use SDL if that becomes
reality for the ability to play WAV/MP3/MIDI files etc as SysOp
notification of events and pages. Maybe someone else can take on creating
a mimic of m_Output_Windows and m_Input_Windows using SDL? This would
benefit the entire FPC community, and not just Mystic. NetRunner could
also have a full screen mode in Windows, Linux, and OSX.
- Possibility of OS/2 port again? Need to find a working OS/2 VMware in
order to do this. Once MDL is ported over it should almost just work.
- MVIEW rewrite to mimic oldskool AcidView type deals, which would be amazing
combined with the SDL stuff if that happens.
- Mystic-DOS rewrite or just code a file manager which would probably be a
lot nicer using the new ANSI UI. Combined with the text/ansi editor a
SysOp would never need to use anything else to draw/maintain their setup
even from a remote telnet connection in Windows, if desired.
2012-02-16 10:17:05 -08:00
- MIDE version using the Lazaurs GUI editor [Spec]. Maybe he would be
interested in working on that?
- Filebase allow anonymous flag for FTP or just use FreeFiles
2012-02-22 00:55:34 -08:00
- Template system similar to Mystic 2 (ansiedit.ans ansiedit.ans.cfg)
- Rename Template filenames to allow more than 8 characters (for clarity)
- Does anyone use Version 7 compiled nodelists? Worth supporting?
2012-09-20 10:52:58 -07:00
How do other softwares leverage nodelists? Reference TG, RG, RA,
SearchLight, PCBoard, etc, and come up with the best solution.
2012-02-24 06:05:10 -08:00
- ANSI message upload post processor option: Auto/Disabled/Ask
- Prompt for disconect after UL or DL (and add option to filebase settings)
2012-02-26 04:45:21 -08:00
- Finish optional user prompts
2012-02-27 14:10:52 -08:00
- MCI code for FS ansi viewer?
- MCI code for # of files in current file area
- Redo random ANSI system to use A-Z instead of 1-9 can have upgrade util
rename them automatically.
- LastOn revamp make sure its not global and new stuff is populated
2012-03-04 10:26:05 -08:00
- MPL fAppend? Why didnt I add that?
- MCI code to save and restore user screen?
- BBS email forward to e-mail address
- Email pasword resets
- Email verification
2012-08-08 10:51:57 -07:00
- BinkP and FTP echomail polling/hosting options
- ^^ Auto tosses into/out of Mystic
- ^^ AREAFIX
- ^^ TIC processing
- ^^ Needs to be powerful enough to HUB an entire FTN network
2012-09-20 10:52:58 -07:00
- QWK Networking support internally WHO CAN HELP THIS HAPPEN?
2012-03-28 12:38:21 -07:00
- MPL trunc/round?
2012-08-08 10:51:57 -07:00
- Internal Zmodem and TN/Link protocols or at least MBBSPROT executable
^^ driver that ships with Mystic and can be used by others.
2012-04-17 15:33:50 -07:00
- Salted SHA-1 or SHA-256 password encryption
- User editor: Reset password/Force change... cannot view PWs
RANDOM DRUNKEN BRAINDUMP AKA DESIGN DETAILS
===========================================
-------------------------------------------------------------------------
Disconnect while posting design:
1. Before msg post or msg reply Session.Msgs.Posting is set to that bases
Index.
2. All editors reset this value on any save/abort
3. Any disconnect checks that value.
4. If disconnect while value is set:
a. Save MSGTMP from node's TEMP dir into DATA as msg_<UID>.tmp
overwrite if exists
b. Save MsgText into DATA as msg_<UID>.txt with format:
Line 1: Base perm index
Line 2: Msg From
Line 3: Msg To
Line 4: Msg Subj
Line 5: Network address (or blank if none)
Line 6: MsgText
overwrite if exists
2013-02-15 20:17:03 -08:00
NOTE WHAT ABOUT QUOTE TEXT - HAS TO BE SAVED TOO.
2012-08-08 10:51:57 -07:00
5. During LOGIN, check for msg_<UID>.txt or have menu command to do it?
6. If exists, process and prompt user:
You were recently disconnected while posting a message:
Base: Clever Message Base Name
To: MOM JOKEZ R FUNNY LOLZ
Subj: I eat hot coal.
(R)esume post, (D)elete, or (A)sk me later?
7. Case result:
Resume:
Copy msg_UID.tmp if exists to MSGTMP in temp node directory
Populate MsgText and execute editor with the other values
Execute editor
If save... save... this will be the hard part. :(
If abort... delete msg_UID* since they aborted?
What happens if they disconnect while continuing? lol
make sure this is handled appropriately.
Delete:
Delete msg_UID* in data.
Ask later:
Do nothing. Keep files so Mystic asks on next login.
2013-02-15 20:17:03 -08:00
Or also Mystic could ask any time a MP menu command happens
But all of this stuff should be optional?
PROBLEM: When we localize MsgText for the ANSI viewer integration...
how will this work? I am not sure it really can work without it being
global. We cannot save what we do not have access to from a class.
SOLUTION: Actual MsgText should be separate from Attributes in the msg
base ANSI class. Memory requirements almost double though for MsgText
storage if it remains global = 1000 lines x 80. 80,000 bytes memory per
node. But attributes are only really required while READING. So maybe
somehow it can be separated so attributes are specific to reading and
the entire class is "unused" until then?
-----------------------------------------------------------------------
2012-02-24 06:05:10 -08:00
CHANGE to support up to 132x50 line mode (requires lots of console
mode library updates and screensave/restore changes)
1. terminal "screen length" is no longer an option of lines but a
selection:
2012-09-20 10:52:58 -07:00
80x24
80x49
132x49
2. all display files and templates will have this logic added:
if 132 mode .132.ans is the extention
if 50 mode .50.ans is the extention
if 25 mode then .ans is the extention
-----------------------------------------------------------------------
NEW TEMPLATE system
templates will be .cfg files with various things defined within them
based on the template. no more "injecting" screeninfo codes (|!X) into
files. Extentions for random ANSI templates:
ansiflst.ans = ansiflist.ans.cfg
ansiflst.an1 = ansiflist.an1.cfg
50 line mode template examples with random selected templates
ansiflst.50.ans = ansiflist.50.ans.cfg
ansiflst.50.an1 = ansiflist.50.an1.cfg
-----------------------------------------------------------------------
2012-02-24 06:05:10 -08:00
FILE rating / comments system
2012-09-20 10:52:58 -07:00
1. what type? 4 or 5 stars, or 1-10, or 0-100 rating system?
2012-02-24 06:05:10 -08:00
2. records already updated to allow for either
-----------------------------------------------------------------------
TANSILINEBUFFER:
LoadToBuffer (Ansi file)
SaveToFile (Ansi file)
SaveToBuffer (Linelength)
WrapLine (XPOS)
InsertLine
DeleteLine
JoinLines
InsertChar (XPOS, Ch, Attr)
ReplaceChar (XPOS, Ch, Attr
ReplaceLine