≡ Menu

Should You Use Master Forms or Properties for Metadata?

The standard Item Master Form
Share the knowledge

I’ve been asked recently for my thoughts about where custom data should be stored in Teamcenter. Should it be stored on a Master Form or in object properties? So, I thought I’d write something on the subject. I also would like to hear what other TC developers are using and what pros or cons they’ve encountered.

Background on Master Forms

Standard Master Form

The standard Item Master Form

If you want to store persistent data about an item in Teamcenter you need to extend the data model somehow. That means that somewhere in the database you either need to add a column to an existing table or create a new table to store the data.

In Teamcenter Engineering when you created a new Item Type there wasn’t a new table created for that type. All items were stored in the same database table and shared the same set of database columns to store their attributes. If you wanted to add an additional property to the table you’d be adding it as a field for every single item in the database. So if you added a Sheet Size property to your drawings, you’d also be adding to your Parts, CAE Items, Manufacturing Process Plans, etc.
[box type=”note”]Honestly, I’m not 100% certain you could add columns to the item table in TC Engineering. I think you could with the old Schema Editor application, but I never tried to do it, never heard anyone even suggest doing it, and have no particular interest in trying the experiment myself.[/box]

So the preferred method for adding your own custom data fields was to add them to a Master Form object which was created and attached automatically to each Item. Essentially you would create a table (storage class) for your custom attributes and then link it to the master form for your item. If you wanted multiple items to share the same set of common attributes you could link the same storage class to multiple form types.

Adding Properties in Teamcenter 8

In Teamcenter 8, AKA, Unified, you can still store your custom data on master forms. However, you can also extend the data model to add properties directly to items and item revisions — in fact, you can now add properties to any workspace object (i.e any data type that inherits from WorkspaceObject). You can do this because Teamcenter now allows you create a new table in the database for every new type you add. When you add an new attribute to a business object type you are adding a column to that specific type’s table. The attribute is only picked up by that business object type and its descendents.

Which one should you use?

You’ll have to decide for yourself, but here is my opinion.

For a brand new data model with no legacy Teamcenter Engineering data model to contend with, I prefer the new method of putting properties directly on the items.

Ease of use

Attributes you add directly to the model are on par with the attributes that Siemens adds themselves and are easier to access and manipulate than attributes on master forms. Data fields on forms seem like second class data to me. It’s a lot easier to access and manipulate properties on items and revisions than on a master form attached to the item or revision. To get to a value stored on an item’s master form you have to traverse a relationship from the item to the form, and then another one from the form to the file where the attributes are actually stored (no, they’re not actually added to the form itself. The form has a reference to where they’re stored). To get to a property stored directly on the item there are no intermediate relationships and object to traverse. This makes it easier for developers to develop queries write ITK code. It’s also easier for the user to view the properties in the Navigator — they’re all in one place on the object itself, not split between the object for off the shelf attributes and the form for custom attributes.

Legacy Data Model

On the other hand if you’re coming from TC Engineering and you’ve already got lots of data stored on forms and processes built up around them it’s probably a good idea to keep using forms unless and until you discover a definite need to get away from them. Whatever difficulties are imposed by forms are already baked into your daily business processes. The more you already rely on them, the more risk you take on trying to migrate off of them.

What is the future for forms?

The people from Siemens I’ve heard all maintain that forms are not going away and they will continue to be supported. I take them at their word on that. Anyone who’s worked with NX/Unigraphics through several versions knows that no tool is ever dropped from it— so you have 16 different ways of drawing a curve (dumb, parametric, sketcher, law curves, view dependent… I’m sure I’ve forgotten a few and missed some recent developments). So I don’t expect master forms to be removed anytime soon. But still, object properties looks to me like where most of the future development and direction will be, so given a choice that’s where I’d like to be too.

