Make Tender optional and configurable - #6576
Conversation
edb3616 to
36434e2
Compare
There was a problem hiding this comment.
So... if I don't have Tender defined, this error page will just show an empty link?
There was a problem hiding this comment.
There won't be a link at all. Perhaps the Open edX installation has a different support system that the user can contact.
There was a problem hiding this comment.
I don't see how you're conditionalizing this particular statement. It looks to me like if TENDER_DOMAIN isn't defined, you set the link start and end to "" and you put that link in here.
There was a problem hiding this comment.
Correct. Instead of something like this:
unlinked text <a href="foo">linked text</a> unlinked text
It will end up like this:
unlinked text linked text unlinked text
The text will still be there, but there won't be any link. Users won't be able to click on it. I'm open to other suggestions for how to handle this case, but this was the best I could think of.
There was a problem hiding this comment.
Is there a help email address defined in studio (there is in the LMS). If so maybe if they don't have tender defined, this defaults to a mailto address to the help email?
There was a problem hiding this comment.
@sarina I changed it to default to a mailto link for the TECH_SUPPORT_EMAIL -- which probably won't be right in all cases, but it's the most relevant email address I could find in the settings. Does that work for you?
There was a problem hiding this comment.
Yeah, I think that's the right call.
A small nit: I might call the variables "help_link_start" and "help_link_end", to generalize them. Your call
There was a problem hiding this comment.
Good call. Fixing now.
|
👍 once the comments are tended to. How do we ensure the configuration is updated along with the code? |
|
@nedbat We'll need to make a pull request to the https://github.com/edx/configuration repo, and coordinate with devops to set a deployment env variable. And we should coordinate that better than I did for the "edX Studio" theming change. 😞 |
be0e2ca to
a8a2804
Compare
|
👍 once tests pass & commits squishy |
3a3b6f1 to
4d32327
Compare
Make Tender optional and configurable
* upstream/master: Make regex more specific and fix woff2 Noticed overly eager eviction in stage Better for backward compatibility Separating caches Add configuration for caching course structure less verbose build-ami add requirements add abbey callbacks Added Node for E-Commerce Asset Compilation specify DEFAULT_FILE_STORAGE in auth/env config Add setting to update XBLOCK_SETTINGS DEVOPS-2074: nginx looks for ELB headers to forward Update base edx image. Update the base installed AMI to only be 50GB instead of 100GB. New base sandbox AMIs. Add missing scripts to connect to to prod dbs Change replica host var names to namespace them with the roles that use them Refactor to remove repeated tasks Allow user to request Birch Vagrant box for VMware Don't disable token checking on notes Remove reference to group_vars/all elasticsearch monitor role newrelic npi role Create writable media dir on local filesystem Switch to using the vpc_class_b for these subnets fix broken test Provide separate internal/public API endpoints. update github_post_status.py for jenkins_worker role oh yeah, the play Removing the unused/supported gerrit role Ubuntu 12.04 doesn't support 'git clone -b' boto config is not a will variable Update the source list after adding git ppa. Be able to override the docstore fully in secrets. add variables for jenkins api Tag the paver static assets task App monitoring is triggered on the _APP variable Move to using seperate definitions of the modulestore. Revert all the docstore related changes. Indicate that secret key should be changed Change to camelcase. Allow us to configure the replicaset name per modulestore. We need a default docstore config defined even when we override it. Separate the read preference per docstore. Move Shibboleth deps to edxapp_common so they'll be available on Jenkins Pull out docstore config and move modulestore config. Add publicly-accessible ecommerce URL root fix notes add twofactor configuration variables Be able to run this playbook on other clusters. Install requirements after we checkout the code. Update check-migrations.sh Update check-migrations.sh Updated the CHANGELOG Update check-migrations.sh Set notes allowed hosts to enable loadtest Update check-migrations.sh notes fixes use oraclejdk role instead of default-jre Footer configuration changes make compatible with Ubuntu 12.04 Correct notes api port Run an update before security installs. Notes role should not always run migrations default to local storage for finance reports finance reports S3 defaults Install phantomjs in the browser role reenable presupervisor migration checks sitespeed role Enable edx-notes in loadtest If you run syncdb you want to run it before you run migrate. Update the attribute. Pass the list of elbs to the asg Update the iteration to not uses dicts. Include CyberSource refund settings in ecommerce defaults Allow overriding of notes api version Fix the packer script that provisions jenkins workers Selectively copy playbook dirs to avoid broken links Install git in packer script so that the edx ansible fork can be installed via requirements.txt Initial working version of role for review username is unique and people registered with User-1 as a username auth_user.pasword is NOT NULL, you can't set it to null Support creating multiple elbs Updates to db creation playbooks. Move aws specific task to aws role. Index the jenkins master log in Splunk Don't use auth on the URL that is used for healthcheck. Fix looping over removed template The version in service-builder used a list while the one in master expected a dict. Update template. Docs and fixes Use profile for vpc creation. Remove unused PEARSON_TEST_PASSWORD setting Use double quotes everywhere. Add some documentation. Remove unused files. We hate handlers Fix per comment OPS-563: Add cassandra role Don't setup the option group but output db subnets so services can use them. Generate a varfile for use with the edx_service.yml playbook. Prep to rename the role to vpc. Remove debug lines. Add RDS subnet related logic. Add a new filter to the util map module. Move the vpc tasks to a role. Add updates to be able to get the internet gateway id as output. Use the latest version of ec2_vpc module. Remove ec2_vpc_1.8 Make the option group overridable. Provide a new option group since we're cloning between VPCs. Add apt packages required for new shibboleth implementation Add an option to override max tasks pre child for edxapp workers. Add ability to use SSL for mongo connections. Add URL root setting used to construct URLs pointing back to the service Update to the released version of ec2_scalinig_policy. Unused library. Update to latest version of ec2_lc. Update to latest version of ec2_group. Update to latest ec2_elb_lb. Move to the current version of ec2_asg. Updates to get ecom service up. Update the service play. Update to externalize route tables. Update acl comment to be more clear. Remove commented plays. Add profile to ec2_acl. Co-opt the old vpc-play to create a blank vpc with a nat and a public and private routing table. Add an alias and make sure tagging works for names even if no other tags specified. Flesh out the route table ec2 module. Add fixes for tagging and in case no rules are specified. Add gateway info is a internet gateway is created. Add the newest version of the vpc ansible module. incremental fixes adding tags to sec groups replacing symlinks initial update of entries bug fixes mostly stubbed early version works for create, not idempotent back ports for vpc early version works for create, not idempotent early version works for create, not idempotent removing uneeded coercion bug fixes cherry picking instance profile commits not yet merged upstream backporting libraries for key changes initial working service builder play removing camel case Ansible module for running functions over input from plays Delete symlinks that point to nothing. add configuration for segment.io key configure segmentIO whitelist Update to use the new fix for nonetypes. Don't need pycurl for apt_repository anymore. Update to produce a file that is only one YAML document. Remove additional ec2_elb_local references Don't output the sandbox vars in the jenkins job. Remove more old module references Removed post.txt from the list of files that will have its github urls replaced with git mirror urls. Include the sandbox vars on disk as well. Fix typo Remove custom ec2_elb modules OPS-674: Remove custom wait_for module OPS-676: Custom modules should have docs about why they changed OPS-673: Remove custom supervisorctl module OPS-676: Small doc typo fix OPS-672: Stop using custom mongodb_user module OPS-670: Stop using custom apt_repository module OPS-516: Remove unused custom ansible modules Add PayPal defaults to the ecommerce role Remove unused insights variable Fix travis. remove mlapi plays clean up out of date files we don't use these hooks this should be in tests Rename vagrant.sh to sandbox.sh Clean up out of date files Make install of post.txt optional for jenkins_worker. Don't pip install the post requirements file if it doesn't exist. Make the post requirements file optional. Add myself and Max Rename vagrant.sh to sandbox.sh Don't use checksums to bypass pip install. documentation move load-tests to a better named directory Locust role - initial commit Update cert url. Add a new url to the ecommerce app. Add Parse.com credentials for the CMS Have CMS come up on the same port as the LMS. Don't run migrations by default. Fix script to match the jenkins job. Don't make the symlink here since the file won't exist. Use ansible instead of scp. bug fixes 'vars' var doesn't work anymore. Make migration jenkins jobs track migrations in edx-private.txt Add new replicas Add tags Turn off new IDA migration checks because they aren't working correctly right now. Add cybersource urls. We don't need it as a requirement is in core as of 2.7. Use configuration template for single-instance ES deployment. Generate edxapp config files for testing. roll back hotfix file size limit Allow for some overhead in profile image uploads update maximum profile image size to fix double-upload bug Validate certs everywhere Minor update and typo fix for mariadb Fix xqueue helptext Add ecommerce, insights, and analyticsapi to pre-supervisor checks Require a newer version of pip. Update Flower to 0.8.1 Fix the callback plugin for cases where stderr is a boolean and not a string. Fix profile image backend docs Update syntax to match the new format. Minos should not be on sandboxes Don't run `/edx/bin/update` with `--tags deplay` by default. Pin the version of ansible. The short circuit logic does not work on jenkins. Convert $ var references to use jinja style references. Update to use the edx ansible fork. More clients Don't override static files. Modify ecommerce installation to reflect its subsuming of extensions Add edxapp profile image config Gather ec2 facts earlier so sandboxes know to put profile images in the right place in the bucket Correcting the flag Adding missing setting Tighten up splunk monitor recursion for jenkins TE-807 Update with latest changes on platform. Add a tag to just add users. Correct multiple conflicting payment processor settings. Update database defaults. Add and rearrange ecommerce settings. Don't terminate volumes on instance termination for now. Fix Typo. fix the FLOWER_USER modify the flower role for multiple venvs Change default gunicorn worker class. Refactor of the bastion role to be better and better named. onload performance beacon for LMS pages feature flags and rate environment Fix the git.sh path and fix a task name. A play to do what fabric currently does for the certs servers. exclude user_api from basic auth on stage Allow overriding redirect protocol security. Update AUTHORS Correct class path. Update changelog for nr workers change Add cybersource defaults. antivirus doesnt need bastion users - to _ download elasticsearch error during installation Differentiate, yaml config tasks from json tasks. fix as per comment Add overrides for two new variables. pip - wipe existing requirements on name conflict Add a setting for the heartbeat page. Override NEWRELIC_WORKERS_APPNAME for sandboxes to match others Update OIDC url root. Add necessary stuff to environment Add newrelic for all but hi-mem workers Update structure for the JWT_AUTH info. Update manage path. Collect static and compress them. Fix var name and spacing. Updates to deal with failures when testing the AMI. Update the settings needed for the ecommerce app. Make ansible-provision.sh fail on any failed ansible runs Add EDXAPP_SOCIAL_MEDIA_FOOTER_URLS setting to edxapp role typo Adding new tender setting for https://github.com/edx/edx-platform/pull/6576 Update main.yml Add an explaination to the service directory creation task. Update the requirements location. Update tasks for devstack. Update vagrant file to track the django oscar repo. Update the ecomstack playbook. Also ensure the owner and group of the root directory is correct. Update vagrantfile to use correct groups. Move ecommerce nginx template. Fix typo. Update references to the 'edx_ecommerce' vars. Update AUTHORS Update main.yml Update main.yml Move more files. Move to 'ecommerce' Add settings for the cross-domain CSRF cookie Update database settings. Fixes and updates to get the role running. removing second db. adding repo vars Adding ansible managed removing unused var Removing stubbed handler, adding ansible managed. Initial version Ansible fails in looking up keys inside the dictionary when the top level var does not exist. Only run the migration with the migration credentials. Temporarily change minos config file loc back so old instances can terminate Use Old style references for booleans. Update to use for booleans. Removing change, will resubmit separately. Include all changes in README Document COMMON_GIT_* Adjust index.conf splunk settings for jenkins monitors Add splunk forwarder role to jenkins and configure props.conf Add graphviz back since it is used by the CS188x class. add performance graphite variables video beacon feature flag and default variables Set default for GIT_REPO_EXPORT_DIR Make minos cfg location backwards-compatable Fix minos looking for its config in the wrong place Update AUTHORS Increase RAM to avoid out of memory Update configuration to CyberSource2 as the previous Hosted Order Page API is being deprecated as of 9/14 Installing OpenJDK on Insights Servers Fix xqwatcher git auth for courses Expose CORS_ORIGIN_ALLOW_ALL for testing in sandboxes Make the welcome banner say Open edX Add Birch release box files to Vagrant files Enable the `certs` NginX site on sandbox/silo config. Fix spacing. Remove unused handlers One build only. Give xqwatcher workable defaults Insights fixes Add newer roles to sandbox play Fix edxlocal analytics-api db reference per refactor Fix xqwatcher checking out code as wrong user Add a migration script for Birch ENABLE COUNTRY ACCESS Fix typo in supervisord log file names. Explicitly set MTU for interfaces to avoid jumbo frame bug. xqwatcher fixes Restart does not work update mtu Add a new insights setting. Update AUTHORS Add defaults for CORS related django settings that can be overwritten. Don't ask for input use pip instead of pip-accel for jenkins workers Port git-prune fix into edxapp Small doc fix Restart edx_notes_api at the end Updated Location of Insights manage.py Make package input to edx_service explicit Roles don't have dashes in their names anymore, so no point in converting I'm not sure how these lines got removed, but I'm re-adding them added the termination date and time as motd Use MINOS_GIT_IDENTITY, not COMMON_ Remove handlers remove venv assumptions Allow edx_service to be run without defined repos Integrate edx_service role Refactor out xqwatcher_data_dir assumption remove handlers venv stuff Integrate edx_service Add Birch RC2 to Vagrant devstack final fixups Integrate service role Remove unnecessary files Fix typo in var name. Add receipt vars to lms_env_config Modified the variable for clarity Change role name references to match new role name new var for bulk email Modifying the date format Modifying the date format Don't ask for input Update AUTHORS Fix additional occurances Update main.yml Fix reference to dashed edx_notes_api name Add creating etc and var dirs to edx_service Remove handlers/notifiers Fixes Dashes to underscores Integrated edx_service Removed unnecessary files Fix git prune issue Remove ora2_version as it is unused in configuration. New Vagrantfile and Ansible playbook for ecomstack birch-fullstack-rc1 Add birch RC1 vagrant box Fixes Adding the DATE_Time tag inside provisioning script Adding the sandbox launch time as tag Deal with the fact that the AWS API is eventually consistent. Update CHANGELOG.md Enable edxapp combined login registration feature updated edx_service doc Test with LanguageTest class; RegistrationTest class no longer exists. It works! Fixes Potentially risky dashes to underscores First pass dashes to underscores Fix edxlocal bad references to edx_notes_api Add a new param for codejail proxy but default it to off. latest Ubuntu AMIs New AMI for sandboxes with ghost patch Refactor out doubly-defined vars Fix ssh key checkout being broken apply glibc update if vulnerable to CVE-2015-0235 datadog has a new version of their agent fix the restart edxapp handler is not defined error Add the ability to embargo users based on CIDR blocks. Correct when statement for git prune Move repos data out of service_config graphviz pkg should be same for both edxapp and jenkins-worker. Jenkins-worker should be dependent on edxapp_common don't validate certs for newrelic apt key Fix git prune task failing when repo doesn't yet exist Fixes set boto version as a common variable Only notify when hipchat is setup. Define initial backoff. Also wrap the volume tagging logic in case it fails so that we are properly notified. Re-use var for JSCover version to be downloaded. Remove tag include. Don't tag xqueue since it's on the common cluster. Add a new setting for LMS_COURSE_SHORTCUT_BASE_URL Refactor git checkout into edx_service role Update Tender Domain Logic. Add JS Cover for both local dev and jenkins_worker. No longer in alpha, comments update. include git_ssh in git environment Wait up to 2 minutes for instance tags. Fix privs Grab EDXAPP_TENDER_DOMAIN configuration variable initial role Updating the AMI to one with a fixed git repo arg, typo Pruning branches first arg, typo Pruning branches first run in a shell adding she-bang debugging addtional cds Fix working dir. Need both will tokens. Use the V1 Hipchat token. Diff only jinja syntax check Grab EDXAPP_STUDIO_NAME configuration value Refactor NOTIFIER_USER to notifier_user Refactor NOTIFIER_HOME to notifier_app_dir Added standard aliases and colors to localdev bashrc & cleanup old cruft Roll notifier user into localdev role Make notifier work on defaults Add notifier to ansible-provision.sh Add a jinja2 syntax checker for Travis is this still used? Fix the thing. Update the settings for the root disk for abbey. Install and use pip-accel for jenkins workers TE-593 Fix edxapp not restarting Fix notifier role defaults never working Work for mounting currently detached volumes and inspecting them to tag them. Aadding the information to the AUTHORS file Aadding the information to the AUTHORS file Added EBS Volumes Tagging with modification Added EBS Volumes Tagging Turn off basic auth for all endpoints below '/api'. Add video upload defaults. adding helper scripts in /edx/bin added comment about package wip change the repo for certificates and fix checkout changing null defaults to empty strings to deal with ansible bug defaulting common_hostname to empty string whitespace gitreload change log entry added When overrides are set they are set by service variant name. Move gitreload to use gunicorn configuration file Reorder and use deploy.yml tasks Reference edxapp settings for repo directory Addition of gitreload role for github Web hook course imports Use common packages between edxlocal and edxapp. use var for enabled dir removing default config and restarting nginx moving sites-enabled to /etc/nginx/sites-enabled Pass the setting to edxapp env config. accidental commit fix var name. Add important =, dry out. Remove repos for courses we are about to checkout. moving cfg dir creation to deploy.yml Writes yaml files to a new directory EDXAPP_CFG_DIR Add tracking log intelligence to ELK Turn off Basic Auth for VAL API. Add a var for the new deprecated component types. DEVOPS-673 - Add configuration for a finance email New URLs Add changelog mention of gunicorn configuration file change Removing deprecated analytics roles Built in console does what we need Make vagrant.sh respect OPENEDX_RELEASE env variable Convert analytics-api gunicorn configuration to file Convert edxapp gunicorn to configuration file Convert ora gunicorn to configuration file Convert xserver gunicorn to configuration file Convert xqueue gunicorn configuration to file Allow s3sync log dir to be seen by Splunk. Don't add the backup cron if we don't want to backup adding default theme scss Segment regex reverting ae60c94 Make s3sync error message uniform. Code for uninstalling 10gen does not work always, fixed here. New AMI Adding auth back Refactoring to repair user creation Put all keys in the authorized_keys file. Added Support for Django 1.7 for Analytics API and Insights backporting latest module Compiling Insights Translations harprofiler ami creation via packer. Revert "Compiling Insights Translations" Compiling Insights Translations Harprofiler repo is now under edx. Disable test cruft. disable S3 watcher by default move venv to subdir and activate it. adding override for OAUTH_ENFORCE_SECURE Add s3 watcher plugin. Operationalize harprofiler. remote maintenance site. Added Brandon DeRosier to authors Don't restart edxapp after updating on devstack Add libjpeg-dev to edxlocal play make jump box specifiable and overridable Use boto 2.32.1 Add ability to specify custom python requirements. Conflicts: AUTHORS playbooks/roles/aws/tasks/main.yml playbooks/roles/certs/defaults/main.yml playbooks/roles/edxapp/defaults/main.yml playbooks/roles/edxapp/tasks/deploy.yml playbooks/roles/edxapp/tasks/main.yml playbooks/roles/edxapp/tasks/service_variant_config.yml playbooks/roles/insights/defaults/main.yml playbooks/roles/nginx/templates/edx/app/nginx/sites-available/lms.j2 playbooks/roles/notifier/defaults/main.yml playbooks/roles/security/tasks/security-ubuntu.yml
This pull request changes how edx-platform integrates with Tender, the support system used by studio.edx.org. With this change, website operators can set the
TENDER_DOMAINvariable to point to whatever Tender instance they want, or can leave the variable set to None (the default) to make the site not link to Tender at all.For edx.org, we will need to set
TENDER_DOMAINto"help.edge.edx.org"to preserve the same behavior that exists on the site today.