In Group class

Hi,
I have below query i want one more colum from fnd_application,if it is null it has to replace with owner but in group by clause it throwing error.
Can any one Please help me , how to resolve it.
select * from(SELECT decode (owner,'APPS','XXX',OWNER) OWNER, NVL ((SELECT application_name
FROM fnd_application_vl
WHERE application_short_name = owner), owner) application,
COUNT (object_name) count
from xxx_objects
     where upper(name)=:1
group by decode (owner,'APPS','XXX',OWNER)
order by count desc)
WHERE ROWNUM <= 20

Hi,
It's easier to get the application name in the main query, rather than in the sub-query.
Here's one way to do that:
WITH     group_by_results     AS
     SELECT       DECODE (owner, 'APPS', 'XXX', owner)     AS owner
     ,       COUNT (object_name)                AS cnt
     FROM       xxx_objects
     WHERE       UPPER (name)     = :1
     GROUP BY  DECODE (owner, 'APPS', 'XXX', owner)
     ORDER BY  cnt      DESC
SELECT       g.owner
,       NVL ( a.application_name
           , g.owner
           )          AS application
,       cnt
FROM           group_by_results    g
LEFT OUTER JOIN      fnd_application_vl  a  ON   a.application_short_name  = g.owner
WHERE       ROWNUM <= 20
;You can get the application_name using a scalar sub-query, as you posted, instead of an outer join, if you prefer.
I hope this answers your question.
If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all tables involved, and also post the results you want from that data.
Explain, using specific examples, how you get those results from that data.
Always say which version of Oracle you're using (e.g., 11.2.0.2.0).
See the forum FAQ {message:id=9360002}

