Skip to content

Commit

Permalink
Merge branch '654-disable-activity-streams-via-config'
Browse files Browse the repository at this point in the history
  • Loading branch information
amercader committed Mar 21, 2013
2 parents dfb0866 + f1a5f76 commit 78314a4
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 2 deletions.
8 changes: 8 additions & 0 deletions ckan/lib/activity_streams_session_extension.py
@@ -1,7 +1,11 @@
from pylons import config
from sqlalchemy.orm.session import SessionExtension
from paste.deploy.converters import asbool
import logging

logger = logging.getLogger(__name__)


def activity_stream_item(obj, activity_type, revision, user_id):
method = getattr(obj, "activity_stream_item", None)
if callable(method):
Expand All @@ -11,6 +15,7 @@ def activity_stream_item(obj, activity_type, revision, user_id):
"activity_stream_item() method, it must not be a package.")
return None


def activity_stream_detail(obj, activity_id, activity_type):
method = getattr(obj, "activity_stream_detail",
None)
Expand All @@ -21,6 +26,7 @@ def activity_stream_detail(obj, activity_id, activity_type):
"activity_stream_detail() method.")
return None


class DatasetActivitySessionExtension(SessionExtension):
"""Session extension that emits activity stream activities for packages
and related objects.
Expand All @@ -36,6 +42,8 @@ class DatasetActivitySessionExtension(SessionExtension):
"""
def before_commit(self, session):
if not asbool(config.get('ckan.activity_streams_enabled', 'true')):
return

session.flush()

Expand Down
5 changes: 5 additions & 0 deletions ckan/logic/action/create.py
@@ -1,5 +1,7 @@
import logging
from pylons import config
from pylons.i18n import _
from paste.deploy.converters import asbool

import ckan.new_authz as new_authz
import ckan.lib.plugins as lib_plugins
Expand Down Expand Up @@ -889,6 +891,9 @@ def activity_create(context, activity_dict, ignore_auth=False):
:rtype: dictionary
'''
if not asbool(config.get('ckan.activity_streams_enabled', 'true')):
return

model = context['model']

# Any revision_id that the caller attempts to pass in the activity_dict is
Expand Down
6 changes: 5 additions & 1 deletion ckan/tests/functional/api/test_activity.py
Expand Up @@ -13,7 +13,10 @@
logger = logging.getLogger(__name__)

import pylons.test
from pylons import config
from paste.deploy.converters import asbool
import paste.fixture
from nose import SkipTest
from ckan.common import json


Expand Down Expand Up @@ -170,9 +173,10 @@ def find_new_activities(before, after):


class TestActivity:

@classmethod
def setup_class(self):
if not asbool(config.get('ckan.activity_streams_enabled', 'true')):
raise SkipTest('Activity streams not enabled')
import ckan
import ckan.model as model
ckan.tests.CreateTestData.create()
Expand Down
8 changes: 7 additions & 1 deletion ckan/tests/functional/test_activity.py
@@ -1,7 +1,11 @@
from pylons import config
from pylons.test import pylonsapp
from paste.deploy.converters import asbool
import paste.fixture
import ckan
from routes import url_for
from nose import SkipTest

import ckan
from ckan.logic.action.create import package_create, user_create, group_create
from ckan.logic.action.create import follow_dataset, follow_user
from ckan.logic.action.update import package_update, resource_update
Expand All @@ -18,6 +22,8 @@ class TestActivity(HtmlCheckMethods):
"""
@classmethod
def setup(cls):
if not asbool(config.get('ckan.activity_streams_enabled', 'true')):
raise SkipTest('Activity streams not enabled')
ckan.tests.CreateTestData.create()
cls.sysadmin_user = ckan.model.User.get('testsysadmin')
cls.app = paste.fixture.TestApp(pylonsapp)
Expand Down
17 changes: 17 additions & 0 deletions doc/configuration.rst
Expand Up @@ -233,6 +233,23 @@ CKAN operates a delegated authentication model based on `OpenID <http://openid.n

Setting this option to False turns off OpenID for login.

Activity Streams Settings
-----------------------

.. index::
single: ckan.activity_streams_enabled

ckan.activity_streams_enabled
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Example::

ckan.activity_streams_enabled = False

Default value: ``True``

Turns on and off the activity streams used to track changes on datasets, groups, users, etc


.. _config-i18n:

Expand Down

0 comments on commit 78314a4

Please sign in to comment.