Skip to main content
17-Peridot
June 18, 2022
Solved

What's the difference between Project and ModelTag ?

  • June 18, 2022
  • 1 reply
  • 1056 views

Hi, 

Since the Project entity doesn't play the role of namespace,    I don't see any difference for Project comparing with ModelTag.   It seems that the Project entity is just a mandatory ModelTag.  

 

Is there anything I missed in my understanding for the meaning of Project entity ? 

 

Regards,

Sean

 

 

 

Best answer by VladimirRosu_116627

Cheers Sean,

Technically speaking, you can imagine indeed that the Project is just a mandatory Model Tag.

The Project attribute itself is simpler than a model tag, being just a simple string (it does not belong to a Vocabulary like the Model Tag).

I tend to think of the Projects like being 1:1 equivalents of applications. For example, all my GitBackup entities belong to the GitBackup Project.

Model Tags are useful to separate inside a project different functionalities (imagine you want to implement SearchV2, you'd create a new Model Tag with this name and apply it to the required entities for that new capability, whether new or existing ones you upgraded).

In Composer, there are a bunch of features related to Projects (Project View, which emulates Eclipse's Package Explorer), then Open Projects (showing open entities per Project),

Also, if you access a Project entity you also gain the capability to package all Entities that belong to that project as an extension (and later, when you connect your ThingWorx instance to Solution Central, to publish your application there).

 

1 reply

19-Tanzanite
June 20, 2022

Cheers Sean,

Technically speaking, you can imagine indeed that the Project is just a mandatory Model Tag.

The Project attribute itself is simpler than a model tag, being just a simple string (it does not belong to a Vocabulary like the Model Tag).

I tend to think of the Projects like being 1:1 equivalents of applications. For example, all my GitBackup entities belong to the GitBackup Project.

Model Tags are useful to separate inside a project different functionalities (imagine you want to implement SearchV2, you'd create a new Model Tag with this name and apply it to the required entities for that new capability, whether new or existing ones you upgraded).

In Composer, there are a bunch of features related to Projects (Project View, which emulates Eclipse's Package Explorer), then Open Projects (showing open entities per Project),

Also, if you access a Project entity you also gain the capability to package all Entities that belong to that project as an extension (and later, when you connect your ThingWorx instance to Solution Central, to publish your application there).

 

seanccc17-PeridotAuthor
17-Peridot
June 22, 2022

@VladimirRosu_116627 ,

 

Thank you for your elaborate explanation.  It's clear and really helpful.