/**
 * # Activity JSON data format
 *
 * Describes the data structure of the activity records
 *
 *       {
 *            "total"      : 208,
 *            "totalPages" : 2,
 *            "firstId"    : 1,
 *            "lastId"     : 208,
 *            "currentBounds : [7, 208],
 *            "items" : [
 *                    {
 *                        "id"        : 208,
 *                        "parentId"  : 207,
 *                        "queryId"   : "09bf14da-6c75-4ca2-b5c0-40971a064721",
 *                        "sessionId" : "5ef408db-2d90-491d-b02c-e1b1fd59b9f4",
 *                        "action"    : "getQuestions",
 *                        "source"    : "AskiaVistaAjax",
 *                        "request"   : "{\"survey\":{\"name\":\"EX\",\"id\":1},\"action\":\"getQuestions\"}",
 *                        "serverTimeCreation" : "2015-05-21 15:39:25.4852995 +02:00",
 *                        "clientTimeCreation" : "2015-05-21 15:39:25.4852995 +02:00",
 *                        "elapsedTimeMs"    : 179,
 *                        "ajaxApiVersion"   : "2.2.3",
 *                        "serverApiVersion" : "6.0.3.6",
 *                        "clientAppName"    : "AskiaVista",
 *                        "clientAppVersion" : "6.0.3.6",
 *                        "hostAppName"      : "AskiaVistaReader",
 *                        "hostAppVersion"   : "6.0.3.6",
 *                        "urlReferrer"      : "http://localhost/askiavista6/",
 *                        "ipAddress"        : "::1",
 *                        "authContext"      : "Explicit",
 *                        "user"             : {
 *                            "guid" : "bb735f82-4879-4efd-98ba-3ae0007b0dca",
 *                            "name" : "Administrator"
 *                        },
 *                        "survey"            : {
 *                            "id"    : 1,
 *                            "name"  : "EX"
 *                        },
 *                        "webServer"            : {
 *                            "id"    : 1,
 *                            "name"  : "MyWebServer"
 *                        },
 *                        "avsServer"          : {
 *                            "id"     : 2,
 *                            "name"   : "MyAVSServer"
 *                        },
 *                        "avsLogId"   : 1940785223
 *                   }
 *            ]
 *       }
 * @class askiaVista.data.activity
 * @since 2.2.3
 * @protected
 */

/**
 * Indicates the total number of records
 *
 * @member askiaVista.data.activity
 * @property {Number} total
 */
/**
 * Indicates the total number of the pages to obtain the full list of records
 *
 * @member askiaVista.data.activity
 * @property {Number} totalPages
 */
/**
 * Indicates the current bounds
 * [ older record id, newer data id ]
 *
 * This is require to obtain the older or newer data  (using `before` / `after` parameters)
 *
 * @member askiaVista.data.activity
 * @property {Number[]} currentBounds
 */
/**
 * Indicates the id of the first record (older id).
 * This is require to stop looking at the the oldest data (using `before` parameter)
 *
 * @member askiaVista.data.activity
 * @property {Number} firstId
 */
/**
 * Indicates the id of the latest record (newer id).
 * This is require to stop looking at the newest data (using `after` parameter)
 *
 * @member askiaVista.data.activity
 * @property {Number} lastId
 */
/**
 * List of records
 *
 * @member askiaVista.data.activity
 * @property {Array.<askiaVista.data.activity.item[]>} items
 */

/**
 * # Raw Activity item
 *
 *                    {
 *                        "id"        : 208,
 *                        "parentId"  : 207,
 *                        "queryId"   : "09bf14da-6c75-4ca2-b5c0-40971a064721",
 *                        "sessionId" : "5ef408db-2d90-491d-b02c-e1b1fd59b9f4",
 *                        "action"    : "getQuestions",
 *                        "source"    : "AskiaVistaAjax",
 *                        "request"   : "{\"survey\":{\"name\":\"EX\",\"id\":1},\"action\":\"getQuestions\"}",
 *                        "responseMeta"   : "",
 *                        "serverTimeCreation" : "2015-05-21 15:39:25.4852995 +02:00",
 *                        "clientTimeCreation" : "2015-05-21 15:39:25.4852995 +02:00",
 *                        "elapsedTimeMs"    : 179,
 *                        "ajaxApiVersion"   : "2.2.3",
 *                        "serverApiVersion" : "6.0.3.6",
 *                        "clientAppName"    : "AskiaVista",
 *                        "clientAppVersion" : "6.0.3.6",
 *                        "hostAppName"      : "AskiaVistaReader",
 *                        "hostAppVersion"   : "6.0.3.6",
 *                        "urlReferrer"      : "http://localhost/askiavista6/",
 *                        "ipAddress"        : "::1",
 *                        "authContext"      : "Explicit",
 *                        "user"             : {
 *                            "guid" : "bb735f82-4879-4efd-98ba-3ae0007b0dca",
 *                            "name" : "Administrator"
 *                        },
 *                        "survey"            : {
 *                            "id"    : 1,
 *                            "name"  : "EX"
 *                        },
 *                        "webServer"            : {
 *                            "id"    : 1,
 *                            "name"  : "MyWebServer"
 *                        },
 *                        "avsServer"          : {
 *                            "id"     : 2,
 *                            "name"   : "MyAVSServer"
 *                        },
 *                        "avsLogId"   : 1940785223
 *                   }
 *
 * @class askiaVista.data.activity.item
 * @since 2.2.3
 * @protected
 */
