Added webapps helptext for php options
This commit is contained in:
parent
890708d85f
commit
58c2e778c4
36
TODO.md
36
TODO.md
|
@ -4,27 +4,16 @@ TODO ====
|
|||
* Don't store passwords and other service parameters that can be changed by the services i.e. mailman, vps etc. Find an execution mechanism that trigger `change_password()`
|
||||
|
||||
* abort transaction on orchestration when `state == TIMEOUT` ?
|
||||
* filter and other user.is_main refactoring
|
||||
* use format_html_join for orchestration email alerts
|
||||
|
||||
* generic form for change and display passwords and crack change password form
|
||||
* enforce an emergency email contact and account to contact contacts about problems when mailserver is down
|
||||
|
||||
* add `BackendLog` retry action
|
||||
* PHPbBckendMiixin with get_php_ini
|
||||
* webmail identities and addresses
|
||||
* user.roles.mailbox its awful when combined with addresses:
|
||||
* address.mailboxes filter by account is crap in admin and api
|
||||
* address.mailboxes api needs a mailbox object endpoint (not nested user)
|
||||
* Its not intuitive, users expect to create mailboxes, not users!
|
||||
* Mailbox is something tangible, not a role!
|
||||
* System user vs virtual user:
|
||||
* system user automatically hast @domain.com address :(
|
||||
|
||||
* use Code: https://github.com/django/django/blob/master/django/forms/forms.py#L415 for domain.refresh_serial()
|
||||
* Permissions .filter_queryset()
|
||||
|
||||
|
||||
* git deploy in addition to FTP?
|
||||
* env vars instead of multiple settings files: https://devcenter.heroku.com/articles/config-vars ?
|
||||
* optional chroot shell?
|
||||
|
@ -65,14 +54,6 @@ Remember that, as always with QuerySets, any subsequent chained methods which im
|
|||
|
||||
* help_text on readonly_fields specialy Bill.state. (eg. A bill is in OPEN state when bla bla )
|
||||
|
||||
* Transaction states: CREATED, PROCESSED, EXECUTED, COMMITED, ABORTED (SECURED, REJECTED?)
|
||||
* bill.send() -> transacction.EXECUTED when source=None
|
||||
* transaction.secured() -> bill.paid when bill.total == transaction.value else Error
|
||||
* bill.paid() -> transacton.SECURED
|
||||
* bill.bad_debt() -> transaction.ABORTED
|
||||
* transaction.ABORTED -> bill.bad_debt
|
||||
- Issue new transaction when current transaction is ABORTED
|
||||
|
||||
* underescore *every* private function
|
||||
|
||||
* create log file at /var/log/orchestra.log and rotate
|
||||
|
@ -149,22 +130,15 @@ Remember that, as always with QuerySets, any subsequent chained methods which im
|
|||
|
||||
* REST PERMISSIONS
|
||||
|
||||
* caching based on def text2int(textnum, numwords={}) ?:
|
||||
|
||||
|
||||
* Subdomain saving should not trigger bind slave
|
||||
* caching based on "def text2int(textnum, numwords={}):"
|
||||
|
||||
* multiple files monitoring
|
||||
|
||||
* Domain validation has to be done with injected records and subdomains
|
||||
|
||||
* Names: lower andupper case allow or disallow ? webapps/account.username etc
|
||||
|
||||
* Split plans into a separate app (plans and rates / services ) ?
|
||||
* Split plans into a separate app (plans and rates / services ) interface ?
|
||||
|
||||
* sync() ServiceController method that synchronizes orchestra and servers (delete or import)
|
||||
|
||||
* validate address.forward: if mailbox in account.mailboxes then: _("Please use mailboxes field") or consider removing mailbox support on forward (user@pangea.org instead)
|
||||
* consider removing mailbox support on forward (user@pangea.org instead)
|
||||
|
||||
* remove ordering in account admin and others admininlines
|
||||
|
||||
|
@ -198,7 +172,3 @@ Remember that, as always with QuerySets, any subsequent chained methods which im
|
|||
* validate systemuser.home
|
||||
|
||||
* webapp backend option compatibility check?
|
||||
|
||||
* miscellaneous.indentifier.endswith(('.org', '.es', '.cat'))
|
||||
|
||||
* miscservic icon miscellaneous icon + scissors
|
||||
|
|
|
@ -41,15 +41,6 @@ class ResourceAdmin(ExtendedModelAdmin):
|
|||
change_readonly_fields = ('name', 'content_type')
|
||||
prepopulated_fields = {'name': ('verbose_name',)}
|
||||
|
||||
def add_view(self, request, **kwargs):
|
||||
""" Warning user if the node is not fully configured """
|
||||
if request.method == 'POST':
|
||||
messages.warning(request, mark_safe(_(
|
||||
"Restarting orchestra and celerybeat is required to fully apply changes.<br> "
|
||||
"Remember that new allocated values will be applied when objects are saved."
|
||||
)))
|
||||
return super(ResourceAdmin, self).add_view(request, **kwargs)
|
||||
|
||||
def change_view(self, request, object_id, form_url='', extra_context=None):
|
||||
""" Remaind user when monitor routes are not configured """
|
||||
if request.method == 'GET':
|
||||
|
|
|
@ -119,8 +119,6 @@ class Resource(models.Model):
|
|||
else:
|
||||
PeriodicTask.objects.filter(
|
||||
name=name,
|
||||
task='resources.Monitor',
|
||||
args=[self.pk]
|
||||
).delete()
|
||||
|
||||
def get_scale(self):
|
||||
|
|
|
@ -123,7 +123,7 @@ class Service(models.Model):
|
|||
"Related instance can be instantiated with <tt>instance</tt> keyword or "
|
||||
"<tt>content_type.model_name</tt>.</br>"
|
||||
"<tt> databaseuser.type == 'MYSQL'</tt><br>"
|
||||
"<tt> miscellaneous.active and miscellaneous.service.name.lower() == 'domain .es'</tt><br>"
|
||||
"<tt> miscellaneous.active and miscellaneous.identifier.endswith(('.org', '.net', '.com'))'</tt><br>"
|
||||
"<tt> contractedplan.plan.name == 'association_fee''</tt><br>"
|
||||
"<tt> instance.active</tt>"))
|
||||
handler_type = models.CharField(_("handler"), max_length=256, blank=True,
|
||||
|
|
|
@ -107,7 +107,8 @@ WEBAPPS_OPTIONS = getattr(settings, 'WEBAPPS_OPTIONS', {
|
|||
# Processes
|
||||
'timeout': (
|
||||
_("Process timeout"),
|
||||
_("Maximum time in seconds allowed for a request to complete (a number between 0 and 999)."),
|
||||
_("Maximum time in seconds allowed for a request to complete "
|
||||
"(a number between 0 and 999)."),
|
||||
# FCGID FcgidIOTimeout
|
||||
# FPM pm.request_terminate_timeout
|
||||
# PHP max_execution_time ini
|
||||
|
@ -115,7 +116,8 @@ WEBAPPS_OPTIONS = getattr(settings, 'WEBAPPS_OPTIONS', {
|
|||
),
|
||||
'processes': (
|
||||
_("Number of processes"),
|
||||
_("Maximum number of children that can be alive at the same time (a number between 0 and 9)."),
|
||||
_("Maximum number of children that can be alive at the same time "
|
||||
"(a number between 0 and 9)."),
|
||||
# FCGID MaxProcesses
|
||||
# FPM pm.max_children
|
||||
r'^[0-9]$',
|
||||
|
@ -128,25 +130,30 @@ WEBAPPS_OPTIONS = getattr(settings, 'WEBAPPS_OPTIONS', {
|
|||
),
|
||||
'PHP-allow_url_include': (
|
||||
_("PHP - Allow URL include"),
|
||||
_("On or Off"),
|
||||
_("Allows the use of URL-aware fopen wrappers with include, include_once, require, "
|
||||
"require_once (On or Off)."),
|
||||
r'^(On|Off|on|off)$'
|
||||
),
|
||||
'PHP-allow_url_fopen': (
|
||||
_("PHP - allow_url_fopen"),
|
||||
_("On or Off"),
|
||||
_("Enables the URL-aware fopen wrappers that enable accessing URL object like files "
|
||||
"(On or Off)."),
|
||||
r'^(On|Off|on|off)$'
|
||||
),
|
||||
'PHP-auto_append_file': (
|
||||
_("PHP - Auto append file"),
|
||||
_("Specifies the name of a file that is automatically parsed after the main file."),
|
||||
r'^[\w\.,-/]+$'
|
||||
),
|
||||
'PHP-auto_prepend_file': (
|
||||
_("PHP - Auto prepend file"),
|
||||
_("Specifies the name of a file that is automatically parsed before the main file."),
|
||||
r'^[\w\.,-/]+$'
|
||||
),
|
||||
'PHP-date.timezone': (
|
||||
_("PHP - date.timezone"),
|
||||
_("Timezone string 'Europe/London'."),
|
||||
_("Sets the default timezone used by all date/time functions "
|
||||
"(Timezone string 'Europe/London')."),
|
||||
r'^\w+/\w+$'
|
||||
),
|
||||
'PHP-default_socket_timeout': (
|
||||
|
@ -156,7 +163,8 @@ WEBAPPS_OPTIONS = getattr(settings, 'WEBAPPS_OPTIONS', {
|
|||
),
|
||||
'PHP-display_errors': (
|
||||
_("PHP - Display errors"),
|
||||
_("On or Off"),
|
||||
_("determines whether errors should be printed to the screen as part of the output or "
|
||||
"if they should be hidden from the user (On or Off)."),
|
||||
r'^(On|Off|on|off)$'
|
||||
),
|
||||
'PHP-extension': (
|
||||
|
@ -165,32 +173,37 @@ WEBAPPS_OPTIONS = getattr(settings, 'WEBAPPS_OPTIONS', {
|
|||
),
|
||||
'PHP-magic_quotes_gpc': (
|
||||
_("PHP - Magic quotes GPC"),
|
||||
_("On or Off"),
|
||||
_("Sets the magic_quotes state for GPC (Get/Post/Cookie) operations (On or Off) "
|
||||
"<b>DEPRECATED as of PHP 5.3.0</b>."),
|
||||
r'^(On|Off|on|off)$'
|
||||
),
|
||||
'PHP-magic_quotes_runtime': (
|
||||
_("PHP - Magic quotes runtime"),
|
||||
_("On or Off"),
|
||||
_("Functions that return data from any sort of external source will have quotes escaped "
|
||||
"with a backslash (On or Off) <b>DEPRECATED as of PHP 5.3.0</b>."),
|
||||
r'^(On|Off|on|off)$'
|
||||
),
|
||||
'PHP-magic_quotes_sybase': (
|
||||
_("PHP - Magic quotes sybase"),
|
||||
_("On or Off"),
|
||||
_("Single-quote is escaped with a single-quote instead of a backslash (On or Off)."),
|
||||
r'^(On|Off|on|off)$'
|
||||
),
|
||||
'PHP-max_execution_time': (
|
||||
_("PHP - Max execution time"),
|
||||
_("Number between 0 and 999."),
|
||||
_("Maximum time in seconds a script is allowed to run before it is terminated by "
|
||||
"the parser (Integer between 0 and 999)."),
|
||||
r'^[0-9]{1,3}$'
|
||||
),
|
||||
'PHP-max_input_time': (
|
||||
_("PHP - Max input time"),
|
||||
_("Number between 0 and 999."),
|
||||
_("Maximum time in seconds a script is allowed to parse input data, like POST and GET "
|
||||
"(Integer between 0 and 999)."),
|
||||
r'^[0-9]{1,3}$'
|
||||
),
|
||||
'PHP-memory_limit': (
|
||||
_("PHP - Memory limit"),
|
||||
_("Value between 0M and 999M."),
|
||||
_("This sets the maximum amount of memory in bytes that a script is allowed to allocate "
|
||||
"(Value between 0M and 999M)."),
|
||||
r'^[0-9]{1,3}M$'
|
||||
),
|
||||
'PHP-mysql.connect_timeout': (
|
||||
|
@ -200,36 +213,39 @@ WEBAPPS_OPTIONS = getattr(settings, 'WEBAPPS_OPTIONS', {
|
|||
),
|
||||
'PHP-output_buffering': (
|
||||
_("PHP - output_buffering"),
|
||||
_("On or Off"),
|
||||
_("Turn on output buffering (On or Off)."),
|
||||
r'^(On|Off|on|off)$'
|
||||
),
|
||||
'PHP-register_globals': (
|
||||
_("PHP - Register globals"),
|
||||
_("On or Off"),
|
||||
_("Whether or not to register the EGPCS (Environment, GET, POST, Cookie, Server) "
|
||||
"variables as global variables (On or Off)."),
|
||||
r'^(On|Off|on|off)$'
|
||||
),
|
||||
'PHP-post_max_size': (
|
||||
_("PHP - Post max size"),
|
||||
_("Value between 0M and 999M."),
|
||||
_("Sets max size of post data allowed (Value between 0M and 999M)."),
|
||||
r'^[0-9]{1,3}M$'
|
||||
),
|
||||
'PHP-sendmail_path': (
|
||||
_("PHP - sendmail_path"),
|
||||
_("Where the sendmail program can be found."),
|
||||
r'^[^ ]+$'
|
||||
),
|
||||
'PHP-session.bug_compat_warn': (
|
||||
_("PHP - session.bug_compat_warn"),
|
||||
_("On or Off"),
|
||||
_("Enables an PHP bug on session initialization for legacy behaviour (On or Off)."),
|
||||
r'^(On|Off|on|off)$'
|
||||
),
|
||||
'PHP-session.auto_start': (
|
||||
_("PHP - session.auto_start"),
|
||||
_("On or Off"),
|
||||
_("Specifies whether the session module starts a session automatically on request "
|
||||
"startup (On or Off)."),
|
||||
r'^(On|Off|on|off)$'
|
||||
),
|
||||
'PHP-safe_mode': (
|
||||
_("PHP - Safe mode"),
|
||||
_("On or Off"),
|
||||
_("Whether to enable PHP's safe mode (On or Off) <b>DEPRECATED as of PHP 5.3.0</b>"),
|
||||
r'^(On|Off|on|off)$'
|
||||
),
|
||||
'PHP-suhosin.post.max_vars': (
|
||||
|
|
Loading…
Reference in a new issue