// standard metadata structures variables.stdMetadata = structNew(); // variables.stdMetadata.pageID = 0; variables.stdMetadata.name = ""; variables.stdMetadata.title = ""; variables.stdMetadata.caption = ""; variables.stdMetadata.description = ""; variables.stdMetadata.globalKeywords = ""; variables.stdMetadata.categoryName = ""; variables.stdMetadata.subsiteID = ""; variables.stdMetadata.templateID = ""; // custom metadata structure variables.custMetadata = structNew(); // page data variables.pageID = 0; var pageData = structNew(); var ws = ""; var createPageResult = structNew(); var msg = ""; var pageExists = ""; var logStruct = structNew(); var logArray = arrayNew(1); var result = structNew(); result.pageCreated = false; result.newPageID = 0; result.msg = ""; // construct the CCAPI object variables.ccapi.initCCAPI(); try { // NOTE: always logging in to make sure that we create page in correct subsite variables.ccapi.login(arguments.stdMetadata.subsiteID); ws = variables.ccapi.getWS(); // build page data structure pageData.type = "page"; pageData.activate = arguments.activatePage; // Page create parameters pageData.cParams = arguments.stdMetadata; pageData.mData = arguments.custMetadata; // check to see if this page exists yet pageExists = variables.csData.getCSPageByName(pageData.cParams.name, pageData.cParams.subsiteID); if( not pageExists ) { // invoke createPage API call createPageResult = ws.createPage( ssid = variables.ccapi.getSSID(), sParams = pageData); // if the call was successful then send back the new pageID if( listFirst( createPageResult, ":") eq "success" ) { // set the new pageID result.newPageID = listRest( createPageResult, ":"); result.pageCreated = true; //Log success logStruct.msg = "#request.formattedTimestamp# - Page (#result.newPageID# - #arguments.stdMetadata.title#) created on #request.formattedTimeStamp#"; logStruct.logFile = 'CCAPI_create_pages.log'; arrayAppend(logArray, logStruct); } else { result.msg = createPageResult; /* need debugging on why this failed 1. No subsite 2. Page Exists 3. No metadata */ //Log error logStruct.msg = "#request.formattedTimestamp# - Page Was Not Created (#arguments.stdMetadata.title#). Error: #createPageResult#"; logStruct.logFile = 'CCAPI_create_pages_errors.log'; arrayAppend(logArray, logStruct); } } else { result.newPageID = pageExists; result.pageCreated = false; logStruct.msg = "#request.formattedTimeStamp# - Page with title #arguments.stdMetadata.title# in subsite #request.subsiteCache[arguments.stdMetadata.subsiteID].url# already exists"; logStruct.logFile = 'CCAPI_create_pages_errors.log'; arrayAppend(logArray, logStruct); } // handle logging // TODO: plug the logging option into the CCAPI config settings if( variables.ccapi.loggingEnabled() and arrayLen(logArray) ) variables.utils.bulkLogAppend(logArray); } catch ( ANY e ) { // Error caught, send back the error message result.pageCreated = false; result.msg = e.message; // Log the error message also logStruct.msg = "#request.formattedTimestamp# - Error [Message: #e.message#]"; if ( StructKeyExists(e,"Details") AND LEN(TRIM(e.Details)) ) logStruct.msg = logStruct.msg & " [Details: #e.Details#]"; logStruct.logFile = "CCAPI_create_pages_errors.log"; variables.utils.bulkLogAppend(logArray); } // Logout variables.ccapi.logout(); // clear locks before starting variables.ccapi.clearLock(result.newPageID); var deletePageResult = ''; var logoutResult = ''; var pageData = structNew(); var ws = ""; var logStruct = structNew(); var logArray = arrayNew(1); var result = structNew(); result.pageDeleted = false; result.msg = ""; // construct the CCAPI object variables.ccapi.initCCAPI(); try { ws = variables.ccapi.getWS(); // NOTE: always logging in to make sure that we create page in correct subsite variables.ccapi.login(arguments.deletePageData.subsiteID); // Page data parameters pageData = arguments.deletePageData; // invoke createPage API call deletePageResult = ws.deletePage( ssid = variables.ccapi.getSSID(), sParams = pageData); // if the call was successful then send back the new pageID if( listFirst( deletePageResult, ":") eq "success" ) { //Log success logStruct.msg = "Delete Page Success: #request.formattedTimestamp# - Page (#pageData.pageID#) deleted on #request.formattedTimeStamp#"; logStruct.logFile = 'CCAPI_delete_pages.log'; arrayAppend(logArray, logStruct); result.pageDeleted = true; } else { //Log success logStruct.msg = "Error Delete Page: #request.formattedTimestamp# - Page Could Not Be deleted (#pageData.pageID#). Error: #deletePageResult#"; logStruct.logFile = 'CCAPI_delete_pages.log'; arrayAppend(logArray, logStruct); result.msg = deletePageResult; } if( variables.ccapi.loggingEnabled() ) variables.utils.bulkLogAppend(logArray); } catch ( ANY e ) { // Error caught, send back the error message result.pageDeleted = false; result.msg = e.message; // Log the error message also logStruct.msg = "#request.formattedTimestamp# - Error"; logStruct.msg = logStruct.msg & " [Message: #e.Message#]"; if ( StructKeyExists(e,"Details") AND LEN(TRIM(e.Details)) ) logStruct.msg = logStruct.msg & " [Details: #e.Details#]"; logStruct.logFile = "CCAPI_delete_pages_errors.log"; variables.utils.bulkLogAppend(logArray); } // Logout variables.ccapi.logout(); // clear locks before starting variables.ccapi.clearLock(pageData.pageID);