Description

When you upgrade to the latest version of K2 Five or K2 Cloud and you have SmartBox Security configured in K2 Management  (K2 Management > Integration > SmartBox Security), a Failed! SmartObjectData {SmartObject Name} Authorization Failed error occurs and is visible in the Installer Trace Logs.

Failed! SmartObjectData {SmartObject Name} Authorization Failed
at SourceCode.SmartObjects.ServiceBroker.Broker.Execute(DacSettings dacSettings, Boolean isList, DataTable bulkInputTable)
at SourceCode.SmartObjects.Runtime.SmartObjectClientServer.ExecuteSQLQuery(String query, DacParameterCollection parameterList, ExecuteSQLQueryReaderOptions options)
at SourceCode.SmartObjects.Runtime.SmartObjectClientServer.ExecuteSQLQueryReader(String query, DacParameterCollection parameters, Boolean autoAlias, String sessionCookie)
at SourceCode.Runtime.Services.SmartObjects.ClientExtensions.InvokeAsServiceAccount[U](Func`1 func)
at SourceCode.Runtime.Services.SmartObjects.SmartObjectsDataAccessLayer.GetAllData(ISmartObject smartObject, String sessionCookie)
at SourceCode.Runtime.Services.SmartObjects.ServerAccessLayer.ExecuteListDataTable(SmartObject smartObject)
at SourceCode.Runtime.Services.SmartObjects.ServerAccessLayer.InsertSmartBoxData(ISmartObject smartObject, IDataReader dataReader)
at SourceCode.Runtime.Services.SmartObjects.SmartObjectDataDeploymentItem.DeployItem(IQueryContext queryContext, Stream stream, ComplexType complexType)
at SourceCode.Runtime.Services.SmartObjects.RuntimeService.Deploy(IDeploymentContext context)
at SourceCode.Deployment.Runtime.ServerSession.AsyncDeploy()

Workaround

With administration rights, you need to either add the account doing the upgrade to the SmartBox Object rights in K2 Management or remove all permissions defined in the SmartBox Object Security rights section which opens the security on SmartBox Objects.