| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | 
							- .. spelling::
 - 
 -     Memcached
 -     Redis
 -     Sorl
 - 
 - ===============
 - Deploying Oscar
 - ===============
 - 
 - Oscar is a just a set of Django apps - it doesn't have any special deployment
 - requirements. That means the excellent Django docs for `deployment`_ should be
 - your first stop. This page adds some additional tips based on experience gained
 - from running Oscar projects.
 - 
 - Performance
 - -----------
 - 
 - Setting up caching is crucial for a good performance. Oscar's templates are
 - split into many partials, hence it is recommended to use the
 - `cached template loader`_. Sorl also will hit your database hard if you run it
 - without a cache backend.
 - 
 - If your memory constraints are tight and you can only run one Python worker,
 - LocMemCache will usually outperform external cache backends due to the lower
 - overhead. But once you can scale beyond one worker, it might make good sense to
 - switch to something like Memcached or Redis.
 - 
 - Blocking in views should be avoided if possible. That is especially true for
 - external API calls and sending emails. Django's supports different email
 - backends to allow for switching out the blocking SMTP backend to a custom
 - non-blocking solution.  Possible options are storing emails in a database or
 - cache for later consumption or triggering an external worker, e.g. via
 - `django-celery`_. `django_post-office`_ works nicely.
 - 
 - For backwards-compatibility reasons, Django doesn't enable database connection
 - pooling by default. Performance is likely to improve when enabled.
 - 
 - Security
 - --------
 - 
 - Oscar relies on the Django framework for security measures and therefore no
 - Oscar specific configurations with regard to security are in place. See
 - `Django's guidelines for security`_ for more information.
 - 
 - `django-secure`_ is a nice app that comes with a few sanity checks for
 - deployments behind SSL.
 - 
 - Search Engine Optimisation
 - --------------------------
 - 
 - A basic example of what a sitemap for Oscar could look like has been added
 - to the sandbox site. Have a look at ``sandbox/urls.py`` for inspiration.
 - 
 - .. _deployment: https://docs.djangoproject.com/en/stable/howto/deployment/
 - .. _`Django's guidelines for security`: https://docs.djangoproject.com/en/stable/topics/security/
 - .. _`cached template loader`: https://docs.djangoproject.com/en/stable/ref/templates/api/#django.template.loaders.cached.Loader
 - .. _django-celery: http://www.celeryproject.org/
 - .. _django-secure: https://pypi.python.org/pypi/django-secure
 - .. _django_post-office: https://github.com/ui/django-post_office
 
 
  |