############################################################# # Amplee offers a way to create the structure of your APP # store via a configuration file. # # Settings defined here will be interpreted by amplee and # will result into a store and its children being created. # # The present file describe all the different options # you can use for amplee 0.5.x # Most of the time you won't need all of them. # # Most keys that require a path ask for an absolute one. If # you prefer relatives, then set them all relative and pass # the base path to the loader method. # # For each parameter that has a default value, this page # displays it as the value for each key. # ############################################################# ############################################################# # Storage configuration ############################################################# ## File system storage [fs_storage] # Absolute path to the root directory used for this storage base_path = # Shall we use thread locking? enable_lock = False # How to encode path elements encoding = utf-8 ## Subversion storage [svn_storage] # You can create a repo via: svnadmin create /absolute/path/to/repo # Absolute URI to the main subversion repo repository_uri = file:///... or http://... # Working copy absolute path of the repository working_copy_path = username = None password = None ## ZODB storage [zodb_storage] # 'filestorage' or 'clientstorage' fs_type = # Like the file-system storage requires a top-level directory # the ZODB one requires a top level node # name of the top-level node for this store top_level_node_name = # Absolute path to the fs db if you use File Storage fs_path = # Address of the ZEO server if you use Client Storage # hostname, port address = ## dejavu storage [dejavu_storage] # http://projects.amor.org/docs/dejavu/storage.html # Type of database to use db_type = # Next you need to use the configuration keys # defined in http://projects.amor.org/docs/dejavu/storage.html # for each storage type ... # By default the loader uses lower keys but some of the # config keys of dejavu must be capitalized, to enable this # simply set the following value to True capitalize = True encoding = ISO-8859-1 ## Amazon S3 storage [s3_storage] # Your public access key access_key = # Your private key private_key = # Prefix used internally by amplee for each bucket it will # create on the S3 server # Make sure this is unique as you can to avoid conflict bucket_unique_prefix = encoding = utf-8 # Character sperator between the collection name and each # bucket in this collection separator = _ # If you don't want to provide the keys via the config file # you can set this parameter to a callable that will be # applied by amplee to load the keys from a file. # The callable must return a tuple of the (public, private) keys. # Ex: module:somepackage/somemodule,callable:lookup_keys aws_key_lookup = None # The previous callable takes one single parameter which is the # path of the file containing the keys aws_file_path = None ## Tarfile storage [tar_storage] # Absolute path to the root directory used for this storage base_path = # Which compression to use: gz, bz2 or None compression = gz # How to encode path elements encoding = utf-8 ############################################################# # Store configuration ############################################################# # [store] # Should we use thread locking on the store, 0 if not enable_lock = True # Which storage type to use for member and media resources # for example: fs_storage # Both can be different. If media_storage is not set it will # use the same storage as member_storage. member_storage = media_storage = # Comma separated list of section names matching workspaces workspaces = # If you want memcache proxying sypport just uncomment # the following line and set the list of servers # separated by a comma # member_storage_memcached = 127.0.0.1:11211 # media_storage_memcached = 192.168.1.46:4678 ############################################################# # Service configuration ############################################################# [service] # XML attributes to set at the app:service document level # For example: base,http://localhost:8080/;lang,en-US xml_attrs = # URI or path to an XSLT resource that will be inserted # to the app:service document via a processing instruction xslt_path = None # This is an optional parameter that needs to be set when # your application uses amplee.pastify path_info = ############################################################# # Workspaces configuration ############################################################# [ws0] # Internal name used by amplee to identify given workspace # this should be unique and usually ASCII only name = # Title used within the APP service document title = # XML attributes to set at the app:workspace document level # For example: base,http://localhost:8080/;lang,en-US xml_attrs = # Comma separated list of section names of collections # attached to this workspace collections = ############################################################# # Collections configuration ############################################################# [col0] # Internal unique name to identify the collection name = # Public title of this collection title = # Absolute or relative base URI used by the atom:content # element when dealing with out of line content as well # as with links different from rel="edit" or rel="edit-media" base_uri = # Absolute or relative base URI used by the rel="edit" link # of members base_edit_uri = # Absolute or relative base URI used by the rel="edit-media" # link of media members # If not provided it defaults to base_edit_uri base_media_edit_uri = None # Comma separated list of media-types that this collection # can handle accept_media_types = # It may happen that your apllication can handle more # media-types on edition (eg PUT requests) than it advertize # with the app:accept element. In that case you simply # set the following to a comma separated list of additional # media-types. That way amplee will not reject requests # with those content-types on PUT requests editable_media_types = None # Default member resource media-type member_media_type = application/atom+xml;type=entry # Member resource default extension member_media_extension = atom # If True indicates that this collection will be the # most favorite within the workspace and will therefore # appear first in the XML representation of the workspace favorite = False # Comma separated list of terms that will be mapped to # atom:category elements. categories = # Set to True to push amplee to reject all members that do # not have at least one of the categories listed above fixed_categories = False # By setting this value to True you inform amplee # it should deny all POST requests while allowing the other # requests type. read_only = False # semi-comma seperated list of tuples for attributes belonging to # the xml namespace, for example: # base,http://host/;lang,en xml_attrs = # Should the internal of each collection be activated? enable_cache = True # Should the collection members be reloaded at startup? reload_members = False # Amplee holds tow feeds for each collection, the collection feed # and the public feed. The latter is constructed from the former # The following is a callable that takes a MemberResource parameter # and must return a bridge.Element instance of the entry as it should # be inserted into the public feed. Basically this callable # should transform a member resource into a more publicly faced entry. # Ex: module:somepackage/somemodule,callable:make_public public_feed_entry_processor = None # In addition this should be a callable that takes a bridge.Document instance # and returns it transformed accordingly. This is interesting if you want to # insert some extra elements into the public feed when it is generated by amplee. public_feed_post_processor = None # URI or path to an XSLT resource that will be inserted as a processing instruction # into the public feed public_feed_xslt_path = None # Same as above but for the collection feed collection_feed_xslt_path # This is an optional parameter that needs to be set when # your application uses amplee.pastify path_info = # Media-type handlers for this collection handlers = ############################################################# # Handlers configuration ############################################################# [hd0] # Media-type media_type = # Name of the class handler handler_class = # Absolute path to the module containing the handler class # (without the .py) handler_module = # Absolute dotted path to the class member # Built-in member classes can be shortcut as follow: # member_class = builtin:name_of_builtin_module # eg: builtin:atom or somepackage/somemodule member_class = # Absolute path to the module holding the member class # (without the .py) member_module = # The name of member type section as explained below member_type = ############################################################# # Member type configuration ############################################################# [mt0] # A member type is simply a way to pass objects (can be # simple values like int, string or even Python callables) # to the member class when it is instanciated by amplee # The pairs in this section will be passed to the # amplee.handler.MemberType.params instance and will # therefore be available in your handlers.