That’s just my opinion though. I’m interested in hearing yours.

  • Sharma

    hey nice one..! i have a question under RAC customization.. I am a beginner in this..! 

    In My teamcenter, we have view called “viewer” where in we can see all the properties and a button to check out and edit..! how can i do that in my custom view? i need only custom properties in my custom view and there should be a checkout and edit button!! 

    can u help me in this?

    • http://plmdojo.com Scott Pigman

      Sharma, not sure I understand completely what you’re trying to do but I think that stylesheets may be what you’re looking for. They’re XML datasets you create in the database and register against different data types to render their properties. They’re covered in the BMIDE documentation, IIRC.

      • Sharma

        Scott,

        Thanks for your reply.. I just started learning portal customization..! what I did is, I have created a custom view.. 

        Now if i select any business object, i want to show all of its properties in my custom view.. and it should be editable ( there should be check-out and edit button ).. In Rich Client help document i can see that only summary tab can be modified using stylesheet!! so could you please help me how can i get business object properties in my custom view and a checkout button!! 

        • http://plmdojo.com Scott Pigman

          I think you’re kind of jumping right in the deep end there by making a custom view. I still think style sheets are your answer and that you don’t need any custom views. Style sheets can customize  more than the summary tab. Do a “Dataset…” query for dsets of type XMLRenderingStylesheet. Look at the ones named Item and Item Revision for starters — highlight the dset and click on the Viewer tab to see the XML and the stylesheet type. Property type stylesheets control the viewer tab and the view-properties dialog window, and they give you checkout buttons for free.

          • Sharma

            Ok Scott, I will check your suggestions and get back to you if i have any doubts :) Thank you :)

          • ramu

            I have a doubt. If the style sheet is in zip file (also consits of i mage and some other files)(basically used this type in content management), how can we register those style sheets

          • http://plmdojo.com/ Scott Pigman

            Ramu, I don’t understand what you’re trying to do. Could you please clarify? The XML stylesheets are independent datasets. They wouldn’t be inside a zipfile or dataset, they are a dataset.

    • http://plmdojo.com Scott Pigman

      A correction: stylesheets are covered in the Rich Client Customization Programmer’s Guide

      • http://plmdojo.com Scott Pigman

        testing if disqus is working correctly…

  • https://twitter.com/uk_dave David Merritt

    Just an FYI, not all CAD integrations currently fully support the new way of storing attributes directly on the Items.  For those integrations you will still need to use the legacy method of master forms.
     
    Before going forward whole hog on a new install using just attributes on Items check what your CAD integration supports first…

    • http://plmdojo.com Scott Pigman

      So you’re telling me that there’s other CAD systems out there? interesting…

      Seriously though it’s a good point that I had not considered. I’m presuming that any attributes the integration needs are defined where they need to be defined by a template provided by the integrator — would that be wrong? Are there integrations that can only sync properties between the CAD system and the master forms?

      Something I may need to clarify too is that I’m not saying I’d turn off the master forms; I leave them be but I make the invisible with the Create Descriptor. In fact, I did try to turn them off by making them not required in the Create Descriptor and got errors because something was looking for a property there.

      • http://www.facebook.com/jintawee.utenpitak Jintawee Utenpitak

        It was confirmed in “SFB-Teamcenter-5332” (from GTAC) that the master form should not be ignore when creating a new item as it might casue some problems. It should only be marked as hidden from the user interface by configuring the descriptor and preferences.

      • Scott Pigman

        more testing…

        • Scott Pigman

          testing…

    • Steven Chesney

      Good point.    Check the version of the CAD product and integration you are using.   All the major integrations will support the new way of storing customized attributes but the timing will vary by integration.

  • Pritesh27ind

    Bang on.  

  • Guest

    I have heard that the Item master Forms (OOTB) are going away in Tc 10. Any thruth?

    • http://plmdojo.com Scott Pigman

      I’ve heard no such thing, and I’d be pretty amazed if they did. The instructor at the last admin training course I took was pretty adamant that forms are not going away, for whatever that’s worth. It would break a lot customizations if they did eliminate them altogether.

      IIRC, standard SPLM deprecation policy, for ITK functions at least, is to announce what’s being eliminated 2 major versions in advance. We’re already inside of that window so unless there’s already a field bulletin out there to that affect I doubt we’ll see that change by 10, if ever.

      • Steven Chesney

        When discussing “futures” it is important to keep “Master Forms” distinct from the Business Object  “Form”.  

        Master Forms are representative of the older style of Type customization (Secondary BOs in today’s jargon) and are still in widespread use.  There are no plans to eliminate them and we are not even close to discussing deprecation.   

        We recommend that new work use the newer style of Type customization – “Primary BO’s” in our jargon.  IN fact, all new work from Teamcenter development is in Primary Business Objects – where new properties are put directly on the BO and no properties are placed on Master Forms.

        That said, we still recommend that existing customizations based on Secondary Business Objects continue their use of Master Forms and even  enhance them.   There is no compelling reason to migrate “just because”.    But that said, they are secondary to our future, not primary. 

        Forms are just Business Objects which have many uses – you may want a set of properties on an object that need different Access Manager permission than the main group.  Or they may have a different lifecycle – provided by a different user at a different time.   Forms are handy for that and (as Primary Business Objects) will be part of our data model as far as I can see in the future.

        • http://plmdojo.com Scott Pigman

          Thanks for mentioning the difference between Forms and Master Forms. I  could have done a better job of differentiating between them in my discussion.

    • Steve Chesney

      Not true. 

      • Mark

        So nice to see you here Steve.
        Would you care to comment on the plan for the go-forward meta-model approach beyond V10?
        Personally I find it tedious to have 2 methods to find properties and/or attributes on objects.

        In particular lets say that I want a column in the PSE that indicates whether the Item revision is Make/Buy…
        If I have old skool objects with IRMF, then I look up the form attr, but if I have new types with properties then I look up that and if I’ve implemented Vendor Management objects then I have another…

        Maybe I’ve missed something in the area of compound props but it seems like now I’m forced into codeful customizations to meet my requirement.

        • Steven Chesney

          A lot of investment is going into newer versions of Teamcenter to make Compound properties faster and easier to use.  I don’t know if it meets all your needs  (or which release has which piece to your puzzle) but please take a look at the What’s New for the later releases.  For example, in Teamcenter 9, compound properties are supported in the Access Manager “Has Property” rule condition and in ENQ queries.  

  • Kalpesh Parmar

    Further to the topic, I have a question about customizing forms itself. I need to introduce a custom form say of type XYZ Form.  So, I go ahead an create a new business object, a type of Form and name it XYZ. Also, I create a new class called XYZStorage and associate it as a storage class for the my new form XYZ. At this stage I have two options. New properties that I want on the form of type XYZ can be added directly on the corresponding class XYZ Class or I can add them to the storage class associated with the Form.  I am not sure whether to add the attributes directly on the class XYZ or the storage class associated with this form.

    • http://plmdojo.com Scott Pigman

      Sorry for the delay, I guess I missed this comment.

      without having the BMIDE in front of me to double check I’ll do my best to answer.

      Form Business Object XYZ will have a storage class, also called XYZ, which stores all of the attributes shared by all forms — things like date created and the protection bits. That class will reference another class called XYZS (at least that’s the default for TC 8.3), which stores the custom properties you want to add to the form.

      Honestly, I’m not 100% certain because I’m not using Master forms in our TC data model, but IIRC when you add the properties to the form business object using the BMIDE, it auto-magically adds the attributes to the right place — i.e. the XYZS class.

      Personally I pretty much never touch or create any of the classes directly. I work on defining the business objects and TC takes care of defining the necessary classes for me.

  • Menk Slot

    Scott,

    I think if you start a new implementation you can consider to use attributes on item/revision
    If the customer is coming from 2007 , where they used forms, i believe it is better to stay with forms, instead of a mix.

    What are your ideas about this?

    Regards,
    Menk Slot

    • http://plmdojo.com Scott Pigman

      I think it’s not a bad position to start with, although I can think of cases where I’d look at using a mix. For example, suppose it was your Mechanical Engineering department that was using TC Engineering, but now your Electrical Engineering department or your Systems Engineers are coming into TC. I can imagine that they may not have a need to view the attributes the ME’s use, nor vice versa. So maybe having this other group use the newer style isn’t a bad idea for the advantages it brings if none of the users are likely going to need to work with both.

      Then again, I am biased towards using properties if I can find a way to do so.

      (one note: Steve Chesney makes an important distinction between Forms and Master Forms, in the comments below.)

  • Patrick Kennedy

    The decision of placing properties on Master Forms verses Primary Business Objects should also consider your use of other tools available in Teamcenter.  In Tc 8.3 there are command-line tools that do not fully support custom properties on Primary Business Objects.  tcexcel_import.exe comes immediately to mind.

    -Patrick

    • http://plmdojo.com/ Scott Pigman

      That’s a good point. I have not run into that myself. Have you filed PR’s to get those utilities updated?

    • Teamcenter Heretic

      I’m starting a green-field project with the latest 9.x and Nx8.x

      I too am interested to know if there are STILL tools that don’t support the properties on objects scheme.

      This is clearly the go-forward plan (we can see differences in the ITK API as of 9).

      I have posed this question to Steve Chesney at Siemens and will share whatever info I get from that.

      Hate to make decisions only to later find out that something doesn’t work… Like NX, or the Item Creation dialog(s)

  • Siddharth Solanki

    For my little project, putting custom properties on Item Master form looks like a better option. I’m replacing a paper based process with a TC based process and Item Master form occured as a natural choice. One, I find the relevant properties easy to view using viewer and two, at the end of the day, this information is going to be consumed at the shop floor, and they need it printed. So, grouping properties and printing ( as much as it is “bugged” – compound properties disappear on printing a form – still looks feasible using an OOTB report. I’m trying to make XmlRenderingStylesheet work, but having hard time finding literature/examples of it) is something that makes using properties on form appealing to me – I can’t think of a way to use properties on Item Rev objects secluded and used.

    • http://plmdojo.com/ Scott Pigman

      it may be a little project to you, but what are the odds that 5 years from now users will still be working with the data model you decide on now?

      I believe that stylesheets can deal with your formatting needs regardless of where you store the properties. (My doubt is about my understanding of what you want to do, not about stylesheets).

      Siemens gave a presentation on stylesheets to the Mid-Atlantic RUG last month. Unfortunately the presentation hasn’t been published on the PLMWorld website yet, but it shows how to do a lot of useful things with stylesheets.

      The Rich Client Customization Programmer’s Guide covers stylesheets.

      I don’t understand the phrase, “a way to use properties on Item Rev objects secluded and used.”

  • Teamcenter Heretic

    Had some interesting discussions with development and GTAC the last week.

    I opened IR 6804036 asking: Does SFB-Teamcenter-5332 still affect TC9 and Nx8?

    Some discussion will be had around the wording of this SFB and I’m hoping we will see a clarification/revision soon.

    Basically what I have been told is that it is the intent of Siemens to fully support both forms and formless. The existing issues with Nx have been fixed so we should be able to use properties on the Business Objects now and drop the forms completely.

    The third parties who do integrations are also supposed to have fixed their code.

    So, I’m going to move forward with properties on the object and drop the master forms off my next architecture.

    • http://plmdojo.com/ Scott Pigman

      Thanks for the update! That’s good news.

    • Sriram

      Hi I want to know how to remove item from team center

      • Teamcenter Heretic

        Kind of a random post given the topic of conversation. Scott is probably too polite to mention that but those of us who read the blog regularly don’t really appreciate it.

        There are much better places to post such a basic question… especially one without any significant detail! The answer to your question is “use the delete button” but I’m sure that is not what you are really asking.

        I would suggest you try either the support Forums supported by Siemens: https://bbs.industrysoftware.automation.siemens.com/vbulletin/forum.php

        or

        the PLM World forums sponsored by the Users Group: http://www.plmworld.org/p/cm/ld/fid=35

        In either case, be prepared to post a completely thought out question with any steps you have tried already and there are lots of folks who can probably help you.

  • Pingback: PLM Weekly News: December 16th, 2012 - Zero Wait State()

Optimization WordPress Plugins & Solutions by W3 EDGE