# sakai.properties - documentation version provided as a reference # for the default configuration you may examine kernel/trunk/component-manager/src/main/bundle/org/sakaiproject/config/sakai.properties # for fuller explanations of settings, see docs/architecture/sakai_properties.doc # INSTITUTION "PERSONALIZATION" # identify your application server with a short name, unique among the servers in your cluster. # choose a server id even if you are running a single app server serverId=localhost # the URL to the server, including transport, DNS name, and port, if any serverUrl=http://localhost:8080 # the DNS name of the server serverName=localhost # the default skin name, and the URL path (relative is ok) to the collection of skins skin.default=default skin.repo=/library/skin # locations of info pages to display for server, myworkspace, and unconfigured web content server.info.url=/library/content/server_info.html myworkspace.info.url=/library/content/myworkspace_info.html webcontent.instructions.url=/library/content/webcontent_instructions.html webdav.instructions.url=/library/content/webdav_instructions.html # enable/disable presence display in the portal: always / never / true / false # if true or false, site presence display may be overwritten by the site property value "display-users-present" (true or false) display.users.present=false # some fill-ins for the css/vm ui (Worksite Setup, Digest Service, Email notification, Worksite Setup, Contact Support, Portal) ui.institution = Your Institution ui.service = LocalSakaiName # Version # Format: ${ui.service} - ${version.service} - Sakai ${version.sakai} (kernel: ${version.kernel}) - Server ${serverId} # version.service=your local name for Sakai (e.g., bspace, ctools, oncourse, vula) # version.sakai=the version of Sakai you are running (e.g., 2.5.6, 2.6.2, 2.7.0) version.service=RELEASE version.sakai=2.7.x version.kernel=1.1.9 # Links placed on the bottom nav - set the .count to the number of items, then add each item bottomnav.count=2 bottomnav.1=Gateway bottomnav.2=The Sakai Project # Powered by assertion placed at the bottom of the portal. powered.url.count=1 powered.url.1=http://sakaiproject.org powered.img.count=1 powered.img.1=/library/image/sakai_powered.gif powered.alt.count=1 powered.alt.1=Powered by Sakai # Copyright statement bottom.copyrighttext=Copyright 2003-2010 The Sakai Foundation. All rights reserved. Portions of Sakai are copyrighted by other parties as described in the Acknowledgments screen. # Version information to appear at the bottom of each page. # Format: ${version.service} - Sakai ${version.sakai} - Server ${serverName} # version.service = your local name for Sakai (e.g., CTools, Oncourse, Bspace) # version.sakai = the version of Sakai you are running (e.g., 2.5.0, 2.5.1) version.service=DEV version.sakai=2.7.0 #the location (url) of the accessibility info #accessibility.url= # to disable list of appearance/icon with "edit site information" for course sites. (set as true to display only default appearance) #disable.course.site.skin.select=true # Supported language locales for user preferences # Use the component/.../sakai.properties as a template when adding/deleting #locales = # default title and feed URL for the news tool news.title = Sakai News news.feedURL = http://sakaiproject.org/news-rss-feed # My Active Sites drop-down (a.k.a., More Sites) # Set to true to enable display of the "More Sites" drop-down as a pop-up window organized by site type. portal.use.dhtml.more = false # root of archive file system area - used to write archive files and to read them # when clustering app servers, this should be a shared network location storagePath@org.sakaiproject.archive.api.ArchiveService = ${sakai.home}/archive/ # LOGIN/LOGOUT # to include the user id and password for login on the gateway site top.login=true # to let the container handle login or not (set to true for single-signon type setups, false for just internal login) container.login = false # the URL to send folks to after they logout loggedOutUrl=/portal # SERVLET CONTAINER CONFIGURATION - Specify servlet container. If none specified default is Tomcat. #servlet.container=websphere # DATABASE CONFIGURATION - make sure to modify details to match your particular setup # The username and password. The defaults are for the out-of-the-box HSQLDB. Change to match your setup. username@javax.sql.BaseDataSource=sa password@javax.sql.BaseDataSource= # establish auto.ddl - on by default auto.ddl=true #auto.ddl=false ## HSQLDB settings - on by default vendor@org.sakaiproject.db.api.SqlService=hsqldb driverClassName@javax.sql.BaseDataSource=org.hsqldb.jdbcDriver hibernate.dialect=org.hibernate.dialect.HSQLDialect validationQuery@javax.sql.BaseDataSource=select 1 from INFORMATION_SCHEMA.SYSTEM_USERS # two hsqldb storage options: first for in-memory (no persistence between runs), second for disk based #url@javax.sql.BaseDataSource=jdbc:hsqldb:mem:sakai url@javax.sql.BaseDataSource=jdbc:hsqldb:file:${sakai.home}db/sakai.db ## MySQL settings - make sure to alter as appropriate #vendor@org.sakaiproject.db.api.SqlService=mysql #driverClassName@javax.sql.BaseDataSource=com.mysql.jdbc.Driver #hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect #url@javax.sql.BaseDataSource=jdbc:mysql://127.0.0.1:3306/sakai?useUnicode=true&characterEncoding=UTF-8 #validationQuery@javax.sql.BaseDataSource=select 1 from DUAL #defaultTransactionIsolationString@javax.sql.BaseDataSource=TRANSACTION_READ_COMMITTED # To get accurate mysql query throughput statistics (for example for graphing) from the mysql command # show status like 'Com_select' # this alternate validation query should be used so as not to increment the query counter unnecessarily # when validating the connection: #validationQuery@javax.sql.BaseDataSource=show variables like 'version' ## Oracle settings - make sure to alter as appropriate #vendor@org.sakaiproject.db.api.SqlService=oracle #driverClassName@javax.sql.BaseDataSource=oracle.jdbc.driver.OracleDriver #hibernate.dialect=org.hibernate.dialect.Oracle9iDialect #hibernate.dialect=org.hibernate.dialect.Oracle10gDialect #url@javax.sql.BaseDataSource=jdbc:oracle:thin:@your.oracle.dns:1521:SID #validationQuery@javax.sql.BaseDataSource=select 1 from DUAL #defaultTransactionIsolationString@javax.sql.BaseDataSource=TRANSACTION_READ_COMMITTED # For improved Oracle performance, implementers using Oracle should strongly consider # enabling all the following settings just as they appear (suggestion from the University of Michigan). #validationQuery@javax.sql.BaseDataSource= #defaultTransactionIsolationString@javax.sql.BaseDataSource= #testOnBorrow@javax.sql.BaseDataSource=false # enable hibernate SQL debugging output hibernate.show_sql=false # EMAIL CONFIGURATION # smtp server for outgoing emails smtp@org.sakaiproject.email.api.EmailService=some.smtp.org # dns addresses used by James for incoming email smtp.dns.1 = 255.255.255.1 smtp.dns.2 = 255.255.255.2 # SMTP port on which James runs. Default is 25. Recommend running on 8025, and using a standard mailer on 25 to forward mail to Sakai. smtp.port = 8025 # flag to enable or disable James for incoming email (true | false) smtp.enabled = false # email support address used in incoming email rejection messages #mail.support= # email address to send errors caught by the portal, and user bug reports in response #portal.error.email= # email address used as the "from" address for any email sent by Worksite Setup tool or Site Info tool setup.request= # send an email to the user when the user is added notifyNewUserEmail=true # comma separated list of domain names that are not allowed in guest accounts # This property is useful for preventing the accidental creation of guest accounts # for users (based on email address) that already have an external account (based on # username). For instance, if this property is set to umich.edu, then a user # trying to add knoop@umich.edu to a site will receive an error, as there is an # expectation that a "knoop" user should already exist. invalidEmailInAccountString= # SECURITY # force all URLs out of Sakai back to Sakai to be secure, i.e. to use https, on this port. Leave out to respond with the same transport as the request. # Otherwise, the URLs will reflect the attributes of the request URL. (443 | 8443 | or any other port) [defaults to missing] #force.url.secure=443 # Force browser to download rather than render inline any file served from content hosting with a content-type of text/html. # Default=true content.html.forcedownload=true # RESOURCES/COLLECTIONS CONFIGURATION # upload limit per request, in megs content.upload.max=20 # File name expressions to ignore in WebDav - Dav will not allow files # which have these strings in them to be created. # This is primarily used to ignore files generated by Apple of the form # /access/content/user/zt10/.DS_Store and the files for Resource "forks" # which start with "._" webdav.ignore.count=2 webdav.ignore.1=/.DS_Store webdav.ignore.2=/._ # indicates whether users should see "Show Other Sites" twiggle in list mode of resources tool resources.show_all_collections.tool = true # indicates whether users should see "Show Other Sites" twiggle in list mode of dropbox tool resources.show_all_collections.dropbox = false # indicates whether users should see "Show Other Sites" twiggle in list mode of file picker resources.show_all_collections.helper = true # the copyright options for the resources tool copyrighttype.count=6 copyrighttype.1=Material is in public domain. copyrighttype.2=I hold copyright. copyrighttype.3=Material is subject to fair use exception. copyrighttype.4=I have obtained permission to use this material. copyrighttype.5=Copyright status is not yet determined. copyrighttype.6=Use copyright below. copyrighttype.own=I hold copyright. copyrighttype.new=Use copyright below. default.copyright=Copyright status is not yet determined. default.copyright.alert=true fairuse.url=http://fairuse.stanford.edu newcopyrightinput=true # the file system root for content hosting's external stored files (default is null, i.e. store them in the db) # see the readme file (2.2.7 File Based Content Hosting) for more details #bodyPath@org.sakaiproject.content.api.ContentHostingService = /someplace/ # when storing content hosting's body bits in files, an optional set of folders just within the bodyPath - # to act as volumes to distribute the files among - a comma separate list of folders. If left out, no volumes will be used. # see the readme file (2.2.7 File Based Content Hosting) for more details #bodyVolumes@org.sakaiproject.content.api.ContentHostingService =vol1,vol2,vol3 # set to true to enable the release/retract and hiding of resources in ContentHostingService availabilityChecksEnabled@org.sakaiproject.content.api.ContentHostingService = true # set to true to enable custom sorts within folders in ContentHostingService and the Resources tool prioritySortEnabled@org.sakaiproject.content.api.ContentHostingService = true # CACHE SETTINGS # minutes to cache each security question in the SecurityService - set to 0 to disable caching. cacheMinutes@org.sakaiproject.authz.api.SecurityService = 3 # minutes to cache each site (site, page, tool) access in the SiteService - set to 0 to disable caching. cacheMinutes@org.sakaiproject.site.api.SiteService = 3 # minutes to cache each user access in the UserDirectoryService - set to 0 to disable caching. cacheMinutes@org.sakaiproject.user.api.UserDirectoryService = 5 # minutes between checks of the user cache for cleaning expired entries - set to 0 to disable caching, cacheCleanerMinutes@org.sakaiproject.user.api.UserDirectoryService = 15 # Cache authentication to improve DAV performance for provided users. # A maximumSize of 0 disables the cache. The cache is disabled by default. #maximumSize@org.sakaiproject.user.impl.AuthenticationCache=500 # Cache timeout for successful login-password combos. #timeoutMs@org.sakaiproject.user.impl.AuthenticationCache=120000 # Cache timeout for failed login-password combos. #failureThrottleTimeoutMs@org.sakaiproject.user.impl.AuthenticationCache=120000 # SESSION EXPIRATION # sessions expire if nothing happens in this many seconds (1 hour) inactiveInterval@org.sakaiproject.tool.api.SessionManager=3600 # presence expires if not refreshed in this many seconds timeoutSeconds@org.sakaiproject.presence.api.PresenceService=60 # COURSE MANAGEMENT SERVICE CONFIGURATION # This sets the default implementation of the Course Management API. org.sakaiproject.coursemanagement.api.CourseManagementService=org.sakaiproject.coursemanagement.impl.CourseManagementServiceFederatedImpl # GROUP PROVIDER CONFIGURATION # This sets the default authz group provider implementation org.sakaiproject.authz.api.GroupProvider=org.sakaiproject.coursemanagement.impl.provider.CourseManagementGroupProvider # ROLES # This defines a set of roles that can one switch between and still retain a "student view." # It is highly recommended that you DO NOT add roles to this list that are used for site adminstration. studentview.roles=Student,Teaching Assistant,access # STEALTH TOOLS. A stealth tool is a tool that is running in Sakai, but is not available to be added to a site in Worksite Setup. # A stealth tool can be added to a site using the Admin site tool. # List any tools to be stealthed, using their tool ids, in a comma-separated string (no spaces). stealthTools@org.sakaiproject.tool.api.ActiveToolManager=blogger,sakai.profile,sakai.reports # HELP TOOL # Hide the help collection for the legacy Profile tool help.hide=sakai.profile # PROFILE2 # Upload limit for profile pictures, in MB profile2.picture.max=2 # Convert images from old profile to new? profile2.convert=false # Allow users to post status updates to Twitter? (true/false, default true) profile2.integration.twitter.enabled=true # Where Twitter status updates will appear to come from # This needs to be configured with Twitter so this value can't just be changed to any value # See the 'Settings' section of http://confluence.sakaiproject.org/display/PROFILE/Profile2 profile2.integration.twitter.source=Profile2 # Allow users to change their profile picture? (true/false, default true) profile2.picture.change.enabled=true # Can users upload an image or just link to an existing one? (upload/url, default upload) profile2.picture.type=upload # Available as of version 1.2: # Allow users to change their privacy settings? (true/false, default true) profile2.privacy.change.enabled=true # Override the default privacy settings with these options (0=everyone, 1=only connections, 2=only me) # This will set the defaults for a person with no existing privacy record # or when the privacy settings are locked (change.enabled=false) # Key: 0=everyone, 1=only connections, 2=only me # If not specified, all properties below default to 0, which is everyone # Also note not all properties have the full range (0,1,2). Each is documented underneath the property itself. profile2.privacy.default.profileImage=0 # 0,1 only profile2.privacy.default.basicInfo=0 # 0,1,2 profile2.privacy.default.contactInfo=0 # 0,1,2 profile2.privacy.default.academicInfo=0 # 0,1,2 profile2.privacy.default.personalInfo=0 # 0,1,2 profile2.privacy.default.birthYear=true # true/false profile2.privacy.default.search=0 # 0,1 only profile2.privacy.default.myFriends=0 # 0,1,2 profile2.privacy.default.myStatus=0 # 0,1 only # Set this to tell the ProfileManager to get it's data from Profile2. # If left unset, any tools that use the ProfileManager from the original profile tool (ie Roster) # will continue to use the data from org.sakaiproject.api.app.profile.LegacyProfileManager. # So you must set this to enable the integrations. # If you are using a version of Sakai prior to 2.7, you need to apply the patch attached to # SAK-17573 in order for this property to have any effect. profile.manager.integration.bean=org.sakaiproject.profile2.legacy.ProfileManager # List of userIds (not eids) that will never show in searches or friends lists (comma separated no spaces, default=postmaster) profile2.invisible.users=postmaster # SAMIGO CONFIGURATION # ** Samigo File Upload question type settings ** # the following default settings: # com.corejsf.UploadFilter.repositoryPath, # com.corejsf.UploadFilter.sizeThreshold, # com.corejsf.UploadFilter.sizeMax and # com.corejsf.UploadFilter.saveMediaToDb # in Samigo web.xml can be overidden with the following settings in sakai.properties: samigo.answerUploadRepositoryPath=/tmp/ samigo.sizeThreshold=512 samigo.sizeMax=20480 samigo.saveMediaToDb=false # The email settings are for Samigo only. They are used because Sakai email # doesn't support Resources attachments. Samigo first looks to these settings # instead of the regular Sakai email settings. If they are not set, the # Sakai eamil settings will be used. Please note, these settings do not # override the usual Sakai settings. # # outgoing SMTP server (If not set, the Sakai smtp server setting will be used) #samigo.smtp.server= # outgoing SMTP port (If not set, the default part 25 will be used) #samigo.smtp.port= # # Temp directory for handling email attachment files. samigo.email.prefixedPath=/tmp/ # This is for Samlite, the word-2-QTI converter (default is true) samigo.samliteEnabled=true # Samigo Automatic Submission feature # Set samigo.autoSubmisson.enabled = true to enable the automatic submission feature. # [WARN] You must also run sam/docs/auto_submit/auto_submit_*.sql (choose the appropriate SQL dialect) # in order to pre-populate the database with required metadata. # See sam/docs/auto_submit/README.autoSubmit.txt for instructions. # Default=false. samigo.autoSubmit.enabled=false # SECTION MANAGER CONFIGURATION (Options include MANUAL_DEFAULT, MANUAL_MANDATORY, AUTOMATIC_DEFAULT, and AUTOMATIC_MANDATORY. See https://source.sakaiproject.org/svn/sections/tags/sakai_2-4-0/xdocs/README.txt) #config@org.sakaiproject.section.api.SectionManager=AUTOMATIC_DEFAULT # CALENDAR SUMMARY TOOL CONFIGURATION # Calendar view (week or month) # Default: month calendarSummary.viewMode = week # Calendar day background color (as hexadecimal value). # Default: background-color in tool CSS (.calDayWithActivity) for all priorities calendarSummary.highPriorityColor = #FF0000 calendarSummary.mediumPriorityColor = #00FF00 #calendarSummary.lowPriorityColor = #0000FF # Define priorities for calendar events # Default: all events as low priority # Note: no need to specify all events, neither all priorities (high, medium, low) calendarSummary.highPriorityEvents.count=2 calendarSummary.highPriorityEvents.1 = Deadline calendarSummary.highPriorityEvents.2 = Exam calendarSummary.mediumPriorityEvents.count=1 calendarSummary.mediumPriorityEvents.1 = Web Assignment # All calendar events not specified in high and medium priority lists # are treated as low priority. So, there is no need to specify low # priority events #calendarSummary.lowPriorityEvents.count=1 #calendarSummary.lowPriorityEvents.1 = Activity # Should research/collab specific preferences (no syllabus) be displayed? prefs.research.collab=false ## Preferences tool page order/visibility control # Controls the order pages appear in the Preferences tool, and whether a page appears at all. # The property enable.privacy.status, which previously turned on the privacy status page # in preferences is no longer used. # The default if no value for preference.pages is set is # Tab control prefs, Notification prefs, Timezone pref, Language pref # (and privacy pref page is not shown as per the previous default). # To show the privacy page, include pref_privacy_title in the preference_pages setting. # To eliminate a page, explicity set preference.pages and leave the page value out. # preference.pages=prefs_tab_title, prefs_noti_title, prefs_timezone_title, prefs_lang_title, prefs_privacy_title ## enable iCal import/export ical.experimental = false ## enable assignments within osp matrix/wizards osp.experimental.assignments = false ##ROSTER CONFIG ##tthis is an option to display name in the format of firstName lastName ##by default the value is false. #roster.display.firstNameLastName=true ##This determines whether to show or hide the group filter if only one group or section is displayed in the roster. ##by default this propert is false #roster.display.hideSingleGroupFilter=true ## This determines the default sort column in the roster.The default sort column is sortName #roster.defaultSortColumn=sortName #roster.defaultSortColumn=role #roster.defaultSortColumn=email #roster.defaultSortColumn=displayId # EXTERNAL CALENDAR SUBSCRIPTION CONFIGURATION # Enable External iCal Subscriptions (default: false) #calendar.external.subscriptions.enable = true # 1. Institutional iCal Subscriptions: URL (optional) #calendar.external.subscriptions.url.count=2 #calendar.external.subscriptions.url.1=file:///servicos/sakai-home/trunk/ical-ufp.ics #calendar.external.subscriptions.url.2=http://localhost:8080/access/calendar/ical/outro_site.ics # 2. Institutional iCal Subscriptions: NAME (optional) # This is optional and will assign a name to the subscription urls above (default is the url) #calendar.external.subscriptions.name.count=2 #calendar.external.subscriptions.name.1=Calend\u00e1rio Acad\u00e9mico UFP #calendar.external.subscriptions.name.2=My Workspace de nuno2 # 3. Institutional iCal Subscriptions: EVENT TYPES (optional) # This is optional and will force events to have a specified type (default is Activity) #calendar.external.subscriptions.eventtype.count=2 #calendar.external.subscriptions.eventtype.1=Academic Calendar #calendar.external.subscriptions.eventtype.2=Special event # 4. Subscription cache settings (optional) # Institutional subscription defaults: reload every 120min # User subscriptions defaults: max 32 subscriptions in memory, reload every 120min #calendar.external.subscriptions.institutional.cachetime=120 #calendar.external.subscriptions.user.cacheentries=32 #calendar.external.subscriptions.user.cachetime=120 # SITE-MANAGE PAGE ORDER HELPER # Allow users to edit the titles of tools? Default=true. # org.sakaiproject.site.tool.helper.order.rsf.PageListProducer.allowTitleEdit=false # Resolve client hostnames on login (stored in SAKAI_SESSION). Default=false. # session.resolvehostname = true # SITE INFO TOOL CONFIGURATION # controls the visibility of the Site Info toolbar action ‘Edit Class Roster(s)’. # If set to true, the action is present. If set to false, the action is not present # in the toolbar. If not set, or set to true, the action is present in the toolbar. # site.setup.allow.editRosters= # Disable from worksite setup the "import file" option # The toolbar of the Site Info tool can optionally contain an item ‘Import from File’ # if site.setup.import.file = true. # site.setup.import.file = false # customization for adding participant page in Site Info # these control what display labels are used for the entry fields and # some info used in emails. Other info in emails is from the # UserNotificationProvider.properties file inside site-manage-impl officialAccountSectionTitle = Other Official Participants officialAccountName=Username officialAccountLabel=Official Email Address or Username nonOfficialAccountSectionTitle = Non-official Participants nonOfficialAccountName=Guest nonOfficialAccountLabel=Email Address of Non-official Participant invalidNonOfficialAccountString= nonOfficialAccount.url= # # OSP ePortfolio Properties # # set this to true when upgrading from Sakai 2.4 to 2.5 osp.upgrade25 = false # Enable selection & auto-population of matrix/wizard cell with assignments (SAK-10832) osp.experimental.assignments = false # If true, allow any (matrix/wizard) reviewer to view members independent of group membership osp.reviewer.groups.allowall.global = false # Enable/disable caching for rendering of portfolios (SAK-14206) cache.osp.presentation.data = false # set this to false to disable caching of xslt templates (good for testing) xslt-portal.cacheTemplates = true # SAK-15348 # Set the runOnInit to true if you want the check to run on startup. # Set the update to true if you want the records to be updated # There is also a quartz job that you can run if you don't want to have this run on startup. metaobj.schemahash.runOnInit=false metaobj.schemahash.update=false # Calendar 2.5.x Upgrade Flags # Enable/disable all aspects of the SAK.11204 upgrade -- should be set to true following initial upgrade and initial boot of Sakai for efficiency sak11204.disable = false # enable/disable forced upgrade (if true, upgrade is always run, if false, upgrade is run only if query results find null RANGE_START/RANGE_END fields) sak11204.forceupgrade=false # SAK-20058 - IE8 Compatibility because of IE9 issues in Sakai #Variety of possible headers? #sakai.X-UA-Compatible=IE=8;FF=3;OtherUA=4 #HavE IE emulate IE7 #sakai.X-UA-Compatible=IE=EmulateIE7 #Emulate have IE emulate IE8 sakai.X-UA-Compatible=IE=EmulateIE8