Topic
  • 2 replies
  • Latest Post - ‏2012-04-02T22:12:49Z by jay.brown
Pratz25
Pratz25
8 Posts

Pinned topic Property value and PropertyDefination of Immediate Subclass

‏2012-04-02T10:36:57Z |
Hi all,
I am new to CMIS and FileNet.

I am Using Apache Chemistry OpenCMIS 0.5.0.
I am trying to get the List of Immediate Subclass ; I used method

session.getTypeChildren("cmis:document", true);

but i want to get only those subclass whose Document Class property " IsHidden " equal = false.

just like: In Root folder there many folders whose property "IsHiddenContainer" equal = true ansd i dont want to display them so i used

if(Boolean.FALSE.equals(cmisObject.getPropertyValue("IsHiddenContainer")))
{
System.out.println(cmisObject.getName());
}

similarly how to get only those subclass whose Document Class property " IsHidden " equal = false.

2 . For PropertyDefination of Immediate subclasses

When i try to print the PropertyDefination of the immediate SubClass

i get the list of all the all the System Properties ,Inherited properties and Coustom Properties.

but i need only the custom properties.

Map<String, PropertyDefinition<?>> d = objecttype.getPropertyDefinitions();
Iterator itr = d.keySet().iterator();
while(itr.hasNext()){
String key = itr.next().toString();
PropertyDefinition<?> value = d.get(key);

System.out.println("key >" + key );

}

For example For Email SubClass the Custom properties are From, to, cc,subject,sentOn,receivedOn

Plz help.

Thanks
Updated on 2012-04-02T22:12:49Z at 2012-04-02T22:12:49Z by jay.brown
  • TigerTrix
    TigerTrix
    38 Posts

    Re: Property value and PropertyDefination of Immediate Subclass

    ‏2012-04-02T16:38:22Z  
    CM8 & Hidden Properties
    Btw, I don't think CM8 has any properties flagged as hidden, but I am pretty sure FN does. CM8 natively segregates system properties from visible attributes. So in CMIS there are not a lot of places that system properties show up for CM8, unless they are CMIS spec defined system properties, which CM8-CMIS will map to the associated value wherever it resides. So for example, cmis:id, is a CMIS system property, comprised of a generated value that is meaningful to CM8-CMIS, but I don't think it is marked as hidden unless the CMIS spec defined it to be hidden as it is a spec-defined mandatory property. Also, CM8 does not have a way to customize which properties are marked as hidden, as CM8 natively doesn't support an idea of hidden properties. Still, as an abstracted CMIS client, it is a good question to ask and good thing to do. I am just saying that it probably doesn't matter for CM8.

    CM8 does hidden by 2 other means (1) separate system vs custom property namespaces (in native API) and not returned unless CMIS spec defined, and (2) "item type subsets" (or "item type views") which let an administrator define which properties are accessible to different sets of users, controlled by ACLs on the entire subset, and only the properties accessible to the user are even returned via the API (and matching definition information for the connection). But hidden properties in CMIS I think are more of a concept of being accessible to applications but marked for application internal use. So maybe it is more of an "invisible" flag or display flag to show to users.

    If this concept of available but invisible were important for CM8, perhaps there could be a CM8-CMIS configurable solution like hiddenTypes configuration setting that does this very same thing for item types as a whole, types that are available to applications internally, but not meant to be listed for users. Maybe there could be a hiddenProperties= ... setting. Just thinking. So far, I don't think anyone is asking for this.

    Inherited Properties
    All subclass properties that are inherited from the parent class are all marked as inherited=true. At least they are in the raw CMIS API. There was a bug in CM8-CMIS 1.0.0.0 that was fixed in CM8-CMIS 1.0.0.1 in which the subclass properties were not marked as inherited. So for CM8, make sure you are on 1.0.0.1.

    OpenCMIS API Questions
    I am not intimately familiar with the OpenCMIS API, so I'll defer to someone else to answer OpenCMIS API usage questions.
  • jay.brown
    jay.brown
    41 Posts

    Re: Property value and PropertyDefination of Immediate Subclass

    ‏2012-04-02T22:12:49Z  
    Regarding the first part of your question:
    In P8 class definition objects, the 'isHidden' property is not a true property in the same sense that CMIS 'properties' are. IsHidden is a property on a P8 class definition (as opposed to a property definition that belongs to a type definition). In CMIS terminology these types of meta-meta data are called attributes on the type defintion. Currently p8 CMIS does not have schema extensions to expose these meta properties beyond the ones defined in the 1.0 spec. We could expose these as schema extensions (just like we do for the property definition 'isHidden' extension that we have today) but if we did that they would still not show up as properties.

    Is this extension something you as a customer would like to request for a future version of FN CMIS?