Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Web CMS (TeamSite)
Create Group with/without External through API
Arwin
Hi,
I've created a solution for a customer that synchronises WorkSite Groups with groups created in their practice management system. When I create a new group, the group is automatically created with the External property set to 'Y'.
The only way I can access this property is through DBAdmin, where I can simply turn it on or off with a checkbox on its properties screen. Using the ADMIN API, the nrtgroup object interface does not give any reference to this property at all. The imangroup object interface from the IMANAGE.API does have the IsExternal property that gives access to this information, but that is a read-only property.
Any idea if this property can be set through the API somehow? Otherwise I'll have to resort to doing it on SQL level, and file a change request ...
Kind regards,
Arwin
Find more posts tagged with
Comments
mlf
Try the NOS property
myNRTGroup.NOS = (int)NOSType.nrExternalNOS;
Arwin
Thanks, good suggestion. However, but I've always had this fixed on 2, which should be imOSVirtual, rather than imOSExternal (5).
There is also imNOSType by the way, but here 2 is also imInternalNOS. The important thing to note here is that behavior is different on different environments, although I've always used 2/imOSVirtual. Perhaps there is some kind of registry setting affecting this? But I haven't been able to find anything so far.
mlf
I was able to set the External=Y like below. Make sure you are using the NRTGroup in iManAdmin rather than iManage. Using WorkSite 8.5 Interop.IManAdmin.dll version 8.5.100.149.
Com.Interwoven.WorkSite.iManAdmin.NRTDMS dms = new Com.Interwoven.WorkSite.iManAdmin.NRTDMSClass();
Com.Interwoven.WorkSite.iManAdmin.NRTSession session = dms.Sessions.Add("ServerName", Type.Missing, Type.Missing);
session.Login("Username", "Password");
Com.Interwoven.WorkSite.iManAdmin.NRTDatabase db = (Com.Interwoven.WorkSite.iManAdmin.NRTDatabase)session.Databases.Item("DatabaseName");
Com.Interwoven.WorkSite.iManAdmin.NRTGroup nrtGroup = (Com.Interwoven.WorkSite.iManAdmin.NRTGroup)db.CreateGroup("GroupName");
nrtGroup.External = true;
nrtGroup.Update();
Arwin
Thank you very much, I switched to the latest interop.imanadmin.dll and now External was available as a read-write property. I was clearly using an older version.