in

The ORM Foundation

Get the facts!

Generating a Build or what process is called

Last post Wed, May 23 2007 16:03 by Jason. 5 replies.
Page 1 of 1 (6 items)
Sort Posts: Previous Next
  • Tue, May 22 2007 12:57

    • Jason
    • Top 50 Contributor
      Male
    • Joined on Sat, Mar 8 2008
    • Posts 11

    Generating a Build or what process is called

    Trying to clean up a substantial model and running into errors on the OIAL.xml file.  Did not get these errors when we compiled using Jan CTP.  Now using March CTP against same model.
    
    (Aside note for documentation: Need some verbage that says if end product *.sql from build process fails, start looking at why by first clicking on the OIAL file and seeing what errors exist"  Yes, this is needed somewhere in the documentation because it is not intuitive.)
    
    Obviously I will keep working through these and figuring out at least a workaround.  For example, I found out temporal is not a supported data type along with a couple of others.
    
    Here's the list I am fighting...
    
    5	The element 'valueConstraint' in namespace 'http://schemas.orm.net/OIAL' has invalid child element 'enumeration' in namespace 'http://schemas.orm.net/ORMDataTypes'. List of possible elements expected: 'range, enumeration' in namespace 'http://schemas.orm.net/OIAL'.
    
    6	The element 'valueConstraint' in namespace 'http://schemas.orm.net/OIAL' has invalid child element 'enumeration' in namespace 'http://schemas.orm.net/ORMDataTypes'. List of possible elements expected: 'range, enumeration' in namespace 'http://schemas.orm.net/OIAL'.	
    
    7	There is a duplicate key sequence 'Person' for the 'http://schemas.orm.net/OIAL:conceptTypeChildKey' key or unique identity constraint. 
    
    8	There is a duplicate key sequence 'Organization' for the 'http://schemas.orm.net/OIAL:conceptTypeChildKey' key or unique identity constraint.	
    	
    9	There is a duplicate key sequence 'FileLibrary' for the 'http://schemas.orm.net/OIAL:conceptTypeChildKey' key or unique identity constraint.	¶
    
    10	There is a duplicate key sequence 'Cost_USDValue' for the 'http://schemas.orm.net/OIAL:conceptTypeChildKey' key or unique identity constraint.	¶
    
    11	There is a duplicate key sequence 'Hours_Hours_Nr' for the 'http://schemas.orm.net/OIAL:conceptTypeChildKey' key or unique identity constraint.	¶
    
    12	There is a duplicate key sequence 'WorkBreakdownItem' for the 'http://schemas.orm.net/OIAL:conceptTypeChildKey' key or unique identity constraint.	¶
    
    13	'ExclusiveOrConstraint1' is already used as an ID.
    
    14	There is a duplicate key sequence 'Proficiency' for the 'http://schemas.orm.net/OIAL:conceptTypeChildKey' key or unique identity constraint.	¶
    
  • Tue, May 22 2007 14:21 In reply to

    • Jason
    • Top 50 Contributor
      Male
    • Joined on Sat, Mar 8 2008
    • Posts 11

    RE: Generating a Build or what process is cal

    in the middle of troubleshooting these problems... decided to capture work flow for ya... possible requirements/UI features...
    
    Error Message tells me what row is incorrect in the OIAL.XML file.  I dbl click and I find the row.  
    A couple of rows above that I see the singleRoleUniquenessConstraint name...
    
    Now I want to find the constraint in the model.... so I click on the orm tab, then I need to click on the ORM Model Browser tab, then I have to scroll down, noting that the list is in alphabetically order InternalUniquenessConstraint14 is not followed directly by15 but rather is followed by InternalUniquenessConstraint140 and InternalUniquenessConstraint141...
    
    opps.  I forgot the Constraint name in the process!  No easy way to retrieve unless I wrote down.  Possible fixes... include more hints in the error message?  Might not be possible.... ok, how about a search function on the list in the model browser.... not likely as that's probbly. Microsoft interface..
    
    Now back to the problem at hand...
    
    Double Clicking on the constraint does not bring it up in the orm document unless you are already on that tab... and you still gotta look.
    
    
    The possible values of DependencyType_name in DependencyType has DependencyType_name are predecessor, successor, same-start, same-end.  
    
    Warning	5	The element 'valueConstraint' in namespace 'http://schemas.orm.net/OIAL' has invalid child element 'enumeration' in namespace 'http://schemas.orm.net/ORMDataTypes'. List of possible elements expected: 'range, enumeration' in namespace 'http://schemas.orm.net/OIAL'.
    
    (Note that these value constraints are against an independent...)
    
    So now I try to add numbers to the enumeration... no go.  That just creates more enumeration to the mix.
    
    Deleted the possible values.
    
    Well, it's documented.   
    
    hth,
    
    Jason
  • Tue, May 22 2007 14:36 In reply to

    • Jason
    • Top 50 Contributor
      Male
    • Joined on Sat, Mar 8 2008
    • Posts 11

    RE: Generating a Build or what process is cal

    Interesting.  I have a External ValueType that is an independent and has three value constraints.  Why does that work and the other two do not??
    
    Next problem: There is a duplicate key sequence 'Person' 
    
    roleSequenceUniquenessConstraint
    
    name="PersonIsRelatedToPerson" 
    
    			<oil:roleSequence>
    				<oil:typeRef targetConceptType="PersonIsRelatedToPerson" targetChild="Person" />
    				<oil:typeRef targetConceptType="PersonIsRelatedToPerson" targetChild="Person" />
    			</oil:roleSequence>
    
    What are my options to fix here?  I took off the Uniqueness constraint completely for now.  Not perfect, but my goal is a build today, not a perfect diagram. 
  • Tue, May 22 2007 17:37 In reply to

    • Kevin M. Owen
    • Top 500 Contributor
      Male
    • Joined on Sun, Nov 18 2007
    • Neumont University, South Jordan, Utah
    • Posts 0

    RE: Generating a Build or what process is cal

    Sorry about the issues you've been running into.
    
    The solution for this one is relatively simply: give one or both of the roles a role name.
    Our current behavior when a role doesn't have a role name specified is to use the name of the object type that plays that role instead. This obviously has the drawback of causing duplicate names when you have multiple roles played by the same object type that get mapped to the same thing.
    
    We do plan on changing this behavior at some point in the future in order to improve the results produced in various situations, including this one. We will most likely be incorporating portions of the reading with the role player name, so for your "Person is related to Person" fact type you would probably get something along the lines of 'isRelatedToPerson' and 'PersonIsRelatedTo'. Although these names aren't necessarily great, they are at least less ambiguous than 'Person' and 'Person'.
  • Tue, May 22 2007 20:43 In reply to

    RE: Generating a Build or what process is cal

    Hi,
    
      Ring constraints have been problematic right along.  As Kevin mentioned, naming roles is an elixir for a number of referencing problems.  Actually, the more things you name, and name well, the better. When the tool does a better job of this, you might need to go back and redo some stuff - but it is CTP after all.  Also, be aware that DDL script generation hasn't covered these so far (they are a knotty problem for RDBMS).  The script you do get might note that you'll have to write the code to handle at least some types of RCs yourself.  I started looking into what it would take to automate DDL scripts for these, but got side tracked, and haven't gotten back to it.  If you come up with a good reliable solution for the general case, I'm sure the team would like to hear about it. BRN..
  • Wed, May 23 2007 16:03 In reply to

    • Jason
    • Top 50 Contributor
      Male
    • Joined on Sat, Mar 8 2008
    • Posts 11

    RE: Generating a Build or what process is cal

    Kevin-  Thanks again for the fast reply... I was able to clean up a lot of errors by naming roles.  I stumbled into another problem, but will start a new thread.
    
    Brian-  Thanks for the heads up on the DDL... we might have some code to assist on clean up stuff, but that's not for today.
Page 1 of 1 (6 items)
© 2008-2024 ------- Terms of Service