comparison MoinMoin/config/multiconfig.py @ 3782:791011b5c3fd

multiconfig: better grouping of settings
author Thomas Waldmann <tw AT waldmann-edv DOT de>
date Sun, 22 Jun 2008 22:52:21 +0200
parents a637edbeb5fa
children d9431d180aff
comparison
equal deleted inserted replaced
3781:a637edbeb5fa 3782:791011b5c3fd
639 self.text = exprstr 639 self.text = exprstr
640 self.value = eval(exprstr) 640 self.value = eval(exprstr)
641 641
642 642
643 options_no_group_name = { 643 options_no_group_name = {
644 # ==========================================================================
644 'session': ('Session settings', "Session-related settings, see HelpOnSessions.", ( 645 'session': ('Session settings', "Session-related settings, see HelpOnSessions.", (
645 ('session_handler', DefaultExpression('session.DefaultSessionHandler()'), 646 ('session_handler', DefaultExpression('session.DefaultSessionHandler()'),
646 "See HelpOnSessions."), 647 "See HelpOnSessions."),
647 ('session_id_handler', DefaultExpression('session.MoinCookieSessionIDHandler()'), 648 ('session_id_handler', DefaultExpression('session.MoinCookieSessionIDHandler()'),
648 "Only used by the DefaultSessionHandler, see HelpOnSessions."), 649 "Only used by the DefaultSessionHandler, see HelpOnSessions."),
653 ('cookie_lifetime', 12, 654 ('cookie_lifetime', 12,
654 'Session lifetime [h] of logged-in users (see HelpOnSessions for details).'), 655 'Session lifetime [h] of logged-in users (see HelpOnSessions for details).'),
655 ('anonymous_session_lifetime', None, 656 ('anonymous_session_lifetime', None,
656 'Session lifetime [h] of users who are not logged in (None = disable anon sessions).'), 657 'Session lifetime [h] of users who are not logged in (None = disable anon sessions).'),
657 )), 658 )),
658 659 # ==========================================================================
659 'various': ('Various', None, ( 660 'auth': ('Authentication / Authorization / Security settings', None, (
661 ('superuser', [],
662 "List of trusted user names with wiki system administration super powers (not to be confused with ACL admin rights!). Used for e.g. making full backups, software installation, language installation via SystemPagesSetup and more. See also HelpOnSuperUser."),
663 ('auth', DefaultExpression('[MoinAuth()]'),
664 "list of auth objects, to be called in this order (see HelpOnAuthentication)"),
665 ('auth_methods_trusted', ['http', 'xmlrpc_applytoken'],
666 'authentication methods for which users should be included in the special "Trusted" ACL group.'),
660 ('DesktopEdition', 667 ('DesktopEdition',
661 False, 668 False,
662 "if True, give all local users special powers - ''only use this for a local desktop wiki!''"), 669 "if True, give all local users special powers - ''only use this for a local desktop wiki!''"),
663 ('SecurityPolicy', 670 ('SecurityPolicy',
664 None, 671 None,
665 "Class object hook for implementing security restrictions or relaxations"), 672 "Class object hook for implementing security restrictions or relaxations"),
666
667 ('actions_excluded', 673 ('actions_excluded',
668 ['xmlrpc', # we do not want wiki admins unknowingly offering xmlrpc service 674 ['xmlrpc', # we do not want wiki admins unknowingly offering xmlrpc service
669 'MyPages', # only works when used with a non-default SecurityPolicy (e.g. autoadmin) 675 'MyPages', # only works when used with a non-default SecurityPolicy (e.g. autoadmin)
670 'CopyPage', # has questionable behaviour regarding subpages a user can't read, but can copy 676 'CopyPage', # has questionable behaviour regarding subpages a user can't read, but can copy
671 ], 677 ],
672 "Exclude unwanted actions (list of strings)"), 678 "Exclude unwanted actions (list of strings)"),
673 679
674 ('allow_xslt', False, 680 ('allow_xslt', False,
675 "if True, enables XSLT processing via 4Suite (note that this enables anyone with enough know-how to insert '''arbitrary HTML''' into your wiki, which is why it defaults to `False`)"), 681 "if True, enables XSLT processing via 4Suite (note that this enables anyone with enough know-how to insert '''arbitrary HTML''' into your wiki, which is why it defaults to `False`)"),
682
683 ('password_checker', DefaultExpression('_default_password_checker'),
684 'checks whether a password is acceptable (default check is length >= 6, at least 4 different chars, no keyboard sequence, not username used somehow (you can switch this off by using `None`)'),
685
686 )),
687 # ==========================================================================
688 'spam_leech_dos': ('Anti-Spam/Leech/DOS', None, (
689 ('hosts_deny', [], "List of denied IPs; if an IP ends with a dot, it denies a whole subnet (class A, B or C)"),
690
691 ('surge_action_limits',
692 {# allow max. <count> <action> requests per <dt> secs
693 # action: (count, dt)
694 'all': (30, 30),
695 'show': (30, 60),
696 'recall': (10, 120),
697 'raw': (20, 40), # some people use this for css
698 'AttachFile': (90, 60),
699 'diff': (30, 60),
700 'fullsearch': (10, 120),
701 'edit': (30, 300), # can be lowered after making preview different from edit
702 'rss_rc': (1, 60),
703 'default': (30, 60),
704 },
705 "Surge protection tries to deny clients causing too much load/traffic, see /SurgeProtection."),
706 ('surge_lockout_time', 3600, "time [s] someone gets locked out when ignoring the warnings"),
707
708 ('textchas', None,
709 "Spam protection setup using site-specific questions/answers, see HelpOnTextChas."),
710 ('textchas_disabled_group', None,
711 "Name of a group of trusted users who do not get asked TextCha questions."),
712
676 ('antispam_master_url', "http://master.moinmo.in/?action=xmlrpc2", 713 ('antispam_master_url', "http://master.moinmo.in/?action=xmlrpc2",
677 "where antispam security policy fetches spam pattern updates (if it is enabled)"), 714 "where antispam security policy fetches spam pattern updates (if it is enabled)"),
678 ('auth', DefaultExpression('[MoinAuth()]'), 715
679 "list of auth objects, to be called in this order (see HelpOnAuthentication)"), 716 # a regex of HTTP_USER_AGENTS that should be excluded from logging
680 ('auth_methods_trusted', ['http', 'xmlrpc_applytoken'], 717 # and receive a FORBIDDEN for anything except viewing a page
681 'authentication methods for which users should be included in the special "Trusted" ACL group.'), 718 # list must not contain 'java' because of twikidraw wanting to save drawing uses this useragent
682 719 ('ua_spiders',
683 ('bang_meta', True, 'if True, enable {{{!NoWikiName}}} markup'), 720 ('archiver|cfetch|charlotte|crawler|curl|gigabot|googlebot|heritrix|holmes|htdig|httrack|httpunit|'
684 ('caching_formats', ['text_html'], "output formats that are cached; set to [] to turn off caching (useful for development)"), 721 'intelix|jeeves|larbin|leech|libwww-perl|linkbot|linkmap|linkwalk|litefinder|mercator|'
722 'microsoft.url.control|mirror| mj12bot|msnbot|msrbot|neomo|nutbot|omniexplorer|puf|robot|scooter|seekbot|'
723 'sherlock|slurp|sitecheck|snoopy|spider|teleport|twiceler|voilabot|voyager|webreaper|wget|yeti'),
724 "A regex of HTTP_USER_AGENTs that should be excluded from logging and are not allowed to use actions."),
725
726 ('unzip_single_file_size', 2.0 * 1000 ** 2,
727 "max. number of files which are extracted from the zip file"),
728 ('unzip_attachments_space', 200.0 * 1000 ** 2,
729 "max. total amount of bytes can be used to unzip files [bytes]"),
730 ('unzip_attachments_count', 101,
731 "max. size of a single file in the archive which will be extracted [bytes]"),
732 )),
733 # ==========================================================================
734 'style': ('Style / Theme / UI related', None, (
735 ('sitename', u'Untitled Wiki',
736 "Short description of your wiki site, displayed below the logo on each page, and used in RSS documents as the channel title [Unicode]"),
737 ('interwikiname', None, "unique and stable InterWiki name (prefix, moniker) of the site, or None"),
738 ('logo_string', None, "The wiki logo top of page, HTML is allowed (`<img>` is possible as well) [Unicode]"),
739 ('html_pagetitle', None, "Allows you to set a specific HTML page title (if None, it defaults to the value of `sitename`)"),
740 ('navi_bar', [u'RecentChanges', u'FindPage', u'HelpContents', ],
741 'Most important page names. Users can add more names in their quick links in user preferences. To link to URL, use `u"[url link title]"`, to use a shortened name for long page name, use `u"[LongLongPageName title]"`. To use page names with spaces, use `u"[page_name_with_spaces any title]"` [list of Unicode strings]'),
742
743 ('theme_default', 'modern',
744 "the name of the theme that is used by default (see HelpOnThemes)"),
745 ('theme_force', False,
746 "if True, do not allow to change the theme"),
747
748 ('stylesheets', [],
749 "List of tuples (media, csshref) to insert after theme css, before user css, see HelpOnThemes."),
750
751 ('supplementation_page', False,
752 "if True, show a link to the supplementation page in the theme"),
753 ('supplementation_page_name', u'Discussion',
754 "default name of the supplementation (sub)page [unicode]"),
755 ('supplementation_page_template', u'DiscussionTemplate',
756 "default template used for creation of the supplementation page [unicode]"),
757
758 ('interwiki_preferred', [], "In dialogues, show those wikis at the top of the list."),
759 ('sistersites', [], "list of tuples `('WikiName', 'sisterpagelist_fetch_url')`"),
760
761 ('trail_size', 5,
762 "Number of pages in the trail of visited pages"),
763
764 ('page_footer1', '', "Custom HTML markup sent ''before'' the system footer."),
765 ('page_footer2', '', "Custom HTML markup sent ''after'' the system footer."),
766 ('page_header1', '', "Custom HTML markup sent ''before'' the system header / title area but after the body tag."),
767 ('page_header2', '', "Custom HTML markup sent ''after'' the system header / title area (and body tag)."),
768
685 ('changed_time_fmt', '%H:%M', "Time format used on Recent``Changes for page edits within the last 24 hours"), 769 ('changed_time_fmt', '%H:%M', "Time format used on Recent``Changes for page edits within the last 24 hours"),
686
687 ('chart_options', None, "If you have gdchart, use something like chart_options = {'width': 720, 'height': 540}"),
688
689 ('config_check_enabled', False, "if True, check configuration for unknown settings."),
690
691 ('data_dir', './data/', "Path to the data directory containing your (locally made) wiki pages."),
692 ('data_underlay_dir', './underlay/', "Path to the underlay directory containing distribution system and help pages."),
693
694 ('date_fmt', '%Y-%m-%d', "System date format, used mostly in Recent``Changes"), 770 ('date_fmt', '%Y-%m-%d', "System date format, used mostly in Recent``Changes"),
695 ('datetime_fmt', '%Y-%m-%d %H:%M:%S', 'Default format for dates and times (when the user has no preferences or chose the "default" date format)'), 771 ('datetime_fmt', '%Y-%m-%d %H:%M:%S', 'Default format for dates and times (when the user has no preferences or chose the "default" date format)'),
696 772 ('chart_options', None, "If you have gdchart, use something like chart_options = {'width': 720, 'height': 540}"),
697 ('default_markup', 'wiki', 'Default page parser / format (name of module in `MoinMoin.parser`)'),
698 ('docbook_html_dir', r"/usr/share/xml/docbook/stylesheet/nwalsh/html/",
699 'Path to the directory with the Docbook to HTML XSLT files (optional, used by the docbook parser). The default value is correct for Debian Etch.'),
700 773
701 ('edit_bar', ['Edit', 'Comments', 'Discussion', 'Info', 'Subscribe', 'Quicklink', 'Attachments', 'ActionsMenu'], 774 ('edit_bar', ['Edit', 'Comments', 'Discussion', 'Info', 'Subscribe', 'Quicklink', 'Attachments', 'ActionsMenu'],
702 'list of edit bar entries'), 775 'list of edit bar entries'),
776 ('history_count', (100, 200), "number of revisions shown for info/history action (default_count_shown, max_count_shown)"),
777
778 ('show_hosts', True,
779 "if True, show host names and IPs. Set to False to hide them."),
780 ('show_interwiki', False,
781 "if True, let the theme display your interwiki name"),
782 ('show_names', True,
783 "if True, show user names in the revision history and on Recent``Changes. Set to False to hide them."),
784 ('show_section_numbers', False,
785 'show section numbers in headings by default'),
786 ('show_timings', False, "show some timing values at bottom of a page"),
787 ('show_version', False, "show moin's version at the bottom of a page"),
788 ('traceback_show', True,
789 "if True, show debug tracebacks to users when moin crashes"),
790
791 ('page_credits',
792 [
793 '<a href="http://moinmo.in/" title="This site uses the MoinMoin Wiki software.">MoinMoin Powered</a>',
794 '<a href="http://moinmo.in/Python" title="MoinMoin is written in Python.">Python Powered</a>',
795 '<a href="http://moinmo.in/GPL" title="MoinMoin is GPL licensed.">GPL licensed</a>',
796 '<a href="http://validator.w3.org/check?uri=referer" title="Click here to validate this page.">Valid HTML 4.01</a>',
797 ],
798 'list with html fragments with logos or strings for crediting.'),
799
800 # These icons will show in this order in the iconbar, unless they
801 # are not relevant, e.g email icon when the wiki is not configured
802 # for email.
803 ('page_iconbar', ["up", "edit", "view", "diff", "info", "subscribe", "raw", "print", ],
804 'list of icons to show in iconbar, valid values are only those in page_icons_table. Available only in classic theme.'),
805
806 # Standard buttons in the iconbar
807 ('page_icons_table',
808 {
809 # key pagekey, querystr dict, title, icon-key
810 'diff': ('page', {'action': 'diff'}, _("Diffs"), "diff"),
811 'info': ('page', {'action': 'info'}, _("Info"), "info"),
812 'edit': ('page', {'action': 'edit'}, _("Edit"), "edit"),
813 'unsubscribe': ('page', {'action': 'unsubscribe'}, _("UnSubscribe"), "unsubscribe"),
814 'subscribe': ('page', {'action': 'subscribe'}, _("Subscribe"), "subscribe"),
815 'raw': ('page', {'action': 'raw'}, _("Raw"), "raw"),
816 'xml': ('page', {'action': 'show', 'mimetype': 'text/xml'}, _("XML"), "xml"),
817 'print': ('page', {'action': 'print'}, _("Print"), "print"),
818 'view': ('page', {}, _("View"), "view"),
819 'up': ('page_parent_page', {}, _("Up"), "up"),
820 },
821 "dict of {'iconname': (url, title, icon-img-key), ...}. Available only in classic theme."),
822
823 )),
824 # ==========================================================================
825 'editor': ('Editor related', None, (
703 ('editor_default', 'text', "Editor to use by default, 'text' or 'gui'"), 826 ('editor_default', 'text', "Editor to use by default, 'text' or 'gui'"),
704 ('editor_force', False, "if True, force using the default editor"), 827 ('editor_force', False, "if True, force using the default editor"),
705 ('editor_ui', 'freechoice', "Editor choice shown on the user interface, 'freechoice' or 'theonepreferred'"), 828 ('editor_ui', 'freechoice', "Editor choice shown on the user interface, 'freechoice' or 'theonepreferred'"),
829 ('page_license_enabled', False, 'if True, show a license hint in page editor.'),
706 ('editor_quickhelp', { 830 ('editor_quickhelp', {
707 # editor markup hints quickhelp 831 # editor markup hints quickhelp
708 # MUST be in wiki markup, even if the help is not for the wiki parser! 832 # MUST be in wiki markup, even if the help is not for the wiki parser!
709 'wiki': _(u"""\ 833 'wiki': _(u"""\
710 Emphasis:: <<Verbatim('')>>''italics''<<Verbatim('')>>; <<Verbatim(''')>>'''bold'''<<Verbatim(''')>>; <<Verbatim(''''')>>'''''bold italics'''''<<Verbatim(''''')>>; <<Verbatim('')>>''mixed ''<<Verbatim(''')>>'''''bold'''<<Verbatim(''')>> and italics''<<Verbatim('')>>; <<Verbatim(----)>> horizontal rule. 834 Emphasis:: <<Verbatim('')>>''italics''<<Verbatim('')>>; <<Verbatim(''')>>'''bold'''<<Verbatim(''')>>; <<Verbatim(''''')>>'''''bold italics'''''<<Verbatim(''''')>>; <<Verbatim('')>>''mixed ''<<Verbatim(''')>>'''''bold'''<<Verbatim(''')>> and italics''<<Verbatim('')>>; <<Verbatim(----)>> horizontal rule.
748 "Quickhelp provided at the bottom of edit pages. To customize, specify a dictionary with key matching default_markup (e.g. 'wiki') and give a string value containing wiki markup."), 872 "Quickhelp provided at the bottom of edit pages. To customize, specify a dictionary with key matching default_markup (e.g. 'wiki') and give a string value containing wiki markup."),
749 ('edit_locking', 'warn 10', "Editor locking policy: `None`, `'warn <timeout in minutes>'`, or `'lock <timeout in minutes>'`"), 873 ('edit_locking', 'warn 10', "Editor locking policy: `None`, `'warn <timeout in minutes>'`, or `'lock <timeout in minutes>'`"),
750 ('edit_ticketing', True, None), 874 ('edit_ticketing', True, None),
751 ('edit_rows', 20, "Default height of the edit box"), 875 ('edit_rows', 20, "Default height of the edit box"),
752 876
753 ('history_count', (100, 200), "number of revisions shown for info/history action (default_count_shown, max_count_shown)"), 877 )),
754 878 # ==========================================================================
755 ('hosts_deny', [], "List of denied IPs; if an IP ends with a dot, it denies a whole subnet (class A, B or C)"), 879 'pathes': ('Pathes', None, (
880 ('data_dir', './data/', "Path to the data directory containing your (locally made) wiki pages."),
881 ('data_underlay_dir', './underlay/', "Path to the underlay directory containing distribution system and help pages."),
882
883 ('docbook_html_dir', r"/usr/share/xml/docbook/stylesheet/nwalsh/html/",
884 'Path to the directory with the Docbook to HTML XSLT files (optional, used by the docbook parser). The default value is correct for Debian Etch.'),
885 ('shared_intermap', None,
886 "Path to a file containing global InterWiki definitions (or a list of such filenames)"),
887 )),
888 # ==========================================================================
889 'urls': ('URLs', None, (
890 # includes the moin version number, so we can have a unlimited cache lifetime
891 # for the static stuff. if stuff changes on version upgrade, url will change
892 # immediately and we have no problem with stale caches.
893 ('url_prefix_static', config.url_prefix_static,
894 "used as the base URL for icons, css, etc. - includes the moin version number and changes on every release. This replaces the deprecated and sometimes confusing `url_prefix = '/wiki'` setting."),
895 ('url_prefix_local', None,
896 "used as the base URL for some Javascript - set this to a URL on same server as the wiki if your url_prefix_static points to a different server."),
897
898 ('url_prefix_action', None,
899 "Use 'action' to enable action URL generation to be compatible with robots.txt. It will generate .../action/info/PageName?action=info then. Recommended for internet wikis."),
900
901 ('notification_bot_uri', None, "URI of the Jabber notification bot."),
902
903 ('url_mappings', {},
904 "lookup table to remap URL prefixes (dict of {{{'prefix': 'replacement'}}}); especially useful in intranets, when whole trees of externally hosted documents move around"),
905
906 )),
907 # ==========================================================================
908 'pages': ('Special page names', None, (
909 ('page_front_page', u'HelpOnLanguages',
910 "Name of the front page. We don't expect you to keep the default. Just read HelpOnLanguages in case you're wondering... [Unicode]"),
911
912 # the following regexes should match the complete name when used in free text
913 # the group 'all' shall match all, while the group 'key' shall match the key only
914 # e.g. CategoryFoo -> group 'all' == CategoryFoo, group 'key' == Foo
915 # moin's code will add ^ / $ at beginning / end when needed
916 ('page_category_regex', ur'(?P<all>Category(?P<key>\S+))',
917 'Pagenames exactly matching this regex are regarded as Wiki categories [Unicode]'),
918 ('page_dict_regex', ur'(?P<all>(?P<key>\S+)Dict)',
919 'Pagenames exactly matching this regex are regarded as pages containing variable dictionary definitions [Unicode]'),
920 ('page_group_regex', ur'(?P<all>(?P<key>\S+)Group)',
921 'Pagenames exactly matching this regex are regarded as pages containing group definitions [Unicode]'),
922 ('page_template_regex', ur'(?P<all>(?P<key>\S+)Template)',
923 'Pagenames exactly matching this regex are regarded as pages containing templates for new pages [Unicode]'),
924
925 ('page_license_page', u'WikiLicense', 'Page linked from the license hint. [Unicode]'),
926
927 ('page_local_spelling_words', u'LocalSpellingWords',
928 'Name of the page containing user-provided spellchecker words [Unicode]'),
929 )),
930 # ==========================================================================
931 'user': ('User Preferences related', None, (
932 ('quicklinks_default', [],
933 'List of preset quicklinks for a newly created user accounts. Existing accounts are not affected by this option whereas changes in navi_bar do always affect existing accounts. Preset quicklinks can be removed by the user in the user preferences menu, navi_bar settings not.'),
934 ('subscribed_pages_default', [],
935 "List of pagenames used for presetting page subscriptions for newly created user accounts."),
936
937 ('email_subscribed_events_default',
938 [
939 PageChangedEvent.__name__,
940 PageRenamedEvent.__name__,
941 PageDeletedEvent.__name__,
942 PageCopiedEvent.__name__,
943 PageRevertedEvent.__name__,
944 FileAttachedEvent.__name__,
945 ], None),
946 ('jabber_subscribed_events_default', [], None),
947
948 ('tz_offset', 0.0,
949 "default time zone offset in hours from UTC"),
950
951 ('userprefs_disabled', [],
952 "Disable the listed user preferences plugins."),
953 )),
954 # ==========================================================================
955 'various': ('Various', None, (
956 ('bang_meta', True, 'if True, enable {{{!NoWikiName}}} markup'),
957 ('caching_formats', ['text_html'], "output formats that are cached; set to [] to turn off caching (useful for development)"),
958
959 ('config_check_enabled', False, "if True, check configuration for unknown settings."),
960
961 ('default_markup', 'wiki', 'Default page parser / format (name of module in `MoinMoin.parser`)'),
756 962
757 ('html_head', '', "Additional <HEAD> tags, see HelpOnThemes."), 963 ('html_head', '', "Additional <HEAD> tags, see HelpOnThemes."),
758 ('html_head_queries', '<meta name="robots" content="noindex,nofollow">\n', 964 ('html_head_queries', '<meta name="robots" content="noindex,nofollow">\n',
759 "Additional <HEAD> tags for requests with query strings, like actions."), 965 "Additional <HEAD> tags for requests with query strings, like actions."),
760 ('html_head_posts', '<meta name="robots" content="noindex,nofollow">\n', 966 ('html_head_posts', '<meta name="robots" content="noindex,nofollow">\n',
761 "Additional <HEAD> tags for POST requests."), 967 "Additional <HEAD> tags for POST requests."),
762 ('html_head_index', '<meta name="robots" content="index,follow">\n', 968 ('html_head_index', '<meta name="robots" content="index,follow">\n',
763 "Additional <HEAD> tags for some few index pages."), 969 "Additional <HEAD> tags for some few index pages."),
764 ('html_head_normal', '<meta name="robots" content="index,nofollow">\n', 970 ('html_head_normal', '<meta name="robots" content="index,nofollow">\n',
765 "Additional <HEAD> tags for most normal pages."), 971 "Additional <HEAD> tags for most normal pages."),
766 ('html_pagetitle', None, "Allows you to set a specific HTML page title (if None, it defaults to the value of `sitename`)"),
767
768 ('interwikiname', None, "InterWiki name (prefix, moniker) of the site, or None"),
769 ('interwiki_preferred', [], "In dialogues, show those wikis at the top of the list."),
770 972
771 ('language_default', 'en', "Default language for user interface and page content, see HelpOnLanguages."), 973 ('language_default', 'en', "Default language for user interface and page content, see HelpOnLanguages."),
772 ('language_ignore_browser', False, "if True, ignore user's browser language settings, see HelpOnLanguages."), 974 ('language_ignore_browser', False, "if True, ignore user's browser language settings, see HelpOnLanguages."),
773
774 ('logo_string', None, "The wiki logo top of page, HTML is allowed (`<img>` is possible as well) [Unicode]"),
775 975
776 ('log_reverse_dns_lookups', True, 976 ('log_reverse_dns_lookups', True,
777 "if True, do a reverse DNS lookup on page SAVE. If your DNS is broken, set this to False to speed up SAVE."), 977 "if True, do a reverse DNS lookup on page SAVE. If your DNS is broken, set this to False to speed up SAVE."),
778 ('log_timing', False, 978 ('log_timing', False,
779 "if True, add timing infos to the log output to analyse load conditions"), 979 "if True, add timing infos to the log output to analyse load conditions"),
810 'chemical/x-pdb', 1010 'chemical/x-pdb',
811 'x-world/x-vrml', 1011 'x-world/x-vrml',
812 ], 1012 ],
813 'mimetypes that can be embedded by the [[HelpOnMacros/EmbedObject|EmbedObject macro]]'), 1013 'mimetypes that can be embedded by the [[HelpOnMacros/EmbedObject|EmbedObject macro]]'),
814 1014
815 ('navi_bar', [u'RecentChanges', u'FindPage', u'HelpContents', ],
816 'Most important page names. Users can add more names in their quick links in user preferences. To link to URL, use `u"[url link title]"`, to use a shortened name for long page name, use `u"[LongLongPageName title]"`. To use page names with spaces, use `u"[page_name_with_spaces any title]"` [list of Unicode strings]'),
817
818 ('notification_bot_uri', None, "URI of the Jabber notification bot."),
819
820 ('page_credits',
821 [
822 '<a href="http://moinmo.in/" title="This site uses the MoinMoin Wiki software.">MoinMoin Powered</a>',
823 '<a href="http://moinmo.in/Python" title="MoinMoin is written in Python.">Python Powered</a>',
824 '<a href="http://moinmo.in/GPL" title="MoinMoin is GPL licensed.">GPL licensed</a>',
825 '<a href="http://validator.w3.org/check?uri=referer" title="Click here to validate this page.">Valid HTML 4.01</a>',
826 ],
827 'list with html fragments with logos or strings for crediting.'),
828
829 ('page_footer1', '', "Custom HTML markup sent ''before'' the system footer."),
830 ('page_footer2', '', "Custom HTML markup sent ''after'' the system footer."),
831 ('page_header1', '', "Custom HTML markup sent ''before'' the system header / title area but after the body tag."),
832 ('page_header2', '', "Custom HTML markup sent ''after'' the system header / title area (and body tag)."),
833
834 ('page_front_page', u'HelpOnLanguages',
835 "Name of the front page. We don't expect you to keep the default. Just read HelpOnLanguages in case you're wondering... [Unicode]"),
836 ('page_local_spelling_words', u'LocalSpellingWords',
837 'Name of the page containing user-provided spellchecker words [Unicode]'),
838
839 # the following regexes should match the complete name when used in free text
840 # the group 'all' shall match all, while the group 'key' shall match the key only
841 # e.g. CategoryFoo -> group 'all' == CategoryFoo, group 'key' == Foo
842 # moin's code will add ^ / $ at beginning / end when needed
843 ('page_category_regex', ur'(?P<all>Category(?P<key>\S+))',
844 'Pagenames exactly matching this regex are regarded as Wiki categories [Unicode]'),
845 ('page_dict_regex', ur'(?P<all>(?P<key>\S+)Dict)',
846 'Pagenames exactly matching this regex are regarded as pages containing variable dictionary definitions [Unicode]'),
847 ('page_group_regex', ur'(?P<all>(?P<key>\S+)Group)',
848 'Pagenames exactly matching this regex are regarded as pages containing group definitions [Unicode]'),
849 ('page_template_regex', ur'(?P<all>(?P<key>\S+)Template)',
850 'Pagenames exactly matching this regex are regarded as pages containing templates for new pages [Unicode]'),
851
852 ('page_license_enabled', False, 'if True, show a license hint in page editor.'),
853 ('page_license_page', u'WikiLicense', 'Page linked from the license hint. [Unicode]'),
854
855 # These icons will show in this order in the iconbar, unless they
856 # are not relevant, e.g email icon when the wiki is not configured
857 # for email.
858 ('page_iconbar', ["up", "edit", "view", "diff", "info", "subscribe", "raw", "print", ],
859 'list of icons to show in iconbar, valid values are only those in page_icons_table. Available only in classic theme.'),
860
861 # Standard buttons in the iconbar
862 ('page_icons_table',
863 {
864 # key pagekey, querystr dict, title, icon-key
865 'diff': ('page', {'action': 'diff'}, _("Diffs"), "diff"),
866 'info': ('page', {'action': 'info'}, _("Info"), "info"),
867 'edit': ('page', {'action': 'edit'}, _("Edit"), "edit"),
868 'unsubscribe': ('page', {'action': 'unsubscribe'}, _("UnSubscribe"), "unsubscribe"),
869 'subscribe': ('page', {'action': 'subscribe'}, _("Subscribe"), "subscribe"),
870 'raw': ('page', {'action': 'raw'}, _("Raw"), "raw"),
871 'xml': ('page', {'action': 'show', 'mimetype': 'text/xml'}, _("XML"), "xml"),
872 'print': ('page', {'action': 'print'}, _("Print"), "print"),
873 'view': ('page', {}, _("View"), "view"),
874 'up': ('page_parent_page', {}, _("Up"), "up"),
875 },
876 "dict of {'iconname': (url, title, icon-img-key), ...}. Available only in classic theme."),
877
878 ('password_checker', DefaultExpression('_default_password_checker'),
879 'checks whether a password is acceptable (default check is length >= 6, at least 4 different chars, no keyboard sequence, not username used somehow (you can switch this off by using `None`)'),
880
881 ('quicklinks_default', [],
882 'List of preset quicklinks for a newly created user accounts. Existing accounts are not affected by this option whereas changes in navi_bar do always affect existing accounts. Preset quicklinks can be removed by the user in the user preferences menu, navi_bar settings not.'),
883
884 ('refresh', None, 1015 ('refresh', None,
885 "refresh = (minimum_delay_s, targets_allowed) enables use of `#refresh 5 PageName` processing instruction, targets_allowed must be either `'internal'` or `'external'`"), 1016 "refresh = (minimum_delay_s, targets_allowed) enables use of `#refresh 5 PageName` processing instruction, targets_allowed must be either `'internal'` or `'external'`"),
886 ('rss_cache', 60, "suggested caching time for Recent''''''Changes RSS, in second"), 1017 ('rss_cache', 60, "suggested caching time for Recent''''''Changes RSS, in second"),
887 1018
888 ('search_results_per_page', 25, "Number of hits shown per page in the search results"), 1019 ('search_results_per_page', 25, "Number of hits shown per page in the search results"),
889 1020
890 ('shared_intermap', None,
891 "Path to a file containing global InterWiki definitions (or a list of such filenames)"),
892
893 ('show_hosts', True,
894 "if True, show host names and IPs. Set to False to hide them."),
895 ('show_interwiki', False,
896 "if True, let the theme display your interwiki name"),
897 ('show_names', True,
898 "if True, show user names in the revision history and on Recent``Changes. Set to False to hide them."),
899 ('show_section_numbers', False,
900 'show section numbers in headings by default'),
901 ('show_timings', False, "show some timing values at bottom of a page"),
902 ('show_version', False, "show moin's version at the bottom of a page"),
903
904 ('sistersites', [], "list of tuples `('WikiName', 'sisterpagelist_fetch_url')`"),
905
906 ('siteid', 'default', None), 1021 ('siteid', 'default', None),
907 ('sitename', u'Untitled Wiki',
908 "Short description of your wiki site, displayed below the logo on each page, and used in RSS documents as the channel title [Unicode]"),
909
910 ('stylesheets', [],
911 "List of tuples (media, csshref) to insert after theme css, before user css, see HelpOnThemes."),
912
913 ('subscribed_pages_default', [],
914 "List of pagenames used for presetting page subscriptions for newly created user accounts."),
915 ('email_subscribed_events_default',
916 [
917 PageChangedEvent.__name__,
918 PageRenamedEvent.__name__,
919 PageDeletedEvent.__name__,
920 PageCopiedEvent.__name__,
921 PageRevertedEvent.__name__,
922 FileAttachedEvent.__name__,
923 ], None),
924 ('jabber_subscribed_events_default', [], None),
925
926 ('superuser', [],
927 "List of trusted user names with wiki system administration super powers (not to be confused with ACL admin rights!). Used for e.g. making full backups, software installation, language installation via SystemPagesSetup and more. See also HelpOnSuperUser."),
928
929 ('supplementation_page', False,
930 "if True, show a link to the supplementation page in the theme"),
931 ('supplementation_page_name', u'Discussion',
932 "default name of the supplementation (sub)page [unicode]"),
933 ('supplementation_page_template', u'DiscussionTemplate',
934 "default template used for creation of the supplementation page [unicode]"),
935
936 ('surge_action_limits',
937 {# allow max. <count> <action> requests per <dt> secs
938 # action: (count, dt)
939 'all': (30, 30),
940 'show': (30, 60),
941 'recall': (10, 120),
942 'raw': (20, 40), # some people use this for css
943 'AttachFile': (90, 60),
944 'diff': (30, 60),
945 'fullsearch': (10, 120),
946 'edit': (30, 300), # can be lowered after making preview different from edit
947 'rss_rc': (1, 60),
948 'default': (30, 60),
949 },
950 "Surge protection tries to deny clients causing too much load/traffic, see /SurgeProtection."),
951 ('surge_lockout_time', 3600, "time [s] someone gets locked out when ignoring the warnings"),
952
953 ('textchas', None,
954 "Spam protection setup using site-specific questions/answers, see HelpOnTextChas."),
955 ('textchas_disabled_group', None,
956 "Name of a group of trusted users who do not get asked TextCha questions."),
957
958 ('theme_default', 'modern',
959 "the name of the theme that is used by default (see HelpOnThemes)"),
960 ('theme_force', False,
961 "if True, do not allow to change the theme"),
962
963 ('traceback_show', True,
964 "if True, show debug tracebacks to users when moin crashes"),
965
966 ('trail_size', 5,
967 "Number of pages in the trail of visited pages"),
968 ('tz_offset', 0.0,
969 "default time zone offset in hours from UTC"),
970
971 # a regex of HTTP_USER_AGENTS that should be excluded from logging
972 # and receive a FORBIDDEN for anything except viewing a page
973 # list must not contain 'java' because of twikidraw wanting to save drawing uses this useragent
974 ('ua_spiders',
975 ('archiver|cfetch|charlotte|crawler|curl|gigabot|googlebot|heritrix|holmes|htdig|httrack|httpunit|'
976 'intelix|jeeves|larbin|leech|libwww-perl|linkbot|linkmap|linkwalk|litefinder|mercator|'
977 'microsoft.url.control|mirror| mj12bot|msnbot|msrbot|neomo|nutbot|omniexplorer|puf|robot|scooter|seekbot|'
978 'sherlock|slurp|sitecheck|snoopy|spider|teleport|twiceler|voilabot|voyager|webreaper|wget|yeti'),
979 "A regex of HTTP_USER_AGENTs that should be excluded from logging and are not allowed to use actions."),
980
981 ('unzip_single_file_size', 2.0 * 1000 ** 2,
982 "max. number of files which are extracted from the zip file"),
983 ('unzip_attachments_space', 200.0 * 1000 ** 2,
984 "max. total amount of bytes can be used to unzip files [bytes]"),
985 ('unzip_attachments_count', 101,
986 "max. size of a single file in the archive which will be extracted [bytes]"),
987
988 ('url_mappings', {},
989 "lookup table to remap URL prefixes (dict of {{{'prefix': 'replacement'}}}); especially useful in intranets, when whole trees of externally hosted documents move around"),
990
991 # includes the moin version number, so we can have a unlimited cache lifetime
992 # for the static stuff. if stuff changes on version upgrade, url will change
993 # immediately and we have no problem with stale caches.
994 ('url_prefix_static', config.url_prefix_static,
995 "used as the base URL for icons, css, etc. - includes the moin version number and changes on every release. This replaces the deprecated and sometimes confusing `url_prefix = '/wiki'` setting."),
996 ('url_prefix_local', None,
997 "used as the base URL for some Javascript - set this to a URL on same server as the wiki if your url_prefix_static points to a different server."),
998
999 # we could prefix actions to be able to exclude them by robots.txt:
1000 #url_prefix_action', 'action' # no leading or trailing '/'
1001 ('url_prefix_action', None,
1002 "Use 'action' to enable action URL generation to be compatible with robots.txt. It will generate .../action/info/PageName?action=info then. Recommended for internet wikis."),
1003
1004 # allow disabling certain userpreferences plugins
1005 ('userprefs_disabled', [],
1006 "Disable the listed user preferences plugins."),
1007 )), 1022 )),
1008 } 1023 }
1009 1024
1010 options = { 1025 options = {
1011 'acl': ('Access control lists', None, ( 1026 'acl': ('Access control lists', None, (