integration with aquarium: Progress III & merge master
[astakos] / snf-astakos-app / README
index 8b13789..f639196 100644 (file)
@@ -1 +1,94 @@
+README
+======
 
+Astakos is an identity management service, built by GRNET using Django (https://www.djangoproject.com/).
+Learn more about Astakos at: http://code.grnet.gr/projects/astakos
+
+Consult COPYRIGHT for licensing information.
+
+About Astakos application
+-------------------------
+
+This package contains the Django application that implements all identity management functions.
+
+How to run
+----------
+
+Use snf-webproject to run Astakos automatically.
+
+To use Astakos in a custom Django project, add ``astakos.im`` to ``INSTALLED_APPS``. Astakos requires South (http://south.aeracode.org/).
+
+Also, add the following to your ``settings.py``::
+
+    TEMPLATE_CONTEXT_PROCESSORS = (
+        ...
+        'astakos.im.context_processors.cloudbar',
+        'astakos.im.context_processors.im_modules',
+        'astakos.im.context_processors.next',
+        'astakos.im.context_processors.code',
+        'astakos.im.context_processors.invitations')
+    
+    AUTHENTICATION_BACKENDS = ('astakos.im.auth_backends.EmailBackend',
+                               'astakos.im.auth_backends.TokenBackend')
+    
+    CUSTOM_USER_MODEL = 'astakos.im.AstakosUser'
+    
+    LOGIN_URL = '/im'
+
+Settings
+--------
+
+Configure in ``settings.py`` or a ``.conf`` file in ``/etc/synnefo`` if using snf-webproject.
+
+==============================      =============================================================================   ===========================================================================================
+Name                                Default value                                                                   Description
+==============================      =============================================================================   ===========================================================================================
+ASTAKOS_AUTH_TOKEN_DURATION         one month                                                                       Expiration time of newly created auth tokens
+ASTAKOS_TWITTER_KEY                                                                                                 Twitter ``oauth_token``
+ASTAKOS_TWITTER_SECRET                                                                                              Twitter ``oauth_token_secret``
+ASTAKOS_DEFAULT_USER_LEVEL          4                                                                               Default (not-invited) user level
+ASTAKOS_INVITATIONS_PER_LEVEL       {0:100, 1:2, 2:0, 3:0, 4:0}                                                     Number of user invitations per user level
+ASTAKOS_DEFAULT_FROM_EMAIL          GRNET Cloud <no-reply\@grnet.gr>                                                ``from`` parameter passed in ``django.core.mail.send_mail``
+ASTAKOS_DEFAULT_CONTACT_EMAIL       support\@cloud.grnet.gr                                                         Contact email
+ASTAKOS_DEFAULT_ADMIN_EMAIL         support\@cloud.grnet.gr                                                         Administrator email to receive user creation notifications (if None disables notifications)
+ASTAKOS_IM_MODULES                  ['local', 'twitter', 'shibboleth']                                              Signup modules
+ASTAKOS_FORCE_PROFILE_UPDATE        True                                                                            Force user profile verification
+ASTAKOS_INVITATIONS_ENABLED         True                                                                            Enable invitations
+ASTAKOS_COOKIE_NAME                 _pithos2_a                                                                      ``Key`` parameter passed in ``django.http.HttpResponse.set_cookie``
+ASTAKOS_COOKIE_DOMAIN               None                                                                            ``Domain`` parameter passed in ``django.http.HttpResponse.set_cookie``
+ASTAKOS_COOKIE_SECURE               True                                                                            ``Secure`` parameter passed in ``django.http.HttpResponse.set_cookie``
+ASTAKOS_IM_STATIC_URL               /static/im/                                                                     URL to use when referring to static files
+ASTAKOS_MODERATION_ENABLED          True                                                                            If False and invitations are not enabled newly created user will be automatically accepted
+ASTAKOS_BASEURL                     \http://pithos.dev.grnet.gr                                                     Astakos baseurl
+ASTAKOS_SITENAME                    GRNET Cloud                                                                     Service name that appears in emails
+ASTAKOS_CLOUD_SERVICES              ({'icon': 'home-icon.png', 'id': 'cloud', 'name': 'grnet cloud', 'url': '/'},   Cloud services appear in the horizontal bar
+                                    {'id': 'okeanos', 'name': 'cyclades', 'url': '/okeanos.html'},                  
+                                    {'id': 'pithos', 'name': 'pithos+', 'url': '/ui/'})                             
+ASTAKOS_RECAPTCHA_PUBLIC_KEY                                                                                        Recaptcha public key obtained after registration here: http://recaptcha.net
+ASTAKOS_RECAPTCHA_PRIVATE_KEY                                                                                       Recaptcha private key obtained after registration here: http://recaptcha.net
+ASTAKOS_RECAPTCHA_OPTIONS           {'theme': 'white'}                                                              Options for customizing reCAPTCHA look and feel
+                                                                                                                    (see: http://code.google.com/intl/el-GR/apis/recaptcha/docs/customization.html)
+ASTAKOS_LOGOUT_NEXT                                                                                                 Where the user should be redirected after logout
+                                                                                                                    (if not set and no next parameter is defined it renders login page with message)
+ASTAKOS_BILLING_FIELDS              ['id', 'is_active', 'provider', 'third_party_identifier']                       AstakosUser fields to propagate in the billing system
+ASTAKOS_QUEUE_CONNECTION                                                                                            The queue connection ex. 'rabbitmq://guest:guest@localhost:5672/astakos.userEvent.#'
+                                                                                                                    (if it is not set, it does not send messages)
+==============================      =============================================================================   ===========================================================================================
+
+Administrator functions
+-----------------------
+
+Available as extensions to Django's command-line management utility:
+
+===============  ===========================
+Name             Description
+===============  ===========================
+activateuser     Activates one or more users
+createuser       Create a user
+inviteuser       Invite a user
+listinvitations  List invitations
+listusers        List users
+modifyuser       Modify a user's attributes
+showinvitation   Show invitation info
+showuser         Show user info
+===============  ===========================