Similar Messages

  • User group [$CLASS] not an Org level field in IA, whereas it is in DA

    Hi All,
    We have an authorization problem that we faced while SAP Upgrade. In the development system while we upgraded all the roles, we did not face any issue. User group field [$CLASS] was actually an org level field in that system and the roles were upgraded based on that condition.
    When the Integration system was up and the upgraded roles were transported to IA, we noticed that they ended with a warning. On checking the logs we found out that User group [CLASS] actually was not an Org level value in the INtegration system, whereas it was an org level field in the development system.
    Can someone tell me the reason why it is different? Is there any settings we have to change to make User group  an org level field in IA. Thanks a lot for your help.
    Vijith

    Hello, I ran into this also and found these notes to explain why this is suddenly an org value and how to fix it:
    http://search.sap.com/notes?id=0001580048
    http://search.sap.com/notes?id=0001739055
    Basically, GRC 10 add-on makes the user group an org value and the note instructs how to undo this manually, but there is a required pre-requisite because you cannot modify this for SAP delivered fields normally.
    You know what else would be nice.... maybe there's a note that explains why Account Type is an org value.  It REALLY should not be, IMO.

  • Custom User and Group classes

    Hi,
    I have a login custom module which does the authentication for my application.
    Till now I was using WLSUserImpl and WLSGroupIpml and everything was working fine.
    Now to make the LoginModule weblogic independent , I replaced the User and Group
    classes with my own classes which extend from java.security.Principal.
    But for some reason this isnt working. Am I missing something obvious.??
    This the exception stack trace which I get
    java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[com.isone.security.providers.authentication.ISOUser@1698cbe,
    com.isone.security.providers.authentication.ISOGroup@9719f4, com.isone.security.providers.authentication.ISOGroup@28ebb4,
    com.isone.security.providers.authentication.ISOGroup@8ab721, com.isone.security.providers.authentication.ISOGroup@fcf06c,
    com.isone.security.providers.authentication.ISOGroup@c7539, com.isone.security.providers.authentication.ISOGroup@1e41830,
    com.isone.security.providers.authentication.ISOGroup@1f01b29, com.isone.security.providers.authentication.ISOGroup@8721bd,
    com.isone.security.providers.authentication.ISOGroup@1b81d4f, com.isone.security.providers.authentication.ISOGroup@8c6e04,
    com.isone.security.providers.authentication.ISOGroup@18aeabe, com.isone.security.providers.authentication.ISOGroup@13968f1,
    com.isone.security.providers.authentication.ISOGroup@18c28a, com.isone.security.providers.authentication.ISOGroup@18bff68,
    com.isone.security.providers.authentication.ISOGroup@2d2da4]
         at weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:682)
         at weblogic.security.service.RoleManager.getRoles(RoleManager.java:279)
         at weblogic.security.service.AuthorizationManager.isAccessAllowed(AuthorizationManager.java:694)
         at weblogic.servlet.security.internal.WebAppSecurity.hasPermission(WebAppSecurity.java:567)
         at weblogic.servlet.security.internal.SecurityModule.checkPerm(SecurityModule.java:134)
         at weblogic.servlet.security.internal.FormSecurityModule.checkUserPerm(FormSecurityModule.java:327)
         at weblogic.servlet.security.internal.SecurityModule.beginCheck(SecurityModule.java:182)
         at weblogic.servlet.security.internal.FormSecurityModule.checkA(FormSecurityModule.java:181)
         at weblogic.servlet.security.internal.ServletSecurityManager.checkAccess(ServletSecurityManager.java:145)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3539)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)

    And this will explain you why there is no way to do this right now:
    (CR125681 -- although it says 7.0SP1 it is not fixed even in 8.1 SP2 and
    there is no time frame for the fix)
    http://support.bea.com/application?namespace=askbea&origin=ask_bea_answer.jsp&event=link.view_answer_page_clfydoc&answerpage=solution&page=wls/S-21705.htm
    We've had the same issue and even have an open support case and for now
    the only way to workaround the bug is to
    use the WLSUserImpl and WLSGroupImpl classes.
    HTH,
    Dejan
    Pavel wrote:
    See if this will help:
    http://edocs.bea.com/wls/docs81/dvspisec/pv.html
    Pavel.
    "Anil" <[email protected]> wrote:
    I actually extended PrincipalValidatorImpl and returned java.security.Principal
    as the base class.
    But still I got the same exception.
    PaulF <paulf@reply_in_newsgroup.com> wrote:
    On 25 Feb 2004 06:45:50 -0800, Anil <[email protected]> wrote:
    Hi,
    I have a login custom module which does the authentication for my
    application.
    Till now I was using WLSUserImpl and WLSGroupIpml and everything was
    working fine.
    Now to make the LoginModule weblogic independent , I replaced the
    User
    and Group
    classes with my own classes which extend from java.security.Principal.
    But for some reason this isnt working. Am I missing something obvious.??
    This the exception stack trace which I get
    java.lang.SecurityException: [Security:090398]Invalid Subject:
    principals=[com.isone.security.providers.authentication.ISOUser@1698cbe,
    com.isone.security.providers.authentication.ISOGroup@9719f4,
    com.isone.security.providers.authentication.ISOGroup@28ebb4,
    com.isone.security.providers.authentication.ISOGroup@8ab721,
    com.isone.security.providers.authentication.ISOGroup@fcf06c,
    com.isone.security.providers.authentication.ISOGroup@c7539,
    com.isone.security.providers.authentication.ISOGroup@1e41830,
    com.isone.security.providers.authentication.ISOGroup@1f01b29,
    com.isone.security.providers.authentication.ISOGroup@8721bd,
    com.isone.security.providers.authentication.ISOGroup@1b81d4f,
    com.isone.security.providers.authentication.ISOGroup@8c6e04,
    com.isone.security.providers.authentication.ISOGroup@18aeabe,
    com.isone.security.providers.authentication.ISOGroup@13968f1,
    com.isone.security.providers.authentication.ISOGroup@18c28a,
    com.isone.security.providers.authentication.ISOGroup@18bff68,
    com.isone.security.providers.authentication.ISOGroup@2d2da4]
         at
    weblogic.security.service.SecurityServiceManager.seal(SecurityServiceManager.java:682)
         at weblogic.security.service.RoleManager.getRoles(RoleManager.java:279)
         at
    weblogic.security.service.AuthorizationManager.isAccessAllowed(AuthorizationManager.java:694)
         at
    weblogic.servlet.security.internal.WebAppSecurity.hasPermission(WebAppSecurity.java:567)
         at
    weblogic.servlet.security.internal.SecurityModule.checkPerm(SecurityModule.java:134)
         at
    weblogic.servlet.security.internal.FormSecurityModule.checkUserPerm(FormSecurityModule.java:327)
         at
    weblogic.servlet.security.internal.SecurityModule.beginCheck(SecurityModule.java:182)
         at
    weblogic.servlet.security.internal.FormSecurityModule.checkA(FormSecurityModule.java:181)
         at
    weblogic.servlet.security.internal.ServletSecurityManager.checkAccess(ServletSecurityManager.java:145)
         at
    weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3539)
         at
    weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    I think that you need to extend WLSAbstractPrincipal I think instead
    of
    WLSPrincipal if you aren't going to implement your own
    PrincipalValidator. The default PrincipalValidator is going to expect
    a
    principal that extends WLSAbstractPrincipal.
    PaulF
    Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/

  • SCOM SP1 Groups, Classes and SNMP

    I've been working on a management pack using some of the examples on the net (Kristopher Bash from the operating-quadrantin has been a huge inspiration) to monitor an Isilon cluster.  This had lead me to a number of interesting challenges to over come since I have to design this within the confines of SP1 and I have a unique networking to device configuration. 
    Device Overview:
    The Isilon cluster itself is a number of FreeBSD systems (nodes) joined together via and infiniband backend to create a single NAS.  While normally this would not be an issue, network connectivity to the device and SNMP response from the cluster have been.  In my configuration I have a total of 8 nodes each node has 2 network interfaces.  Of these 16 network interfaces only 2 are accessible/on the same network as my RMS (em1 node2, em1 node4).
    Device SNMP Design:
    While the cluster is highly dynamic the SNMP sub-systems are not.  The MIB created by Isilon does not join the whole of the cluster into an index for SNMP polling.  I can only poll a single nodes OID's.  To over come this limitation Isilon implemented SNMP-Proxy or comtosec within the system.  This allowed me to poll node 3 by changing the community name for the OID I was polling from the discovered name to <discoveredname>_node_3.
    MP Design:
    Now I'm not the best at MP design since I rarely work within SCOM so don't laugh too hard...  I reused items from Kristopher's Cisco MP and created a number of classes for discovery and item hosting.  To address the limitation I found within SCOM for dynamic discovery and 1 IP address 1 Community Name, I created a class property within the root called ConfiguredNodes.  I can poll the Isilon an populate this value (8).  Then I created a sub-class property value called NodeCommStr to fill in all the custom community names I generate using a VB script with Base64 encode/decode, the discovery community name and the ConfiguredNodes value, in the data source for sub-class discovery. public_node_1 public_node_2 etc...
    All in all this is working well however I have run into a few design roadblocks and I have some questions.
    1.  When I discover a set of items within the Isilon cluster the health explorer is not sorting this information alphabetically.  Is there a value I can include in the dependency roll-up to correct this?
    2.  I have run into an issue with the Isilon MIB and I'm looking for the best way to overcome the MIB's design.  They included a fan table with fan information and speed of the fans however there is no status (success{0}, warning{1}, error{2}).  I created a monitor type to compensate for this and included overrides for the warning and critical event points.  This is where I found the curve ball, seems that the fans are not the same....  There are 2 sets of fans - Chassis and Power Supply - and they have different thresholds *rolls eyes*.  Some I'm asking for the best design advice, should I create 2 classes, discoveries, monitor types, etc.?  Or can I address this issue by creating 2 monitor types with a string filter?
    3.  I've been successful in creating this MP and displaying the information as a single device however I was wondering if there was a way to create dynamic groups with sub groups.  This would have to be 100% dynamic since I can add a 9th 10th 192nd (yes 192) node to the cluster.
    Cluster
    -ClusterNode1
    -ClusterNode1Power
    -ClusterNode1Fans
    -etc
    The information is there in the NodeCommStr, I'm just in brain lock on how to design it right now.
    Again, code is raw and a work in progress so please no giggling.  Oh this is a multi post...  Code is too long.
    <Manifest>
    <Identity>
    <ID>IsilonSNMP</ID>
    <Version>1.0.1.2</Version>
    </Identity>
    <Name>IsilonSNMP</Name>
    <References>
    <Reference Alias="MicrosoftSystemCenterNetworkDeviceLibrary">
    <ID>Microsoft.SystemCenter.NetworkDevice.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="Snmp">
    <ID>System.Snmp.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="SystemHardwareLibrary">
    <ID>System.Hardware.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="Windows">
    <ID>Microsoft.Windows.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="SystemPerformanceLibrary">
    <ID>System.Performance.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="System">
    <ID>System.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="SC">
    <ID>Microsoft.SystemCenter.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    <Reference Alias="Health">
    <ID>System.Health.Library</ID>
    <Version>6.0.6278.0</Version>
    <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
    </Reference>
    </References>
    </Manifest>
    <TypeDefinitions>
    <EntityTypes>
    <ClassTypes>
    <ClassType ID="IsilonSNMP.Class.IsilonCluster" Accessibility="Public" Abstract="false" Base="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice" Hosted="false" Singleton="false">
    <Property ID="Hostname" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
    <Property ID="ConfiguredNodes" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
    <!-- <Property ID="NodeCommStr" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" /> -->
    </ClassType>
    <ClassType ID="IsilonSNMP.Class.IsilonCluster.Nodes" Accessibility="Public" Abstract="false" Base="SystemHardwareLibrary!System.Chassis" Hosted="true" Singleton="false">
    <Property ID="Name" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="0" />
    </ClassType>
    <ClassType ID="IsilonSNMP.Class.IsilonCluster.PhysicalDisk" Accessibility="Public" Abstract="false" Base="SystemHardwareLibrary!System.PhysicalDisk" Hosted="true" Singleton="false">
    <Property ID="Index" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="0" />
    <!-- <Property ID="ConfiguredNodes" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" /> -->
    <Property ID="NodeCommStr" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
    <Property ID="BayIndex" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
    </ClassType>
    <ClassType ID="IsilonSNMP.Class.IsilonCluster.PhysicalFan" Accessibility="Public" Abstract="false" Base="SystemHardwareLibrary!System.Fan" Hosted="true" Singleton="false">
    <Property ID="Index" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="0" />
    <Property ID="NodeCommStr" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
    <Property ID="FanNumber" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
    </ClassType>
    <ClassType ID="IsilonSNMP.Group.IsilonClusters" Accessibility="Public" Abstract="false" Base="System!System.Group" Hosted="false" Singleton="true" />
    </ClassTypes>
    <RelationshipTypes>
    <RelationshipType ID="IsilonSNMP.Relationship.ClusterHostsNodes" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
    <Source>IsilonSNMP.Class.IsilonCluster</Source>
    <Target>IsilonSNMP.Class.IsilonCluster.Nodes</Target>
    </RelationshipType>
    <RelationshipType ID="IsilonSNMP.Relationship.IsilonClustersGroupContainsIsilonClusters" Accessibility="Public" Abstract="false" Base="System!System.Containment">
    <Source>IsilonSNMP.Group.IsilonClusters</Source>
    <Target>IsilonSNMP.Class.IsilonCluster</Target>
    </RelationshipType>
    <RelationshipType ID="IsilonSNMP.Relationship.NodesHostsPhysicalDisk" Accessibility="Public" Abstract="false" Base="System!System.Hosting">
    <Source>IsilonSNMP.Class.IsilonCluster.Nodes</Source>
    <Target>IsilonSNMP.Class.IsilonCluster.PhysicalDisk</Target>
    </RelationshipType>
    <RelationshipType ID="IsilonSNMP.Relationship.NodesHostsPhysicalFan" Accessibility="Public" Abstract="false" Base="System!System.Hosting">
    <Source>IsilonSNMP.Class.IsilonCluster.Nodes</Source>
    <Target>IsilonSNMP.Class.IsilonCluster.PhysicalFan</Target>
    </RelationshipType>
    </RelationshipTypes>
    </EntityTypes>
    <ModuleTypes>
    <DataSourceModuleType ID="IsilonSNMP.DataSource.BasicSNMPProbe" Accessibility="Internal" Batching="false">
    <Configuration>
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="IPAddress" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="CommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="OID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    </Configuration>
    <OverrideableParameters>
    <OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int" />
    </OverrideableParameters>
    <ModuleImplementation Isolation="Any">
    <Composite>
    <MemberModules>
    <DataSource ID="Scheduler" TypeID="System!System.Scheduler">
    <Scheduler>
    <SimpleReccuringSchedule>
    <Interval>$Config/Interval$</Interval>
    <SyncTime />
    </SimpleReccuringSchedule>
    <ExcludeDates />
    </Scheduler>
    </DataSource>
    <ProbeAction ID="SNMPProbe" TypeID="Snmp!System.SnmpProbe">
    <IsWriteAction>false</IsWriteAction>
    <IP>$Config/IPAddress$</IP>
    <CommunityString>$Config/CommStr$</CommunityString>
    <SnmpVarBinds>
    <SnmpVarBind>
    <OID>$Config/OID$</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    </SnmpVarBinds>
    </ProbeAction>
    <ConditionDetection ID="ValueFilter" TypeID="System!System.ExpressionFilter">
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="String">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>NotEqual</Operator>
    <ValueExpression>
    <Value Type="String" />
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    </ConditionDetection>
    </MemberModules>
    <Composition>
    <Node ID="ValueFilter">
    <Node ID="SNMPProbe">
    <Node ID="Scheduler" />
    </Node>
    </Node>
    </Composition>
    </Composite>
    </ModuleImplementation>
    <OutputType>Snmp!System.SnmpData</OutputType>
    </DataSourceModuleType>
    <DataSourceModuleType ID="IsilonSNMP.DataSource.DiscoverContainmentClasses" Accessibility="Internal" Batching="false">
    <Configuration>
    <IncludeSchemaTypes>
    <SchemaType>System!System.ParamListSchema</SchemaType>
    <SchemaType>System!System.Discovery.MapperSchema</SchemaType>
    </IncludeSchemaTypes>
    <xsd:element minOccurs="1" name="IPAddress" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="ClassID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="InstanceSettings" type="SettingsType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    </Configuration>
    <ModuleImplementation Isolation="Any">
    <Composite>
    <MemberModules>
    <DataSource ID="Scheduler" TypeID="System!System.Scheduler">
    <Scheduler>
    <SimpleReccuringSchedule>
    <Interval>60</Interval>
    <SyncTime />
    </SimpleReccuringSchedule>
    <ExcludeDates />
    </Scheduler>
    </DataSource>
    <ConditionDetection ID="Mapper" TypeID="System!System.Discovery.ClassSnapshotDataMapper">
    <ClassId>$Config/ClassID$</ClassId>
    <InstanceSettings>$Config/InstanceSettings$</InstanceSettings>
    </ConditionDetection>
    </MemberModules>
    <Composition>
    <Node ID="Mapper">
    <Node ID="Scheduler" />
    </Node>
    </Composition>
    </Composite>
    </ModuleImplementation>
    <OutputType>System!System.Discovery.Data</OutputType>
    </DataSourceModuleType>
    <DataSourceModuleType ID="IsilonSNMP.DataSource.DiscoverCluster" Accessibility="Internal" Batching="false">
    <Configuration>
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="IP" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="CommunityString" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="SystemOID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    </Configuration>
    <OverrideableParameters>
    <OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int" />
    </OverrideableParameters>
    <ModuleImplementation Isolation="Any">
    <Composite>
    <MemberModules>
    <DataSource ID="Scheduler" TypeID="System!System.Scheduler">
    <Scheduler>
    <SimpleReccuringSchedule>
    <Interval Unit="Seconds">$Config/Interval$</Interval>
    </SimpleReccuringSchedule>
    <ExcludeDates />
    </Scheduler>
    </DataSource>
    <ProbeAction ID="Probe" TypeID="Snmp!System.SnmpProbe">
    <IsWriteAction>false</IsWriteAction>
    <IP>$Config/IP$</IP>
    <CommunityString>$Config/CommunityString$</CommunityString>
    <SnmpVarBinds>
    <SnmpVarBind>
    <OID>.1.3.6.1.4.1.12124.1.1.4.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    <SnmpVarBind>
    <OID>.1.3.6.1.4.1.12124.1.1.1.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    <SnmpVarBind>
    <OID>.1.3.6.1.2.1.1.5.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    <SnmpVarBind>
    <OID>.1.3.6.1.2.1.1.1.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    <SnmpVarBind>
    <OID>.1.3.6.1.2.1.1.4.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    <SnmpVarBind>
    <OID>.1.3.6.1.2.1.1.6.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    <SnmpVarBind>
    <OID>.1.3.6.1.2.1.1.2.0</OID>
    <Syntax>0</Syntax>
    <Value VariantType="8" />
    </SnmpVarBind>
    </SnmpVarBinds>
    </ProbeAction>
    <ConditionDetection ID="Mapper" TypeID="System!System.Discovery.FilteredClassSnapshotDataMapper">
    <Expression>
    <RegExExpression>
    <ValueExpression>
    <XPathQuery>/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>ContainsSubstring</Operator>
    <Pattern>1.3.6.1.4.1.12124.</Pattern>
    </RegExExpression>
    </Expression>
    <ClassId>$MPElement[Name="IsilonSNMP.Class.IsilonCluster"]$</ClassId>
    <InstanceSettings>
    <Settings>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Name>
    <Value>$Data/Source$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/Name$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[5]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/SystemDescription$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[4]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/SystemContact$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[3]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/SystemLocation$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[2]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/SystemOID$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[1]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="System!System.Entity"]/DisplayName$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[5]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="IsilonSNMP.Class.IsilonCluster"]/Hostname$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[6]/Value$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="IsilonSNMP.Class.IsilonCluster"]/ConfiguredNodes$</Name>
    <Value>$Data/SnmpVarBinds/SnmpVarBind[7]/Value$</Value>
    </Setting>
    </Settings>
    </InstanceSettings>
    </ConditionDetection>
    <ConditionDetection ID="SystemOIDFilter" TypeID="System!System.ExpressionFilter">
    <Expression>
    <RegExExpression>
    <ValueExpression>
    <Value>$Config/SystemOID$</Value>
    </ValueExpression>
    <Operator>ContainsSubstring</Operator>
    <Pattern>1.3.6.1.4.1.12124.</Pattern>
    </RegExExpression>
    </Expression>
    </ConditionDetection>
    </MemberModules>
    <Composition>
    <Node ID="Mapper">
    <Node ID="Probe">
    <Node ID="SystemOIDFilter">
    <Node ID="Scheduler" />
    </Node>
    </Node>
    </Node>
    </Composition>
    </Composite>
    </ModuleImplementation>
    <OutputType>System!System.Discovery.Data</OutputType>
    </DataSourceModuleType>
    <DataSourceModuleType ID="IsilonSNMP.DataSource.DiscoverPhysicalDisk" Accessibility="Internal" Batching="false">
    <Configuration>
    <xsd:element minOccurs="1" name="IPAddress" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="CommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="ConfiguredNodes" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="BayIndex" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="NodeCommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    </Configuration>
    <OverrideableParameters>
    <OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int" />
    </OverrideableParameters>
    <ModuleImplementation Isolation="Any">
    <Composite>
    <MemberModules>
    <DataSource ID="Scheduler" TypeID="System!System.Scheduler">
    <Scheduler>
    <SimpleReccuringSchedule>
    <Interval>$Config/Interval$</Interval>
    <SyncTime />
    </SimpleReccuringSchedule>
    <ExcludeDates />
    </Scheduler>
    </DataSource>
    <ProbeAction ID="ScriptDiscovery" TypeID="Windows!Microsoft.Windows.ScriptDiscoveryProbe">
    <ScriptName>DiscoverIsilonDisk.vbs</ScriptName>
    <Arguments>$Config/IPAddress$ $Config/CommStr$ $MPElement$ $Target/Id$ $Config/ConfiguredNodes$</Arguments>
    <ScriptBody>
    <![CDATA['Discover PhysicalDisk
    Dim oAPI, oDiscoveryData, oInst, objWMIServices, objWMILocator, oArgs
    set oArgs = Wscript.Arguments
    if oArgs.Count <5 Then
    Wscript.Quit -1
    End If
    DeviceIP = oArgs(0)
    CommStr = oArgs(1)
    SourceID = oArgs(2)
    ManagedEntityId = oArgs(3)
    StrConfiguredNodes = oArgs(4)
    CommStr = Decode(CommStr)
    ConfiguredNodesCommStr = cstr(CommStr)
    wscript.echo CommStr
    Set oAPI = CreateObject("MOM.ScriptAPI")
    set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)
    Set objWMILocator = CreateObject("WbemScripting.SWbemLocator")
    Set objWMIServices = objWMiLocator.ConnectServer("","root\snmp\localhost")
    'Name community name
    GetPhysicalDisks
    'Created community names
    For i = 1 to StrConfiguredNodes
    CommStr = ConfiguredNodesCommStr & "_node_" & i
    GetPhysicalDisks
    Next
    'Return all data to SCOM
    Call oAPI.Return(oDiscoveryData)
    Sub GetPhysicalDisks
    on error resume next
    Set objWmiNamedValueSet = CreateObject("WbemScripting.SWbemNamedValueSet")
    objWmiNamedValueSet.Add "AgentAddress", cstr(DeviceIP)
    objWmiNamedValueSet.Add "AgentReadCommunityName", cstr(CommStr)
    Set colPhysicalDisk = objWmiServices.InstancesOf("SNMP_ISILON_MIB_diskTable", , objWMINamedValueset)
    For each objItem in colPhysicalDisk
    nIndex = objItem.diskBay
    sDesc = objItem.diskSerialNumber
    if nIndex > 0 then
    set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalDisk']$")
    call oInst.AddProperty("$MPElement[Name='MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice']/IPAddress$", DeviceIP)
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalDisk']/Index$", cstr(CommStr) & "-" & cdbl(nIndex))
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalDisk']/NodeCommStr$", Encode(CommStr))
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalDisk']/BayIndex$", cdbl(nIndex))
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.Nodes']/Name$", "Cluster")
    call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "SNMP Host " & cstr(CommStr) & " - Bay " & nIndex & " - Serial Number " & HexToString(sDesc))
    'call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", HexToString(sDesc))
    call oDiscoveryData.AddInstance(oInst)
    'Test Section
    'wscript.echo Base64Encode(CommStr)
    'wscript.echo Base64Encoder(CommStr)
    'wscript.Echo CommStr
    'wscript.Echo nIndex
    'Wscript.Echo HexToString(sDesc)
    'wscript.echo cdbl(nIndex) & cstr(CommStr)
    end if
    Next
    on error goto 0
    End Sub
    Function Decode(strB64)
    strXML = "<B64DECODE xmlns:dt=" & Chr(34) & _
    "urn:schemas-microsoft-com:datatypes" & Chr(34) & " " & _
    "dt:dt=" & Chr(34) & "bin.base64" & Chr(34) & ">" & _
    strB64 & "</B64DECODE>"
    Set oXMLDoc = CreateObject("MSXML2.DOMDocument.3.0")
    oXMLDoc.LoadXML(strXML)
    decode = oXMLDoc.selectsinglenode("B64DECODE").nodeTypedValue
    set oXMLDoc = nothing
    End Function
    Function Encode(Str)
    'Use ADODB.Stream to write Ansi string to Unicode stream
    Set objStream = CreateObject("ADODB.Stream")
    objStream.Type = 2
    objStream.Open
    objStream.Charset = "unicode"
    objStream.WriteText Str
    objstream.Flush
    'Read the stream back as a byte array
    objStream.Position = 0
    objStream.Type = 1
    temp = objstream.read(2) 'read two bytes of the stream to discard the byte order mark
    bArray = objStream.Read
    objStream.Close
    'Convert byte array to Base64
    set objXML = createobject("MSXML2.DOMDocument.3.0")
    Set objNode = objXML.createElement("b64")
    objNode.dataType = "bin.base64"
    objNode.nodeTypedValue = bArray
    Encode = objNode.Text
    Set Stream = Nothing
    set objNode = nothing
    set objXML = nothing
    End Function
    Function HexToString(str)
    on error resume next
    sOutput = ""
    For x = 1 To len(str) Step 2
    sChar = Chr(Clng("&h" & Mid(str,x,2)))
    sOutput = sOutput & sChar
    Next
    if err.number = 0 then
    HexToString = sOutput
    Else
    HexToString = str
    end if
    End Function
    set oInst = nothing
    set oDiscoveryData = nothing
    set oArgs = nothing
    set oAPI = nothing
    set objWMILocator = nothing
    set objWMIServices = nothing
    set objWMINamedValueSet = nothing
    ]]>
    </ScriptBody>
    <TimeoutSeconds>120</TimeoutSeconds>
    </ProbeAction>
    </MemberModules>
    <Composition>
    <Node ID="ScriptDiscovery">
    <Node ID="Scheduler" />
    </Node>
    </Composition>
    </Composite>
    </ModuleImplementation>
    <OutputType>System!System.Discovery.Data</OutputType>
    </DataSourceModuleType>

    <DataSourceModuleType ID="IsilonSNMP.DataSource.DiscoverPhysicalFan" Accessibility="Internal" Batching="false">
    <Configuration>
    <xsd:element minOccurs="1" name="IPAddress" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="CommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="ConfiguredNodes" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="FanNumber" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="NodeCommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="FanSpeedHighCritical" type="xsd:integer" />
    <xsd:element minOccurs="1" name="FanSpeedLowWarn" type="xsd:integer" />
    <xsd:element minOccurs="1" name="FanSpeedLowCritical" type="xsd:integer" />
    </Configuration>
    <OverrideableParameters>
    <OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int" />
    <OverrideableParameter ID="FanSpeedHighCritical" Selector="$Config/FanSpeedHighCritical$" ParameterType="int" />
    <OverrideableParameter ID="FanSpeedLowWarn" Selector="$Config/FanSpeedLowWarn$" ParameterType="int" />
    <OverrideableParameter ID="FanSpeedLowCritical" Selector="$Config/FanSpeedLowCritical$" ParameterType="int" />
    </OverrideableParameters>
    <ModuleImplementation Isolation="Any">
    <Composite>
    <MemberModules>
    <DataSource ID="Scheduler" TypeID="System!System.Scheduler">
    <Scheduler>
    <SimpleReccuringSchedule>
    <Interval>$Config/Interval$</Interval>
    <SyncTime />
    </SimpleReccuringSchedule>
    <ExcludeDates />
    </Scheduler>
    </DataSource>
    <ProbeAction ID="ScriptDiscovery" TypeID="Windows!Microsoft.Windows.ScriptDiscoveryProbe">
    <ScriptName>DiscoverIsilonPhysicalFan.vbs</ScriptName>
    <Arguments>$Config/IPAddress$ $Config/CommStr$ $MPElement$ $Target/Id$ $Config/ConfiguredNodes$</Arguments>
    <ScriptBody>
    <![CDATA['Discover PhysicalFan
    Dim oAPI, oDiscoveryData, oInst, objWMIServices, objWMILocator, oArgs
    set oArgs = Wscript.Arguments
    if oArgs.Count <5 Then
    Wscript.Quit -1
    End If
    DeviceIP = oArgs(0)
    CommStr = oArgs(1)
    SourceID = oArgs(2)
    ManagedEntityId = oArgs(3)
    StrConfiguredNodes = oArgs(4)
    CommStr = Decode(CommStr)
    ConfiguredNodesCommStr = cstr(CommStr)
    wscript.echo CommStr
    Set oAPI = CreateObject("MOM.ScriptAPI")
    set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)
    Set objWMILocator = CreateObject("WbemScripting.SWbemLocator")
    Set objWMIServices = objWMiLocator.ConnectServer("","root\snmp\localhost")
    'Name community name
    GetPhysicalFan
    'Created community names
    For i = 1 to StrConfiguredNodes
    CommStr = ConfiguredNodesCommStr & "_node_" & i
    GetPhysicalFan
    Next
    'Return all data to SCOM
    Call oAPI.Return(oDiscoveryData)
    Sub GetPhysicalFan
    on error resume next
    Set objWmiNamedValueSet = CreateObject("WbemScripting.SWbemNamedValueSet")
    objWmiNamedValueSet.Add "AgentAddress", cstr(DeviceIP)
    objWmiNamedValueSet.Add "AgentReadCommunityName", cstr(CommStr)
    Set colPhysicalFan = objWmiServices.InstancesOf("SNMP_ISILON_MIB_FanTable", , objWMINamedValueset)
    For each objItem in colPhysicalFan
    nIndex = objItem.fanNumber
    sDesc = objItem.fanDescription
    if nIndex > 0 then
    set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalFan']$")
    call oInst.AddProperty("$MPElement[Name='MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice']/IPAddress$", DeviceIP)
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalFan']/Index$", cstr(CommStr) & "-" & cdbl(nIndex))
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalFan']/NodeCommStr$", Encode(CommStr))
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.PhysicalFan']/FanNumber$", cdbl(nIndex))
    call oInst.AddProperty("$MPElement[Name='IsilonSNMP.Class.IsilonCluster.Nodes']/Name$", "Cluster")
    'call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "SNMP Host " & cstr(CommStr) & " - Bay " & nIndex & " - Serial Number " & HexToString(sDesc))
    call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "SNMP Host " & cstr(CommStr) & " - " & HexToString(sDesc))
    call oDiscoveryData.AddInstance(oInst)
    'Test Section
    'wscript.echo Base64Encode(CommStr)
    'wscript.echo Base64Encoder(CommStr)
    'wscript.Echo CommStr
    'wscript.Echo nIndex
    'Wscript.Echo HexToString(sDesc)
    'wscript.echo cdbl(nIndex) & cstr(CommStr)
    end if
    Next
    on error goto 0
    End Sub
    Function Decode(strB64)
    strXML = "<B64DECODE xmlns:dt=" & Chr(34) & _
    "urn:schemas-microsoft-com:datatypes" & Chr(34) & " " & _
    "dt:dt=" & Chr(34) & "bin.base64" & Chr(34) & ">" & _
    strB64 & "</B64DECODE>"
    Set oXMLDoc = CreateObject("MSXML2.DOMDocument.3.0")
    oXMLDoc.LoadXML(strXML)
    decode = oXMLDoc.selectsinglenode("B64DECODE").nodeTypedValue
    set oXMLDoc = nothing
    End Function
    Function Encode(Str)
    'Use ADODB.Stream to write Ansi string to Unicode stream
    Set objStream = CreateObject("ADODB.Stream")
    objStream.Type = 2
    objStream.Open
    objStream.Charset = "unicode"
    objStream.WriteText Str
    objstream.Flush
    'Read the stream back as a byte array
    objStream.Position = 0
    objStream.Type = 1
    temp = objstream.read(2) 'read two bytes of the stream to discard the byte order mark
    bArray = objStream.Read
    objStream.Close
    'Convert byte array to Base64
    set objXML = createobject("MSXML2.DOMDocument.3.0")
    Set objNode = objXML.createElement("b64")
    objNode.dataType = "bin.base64"
    objNode.nodeTypedValue = bArray
    Encode = objNode.Text
    Set Stream = Nothing
    set objNode = nothing
    set objXML = nothing
    End Function
    Function HexToString(str)
    on error resume next
    sOutput = ""
    For x = 1 To len(str) Step 2
    sChar = Chr(Clng("&h" & Mid(str,x,2)))
    sOutput = sOutput & sChar
    Next
    if err.number = 0 then
    HexToString = sOutput
    Else
    HexToString = str
    end if
    End Function
    set oInst = nothing
    set oDiscoveryData = nothing
    set oArgs = nothing
    set oAPI = nothing
    set objWMILocator = nothing
    set objWMIServices = nothing
    set objWMINamedValueSet = nothing
    ]]>
    </ScriptBody>
    <TimeoutSeconds>120</TimeoutSeconds>
    </ProbeAction>
    </MemberModules>
    <Composition>
    <Node ID="ScriptDiscovery">
    <Node ID="Scheduler" />
    </Node>
    </Composition>
    </Composite>
    </ModuleImplementation>
    <OutputType>System!System.Discovery.Data</OutputType>
    </DataSourceModuleType>
    </ModuleTypes>
    <MonitorTypes>
    <UnitMonitorType ID="IsilonSNMP.MonitorType.PhysicalDiskStatus" Accessibility="Internal">
    <MonitorTypeStates>
    <MonitorTypeState ID="PhysicalDiskOK" NoDetection="false" />
    <MonitorTypeState ID="PhysicalDiskNotOK" NoDetection="false" />
    </MonitorTypeStates>
    <Configuration>
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="IPAddress" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="OID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="NodeCommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    </Configuration>
    <MonitorImplementation>
    <MemberModules>
    <DataSource ID="DS1" TypeID="IsilonSNMP.DataSource.BasicSNMPProbe">
    <Interval>$Config/Interval$</Interval>
    <IPAddress>$Config/IPAddress$</IPAddress>
    <CommStr>$Config/NodeCommStr$</CommStr>
    <OID>$Config/OID$</OID>
    </DataSource>
    <ConditionDetection ID="CDPhysicalDiskOK" TypeID="System!System.ExpressionFilter">
    <Expression>
    <RegExExpression>
    <ValueExpression>
    <XPathQuery Type="String">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>ContainsSubstring</Operator>
    <Pattern>HEALTHY</Pattern>
    </RegExExpression>
    </Expression>
    </ConditionDetection>
    <ConditionDetection ID="CDPhysicalDiskNotOK" TypeID="System!System.ExpressionFilter">
    <Expression>
    <RegExExpression>
    <ValueExpression>
    <XPathQuery Type="String">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>DoesNotContainSubstring</Operator>
    <Pattern>HEALTHY</Pattern>
    </RegExExpression>
    </Expression>
    </ConditionDetection>
    </MemberModules>
    <RegularDetections>
    <RegularDetection MonitorTypeStateID="PhysicalDiskOK">
    <Node ID="CDPhysicalDiskOK">
    <Node ID="DS1" />
    </Node>
    </RegularDetection>
    <RegularDetection MonitorTypeStateID="PhysicalDiskNotOK">
    <Node ID="CDPhysicalDiskNotOK">
    <Node ID="DS1" />
    </Node>
    </RegularDetection>
    </RegularDetections>
    </MonitorImplementation>
    </UnitMonitorType>
    <UnitMonitorType ID="IsilonSNMP.MonitorType.PhysicalFanStatus" Accessibility="Internal">
    <MonitorTypeStates>
    <MonitorTypeState ID="PhysicalFanOK" NoDetection="false" />
    <MonitorTypeState ID="PhysicalFanWarn" NoDetection="false" />
    <MonitorTypeState ID="PhysicalFanCritical" NoDetection="false" />
    </MonitorTypeStates>
    <Configuration>
    <xsd:element minOccurs="1" name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="IPAddress" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="OID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="NodeCommStr" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
    <xsd:element minOccurs="1" name="FanSpeedHighCritical" type="xsd:integer" />
    <xsd:element minOccurs="1" name="FanSpeedLowWarn" type="xsd:integer" />
    <xsd:element minOccurs="1" name="FanSpeedLowCritical" type="xsd:integer" />
    </Configuration>
    <OverrideableParameters>
    <OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int" />
    <OverrideableParameter ID="FanSpeedHighCritical" Selector="$Config/FanSpeedHighCritical$" ParameterType="int" />
    <OverrideableParameter ID="FanSpeedLowWarn" Selector="$Config/FanSpeedLowWarn$" ParameterType="int" />
    <OverrideableParameter ID="FanSpeedLowCritical" Selector="$Config/FanSpeedLowCritical$" ParameterType="int" />
    </OverrideableParameters>
    <MonitorImplementation>
    <MemberModules>
    <DataSource ID="DS1" TypeID="IsilonSNMP.DataSource.BasicSNMPProbe">
    <Interval>$Config/Interval$</Interval>
    <IPAddress>$Config/IPAddress$</IPAddress>
    <CommStr>$Config/NodeCommStr$</CommStr>
    <OID>$Config/OID$</OID>
    </DataSource>
    <ConditionDetection ID="CDPhysicalFanOK" TypeID="System!System.ExpressionFilter">
    <Expression>
    <And>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>Less</Operator>
    <ValueExpression>
    <Value Type="Integer">$Config/FanSpeedHighCritical$</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>Greater</Operator>
    <ValueExpression>
    <Value Type="Integer">$Config/FanSpeedLowWarn$</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    </And>
    </Expression>
    </ConditionDetection>
    <ConditionDetection ID="CDPhysicalFanWarn" TypeID="System!System.ExpressionFilter">
    <Expression>
    <And>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>LessEqual</Operator>
    <ValueExpression>
    <Value Type="Integer">$Config/FanSpeedLowWarn$</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>Greater</Operator>
    <ValueExpression>
    <Value Type="Integer">$Config/FanSpeedLowWarn$</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    </And>
    </Expression>
    </ConditionDetection>
    <ConditionDetection ID="CDPhysicalFanCritical" TypeID="System!System.ExpressionFilter">
    <Expression>
    <Or>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>GreaterEqual</Operator>
    <ValueExpression>
    <Value Type="Integer">$Config/FanSpeedHighCritical$</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    <Expression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="Integer">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>LessEqual</Operator>
    <ValueExpression>
    <Value Type="Integer">$Config/FanSpeedLowCritical$</Value>
    </ValueExpression>
    </SimpleExpression>
    </Expression>
    </Or>
    </Expression>
    </ConditionDetection>
    </MemberModules>
    <RegularDetections>
    <RegularDetection MonitorTypeStateID="PhysicalFanOK">
    <Node ID="CDPhysicalFanOK">
    <Node ID="DS1" />
    </Node>
    </RegularDetection>
    <RegularDetection MonitorTypeStateID="PhysicalFanWarn">
    <Node ID="CDPhysicalFanWarn">
    <Node ID="DS1" />
    </Node>
    </RegularDetection>
    <RegularDetection MonitorTypeStateID="PhysicalFanCritical">
    <Node ID="CDPhysicalFanCritical">
    <Node ID="DS1" />
    </Node>
    </RegularDetection>
    </RegularDetections>
    </MonitorImplementation>
    </UnitMonitorType>
    </MonitorTypes>
    </TypeDefinitions>
    <Monitoring>
    <Discoveries>
    <Discovery ID="IsilonSNMP.Discovery.Cluster" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster" ConfirmDelivery="true" Remotable="true" Priority="Normal">
    <Category>Discovery</Category>
    <DiscoveryTypes>
    <DiscoveryClass TypeID="IsilonSNMP.Class.IsilonCluster.Nodes" />
    <DiscoveryRelationship TypeID="IsilonSNMP.Relationship.ClusterHostsNodes" />
    </DiscoveryTypes>
    <DataSource ID="DS1" TypeID="IsilonSNMP.DataSource.DiscoverContainmentClasses">
    <IPAddress>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPAddress>
    <ClassID>$MPElement[Name="IsilonSNMP.Class.IsilonCluster.Nodes"]$</ClassID>
    <InstanceSettings>
    <Settings>
    <Setting>
    <Name>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Name>
    <Value>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="System!System.Entity"]/DisplayName$</Name>
    <Value>Cluster</Value>
    </Setting>
    <Setting>
    <Name>$MPElement[Name="IsilonSNMP.Class.IsilonCluster.Nodes"]/Name$</Name>
    <Value>Cluster</Value>
    </Setting>
    </Settings>
    </InstanceSettings>
    </DataSource>
    </Discovery>
    <Discovery ID="IsilonSNMP.Discovery.IsilonCluster" Enabled="true" Target="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice" ConfirmDelivery="true" Remotable="true" Priority="Normal">
    <Category>Discovery</Category>
    <DiscoveryTypes>
    <DiscoveryClass TypeID="IsilonSNMP.Class.IsilonCluster" />
    </DiscoveryTypes>
    <DataSource ID="DS1" TypeID="IsilonSNMP.DataSource.DiscoverCluster">
    <Interval>600</Interval>
    <IP>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IP>
    <CommunityString>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</CommunityString>
    <SystemOID>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/SystemOID$</SystemOID>
    </DataSource>
    </Discovery>
    <Discovery ID="IsilonSNMP.Discovery.IsilonClustersGroup" Enabled="true" Target="IsilonSNMP.Group.IsilonClusters" ConfirmDelivery="true" Remotable="true" Priority="Normal">
    <Category>Discovery</Category>
    <DiscoveryTypes>
    <DiscoveryRelationship TypeID="IsilonSNMP.Relationship.IsilonClustersGroupContainsIsilonClusters" />
    </DiscoveryTypes>
    <DataSource ID="GP1" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
    <RuleId>$MPElement$</RuleId>
    <GroupInstanceId>$MPElement[Name="IsilonSNMP.Group.IsilonClusters"]$</GroupInstanceId>
    <MembershipRules>
    <MembershipRule>
    <MonitoringClass>$MPElement[Name="IsilonSNMP.Class.IsilonCluster"]$</MonitoringClass>
    <RelationshipClass>$MPElement[Name="IsilonSNMP.Relationship.IsilonClustersGroupContainsIsilonClusters"]$</RelationshipClass>
    <Expression>
    <RegExExpression>
    <ValueExpression>
    <Property>$MPElement[Name="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Property>
    </ValueExpression>
    <Operator>ContainsSubstring</Operator>
    <Pattern>.</Pattern>
    </RegExExpression>
    </Expression>
    </MembershipRule>
    </MembershipRules>
    </DataSource>
    </Discovery>
    <Discovery ID="IsilonSNMP.Discovery.PhysicalDisk" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster.Nodes" ConfirmDelivery="true" Remotable="true" Priority="Normal">
    <Category>Discovery</Category>
    <DiscoveryTypes>
    <DiscoveryClass TypeID="IsilonSNMP.Class.IsilonCluster.PhysicalDisk" />
    <DiscoveryRelationship TypeID="IsilonSNMP.Relationship.NodesHostsPhysicalDisk" />
    </DiscoveryTypes>
    <DataSource ID="DS1" TypeID="IsilonSNMP.DataSource.DiscoverPhysicalDisk">
    <IPAddress>$Target/Host/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPAddress>
    <CommStr>$Target/Host/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</CommStr>
    <Interval>7800</Interval>
    <ConfiguredNodes>$Target/Host/Property[Type="IsilonSNMP.Class.IsilonCluster"]/ConfiguredNodes$</ConfiguredNodes>
    <BayIndex>$MPElement[Name="IsilonSNMP.Class.IsilonCluster.PhysicalDisk"]/BayIndex$</BayIndex>
    <NodeCommStr>$MPElement[Name="IsilonSNMP.Class.IsilonCluster.PhysicalDisk"]/NodeCommStr$</NodeCommStr>
    </DataSource>
    </Discovery>
    <Discovery ID="IsilonSNMP.Discovery.PhysicalFan" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster.Nodes" ConfirmDelivery="true" Remotable="true" Priority="Normal">
    <Category>Discovery</Category>
    <DiscoveryTypes>
    <DiscoveryClass TypeID="IsilonSNMP.Class.IsilonCluster.PhysicalFan" />
    <DiscoveryRelationship TypeID="IsilonSNMP.Relationship.NodesHostsPhysicalFan" />
    </DiscoveryTypes>
    <DataSource ID="DS1" TypeID="IsilonSNMP.DataSource.DiscoverPhysicalFan">
    <IPAddress>$Target/Host/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPAddress>
    <CommStr>$Target/Host/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</CommStr>
    <Interval>8000</Interval>
    <ConfiguredNodes>$Target/Host/Property[Type="IsilonSNMP.Class.IsilonCluster"]/ConfiguredNodes$</ConfiguredNodes>
    <FanNumber>$MPElement[Name="IsilonSNMP.Class.IsilonCluster.PhysicalFan"]/FanNumber$</FanNumber>
    <NodeCommStr>$MPElement[Name="IsilonSNMP.Class.IsilonCluster.PhysicalFan"]/NodeCommStr$</NodeCommStr>
    <FanSpeedHighCritical>14500</FanSpeedHighCritical>
    <FanSpeedLowWarn>3400</FanSpeedLowWarn>
    <FanSpeedLowCritical>3000</FanSpeedLowCritical>
    </DataSource>
    </Discovery>
    </Discoveries>
    <Monitors>
    <UnitMonitor ID="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70" Accessibility="Public" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Snmp!System.SnmpTrapProvider.2SingleEvent2StateMonitorType" ConfirmDelivery="false">
    <Category>Custom</Category>
    <AlertSettings AlertMessage="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70_AlertMessageResourceID">
    <AlertOnState>Warning</AlertOnState>
    <AutoResolve>true</AutoResolve>
    <AlertPriority>Normal</AlertPriority>
    <AlertSeverity>MatchMonitorHealth</AlertSeverity>
    </AlertSettings>
    <OperationalStates>
    <OperationalState ID="UIGeneratedOpStateId843498792d7d4fbf80d83f3939255dd9" MonitorTypeStateID="SecondEventRaised" HealthState="Success" />
    <OperationalState ID="UIGeneratedOpStateId9fd776cd21a747c5994738e863b31fb9" MonitorTypeStateID="FirstEventRaised" HealthState="Warning" />
    </OperationalStates>
    <Configuration>
    <FirstIP>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</FirstIP>
    <FirstCommunityString>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</FirstCommunityString>
    <FirstAllTraps>false</FirstAllTraps>
    <FirstVersion>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/Version$</FirstVersion>
    <FirstOIDProps>
    <OIDProp>.1.3.6.1.4.1.12124.1.1.2.0</OIDProp>
    </FirstOIDProps>
    <FirstExpression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="String">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>Equal</Operator>
    <ValueExpression>
    <Value Type="String">1</Value>
    </ValueExpression>
    </SimpleExpression>
    </FirstExpression>
    <SecondIP>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</SecondIP>
    <SecondCommunityString>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</SecondCommunityString>
    <SecondAllTraps>false</SecondAllTraps>
    <SecondVersion>$Target/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/Version$</SecondVersion>
    <SecondOIDProps>
    <OIDProp>.1.3.6.1.4.1.12124.1.1.2.0</OIDProp>
    </SecondOIDProps>
    <SecondExpression>
    <SimpleExpression>
    <ValueExpression>
    <XPathQuery Type="String">/DataItem/SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
    </ValueExpression>
    <Operator>NotEqual</Operator>
    <ValueExpression>
    <Value Type="String">1</Value>
    </ValueExpression>
    </SimpleExpression>
    </SecondExpression>
    </Configuration>
    </UnitMonitor>
    <UnitMonitor ID="IsilonSNMP.Monitor.PhysicalDiskStatus" Accessibility="Internal" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster.PhysicalDisk" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="IsilonSNMP.MonitorType.PhysicalDiskStatus" ConfirmDelivery="true">
    <Category>AvailabilityHealth</Category>
    <AlertSettings AlertMessage="IsilonSNMP.Monitor.PhysicalDiskStatus_AlertMessageResourceID">
    <AlertOnState>Warning</AlertOnState>
    <AutoResolve>true</AutoResolve>
    <AlertPriority>Normal</AlertPriority>
    <AlertSeverity>MatchMonitorHealth</AlertSeverity>
    <AlertParameters>
    <AlertParameter1>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter1>
    <AlertParameter2>$Data/Context/SnmpVarBinds/SnmpVarBind[1]/Value$</AlertParameter2>
    </AlertParameters>
    </AlertSettings>
    <OperationalStates>
    <OperationalState ID="IsilonSNMP.Monitor.PhysicalDiskStatus_PhysicalDiskOK" MonitorTypeStateID="PhysicalDiskOK" HealthState="Success" />
    <OperationalState ID="IsilonSNMP.Monitor.PhysicalDiskStatus_PhysicalDiskNotOK" MonitorTypeStateID="PhysicalDiskNotOK" HealthState="Warning" />
    </OperationalStates>
    <Configuration>
    <Interval>120</Interval>
    <IPAddress>$Target/Host/Host/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPAddress>
    <OID>.1.3.6.1.4.1.12124.2.52.1.5.$Target/Property[Type="IsilonSNMP.Class.IsilonCluster.PhysicalDisk"]/BayIndex$</OID>
    <NodeCommStr>$Target/Property[Type="IsilonSNMP.Class.IsilonCluster.PhysicalDisk"]/NodeCommStr$</NodeCommStr>
    </Configuration>
    </UnitMonitor>
    <UnitMonitor ID="IsilonSNMP.Monitor.PhysicalFanStatus" Accessibility="Internal" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster.PhysicalFan" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="IsilonSNMP.MonitorType.PhysicalFanStatus" ConfirmDelivery="true">
    <Category>AvailabilityHealth</Category>
    <AlertSettings AlertMessage="IsilonSNMP.Monitor.PhysicalFanStatus_AlertMessageResourceID">
    <AlertOnState>Warning</AlertOnState>
    <AutoResolve>true</AutoResolve>
    <AlertPriority>Normal</AlertPriority>
    <AlertSeverity>MatchMonitorHealth</AlertSeverity>
    <AlertParameters>
    <AlertParameter1>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter1>
    <AlertParameter2>$Data/Context/SnmpVarBinds/SnmpVarBind[1]/Value$</AlertParameter2>
    </AlertParameters>
    </AlertSettings>
    <OperationalStates>
    <OperationalState ID="IsilonSNMP.Monitor.PhysicalFanStatus_PhysicalFanOK" MonitorTypeStateID="PhysicalFanOK" HealthState="Success" />
    <OperationalState ID="IsilonSNMP.Monitor.PhysicalFanStatus_PhysicalFanWarn" MonitorTypeStateID="PhysicalFanWarn" HealthState="Warning" />
    <OperationalState ID="IsilonSNMP.Monitor.PhysicalFanStatus_PhysicalFanCritical" MonitorTypeStateID="PhysicalFanCritical" HealthState="Error" />
    </OperationalStates>
    <Configuration>
    <Interval>120</Interval>
    <IPAddress>$Target/Host/Host/Property[Type="MicrosoftSystemCenterNetworkDeviceLibrary!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPAddress>
    <OID>.1.3.6.1.4.1.12124.2.53.1.4.$Target/Property[Type="IsilonSNMP.Class.IsilonCluster.PhysicalFan"]/FanNumber$</OID>
    <NodeCommStr>$Target/Property[Type="IsilonSNMP.Class.IsilonCluster.PhysicalFan"]/NodeCommStr$</NodeCommStr>
    <FanSpeedHighCritical>14500</FanSpeedHighCritical>
    <FanSpeedLowWarn>3400</FanSpeedLowWarn>
    <FanSpeedLowCritical>3000</FanSpeedLowCritical>
    </Configuration>
    </UnitMonitor>
    <DependencyMonitor ID="IsilonSNMP.Monitor.ClusterPhysicalDiskAvailabilityDependency" Accessibility="Internal" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster.Nodes" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="IsilonSNMP.Relationship.NodesHostsPhysicalDisk" MemberMonitor="IsilonSNMP.Monitor.PhysicalDiskStatus">
    <Category>AvailabilityHealth</Category>
    <Algorithm>WorstOf</Algorithm>
    <MemberUnAvailable>Error</MemberUnAvailable>
    </DependencyMonitor>
    <DependencyMonitor ID="IsilonSNMP.Monitor.ClusterPhysicalFanAvailabilityDependency" Accessibility="Internal" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster.Nodes" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="IsilonSNMP.Relationship.NodesHostsPhysicalFan" MemberMonitor="IsilonSNMP.Monitor.PhysicalFanStatus">
    <Category>AvailabilityHealth</Category>
    <Algorithm>WorstOf</Algorithm>
    <MemberUnAvailable>Error</MemberUnAvailable>
    </DependencyMonitor>
    <DependencyMonitor ID="IsilonSNMP.Monitor.ClusterClusterAvailabilityDependency" Accessibility="Internal" Enabled="true" Target="IsilonSNMP.Class.IsilonCluster" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="IsilonSNMP.Relationship.ClusterHostsNodes" MemberMonitor="Health!System.Health.AvailabilityState">
    <Category>AvailabilityHealth</Category>
    <Algorithm>WorstOf</Algorithm>
    <MemberUnAvailable>Error</MemberUnAvailable>
    </DependencyMonitor>
    </Monitors>
    </Monitoring>
    <Presentation>
    <StringResources>
    <StringResource ID="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70_AlertMessageResourceID" />
    <StringResource ID="AlertMessageIDb1a3848769824949889fcc4c159cf462" />
    <StringResource ID="IsilonSNMP.Monitor.PhysicalDiskStatus_AlertMessageResourceID" />
    <StringResource ID="IsilonSNMP.Monitor.PhysicalFanStatus_AlertMessageResourceID" />
    </StringResources>
    </Presentation>
    <LanguagePacks>
    <LanguagePack ID="ENU" IsDefault="true">
    <DisplayStrings>
    <DisplayString ElementID="IsilonSNMP">
    <Name>Isilon SNMP MP</Name>
    <Description>Management pack to discover a Isilon cluster running OneFS 5.5</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster">
    <Name>Isilon Cluster</Name>
    <Description>Isilon SNMP Device</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster" SubElementID="Hostname">
    <Name>Hostname</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster" SubElementID="ConfiguredNodes">
    <Name>ConfiguredNodes</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster.Nodes" SubElementID="Name">
    <Name>Name</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster.Nodes">
    <Name>Isilon Cluster Hosts Nodes</Name>
    <Description>Containment class for the Isilon cluster with components such as hard disks, fans, power supplies, etc.</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Relationship.ClusterHostsNodes">
    <Name>Isilon Cluster Hosts Nodes</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Discovery.IsilonCluster">
    <Name>Discover Isilon Cluster</Name>
    <Description>Discovery of the Isilon Cluster using OID strings from RFC1213.</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.DataSource.BasicSNMPProbe">
    <Name>Isilon Basic Probe Data Source</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.DataSource.DiscoverCluster">
    <Name>Discover Isilon Cluster</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Relationship.IsilonClustersGroupContainsIsilonClusters">
    <Name>Isilon Devices Group Contains Isilon Cluster</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Discovery.Cluster">
    <Name>Discover Isilon Cluster Containment Class</Name>
    <Description>Discovers the Cluster containment class, which hosts managed objects such as fans</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Discovery.IsilonClustersGroup">
    <Name>Isilon Deivce Group Populator</Name>
    </DisplayString>
    <DisplayString ElementID="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70">
    <Name>PlaceHolder</Name>
    <Description>Place Holder to detect isilon cluster</Description>
    </DisplayString>
    <DisplayString ElementID="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70" SubElementID="UIGeneratedOpStateId843498792d7d4fbf80d83f3939255dd9">
    <Name>Second Event Raised</Name>
    </DisplayString>
    <DisplayString ElementID="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70" SubElementID="UIGeneratedOpStateId9fd776cd21a747c5994738e863b31fb9">
    <Name>First Event Raised</Name>
    </DisplayString>
    <DisplayString ElementID="UIGeneratedMonitore2c4dd195da8497bb99c9711e4134d70_AlertMessageResourceID">
    <Name>PlaceHolder</Name>
    <Description>placeholder alert to detect isilon</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalDiskStatus">
    <Name>Isilon PhysicalDisk Status Monitor</Name>
    <Description>Monitor that generates an alert when the PhysicalDisk status is not ok.</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalDiskStatus" SubElementID="IsilonSNMP.Monitor.PhysicalDiskStatus_PhysicalDiskOK">
    <Name>PhysicalDiskOK</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalDiskStatus" SubElementID="IsilonSNMP.Monitor.PhysicalDiskStatus_PhysicalDiskNotOK">
    <Name>PhysicalDiskOK</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalDiskStatus_AlertMessageResourceID">
    <Name>Isilon PhysicalDisk Status</Name>
    <Description>The Disk ({0}) is in a warning or error state. The Disk state is: {1}.</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster.PhysicalDisk">
    <Name>Isilon Disk</Name>
    <Description>Disk</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster.PhysicalDisk" SubElementID="Index">
    <Name>Index</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Relationship.NodesHostsPhysicalDisk">
    <Name>Isilon Cluster Hosts PhysicalDisk</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Discovery.PhysicalDisk">
    <Name>Discover Isilon Cluster Physical Disks</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.DataSource.DiscoverPhysicalDisk">
    <Name>Discover Isilon Cluster PhysicalDisk</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.ClusterPhysicalDiskAvailabilityDependency">
    <Name>Isilon Disk</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalFanStatus">
    <Name>Isilon PhysicalFan Status Monitor</Name>
    <Description>Monitor that generates an alert when the PhysicalFan speed is not within a premited range.</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalFanStatus" SubElementID="IsilonSNMP.Monitor.PhysicalFanStatus_PhysicalFanOK">
    <Name>PhysicalFanOK</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalFanStatus" SubElementID="IsilonSNMP.Monitor.PhysicalFanStatus_PhysicalFanWarn">
    <Name>PhysicalFanWarn</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalFanStatus" SubElementID="IsilonSNMP.Monitor.PhysicalFanStatus_PhysicalFanCritical">
    <Name>PhysicalFanCritical</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.PhysicalFanStatus_AlertMessageResourceID">
    <Name>Isilon PhysicalFan Status</Name>
    <Description>The Fan ({0}) is in a warning or error state. Current Fan speed is: {1}.</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster.PhysicalFan">
    <Name>Isilon Fan</Name>
    <Description>Fan</Description>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Class.IsilonCluster.PhysicalFan" SubElementID="Index">
    <Name>Index</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Relationship.NodesHostsPhysicalFan">
    <Name>Isilon Cluster Hosts PhysicalFan</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Discovery.PhysicalFan">
    <Name>Discover Isilon Cluster Physical Fans</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.DataSource.DiscoverPhysicalFan">
    <Name>Discover Isilon Cluster PhysicalFan</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.ClusterPhysicalFanAvailabilityDependency">
    <Name>Isilon Fan</Name>
    </DisplayString>
    <DisplayString ElementID="IsilonSNMP.Monitor.ClusterClusterAvailabilityDependency">
    <Name>Cluster</Name>
    </DisplayString>
    </DisplayStrings>
    </LanguagePack>
    </LanguagePacks>

  • Authorization group class maintenance

    Hi experts,
    I have a question for restricting the maintainance of classes and material classification.
    I am uploading classes in SAP and these classes the user should not be able to maintain or create material assignments to them, only the user who is executing the programm should be allowed to do it.
    How can I achieve this?
    I am using the BAPI BAPI_CLASS_CREATE  and I am filling the classbasicdata-fields authmaintain and authclassify with 999.
    What assignments to roles or to user profiles do I need to do to restrict the maintenance access to my classes?
    Many thanks for your help,
    Christoph

    Hi Shekar,
    thanks for the response.
    I took a look in transaction su21 and the authorization objects are C_KLAH_BKP and C_KLAH_BKL.
    Thats fine, but what can I do in this transaction (sorry for my basic knowledge, but i have no idea how it works).
    In the documentation to the field BGRKL of table KLAH (where the classes are stored) it says:
    "This authorization must be defined in the user master record. The authorization object is BGRKL."
    So my question is, how can I define this authorization in the user master record (for the specific value 999).
    Thanks

  • Migrating ACL, Groups, Classes...

    Dears,
    I would like to know if he is possible migrate groups, acls and classrooms between two servers with cmsdk 9,0,4
    Somebody can help-me?
    Grateful,
    Marcelo

    Use the following documents for your help. Cisco Security Manager Install and Upgrade Guides
    http://www.cisco.com/en/US/products/ps6498/prod_installation_guides_list.html

  • HT201269 If I buy a iPhone from verizon can i still use the Genius bar. Can my wife still go to group classes a Apple

    I am thinking about buying my wife a IPHONE 5C , She has a IPAD . My question is I have always bought from Apple Store before this. I am  with Verizon for other phones and Hotspot.  It seems like I come out  ahead by buying from Verizon as far as minimum GB  
    I would still like to use Genius Bar and group sessions at Apple store . Can a person do this if you buy from Verison ?
    THANKS

    If you haven't purchased your iPhone then yes, you can. Be sure to mention that you want AppleCare+. If they don't know anything about it, leave the store and order through Apple's website. Some of those VZW salespeople are anything but geniuses...
    :3

  • Link-Group Asset Class, Depreciation Area & Depreciation Key

    Dear Experts,
    I am new to FI-AA Customization & have a basic query about Group Asset Concept.
    I am working on Ecc 6.0 & for Country India.
    I want to create Group Asset for calculation of Depreciation as per Income Tax Act.  Hence there is just one Depreciation Area (for Group Assets) , but the Depreciation keys are different.  E.d IN1, IN2 etc. (Country Version India)
    Now the questions are :
    1) Do we need to create different Asset Class for different Group Assets or to create just 1 Asset Class for all Group Assets.
    E.g. I want to calculate Depreciation As per income Tax Act on Gross Block of Building, Furniture & Fixture, Motor Car, Vehicles etc. So I need to create separate Group Asset Class for each one of above or just to create one Group Asset Class.
    2) If we need to create just one Asset Class for all Group Assets; how to maintain a Depreciation Key in OAYZ as there are more than 1 Depreciation Keys?
    3) is there any other method / functionality to calculate Depreciation as per income Tax Act or Group Asset is the only functionality?
    Thanks & Regards,
    Reshma

    Dear,
    Reshma.
    Looking at your Questions let us take explanation for Group Assets :-
    1 ) We need to create new different asset class for Group Class in OAOA. Then permit the depreciation area for only Group Asset in OAYM as it is in your current scenario India  is Depreciation Area 15 Just select your company code in OAYM and check the Grp Asset field for respective area 15. Then go to OAAX here we have to maintain the assets classes particularly for Group Assets. So check your Group Asset classes for Group Assets. Cerate different Group asset classes for your said requirement.
    In these depreciation areas, it is then possible to make an assignment to a group asset.  You make this assignment in the specifications for the depreciation area in the asset master record.  When you post an acquisition to this kind of asset, the system duplicates the line items from this depreciation area on the given group asset.
    2 ) According to me you have to create different depreciation keys for Group Asset classes. Assign the Depreciation keys to your newly created Group Asset Classes in OAYZ and make sure you are deactivating 01 area which is Book Depreciation area.
    3 ) As far as I know this is the only functionality available to handle Group Assets. How ever SAP does not have any standard Group Assets functionality. SAP does not supply asset classes to be used solely for group assets. It is we have to determine as per varying Business Process.
    I hope this will clear your doubt makes you to understand. Please revert back for further clarification. Welcome you.
    Regards,
    Pankaj A Bhalerao.
    Edited by: pankaj_ab on Feb 3, 2010 8:26 AM

  • Error with group policies

    Hello, im having an error when ever i try to do an gpupdate /force" through cmd
    Error:
    C:\Users\administrator>gpupdate /force
    Updating Policy...
    User policy could not be updated successfully. The following errors were encount
    ered:
    The processing of Group Policy failed. Windows attempted to read the file \\bank
    a.com\SysVol\banka.com\Policies\{7E60CAFC-6077-4FBB-B30A-F5FEAF4A38F1}\gpt.ini f
    rom a domain controller and was not successful. Group Policy settings may not be
    applied until this event is resolved. This issue may be transient and could be
    caused by one or more of the following:
    a) Name Resolution/Network Connectivity to the current domain controller.
    b) File Replication Service Latency (a file created on another domain controller
    has not replicated to the current domain controller).
    c) The Distributed File System (DFS) client has been disabled.
    Computer policy could not be updated successfully. The following errors were enc
    ountered:
    The processing of Group Policy failed. Windows attempted to read the file \\bank
    a.com\SysVol\banka.com\Policies\{7E60CAFC-6077-4FBB-B30A-F5FEAF4A38F1}\gpt.ini f
    rom a domain controller and was not successful. Group Policy settings may not be
    applied until this event is resolved. This issue may be transient and could be
    caused by one or more of the following:
    a) Name Resolution/Network Connectivity to the current domain controller.
    b) File Replication Service Latency (a file created on another domain controller
    has not replicated to the current domain controller).
    c) The Distributed File System (DFS) client has been disabled.
    To diagnose the failure, review the event log or run GPRESULT /H GPReport.html f
    rom the command line to access information about Group Policy results.
    <html dir="ltr" xmlns:v="urn:schemas-microsoft-com:vml" gpmc_reportInitialized="false">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-16" />
    <title>BANKA\administrator on BANKA\BA01S02</title>
    <!-- Styles -->
    <style type="text/css">
    body { background-color:#FFFFFF; border:1px solid #666666; color:#000000; font-size:68%; font-family:MS Shell Dlg; margin:0,0,10px,0; word-break:normal; word-wrap:break-word; }
    table { font-size:100%; table-layout:fixed; width:100%; }
    td,th { overflow:visible; text-align:left; vertical-align:top; white-space:normal; }
    .title { background:#FFFFFF; border:none; color:#333333; display:block; height:24px; margin:0px,0px,-1px,0px; padding-top:4px; ; table-layout:fixed; width:100%; z-index:5; }
    .he0_expanded { background-color:#FEF7D6; border:1px solid #BBBBBB; color:#3333CC; cursor:hand; display:block; font-family:MS Shell Dlg; font-size:100%; font-weight:bold; height:2.25em; margin-bottom:-1px; margin-left:0px; margin-right:0px; padding-left:8px; padding-right:5em; padding-top:4px; ; width:100%; }
    .he1_expanded { background-color:#A0BACB; border:1px solid #BBBBBB; color:#000000; cursor:hand; display:block; font-family:MS Shell Dlg; font-size:100%; font-weight:bold; height:2.25em; margin-bottom:-1px; margin-left:20px; margin-right:0px; padding-left:8px; padding-right:5em; padding-top:4px; ; width:100%; }
    .he1h_expanded { background-color: #7197B3; border: 1px solid #BBBBBB; color: #000000; cursor: hand; display: block; font-family: MS Shell Dlg; font-size: 100%; font-weight: bold; height: 2.25em; margin-bottom: -1px; margin-left: 10px; margin-right: 0px; padding-left: 8px; padding-right: 5em; padding-top: 4px; ; width: 100%; }
    .he1 { background-color:#A0BACB; border:1px solid #BBBBBB; color:#000000; cursor:hand; display:block; font-family:MS Shell Dlg; font-size:100%; font-weight:bold; height:2.25em; margin-bottom:-1px; margin-left:20px; margin-right:0px; padding-left:8px; padding-right:5em; padding-top:4px; ; width:100%; }
    .he2 { background-color:#C0D2DE; border:1px solid #BBBBBB; color:#000000; cursor:hand; display:block; font-family:MS Shell Dlg; font-size:100%; font-weight:bold; height:2.25em; margin-bottom:-1px; margin-left:30px; margin-right:0px; padding-left:8px; padding-right:5em; padding-top:4px; ; width:100%; }
    .he3 { background-color:#D9E3EA; border:1px solid #BBBBBB; color:#000000; cursor:hand; display:block; font-family:MS Shell Dlg; font-size:100%; font-weight:bold; height:2.25em; margin-bottom:-1px; margin-left:40px; margin-right:0px; padding-left:11px; padding-right:5em; padding-top:4px; ; width:100%; }
    .he4 { background-color:#E8E8E8; border:1px solid #BBBBBB; color:#000000; cursor:hand; display:block; font-family:MS Shell Dlg; font-size:100%; font-weight:bold; height:2.25em; margin-bottom:-1px; margin-left:50px; margin-right:0px; padding-left:11px; padding-right:5em; padding-top:4px; ; width:100%; }
    .he4h { background-color:#E8E8E8; border:1px solid #BBBBBB; color:#000000; cursor:hand; display:block; font-family:MS Shell Dlg; font-size:100%; font-weight:bold; height:2.25em; margin-bottom:-1px; margin-left:55px; margin-right:0px; padding-left:11px; padding-right:5em; padding-top:4px; ; width:100%; }
    .he4i { background-color:#F9F9F9; border:1px solid #BBBBBB; color:#000000; display:block; font-family:MS Shell Dlg; font-size:100%; margin-bottom:-1px; margin-left:55px; margin-right:0px; padding-bottom:5px; padding-left:21px; padding-top:4px; ; width:100%; }
    .he5 { background-color:#E8E8E8; border:1px solid #BBBBBB; color:#000000; cursor:hand; display:block; font-family:MS Shell Dlg; font-size:100%; font-weight:bold; height:2.25em; margin-bottom:-1px; margin-left:60px; margin-right:0px; padding-left:11px; padding-right:5em; padding-top:4px; ; width:100%; }
    .he5h { background-color:#E8E8E8; border:1px solid #BBBBBB; color:#000000; cursor:hand; display:block; font-family:MS Shell Dlg; font-size:100%; padding-left:11px; padding-right:5em; padding-top:4px; margin-bottom:-1px; margin-left:65px; margin-right:0px; ; width:100%; }
    .he5i { background-color:#F9F9F9; border:1px solid #BBBBBB; color:#000000; display:block; font-family:MS Shell Dlg; font-size:100%; margin-bottom:-1px; margin-left:65px; margin-right:0px; padding-left:21px; padding-bottom:5px; padding-top: 4px; ; width:100%; }
    DIV .expando { color:#000000; text-decoration:none; display:block; font-family:MS Shell Dlg; font-size:100%; font-weight:normal; ; right:10px; text-decoration:underline; z-index: 0; }
    .he0 .expando { font-size:100%; }
    .info, .info3, .info4, .disalign { line-height:1.6em; padding:0px,0px,0px,0px; margin:0px,0px,0px,0px; }
    .disalign TD { padding-bottom:5px; padding-right:10px; }
    .info TD { padding-right:10px; width:50%; }
    .info3 TD { padding-right:10px; width:33%; }
    .info4 TD, .info4 TH { padding-right:10px; width:25%; }
    .info TH, .info3 TH, .info4 TH, .disalign TH { border-bottom:1px solid #CCCCCC; padding-right:10px; }
    .subtable, .subtable3 { border:1px solid #CCCCCC; margin-left:0px; background:#FFFFFF; margin-bottom:10px; }
    .subtable TD, .subtable3 TD { padding-left:10px; padding-right:5px; padding-top:3px; padding-bottom:3px; line-height:1.1em; width:10%; }
    .subtable TH, .subtable3 TH { border-bottom:1px solid #CCCCCC; font-weight:normal; padding-left:10px; line-height:1.6em; }
    .subtable .footnote { border-top:1px solid #CCCCCC; }
    .subtable3 .footnote, .subtable .footnote { border-top:1px solid #CCCCCC; }
    .subtable_frame { background:#D9E3EA; border:1px solid #CCCCCC; margin-bottom:10px; margin-left:15px; }
    .subtable_frame TD { line-height:1.1em; padding-bottom:3px; padding-left:10px; padding-right:15px; padding-top:3px; }
    .subtable_frame TH { border-bottom:1px solid #CCCCCC; font-weight:normal; padding-left:10px; line-height:1.6em; }
    .subtableInnerHead { border-bottom:1px solid #CCCCCC; border-top:1px solid #CCCCCC; }
    .explainlink { color:#000000; text-decoration:none; cursor:hand; }
    .explainlink:hover { color:#0000FF; text-decoration:underline; }
    .spacer { background:transparent; border:1px solid #BBBBBB; color:#FFFFFF; display:block; font-family:MS Shell Dlg; font-size:100%; height:10px; margin-bottom:-1px; margin-left:43px; margin-right:0px; padding-top: 4px; ; }
    .filler { background:transparent; border:none; color:#FFFFFF; display:block; font:100% MS Shell Dlg; line-height:8px; margin-bottom:-1px; margin-left:53px; margin-right:0px; padding-top:4px; ; }
    .container { display:block; ; }
    .rsopheader { background-color:#A0BACB; border-bottom:1px solid black; color:#333333; font-family:MS Shell Dlg; font-size:130%; font-weight:bold; padding-bottom:5px; text-align:center; }
    .rsopname { color:#333333; font-family:MS Shell Dlg; font-size:130%; font-weight:bold; padding-left:11px; }
    .gponame{ color:#333333; font-family:MS Shell Dlg; font-size:130%; font-weight:bold; padding-left:11px; }
    .gpotype{ color:#333333; font-family:MS Shell Dlg; font-size:100%; font-weight:bold; padding-left:11px; }
    #uri { color:#333333; font-family:MS Shell Dlg; font-size:100%; padding-left:11px; }
    #dtstamp{ color:#333333; font-family:MS Shell Dlg; font-size:100%; padding-left:11px; text-align:left; width:30%; }
    #objshowhide { color:#000000; cursor:hand; font-family:MS Shell Dlg; font-size:100%; font-weight:bold; margin-right:0px; padding-right:10px; text-align:right; text-decoration:underline; z-index:2; word-wrap:normal; }
    #gposummary { display:block; }
    #gpoinformation { display:block; }
    @media print {
    #objshowhide{ display:none; }
    body { color:#000000; border:1px solid #000000; }
    .title { color:#000000; border:1px solid #000000; }
    .he0_expanded { color:#000000; border:1px solid #000000; }
    .he1h_expanded { color:#000000; border:1px solid #000000; }
    .he1_expanded { color:#000000; border:1px solid #000000; }
    .he1 { color:#000000; border:1px solid #000000; }
    .he2 { color:#000000; background:#EEEEEE; border:1px solid #000000; }
    .he3 { color:#000000; border:1px solid #000000; }
    .he4 { color:#000000; border:1px solid #000000; }
    .he4h { color:#000000; border:1px solid #000000; }
    .he4i { color:#000000; border:1px solid #000000; }
    .he5 { color:#000000; border:1px solid #000000; }
    .he5h { color:#000000; border:1px solid #000000; }
    .he5i { color:#000000; border:1px solid #000000; }
    v\:* {behavior:url(#default#VML);}
    </style>
    <!-- Script 1 -->
    <script language="vbscript">
    <!--
    '================================================================================
    ' String "strShowHide(0/1)"
    ' 0 = Hide all mode.
    ' 1 = Show all mode.
    strShowHide = 1
    'Localized strings
    strShow = "show"
    strHide = "hide"
    strShowAll = "show all"
    strHideAll = "hide all"
    strShown = "shown"
    strHidden = "hidden"
    strExpandoNumPixelsFromEdge = "10px"
    Function IsSectionHeader(obj)
    IsSectionHeader = (obj.className = "he0_expanded") Or (obj.className = "he1h_expanded") Or (obj.className = "he1_expanded") Or (obj.className = "he1") Or (obj.className = "he2") Or (obj.className = "he3") Or (obj.className = "he4") Or (obj.className = "he4h") Or (obj.className = "he5") Or (obj.className = "he5h")
    End Function
    Function IsSectionExpandedByDefault(objHeader)
    IsSectionExpandedByDefault = (Right(objHeader.className, Len("_expanded")) = "_expanded")
    End Function
    ' strState must be show | hide | toggle
    Sub SetSectionState(objHeader, strState)
    ' Get the container object for the section. It's the first one after the header obj.
    i = objHeader.sourceIndex
    Set all = objHeader.parentElement.document.all
    While (all(i).className <> "container")
    i = i + 1
    Wend
    Set objContainer = all(i)
    If strState = "toggle" Then
    If objContainer.style.display = "none" Then
    SetSectionState objHeader, "show"
    Else
    SetSectionState objHeader, "hide"
    End If
    Else
    Set objExpando = objHeader.children.item(1)
    If strState = "show" Then
    objContainer.style.display = "block"
    objExpando.innerText = strHide
    ElseIf strState = "hide" Then
    objContainer.style.display = "none"
    objExpando.innerText = strShow
    End If
    End If
    End Sub
    Sub ShowSection(objHeader)
    SetSectionState objHeader, "show"
    End Sub
    Sub HideSection(objHeader)
    SetSectionState objHeader, "hide"
    End Sub
    Sub ToggleSection(objHeader)
    SetSectionState objHeader, "toggle"
    End Sub
    '================================================================================
    ' When user clicks anywhere in the document body, determine if user is clicking
    ' on a header element.
    '================================================================================
    Function document_onclick()
    Set strsrc = window.event.srcElement
    While (strsrc.className = "sectionTitle" Or strsrc.className = "expando" Or strsrc.className = "vmlimage")
    Set strsrc = strsrc.parentElement
    Wend
    ' Only handle clicks on headers.
    If Not IsSectionHeader(strsrc) Then Exit Function
    ToggleSection strsrc
    window.event.returnValue = False
    End Function
    '================================================================================
    ' link at the top of the page to collapse/expand all collapsable elements
    '================================================================================
    Function objshowhide_onClick()
    Set objBody = document.body.all
    Select Case strShowHide
    Case 0
    strShowHide = 1
    objshowhide.innerText = strShowAll
    For Each obji In objBody
    If IsSectionHeader(obji) Then
    HideSection obji
    End If
    Next
    Case 1
    strShowHide = 0
    objshowhide.innerText = strHideAll
    For Each obji In objBody
    If IsSectionHeader(obji) Then
    ShowSection obji
    End If
    Next
    End Select
    End Function
    '================================================================================
    ' onload collapse all except the first two levels of headers (he0, he1)
    '================================================================================
    Function window_onload()
    ' Only initialize once. The UI may reinsert a report into the webbrowser control,
    ' firing onLoad multiple times.
    If UCase(document.documentElement.getAttribute("gpmc_reportInitialized")) <> "TRUE" Then
    ' Set text direction
    Call fDetDir(UCase(document.dir))
    ' Initialize sections to default expanded/collapsed state.
    Set objBody = document.body.all
    For Each obji in objBody
    If IsSectionHeader(obji) Then
    If IsSectionExpandedByDefault(obji) Then
    ShowSection obji
    Else
    HideSection obji
    End If
    End If
    Next
    objshowhide.innerText = strShowAll
    document.documentElement.setAttribute "gpmc_reportInitialized", "true"
    End If
    End Function
    '================================================================================
    ' When direction (LTR/RTL) changes, change adjust for readability
    '================================================================================
    Function document_onPropertyChange()
    If window.event.propertyName = "dir" Then
    Call fDetDir(UCase(document.dir))
    End If
    End Function
    Function fDetDir(strDir)
    strDir = UCase(strDir)
    Select Case strDir
    Case "LTR"
    Set colRules = document.styleSheets(0).rules
    For i = 0 To colRules.length -1
    Set nug = colRules.item(i)
    strClass = nug.selectorText
    If nug.style.textAlign = "right" Then
    nug.style.textAlign = "left"
    End If
    Select Case strClass
    Case "DIV .expando"
    nug.style.Left = ""
    nug.style.right = strExpandoNumPixelsFromEdge
    Case "#objshowhide"
    nug.style.textAlign = "right"
    End Select
    Next
    Case "RTL"
    Set colRules = document.styleSheets(0).rules
    For i = 0 To colRules.length -1
    Set nug = colRules.item(i)
    strClass = nug.selectorText
    If nug.style.textAlign = "left" Then
    nug.style.textAlign = "right"
    End If
    Select Case strClass
    Case "DIV .expando"
    nug.style.Left = strExpandoNumPixelsFromEdge
    nug.style.right = ""
    Case "#objshowhide"
    nug.style.textAlign = "left"
    End Select
    Next
    End Select
    End Function
    '================================================================================
    'When printing reports, if a given section is expanded, let's says "shown" (instead of "hide" in the UI).
    '================================================================================
    Function window_onbeforeprint()
    For Each obji In document.all
    If obji.className = "expando" Then
    If obji.innerText = strHide Then obji.innerText = strShown
    If obji.innerText = strShow Then obji.innerText = strHidden
    End If
    Next
    End Function
    '================================================================================
    'If a section is collapsed, change to "hidden" in the printout (instead of "show").
    '================================================================================
    Function window_onafterprint()
    For Each obji In document.all
    If obji.className = "expando" Then
    If obji.innerText = strShown Then obji.innerText = strHide
    If obji.innerText = strHidden Then obji.innerText = strShow
    End If
    Next
    End Function
    '================================================================================
    ' Adding keypress support for accessibility
    '================================================================================
    Function document_onKeyPress()
    If window.event.keyCode = "32" Or window.event.keyCode = "13" Or window.event.keyCode = "10" Then 'space bar (32) or carriage return (13) or line feed (10)
    If window.event.srcElement.className = "expando" Then Call document_onclick() : window.event.returnValue = false
    If window.event.srcElement.className = "sectionTitle" Then Call document_onclick() : window.event.returnValue = false
    If window.event.srcElement.id = "objshowhide" Then Call objshowhide_onClick() : window.event.returnValue = false
    End If
    End Function
    -->
    </script>
    <!-- Script 2 -->
    <script language="javascript">
    <!--
    function getExplainWindowTitle()
    return document.getElementById("explainText_windowTitle").innerHTML;
    function getExplainWindowStyles()
    return document.getElementById("explainText_windowStyles").innerHTML;
    function getExplainWindowSettingPathLabel()
    return document.getElementById("explainText_settingPathLabel").innerHTML;
    function getExplainWindowExplainTextLabel()
    return document.getElementById("explainText_explainTextLabel").innerHTML;
    function getExplainWindowPrintButton()
    return document.getElementById("explainText_printButton").innerHTML;
    function getExplainWindowCloseButton()
    return document.getElementById("explainText_closeButton").innerHTML;
    function getNoExplainTextAvailable()
    return document.getElementById("explainText_noExplainTextAvailable").innerHTML;
    function getExplainWindowSupportedLabel()
    return document.getElementById("explainText_supportedLabel").innerHTML;
    function getNoSupportedTextAvailable()
    return document.getElementById("explainText_noSupportedTextAvailable").innerHTML;
    function showExplainText(srcElement)
    var strSettingName = srcElement.getAttribute("gpmc_settingName");
    var strSettingPath = srcElement.getAttribute("gpmc_settingPath");
    var strSettingDescription = srcElement.getAttribute("gpmc_settingDescription");
    if (strSettingDescription == "")
    strSettingDescription = getNoExplainTextAvailable();
    var strSupported = srcElement.getAttribute("gpmc_supported");
    if (strSupported == "")
    strSupported = getNoSupportedTextAvailable();
    var strHtml = "<html>\n";
    strHtml += "<head>\n";
    strHtml += "<title>" + getExplainWindowTitle() + "</title>\n";
    strHtml += "<style type='text/css'>\n" + getExplainWindowStyles() + "</style>\n";
    strHtml += "</head>\n";
    strHtml += "<body>\n";
    strHtml += "<div class='head'>" + strSettingName +"</div>\n";
    strHtml += "<div class='path'><b>" + getExplainWindowSettingPathLabel() + "</b><br/>" + strSettingPath +"</div>\n";
    strHtml += "<div class='path'><b>" + getExplainWindowSupportedLabel() + "</b><br/>" + strSupported +"</div>\n";
    strHtml += "<div class='info'>\n";
    strHtml += "<div class='hdr'>" + getExplainWindowExplainTextLabel() + "</div>\n";
    strHtml += "<div class='bdy'>" + strSettingDescription + "</div>\n";
    strHtml += "<div class='btn'>";
    strHtml += getExplainWindowPrintButton();
    strHtml += getExplainWindowCloseButton();
    strHtml += "</div></body></html>";
    var strDiagArgs = "height=360px, width=630px, status=no, toolbar=no, scrollbars=yes, resizable=yes ";
    var expWin = window.open("", "expWin", strDiagArgs);
    expWin.document.write("");
    expWin.document.close();
    expWin.document.write(strHtml);
    expWin.document.close();
    expWin.focus();
    //cancels navigation for IE.
    if(navigator.userAgent.indexOf("MSIE") > 0)
    window.event.returnValue = false;
    return false;
    -->
    </script>
    </head>
    <body>
    <!-- HTML resources -->
    <div style="display:none;">
    <div id="explainText_windowTitle">Group Policy Management</div>
    <div id="explainText_windowStyles">
    body { font-size:68%;font-family:MS Shell Dlg; margin:0px,0px,0px,0px; border: 1px solid #666666; background:#F6F6F6; width:100%; word-break:normal; word-wrap:break-word; }
    .head { font-weight:bold; font-size:160%; font-family:MS Shell Dlg; width:100%; color:#6587DC; background:#E3EAF9; border:1px solid #5582D2; padding-left:8px; height:24px; }
    .path { margin-left: 10px; margin-top: 10px; margin-bottom:5px;width:100%; }
    .info { padding-left:10px;width:100%; }
    table { font-size:100%; width:100%; border:1px solid #999999; }
    th { border-bottom:1px solid #999999; text-align:left; padding-left:10px; height:24px; }
    td { background:#FFFFFF; padding-left:10px; padding-bottom:10px; padding-top:10px; }
    .btn { width:100%; text-align:right; margin-top:16px; }
    .hdr { font-weight:bold; border:1px solid #999999; text-align:left; padding-top: 4px; padding-left:10px; height:24px; margin-bottom:-1px; width:100%; }
    .bdy { width:100%; height:182px; display:block; overflow:scroll; z-index:2; background:#FFFFFF; padding-left:10px; padding-bottom:10px; padding-top:10px; border:1px solid #999999; }
    button { width:6.9em; height:2.1em; font-size:100%; font-family:MS Shell Dlg; margin-right:15px; }
    @media print {
    .bdy { display:block; overflow:visible; }
    button { display:none; }
    .head { color:#000000; background:#FFFFFF; border:1px solid #000000; }
    </div>
    <div id="explainText_settingPathLabel">Setting Path:</div>
    <div id="explainText_explainTextLabel">Explanation</div>
    <div id="explainText_printButton">
    <button name="Print" onClick="window.print()" accesskey="P"><u>P</u>rint</button>
    </div>
    <div id="explainText_closeButton">
    <button name="Close" onClick="window.close()" accesskey="C"><u>C</u>lose</button>
    </div>
    <div id="explainText_noExplainTextAvailable">No explanation is available for this setting.</div>
    <div id="explainText_supportedLabel">Supported On:</div>
    <div id="explainText_noSupportedTextAvailable">Not available</div>
    </div><table class="title" cellpadding="0" cellspacing="0">
    <tr><td colspan="2" class="rsopheader">Group Policy Results</td></tr>
    <tr><td colspan="2" class="rsopname">BANKA\administrator on BANKA\BA01S02</td></tr>
    <tr><td id="dtstamp">Data collected on: 4/7/2015 8:00:28 PM</td><td><div id="objshowhide" tabindex="0"></div></td></tr>
    </table>
    <div class="rsopsummary">
    <div class="he0_expanded"><span class="sectionTitle" tabindex="0">Summary</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he1_expanded"><span class="sectionTitle" tabindex="0">Computer Configuration Summary</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he2"><span class="sectionTitle" tabindex="0">General</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i"><table class="info" cellpadding="0" cellspacing="0">
    <tr><td>Computer name</td><td>BANKA\BA01S02</td></tr>
    <tr><td>Domain</td><td>banka.com</td></tr>
    <tr><td>Site</td><td>Default-First-Site-Name</td></tr>
    <tr><td>Last time Group Policy was processed</td><td>4/7/2015 7:59:30 PM</td></tr>
    </table>
    </div></div>
    <div class="he2"><span class="sectionTitle" tabindex="0">Group Policy Objects</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he3"><span class="sectionTitle" tabindex="0">Applied GPOs</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i"><table class="info3" cellpadding="0" cellspacing="0">
    <tr><th scope="col">Name</th><th scope="col">Link Location</th><th scope="col">Revision</th></tr>
    <tr><td>Default Domain Policy</td><td>banka.com</td><td>AD (3), Sysvol (3)</td></tr>
    </table>
    </div></div><div class="he3"><span class="sectionTitle" tabindex="0">Denied GPOs</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i"><table class="info3" cellpadding="0" cellspacing="0">
    <tr><th scope="col">Name</th><th scope="col">Link Location</th><th scope="col">Reason Denied</th></tr>
    <tr><td>Local Group Policy</td><td>Local</td><td>Empty</td></tr>
    </table>
    </div></div></div>
    <div class="he2"><span class="sectionTitle" tabindex="0">Security Group Membership when Group Policy was applied</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i">BUILTIN\Administrators<br/>Everyone<br/>BUILTIN\Users<br/>NT AUTHORITY\NETWORK<br/>NT AUTHORITY\Authenticated Users<br/>NT AUTHORITY\This Organization<br/>BANKA\BA01S02$<br/>BANKA\Domain Computers<br/>Mandatory Label\System Mandatory Level</div></div>
    <div class="he2"><span class="sectionTitle" tabindex="0">WMI Filters</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i"><table class="info3" cellpadding="0" cellspacing="0">
    <tr><th scope="col">Name</th><th scope="col">Value</th><th scope="col">Reference GPO(s)</th></tr>
    <tr><td colspan="3">None</td></tr></table>
    </div></div>
    <div class="he2"><span class="sectionTitle" tabindex="0">Component Status <v:group class="vmlimage" style="width:15px;height:15px;vertical-align:middle" coordsize="100,100" alt="Error">
    <v:oval class="vmlimage" style='width:100;height:100;z-index:0' fillcolor="red" strokecolor="red">
    </v:oval>
    <v:line class="vmlimage" style="z-index:1" from="25,25" to="75,75" strokecolor="white" strokeweight="3px">
    </v:line>
    <v:line class="vmlimage" style="z-index:2" from="75,25" to="25,75" strokecolor="white" strokeweight="3px">
    </v:line>
    </v:group></span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i"><table class="info3" cellpadding="0" cellspacing="0">
    <tr><th scope="col">Component Name</th><th scope="col">Status</th><th scope="col">Last Process Time</th></tr>
    <tr><td>Group Policy Infrastructure</td><td>Failed</td><td>4/7/2015 7:59:31 PM</td></tr>
    <tr><td colspan="3"><table class="subtable_frame" cellpadding="0" cellspacing="0">
    <tr><td colspan="2">Group Policy Infrastructure failed due to the error listed below.<br/><br/>The system cannot find the path specified.
    <br/><br/>Note: Due to the GP Core failure, none of the other Group Policy components processed their policy. Consequently, status information for the other components is not available.<br/><br/>Additional information may have been logged. Review the Policy Events tab in the console or the application event log for events between 4/7/2015 7:59:30 PM and 4/7/2015 7:59:31 PM.</td></tr></table></td></tr><tr><td>Registry</td><td>(N/A)</td><td>4/6/2015 1:06:17 PM</td></tr>
    <tr><td>Security</td><td>(N/A)</td><td>4/6/2015 1:06:19 PM</td></tr>
    </table>
    </div></div>
    </div>
    <div class="filler"></div>
    <div class="he1_expanded"><span class="sectionTitle" tabindex="0">User Configuration Summary</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he2"><span class="sectionTitle" tabindex="0">General</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i"><table class="info" cellpadding="0" cellspacing="0">
    <tr><td>User name</td><td>BANKA\administrator</td></tr>
    <tr><td>Domain</td><td>banka.com</td></tr>
    <tr><td>Last time Group Policy was processed</td><td>4/7/2015 7:59:30 PM</td></tr>
    </table>
    </div></div>
    <div class="he2"><span class="sectionTitle" tabindex="0">Group Policy Objects</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he3"><span class="sectionTitle" tabindex="0">Applied GPOs</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i"><table class="info3" cellpadding="0" cellspacing="0">
    <tr><th scope="col">Name</th><th scope="col">Link Location</th><th scope="col">Revision</th></tr>
    <tr><td>Default Domain Policy</td><td>banka.com</td><td>AD (1), Sysvol (1)</td></tr>
    </table>
    </div></div><div class="he3"><span class="sectionTitle" tabindex="0">Denied GPOs</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i"><table class="info3" cellpadding="0" cellspacing="0">
    <tr><th scope="col">Name</th><th scope="col">Link Location</th><th scope="col">Reason Denied</th></tr>
    <tr><td>Local Group Policy</td><td>Local</td><td>Empty</td></tr>
    </table>
    </div></div></div>
    <div class="he2"><span class="sectionTitle" tabindex="0">Security Group Membership when Group Policy was applied</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i">BANKA\Domain Users<br/>Everyone<br/>BUILTIN\Users<br/>BUILTIN\Administrators<br/>NT AUTHORITY\INTERACTIVE<br/>CONSOLE LOGON<br/>NT AUTHORITY\Authenticated Users<br/>NT AUTHORITY\This Organization<br/>LOCAL<br/>BANKA\Domain Admins<br/>BANKA\Group Policy Creator Owners<br/>BANKA\Enterprise Admins<br/>BANKA\Schema Admins<br/>BANKA\Denied RODC Password Replication Group<br/>Mandatory Label\High Mandatory Level</div></div>
    <div class="he2"><span class="sectionTitle" tabindex="0">WMI Filters</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i"><table class="info3" cellpadding="0" cellspacing="0">
    <tr><th scope="col">Name</th><th scope="col">Value</th><th scope="col">Reference GPO(s)</th></tr>
    <tr><td colspan="3">None</td></tr></table>
    </div></div>
    <div class="he2"><span class="sectionTitle" tabindex="0">Component Status <v:group class="vmlimage" style="width:15px;height:15px;vertical-align:middle" coordsize="100,100" alt="Error">
    <v:oval class="vmlimage" style='width:100;height:100;z-index:0' fillcolor="red" strokecolor="red">
    </v:oval>
    <v:line class="vmlimage" style="z-index:1" from="25,25" to="75,75" strokecolor="white" strokeweight="3px">
    </v:line>
    <v:line class="vmlimage" style="z-index:2" from="75,25" to="25,75" strokecolor="white" strokeweight="3px">
    </v:line>
    </v:group></span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i"><table class="info3" cellpadding="0" cellspacing="0">
    <tr><th scope="col">Component Name</th><th scope="col">Status</th><th scope="col">Last Process Time</th></tr>
    <tr><td>Group Policy Infrastructure</td><td>Failed</td><td>4/7/2015 7:59:31 PM</td></tr>
    <tr><td colspan="3"><table class="subtable_frame" cellpadding="0" cellspacing="0">
    <tr><td colspan="2">Group Policy Infrastructure failed due to the error listed below.<br/><br/>The system cannot find the path specified.
    <br/><br/>Note: Due to the GP Core failure, none of the other Group Policy components processed their policy. Consequently, status information for the other components is not available.<br/><br/>Additional information may have been logged. Review the Policy Events tab in the console or the application event log for events between 4/7/2015 7:59:30 PM and 4/7/2015 7:59:31 PM.</td></tr></table></td></tr></table>
    </div></div>
    </div></div>
    <div class="filler"></div>
    </div>
    <div class="rsopsettings">
    <div class="he0_expanded"><span class="sectionTitle" tabindex="0">Computer Configuration</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he1h_expanded"><span class="sectionTitle" tabindex="0">Policies</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he1_expanded"><span class="sectionTitle" tabindex="0">Windows Settings</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he2"><span class="sectionTitle" tabindex="0">Security Settings</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he3"><span class="sectionTitle" tabindex="0">Account Policies/Password Policy</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i"><table class="info3" cellpadding="0" cellspacing="0">
    <tr><th scope="col">Policy</th><th scope="col">Setting</th><th scope="col">Winning GPO</th></tr>
    <tr><td>Enforce password history</td><td>24 passwords remembered</td><td>Default Domain Policy</td></tr>
    <tr><td>Maximum password age</td><td>42 days</td><td>Default Domain Policy</td></tr>
    <tr><td>Minimum password age</td><td>1 days</td><td>Default Domain Policy</td></tr>
    <tr><td>Minimum password length</td><td>7 characters</td><td>Default Domain Policy</td></tr>
    <tr><td>Password must meet complexity requirements</td><td>Enabled</td><td>Default Domain Policy</td></tr>
    <tr><td>Store passwords using reversible encryption</td><td>Disabled</td><td>Default Domain Policy</td></tr>
    </table>
    </div></div><div class="he3"><span class="sectionTitle" tabindex="0">Account Policies/Account Lockout Policy</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i"><table class="info3" cellpadding="0" cellspacing="0">
    <tr><th scope="col">Policy</th><th scope="col">Setting</th><th scope="col">Winning GPO</th></tr>
    <tr><td>Account lockout threshold</td><td>0 invalid logon attempts</td><td>Default Domain Policy</td></tr>
    </table>
    </div></div><div class="he3"><span class="sectionTitle" tabindex="0">Local Policies/Security Options</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4h"><span class="sectionTitle" tabindex="0">Network Security</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i"><table class="info3" cellpadding="0" cellspacing="0">
    <tr><th scope="col">Policy</th><th scope="col">Setting</th><th scope="col">Winning GPO</th></tr>
    <tr><td>Network security: Force logoff when logon hours expire</td><td>Disabled</td><td>Default Domain Policy</td></tr>
    </table>
    </div></div></div><div class="he3"><span class="sectionTitle" tabindex="0">Public Key Policies/Certificate Services Client - Auto-Enrollment Settings</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i"><table class="info3" cellpadding="0" cellspacing="0">
    <tr><th scope="col">Policy</th><th scope="col">Setting</th><th scope="col">Winning GPO</th></tr>
    <tr><td>Automatic certificate management</td><td>Enabled</td><td>[Default setting]</td></tr>
    <tr><td colspan="3"><table class="subtable3" cellpadding="0" cellspacing="0">
    <tr><th scope="col">Option</th><th scope="col">Setting</th></tr>
    <tr><td scope="row">Enroll new certificates, renew expired certificates, process pending certificate requests and remove revoked certificates</td><td>Disabled</td></tr>
    <tr><td scope="row">Update and manage certificates that use certificate templates from Active Directory</td><td>Disabled</td></tr>
    </table></td></tr></table>
    </div></div><div class="he3"><span class="sectionTitle" tabindex="0">Public Key Policies/Encrypting File System</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4h"><span class="sectionTitle" tabindex="0">Certificates</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i"><table class="info3" cellpadding="0" cellspacing="0"><tr><th scope="col">Issued To</th><th scope="col">Issued By</th><th scope="col">Expiration Date</th><th scope="col">Intended Purposes</th><th scope="col">Winning GPO</th></tr>
    <tr><td>Administrator</td><td>Administrator</td><td>3/24/2018 12:34:28 PM</td><td>File Recovery</td><td>Default Domain Policy</td></tr>
    </table>
    <br/>For additional information about individual settings, launch Group Policy Object Editor.</div></div></div><div class="he3"><span class="sectionTitle" tabindex="0">Public Key Policies/Trusted Root Certification Authorities</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4h"><span class="sectionTitle" tabindex="0">Properties</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i">
    <table class="info" cellpadding="0" cellspacing="0">
    <tr><td scope="row"><b>Winning GPO</b></td><td>[Default setting]</td></tr>
    </table>
    </div><div class="he4i">
    <table class="subtable" cellpadding="0" cellspacing="0">
    <tr><th scope="col">Policy</th><th scope="col">Setting</th></tr>
    <tr><td>Allow users to select new root certification authorities (CAs) to trust</td><td>Enabled</td></tr>
    <tr><td>Client computers can trust the following certificate stores</td><td>Third-Party Root Certification Authorities and Enterprise Root Certification Authorities</td></tr>
    <tr><td>To perform certificate-based authentication of users and computers, CAs must meet the following criteria</td><td>Registered in Active Directory only</td></tr>
    </table>
    </div></div></div></div></div></div></div>
    <div class="filler"></div>
    <div class="he0_expanded"><span class="sectionTitle" tabindex="0">User Configuration</span><a class="expando" href="#"></a></div>
    <div class="container"><div class="he4i">No settings defined.</div></div>
    </div>
    </body></html>

    > The processing of Group Policy failed. Windows attempted to read the file \\bank
    > a.com\SysVol\banka.com\Policies\{7E60CAFC-6077-4FBB-B30A-F5FEAF4A38F1}\gpt.ini f
    > rom a domain controller and was not successful.
    Repair Sysvol Replication - it is broken.
    NTFRS:
    https://support.microsoft.com/en-us/kb/315457
    DFSR:
    https://support.microsoft.com/en-us/kb/2218556
    Greetings/Grüße,
    Martin
    Mal ein
    gutes Buch über GPOs lesen?
    Good or bad GPOs? - my blog…
    And if IT bothers me -
    coke bottle design refreshment (-:

  • Creation of developement class,package and access key

    COULD ANYBODY EXPLAIN about
    creation of developement class,package and access key
    and who will create them?

    Working With Development Objects
    Any component of an application program that is stored as a separate unit in the R/3 Repository is called a development object or a Repository Object. In the SAP System, all development objects that logically belong together are assigned to the same development class.
    Object Lists
    In the Object Navigator, development objects are displayed in object lists, which contain all of the elements in a development class, a program, global class, or function group.
    Object lists show not only a hierarchical overview of the development objects in a category, but also tell you how the objects are related to each other. The Object Navigator displays object lists as a tree.
    The topmost node of an object list is the development class. From here, you can navigate right down to the lowest hierarchical level of objects. If you select an object from the tree structure that itself describes an object list, the system displays just the new object list.
    For example:
    Selecting an Object List in the Object Navigator
    To select development objects, you use a selection list in the Object Navigator. This contains the following categories:
    Category
    Meaning
    Application hierarchy
    A list of all of the development classes in the SAP System. This list is arranged hierarchically by application components, component codes, and the development classes belonging to them
    Development class
    A list of all of the objects in the development class
    Program
    A list of all of the components in an ABAP program
    Function group
    A list of all of the function modules and their components that are defined within a function group
    Class
    A list of all of the components of a global class. It also lists the superclasses of the class, and all of the inherited and redefined methods of the current class.
    Internet service
    A list of all of the componentse of an Internet service:
    Service description, themes, language resources, HTML templates and MIME objects.
    When you choose an Internet service from the tree display, the Web Application Builder is started.
    See also Integrating Internet Services.
    Local objects
    A list of all of the local private objects of a user.
    Objects in this list belong to development class $TMP and are not transported. You can display both your own local private objects and those of other users. Local objects are used mostly for testing. If you want to transport a local object, you must assign it to another development class. For further information, refer to Changing Development Classes
    http://help.sap.com/saphelp_46c/helpdata/en/d1/80194b454211d189710000e8322d00/content.htm
    Creating the Main Package
    Use
    The main package is primarily a container for development objects that belong together, in that they share the same system, transport layer, and customer delivery status. However, you must store development objects in sub-packages, not in the main package itself.
    Several main packages can be grouped together to form a structure package.
    Prerequisites
    You have the authorization for the activity L0 (All Functions) using the S_DEVELOP authorization object.
    Procedure
    You create each normal package in a similar procedure to the one described below. It can then be included as a sub-package in a main package.
    To create a main package:
    1.       Open the Package Builder initial screen (SE21 or SPACKAGE).
    2.       In the Package field, enter a name for the package that complies with the tool’s Naming Conventions
    Within SAP itself, the name must begin with a letter from A to S, or from U to X.
    3.       Choose Create.
    The system displays the Create Package dialog box.
    4.       Enter the following package attributes:
    Short Text
    Application Component
    From the component hierarchy of the SAP system, choose the abbreviation for the application component to which you want to assign the new package.
    Software component
    Select an entry. The software component describes a set of development objects that can only be delivered in a single unit. You should assign all the sub-packages of the main package to this software component.
    Exception: Sub-packages that will not be delivered to customers must be assigned to the HOMEsoftware component.
    Main Package
    This checkbox appears only if you have the appropriate authorization (see Prerequisites).
    To indicate that the package is a main package, check this box.
    5.       Choose  Save.
    6.       In the dialog box that appears, assign a transport request.
    Result
    The Change package screen displays the attributes of the new package. To display the object list for the package in the Object Navigator as well, choose  from the button bar.
    You have created your main package and can now define a structure within it. Generally, you will continue by adding sub-packages to the main package. They themselves will contain the package elements you have assigned.
    See also
    Adding Sub-Packages to the Main Package
    http://help.sap.com/saphelp_nw04/helpdata/en/ea/c05d8cf01011d3964000a0c94260a5/content.htm
    access key used for change standard program.
    www.sap.service.com

  • Calculation of Depreciation for Group Asset

    Hi Experts,
    I am getting a problem while doing depreciation for group asset
    Ex:  80,000;  Rate 10%
    total depreiaiton p.a is Rs 8000/-
    as per the Indian standards if it is below 180 days it should take Rs 4000/-, but in my system it is showing Rs 3333.33
    my depreciation start date & capitlization date is 01.11.2007.
    Regards,
    Satya Vani.

    Dear,
    Reshma.
    Looking at your Questions let us take explanation for Group Assets :-
    1 ) We need to create new different asset class for Group Class in OAOA. Then permit the depreciation area for only Group Asset in OAYM as it is in your current scenario India  is Depreciation Area 15 Just select your company code in OAYM and check the Grp Asset field for respective area 15. Then go to OAAX here we have to maintain the assets classes particularly for Group Assets. So check your Group Asset classes for Group Assets. Cerate different Group asset classes for your said requirement.
    In these depreciation areas, it is then possible to make an assignment to a group asset.  You make this assignment in the specifications for the depreciation area in the asset master record.  When you post an acquisition to this kind of asset, the system duplicates the line items from this depreciation area on the given group asset.
    2 ) According to me you have to create different depreciation keys for Group Asset classes. Assign the Depreciation keys to your newly created Group Asset Classes in OAYZ and make sure you are deactivating 01 area which is Book Depreciation area.
    3 ) As far as I know this is the only functionality available to handle Group Assets. How ever SAP does not have any standard Group Assets functionality. SAP does not supply asset classes to be used solely for group assets. It is we have to determine as per varying Business Process.
    I hope this will clear your doubt makes you to understand. Please revert back for further clarification. Welcome you.
    Regards,
    Pankaj A Bhalerao.
    Edited by: pankaj_ab on Feb 3, 2010 8:26 AM

  • Group degradation in perceived performance

    Hi there,
    We recently upgraded to SDK 4.5.1 and noticed that our application took a hit in perceived responsiveness in the process. After digging around a bit I ran into a change in the Group class that is responsible for this degradation, the change itself is in bold:
        override public function set scrollRect(value:Rectangle):void    {        // Work-around for Flash Player bug: if GraphicElements share        // the Group's Display Object and cacheAsBitmap is true, the        // scrollRect won't function correctly.         var previous:Boolean = canShareDisplayObject;        super.scrollRect = value;         if (numGraphicElements > 0 && previous != canShareDisplayObject)            invalidateDisplayObjectOrdering();          if (mouseEnabledWhereTransparent && hasMouseListeners)        {                    // Re-render our mouse event fill if necessary.            redrawRequested = true;            super.$invalidateDisplayList();        }    }
    Below please find a small application that illustrates this problem. Note that I have monkey patched Group in the default package so that it is possible to compile with and without the code above. I find that a large screen and Chrome help showcase the problem.
    The part that I am not getting is what was the code in bold trying to fix in the first place?
    Thanks!!
    ~ Miguel
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application
        minWidth="955" minHeight="600"
        xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/mx"
        xmlns:local="*">
        <fx:Script>
            <![CDATA[
                private var _moveMode:Boolean = false;
                protected function monkeypatchedgroup1_mouseMoveHandler(event:MouseEvent):void
                    // TODO Auto-generated method stub
                    if (_moveMode)
                        redBox.x = event.stageX;
                        redBox.y = event.stageY;
                protected function bordercontainer1_mouseDownHandler(event:MouseEvent):void
                    // TODO Auto-generated method stub
                    _moveMode = true;
                protected function monkeypatchedgroup1_mouseUpHandler(event:MouseEvent):void
                    // TODO Auto-generated method stub
                    _moveMode = false;
            ]]>
        </fx:Script>
        <fx:Declarations>
            <!-- Place non-visual elements (e.g., services, value objects) here -->
        </fx:Declarations>
        <local:MonkeyPatchedGroup
            width="100%" height="100%"
            mouseMove="monkeypatchedgroup1_mouseMoveHandler(event)"
            mouseUp="monkeypatchedgroup1_mouseUpHandler(event)">
            <s:BorderContainer id="redBox"
                width="50" height="50"
                backgroundColor="red"
                mouseDown="bordercontainer1_mouseDownHandler(event)"/>
        </local:MonkeyPatchedGroup>
    </s:Application>
    Here is the monkey patched group:
    //  ADOBE SYSTEMS INCORPORATED
    //  Copyright 2008 Adobe Systems Incorporated
    //  All Rights Reserved.
    //  NOTICE: Adobe permits you to use, modify, and distribute this file
    //  in accordance with the terms of the license agreement accompanying it.
    package
        import flash.display.BlendMode;
        import flash.display.DisplayObject;
        import flash.geom.Rectangle;
        import mx.core.FlexVersion;
        import mx.core.IFlexModule;
        import mx.core.IFontContextComponent;
        import mx.core.IUIComponent;
        import mx.core.IUITextField;
        import mx.core.IVisualElement;
        import mx.core.IVisualElementContainer;
        import mx.core.UIComponent;
        import mx.core.mx_internal;
        import mx.events.FlexEvent;
        import mx.graphics.shaderClasses.ColorBurnShader;
        import mx.graphics.shaderClasses.ColorDodgeShader;
        import mx.graphics.shaderClasses.ColorShader;
        import mx.graphics.shaderClasses.ExclusionShader;
        import mx.graphics.shaderClasses.HueShader;
        import mx.graphics.shaderClasses.LuminosityShader;
        import mx.graphics.shaderClasses.SaturationShader;
        import mx.graphics.shaderClasses.SoftLightShader;
        import mx.styles.IAdvancedStyleClient;
        import mx.styles.ISimpleStyleClient;
        import mx.styles.IStyleClient;
        import mx.styles.StyleProtoChain;
        import spark.components.ResizeMode;
        import spark.components.supportClasses.GroupBase;
        import spark.core.DisplayObjectSharingMode;
        import spark.core.IGraphicElement;
        import spark.core.IGraphicElementContainer;
        import spark.core.ISharedDisplayObject;
        import spark.events.ElementExistenceEvent;
        use namespace mx_internal;
        //  Events
         *  Dispatched when a visual element is added to the content holder.
         *  <code>event.element</code> is the visual element that was added.
         *  @eventType spark.events.ElementExistenceEvent.ELEMENT_ADD
         *  @langversion 3.0
         *  @playerversion Flash 10
         *  @playerversion AIR 1.5
         *  @productversion Flex 4
        [Event(name = "elementAdd", type = "spark.events.ElementExistenceEvent")]
         *  Dispatched when a visual element is removed from the content holder.
         *  <code>event.element</code> is the visual element that's being removed.
         *  @eventType spark.events.ElementExistenceEvent.ELEMENT_REMOVE
         *  @langversion 3.0
         *  @playerversion Flash 10
         *  @playerversion AIR 1.5
         *  @productversion Flex 4
        [Event(name = "elementRemove", type = "spark.events.ElementExistenceEvent")]
        //  Styles
         *  Color of text shadows.
         *  @default #FFFFFF
         *  @langversion 3.0
         *  @playerversion Flash 10
         *  @playerversion AIR 1.5
         *  @productversion Flex 4
        [Style(name = "textShadowColor", type = "uint", format = "Color", inherit = "yes", theme = "mobile")]
         *  Alpha of text shadows.
         *  @default 0.55
         *  @langversion 3.0
         *  @playerversion Flash 10
         *  @playerversion AIR 1.5
         *  @productversion Flex 4
        [Style(name = "textShadowAlpha", type = "Number", inherit = "yes", minValue = "0.0", maxValue = "1.0", theme = "mobile")]
        //  Excluded APIs
        [Exclude(name = "addChild", kind = "method")]
        [Exclude(name = "addChildAt", kind = "method")]
        [Exclude(name = "removeChild", kind = "method")]
        [Exclude(name = "removeChildAt", kind = "method")]
        [Exclude(name = "setChildIndex", kind = "method")]
        [Exclude(name = "swapChildren", kind = "method")]
        [Exclude(name = "swapChildrenAt", kind = "method")]
        [Exclude(name = "numChildren", kind = "property")]
        [Exclude(name = "getChildAt", kind = "method")]
        [Exclude(name = "getChildIndex", kind = "method")]
        //  Other metadata
        [ResourceBundle("components")]
        [DefaultProperty("mxmlContent")]
        [IconFile("Group.png")]
         *  The Group class is the base container class for visual elements.
         *  The Group container takes as children any components that implement
         *  the IUIComponent interface, and any components that implement
         *  the IGraphicElement interface.
         *  Use this container when you want to manage visual children,
         *  both visual components and graphical components.
         *  <p>To improve performance and minimize application size,
         *  the Group container cannot be skinned.
         *  If you want to apply a skin, use the SkinnableContainer instead.</p>
         *  <p><b>Note:</b> The scale grid might not function correctly when there
         *  are DisplayObject children inside of the Group, such as a component
         *  or another Group.  If the children are GraphicElement objects, and
         *  they all share the Group's DisplayObject, then the scale grid works
         *  properly.</p>
         *  <p>Setting any of the following properties on a GraphicElement child
         *  requires that GraphicElement to create its own DisplayObject,
         *  thus negating the scale grid properties on the Group.</p>
         *  <pre>
         *  alpha
         *  blendMode other than BlendMode.NORMAL or "auto"
         *  colorTransform
         *  filters
         *  mask
         *  matrix
         *  rotation
         *  scaling
         *  3D properties
         *  bounds outside the extent of the Group
         *  </pre>
         *  <p>The Group container has the following default characteristics:</p>
         *  <table class="innertable">
         *     <tr><th>Characteristic</th><th>Description</th></tr>
         *     <tr><td>Default size</td><td>Large enough to display its children</td></tr>
         *     <tr><td>Minimum size</td><td>0 pixels</td></tr>
         *     <tr><td>Maximum size</td><td>10000 pixels wide and 10000 pixels high</td></tr>
         *  </table>
         *  @mxml
         *  <p>The <code>&lt;s:Group&gt;</code> tag inherits all of the tag
         *  attributes of its superclass and adds the following tag attributes:</p>
         *  <pre>
         *  &lt;s:Group
         *    <strong>Properties</strong>
         *    blendMode="auto"
         *    mxmlContent="null"
         *    scaleGridBottom="null"
         *    scaleGridLeft="null"
         *    scaleGridRight="null"
         *    scaleGridTop="null"
         *    <strong>Events</strong>
         *    elementAdd="<i>No default</i>"
         *    elementRemove="<i>No default</i>"
         *  /&gt;
         *  </pre>
         *  @see spark.components.DataGroup
         *  @see spark.components.SkinnableContainer
         *  @includeExample examples/GroupExample.mxml
         *  @langversion 3.0
         *  @playerversion Flash 10
         *  @playerversion AIR 1.5
         *  @productversion Flex 4
        public class MonkeyPatchedGroup extends GroupBase implements IVisualElementContainer, IGraphicElementContainer, ISharedDisplayObject
             *  Constructor.
             *  @langversion 3.0
             *  @playerversion Flash 10
             *  @playerversion AIR 1.5
             *  @productversion Flex 4
            public function MonkeyPatchedGroup():void
                super();
            //  Variables
            private var needsDisplayObjectAssignment:Boolean = false;
            private var layeringMode:uint = ITEM_ORDERED_LAYERING;
            private var numGraphicElements:uint = 0;
            private static const ITEM_ORDERED_LAYERING:uint = 0;
            private static const SPARSE_LAYERING:uint = 1;
            //  Overridden properties
            //  baselinePosition
             *  @inheritDoc
             *  @langversion 3.0
             *  @playerversion Flash 10
             *  @playerversion AIR 1.5
             *  @productversion Flex 4
            override public function get baselinePosition():Number
                if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_5)
                    return super.baselinePosition;
                if (!validateBaselinePosition())
                    return NaN;
                var bElement:IVisualElement = baselinePositionElement;
                // If no baselinePositionElement is specified, use the first element
                if (bElement == null)
                    for (var i:int = 0; i < numElements; i++)
                        var elt:IVisualElement = getElementAt(i);
                        if (elt.includeInLayout)
                            bElement = elt;
                            break;
                if (bElement)
                    return bElement.baselinePosition + bElement.y;
                else
                    return super.baselinePosition;
            [Inspectable(category = "General", enumeration = "noScale,scale", defaultValue = "noScale")]
             *  @private
            override public function set resizeMode(value:String):void
                if (isValidScaleGrid())
                    // Force the resize mode to be scale if we
                    // have set scaleGrid properties
                    value = ResizeMode.SCALE;
                super.resizeMode = value;
             *  @private
            override public function set scrollRect(value:Rectangle):void
                // Work-around for Flash Player bug: if GraphicElements share
                // the Group's Display Object and cacheAsBitmap is true, the
                // scrollRect won't function correctly.
                var previous:Boolean = canShareDisplayObject;
                super.scrollRect = value;
                if (numGraphicElements > 0 && previous != canShareDisplayObject)
                    invalidateDisplayObjectOrdering();
                if (mouseEnabledWhereTransparent && hasMouseListeners)
                    // Re-render our mouse event fill if necessary.
                    redrawRequested = true;
                    trace("Calling invalidateDisplayList in GroupBase");
                    super.$invalidateDisplayList();
             * @private
            override mx_internal function set hasMouseListeners(value:Boolean):void
                if (mouseEnabledWhereTransparent)
                    redrawRequested = true;
                super.hasMouseListeners = value;
             *  @private
            override public function set width(value:Number):void
                if (_width != value)
                    if (mouseEnabledWhereTransparent && hasMouseListeners)
                        // Re-render our mouse event fill if necessary.
                        redrawRequested = true;
                        super.$invalidateDisplayList();
                super.width = value;
             *  @private
            override public function set height(value:Number):void
                if (_height != value)
                    if (mouseEnabledWhereTransparent && hasMouseListeners)
                        // Re-render our mouse event fill if necessary.
                        redrawRequested = true;
                        super.$invalidateDisplayList();
                super.height = value;
            //  Properties
            //  alpha
            [Inspectable(defaultValue = "1.0", category = "General", verbose = "1")]
             *  @private
            override public function set alpha(value:Number):void
                if (super.alpha == value)
                    return;
                if (_blendMode == "auto")
                    // If alpha changes from an opaque/transparent (1/0) and translucent
                    // (0 < value < 1), then trigger a blendMode change
                    if ((value > 0 && value < 1 && (super.alpha == 0 || super.alpha == 1)) || ((value == 0 || value == 1) && (super.alpha > 0 && super.alpha < 1)))
                        blendModeChanged = true;
                        invalidateDisplayObjectOrdering();
                        invalidateProperties();
                super.alpha = value;
            //  baselinePositionElement
            private var _baselinePositionElement:IVisualElement;
             *  The element used to calculate the GroupBase's baselinePosition
             *  @langversion 3.0
             *  @playerversion Flash 10
             *  @playerversion AIR 1.5
             *  @productversion Flex 4
            public function get baselinePositionElement():IVisualElement
                return _baselinePositionElement;
             *  @private
            public function set baselinePositionElement(value:IVisualElement):void
                if (value === _baselinePositionElement)
                    return;
                _baselinePositionElement = value;
                invalidateParentSizeAndDisplayList();
            //  blendMode
             *  @private
             *  Storage for the blendMode property.
            private var _blendMode:String = "auto";
            private var blendModeChanged:Boolean;
            private var blendShaderChanged:Boolean;
            [Inspectable(category = "General", enumeration = "auto,add,alpha,darken,difference,erase,hardlight,invert,layer,lighten,multiply,normal,subtract,screen,overlay,colordodge,colorburn,exclusion,softlight,hue,saturation,color,luminosity", defaultValue = "auto")]
             *  A value from the BlendMode class that specifies which blend mode to use.
             *  A bitmap can be drawn internally in two ways.
             *  If you have a blend mode enabled or an external clipping mask, the bitmap is drawn
             *  by adding a bitmap-filled square shape to the vector render.
             *  If you attempt to set this property to an invalid value,
             *  Flash Player or Adobe AIR sets the value to <code>BlendMode.NORMAL</code>.
             *  <p>A value of "auto" (the default) is specific to Group's use of
             *  blendMode and indicates that the underlying blendMode should be
             *  <code>BlendMode.NORMAL</code> except when <code>alpha</code> is not
             *  equal to either 0 or 1, when it is set to <code>BlendMode.LAYER</code>.
             *  This behavior ensures that groups have correct
             *  compositing of their graphic objects when the group is translucent.</p>
             *  @default "auto"
             *  @see flash.display.DisplayObject#blendMode
             *  @see flash.display.BlendMode
             *  @langversion 3.0
             *  @playerversion Flash 10
             *  @playerversion AIR 1.5
             *  @productversion Flex 4
            override public function get blendMode():String
                return _blendMode;
             *  @private
            override public function set blendMode(value:String):void
                if (value == _blendMode)
                    return;
                invalidateProperties();
                blendModeChanged = true;
                //The default blendMode in FXG is 'auto'. There are only
                //certain cases where this results in a rendering difference,
                //one being when the alpha of the Group is > 0 and < 1. In that
                //case we set the blendMode to layer to avoid the performance
                //overhead that comes with a non-normal blendMode.
                if (value == "auto")
                    _blendMode = value;
                    // SDK-29631: Use super.$blendMode instead of super.blendMode
                    // since Group completely overrides blendMode and we
                    // want to bypass the extra logic in UIComponent which
                    // has its own override.
                    // TODO (egeorgie): figure out whether we can share some
                    // of that logic in the future.
                    if (((alpha > 0 && alpha < 1) && super.$blendMode != BlendMode.LAYER) || ((alpha == 1 || alpha == 0) && super.$blendMode != BlendMode.NORMAL))
                        invalidateDisplayObjectOrdering();
                else
                    var oldValue:String = _blendMode;
                    _blendMode = value;
                    // If one of the non-native Flash blendModes is set,
                    // record the new value and set the appropriate
                    // blendShader on the display object.
                    if (isAIMBlendMode(value))
                        blendShaderChanged = true;
                    // Only need to re-do display object assignment if blendmode was normal
                    // and is changing to something else, or the blend mode was something else
                    // and is going back to normal.  This is because display object sharing
                    // only happens when blendMode is normal.
                    if ((oldValue == BlendMode.NORMAL || value == BlendMode.NORMAL) && !(oldValue == BlendMode.NORMAL && value == BlendMode.NORMAL))
                        invalidateDisplayObjectOrdering();
            //  mxmlContent
            private var mxmlContentChanged:Boolean = false;
            private var _mxmlContent:Array;
            [ArrayElementType("mx.core.IVisualElement")]
             *  The visual content children for this Group.
             *  This method is used internally by Flex and is not intended for direct
             *  use by developers.
             *  <p>The content items should only be IVisualElement objects.
             *  An <code>mxmlContent</code> Array should not be shared between multiple
             *  Group containers because visual elements can only live in one container
             *  at a time.</p>
             *  <p>If the content is an Array, do not modify the Array
             *  directly. Use the methods defined by the Group class instead.</p>
             *  @default null
             *  @langversion 3.0
             *  @playerversion Flash 10
             *  @playerversion AIR 1.5
             *  @productversion Flex 4
            public function set mxmlContent(value:Array):void
                if (createChildrenCalled)
                    setMXMLContent(value);
                else
                    mxmlContentChanged = true;
                    _mxmlContent = value;
                        // we will validate this in createChildren();
             *  @private
            mx_internal function getMXMLContent():Array
                if (_mxmlContent)
                    return _mxmlContent.concat();
                else
                    return null;
             *  @private
             *  Adds the elements in <code>mxmlContent</code> to the Group.
             *  Flex calls this method automatically; you do not call it directly.
             *  @langversion 3.0
             *  @playerversion Flash 10
             *  @playerversion AIR 1.5
             *  @productversion Flex 4
            private function setMXMLContent(value:Array):void
                var i:int;
                // if there's old content and it's different than what
                // we're trying to set it to, then let's remove all the old
                // elements first.
                if (_mxmlContent != null && _mxmlContent != value)
                    for (i = _mxmlContent.length - 1; i >= 0; i--)
                        elementRemoved(_mxmlContent[i], i);
                _mxmlContent = (value) ? value.concat() : null; // defensive copy
                if (_mxmlContent != null)
                    var n:int = _mxmlContent.length;
                    for (i = 0; i < n; i++)
                        var elt:IVisualElement = _mxmlContent[i];
                        // A common mistake is to bind the viewport property of a Scroller
                        // to a group that was defined in the MXML file with a different parent   
                        if (elt.parent && (elt.parent != this))
                            throw new Error(resourceManager.getString("components", "mxmlElementNoMultipleParents",
                                                                      [ elt ]));
                        elementAdded(elt, i);
            //  Properties: ScaleGrid
            private var scaleGridChanged:Boolean = false;
            // store the scaleGrid into a rectangle to save space (top, left, bottom, right);
            private var scaleGridStorageVariable:Rectangle;
            //  scale9Grid
             *  @private
            override public function set scale9Grid(value:Rectangle):void
                if (value != null)
                    scaleGridTop = value.top;
                    scaleGridBottom = value.bottom;
                    scaleGridLeft = value.left;
                    scaleGridRight = value.right;
                else
                    scaleGridTop = NaN;
                    scaleGridBottom = NaN;
                    scaleGridLeft = NaN;
                    scaleGridRight = NaN;
            //  scaleGridBottom
            [Inspectable(category = "General")]
             *  Specifies the bottom coordinate of the scale grid.
             *  @langversion 3.0
             *  @playerversion Flash 10
             *  @playerversion AIR 1.5
             *  @productversion Flex 4
            public function get scaleGridBottom():Number
                if (scaleGridStorageVariable)
                    return scaleGridStorageVariable.height;
                return NaN;
            public function set scaleGridBottom(value:Number):void
                if (!scaleGridStorageVariable)
                    scaleGridStorageVariable = new Rectangle(NaN, NaN, NaN, NaN);
                if (value != scaleGridStorageVariable.height)
                    scaleGridStorageVariable.height = value;
                    scaleGridChanged = true;
                    invalidateProperties();
                    invalidateDisplayList();
            //  scaleGridLeft
            [Inspectable(category = "General")]
             * Specifies the left coordinate of the scale grid.
             *  @langversion 3.0
             *  @playerversion Flash 10
             *  @playerversion AIR 1.5
             *  @productversion Flex 4
            public function get scaleGridLeft():Number
                if (scaleGridStorageVariable)
                    return scaleGridStorageVariable.x;
                return NaN;
            public function set scaleGridLeft(value:Number):void
                if (!scaleGridStorageVariable)
                    scaleGridStorageVariable = new Rectangle(NaN, NaN, NaN, NaN);
                if (value != scaleGridStorageVariable.x)
                    scaleGridStorageVariable.x = value;
                    scaleGridChanged = true;
                    invalidateProperties();
                    invalidateDisplayList();
            //  scaleGridRight
            [Inspectable(category = "General")]
             * Specifies the right coordinate of the scale grid.
             *  @langversion 3.0
             *  @playerversion Flash 10
             *  @playerversion AIR 1.5
             *  @productversion Flex 4
            public function get scaleGridRight():Number
                if (scaleGridStorageVariable)
                    return scaleGridStorageVariable.width;
                return NaN;
            public function set scaleGridRight(value:Number):void
                if (!scaleGridStorageVariable)
                    scaleGridStorageVariable = new Rectangle(NaN, NaN, NaN, NaN);
                if (value != scaleGridStorageVariable.width)
                    scaleGridStorageVariable.width = value;
                    scaleGridChanged = true;
                    invalidateProperties();
                    invalidateDisplayList();
            //  scaleGridTop
            [Inspectable(category = "General")]
             * Specifies the top coordinate of the scale grid.
             *  @langversion 3.0
             *  @playerversion Flash 10
             *  @playerversion AIR 1.5
             *  @productversion Flex 4
            public function get scaleGridTop():Number
                if (scaleGridStorageVariable)
                    return scaleGridStorageVariable.y;
                return NaN;
            public function set scaleGridTop(value:Number):void
                if (!scaleGridStorageVariable)
                    scaleGridStorageVariable = new Rectangle(NaN, NaN, NaN, NaN);
                if (value != scaleGridStorageVariable.y)
                    scaleGridStorageVariable.y = value;
                    scaleGridChanged = true;
                    invalidateProperties();
                    invalidateDisplayList();
            private function isValidScaleGrid():Boolean
                return !isNaN(scaleGridLeft) && !isNaN(scaleGridTop) && !isNaN(scaleGridRight) && !isNaN(scaleGridBottom);
            //  Overridden methods: UIComponent
             *  @private
             *  Whether createChildren() has been called or not.
             *  We use this in the setter for mxmlContent to know
             *  whether to validate the value immediately, or just
             *  wait to let createChildren() do it.
            private var createChildrenCalled:Boolean = false;
             *  @private
            override protected function createChildren():void
                super.createChildren();
                createChildrenCalled = true;
                if (mxmlContentChanged)
                    mxmlContentChanged = false;
                    setMXMLContent(_mxmlContent);
             *  @private
            override public function validateProperties():void
                super.validateProperties();
                // Property validation happens top-down, so now let's
                // validate graphic element properties after
                // calling super.validateProperties()
                if (numGraphicElements > 0)
                    var length:int = numElements;
                    for (var i:int = 0; i < length; i++)
                        var element:IGraphicElement = getElementAt(i) as IGraphicElement;
                        if (element)
                            element.validateProperties();
             *  @private
            override protected function commitProperties():void
                super.commitProperties();
                invalidatePropertiesFlag = false;
                if (blendModeChanged)
                    blendModeChanged = false;
                    // Figure out the correct blendMode value
                    // to set.
                    // SDK-29631: Use super.$blendMode instead of super.blendMode
                    // since Group completely overrides blendMode and we
                    // want to bypass the extra logic in UIComponent which
                    // has its own override.
                    // TODO (egeorgie): figure out whether we can share some
                    // of that logic in the future.
                    if (_blendMode == "auto")
                        if (alpha == 0 || alpha == 1)
                            super.$blendMode = BlendMode.NORMAL;
                        else
                            super.$blendMode = BlendMode.LAYER;
                    else if (!isAIMBlendMode(_blendMode))
                        super.$blendMode = _blendMode;
                    if (blendShaderChanged)
                        // The graphic element's blendMode was set to a non-Flash
                        // blendMode. We mimic the look by instantiating the
                        // appropriate shader class and setting the blendShader
                        // property on the displayObject.
                        blendShaderChanged = false;
                        switch (_blendMode)
                            case "color":
                                super.blendShader = new ColorShader();
                                break;
                            case "colordodge":
                                super.blendShader = new ColorDodgeShader();
                                break;
                            case "colorburn":
                                super.blendShader = new ColorBurnShader();
                                break;
                            case "exclusion":
                                super.blendShader = new ExclusionShader();
                                break;
                            case "hue":
                                super.blendShader = new HueShader();
                                break;
                            case "luminosity":
                                super.blendShader = new LuminosityShader();
                                break;
                            case "saturation":
                                super.blendShader = new SaturationShader();
                                break;
                            case "softlight":
                                super.blendShader = new SoftLightShader();
                                break;
                // Due to dependent properties alpha and blendMode there may be a need
                // for a second pass at committing properties (to ensure our new
                // blendMode or blendShader is assigned to our underlying display
                // object).
                if (invalidatePropertiesFlag)
                    super.commitProperties();
                    invalidatePropertiesFlag = false;
                if (needsDisplayObjectAssignment)
                    needsDisplayObjectAssignment = false;
                    assignDisplayObjects();
                if (scaleGridChanged)
                    // Don't reset scaleGridChanged since we also check it in updateDisplayList
                    if (isValidScaleGrid())
                        resizeMode = ResizeMode.SCALE; // Force the resizeMode to scale
             *  @private
            override public function validateSize(recursive:Boolean = false):void
                // Since IGraphicElement is not ILayoutManagerClient, we need to make sure we
                // validate sizes of the elements, even in cases where recursive==false.
                // Size validation happens bottom-up, so now let's
                // validate graphic element size before
                // calling super.validateSize()
                if (numGraphicElements > 0)
                    var length:int = numElements;
                    for (var i:int = 0; i < length; i++)
                        var element:IGraphicElement = getElementAt(i) as IGraphicElement;
                        if (element)
                            element.validateSize();
                super.validateSize(recursive);
             *  @private
            override public function setActualSize(w:Number, h:Number):void
                if (_width != w || _height != h)
                    if (mouseEnabledWhereTransparent && hasMouseListeners)
                        // Re-render our mouse event fill if necessary.
                        redrawRequested = true;
                        super.$invalidateDisplayList();
                super.setActualSize(w, h);
             *  @private
            override public function validateDisplayList():void
                // call super.validateDisplayList() and let updateDisplayList() run
                super.validateDisplayList();
                // If the DisplayObject assignment is still not completed, then postpone validation
                // of the GraphicElements. invalidateDisplayList() will be called during the next
                // commitProperties() call since needsDisplayObjectAssignment=true,
                // so we will be re-running validateDisplayList() anyways
                if (needsDisplayObjectAssignment && invalidatePropertiesFlag)
                    return;
                // DisplayList validation happens top-down, so we should
                // validate graphic element DisplayList after
                // calling super.validateDisplayList().  This is
                // gets tricky because of graphic-element sharing.  We clear
                // Group's graphic's object in updateDisplayList() and handle the
                // rest of the DisplayList validation in here.
                // Iterate through the graphic elements. If an element has a displayObject that has been
                // invalidated, then validate all graphic elements that draw to this displayObject.
                // The algorithm assumes that all of the elements that share a displayObject are in between
                // the element with the shared displayObject and the next element that has a displayObject.
                var sharedDisplayObject:ISharedDisplayObject = this;
                if (numGraphicElements > 0)
                    var length:int = numElements;
                    for (var i:int = 0; i < length; i++)
                        var element:IGraphicElement = getElementAt(i) as IGraphicElement;
                        if (!element)
                            continue;
                        // Do a special check for layer, we may stumble upon an element with layer != 0
                        // before we're done with the current shared sequence and we don't want to mark
                        // the sequence as valid, until we reach the next sequence.  
                        if (element.depth == 0)
                            // Is this the start of a new shared sequence?         
                            if (element.displayObjectSharingMode != DisplayObjectSharingMode.USES_SHARED_OBJECT)
                                // We have finished redrawing the previous sequence
                                if (sharedDisplayObject)
                                    sharedDisplayObject.redrawRequested = false;
                                // Start the new sequence
                                sharedDisplayObject = element.displayObject as ISharedDisplayObject;
                            if (!sharedDisplayObject || sharedDisplayObject.redrawRequested)
                                element.validateDisplayList();
                        else
                            // If we have layering, we don't share the display objects.
                            // Don't update the current sharedDisplayObject
                            var elementDisplayObject:ISharedDisplayObject = element.displayObject as ISharedDisplayObject;
                            if (!elementDisplayObject || elementDisplayObject.redrawRequested)
                                element.validateDisplayList();
                                if (elementDisplayObject)
                                    elementDisplayObject.redrawRequested = false;
                // Mark the last shared displayObject valid
                if (sharedDisplayObject)
                    sharedDisplayObject.redrawRequested = false;
             *  @private
            override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
                // let user's code (layout) run first before dealing with graphic element
                // sharing because that's when redraws can be requested
                super.updateDisplayList(unscaledWidth, unscaledHeight);
                // Clear the group's graphic because graphic elements might be drawing to it
                // This isn't needed for DataGroup because there's no DisplayObject sharing
                // This code exists in updateDisplayList() as opposed to validateDisplayList()
                // because of compatibility issues since most of this code was
                // refactored from updateDisplayList() and in to validateDisplayList().  User's code
                // already assumed that they could call super.updateDisplayList() and then be able to draw
                // into the Group's graphics object.  Because of that, the graphics.clear() call is left
                // in updateDisplayList() instead of in validateDisplayList() with the rest of the graphic
                // element sharing code.
                var sharedDisplayObject:ISharedDisplayObject = this;
                if (sharedDisplayObject.redrawRequested)
                    // clear the graphics here.  The pattern is usually to call graphics.clear()
                    // before calling super.updateDisplayList() so what happens in super.updateDisplayList()
                    // isn't erased.  However, in this case, what happens in super.updateDisplayList() isn't
                    // much, and we want to make sure super.updateDisplayList() runs first since the layout
                    // is what actually triggers the the shareDisplayObject to request to be redrawn.
                    graphics.clear();
                    drawBackground();
                    // If a scaleGrid is set, make sure the extent of the groups bounds are filled so
                    // the player will scale our contents as expected.
                    if (isValidScaleGrid() && resizeMode == ResizeMode.SCALE)
                        graphics.lineStyle();
                        graphics.beginFill(0, 0);
                        graphics.drawRect(0, 0, 1, 1);
                        graphics.drawRect(measuredWidth - 1, measuredHeight - 1, 1, 1);
                        graphics.endFill();
                if (scaleGridChanged)
                    scaleGridChanged = false;
                    if (isValidScaleGrid())
                        // Check for DisplayObjects other than overlays
                        var overlayCount:int = _overlay ? _overlay.numDisplayObjects : 0;
                        if (numChildren - overlayCount > 0)
                            throw new Error(resourceManager.getString("components", "scaleGridGroupError"));
                        super.scale9Grid = new Rectangle(scaleGridLeft,
                                                         scaleGridTop,
                                                         scaleGridRight - scaleGridLeft,
                                                         scaleGridBottom - scaleGridTop);
                    else
                        super.scale9Grid = null;
             *  @private
             *  TODO (rfrishbe): Most of this code is a duplicate of UIComponent::notifyStyleChangeInChildren,
             *  refactor as appropriate to avoid code duplication once we have a common
             *  child iterator between UIComponent and Group.
            override public function notifyStyleChangeInChildren(
                styleProp:String, recursive:Boolean):void
                if (mxmlContentChanged || !recursive)
                    return;
                var n:int = numElements;
                for (var i:int = 0; i < n; i++)
                    var child:ISimpleStyleClient = getElementAt(i) as ISimpleStyleClient;
                    if (child)
                        child.styleChanged(styleProp);
                        if (child is IStyleClient)
                            IStyleClient(child).notifyStyleChangeInChildren(styleProp,
                                                                            recursive);
                if (advanceStyleClientChildren != null)
                    for (var styleClient:Object in advanceStyleClientChildren)
                        var iAdvanceStyleClientChild:IAdvancedStyleClient = styleClient as IAdvancedStyleClient;
                        if (iAdvanceStyleClientChild)
                            iAdvanceStyleClientChild.styleChanged(styleProp);
             *  @private
             *  TODO (rfrishbe): Most of this code is a duplicate of UIComponent::regenerateStyleCache,
             *  refactor as appropriate to avoid code duplication once we have a common
             *  child iterator between UIComponent and Group.
            override public function regenerateStyleCache(recursive:Boolean):void
                // Regenerate the proto chain for this object
                initProtoChain();
                // Recursively call this method on each child.
                var n:int = numElements;
                for (var i:int = 0; i < n; i++)
                    var child:IVisualElement = getElementAt(i);
                    if (child is IStyleClient)
                        // Does this object already have a proto chain?
                        // If not, there's no need to regenerate a new one.
                        if (IStyleClient(child).inheritingStyles != StyleProtoChain.STYLE_UNINITIALIZED)
                            IStyleClient(child).regenerateStyleCache(recursive);
                    else if (child is IUITextField)
                        // Does this object already have a proto chain?
                        // If not, there's no need to regenerate a new one.
                        if (IUITextField(child).inheritingStyles)
                            StyleProtoChain.initTextField(IUITextField(child));
                // Call this method on each non-visual StyleClient
                if (advanceStyleClientChildren != null)
                    for (var styleClient:Object in advanceStyleClientChildren)
                        var iAdvanceStyleClientChild:IAdvancedStyleClient = styleClient as IAdvancedStyleClient;
                        if (iAdvanceStyleClientChild && iAdvanceStyleClientChild.inheritingStyles != StyleProtoChain.STYLE_UNINITIALIZED)
                            iAdvanceStyleClientChild.regenerateStyleCache(recursive);
            //  Content management
             *  @private
            override public function get numElements():int
                if (_mxmlContent == null)
                    return 0;
                return _mxmlContent.length;
             *  @private
            override public function getElementAt(index:int):IVisualElement
                // check for RangeError:
                checkForRangeError(index);
                return _mxmlContent[index];
             *  @private
             *  Checks the range of index to make sure it's valid
            private function checkForRangeError(index:int, addingElement:Boolean = false):void
                // figure out the maximum allowable index
                var maxIndex:int = (_mxmlContent == null ? -1 : _mxmlContent.length - 1);
                // if adding an element, we allow an extra index at the end
                if (addingElement)
                    maxIndex++;
                if (index < 0 || index > maxIndex)
                    throw new RangeError(resourceManager.getString("components", "indexOutOfRange",
                                                                   [ index ]));
             * @private
            private function isAIMBlendMode(value:String):Boolean
                if (value == "colordodge" || value == "colorburn" || value == "exclusion" || value == "softlight" || value == "hue" || value == "saturatio

    FYI - This regression has been filed here: http://bugs.adobe.com/jira/browse/SDK-31989

  • Problem grouping data in xml file

    Hello All,
    Following is the sample xml file used as input source into my BIP stand alone report:
    <ROWSET>
    <SAMPLE_ROW>
    <ID>1234</ID>
    <CODE>A1</CODE>
    <TEXT>FIRST GRADE</TEXT>
    <CODE>B1</CODE>
    <TEXT>SECOND GRADE</TEXT>
    </SAMPLE_ROW>
    <SAMPLE_ROW>
    <ID>6789</ID>
    <CODE>C1</CODE>
    <TEXT>THIRD GRADE</TEXT>
    <CODE>B1</CODE>
    <TEXT>SECOND GRADE</TEXT>
    </SAMPLE_ROW>
    </ROWSET>
    The expected output should be:
    ID# 1234
    Grades: A1
    FIRST GRADE
    B1
    SECOND GRADE
    ID# 6789
    Grades: C1
    THIRD GRADE
    B1
    SECOND GRADE
    And the design i've created is:
    <?for-each-group:SAMPLE_ROW;./ID?>
    ID#<?ID?>
    Grades:<?CODE?>
    <?TEXT?>
    <?end for-each-group?>
    I could only display partial result but not able to achieve my desired output. Please guide.
    Thanks.

    Thanks Jorge,
    This structure can be arranged by my third party and the output came out as required.
    But we also have another report which would use the same xml file as one data source and a sql query as another data source. The total xml generated would look like:
    <DATA>
    <DT>
    <CLASS>
    <ID>1234</ID>
    <NAME>Rich Walker</NAME>
    <Dept>IT</Dept>
    </CLASS>
    <CLASS>
    <ID>6789</ID>
    <NAME>Steve Round</NAME>
    <Dept>Arts</Dept>
    </CLASS>
    <CLASS>
    <ID>1873</ID>
    <NAME>Mary Joyce</NAME>
    <Dept>Arts</Dept>
    </CLASS>
    </DT>
    <Main_XML>
    <ROWSET>
    <SAMPLE_ROW>
    <ID>1234</ID>
    <CODEROW>
    <CODE>A1</CODE>
    <TEXT>FIRST GRADE</TEXT>
    </CODEROW>
    <CODEROW>
    <CODE>B1</CODE>
    <TEXT>SECOND GRADE</TEXT>
    </CODEROW>
    </SAMPLE_ROW>
    <SAMPLE_ROW>
    <ID>6789</ID>
    <CODEROW>
    <CODE>C1</CODE>
    <TEXT>THIRD GRADE</TEXT>
    </CODEROW>
    <CODEROW>
    <CODE>B1</CODE>
    <TEXT>SECOND GRADE</TEXT>
    </CODEROW>
    </SAMPLE_ROW>
    </ROWSET>
    </Main_XML>
    </DATA>
    And the rtf template i've designed(which is not working):
    <?for-each-group:CLASS;./ID?>
    ID# <?ID?>
    <?variable@incontext:v_id;ID?>
    Name: <?NAME?>
    Dept: <?Dept?>
    <?for-each-group:current-group();./ID[../ID=$v_id]?>
    Grades: <?/DATA/Main_XML/ROWSET/SAMPLE_ROW/CODEROW/CODE?>
    <?/DATA/Main_XML/ROWSET/SAMPLE_ROW/CODEROW/TEXT?>
    <?end for-each-group?>
    <?end for-each-group?>
    The ideal output should be:
    ID# 1234
    Name: Rich Walker
    Dept: IT
    Grades: A1
    FIRST GRADE
    B1
    SECOND GRADE
    ID# 6789
    Name: Steve Round
    Dept: Arts
    Grades: C1
    THIRD GRADE
    B1
    SECOND GRADE
    Please assist me in getting the desired output.

  • Flex 3.2.0.3958: Missing Group Collection???

    I just downloaded the Flex 3.2.0.3958 SDK from
    opensource.adobe.com to try to fix a problem where an xml document
    would not allow a groupingcollection.refresh() method to complete.
    However, after installing the new SDK, there is nothing
    related to GroupingCollection in mx.collections. The Flex 3.2 docs
    list this class. Does anyone know why its not in the sdk I just
    downloaded? BTW I also downloaded Flex 3.2.0.3794 and there are no
    grouping classes in that one either.

    GroupingCollection is part of Flex Data Visualization
    components.
    "For reasons best known to themselves, Adobe do not ship the
    trial Data Visualisation components with the SDK download, so you
    have to extract them from the Windows download yourself."
    http://rachaelandtom.info/content/using-flex-3-data-visualisation-components-with-flex-3-s dk

  • JavaFX 2.0 extend Node or Group

    Hi,
    I don't wont to code everyting in one class, but I can't extend the group class. So which class do I have to extend and code some animations within? I'd like to instance this class in the Main Class, which extends the application.
    Thanks.

    Ok, I imported the wrong package...
    I can extend the Group class.

Maybe you are looking for

  • Voice Memos no longer syncing with iTunes

    My voice memos used to automatically show in itunes.  Now I can't see them or sync them.  Has something changed?  I have backed up my phone, but I a reluctant to go past the sync step where it says all information on this computer will replace what i

  • Memory leak after connect from Weblogic 8.1 to oracle 9.1.2

    Hi, I have a application migrated from Weblogic 6.1 to Weblogic 8.1. It is working fine in weblogic 6.1. But it has memmory leak in weblogic 8.1. My current system is Solaris 9 with weblogic 8.1(SP2) Solaris 9 with oralce 9i The problem happen when t

  • I want a SAP system to play with!

    Hi Students often want access to a SAP system to enhance their skills but this there is an inherent risk to other students learning.  At my blog I talk about how to get access to a system at minimal cost and minimal risk. /people/paul.hawking3/blog G

  • How do i solve the Runtime Error: java.lang.UnsatisfiedLinkError

    Runtime Error: java.lang.UnsatisfiedLinkError // Dialog_age import javax.swing.JOptionPane; public class Dialog_age public static void main(String arguments[]) String Input_Age; int age; Input_Age = JOptionPane.showInputDialog("Enter a number."); age

  • Par application - Trace level=all after j2ee restart

    Hello, I'm not sure that is the right place to post this question so, don't hesitate to root me to another thread. We use the SAP Enterprise Portal EP6 base on NW2004 SPS16. We have developped some Portal Application. (par). Those applications contai