/
var
/
www
/
html
/
sugardemo
/
sidecar
/
tutorials
/
Upload File
HOME
This is an example of a config that can be used in a sidecar application. ``` (function(app) { /** * Application configuration. */ app.augment('config', { /** * Application identifier. * @type {string} */ appId: 'portal', /** * Application environment. Possible values: `dev`, `test`, `prod` * @type {string} */ env: 'dev', /** * Flag indicating whether to output Sugar API debug information. * @type {boolean} */ debugSugarApi: true, /** * Logger configuration. * @type {Object} logger * @property {string} logger.level The logger level * @property {string} logger.formatter The formatter to use. Defaults to * `SimpleFormatter`. * @property {string} logger.consoleWriter The writer to use for the client * side. Defaults to `ConsoleWriter`. * @property {string} logger.serverWriter The writer to use for the server * side. Defaults to `ServerWriter`. */ logger: { level: 'DEBUG', }, /** * Sugar REST server URL. * * The URL can be relative or absolute. * @type {string} */ serverUrl: '../../sugarcrm/rest/v10', /** * Sugar site URL. * * The URL can be relative or absolute. * @type {string} */ siteUrl: '../../sugarcrm', /** * Minimal server version a client is compatible with. * @type {string} */ minServerVersion: '6.6', /** * Server request timeout (in seconds). * @type {number} */ serverTimeout: 30, /** * Max query result set size. * @type {number} */ maxQueryResult: 20, /** * Max search query result set size (for global search) * @type {number} */ maxSearchQueryResult: 3, /** * A list of routes that don't require authentication (in addition to `login`). * @type {Array} */ unsecureRoutes: ['signup', 'error'], /** * Platform name. * @type {string} */ platform: 'portal', /** * Default module to load for the home route (index). * If not specified, the framework loads `home` layout for the module `Home`. */ defaultModule: 'Cases', /** * A list of metadata types to fetch by default. * @type {Array} */ metadataTypes: [], /** * The field and direction to order by. * * For list views, the default ordering. * * orderByDefaults: { * moduleName: { * field: '<name_of_field>', * direction: '(asc|desc)' * } * } * * @type {Object} */ orderByDefaults: { Cases: { field: 'case_number', direction: 'asc', }, Bugs: { field: 'bug_number', direction: 'asc', }, Notes: { field: 'date_modified', direction: 'desc', }, }, /** * Hash of addtional views of the format below to init and render on app start * * additionalComponents: { * viewName: { * target: 'CSSDomselector' * } * } * * @type {Object} */ additionalComponents: { header: { target: '#header', }, footer: { target: '#footer', }, }, /** * Alerts element selector. * @type {string} */ alertsEl: '#alerts', /** * Alert dismiss timeout in milliseconds. * @type {number} */ alertAutoCloseDelay: 9000, /** * Client ID for oAuth * Defaults to sugar other values are support_portal * @type {Array} */ clientID: 'sugar', /** * Syncs config from server on app start * Defaults to true otherwise set to false * @type {boolean} */ syncConfig: true, /** * Loads css dinamically when the app inits * Defaults to false otherwise set 'url' or 'text' * @type {string} */ loadCss: false, /** * Offline configuration. */ offline: { /** * Flag indicating if offline mode is enabled. */ enabled: false, debug: { /** * Ignore app.config.offlineEnabled setting. */ ignoreEnabled: true, /** * Render debug settings view. */ render: true, /** * Drop db on app sync. */ forceMigrate: true, /** * Force offline connection. */ online: true, /** * Disable sync manager. */ syncManagerEnabled: true, /** * Disable status monitor. */ monitorStatus: false, /** * Emulate out-of-space situation. */ outOfSpace: false, }, /** * Minimum server version that is required by offline mode. */ minServerVersion: '7.1.5', /** * Flag indicating if HTTP throttling is enabled for read requests. */ httpThrottlingEnabled: true, /** * HTTP throttling timeout. * * Repeated requests are ignored for the specified interval. */ httpThrottleTimeout: 5000, //(msec) /** * Size of HTTP throttling cache. */ httpThrottleCacheSize: 10, /** * List of modules to exclude from offline access. */ exclude: [], /** * Defines configuration for the 'static' data pre-fetching. */ prefetch: { /** * Flag indicating if prefetching is enabled during app.sync. */ enabled: true, /** * Specified number of records from static modules are prefetched from server after app sync. */ staticModules: { Users: 20, Teams: 20, ProductCategories: 20, ProductTypes: 40, ProductTemplates: 20, Manufacturers: 20, }, /** * Default max threshold prefetched records per module */ maxThreshold: 20, /** * Prefetching page size. */ pageSize: 20, /** * Relationships prefetch section */ relationships: { pageSize: 20, maxThreshold: 100, }, }, /** * Storage provider. */ storageProvider: 'sql', /** * Storage provider. */ storageAdapter: 'webSql', /** * Database size, in megabytes. */ storageSize: 5, /** * Records purge interval (days). */ defaultPurgeInterval: 7, /** * Synchronization configuration. */ syncManager: { /** * Flag indicating if synchronization is enabled. */ enabled: true, /** * Period of synchronization iteration (seconds). */ syncTimeout: 10, /** * List of synchronization workers. */ executors: { /** * 'What is New?' synchronization. */ wins: { /** * Flag indicating if the worker is enabled. */ enabled: true, /** * Synchronization interval (seconds). */ interval: 30, /** * Synchronization priority (lowest value gets higher priority). */ priority: 1, /** * Maximum number of records to synchronize. */ preSyncMaxRecords: 100, /** * Page size for batch records update. */ syncPageSize: 20, /** * Page size for 'What is New?' request. */ preSyncPageSize: 20, }, /** * Transaction Log synchronization. */ txLog: { /** * Flag indicating if the worker is enabled. */ enabled: true, /** * Synchronization interval (seconds). */ interval: 10, /** * Synchronization priority (lowest value gets higher priority). */ priority: 0, }, }, }, /** * Maximum size of result set for mixed collection (search). */ maxMixedCollectionQueryResult: 30, /** * Offline status monitor interval, ms */ monitorTimeout: 2000, /** * How ofter a user will see the cleanup confirmation dialog, ms */ cleanupConfirmationInterval: 60000, }, }, false); })(SUGAR.App); ```