/**
 * Id of the item
 *
 * @member askiaVista.data.activity.item
 * @property {Number} id
 */
/**
 * Id of the parent item
 *
 * @member askiaVista.data.activity.item
 * @property {Number} parentId
 */
/**
 * Id of the query
 *
 * @member askiaVista.data.activity.item
 * @property {String} queryId
 */
/**
 * Id of the session
 *
 * @member askiaVista.data.activity.item
 * @property {String} sessionId
 */
/**
 * Query action
 *
 * @member askiaVista.data.activity.item
 * @property {String} action
 */
/**
 * Source of the event
 *
 * @member askiaVista.data.activity.item
 * @property {String} source
 */
/**
 * Initial request
 *
 * @member askiaVista.data.activity.item
 * @property {String} request
 */
/**
 * Error code
 *
 * @member askiaVista.data.activity.item
 * @property {Number} [errorCode]
 */
/**
 * Type of the server entity used
 *
 * @member askiaVista.data.activity.item
 * @property {String} [entityType]
 */
/**
 * Id of the server entity used
 *
 * @member askiaVista.data.activity.item
 * @property {Number} [entityId]
 */
/**
 * Meta-data of the response
 *
 * @member askiaVista.data.activity.item
 * @property {String} [responseMeta]
 */
/**
 * Date of the event with server offset
 *
 * @member askiaVista.data.activity.item
 * @property {String} serverTimeCreation
 */
/**
 * Date of the event with client offset
 *
 * @member askiaVista.data.activity.item
 * @property {String} clientTimeCreation
 */
/**
 * Server elapsed time to process the query (in milliseconds)
 *
 * @member askiaVista.data.activity.item
 * @property {String} elapsedTimeMs
 */
/**
 * Version of the AskiaVista AJAX API that produce the query
 *
 * @member askiaVista.data.activity.item
 * @property {String} [ajaxApiVersion]
 */
/**
 * Version of the server-side AskiaVistaCmn component
 *
 * @member askiaVista.data.activity.item
 * @property {String} [serverApiVersion]
 */
/**
 * Name of the client side application (appName in the config)
 *
 * @member askiaVista.data.activity.item
 * @property {String} [clientAppName]
 */
/**
 * Version of the client side application (appVersion in the config)
 *
 * @member askiaVista.data.activity.item
 * @property {String} [clientAppVersion]
 */
/**
 * Name of the server side application that host the AskiaVistaCmn component
 *
 * @member askiaVista.data.activity.item
 * @property {String} [hostAppName]
 */
/**
 * Version of the server side application that host the AskiaVistaCmn component
 *
 * @member askiaVista.data.activity.item
 * @property {String} [hostAppVersion]
 */
/**
 * URL referrer (url of the page that create the query)
 *
 * @member askiaVista.data.activity.item
 * @property {String} [urlReferrer]
 */
/**
 * IP Address of the client browser
 *
 * @member askiaVista.data.activity.item
 * @property {String} [ipAddress]
 */
/**
 * Context of the query authentication
 *
 *  * 0 : Undefined authentication type
 *  * 1 : Explicit authentication
 *  * 2 : Using AuthenticationToken
 *  * 3 : Portfolio link authentication
 *  * 4 : Portfolio token authentication [Deprecated]
 *  * 5 : Portfolio item token authentication [Deprecated]
 *
 * @member askiaVista.data.activity.item
 * @property {Number} [authContext]
 */
/**
 * Authenticated user
 *
 * @member askiaVista.data.activity.item
 * @property {Object} [user]
 * @property {String} [user.guid] GUID of the user
 * @property {String} [user.name] Name of the user
 */
/**
 * Survey used
 *
 * @member askiaVista.data.activity.item
 * @property {Object} [survey]
 * @property {Number} [survey.id] Id of the survey
 * @property {String} [survey.name] Name of the survey
 */
/**
 * Web server that process the query
 *
 * @member askiaVista.data.activity.item
 * @property {Object} [webServer]
 * @property {Number} [webServer.id] Id of the server
 * @property {String} [webServer.name] Name of the server
 */
/**
 * AskiaVistaServer server used to query / analyse the survey data
 *
 * @member askiaVista.data.activity.item
 * @property {Object} [avsServer]
 * @property {Number} [avsServer.id] Id of the server
 * @property {String} [avsServer.name] Name of the server
 */
/**
 * AskiaVistaServer Log Identifier
 *
 * This random unique id is used to discriminate a query in different logs
 *
 * @member askiaVista.data.activity.item
 * @property {Number} [avsLogId]
 */