diff --git a/modules/openstack_project/manifests/ask.pp b/modules/openstack_project/manifests/ask.pp index 6753b5a2c9..e05b83f008 100644 --- a/modules/openstack_project/manifests/ask.pp +++ b/modules/openstack_project/manifests/ask.pp @@ -14,7 +14,7 @@ class openstack_project::ask ( $redis_max_memory = '512m', $redis_bind = '127.0.0.1', $solr_version = '4.10.4', - $askbot_revision = '2f59cd465a66cb8ace0db8d78953bec1e9e58d78' + $askbot_revision = '06be25e5d1aa013a9a201a92db4b35b1ee1f3d32' ) { file { '/srv/dist': @@ -114,7 +114,6 @@ class openstack_project::ask ( site_ssl_cert_file_contents => $site_ssl_cert_file_contents, site_ssl_key_file_contents => $site_ssl_key_file_contents, site_ssl_chain_file_contents => $site_ssl_chain_file_contents, - template_settings => 'openstack_project/askbot/settings.py.erb', } # askbot-theme openstack theme diff --git a/modules/openstack_project/templates/askbot/settings.py.erb b/modules/openstack_project/templates/askbot/settings.py.erb deleted file mode 100644 index c970986baf..0000000000 --- a/modules/openstack_project/templates/askbot/settings.py.erb +++ /dev/null @@ -1,431 +0,0 @@ -## Django settings for ASKBOT enabled project. -import os.path -import logging -import sys -import askbot -import site - -#this line is added so that we can import pre-packaged askbot dependencies -ASKBOT_ROOT = os.path.abspath(os.path.dirname(askbot.__file__)) -site.addsitedir(os.path.join(ASKBOT_ROOT, 'deps')) - -DEBUG = <%if @askbot_debug %>True<%else%>False<%end%> # set to True to enable debugging -TEMPLATE_DEBUG = False # keep false when debugging jinja2 templates -INTERNAL_IPS = ('127.0.0.1',) -ALLOWED_HOSTS = ['*',]#change this for better security on your site - -ADMINS = ( - ('Your Name', 'your_email@domain.com'), -) - -MANAGERS = ADMINS - -DATABASES = { - 'default': { - 'ENGINE': '<%= @db_engine %>', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. - 'NAME': '<%= @db_name %>', # Or path to database file if using sqlite3. - 'USER': '<%= @db_user %>', # Not used with sqlite3. - 'PASSWORD': '<%= @db_password %>', # Not used with sqlite3. - 'HOST': '<%= @db_host %>', # Set to empty string for localhost. Not used with sqlite3. - 'PORT': '', # Set to empty string for default. Not used with sqlite3. - 'TEST_CHARSET': 'utf8', # Setting the character set and collation to utf-8 - 'TEST_COLLATION': 'utf8_general_ci', # is necessary for MySQL tests to work properly. - } -} - -#outgoing mail server settings -SERVER_EMAIL = 'noreply@openstack.org' -DEFAULT_FROM_EMAIL = 'noreply@openstack.org' -EMAIL_HOST_USER = '' -EMAIL_HOST_PASSWORD = '' -EMAIL_SUBJECT_PREFIX = '' -EMAIL_HOST='<%= @smtp_host %>' -EMAIL_PORT='<%= @smtp_port %>' -EMAIL_USE_TLS=False -#EMAIL_BACKEND = 'django.core.mail.backends.dummy.EmailBackend' -EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' - -#incoming mail settings -#after filling out these settings - please -#go to the site's live settings and enable the feature -#"Email settings" -> "allow asking by email" -# -# WARNING: command post_emailed_questions DELETES all -# emails from the mailbox each time -# do not use your personal mail box here!!! -# -IMAP_HOST = '' -IMAP_HOST_USER = '' -IMAP_HOST_PASSWORD = '' -IMAP_PORT = '' -IMAP_USE_TLS = False - -# Local time zone for this installation. Choices can be found here: -# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name -# although not all choices may be available on all operating systems. -# On Unix systems, a value of None will cause Django to use the same -# timezone as the operating system. -# If running in a Windows environment this must be set to the same as your -# system time zone. -TIME_ZONE = 'America/Chicago' - -SITE_ID = 1 - -# If you set this to False, Django will make some optimizations so as not -# to load the internationalization machinery. -USE_I18N = True -LANGUAGE_CODE = 'en' - -# Absolute path to the directory that holds uploaded media -# Example: "/home/media/media.lawrence.com/" -#MEDIA_ROOT = os.path.join(os.path.dirname(__file__), 'askbot', 'upfiles') -MEDIA_ROOT = '/srv/askbot-site/upfiles' -MEDIA_URL = '/upfiles/' -STATIC_URL = '/m/'#this must be different from MEDIA_URL - -PROJECT_ROOT = os.path.dirname(__file__) -STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static') - -# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a -# trailing slash. -# Examples: "http://foo.com/media/", "/media/". -ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/' - -# Make up some unique string, and don't share it with anybody. -SECRET_KEY = '44fb9b7219e3743bffabb6861cbc9a28' - -# List of callables that know how to import templates from various sources. -TEMPLATE_LOADERS = ( - 'askbot.skins.loaders.Loader', - 'askbot.skins.loaders.JinjaAppDirectoryLoader', - 'django.template.loaders.app_directories.Loader', - 'django.template.loaders.filesystem.Loader', - #'django.template.loaders.eggs.load_template_source', -) - - -MIDDLEWARE_CLASSES = ( - #'django.middleware.gzip.GZipMiddleware', - #'askbot.middleware.locale.LocaleMiddleware', - 'django.middleware.locale.LocaleMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - #'django.middleware.cache.UpdateCacheMiddleware', - 'django.middleware.common.CommonMiddleware', - #'django.middleware.cache.FetchFromCacheMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'stopforumspam.middleware.StopForumSpamMiddleware', - #'django.middleware.sqlprint.SqlPrintingMiddleware', - - #below is askbot stuff for this tuple - 'askbot.middleware.anon_user.ConnectToSessionMessagesMiddleware', - 'askbot.middleware.forum_mode.ForumModeMiddleware', - 'askbot.middleware.cancel.CancelActionMiddleware', - 'django.middleware.transaction.TransactionMiddleware', - #'debug_toolbar.middleware.DebugToolbarMiddleware', - 'askbot.middleware.view_log.ViewLogMiddleware', - 'askbot.middleware.spaceless.SpacelessMiddleware', - 'askbot.middleware.csrf.CsrfViewMiddleware', -) - - - -ROOT_URLCONF = os.path.basename(os.path.dirname(__file__)) + '.urls' - - -#UPLOAD SETTINGS -FILE_UPLOAD_TEMP_DIR = os.path.join( - os.path.dirname(__file__), - 'tmp' - ).replace('\\','/') - -FILE_UPLOAD_HANDLERS = ( - 'django.core.files.uploadhandler.MemoryFileUploadHandler', - 'django.core.files.uploadhandler.TemporaryFileUploadHandler', -) -ASKBOT_ALLOWED_UPLOAD_FILE_TYPES = ('.jpg', '.jpeg', '.gif', '.bmp', '.png', '.tiff') -ASKBOT_MAX_UPLOAD_FILE_SIZE = 1024 * 1024 #result in bytes -DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage' - - -#TEMPLATE_DIRS = (,) #template have no effect in askbot, use the variable below -#ASKBOT_EXTRA_SKINS_DIR = #path to your private skin collection -#take a look here http://askbot.org/en/question/207/ - -<% if @custom_theme_enabled %> -ASKBOT_EXTRA_SKINS_DIR = '<%= @site_root %>/themes' -<% end %> - -TEMPLATE_CONTEXT_PROCESSORS = ( - 'django.core.context_processors.request', - 'askbot.context.application_settings', - #'django.core.context_processors.i18n', - 'askbot.user_messages.context_processors.user_messages',#must be before auth - 'django.contrib.auth.context_processors.auth', #this is required for the admin app - 'django.core.context_processors.csrf', #necessary for csrf protection - 'askbot.deps.group_messaging.context.group_messaging_context', -) - - -INSTALLED_APPS = ( - 'longerusername', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.sites', - 'django.contrib.staticfiles', - - #all of these are needed for the askbot - 'django.contrib.admin', - 'django.contrib.humanize', - 'django.contrib.sitemaps', - 'django.contrib.messages', - #'debug_toolbar', -<% if @solr_enabled %> - #Optional, to enable haystack search - 'haystack', -<% end %> - 'compressor', - 'askbot', - 'askbot.deps.django_authopenid', - #'askbot.importers.stackexchange', #se loader - 'south', - 'askbot.deps.livesettings', - 'keyedcache', - 'robots', - 'django_countries', - 'djcelery', - 'djkombu', - 'followit', - 'tinymce', - 'group_messaging', - 'captcha', - #'avatar',#experimental use git clone git://github.com/ericflo/django-avatar.git$ -) - - -NOCAPTCHA = True - -#setup memcached for production use! -#see http://docs.djangoproject.com/en/1.1/topics/cache/ for details -CACHE_BACKEND = 'locmem://' - -#needed for django-keyedcache -CACHE_TIMEOUT = 6000 -#sets a special timeout for livesettings if you want to make them different -LIVESETTINGS_CACHE_TIMEOUT = CACHE_TIMEOUT -#CACHE_PREFIX = 'askbot' #make this unique -CACHE_MIDDLEWARE_ANONYMOUS_ONLY = True -#If you use memcache you may want to uncomment the following line to enable memcached based sessions -#SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db' - -<% if @redis_enabled %> -CACHES = { - 'default': { - 'BACKEND': 'redis_cache.RedisCache', - 'LOCATION': '<%= @redis_bind %>:<%= @redis_port %>', - 'KEY_PREFIX': '<%= @redis_prefix %>', #make unique same as db - 'OPTIONS': { - 'DB': 1, - 'PASSWORD': '<%= @redis_password %>', - # 'PARSER_CLASS': 'redis.connection.HiredisParser' - } - } -} -<%end%> - -AUTHENTICATION_BACKENDS = ( - 'django.contrib.auth.backends.ModelBackend', - 'askbot.deps.django_authopenid.backends.AuthBackend', -) - -#logging settings -LOG_FILENAME = 'askbot.log' -logging.basicConfig( - filename=os.path.join('<%= @site_root %>/log', LOG_FILENAME), - level=logging.CRITICAL, - format='%(pathname)s TIME: %(asctime)s MSG: %(filename)s:%(funcName)s:%(lineno)d %(message)s', -) - -########################### -# -# this will allow running your forum with url like http://site.com/forum -# -# ASKBOT_URL = 'forum/' -# -ASKBOT_URL = '' #no leading slash, default = '' empty string -ASKBOT_TRANSLATE_URL = False #translate specific URLs -_ = lambda v:v #fake translation function for the login url -LOGIN_URL = '/%s%s%s' % (ASKBOT_URL,_('account/'),_('signin/')) -LOGIN_REDIRECT_URL = ASKBOT_URL #adjust, if needed -#note - it is important that upload dir url is NOT translated!!! -#also, this url must not have the leading slash -ALLOW_UNICODE_SLUGS = False -ASKBOT_USE_STACKEXCHANGE_URLS = False #mimic url scheme of stackexchange - -#Celery Settings -BROKER_TRANSPORT = "djkombu.transport.DatabaseTransport" -CELERY_ALWAYS_EAGER = False - -import djcelery -djcelery.setup_loader() -DOMAIN_NAME = '' - -CSRF_COOKIE_NAME = '_csrf' -#https://docs.djangoproject.com/en/1.3/ref/contrib/csrf/ -#CSRF_COOKIE_DOMAIN = DOMAIN_NAME - -STATIC_ROOT = os.path.join(PROJECT_ROOT, "static") -STATIC_ROOT = '<%= @site_root %>/static' -STATICFILES_DIRS = ( - ('default/media', os.path.join(ASKBOT_ROOT, 'media')), - <% if @custom_theme_enabled %>'<%= @site_root %>/themes',<% end %> -) -STATICFILES_FINDERS = ( - 'django.contrib.staticfiles.finders.FileSystemFinder', - 'django.contrib.staticfiles.finders.AppDirectoriesFinder', - 'compressor.finders.CompressorFinder', -) - -RECAPTCHA_USE_SSL = True - -#HAYSTACK_SETTINGS -ENABLE_HAYSTACK_SEARCH = False -#Uncomment for multilingual setup: -#HAYSTACK_ROUTERS = ['askbot.search.haystack.routers.LanguageRouter',] - -#Uncomment if you use haystack -#More info in http://django-haystack.readthedocs.org/en/latest/settings.html -#HAYSTACK_CONNECTIONS = { -# 'default': { -# 'ENGINE': 'haystack.backends.simple_backend.SimpleEngine', -# } -#} - -<% if @solr_enabled %> -#HAYSTACK_SETTINGS -# -# Notice: -# the default and default_en url must match to avoid a bug -# in r0.7.53 that broke the working model of UI search and -# cli indexing. -ENABLE_HAYSTACK_SEARCH = True - -HAYSTACK_ROUTERS = ['askbot.search.haystack.routers.LanguageRouter',] - -HAYSTACK_CONNECTIONS = { - 'default': { - 'ENGINE': 'haystack.backends.solr_backend.SolrEngine', - 'URL': 'http://127.0.0.1:8983/solr/core-en' - }, - 'default_en': { - 'ENGINE': 'haystack.backends.solr_backend.SolrEngine', - 'URL': 'http://127.0.0.1:8983/solr/core-en' - }, - 'default_zh': { - 'ENGINE': 'haystack.backends.solr_backend.SolrEngine', - 'URL': 'http://127.0.0.1:8983/solr/core-zh' - }, -} - -HAYSTACK_SIGNAL_PROCESSOR = 'askbot.search.haystack.signals.AskbotRealtimeSignalProcessor' -<% end %> - - -TINYMCE_COMPRESSOR = True -TINYMCE_SPELLCHECKER = False -TINYMCE_JS_ROOT = os.path.join(STATIC_ROOT, 'default/media/tinymce/') -#TINYMCE_JS_URL = STATIC_URL + 'default/media/js/tinymce/tiny_mce.js' -TINYMCE_DEFAULT_CONFIG = { - 'plugins': 'askbot_imageuploader,askbot_attachment', - 'convert_urls': False, - 'theme': 'advanced', - 'content_css': STATIC_URL + 'default/media/style/tinymce/content.css', - 'force_br_newlines': True, - 'force_p_newlines': False, - 'forced_root_block': '', - 'mode' : 'textareas', - 'oninit': "TinyMCE.onInitHook", - 'plugins': 'askbot_imageuploader,askbot_attachment', - 'theme_advanced_toolbar_location' : 'top', - 'theme_advanced_toolbar_align': 'left', - 'theme_advanced_buttons1': 'bold,italic,underline,|,bullist,numlist,|,undo,redo,|,link,unlink,askbot_imageuploader,askbot_attachment', - 'theme_advanced_buttons2': '', - 'theme_advanced_buttons3' : '', - 'theme_advanced_path': False, - 'theme_advanced_resizing': True, - 'theme_advanced_resize_horizontal': False, - 'theme_advanced_statusbar_location': 'bottom', - 'width': '730', - 'height': '250' -} - -LIVESETTINGS_OPTIONS = { - 1: { - 'DB': True, - 'SETTINGS': { - 'GENERAL_SKIN_SETTINGS': { - <% if @custom_theme_enabled %> - 'ASKBOT_DEFAULT_SKIN': '<%= @custom_theme_name %>', - <%end%> - 'SHOW_LOGO': True - }, - 'LOGIN_PROVIDERS': { - 'SIGNIN_MOZILLA_PERSONA_ENABLED': False, - 'SIGNIN_ALWAYS_SHOW_LOCAL_LOGIN': False, - 'SIGNIN_LOCAL_ENABLED': False, - 'SIGNIN_AOL_ENABLED': False, - 'SIGNIN_LIVEJOURNAL_ENABLED': False, - 'SIGNIN_VERISIGN_ENABLED': False, - 'SIGNIN_IDENTI.CA_ENABLED': False, - 'SIGNIN_WORDPRESS_ENABLED': False, - 'SIGNIN_CLAIMID_ENABLED': False, - 'SIGNIN_TECHNORATI_ENABLED': False, - 'SIGNIN_TWITTER_ENABLED': False, - 'SIGNIN_VIDOOP_ENABLED': False, - 'SIGNIN_BLOGGER_ENABLED': False, - 'SIGNIN_LINKEDIN_ENABLED': False, - 'SIGNIN_FLICKR_ENABLED': False, - 'SIGNIN_FACEBOOK_ENABLED': False, - 'SIGNIN_LAUNCHPAD_ENABLED': True, - 'SIGNIN_OPENID_ENABLED': True - } - }, - } -} - -#delayed notifications, time in seconds, 15 mins by default -NOTIFICATION_DELAY_TIME = 60 * 15 - -GROUP_MESSAGING = { - 'BASE_URL_GETTER_FUNCTION': 'askbot.models.user_get_profile_url', - 'BASE_URL_PARAMS': {'section': 'messages', 'sort': 'inbox'} -} - -ASKBOT_LANGUAGE_MODE = 'url-lang' - -LANGUAGES = ( - ('en', 'English'), - ('zh', 'Chinese'), -) -COUNTRY_CODES = { - 'en': 'us', - 'zh': 'cn', -} - -ASKBOT_CSS_DEVEL = False -if 'ASKBOT_CSS_DEVEL' in locals() and ASKBOT_CSS_DEVEL == True: - COMPRESS_PRECOMPILERS = ( - ('text/less', 'lessc {infile} {outfile}'), - ) - -COMPRESS_JS_FILTERS = [] -COMPRESS_PARSER = 'compressor.parser.HtmlParser' -JINJA2_EXTENSIONS = ('compressor.contrib.jinja2ext.CompressorExtension',) -JINJA2_TEMPLATES = ('captcha',) - -# Use syncdb for tests instead of South migrations. Without this, some tests -# fail spuriously in MySQL. -SOUTH_TESTS_MIGRATE = False - -VERIFIER_EXPIRE_DAYS = 3