Installed Hotfix 2.01 (4.7281.1.0). Now I can't delete Smart Objects

  • 16 October 2007
  • 9 replies
  • 0 views

Badge +1

I've just tried hotfix 2.01(4.7281.1.0) on a Trial install of K2BP, running in a vmware virtual machine.


It completed successfully, but (after reboot) when I tried deleting a smart object, it threw the following exception:


SmartObjectServer Exception: Method not found: 'Int32 SourceCode.Dependancy.Interfaces.IDependancyService.RemoveDependancy(SourceCode.Dependancy.Interfaces.IDependancyObject)'.


I reverted to a pre-2.01 snapshot and it works fine. Tried installing the hotfix again and still the same error.


Is there something I've missed?


Thanks


9 replies

Badge +11

Hi Mikr1,


Where have you got your HostServer installed i.e. did you install to C: drive or D: drive?


Regards,


Ockert

Badge +1

Thanks for responding Ockert, here's some system info:


K2 Install: C:Program FilesK2 blackpearl
OS: Server 2003 Enterprise Edition (Build 3790) SP2
Mem: 1500MB
HDD: 60GB (11GB used)
.NET Frameworks: 1.0, 1.1, 2.0 and 3.0
VS installed extensions:
Visual Studio installed extensions


Raz

Badge +2

Hi


 I have the same peoblem. If I try to delete an SmartObject, I became the same error message.


 


Regards


Juerg

Badge +8

I had never tryed before today but... same situation for me!


SmartObjectServer Exception: Method not found: 'Int32 SourceCode.Dependancy.Interfaces.IDependancyService.RemoveDependancy(SourceCode.Dependancy.Interfaces.IDependancyObject)'

Badge +1

I also experienced this problem today for the first time.  I am running BlackPearl hotfix 2.01.

Is there any resolution for this problem?  As it is now, I am not able to open the Service Object node in the environment library because of a problem with a custom smart object, but I can't delete it to get rid of the problem.  Essentially, this is making it so that K2 is not usable. 

 

I have heard rumors that a service pack release is coming sometime.  Any word on when that will be?  There are a number of things like this which would be nice to have updated.  

Badge +5

Hi,


This is a known issue with HotFix 2.01 and will be fixed by Service Pack 1 and unfortunately there is no other resolution for this. 


Regards


Gert

Badge +1

I actually wrote a SQL script to remove SmartObjects directly from the K2:BP databases. It seems to work, but neither I nor my company, nor (obviously) Sourcecode take any resposibility for the use of this code. You'll also probably invalidate any support agreement you have for K2, so ONLY USE THIS IN EXPERIMENTAL DEVELOPMENT ENVIRONMENT (or just take virtual pc snapshot).


-- SmartObject brute force deleter


-- assign @soname the name of your SmartObject
declare @soname as nvarchar(255)
select @soname = 'CompetencyFramework' -- Name of your smart object goes here


-- Categories -> CategoriesData
DELETE FROM [Categories].[dbo].[CategoriesData]
      WHERE ([objectname]=@soname)


-- Dependencies -> Dependancies
DELETE FROM [Dependencies].[dbo].[Dependancies]
WHERE (([ParentName] = @soname) OR (DependantName = @soname))


-- SmartBox -> SmartBoxObject
declare @soid as uniqueidentifier
SELECT @soid = [SmartBoxObjectGUID]
  FROM [SmartBox].[dbo].[SmartBoxObject]
 WHERE (SmartBoxObjectXML.value('(/object/metadata/display/displayname)[1]', 'nvarchar(255)')=@soname)
DELETE [SmartBox].[dbo].[SmartBoxObject]
WHERE ([SmartBoxObjectGUID]=@soid)


-- SmartBroker -> ServiceObject
DELETE [SmartBroker].[dbo].[ServiceObject]
where ([SystemName]=@soname)


-- SmartBroker -> SmartObject
DELETE [SmartBroker].[dbo].[SmartObject]
WHERE     ([SystemName] = @soname)


-- SmartBroker -> Associations
DELETE [SmartBroker].[dbo].[Associations]
WHERE ((SmartObjectName = @soname) OR (RefSmartObjectName =@soname))


-- SmartBroker -> AssociationProperties
declare @soid2 as uniqueidentifier
SELECT     TOP (1) @soid2=SmartObjectGUID
FROM         [SmartBroker].[dbo].[SmartObject]
WHERE     (SystemName = @soname)
ORDER BY Version DESC
DELETE [SmartBroker].[dbo].[AssociationProperties]
WHERE     ((SmartObjectGUID = @soid2) OR (RefSmartObjectGUID = @soid2))


-- Drop SmartBox -> [@soname]
exec('DROP TABLE [SmartBox].[dbo].['+@soname+']')


 


Good luck

Badge +10
Let us know if this works!  I am very intersted to hear
Badge +1

As I said: "It seems to work" :D


I've actually been using it a lot and I does get rid of SmartObjects. I've been using it in a virtual pc development environment to implement our first K2:BP (proof of concept) project - an employee appraisal system.



Generally I'm quite happy with K2. I've had to do a bit of tweeking to the activity designer templates to make it send emails properly. I'm not brilliantly sure it's at production level just yet. I've got really high hope for the up-coming service pack.

Reply