Relation samples

Basics

On most methods, you'll see the parameter named "nodeId". The value of this parameter can be a valid document, folder, mail or record UUID or path.

Example of nodeId:

  • Using UUID -> "f123a950-0329-4d62-8328-0ff500fd42db"

Methods

getRelationTypes

Description:

MethodReturn valuesDescription

getRelationTypes(String type)

List<RelationType>

Retrieves a list of all relations defined of a type.

Available types values:

  • RelationType.BIDIRECTIONAL
  • RelationType.PARENT_CHILD
  • RelationType.MANY_TO_MANY

More information at Relation types.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host); 
            
            try
            {
                ws.login(user, password);
                foreach (RelationType type in ws.getRelationTypes(RelationType.PARENT_CHILD))
                {
                    System.Console.WriteLine(type);
                }
            } 
            catch (Exception e)
            {
                System.Console.WriteLine(e.ToString());
            } 
        }
    }
}

addRelation

Description:

MethodReturn valuesDescription

addRelation(String nodeAId, String nodeBId, long relTypeId)

void

Sets a relation between two nodes.

The parameter nodeAId and nodeBId should be any valid document, folder, mail or record UUID.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host); 
            
            try
            {
                ws.login(user, password);
                foreach (RelationType type in ws.getRelationTypes(RelationType.BIDIRECTIONAL))
                {
                    // looking for a relation named invoice
                    if (type.title.Equals("invoice")) 
                    {
                        ws.addRelation("50b7a5b9-89d2-430e-bbc9-6a6e01662a71", "055e4384-7c70-4456-b32b-f5a55a79861f", type.id);
                    }
                }
            } 
            catch (Exception e)
            {
                System.Console.WriteLine(e.ToString());
            } 
        }
    }
}

deleteRelation

Description:

MethodReturn valuesDescription

deleteRelation(long relationId)

void

Deletes a relation.

Only when the relation will not be used by any node is able to be deleted, otherwise, you'll get an error.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host); 
            
            try
            {
                ws.login(user, password);
                foreach (RelationType type in ws.getRelationTypes(RelationType.BIDIRECTIONAL))
                {
                    // looking for a relation named invoice
                    if (type.title.Equals("invoice"))
                    {
                        ws.deleteRelation(type.id);
                    }
                }
            } 
            catch (Exception e)
            {
                System.Console.WriteLine(e.ToString());
            } 
        }
    }
}

getRelations

Description:

MethodReturn valuesDescription

getRelations(String nodeId)

List<Relation>

Retrieves a list of all relations of a node..

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
            
            try
            {
                ws.login(user, password);
                foreach (Relation relation in ws.getRelations("055e4384-7c70-4456-b32b-f5a55a79861f"))
                {
                    System.Console.WriteLine(relation);
                }
            } 
            catch (Exception e)
            {
                System.Console.WriteLine(e.ToString());
            } 
        }
    }
}

getRelationGroups

Description:

MethodReturn valuesDescription

getRelationGroups(String nodeId)

List<RelationGroup>

Retrieves a list of all relation groups of a node.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host); 
            
            try
            {
                ws.login(user, password);
                foreach (RelationGroup rGroup in ws.getRelationGroups("055e4384-7c70-4456-b32b-f5a55a79861f"))
                {
                    System.Console.WriteLine(rGroup.toString());
                }
            } 
            catch (Exception e)
            {
                System.Console.WriteLine(e.ToString());
            } 
        }
    }
}

addRelationGroup

Description:

MethodReturn valuesDescription

addRelationGroup(String nodeId, String groupName, long type)

void

Adds a relation group at a node.

On a relation group only makes sense to apply a relation type of RelationType.MANY_TO_MANY.

More information at Relation types.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host); 
            
            try
            {
                ws.login(user, password);
                foreach (RelationType type in ws.getRelationTypes(RelationType.MANY_TO_MANY))
                {
                    if (type.title.Equals("staple"))
                    {
                        ws.addRelationGroup("055e4384-7c70-4456-b32b-f5a55a79861f", "staple group", type.id);
                    }
                }
            } 
            catch (Exception e)
            {
                System.Console.WriteLine(e.ToString());
            } 
        }
    }
}

addNodeToGroup

Description:

MethodReturn valuesDescription

