sympa-community / sympa

Sympa, Mailing List Management Software
https://www.sympa.community/sympa
GNU General Public License v2.0
249 stars 98 forks source link

Improve command line format of Sympa CLI #1303

Open ikedas opened 2 years ago

ikedas commented 2 years ago

Expected Behavior

Unified command line format for CLI of Sympa.

Current Behavior

Ad hoc addition of options and programs.

ikedas commented 2 years ago

Status of proposals/changes:

sympa.pl:

Old format New format Status
sympa.pl --add=list@domain [ --role=role ] [ --quiet ] [ --notify ] [ --force ] sympa add [ --role=role ] [ --quiet ] [ --notify ] [ --force ] list@domain #1286
sympa.pl --add_list=family_name --robot=robot_name --input_file=/path/to/file.xml sympa create --input_file=/path/to/file.xml family_name@@robot_name #1286
sympa.pl --change_user_email --current_email=current --new_email=new sympa user move current new #1286
sympa.pl --close_family=family_name --robot=robot_name sympa close family_name@@robot_name #1286
sympa.pl --close_list=list[@robot] sympa close list[@robot] #1286
sympa.pl --conf_2_db Deprecated. #1424
sympa.pl --copy_list=listname@robot --new_listname=newlistname --new_listrobot=newrobot sympa move --mode=copy listname@robot newlistname@newrobot #1286
,, sympa copy listname@robot newlistname@newrobot #1286
sympa.pl --create_list --robot=robot_name --input_file=/path/to/file.xml sympa create --input_file=/path/to/file.xml robot_name #1286
sympa.pl --del=list@domain [ --role=role ] [ --quiet ] [ --notify ] [ --force ] sympa del [ --role=role ] [ --quiet ] [ --notify ] [ --force ] list@domain #1286
sympa.pl --dump_users --list=list@domain [ --role=roles ] sympa dump [ --roles=roles ] list@domain #1286
sympa.pl --dump_users --list=ALL [ --role=roles ] sympa dump [ --roles=roles ] "*" #1286
sympa.pl --health_check sympa check #1286
sympa.pl --help sympa help #1286
sympa.pl --instantiate_family=family_name --robot=robot_name --input_file=/path/to/file.xml [ --close_unknown ] [ --quiet ] sympa instantiate --input_file=/path/to/file.xml [ --close_unknown ] [ --quiet ] family_name@@robot_name #1286
sympa.pl --lowercase TBC.
sympa.pl --make_alias_file [ --robot robot ] TBC.
sympa.pl --modify_list=family_name --robot=robot_name --input_file=/path/to/file.xml sympa update --input_file=/path/to/file.xml family_name@@robot_name #1286
sympa.pl --open_list=list[@robot] [ --notify ] sympa open [ --notify ] list[@robot] #1286
sympa.pl --purge_list=list[@robot] sympa close --mode=purge list[@robot] #1286
sympa.pl --show_pending_lists=robot TBC.
sympa.pl --rebuildarc=list[@robot] TBC.
sympa.pl --reload_list_config [ --list=mylist@mydom ] [ --robot=mydom ] TBC.
sympa.pl --rename_list=listname@robot --new_listname=newlistname --new_listrobot=newrobot sympa move listname@robot newlistname@newrobot #1286
sympa.pl --restore_users --list=list@domain [ --role=roles ] sympa restore [ --roles=roles ] list@domain #1286
sympa.pl --restore_users --list=ALL [ --role=roles ] sympa restore [ --roles=roles ] "*" #1286
sympa.pl --send_digest [ --keep_digest ] TBC.
sympa.pl --sync_include=listname@robot [ --role=role ] sympa include [ --role=role ] listname@robot #1286
sympa.pl --sync_list_db [ --list=listname@robot ] TBC.
sympa.pl --upgrade [ --from=X ] [ --to=Y ] sympa upgrade [ --from=X ] [ --to=Y ] #1286
sympa.pl --upgrade_shared [ --list=X ] [ --robot=Y ] Obsoleted on 6.2.17b.1. ---
sympa.pl --md5_digest=password TBC.
sympa.pl -v, sympa.pl --version sympa version #1286
--- sympa bouncers del list@[domain] #1102
--- sympa bouncers reset list@[domain] #1102
--- sympa review [ --status ] list@[domain] #1102
--- sympa set [ --role=role ] list@[domain] key=value ... #1503

sympa_wizard.pl:

Old format New format Status
sympa_wizard.pl Deprecated #508
sympa_wizard.pl --batch key=value ... sympa config key=value ... #508
sympa_wizard.pl --check Deprecated (use cpanfile) #508
sympa_wizard.pl --create [ --target file ] sympa config create [ --config file ] #508
sympa_wizard.pl --display sympa config show #508

Miscelaneous utilities in src/bin:

Old format New format Status
arc2webarc.pl ... Deprecated. #1386
init_comment.pl ... Depracated. #1386
mod2html.pl Deprecated. #1386
p12topem.pl ... Deprecated (use openssl). #1386
sympa_soap_client.pl --soap_url=URL ... sympa test soap ... URL #1386
sympa_test_ldap.pl ... --filter=filter sympa test ldap ... filter #1386
testlogs.pl [ --debug ] [ --log_level=level ] [ --config=file ] sympa test syslog [ --debug ] [ --log_level=level ] [ --config=file ] #1386
tpl2tt2.pl Deprecated. #1386
upgrade_bulk_spool.pl [ --dry_run ] sympa upgrade outgoing [ --dry_run ] #1386
upgrade_send_spool.pl [ --dry_run ] sympa upgrade incoming [ --dry_run ] #1386
upgrade_shared_repository.pl --list=listname --robot=robot [ --fix_encode ] sympa upgrade shared [ --fix_encode ] listname@robot #1386
upgrade_shared_repository.pl --all_lists [ --fix_encode ] sympa upgrade shared [ --fix_encode ] * ,,
upgrade_sympa_password.pl [ --cache=file ] [ --nosavecache] [ --noupdateuser ] [ --limit=number ] [ --config=file ] [ --dry_run ] [ --debug ] [ --verbose ] sympa upgrade password [ --cache=file ] [ --nosavecache ] [ --noupdateuser ] [ --limit=number ] [ --config=file ] [ --dry_run ] [ --debug ] [ --verbose ] #1386

Miscelaneous utilities in src/libexec:

Old format New format Status
alias_manager.pl ... Kept for backward compatibility. -
ldap_alias_manager.pl ... TBC.
mysql_alias_manager.pl ... TBC.