addNodeToGroup(String nodeId, long groupId)

void

Adds a node to an existing relation group.

On a relation group only has sense to apply the type RelationType.MANY_TO_MANY.

More information at Relation types.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
            
            try
            {
                ws.login(user, password);
                foreach (RelationGroup rGroup in ws.getRelationGroups("055e4384-7c70-4456-b32b-f5a55a79861f")) 
                {
                    if (rGroup.name.Equals("staple group")) 
                    {
                        ws.addNodeToGroup("50b7a5b9-89d2-430e-bbc9-6a6e01662a71", rGroup.id);
                    }
                }
            } 
            catch (Exception e)
            {
                System.Console.WriteLine(e.ToString());
            } 
        }
    }
}

deleteRelationGroup

Description:

MethodReturn valuesDescription

deleteRelationGroup(long groupId)

void

Removes a node from a relation group.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
            
            try
            {
                ws.login(user, password);
                foreach (RelationGroup rGroup in ws.getRelationGroups("50b7a5b9-89d2-430e-bbc9-6a6e01662a71")) 
                {
                    if (rGroup.name.Equals("staple group")) 
                    {
                        ws.deleteRelationGroup(rGroup.id);
                    }
                }
            } 
            catch (Exception e)
            {
                System.Console.WriteLine(e.ToString());
            } 
        }
    }
}

findRelationGroup

Description:

MethodReturn valuesDescription

findRelationGroup(long groupId)

RelationGroup

Finds a relation group by id.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host);  
            
            try
            {
                ws.login(user, password);
                RelationGroup rg = new RelationGroup();
                foreach (RelationGroup rGroup in ws.getRelationGroups("50b7a5b9-89d2-430e-bbc9-6a6e01662a71"))
                {
                   if (rGroup.name.Equals("staple group3"))
                   {
                       rg = ws.findRelationGroup(rGroup.id);
                       break;
                   }
               }
            } 
            catch (Exception e)
            {
                System.Console.WriteLine(e.ToString());
            } 
        }
    }
}

setRelationGroupName

Description:

MethodReturn valuesDescription

setRelationGroupName(long groupId, String groupName)

void

Changes the relation group name.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
            
            try
            {               
                ws.login(user, password);
                RelationGroup rg = new RelationGroup();
                foreach (RelationGroup rGroup in ws.getRelationGroups("50b7a5b9-89d2-430e-bbc9-6a6e01662a71"))
                {
                    if (rGroup.name.Equals("staple group3"))
                    {
                        ws.setRelationGroupName(rGroup.id, "newGroup");
                        rg = ws.findRelationGroup(rGroup.id);
                        break;
                    }
               }
            } 
            catch (Exception e)
            {
                System.Console.WriteLine(e.ToString());
            } 
        }
    }
}

getAllRelationGroups

Description:

MethodReturn valuesDescription

getAllRelationGroups()

List<RelationGroup>

Retrieves a list of all relation groups of a node.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host); 
            
            try
            {
                ws.login(user, password);
                foreach (RelationGroup rGroup in ws.getAllRelationGroups())
                {
                    System.Console.WriteLine(rGroup);
                }
            } 
            catch (Exception e)
            {
                System.Console.WriteLine(e.ToString());
            } 
        }
    }
}

deleteRelationGroupItem

Description:

MethodReturn valuesDescription

deleteRelationGroupItem(String nodeId, long groupId)

void

Delete a node relation of a group.

Example:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;

namespace OKMRest
{
    public class Program
    {
        static void Main(string[] args)
        {
            String host = "http://localhost:8080/openkm";
            String username = "okmAdmin";
            String password = "admin";
            OKMWebservice ws = OKMWebservicesFactory.newInstance(host); 
            
            try
            {
                ws.login(user, password);
                foreach (RelationGroup rGroup in ws.getRelationGroups("50b7a5b9-89d2-430e-bbc9-6a6e01662a71"))
                {
                    if (rGroup.name.Equals("staple group3"))
                    {
                        ws.deleteRelationGroupItem("50b7a5b9-89d2-430e-bbc9-6a6e01662a71", rGroup.id);
                    }
                }
            } 
            catch (Exception e)
            {
                System.Console.WriteLine(e.ToString());
            } 
        }
    }
}