Uploaded by Jun Meng

Enovia Installation Guide

advertisement
ENOVIA Live
Collaboration™
V6R2011x
Installation Guide
Copyright and Trademark Information
©
Dassault Systèmes, 1994 - 2010
All rights reserved.
PROPRIETARY RIGHTS NOTICE: This documentation is proprietary property of Dassault Systèmes and its subsidiaries. This documentation shall be treated as confidential information and may only be used by employees or contractors with the Customer in accordance with the applicable Software
License Agreement.
Adaplet®, Compliance Connect®, DesignSync®, ENOVIA®, MatrixOne®, ProjectSync®, Synchronicity®, and Team Central® are registered trademarks of Dassault Systèmes.
ENOVIA Live Collaboration, ENOVIA Live Collaboration Business Process Services, ENOVIA Live Collaboration Server, ENOVIA Studio Modeling Platform, ENOVIA Studio Federation Toolkit, ENOVIA Studio Customization Toolkit, ENOVIA 3D Live, ENOVIA Engineering Central, ENOVIA
Library Central, ENOVIA Materials Compliance Central, ENOVIA Program Central, ENOVIA Sourcing Central, ENOVIA Specification Central, ENOVIA Supplier Central, ENOVIA Designer Central, ENOVIA Collaborative Interference Management, ENOVIA Semiconductor Accelerator for Team
Compliance, ENOVIA Aerospace and Defense Accelerator for Program Management, ENOVIA Apparel Accelerator for Design and Development, ENOVIA X-BOM Cost Analytics, ENOVIA X-BOM Manufacturing, ENOVIA Variant Configuration Central, ENOVIA Synchronicity DesignSync Data
Manager, IconMail, ImageIcon and Star Browser are trademarks of Dassault Systèmes.
Oracle® is a registered trademark of Oracle Corporation, Redwood City, California. DB2, AIX, and WebSphere are registered trademarks of IBM Corporation. WebLogic is a registered trademark of BEA Systems, Inc. Solaris, UltraSPARC, Java, JavaServer Pages, JDBC, and J2EE are registered
trademarks of Sun Microsystems, Inc. Windows XP and Internet Explorer are registered trademarks of Microsoft Corp. HP and HP-UX are registered trademarks of HP. All other product names and services identified throughout this book are recognized as trademarks, registered trademarks, or service
marks of their respective companies.
The documentation that accompanies ENOVIA products describes the applications as delivered by Dassault Systèmes. This documentation includes readme files, online help, user guides, and administrator guides. If changes are made to an application or to the underlying framework, Dassault Systèmes
cannot ensure the accuracy of this documentation. These changes include but are not limited to: changing onscreen text, adding or removing fields on a page, making changes to the administrative objects in the schema, adding new JSPs or changing existing JSPs, changing trigger programs, changing the
installation or login process, or changing the values in any properties file. For instructions on customizing the provided documentation, see the Business Process Services Administrator’s Guide.
Dassault Systèmes Enovia Corp.
900 Chelmsford Street
Lowell, MA 01851
Telephone 978.442.2500
Email: enovia.info@3ds.com
http://www.3ds.com
Additional Components
This product also includes additional components copyrighted by other third parties. The sections that follow provide license and copyright notices of these software components.
Apache
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by
contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative
Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity
authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense,
and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise
transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation
against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such
litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The
contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot
be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work
otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein
shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without
limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of
permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct,
indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or
losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such
obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting
any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend
that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations
under the License.
Apache Ant
=========================================================================
NOTICE file corresponding to the section 4 d of the Apache License, Version 2.0, in this case for the Apache Ant distribution.
=========================================================================
This product includes software developed by The Apache Software Foundation (http://www.apache.org/).
This product includes also software developed by :
- the W3C consortium (http://www.w3c.org) ,
- the SAX project (http://www.saxproject.org)
Please read the different LICENSE files present in the root directory of this distribution. [BELOW]
This license came from:
http://www.w3.org/Consortium/Legal/copyright-software-19980720
W3C® SOFTWARE NOTICE AND LICENSE
Copyright © 1994-2001 World Wide Web Consortium, <a href="http://www.w3.org/">World Wide Web Consortium</a>, (<a href= "http://www.lcs.mit.edu/">Massachusetts Institute of Technology</a>, <a href="http://www.inria.fr/">Institut National de Recherche en Informatique et en Automatique</
a>, <a href= "http://www.keio.ac.jp/">Keio University</a>). All Rights Reserved.
http://www.w3.org/Consortium/Legal/
This W3C work (including software, documents, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:
Permission to use, copy, modify, and distribute this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including
modifications, that you make:
The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, a short notice of the following form (hypertext is preferred, text is permitted) should be used within the body of any redistributed or derivative code:
"Copyright © 1999-2004 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/"
Notice of any changes or modifications to the W3C files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY
PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT,
SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
This license came from: http://www.megginson.com/SAX/copying.html. However please note future versions of SAX may be covered under http://saxproject.org/?selected=pd
This page is now out of date -- see the new SAX site at http://www.saxproject.org/ for more up-to-date releases and other information. Please change your bookmarks.
SAX2 is Free!
I hereby abandon any property rights to SAX 2.0 (the Simple API for XML), and release all of the SAX 2.0 source code, compiled code, and documentation contained in this distribution into the Public Domain. SAX comes with NO WARRANTY or guarantee of fitness for any purpose.
David Megginson, david@megginson.com
Apache Axis
=========================================================================
NOTICE file corresponding to section 4(d) of the Apache License, Version 2.0, in this case for the Apache Axis distribution.
=========================================================================
This product includes software developed by The Apache Software Foundation (http://www.apache.org/).
Apache Tomcat
[under Apache License, Version 2.0 above]
Apache Servlet-API
[under Apache License, Version 2.0 above]
FTP
Copyright (c) 1983, 1985, 1989, 1993, 1994
The Regents of the University of California. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1.
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3.
All advertising materials mentioning features or use of this software must display the following acknowledgement:
This product includes software developed by the University of California, Berkeley and its contributors.
4.
Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
WAYOUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright (c) 1997-1999 The Stanford SRP Authentication Project
All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
IN NO EVENT SHALL STANFORD BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER
Copyright 1990 by the Massachusetts Institute of Technology.
All Rights Reserved.
Export of this software from the United States of America may require a specific license from the United States Government. It is the responsibility of any person or organization contemplating export to obtain such a license before exporting.
WITHIN THAT CONSTRAINT, permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in
supporting documentation, and that the name of M.I.T. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. M.I.T. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or
implied warranty.
Getline
Copyright (C) 1991, 1992, 1993 by Chris Thewalt (thewalt@ce.berkeley.edu)
Permission to use, copy, modify, and distribute this software for any purpose and without fee is hereby granted, provided that the above copyright notices appear in all copies and that both the copyright notice and this permission notice appear in supporting documentation. This software is provided "as is"
without express or implied warranty.
GifEncoder
GifEncoder - write out an image as a GIF
Transparency handling and variable bit size courtesy of Jack Palevich.
Copyright (C)1996,1998 by Jef Poskanzer <jef@acme.com>. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1.
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
ImageEncoder
ImageEncoder - abstract class for writing out an image
Copyright (C) 1996 by Jef Poskanzer <jef@acme.com>. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1.
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
JavaMail
Sun Microsystems, Inc.
Binary Code License Agreement
READ THE TERMS OF THIS AGREEMENT AND ANY PROVIDED SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY "AGREEMENT") CAREFULLY BEFORE OPENING THE SOFTWARE MEDIA PACKAGE. BY OPENING THE SOFTWARE MEDIA PACKAGE, YOU AGREE TO
THE TERMS OF THIS AGREEMENT. IF YOU ARE ACCESSING THE SOFTWARE ELECTRONICALLY, INDICATE YOUR ACCEPTANCE OF THESE TERMS BY SELECTING THE "ACCEPT" BUTTON AT THE END OF THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL THESE
TERMS, PROMPTLY RETURN THE UNUSED SOFTWARE TO YOUR PLACE OF PURCHASE FOR A REFUND OR, IF THE SOFTWARE IS ACCESSED ELECTRONICALLY, SELECT THE "DECLINE" BUTTON AT THE END OF THIS AGREEMENT.
1. LICENSE TO USE. Sun grants you a non-exclusive and non-transferable license for the internal use only of the accompanying software and documentation and any error corrections provided by Sun (collectively "Software"), by the number of users and the class of computer hardware for which the
corresponding fee has been paid.
2. RESTRICTIONS. Software is confidential and copyrighted. Title to Software and all associated intellectual property rights is retained by Sun and/or its licensors. Except as specifically authorized in any Supplemental License Terms, you may not make copies of Software, other than a single copy of
Software for archival purposes. Unless enforcement is prohibited by applicable law, you may not modify, decompile, or reverse engineer Software. You acknowledge that Software is not designed, licensed or intended for use in the design, construction, operation or maintenance of any nuclear facility. Sun
disclaims any express or implied warranty of fitness for such uses. No right, title or interest in or to any trademark, service mark, logo or trade name of Sun or its licensors is granted under this Agreement.
3. LIMITED WARRANTY. Sun warrants to you that for a period of ninety (90) days from the date of purchase, as evidenced by a copy of the receipt, the media on which Software is furnished (if any) will be free of defects in materials and workmanship under normal use. Except for the foregoing,
Software is provided "AS IS". Your exclusive remedy and Sun's entire liability under this limited warranty will be at Sun's option to replace Software media or refund the fee paid for Software.
4. DISCLAIMER OF WARRANTY. UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
5. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES,
HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. In no event will Sun's liability to you,
whether in contract, tort (including negligence), or otherwise, exceed the amount paid by you for Software under this Agreement. The foregoing limitations will apply even if the above stated warranty fails of its essential purpose.
6. Termination. This Agreement is effective until terminated. You may terminate this Agreement at any time by destroying all copies of Software. This Agreement will terminate immediately without notice from Sun if you fail to comply with any provision of this Agreement. Upon Termination, you
must destroy all copies of Software.
7. Export Regulations. All Software and technical data delivered under this Agreement are subject to US export control laws and may be subject to export or import regulations in other countries. You agree to comply strictly with all such laws and regulations and acknowledge that you have the
responsibility to obtain such licenses to export, re-export, or import as may be required after delivery to you.
8. U.S. Government Restricted Rights. If Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government prime contractor or subcontractor (at any tier), then the Government's rights in Software and accompanying documentation will be only as set forth in this Agreement;
this is in accordance with 48 CFR 227.7201 through 227.7202-4 (for Department of Defense (DOD) acquisitions) and with 48 CFR 2.101 and 12.212 (for non-DOD acquisitions).
9. Governing Law. Any action related to this Agreement will be governed by California law and controlling U.S. federal law. No choice of law rules of any jurisdiction will apply.
10. Severability. If any provision of this Agreement is held to be unenforceable, this Agreement will remain in effect with the provision omitted, unless omission would frustrate the intent of the parties, in which case this Agreement will immediately terminate.
11. Integration. This Agreement is the entire agreement between you and Sun relating to its subject matter. It supersedes all prior or contemporaneous oral or written communications, proposals, representations and warranties and prevails over any conflicting or additional terms of any quote, order,
acknowledgment, or other communication between the parties relating to its subject matter during the term of this Agreement. No modification of this Agreement will be binding, unless in writing and signed by an authorized representative of each party.
JAVAMAILTM, VERSION 1.3.1
SUPPLEMENTAL LICENSE TERMS
These supplemental license terms ("Supplemental Terms") add to or modify the terms of the Binary Code License Agreement (collectively, the "Agreement"). Capitalized terms not defined in these Supplemental Terms shall have the same meanings ascribed to them in the Agreement. These Supplemental
Terms shall supersede any inconsistent or conflicting terms in the Agreement, or in any license contained within the Software.
1. Software Internal Use and Development License Grant. Subject to the terms and conditions of this Agreement, including, but not limited to Section 3 (Java(TM) Technology Restrictions) of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited license to reproduce
internally and use internally the binary form of the Software, complete and unmodified, for the sole purpose of designing, developing and testing your Java applets and applications ("Programs").
2. License to Distribute Software.* Subject to the terms and conditions of this Agreement, including, but not limited to Section 3 (Java (TM) Technology Restrictions) of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited license to reproduce and distribute the Software
in binary code form only, provided that (i) you distribute the Software complete and unmodified and only bundled as part of, and for the sole purpose of running, your Java applets or applications ("Programs"), (ii) the Programs add significant and primary functionality to the Software, (iii) you do not
distribute additional software intended to replace any component(s) of the Software, (iv) you do not remove or alter any proprietary legends or notices contained in the Software, (v) you only distribute the Software subject to a license agreement that protects Sun's interests consistent with the terms
contained in this Agreement, and (vi) you agree to defend and indemnify Sun and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results
from the use or distribution of any and all Programs and/or Software.
3. Java Technology Restrictions.* You may not modify the Java Platform Interface ("JPI", identified as classes contained within the "java" package or any subpackages of the "java" package), by creating additional classes within the JPI or otherwise causing the addition to or modification of the classes in
the JPI. In the event that you create an additional class and associated API(s) which (i) extends the functionality of the Java platform, and (ii) is exposed to third party software developers for the purpose of developing additional software which invokes such additional API, you must promptly publish
broadly an accurate specification for such API for free use by all developers. You may not create, or authorize your licensees to create additional classes, interfaces, or subpackages that are in any way identified as "java", "javax", "sun" or similar convention as specified by Sun in any naming convention
designation.
4. Trademarks and Logos. You acknowledge and agree as between you and Sun that Sun owns the SUN, SOLARIS, JAVA, JINI, FORTE, STAROFFICE, STARPORTAL and iPLANET trademarks and all SUN, SOLARIS, JAVA, JINI, FORTE, STAROFFICE, STARPORTAL and iPLANET-related
trademarks, service marks, logos and other brand designations ("Sun Marks"), and you agree to comply with the Sun Trademark and Logo Usage Requirements currently located at http://www.sun.com/policies/trademarks. Any use you make of the Sun Marks inures to Sun's benefit.
5. Source Code. Software may contain source code that is provided solely for reference purposes pursuant to the terms of this Agreement. Source code may not be redistributed unless expressly provided for in this Agreement.
6. Termination for Infringement. Either party may terminate this Agreement immediately should any Software become, or in either party's opinion be likely to become, the subject of a claim of infringement of any intellectual property right.
For inquiries please contact: Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A
/(LFI#132726/Form ID#011801)/
Jakarta POI
[under Apache License, Version 2.0 above]
JDK
Sun Microsystems, Inc. Binary Code License Agreement
for the JAVA 2 PLATFORM STANDARD EDITION DEVELOPMENT KIT 5.0
SUN MICROSYSTEMS, INC. ("SUN") IS WILLING TO LICENSE THE SOFTWARE IDENTIFIED BELOW TO YOU ONLY UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS BINARY CODE LICENSE AGREEMENT AND SUPPLEMENTAL
LICENSE TERMS (COLLECTIVELY "AGREEMENT"). PLEASE READ THE AGREEMENT CAREFULLY. BY DOWNLOADING OR INSTALLING THIS SOFTWARE, YOU ACCEPT THE TERMS OF THE AGREEMENT. INDICATE ACCEPTANCE BY SELECTING THE "ACCEPT"
BUTTON AT THE BOTTOM OF THE AGREEMENT. IF YOU ARE NOT WILLING TO BE BOUND BY ALL THE TERMS, SELECT THE "DECLINE" BUTTON AT THE BOTTOM OF THE AGREEMENT AND THE DOWNLOAD OR INSTALL PROCESS WILL NOT CONTINUE.
1. DEFINITIONS. "Software" means the identified above in binary form, any other machine readable materials (including, but not limited to, libraries, source files, header files, and data files), any updates or error corrections provided by Sun, and any user manuals, programming guides and other
documentation provided to you by Sun under this Agreement. "Programs" mean Java applets and applications intended to run on the Java 2 Platform Standard Edition (J2SE platform) platform on Java-enabled general purpose desktop computers and servers.
2. LICENSE TO USE. Subject to the terms and conditions of this Agreement, including, but not limited to the Java Technology Restrictions of the Supplemental License Terms, Sun grants you a non-exclusive, non-transferable, limited license without license fees to reproduce and use internally Software
complete and unmodified for the sole purpose of running Programs. Additional licenses for developers and/or publishers are granted in the Supplemental License Terms.
3. RESTRICTIONS. Software is confidential and copyrighted. Title to Software and all associated intellectual property rights is retained by Sun and/or its licensors. Unless enforcement is prohibited by applicable law, you may not modify, decompile, or reverse engineer Software. You acknowledge that
Licensed Software is not designed or intended for use in the design, construction, operation or maintenance of any nuclear facility. Sun Microsystems, Inc. disclaims any express or implied warranty of fitness for such uses. No right, title or interest in or to any trademark, service mark, logo or trade name
of Sun or its licensors is granted under this Agreement. Additional restrictions for developers and/or publishers licenses are set forth in the Supplemental License Terms.
4. LIMITED WARRANTY. Sun warrants to you that for a period of ninety (90) days from the date of purchase, as evidenced by a copy of the receipt, the media on which Software is furnished (if any) will be free of defects in materials and workmanship under normal use. Except for the foregoing,
Software is provided "AS IS". Your exclusive remedy and Sun's entire liability under this limited warranty will be at Sun's option to replace Software media or refund the fee paid for Software. Any implied warranties on the Software are limited to 90 days. Some states do not allow limitations on duration
of an implied warranty, so the above may not apply to you. This limited warranty gives you specific legal rights. You may have others, which vary from state to state.
5. DISCLAIMER OF WARRANTY. UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
6. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES,
HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. In no event will Sun's liability to you,
whether in contract, tort (including negligence), or otherwise, exceed the amount paid by you for Software under this Agreement. The foregoing limitations will apply even if the above stated warranty fails of its essential purpose. Some states do not allow the exclusion of incidental or consequential
damages, so some of the terms above may not be applicable to you.
7. TERMINATION. This Agreement is effective until terminated. You may terminate this Agreement at any time by destroying all copies of Software. This Agreement will terminate immediately without notice from Sun if you fail to comply with any provision of this Agreement. Either party may
terminate this Agreement immediately should any Software become, or in either party's opinion be likely to become, the subject of a claim of infringement of any intellectual property right. Upon Termination, you must destroy all copies of Software.
8. EXPORT REGULATIONS. All Software and technical data delivered under this Agreement are subject to US export control laws and may be subject to export or import regulations in other countries. You agree to comply strictly with all such laws and regulations and acknowledge that you have the
responsibility to obtain such licenses to export, re-export, or import as may be required after delivery to you.
9. TRADEMARKS AND LOGOS. You acknowledge and agree as between you and Sun that Sun owns the SUN, SOLARIS, JAVA, JINI, FORTE, and iPLANET trademarks and all SUN, SOLARIS, JAVA, JINI, FORTE, and iPLANET-related trademarks, service marks, logos and other brand designations
("Sun Marks"), and you agree to comply with the Sun Trademark and Logo Usage Requirements currently located at http://www.sun.com/policies/trademarks. Any use you make of the Sun Marks inures to Sun's benefit.
10. U.S. GOVERNMENT RESTRICTED RIGHTS. If Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government prime contractor or subcontractor (at any tier), then the Government's rights in Software and accompanying documentation will be only as set forth in this
Agreement; this is in accordance with 48 CFR 227.7201 through 227.7202-4 (for Department of Defense (DOD) acquisitions) and with 48 CFR 2.101 and 12.212 (for non-DOD acquisitions).
11. GOVERNING LAW. Any action related to this Agreement will be governed by California law and controlling U.S. federal law. No choice of law rules of any jurisdiction will apply.
12. SEVERABILITY. If any provision of this Agreement is held to be unenforceable, this Agreement will remain in effect with the provision omitted, unless omission would frustrate the intent of the parties, in which case this Agreement will immediately terminate.
13. INTEGRATION. This Agreement is the entire agreement between you and Sun relating to its subject matter. It supersedes all prior or contemporaneous oral or written communications, proposals, representations and warranties and prevails over any conflicting or additional terms of any quote, order,
acknowledgment, or other communication between the parties relating to its subject matter during the term of this Agreement. No modification of this Agreement will be binding, unless in writing and signed by an authorized representative of each party.
SUPPLEMENTAL LICENSE TERMS
These Supplemental License Terms add to or modify the terms of the Binary Code License Agreement. Capitalized terms not defined in these Supplemental Terms shall have the same meanings ascribed to them in the Binary Code License Agreement . These Supplemental Terms shall supersede any
inconsistent or conflicting terms in the Binary Code License Agreement, or in any license contained within the Software.
A. Software Internal Use and Development License Grant. Subject to the terms and conditions of this Agreement and restrictions and exceptions set forth in the Software "README" file, including, but not limited to the Java Technology Restrictions of these Supplemental Terms, Sun grants you a
non-exclusive, non-transferable, limited license without fees to reproduce internally and use internally the Software complete and unmodified for the purpose of designing, developing, and testing your Programs.
B. License to Distribute Software. Subject to the terms and conditions of this Agreement and restrictions and exceptions set forth in the Software README file, including, but not limited to the Java Technology Restrictions of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable,
limited license without fees to reproduce and distribute the Software, provided that (i) you distribute the Software complete and unmodified and only bundled as part of, and for the sole purpose of running, your Programs, (ii) the Programs add significant and primary functionality to the Software, (iii) you
do not distribute additional software intended to replace any component(s) of the Software, (iv) you do not remove or alter any proprietary legends or notices contained in the Software, (v) you only distribute the Software subject to a license agreement that protects Sun's interests consistent with the terms
contained in this Agreement, and (vi) you agree to defend and indemnify Sun and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results
from the use or distribution of any and all Programs and/or Software.
C. License to Distribute Redistributables. Subject to the terms and conditions of this Agreement and restrictions and exceptions set forth in the Software README file, including but not limited to the Java Technology Restrictions of these Supplemental Terms, Sun grants you a non-exclusive,
non-transferable, limited license without fees to reproduce and distribute those files specifically identified as redistributable in the Software "README" file ("Redistributables") provided that: (i) you distribute the Redistributables complete and unmodified, and only bundled as part of Programs, (ii) the
Programs add significant and primary functionality to the Redistributables, (iii) you do not distribute additional software intended to supersede any component(s) of the Redistributables (unless otherwise specified in the applicable README file), (iv) you do not remove or alter any proprietary legends or
notices contained in or on the Redistributables, (v) you only distribute the Redistributables pursuant to a license agreement that protects Sun's interests consistent with the terms contained in the Agreement, (vi) you agree to defend and indemnify Sun and its licensors from and against any damages, costs,
liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software.
D. Java Technology Restrictions. You may not create, modify, or change the behavior of, or authorize your licensees to create, modify, or change the behavior of, classes, interfaces, or subpackages that are in any way identified as "java", "javax", "sun" or similar convention as specified by Sun in any
naming convention designation.
E. Distribution by Publishers. This section pertains to your distribution of the Software with your printed book or magazine (as those terms are commonly used in the industry) relating to Java technology ("Publication"). Subject to and conditioned upon your compliance with the restrictions and obligations
contained in the Agreement, in addition to the license granted in Paragraph 1 above, Sun hereby grants to you a non-exclusive, nontransferable limited right to reproduce complete and unmodified copies of the Software on electronic media (the "Media") for the sole purpose of inclusion and distribution
with your Publication(s), subject to the following terms: (i) You may not distribute the Software on a stand-alone basis; it must be distributed with your Publication(s); (ii) You are responsible for downloading the Software from the applicable Sun web site; (iii) You must refer to the Software as JavaTM 2
Platform Standard Edition Development Kit 5.0; (iv) The Software must be reproduced in its entirety and without any modification whatsoever (including, without limitation, the Binary Code License and Supplemental License Terms accompanying the Software and proprietary rights notices contained in
the Software); (v) The Media label shall include the following information: Copyright 2004, Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Sun, Sun Microsystems, the Sun logo, Solaris, Java, the Java Coffee Cup logo, J2SE , and all trademarks and logos based on Java are
trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. This information must be placed on the Media label in such a manner as to only apply to the Sun Software; (vi) You must clearly identify the Software as Sun's product on the Media holder or Media label, and
you may not state or imply that Sun is responsible for any third-party software contained on the Media; (vii) You may not include any third party software on the Media which is intended to be a replacement or substitute for the Software; (viii) You shall indemnify Sun for all damages arising from your
failure to comply with the requirements of this Agreement. In addition, you shall defend, at your expense, any and all claims brought against Sun by third parties, and shall pay all damages awarded by a court of competent jurisdiction, or such settlement amount negotiated by you, arising out of or in
connection with your use, reproduction or distribution of the Software and/or the Publication. Your obligation to provide indemnification under this section shall arise provided that Sun: (i) provides you prompt notice of the claim; (ii) gives you sole control of the defense and settlement of the claim; (iii)
provides you, at your expense, with all available information, assistance and authority to defend; and (iv) has not compromised or settled such claim without your prior written consent; and (ix) You shall provide Sun with a written notice for each Publication; such notice shall include the following
information: (1) title of Publication, (2) author(s), (3) date of Publication, and (4) ISBN or ISSN numbers. Such notice shall be sent to Sun Microsystems, Inc., 4150 Network Circle, M/S USCA12-110, Santa Clara, California 95054, U.S.A , Attention: Contracts Administration.
F. Source Code. Software may contain source code that, unless expressly licensed for other purposes, is provided solely for reference purposes pursuant to the terms of this Agreement. Source code may not be redistributed unless expressly provided for in this Agreement.
G. Third Party Code. Additional copyright notices and license terms applicable to portions of the Software are set forth in the THIRDPARTYLICENSEREADME.txt file. In addition to any terms and conditions of any third party opensource/freeware license identified in the
THIRDPARTYLICENSEREADME.txt file, the disclaimer of warranty and limitation of liability provisions in paragraphs 5 and 6 of the Binary Code License Agreement shall apply to all Software in this distribution.
For inquiries please contact: Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A.
(LFI#141623/Form ID#011801)
DO NOT TRANSLATE OR LOCALIZE.
The following software may be included in this product: CS CodeViewer v1.0;
Use of any of this software is governed by the terms of the license below:
Copyright 1999 by CoolServlets.com.
Any errors or suggested improvements to this class can be reported as instructed on CoolServlets.com. We hope you enjoy this program... your comments will encourage further development!
This software is distributed under the terms of the BSD License. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither name of CoolServlets.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY COOLSERVLETS.COM AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
The following software may be included in this product: Crimson v1.1.1 ; Use of any of this software is governed by the terms of the license below:
The Apache Software License, Version 1.1
Copyright (c) 1999-2000 The Apache Software Foundation. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by the Apache Software Foundation (http://www.apache.org/)." Alternately, this acknowledgment may appear in the software itself, if and
wherever such third-party acknowledgments normally appear.
4. The names "Crimson" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org.
5. Products derived from this software may not be called "Apache", nor may "Apache" appear in their name, without prior written permission of the Apache Software Foundation.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
====================================================================
This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation and was originally based on software copyright (c) 1999, International Business Machines, Inc., http://www.ibm.com. For more information on the Apache Software Foundation,
please see <http://www.apache.org/>.
The following software may be included in this product: Xalan J2;
Use of any of this software is governed by the terms of the license below:
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by
contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,including but not limited to software source code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative
Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity
authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense,
and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise
transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation
against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such
litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The
contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot
be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work
otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein
shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without
limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of
permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct,
indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or
losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such
obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting
any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend
that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations
under the License.
The following software may be included in this product: NSIS 1.0j; Use of any of this software is governed by the terms of the license below:
Copyright (C) 1999-2000 Nullsoft, Inc.
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute
it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.Justin Frankel justin@nullsoft.com"
Some Portions licensed from IBM are available at: http://oss.software.ibm.com/icu4j/
Portions Copyright Eastman Kodak Company 1992
Lucida is a registered trademark or trademark of Bigelow & Holmes in the U.S. and other countries.
Portions licensed from Taligent, Inc.
The following software may be included in this product:IAIK PKCS Wrapper; Use of any of this software is governed by the terms of the license below:
Copyright (c) 2002 Graz University of Technology. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment:
"This product includes software developed by IAIK of Graz University of Technology."
Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear.
4. The names "Graz University of Technology" and "IAIK of Graz University of Technology" must not be used to endorse or promote products derived from this software without prior written permission.
5. Products derived from this software may not be called "IAIK PKCS Wrapper", nor may "IAIK" appear in their name, without prior written permission of Graz University of Technology.
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE LICENSOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The following software may be included in this product: Document Object Model (DOM) v. Level 3; Use of any of this software is governed by the terms of the license below:
W3Cýý SOFTWARE NOTICE AND LICENSE
http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
This work (and included software, documentation such as READMEs, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following
terms and conditions.
Permission to copy, modify, and distribute this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications:
1.The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
2.Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software Short Notice should be included (hypertext is preferred, text is permitted) within the body of any redistributed or derivative code.
3.Notice of any changes or modifications to the files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY
PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
This formulation of W3C's notice and license became active on December 31 2002.
This version removes the copyright ownership notice such that this license can be used with materials other than those owned by the W3C, reflects that ERCIM is now a host of the W3C, includes references to this specific dated version of the license, and removes the ambiguous grant of "use". Otherwise,
this version is the same as the previous version and is written so as to preserve the Free Software Foundation's assessment of GPL compatibility and OSI's certification under the Open Source Definition. Please see our Copyright FAQ for common questions about using materials from our site, including
specific terms and conditions for packages like libwww, Amaya, and Jigsaw. Other questions about this notice can be directed to site-policy@w3.org.
The following software may be included in this product: Xalan, Xerces; Use of any of this software is governed by the terms of the license below:
The Apache Software License, Version 1.1
Copyright (c) 1999-2003 The Apache Software Foundation. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by the Apache Software Foundation (http://www.apache.org/)." Alternately, this acknowledgment may appear in the software itself, if and
wherever such third-party acknowledgments normally appear.
4. The names "Xerces" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org.
5. Products derived from this software may not be called "Apache", nor may "Apache" appear in their name, without prior written permission of the Apache Software Foundation.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
====================================================================
This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation and was originally based on software copyright (c) 1999, International Business Machines, Inc., http://www.ibm.com. For more information on the Apache Software Foundation,
please see <http://www.apache.org/>.
The following software may be included in this product: W3C XML Conformance Test Suites v. 20020606; Use of any of this software is governed by the terms of the license below:
W3Cýý SOFTWARE NOTICE AND LICENSE
Copyright ýý 1994-2002 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
This W3C work (including software, documents, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:
Permission to use, copy, modify, and distribute this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including
modifications, that you make:
1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, a short notice of the following form (hypertext is preferred, text is permitted) should be used within the body of any redistributed or derivative code: "Copyright ýý [$date-of-software] World Wide Web
Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/"
3. Notice of any changes or modifications to the W3C files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY
PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.
This formulation of W3C's notice and license became active on August 14 1998 so as to improve compatibility with GPL. This version ensures that W3C software licensing terms are no more restrictive than GPL and consequently W3C software may be distributed in GPL packages. See the older
formulation for the policy prior to this date. Please see our Copyright FAQ for common questions about using materials from our site, including specific terms and conditions for packages like libwww, Amaya, and Jigsaw. Other questions about this notice can be directed to site-policy@w3.org.
The following software may be included in this product: W3C XML Schema Test Collection v. 1.16.2; Use of any of this software is governed by the terms of the license below:
W3Cýýýý DOCUMENT NOTICE AND LICENSE
Copyright ýýýý 1994-2002 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved.
http://www.w3.org/Consortium/Legal/
Public documents on the W3C site are provided by the copyright holders under the following license. The software or Document Type Definitions (DTDs) associated with W3C specifications are governed by the Software Notice. By using and/or copying this document, or the W3C document from which
this statement is linked, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:
Permission to use, copy, and distribute the contents of this document, or the W3C document from which this statement is linked, in any medium for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the document, or portions thereof, that
you use:
1. A link or URL to the original W3C document.
2. The pre-existing copyright notice of the original author, or if it doesn't exist, a notice of the form: "Copyright ýýýý [$date-of-document] World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights
Reserved. http://www.w3.org/Consortium/Legal/" (Hypertext is preferred, but a textual representation is permitted.)
3. If it exists, the STATUS of the W3C document.
When space permits, inclusion of the full text of this NOTICE should be provided. We request that authorship attribution be provided in any software, documents, or other items or products that you create pursuant to the implementation of the contents of this document, or any portion thereof.
No right to create modifications or derivatives of W3C documents is granted pursuant to this license. However, if additional requirements (documented in the Copyright FAQ) are satisfied, the right to create modifications or derivatives is sometimes granted by the W3C to individuals complying with those
requirements.
THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER
RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF.
The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to this document or its contents without specific, written prior permission. Title to copyright in this document will at all times remain with copyright holders.
---------------------------------------------------------------------------This formulation of W3C's notice and license became active on April 05 1999 so as to account for the treatment of DTDs, schema's and bindings. See the older formulation for the policy prior to this date. Please see our Copyright FAQ for common questions about using materials from our site, including
specific terms and conditions for packages like libwww, Amaya, and Jigsaw. Other questions about this notice can be directed to site-policy@w3.org. webmaster (last updated by reagle on 1999/04/99.)
The following software may be included in this product: Mesa 3-D graphics library v. 5; Use of any of this software is governed by the terms of the license below:
core Mesa code include/GL/gl.h
GLX driver
include/GL/glx.h
Ext registry
include/GL/glext.h
Brian Paul
Brian Paul
SGI
Mesa
Mesa
SGI Free B
include/GL/glxext.h
Mesa license:
The Mesa distribution consists of several components. Different copyrights and licenses apply to different components. For example, GLUT is copyrighted by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa device drivers are copyrighted by their authors. See below for a list
of Mesa's components and the copyright/license for each.
The core Mesa library is licensed according to the terms of the XFree86 copyright (an MIT-style license). This allows integration with the XFree86/DRI project. Unless otherwise stated, the Mesa source code and documentation is licensed as follows:
Copyright (C) 1999-2003 Brian Paul All Rights Reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
SHALL BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SGI Free Software Licence B:
, or is under common control with Recipient. For purposes of this definition, "control" of an entity means (a) the power, direct or indirect, to direct or manage such entity, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity.
1.12."Recipient Patents" means patent claims Licensable by a Recipient that are infringed by the use or sale of Original Code or any Modifications provided by SGI, or any combination thereof.
1.13."SGI" means Silicon Graphics, Inc.
1.14."SGI Patents" means patent claims Licensable by SGI other than the Licensed Patents.
2.License Grant and Restrictions.
2.1.SGI License Grant. Subject to the terms of this License and any third party intellectual property claims, for the duration of intellectual property protections inherent in the Original Code, SGI hereby grants Recipient a worldwide, royalty-free, non-exclusive license, to do the following: (i) under
copyrights Licensable by SGI, to reproduce, distribute, create derivative
The following software may be included in this product: Byte Code Engineering Library (BCEL) v. 5; Use of any of this software is governed by the terms of the license below:
Apache Software License
The Apache Software License, Version 1.1
Copyright (c) 2001 The Apache Software Foundation. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: "This product includes software developed by the Apache Software Foundation (http://www.apache.org/)." Alternately, this acknowledgment may appear in the software itself, if and
wherever such third-party acknowledgments normally appear.
4. The names "Apache" and "Apache Software Foundation" and "Apache BCEL" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org.
5. Products derived from this software may not be called "Apache", "Apache BCEL", nor may "Apache" appear in their name, without prior written permission of the Apache Software Foundation.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation. For more information on the Apache Software Foundation, please see <http://www.apache.org/>.
The following software may be included in this product: Regexp, Regular Expression Package v. 1.2; Use of any of this software is governed by the terms of the license below:
The Apache Software License, Version 1.1
Copyright (c) 2001 The Apache Software Foundation. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the
distribution.
3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment:
"This product includes software developed by the Apache Software Foundation (http://www.apache.org/)." Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear.
4. The names "Apache" and "Apache Software Foundation" and "Apache Turbine" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org.
5. Products derived from this software may not be called "Apache", "Apache Turbine", nor may "Apache" appear in their name, without prior written permission of the Apache Software Foundation.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation. For more information on the Apache Software Foundation, please see http://www.apache.org.
The following software may be included in this product: JLex: A Lexical Analyzer Generator for Java v. 1.2.5; Use of any of this software is governed by the terms of the license below:
JLEX COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
Copyright 1996-2003 by Elliot Joel Berk and C. Scott Ananian
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and this permission notice and warranty disclaimer appear in supporting
documentation, and that the name of the authors or their employers not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission.
The authors and their employers disclaim all warranties with regard to this software, including all implied warranties of merchantability and fitness. In no event shall the authors or their employers be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss
of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software.
Java is a trademark of Sun Microsystems, Inc. References to the Java programming language in relation to JLex are not meant to imply that Sun endorses this product.
The following software may be included in this product: SAX v. 2.0.1; Use of any of this software is governed by the terms of the license below:
Copyright Status
SAX is free!
In fact, it's not possible to own a license to SAX, since it's been placed in the public domain.
No Warranty
Because SAX is released to the public domain, there is no warranty for the design or for the software implementation, to the extent permitted by applicable law. Except when otherwise stated in writing the copyright holders and/or other parties provide SAX "as is" without warranty of any kind, either
expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of SAX is with you.
Should SAX prove defective, you assume the cost of all necessary servicing, repair or correction.
In no event unless required by applicable law or agreed to in writing will any copyright holder, or any other party who may modify and/or redistribute SAX, be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use SAX
(including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the SAX to operate with any other programs), even if such holder or other party has been advised of the possibility of such damages.
Copyright Disclaimers
This page includes statements to that effect by David Megginson, who would have been able to claim copyright for the original work.
SAX 1.0
Version 1.0 of the Simple API for XML (SAX), created collectively by the membership of the XML-DEV mailing list, is hereby released into the public domain.
No one owns SAX: you may use it freely in both commercial and non-commercial applications, bundle it with your software distribution, include it on a CD-ROM, list the source code in a book, mirror the documentation at your own web site, or use it in any other way you see fit.
David Megginson, sax@megginson.com 1998-05-11
SAX 2.0
I hereby abandon any property rights to SAX 2.0 (the Simple API for XML), and release all of the SAX 2.0 source code, compiled code, and documentation contained in this distribution into the Public Domain. SAX comes with NO WARRANTY or guarantee of fitness for any purpose.
David Megginson, david@megginson.com
2000-05-05
The following software may be included in this product: Cryptix;
Use of any of this software is governed by the terms of the license below:
Cryptix General License
Copyright © 1995-2003 The Cryptix Foundation Limited. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1.Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer.
2.Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE CRYPTIX FOUNDATION LIMITED AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE CRYPTIX FOUNDATION LIMITED OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
EXERPT FROM JavaTM 2 Platform Standard Edition Development Kit 5.0 README
You can freely redistribute the J2SE Runtime Environment with your application, according to the terms of the Runtime Environment's license. Once you have developed your application using the JDK, you can ship it with the Runtime Environment so your end-users will have a Java platform on which
to run your software.
Redistribution
-------------------------------------------------------------------------------NOTE - The license for this software does not allow the redistribution of beta and other pre-release versions.
-------------------------------------------------------------------------------Subject to the terms and conditions of the Software License Agreement and the obligations, restrictions, and exceptions set forth below, You may reproduce and distribute the Software (and also portions of Software identified below as Redistributable), provided that:
you distribute the Software complete and unmodified and only bundled as part of Your applets and applications ("Programs"),
your Programs add significant and primary functionality to the Software,
your Programs are only intended to run on Java-enabled general purpose desktop computers and servers,
you distribute Software for the sole purpose of running your Programs,
you do not distribute additional software intended to replace any component(s) of the Software,
you do not remove or alter any proprietary legends or notices contained in or on the Software,
you only distribute the Software subject to a license agreement that protects Sun's interests consistent with the terms contained in this Agreement, and
you agree to defend and indemnify Sun and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all
Programs and/or Software.
The term "vendors" used here refers to licensees, developers, and independent software vendors (ISVs) who license and distribute the J2SE Development Kit with their programs.
Vendors must follow the terms of the J2SE Development Kit Binary Code License agreement.
Required vs. Optional Files
The files that make up the J2SE Development Kit are divided into two categories: required and optional. Optional files may be excluded from redistributions of the JDK at the vendor's discretion.
The following section contains a list of the files and directories that may optionally be omitted from redistributions of the JDK. All files not in these lists of optional files must be included in redistributions of the JDK.
Optional Files and Directories
The following files may be optionally excluded from redistributions. These files are located in the jdk1.5.0_<version> directory, where <version> is the update version number. Solaris and Linux filenames and separators are shown. Windows executables have the ".exe" suffix. Corresponding files with _g
in name can also be excluded.
jre/lib/charsets.jar
Character conversion classes
jre/lib/ext/
sunjce_provider.jar - the SunJCE provider for Java Cryptography APIs
localedata.jar - contains many of the resources needed for non US English locales
ldapsec.jar - contains security features supported by the LDAP service provider
dnsns.jar - for the InetAddress wrapper of JNDI DNS provider
bin/rmid and jre/bin/rmid
Java RMI Activation System Daemon
bin/rmiregistry and jre/bin/rmiregistry
Java Remote Object Registry
bin/tnameserv and jre/bin/tnameserv
Java IDL Name Server
bin/keytool and jre/bin/keytool
Key and Certificate Management Tool
bin/kinit and jre/bin/kinit
Used to obtain and cache Kerberos ticket-granting tickets
bin/klist and jre/bin/klist
Kerberos display entries in credentials cache and keytab
bin/ktab and jre/bin/ktab
Kerberos key table manager
bin/policytool and jre/bin/policytool
Policy File Creation and Management Tool
bin/orbd and jre/bin/orbd
Object Request Broker Daemon
bin/servertool and jre/bin/servertool
Java IDL Server Tool
bin/javaws, jre/bin/javaws, jre/lib/javaws/ and jre/lib/javaws.jar
Java Web Start
src.zip
Archive of source files
Redistributable JDK Files
The limited set of files from the JDK listed below may be included in vendor redistributions of the J2SE Runtime Environment. They cannot be redistributed separately, and must accompany a JRE distribution. All paths are relative to the top-level directory of the JDK.
jre/lib/cmm/PYCC.pf
Color profile. This file is required only if one wishes to convert between the PYCC color space and another color space.
All .ttf font files in the jre/lib/fonts directory.
Note that the LucidaSansRegular.ttf font is already contained in the J2SE Runtime Environment, so there is no need to bring that file over from the JDK.
jre/lib/audio/soundbank.gm
This MIDI soundbank is present in the JDK, but it has been removed from the J2SE Runtime Environment in order to reduce the size of the Runtime Environment's download bundle. However, a soundbank file is necessary for MIDI playback, and therefore the JDK's soundbank.gm file may be included
in redistributions of the Runtime Environment at the vendor's discretion. Several versions of enhanced MIDI soundbanks are available from the Java Sound web site: http://java.sun.com/products/java-media/sound/. These alternative soundbanks may be included in redistributions of the J2SE Runtime
Environment.
The javac bytecode compiler, consisting of the following files:
bin/javac [Solaris(TM) Operating System and Linux]
bin/sparcv9/javac [Solaris Operating System (SPARC(R) Platform Edition)]
bin/amd64/javac [Solaris Operating System (AMD)]
bin/javac.exe [Microsoft Windows]
lib/tools.jar [All platforms]
The Annotation Processing Tool, consisting of the following files:
bin/apt [Solaris(TM) Operating System and Linux]
bin/sparcv9/apt [Solaris Operating System (SPARC(R) Platform Edition)]
bin/amd64/apt [Solaris Operating System (AMD)]
bin/apt.exe [Microsoft Windows]
jre\bin\server\
On Microsoft Windows platforms, the JDK includes both the Java HotSpot Server VM and Java HotSpot Client VM. However, the J2SE Runtime Environment for Microsoft Windows platforms includes only the Java HotSpot Client VM. Those wishing to use the Java HotSpot Server VM with the J2SE
Runtime Environment may copy the JDK's jre\bin\server folder to a bin\server directory in the J2SE Runtime Environment. Software vendors may redistribute the Java HotSpot Server VM with their redistributions of the J2SE Runtime Environment.
Unlimited Strength Java Cryptography Extension
Due to import control restrictions for some countries, the Java Cryptography Extension (JCE) policy files shipped with the J2SE Development Kit and the J2SE Runtime Environment allow strong but limited cryptography to be used. These files are located at
<java-home>/lib/security/local_policy.jar
<java-home>/lib/security/US_export_policy.jar
where <java-home> is the jre directory of the JDK or the top-level directory of the J2SE Runtime Environment.
An unlimited strength version of these files indicating no restrictions on cryptographic strengths is available on the JDK web site for those living in eligible countries. Those living in eligible countries may download the unlimited strength version and replace the strong cryptography jar files with the
unlimited strength files.
jconsole
jconsole.jar
jconsole may be redistributed outside the JDK but only with Sun's JRE.
Endorsed Standards Override Mechanism
An endorsed standard is a Java API defined through a standards process other than the Java Community ProcessSM (JCPSM). Because endorsed standards are defined outside the JCP, it is anticipated that such standards will be revised between releases of the Java 2 Platform. In order to take advantage of
new revisions to endorsed standards, developers and software vendors may use the Endorsed Standards Override Mechanism to provide newer versions of an endorsed standard than those included in the Java 2 Platform as released by Sun Microsystems.
For more information on the Endorsed Standards Override Mechanism, including the list of platform packages that it may be used to override, see
http://java.sun.com/j2se/1.5.0/docs/guide/standards/
Classes in the packages listed on that web page may be replaced only by classes implementing a more recent version of the API as defined by the appropriate standards body.
In addition to the packages listed in the document at the above URL, which are part of the Java 2 Platform Standard Edition (J2SETM) specification, redistributors of Sun's J2SE Reference Implementation are allowed to override classes whose sole purpose is to implement the functionality provided by
public APIs defined in these Endorsed Standards packages. Redistributors may also override classes in the org.w3c.dom.* packages, or other classes whose sole purpose is to implement these APIs.
The cacerts Certificates File
Root CA certificates may be added to or removed from the J2SE certificate file located at <java-home>/lib/security/cacerts. For more information, see The cacerts Certificates File section in the keytool documentation.
Web Pages
For additional information, refer to these Sun Microsystems pages on the World Wide Web:
http://java.sun.com/
The Java Software web site, with the latest information on Java technology, product information, news, and features.
http://java.sun.com/docs
Java Platform Documentation provides access to white papers, the Java Tutorial and other documents.
http://developer.java.sun.com
Developer Services web site. (Free registration required.) Additional technical information, news, and features; user forums; support information, and much more.
http://java.sun.com/products/
Java Technology Products & API
-------------------------------------------------------------------------------The J2SE Development Kit is a product of Sun MicrosystemsTM, Inc.
Copyright 2005 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A.
All rights reserved.
JDOM
Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the disclaimer that follows these conditions in the documentation and/or other materials provided with the distribution.
3. The name "JDOM" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact <request_AT_jdom_DOT_org>.
4. Products derived from this software may not be called "JDOM", nor may "JDOM" appear in their name, without prior written permission from the JDOM Project Management <request_AT_jdom_DOT_org>.
In addition, we request (but do not require) that you include in the end-user documentation provided with the redistribution and/or in the software itself an acknowledgement equivalent to the following:
"This product includes software developed by the JDOM Project (http://www.jdom.org/)."
Alternatively, the acknowledgment may be graphical using the logos available at http://www.jdom.org/images/logos.
THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE JDOM AUTHORS OR THE PROJECT CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This software consists of voluntary contributions made by many individuals on behalf of the JDOM Project and was originally created by Jason Hunter <jhunter_AT_jdom_DOT_org> and Brett McLaughlin <brett_AT_jdom_DOT_org>. For more information on the JDOM Project, please see <http://
www.jdom.org/>.
Krypto
Copyright (c) 1997 Stanford University
Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notices and this permission notice appear in all copies of the software and related documentation.
THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
IN NO EVENT SHALL STANFORD BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE
POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Copyright (C) 1995-1997 Eric Young (eay@mincom.oz.au)
All rights reserved.
This package is an SSL implementation written by Eric Young (eay@mincom.oz.au). The implementation was written so as to conform with Netscapes SSL.
This library is free for commercial and non-commercial use as long as the following conditions are aheared to. The following conditions apply to all code found in this distribution, be it the RC4, RSA, lhash, DES, etc., code; not just the SSL code. The SSL documentation included with this distribution
is covered by the same copyright terms except that the holder is Tim Hudson (tjh@mincom.oz.au).
Copyright remains Eric Young's, and as such any Copyright notices in the code are not to be removed. If this package is used in a product, Eric Young should be given attribution as the author of the parts of the library used. This can be in the form of a textual message at program startup or in documentation
(online or textual) provided with the package.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display the following acknowledgement:
"This product includes cryptographic software written by Eric Young (eay@mincom.oz.au)"
The word 'cryptographic' can be left out if the routines from the library being used are not cryptographic related .
4. If you include any Windows specific code (or a derivative thereof) from the apps directory (application code) you must include an acknowledgement:
"This product includes software written by Tim Hudson (tjh@mincom.oz.au)"
THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The licence and distribution terms for any publically available version or derivative of this code cannot be changed. i.e. this code cannot simply be copied and put under another distribution licence [including the GNU Public Licence.]
OpenLDAP
Public License for 2.3.34
The OpenLDAP Public License
Version 2.8, 17 August 2003
Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met:
1. Redistributions in source form must retain copyright statements and notices,
2. Redistributions in binary form must reproduce applicable copyright statements and notices, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution, and
3. Redistributions must contain a verbatim copy of this document.
The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use this Software under terms of this license revision or under the terms of any subsequent revision of the license.
THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S) OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The names of the authors and copyright holders must not be used in advertising or otherwise to promote the sale, use or other dealing in this Software without specific, written prior permission. Title to copyright in this Software shall at all times remain with copyright holders.
OpenLDAP is a registered trademark of the OpenLDAP Foundation.
Copyright 1999-2003 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distribute verbatim copies of this document is granted.
OpenSSL
License
The OpenSSL toolkit stays under a dual license, i.e. both the conditions of the OpenSSL License and the original SSLeay license apply to the toolkit. See below for the actual license texts. Actually both licenses are BSD-style Open Source licenses. In case of any license issues related to OpenSSL please
contact openssl-core@openssl.org.
OpenSSL License
Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display the following acknowledgment:
"This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact openssl-core@openssl.org.
5. Products derived from this software may not be called "OpenSSL" nor may "OpenSSL" appear in their names without prior written permission of the OpenSSL Project.
6. Redistributions of any form whatsoever must retain the following acknowledgment:
"This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)"
THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com).
Original SSLeay License
Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
All rights reserved.
This package is an SSL implementation written by Eric Young (eay@cryptsoft.com). The implementation was written so as to conform with Netscapes SSL.
This library is free for commercial and non-commercial use as long as the following conditions are aheared to. The following conditions apply to all code found in this distribution, be it the RC4, RSA, lhash, DES, etc., code; not just the SSL code. The SSL documentation included with this distribution
is covered by the same copyright terms except that the holder is Tim Hudson (tjh@cryptsoft.com).
Copyright remains Eric Young's, and as such any Copyright notices in the code are not to be removed. If this package is used in a product, Eric Young should be given attribution as the author of the parts of the library used. This can be in the form of a textual message at program startup or in documentation
(online or textual) provided with the package.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display the following acknowledgement:
"This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)"
The word 'cryptographic' can be left out if the rouines from the library being used are not cryptographic related :-).
4. If you include any Windows specific code (or a derivative thereof) from the apps directory (application code) you must include an acknowledgement: "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The license and distribution terms for any publically available version or derivative of this code cannot be changed. i.e. this code cannot simply be copied and put under another distribution license [including the GNU Public License.]
Oracle
*****************************************************************
Oracle Instant client
End user license agreement ("Agreement")
*****************************************************************
MatrixOne Inc., ("MatrixOne") as licensor, has been given the right by Oracle Corporation (Oracle") to distribute the Oracle Instant Client software ("Program(s)") to you, an end user. Each end user hereby agrees: (1) to restrict its use of the Programs to its internal business operations; (2) that it is
prohibited from (a) assigning, giving, or transferring the Programs or an interest in them to another individual or entity (and if it grants a security interest in the Programs, the secured party has no right to use or transfer the Programs); (b) making the Programs available in any manner to any third party for
use in the third party's business operations (unless such access is expressly permitted for the specific program license or materials from the services acquired); and (3) that title to the Programs does not pass to the end user or any other party; (4) that reverse engineering is prohibited (unless required by law
for interoperability), (5) disassembly or decompilation of the Programs are prohibited; (6) duplication of the Programs is prohibited except for a sufficient number of copies of each Program for the end user's licensed use and one copy of each Program media; (7) that, to the extent permitted by applicable
law, liability of Oracle and MatrixOne for any damages, whether direct, indirect, incidental, or consequential, arising from the use of the Programs is disclaimed; (8) at the termination of the Agreement, to discontinue use and destroy or return to MatrixOne all copies of the Programs and documentation;
(9) not to publish any results of benchmark tests run on the Programs; (10) to comply fully with all relevant export laws and regulations of the United States and other applicable export and import laws to assure that neither the Programs, nor any direct product thereof, are exported, directly or indirectly,
in violation of applicable laws and are not used for any purpose prohibited by these laws including, without limitation, nuclear, chemical or biological weapons proliferation; (11) that Oracle is not required to perform any obligations or incur any liability not previously agreed to; (12) to permit MatrixOne
to audit its use of the Programs or to assign such audit right to Oracle; (13) that Oracle is a third party beneficiary of this end user license agreement; (14) that the application of the Uniform Computer Information Transactions Act is excluded.
Disclaimer of Warranty and Exclusive Remedies
THE PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MATRIXONE AND ORACLE FURTHER DISCLAIM ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
IN NO EVENT SHALL MATRIXONE OR ORACLE BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, OR DAMAGES FOR LOSS OF PROFITS, REVENUE, DATA OR DATA USE, INCURRED BY YOU OR ANY THIRD PARTY,
WHETHER IN AN ACTION IN CONTRACT OR TORT, EVEN IF MATRIXONE OR ORACLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. MATRIXONE'S AND ORACLE'S ENTIRE LIABILITY FOR DAMAGES HEREUNDER SHALL IN NO EVENT EXCEED
ONE THOUSAND DOLLARS (U.S. $1,000).
No Technical Support
Oracle and MatrixOne technical support organizations will not provide technical support, phone support, or updates to end users for the Programs licensed under this agreement.
Restricted Rights
For United States government end users, the Programs, including documentation, shall be considered commercial computer software and the following applies:
NOTICE OF RESTRICTED RIGHTS
"Programs delivered subject to the DOD FAR Supplement are 'commercial computer software' and use, duplication, and disclosure of the programs, including documentation, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement. Otherwise, programs delivered
subject to the Federal Acquisition Regulations are 'restricted computer software' and use, duplication, and disclosure of the programs, including documentation, shall be subject to the restrictions in FAR 52.227-19, Commercial Computer Software-Restricted Rights (June 1987). Oracle Corporation, 500
Oracle Parkway, Redwood City, CA 94065."
End of Agreement
The end user may terminate this Agreement by destroying all copies of the Programs. MatrixOne and Oracle each have the right to terminate the end user's right to use the Programs if the end user fails to comply with any of the terms of this Agreement, in which case the end user shall destroy all copies
of the Programs.
Relationship Between the Parties
The relationship between the end user and MatrixOne and Oracle is that the end user is licensee, MatrixOne is distributor/licensor and Oracle is licensor. No party will represent that it has any authority to assume or create any obligation, express or implied, on behalf of any other party, nor to represent the
other party as agent, employee, franchisee, or in any other capacity. Nothing in this Agreement shall be construed to limit any party's right to independently develop or distribute software that is functionally similar to the other party's products, so long as proprietary information of the other party is not
included in such software.
Open Source
"Open Source" software - software available without charge for use, modification and distribution - is often licensed under terms that require the user to make the user's modifications to the Open Source software or any software that the user 'combines' with the Open Source software freely available in
source code form. If you as end user use Open Source software in conjunction with the Programs, you must ensure that your use does not: (i) create, or purport to create, obligations of MatrixOne or Oracle with respect to the Oracle Programs; or (ii) grant, or purport to grant, to any third party any rights
to or immunities under intellectual property or proprietary rights in the Oracle Programs. For example, you may not develop a software program using an Oracle Program and an Open Source program where such use results in a program file(s) that contains code from both the Oracle Program and the Open
Source program (including without limitation libraries) if the Open Source program is licensed under a license that requires any "modifications" be made freely available. You also may not combine the Oracle Program with programs licensed under the GNU General Public License ("GPL") in any manner
that could cause, or could be interpreted or asserted to cause, the Oracle Program or any modifications thereto to become subject to the terms of the GPL.
SSLUtils
The Apache Software License, Version 1.1
Copyright (c) 2000 The Apache Software Foundation. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment:
wherever such third-party acknowledgments normally appear.
"This product includes software developed by the Apache Software Foundation (http://www.apache.org/)." Alternately, this acknowledgment may appear in the software itself, if and
4. The names "SOAP" and "Apache Software Foundation" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact apache@apache.org.
5. Products derived from this software may not be called "Apache", nor may "Apache" appear in their name, without prior written permission of the Apache Software Foundation.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OFUSE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUTOF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation and was originally based on software copyright (c) 2000, International Business Machines, Inc., http://www.apache.org. For more information on the Apache Software Foundation,
please see <http://www.apache.org/>.
Sun RPC
Sun RPC is a product of Sun Microsystems, Inc. and is provided for unrestricted use provided that this legend is included on all tape media and as a part of the software program in whole or part. Users may copy or modify Sun RPC without charge, but are not authorized to license or distribute it to anyone
else except as part of a product or program developed by the user.
SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
Sun RPC is provided with no support and without any obligation on the part of Sun Microsystems, Inc. to assist in its use, correction, modification or enhancement.
SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC OR ANY PART THEREOF.
In no event will Sun Microsystems, Inc. be liable for any lost revenue or profits or other special, indirect and consequential damages, even if Sun has been advised of the possibility of such damages.
Sun Microsystems, Inc.
2550 Garcia Avenue
Mountain View, California 94043
Tcl
This software is copyrighted by the Regents of the University of California, Sun Microsystems, Inc., Scriptics Corporation, and other parties. The following terms apply to all files associated with the software unless explicitly disclaimed in individual files.
The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee
is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply.
IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES
THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS
PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the
software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and
others acting in its behalf permission to use and distribute the software in accordance with the terms specified in this license.
Xalan
[under Apache License, Version 2.0 above]
Xerces
[under Apache License, Version 2.0 above]
Xerces2
[under Apache License, Version 2.0 above]
Table of Contents
Chapter 1.
Overview.............................................................................................. 21
Overview of ENOVIA Live Collaboration ................................................................. 21
What Needs to be Installed? ............................................................................ 23
Tcl Support....................................................................................................... 25
Chapter 2.
Language Support.............................................................................. 27
Overview of Language ............................................................................................ 27
Supported Language Configurations ............................................................... 28
Multiple Language Support .............................................................................. 30
Chapter 3.
Installing an Oracle Database............................................................ 31
Installing the Database Software ............................................................................ 31
Installing the Oracle Server..................................................................................... 32
Configuring the Oracle Server for Use with ENOVIA Live Collaboration ................ 33
Designing the Database ......................................................................................... 34
Control Files..................................................................................................... 34
Redo Logs........................................................................................................ 34
Tablespaces and Datafiles ............................................................................... 35
Rollback Segments .......................................................................................... 36
Indexing............................................................................................................ 37
Oracle Parameter File: init<SID>.ora ............................................................... 38
Creating the Database ..................................................................................... 43
Oracle 10G....................................................................................................... 47
Configuring Oracle for Non-English Languages ..................................................... 49
Disk Layout Suggestions ........................................................................................ 52
4 to 7 Disk System ........................................................................................... 53
RAID Technology ............................................................................................. 54
Other Disk Solutions ........................................................................................ 57
Reconfiguring Oracle .............................................................................................. 58
Rebuilding the Control File............................................................................... 58
Rebuilding Redo Logs...................................................................................... 59
Tuning and Statistics ............................................................................................... 61
Oracle Initialization Parameters ....................................................................... 61
A note about scalability and performance ........................................................ 69
Chapter 4.
Installing a DB2 Database.................................................................. 71
Installing the Database Software ............................................................................ 71
Installing the DB2 Server ........................................................................................ 72
Code Set and Language Settings ........................................................................... 73
DB2 Database Client Configuration ................................................................. 73
Using DB2 with ENOVIA Products.......................................................................... 74
DB2 and ENOVIA Products ............................................................................. 74
Configuring DB2 ..................................................................................................... 78
Currently Committed Mode .............................................................................. 78
Table of Contents
11
Configuration Parameters ................................................................................ 79
CLOB Datatypes .............................................................................................. 81
Additional Performance Related Tasks ................................................................... 82
SQL0429N LOB locator limit ............................................................................ 82
AIX Environment .............................................................................................. 83
Sample DB2 Database Creation Script................................................................... 84
Chapter 5.
Installing an SQL Server Database ................................................... 89
Installing the Database Software ............................................................................ 89
Installing SQL Server .............................................................................................. 90
Setting up SQL Server for Use with ENOVIA Live Collaboration ............................ 91
Configuring SQL Server.......................................................................................... 97
Minimizing Deadlock Potential.......................................................................... 97
Using Indexes with SQL Server ....................................................................... 97
Case Sensitivity................................................................................................ 97
Maintaining the Database ................................................................................ 97
Configuring Disk Layout .......................................................................................... 99
Selecting and Formatting Drives ...................................................................... 99
Performance and Scalability............................................................................. 99
General Index Recommendations......................................................................... 100
Configuring Table Statistics ............................................................................ 100
Limiting Physical I/O....................................................................................... 100
SQL Server Limitations with ENOVIA Live Collaboration...................................... 101
SQL Server concurrency................................................................................ 101
Localization Support ............................................................................................. 102
Chapter 6.
Installing a MySQL Database........................................................... 103
Installing the Database Software .......................................................................... 103
Installing MySQL Server ....................................................................................... 104
Setting up MySQL Server for Use with ENOVIA Live Collaboration ..................... 105
Windows Configuration .................................................................................. 105
Linux Configuration ........................................................................................ 106
Configuring MySQL Server ................................................................................... 108
Important MySQL Server Parameters ............................................................ 108
MySQL Server with Linux Environments........................................................ 108
Maintaining the Database .............................................................................. 108
Case Sensitivity.............................................................................................. 108
Configuring Disk Layout ........................................................................................ 109
Selecting and Formatting Drives .................................................................... 109
MySQL Server Limitations with ENOVIA Live Collaboration................................. 110
Difference in Configuration............................................................................. 110
Localization Support ............................................................................................. 111
Chapter 7.
Installing the Studio Modeling Platform ......................................... 113
Overview ............................................................................................................... 113
Installing ENOVIA Studio Modeling Platform on UNIX/Linux ................................ 114
Installing ENOVIA Studio Modeling Platform on Windows.................................... 129
Exiting Setup......................................................................................................... 142
Installing a New Version of Studio Modeling Platform........................................... 143
Using Lower Version Software after Upgrading the Database ....................... 143
12
ENOVIA Live Collaboration Installation Guide
Upgrade Analysis ........................................................................................... 143
Oracle Configuration ...................................................................................... 145
Running the Upgrade ..................................................................................... 146
After the Upgrade........................................................................................... 147
Uninstalling ENOVIA Studio Modeling Platform on UNIX/Linux............................ 148
Uninstalling ENOVIA Studio Modeling Platform on Windows ............................... 148
Chapter 8.
Installing the Live Collaboration Server......................................... 149
Overview ............................................................................................................... 149
Web or Application Server ............................................................................. 149
Live Collaboration Kernel ............................................................................... 150
Java/RMI Server ............................................................................................ 150
RIP: RMI In-process....................................................................................... 151
RMI Gateway ................................................................................................. 151
Installing a Web or Application Server .................................................................. 153
Java Development Kit .................................................................................... 154
Installing a WebLogic Server ......................................................................... 156
Installing WebSphere ..................................................................................... 157
Installing the Sun Java System Application Server ........................................ 158
Installing Tomcat ............................................................................................ 159
Optional Static Content Server ...................................................................... 160
Using a UNIX or Linux Live Collaboration Server without a Monitor..................... 161
Preparing to Install the ENOVIA Live Collaboration Server .................................. 162
General Installation for ENOVIA Live Collaboration Server ........................... 162
Before Installing ENOVIA Live Collaboration Server...................................... 163
Installing ENOVIA Live Collaboration Server on UNIX/Linux................................ 164
Installing ENOVIA Live Collaboration Server on Windows ................................... 186
Installing a Live Collaboration Server Service Pack.............................................. 206
Configuring the ENOVIA Live Collaboration Server.............................................. 212
Reconfiguring the ENOVIA Live Collaboration Server Windows Service ...... 212
Reconfiguring the ENOVIA Live Collaboration Server on UNIX..................... 215
Reconfiguring ENOVIA Live Collaboration Server Port Numbers .................. 216
Implementing the Security Wrapper on RMI Gateway ................................... 217
ENOVIA Live Collaboration Server Environment Settings .................................... 219
Optional Settings............................................................................................ 220
Time Zones through ENOVIA Live Collaboration Server ............................... 222
UTF-8 Settings...................................................................................................... 223
Automated UTF-8 Settings............................................................................. 223
Additional Manual UTF-8 Settings ................................................................. 225
Additional Manual UTF-8 Settings for AIX ..................................................... 226
File Collaboration Server ...................................................................................... 229
Setting Up the FCS Synchronization Server.................................................. 229
Running the FCS Synchronization Server ..................................................... 234
Validating and Debugging an FCS ................................................................. 236
Installing Multiple ENOVIA Live Collaboration Servers (RIP only)........................ 237
Interface for Downstream Installers, E4All, and other Automated Installers ......... 238
Internal Directory Structure Defined in enovia.install ..................................... 238
Example enovia.install Files........................................................................... 238
Matrix.ini and eMatrix.ini File Dependency Removed .................................... 239
Studio Version of MQL Command Removed ................................................. 239
Table of Contents
13
Uninstalling ENOVIA Live Collaboration Server on UNIX/Linux............................ 239
Uninstalling ENOVIA Live Collaboration Server on Windows ............................... 240
Chapter 9.
Configuring ENOVIA Live Collaboration ........................................ 241
Configuring ENOVIA Live Collaboration................................................................ 241
Command Line Options ................................................................................. 242
The Initialization File/Startup Scripts.............................................................. 242
Setting Personal Preferences......................................................................... 245
MatrixIniDefaults ............................................................................................ 245
Matrix System Defaults Program.................................................................... 246
ENOVIA Live Collaboration Settings ..................................................................... 251
Typical Environment Variables ....................................................................... 251
Optional Variables .......................................................................................... 254
Dynamically Updated Variables...................................................................... 261
Configuring Help ............................................................................................ 263
Font and Color Variables................................................................................ 263
LDAP Variables .............................................................................................. 264
Configuring Date and Time Formats..................................................................... 265
Localizing ENOVIA Live Collaboration .................................................................. 270
Studio Modeling Platform ............................................................................... 271
ENOVIA applications...................................................................................... 272
Web Navigator................................................................................................ 273
Chapter 10.
Deploying J2EE................................................................................. 275
J2EE Deployment Overview ................................................................................. 275
Modifying J2EE Settings ....................................................................................... 283
Web.xml ......................................................................................................... 283
ematrix.xml..................................................................................................... 294
Framework.properties .................................................................................... 295
Application Server Files ................................................................................. 295
Building the J2EE Archive File .............................................................................. 297
Running the WAR Utility on UNIX or Linux .................................................... 297
Running the WAR utility on Windows ............................................................. 297
Deploying the J2EE Archive File ........................................................................... 299
Deploying on WebSphere .............................................................................. 299
Deploying on WebLogic ................................................................................. 300
Deploying on Sun Java System Application Server ....................................... 301
Deploying on Tomcat...................................................................................... 302
Starting the ENOVIA Live Collaboration Server.................................................... 303
Chapter 11.
Installing the Documentation .......................................................... 305
ENOVIA Live Collaboration Documentation.......................................................... 305
Installing the PDF Files .................................................................................. 305
Uninstalling the Online Help Files .................................................................. 306
Customizing Help .................................................................................................. 307
Adding Custom Help Files.............................................................................. 308
Chapter 12.
Installing Matrix Web Navigator ...................................................... 309
Web Navigator Installation .................................................................................... 309
Installing Web Navigator on UNIX.................................................................. 309
14
ENOVIA Live Collaboration Installation Guide
Installing Web Navigator on Windows............................................................ 310
Setting up for Web Navigator Access ................................................................... 311
Configuring for download of Sun JVM............................................................ 311
Installing the Public Security Key ................................................................... 312
Configuring Web Navigator ............................................................................ 312
Defining Default Fonts on the Web ................................................................ 315
User Startup.......................................................................................................... 317
Removing Web Navigator ..................................................................................... 318
The Server’s Directory Structure .......................................................................... 319
Chapter 13.
Integrating with LDAP and External Authentication Tools ........... 321
Internal vs. External Authentication ...................................................................... 321
Login Behavior When External Authentication is Used.................................. 322
Enabling External Authentication ................................................................... 323
Using the Authentication Classes .................................................................. 324
Using LDAP with ENOVIA Live Collaboration ....................................................... 327
Limitations ...................................................................................................... 327
Behaviors to Note........................................................................................... 327
LDAP Integration Works for both Types of Authentication.............................. 327
Information Retrieved from LDAP .................................................................. 328
Overview of LDAP Connection Process......................................................... 330
Types of Binding............................................................................................. 331
Integrating ENOVIA Live Collaboration with LDAP ........................................ 332
Support for TLS/SSL...................................................................................... 339
Encrypting the Bind Password ....................................................................... 339
Using Password Triggers with LDAP .............................................................. 339
Retrieving LDAP Data Using Selects ............................................................. 340
LDAP Sample Settings................................................................................... 340
Tomcat LDAP Authentication ................................................................................ 346
Changes to server.xml ................................................................................... 346
Changes to web.xml....................................................................................... 346
Additions to enovia.ini .................................................................................... 347
Changes to WEB-INF\classes ....................................................................... 347
Chapter 14.
Installing Business Process Services™ ........................................ 349
Overview ............................................................................................................... 349
Important Installation Considerations............................................................. 350
Preparing to Install to a Production Environment........................................... 350
Reviewing Changes that an Installation Makes.............................................. 351
Before Installing ............................................................................................. 352
Installing ENOVIA Live Collaboration Business Process Services ....................... 354
Installing Business Process Services on UNIX.............................................. 354
Installing Business Process Services on Windows........................................ 356
Adding Sample Users .................................................................................... 357
Schema Installer ................................................................................................... 358
Schema XML Files ......................................................................................... 358
Adding Custom Schema ................................................................................ 359
Installing Schema with the Schema Installer ................................................. 363
Installing to Large Databases ............................................................................... 368
About the Script ............................................................................................. 368
Before Running the Script .............................................................................. 369
Table of Contents
15
Running the Script.......................................................................................... 370
Database Considerations ............................................................................... 371
The Installation Process........................................................................................ 373
Installing to a Populated Database (Released Versions Only) ....................... 373
MatrixIniDefaults Program.............................................................................. 373
Business Process Services Version Must Be Correct for Applications .......... 374
Preventing Custom Pages from Being Overwritten During Upgrades ............ 374
How the Installation Manages Previous Versions........................................... 376
How the Installation Handles Schema Similarities ......................................... 378
Installation Log File ........................................................................................ 380
Directory Structure ......................................................................................... 383
J2EE Implementation ..................................................................................... 385
File Naming Conventions ............................................................................... 386
Chapter 15.
Installing the 3DVIA Viewer.............................................................. 389
Overview ............................................................................................................... 389
3DVIA Viewer Live Collaboration Server Installation............................................. 391
Prerequisites for Installing the 3DVIA Viewer on the Live Collaboration Server...
391
Installing the 3DVIA Viewer on Windows ....................................................... 392
Installing the 3DVIA Viewer on UNIX ............................................................. 392
Upgrading the 3DVIA Viewer.......................................................................... 393
Chapter 16.
Installing ENOVIA Products............................................................. 395
Overview ............................................................................................................... 395
Before Installing the applications.................................................................... 395
Installing a Service Pack ................................................................................ 396
Installing an Application on UNIX................................................................... 396
Installing an Application on Windows ............................................................ 398
Upgrading ENOVIA Products ................................................................................ 402
Installation Troubleshooting................................................................................... 403
User Access to ENOVIA products......................................................................... 405
Compile JSPs and JPOs................................................................................ 405
File Text Searches.......................................................................................... 405
Time/Date Format .......................................................................................... 405
Configuring File Download for Multi-Byte Filenames on IE ............................ 405
Browser Screen Resolution and DPI settings ................................................ 406
Accessing ENOVIA products.......................................................................... 406
Installing the ENOVIA Semiconductor Accelerators ............................................. 407
Installing DesignSync Central ........................................................................ 407
Installing the Design to Manufacture Accelerator........................................... 412
Installing the Enterprise Project Management Accelerator ............................ 416
Installing the IP Management Accelerator ..................................................... 423
Uninstalling an Application, Service Pack or Hot Fix ............................................ 429
Uninstalling an Application using Uninstall Program ...................................... 429
Uninstalling an Application using the Add or Remove Programs Option on
Windows......................................................................................................... 430
Tracking Customizations ................................................................................ 430
Chapter 17.
Installing the ENOVIA Studio Federation Toolkit........................... 431
ENOVIA Studio Federation Toolkit Installation ...................................................... 431
16
ENOVIA Live Collaboration Installation Guide
lnstalling the Studio Federation Toolkit on UNIX ............................................ 431
Installing the Studio Federation Toolkit on Windows ...................................... 432
Installation Results................................................................................................ 433
Chapter 18.
Installing the Studio Customization Toolkit ................................... 435
Studio Customization Toolkit Installation............................................................... 435
Installing the Studio Customization Toolkit on UNIX ...................................... 435
Installing the Studio Customization Toolkit on Windows ................................ 436
The Server’s Directory Structure .......................................................................... 438
Chapter 19.
Configuring a Japanese Web Environment.................................... 439
Overview ............................................................................................................... 439
Configuring the ENOVIA Live Collaboration Server for use in Japanese.............. 440
On UNIX......................................................................................................... 440
On Windows................................................................................................... 441
Tomcat Language Settings ............................................................................ 442
Configuring Additional Settings for Japanese ....................................................... 443
Displaying Japanese using KavaChart .......................................................... 443
Creating EBOM Markups ............................................................................... 443
NLS_LANG setting in the Matrix client........................................................... 444
Configuring the Application Server for use in Japanese ....................................... 445
WebLogic Servers.......................................................................................... 445
WebSphere Servers....................................................................................... 446
Modifying J2EE Settings for the Japanese Language .......................................... 447
In web.xml ...................................................................................................... 447
Content Type Setting...................................................................................... 447
Style Sheet Settings....................................................................................... 447
Building the J2EE Archive File in Japanese ......................................................... 449
Running the war utility on UNIX ..................................................................... 449
Running the WAR utility on Windows............................................................. 449
Deploying the J2EE Archive File in Japanese ...................................................... 450
Deploying on WebLogic ................................................................................. 450
Deploying on WebSphere .............................................................................. 451
Deploying on Tomcat...................................................................................... 451
Chapter 20.
Troubleshooting ENOVIA Live Collaboration................................. 453
Troubleshooting Topics ......................................................................................... 453
Server Startup Configuration Checker .................................................................. 454
mxAudit.log File.............................................................................................. 455
Evaluation Details .......................................................................................... 457
Additional ENOVIA Live Collaboration Server Configuration Troubleshooting...... 469
Checking Disk Space ..................................................................................... 470
Checking Memory Usage............................................................................... 470
Checking for Other Running Processes......................................................... 471
Reviewing Other Configuration Issues ........................................................... 471
Collecting Logs and Core Files ...................................................................... 475
Java Activation Error on the ENOVIA Live Collaboration Server ................... 476
mx_err_pid.log for Windows........................................................................... 476
ENOVIA Studio Modeling Platform Stability Troubleshooting ............................... 478
Stack Traces................................................................................................... 478
Table of Contents
17
Studio Customization Toolkit Origin Tracing ................................................... 478
Memory Pools ................................................................................................ 478
Memory Management .................................................................................... 479
Memory Troubleshooting Procedures ............................................................ 479
Implementation Troubleshooting ........................................................................... 482
Web Navigator Troubleshooting ............................................................................ 483
Set Context Problems .................................................................................... 483
Installation on UNIX ....................................................................................... 483
Look and Feel................................................................................................. 483
ENOVIA Studio Modeling Platform Troubleshooting ............................................. 485
Accessing Remote File Systems.................................................................... 485
Crash on Checkin........................................................................................... 485
Errors during Administration........................................................................... 486
Installation on UNIX ....................................................................................... 486
Localized Character display ........................................................................... 486
Localized Decimal Character Settings ........................................................... 487
.Rollback Segment Error ................................................................................ 488
Color Mapping................................................................................................ 489
Launching Applications in Windows ............................................................... 490
Miscellaneous Troubleshooting ............................................................................. 491
FTP Connection Timeouts ............................................................................. 491
Laptop Performance....................................................................................... 492
Session Timed Out Error................................................................................ 492
Tar Error When Unpacking Distributions ........................................................ 492
Problems with JSP Path for ENOVIA products............................................... 492
Chapter 21.
Server Diagnostics ........................................................................... 493
Overview ............................................................................................................... 493
Monitoring the Live Collaboration Server using the Monitoring Agent .................. 494
Setting up the Monitoring Agent..................................................................... 494
Creating a keystore File ................................................................................. 494
Configuring and Starting the Monitoring Agent .............................................. 495
Starting and Stopping the Monitoring Agent .................................................. 497
Description of Event Objects .......................................................................... 497
Monitoring Agent Events ................................................................................ 498
DS License Server Events ............................................................................. 499
MCS Events ................................................................................................... 500
Tracing Types ........................................................................................................ 505
Configuring Server Diagnostics with .ini File......................................................... 507
Considerations ............................................................................................... 508
Studio Customization Toolkit Origin Trace Facility................................................. 511
Enabling the Studio Customization Toolkit Client ........................................... 511
Enabling the Web/Application Server............................................................. 512
Enabling the Live Collaboration Kernel .......................................................... 512
Studio Customization Toolkit Origin Trace Output .......................................... 513
Memory Management ........................................................................................... 515
Configuring Memory Manager ....................................................................... 515
Load Runner Example ................................................................................... 517
Error and Log Messages................................................................................ 519
Gateway Debug Trace........................................................................................... 521
18
ENOVIA Live Collaboration Installation Guide
Index ............................................................................................................................ 523
Table of Contents
19
20
ENOVIA Live Collaboration Installation Guide
1
Overview
Overview of ENOVIA Live Collaboration
ENOVIA Live Collaboration™ is a standards-based, open and scalable system able to
support the largest, most complex, product lifecycle management deployments. It provides
the flexibility to easily configure business processes, user interfaces, and infrastructure
options to ensure that they meet your organization’s needs. The system enables you to
continually drive business process improvements to operate more efficiently using
pre-built metrics reports, while virtual workplace capabilities enable ad-hoc collaboration
for cross-functional and geographically dispersed teams to securely share product content.
All product development content can be routed for review and managed in repeatable
workflow business process.
ENOVIA Live Collaboration (CPF) provides the backbone for product lifecycle
management activies within a workgroup, enterprise, or extended enterprise, depending on
the organization’s needs. ENOVIA Live Collaboration is the underlying support for all
ENOVIA products and other Dassault Systèmes products for Product Lifecycle
Management, which include products from CATIA, 3DLive, SIMULIA, and DELMIA
product lines. It is comprised of the following end-user software components:
•
ENOVIA Matrix Navigator, which is the tool for searching the data objects based on
the data model. This application, or its Web-based version (MXW), is required to
administer triggers and other configuration objects for pre-V6 legacy clients. Both the
Rich client and Web version Navigator products are included with CPF. The rich
client is installed as part of the ENOVIA Studio Modeling Platform Rich Clients
21
distribution for ease of installation. The CPF license entitles your use of this
component of ENOVIA Studio Modeling Platform only. The rich client or the Web
version of Matrix Navigator can be installed from CD 1: ENOVIA Live Collaboration
- Navigator and Administrative Clients.
•
ENOVIA Live Collaboration Server, which is a Java/RMI-based business object
server. The MQL command line executable is included with the server for the purpose
of system installation and data/file storage setup functions only. If any other schema
configurations are needed, ENOVIA Studio Modeling Platform (DTE) must be
licensed. Note that if distributed file stores are created with Sites and Locations, one
or more ENOVIA File Collaboration Server licenses may also be needed. This is
installed from CD 2: ENOVIA Live Collaboration - Web Server.
•
ENOVIA Live Collaboration Business Process Services, include the capabilities from
the Application Exchange Framework, Common Components, Team Central, and
Business Process Metrics applications. This is installed from CD 3: ENOVIA Live
Collaboration - Business Process Services.
The following administrative add-ons are also available:
•
•
22
ENOVIA Studio Modeling Platform (DTE) provides the development tools for a
company to define and test configurations that are needed in their production
ENOVIA system. While ENOVIA offers PLM products that cover many product
development business processes, the need for companies to tailor or extend ENOVIA
products to meet their specific needs is inevitable, since a company's competitive
advantage often requires a unique product development process compared to how
other companies execute. Therefore, in order to deploy the ENOVIA system,
companies may need to set up an environment that allows them to develop changes to
the standard ENOVIA products and test them in conditions that duplicate the actual or
projected network and server performance. ENOVIA Studio Modeling Platform is
required in order to tailor and configure the production ENOVIA system.
The users of ENOVIA Studio Modeling Platform must be valid licensees of the
products that are configured and tested. However, a user's production license can also
be used with the system installed for ENOVIA Studio Modeling Platform. The
ENOVIA Studio Modeling Platform includes the following primary tools:
•
MQL - the command line interface tool for executing commands and scripts.
•
System Administration - the tool for managing and configuring data and file
storage vaults.
•
Business Modeler - the tool for managing the data model and its associated
business processes including types, attributes, relationships, and the web user
interface design.
•
Matrix Navigator - the tool for searching the data objects based on the data
model. This application is required to administer triggers and other configuration
objects.While the Matrix Navigator is installed as part of ENOVIA Studio
Modeling Platform for ease of installation, this application license is included in
both CPF and DTE. For legacy customers that are still based on thick client
deployments vs. Web, the CPF license entitles users to use Matrix Navigator.
ENOVIA Studio Federation Toolkit (ADT), which provides documentation and
examples for writing custom programs that use the Adaplet libraries available in
ENOVIA Live Collaboration.The ENOVIA Studio Federation Toolkit must be
licensed for each ENOVIA Studio Modeling Platform environment that requires
development of custom connectors with the Adaplet APIs.
ENOVIA Live Collaboration Installation Guide
What Needs to be
Installed?
•
ENOVIA Studio Customization Toolkit (ADV), which provides documentation and
examples for writing custom programs and support web services client development.
The ENOVIA Studio Customization Toolkit must be licensed for each ENOVIA
Studio Modeling Platform environment that requires development of custom
programming to change or extend standard ENOVIA capabilities.
•
ENOVIA File Collaboration Server (FCS), which enables administrators to distribute
file data across the enterprise for optimal upload and download performance. A
system license is required for each physical site that requires remote file storage.
There is no limit to the number of users that can use the ENOVIA File Collaboration
Server at a given licensed site, however, all of these users must be licensed to use
ENOVIA Live Collaboration, which is the prerequisite.
Depending on the options you purchased, you can:
•
Install the ENOVIA Live Collaboration components and prerequisites separately.
This option allows flexibility in choice of third party database and application server.
For enterprise and extended enterprise level use, you should evaluate the supported
database and application server choices and install the ones that best suit your needs.
The following table lists the order in which the components should be installed for the
primary architectures and lists the section of this guide that describes each installation.
Before beginning any installation, make sure you check its requirements in this chapter.
This
architecture
Needs these components installed in
this order
For instructions, see:
Client/server
(desktop or thick
client)
1. A supported database server on database
server machine, as listed in the
“Prerequisites” in the Program Directory
for the given release.
Chapter 3, Installing an Oracle
Database, Chapter 4, Installing
a DB2 Database, Chapter 5,
Installing an SQL Server
Database, or Chapter 6,
Installing a MySQL Database
2. ENOVIA Studio Modeling Platform on each
supported client machine, including a
connection (bootstrap) file.
Chapter 7, Installing the Studio
Modeling Platform
If required due to resource availability, the
ENOVIA Studio Modeling Platform software
may be installed before the database software,
but it will not run until the database
installations are complete.
Chapter 1: Overview
23
This
architecture
Needs these components installed in
this order
For instructions, see:
Any Web Access
1. The components listed for the client/server
architecture
Application server installation
guides
2. A supported Web or application server, such
as WebLogic or WebSphere, as shown in
“Prerequisites” in the Program Directory
for the given release
The Dassault Systemes License
Server Installation and
Configuration Guide
3. The Dassault Systemes License Server
4. The ENOVIA Live Collaboration Server.
For production use, it is recommended that
this is not installed on the same machine as
the database server. A JDK is required for
the ENOVIA Live Collaboration Server.
5. The ENOVIA Live Collaboration Business
Process Services
6. An application that end users will use to
connect to the database.
Chapter 8, Installing the Live
Collaboration Server
Chapter 14, Installing Business
Process Services™
Chapter 12, Installing Matrix
Web Navigator
Chapter 16, Installing ENOVIA
Products
Application Administration
Guides
Integration Administration
Guides
Before You Begin
You should review the Program Directory. Each version of ENOVIA Live Collaboration
comes with media that includes the program directory for that release. The program
directory is a website that organizes all the release information for all Dassault Systèmes
products for a given release. It contains information about prerequisites, installation,
licensing, product enhancements, general issues, open issues, documentation addenda, and
closed issues.
Conventions
When the UNIX installation procedure asks for input, it provides the default value in
brackets []. Default values for directory paths are based on the environment, so the
examples in this book show empty brackets. To use the default, simply press Enter.
Throughout this guide, certain words appear in capital letters, which indicates that you
need to enter specific information for your environment. Below is a description of some of
the abbreviations that are used in this manner.
•
24
INSTALL_PATH: directory in which to install the software. Once installed, this may
be referred to as one of:
•
ENOVIAHOME (UNIX) or ENOVIA_INSTALL (Windows) for
ENOVIA Studio Modeling Platform
•
SERVERHOME (UNIX) or SERVER_INSTALL (Windows) for
ENOVIA Live Collaboration Server
•
PLATFORM: local platform architecture. Must be from the appropriate list in
“Prerequisites” in the Program Directory for the given release.
•
HOSTNAME: name of the machine that applies to the current question.
ENOVIA Live Collaboration Installation Guide
Published examples in this document, including but not limited to scripts, programs, and
related items, are intended to provide some assistance to customers by example. They are
for demonstration purposes only. It does not imply an obligation for ENOVIA to provide
examples for every published platform, or for every potential permutation of platforms/
products/versions/etc.
Directory Naming Conventions
For ENOVIA Live Collaboration Business Process Services installation, the name of the
directory containing mql.exe CANNOT include any spaces.
For ENOVIA Studio Modeling Platform and Live Collaboration server installation, you
can use spaces in the name of the directory containing the JDK.
Tcl Support
The Tcl 8.5.7 library is installed and configured as the default version of Tcl with
installation of the desktop applications. On Windows, in order to load the tk libraries, it is
necessary to modify the system “path” environment variable to point to the path
containing the tk85.dll library, which will be under
SERVER_INSTALL\intel_a\code\bin\).
To Configure ENOVIA Live Collaboration for use with Tk 8.5.7
1. Install ENOVIA Live Collaboration.
2. In Control Panel, System, Environment Variables (on XP it’s on the Advanced Tab),
add the tcl directory to the end of the Path variable. For example:
e:\enoviav6r2011x\server\intel_a\code\bin
3. Save the setting and close Control Panel.
The Tcl/Tk 8.0 and 8.3.3 libraries are also included for cases where an implementation
requires the older version. If you have used Tcl 8.0 (the default before version 10.x) and
use locale specific tcl commands, such as those dealing with number formats, the default
ENOVIA Live Collaboration setup will behave differently. For example, in tcl mode of
MQL, if you enter the following on a machine set up with a European locale such as
de_DE:
format "%f" 3,45
With tcl 8.0, the returned value is:
3,450000
But with tcl 8.3.3, the value is:
3,45
You may need to rewrite code that depends on the 8.0 format. Until you have the time to
rewrite all applicable code, you can reconfigure ENOVIA Live Collaboration to use Tcl
8.0 as described below. The configuration is done via .ini files, so older version software
will not run with new .ini files, unless updates are made.
The MX_TCL_SHLIB variable sets the path to the TCL library you want to use, and
defaults to the 8.5.7 directory structure, so you’ll need to add this setting in order to use
the version 8.0 files. You must also reset the default TCL_LIBRARY and TK_LIBRARY
settings to the paths of the initialization files. Make these changes in the .ini files for
Windows, Studio Modeling Platform startup files for UNIX desktop, and mxEnv.sh for the
ENOVIA Live Collaboration Server on UNIX.
Chapter 1: Overview
25
If implementations rely on TCL_LIBRARY or TK_LIBRARY settings to find files under that
directory, you will need to move those files to the Tcl 8.5.7 directory structure. For
example, the Solutions Library depends on these entries being set in the environment to
find files under a sub-directory called mxTclDev.
Floating Point Calculations
The out of the box Tcl 8.5.7 performs floating point calculations at a higher precision than
the previously incorporated Tcl 8.3.3 which defaulted to precision=12. This can affect
some floating point calculations using 'expr'. For example:
% expr 1.23 + 4.56
5.789999999999999
If this is a problem, the workaround is to add the following line to <installdir>/tcl85/lib/
tcl8.5/init.tcl:
set tcl_precision 12
Adding this line will give you the same results as in Tcl 8.3.3:
% expr 1.23 + 4.56
5.79
Default Clock Command Output
When using Tcl 8.5.7 or Tcl 8.3.3, the “millis” subcommand should be used with the clock
command. The “clicks” subcommand is unreliable and should not be used.
Incorrect Syntax in the Catch Command
Please be aware that in Tcl versions before Tcl 8.5.7, Tcl was more lenient with the syntax
used in the catch command. The correct syntax is “catch BLOCK1 BLOCK2,” where
BLOCK1 and BLOCK2 are bracketed with “{}” and not “[].” The “[]” brackets force
evaluation prior to entering the catch command, which makes the command useless. Tcl
8.5.7 will enforce the use of “{}.”
26
ENOVIA Live Collaboration Installation Guide
2
Language Support
Overview of Language
The following languages are provided and supported on ENOVIA Live
Collaboration-supported Windows and UNIX (including Linux) platforms for both Studio
Modeling Platform and Web Navigator client menus, errors, and dialogs:
•
English
•
French
•
German
•
Italian
•
Japanese
The Studio Modeling Platform and Web Navigator are also provided and supported in the
following languages on ENOVIA Live Collaboration-supported Windows platforms only.
(Web Navigator is supported in these languages on correctly configured ENOVIA Live
Collaboration-supported Windows servers):
•
Korean
•
Traditional Chinese
•
Simplified Chinese
27
For other ENOVIA products, with the server appropriately configured, the following
languages are provided and supported on ENOVIA Live Collaboration supported
Windows and UNIX (including Linux) platforms:
•
English
•
French
•
German
•
Italian
•
Japanese
The appropriate configurations are shown in the tables below.
Supported
Language
Configurations
Note that the database and Application servers must be correctly configured to handle
UTF8 encoding.
French
Component
Live Collaboration Kernel
Lang Setting
Platform
Studio Modeling Platform
LANG = FR
Windows/UNIX
Web Navigator
LANG = C if supporting more
than 2 non-English languages
Or
LANG = FR
Windows/UNIX
ENOVIA I-PLM Business
Process applications
LANG = C with OS-level
Parameter UTF-8
Windows/UNIX
Component
Live Collaboration Kernel
Lang Setting
Platform
Studio Modeling Platform
LANG = IT
Windows/UNIX
Web Navigator
LANG = C if supporting more
than 2 non-English languages
Or
LANG = IT
Windows/UNIX
ENOVIA I-PLM Business
Process applications
LANG = C with OS-level
Parameter UTF-8
Windows/UNIX
Italian
28
ENOVIA Live Collaboration Installation Guide
German
Component
Live Collaboration Kernel
Lang Setting
Platform
Studio Modeling Platform
LANG = DE
Windows/UNIX
Web Navigator
LANG = C if supporting more
than 2 non-English languages
Or
LANG = DE
Windows/UNIX
ENOVIA I-PLM Business
Process applications
LANG = C with OS-level
Parameter UTF-8
Windows/UNIX
Japanese
Component
Live Collaboration Kernel
Lang Setting
Platform
Studio Modeling Platform
LANG = JA
Windows/UNIX
Web Navigator
LANG = C if supporting more than
2 non-English languages
Or
LANG = JA
Windows/UNIX
ENOVIA I-PLM Business
Process applications
LANG = C with OS-level
Parameter Shift_JIS on Windows
and UTF-8/EUC on UNIX
Before you configure and deploy
the ENOVIA Live Collaboration
Server in Japanese, please see
Windows/UNIX
Configuring a Japanese Web
Environment in Chapter 19.
Korean
Chapter 2: Language Support
Component
Live Collaboration Kernel
Lang Setting
Platform
Studio Modeling Platform
LANG = KO
Windows
Web Navigator
LANG = C
Windows
ENOVIA I-PLM Business
Process applications
Not Supported
Not Supported
29
Simplified Chinese
Component
Live Collaboration Kernel
Lang Setting
Platform
Studio Modeling Platform
LANG = ZH_CN
Windows
Web Navigator
LANG = C
Windows
ENOVIA I-PLM Business
Process applications
Not Supported
Not Supported
Component
Live Collaboration Kernel
Lang Setting
Platform
Studio Modeling Platform
LANG = ZH_TW
Windows
Web Navigator
LANG = C
Windows
ENOVIA I-PLM Business
Process applications
Not Supported
Not Supported
Traditional Chinese
Multiple Language
Support
If you must support more than 2 non-English languages, you must use the LANG=C
setting. In addition, your database (Oracle or DB2) and application/collaboration server
must be configured for UTF8. If your data will be in multiple languages, your browser
must have the appropriate language support.
Refer to Localizing ENOVIA Live Collaboration in Chapter 9 for additional information.
30
ENOVIA Live Collaboration Installation Guide
3
Installing an Oracle
Database
Installing the Database Software
This chapter describes setup requirements and guidelines for configuring Oracle for use
with ENOVIA Live Collaboration. You have three choices when installing Oracle and
ENOVIA Live Collaboration, you can install:
•
As a stand-alone system, where the client and server machines are the same. In this
case, the Oracle server software is installed.
•
In a networked environment, with a database server and multiple clients. You must
install the Oracle server software on the central server, if its a networked installation.
•
In a distributed environment, with multiple database servers accessed by clients in
several locations. The Oracle server software may be installed on multiple servers in
this configuration.
OracleInstantClient is included when ENOVIA Live Collaboration or the Live
Collaboration server are installed.
If you are upgrading from a prior version of ENOVIA Live Collaboration, refer to
Installing a New Version of Studio Modeling Platform in Chapter 7 for details. Oracle
settings may require temporary adjustments while upgrading the schema.
31
Installing the Oracle Server
Before installing the Oracle Enterprise server software, read this chapter in its entirety.
Then use the guidelines provided here in conjunction with the instructions provided by
Oracle. Supported platforms and software versions are shown in the Program Directory for
the given release.
Since Oracle is a very complex product, do NOT attempt to install it without the
appropriate installation guides, which are available from Oracle. In UNIX environments in
particular, variations in hardware and software require different approaches to be taken,
and these caveats have been the topic of many Oracle documents. However, some
important configuration guidelines are included in this chapter, some of which are not
platform specific. Also, for UNIX servers that must support non-English languages,
localization tips are provided in the section, Configuring Oracle for Non-English
Languages. Setup procedures for installations that will require support for non-English
languages must be executed during initial installation.
32
ENOVIA Live Collaboration Installation Guide
Configuring the Oracle Server for Use with
ENOVIA Live Collaboration
Once the Oracle Server software is installed, the database must be created and configured
to run effectively with ENOVIA Live Collaboration software. Since every installation is
different, it is difficult to provide an exhaustive list of specific changes that must be made.
We recommend that you consult an Oracle-trained DBA who has experience in Oracle
tuning to properly configure and tune large databases. However, certain adjustments are
universal and some of these adjustments are listed in the sections that follow.
An overview of creating an Oracle database for ENOVIA Live Collaboration purposes
involves:
1. Deciding which files go on which disk, and configuring the init<SID>.ora file
accordingly. Refer to Disk Layout Suggestions for recommendations.
2. Creating the base database using the settings in init<SID>.ora, defining a
character set, and establishing realistic values for MAXDATAFILES and
MAXLOGFILES.
3. Creating a default rollback segment which belongs to the system tablespace.
4. Creating the system/sys database views and tables.
5. Creating tablespaces and rollback segments.
6. Creating the user with appropriate rights.
Configuration procedures are provided in the sections that follow.
Chapter 3: Installing an Oracle Database
33
Designing the Database
ENOVIA Live Collaboration is a client of an Oracle database. The “ENOVIA database”
is a set of tables, constraints, indexes and database links owned by one Oracle user only.
This may also be referred to as the “ENOVIA Schema.”
First, create a very simple Oracle database comprised of a system tablespace, control files,
and redo logs. The control file holds the database limits, and so these must be established
when the database is first defined. So, before you create the ENOVIA database you must
decide the following:
•
The location and size of the system datafile.
•
The character set. This is covered in Configuring Oracle for Non-English Languages.
•
The location of the control files.
•
The location, number, and size of the redo logs. Redo logs are created with the
database, but may easily be dropped and recreated as required. Refer to Rebuilding
Redo Logs
Once the base database is established, you can configure, create and make adjustments to
tablespaces, datafiles, redo logs and rollback segments.
Control Files
Control files are created when the database is defined. These files control the physical
structure and status of the database. The CONTROL_FILES parameter in the
init<SID>.ora file establishes their location. Control files are like a master index of all the
redo logs and datafiles with status information. Each control file is a replica of the
other(s), providing crucial data redundancy in the event of disk failure. Configure a
minimum of three control files on separate disks, if disk mirroring is not being used.
Redo Logs
Redo logs record all transactions made to the database for recovery purposes. They are
essentially a transactional history log of all actions taken. The maxlogfiles setting
determines the maximum number of redo log files (or groups, if redundancy is used) that
may be defined. Redo logs are updated sequentially, with 3 to 5 typically existing at one
time. For example, first the system writes to log1, then to log2, log3... and then to log1
again. If archive logging is enabled, (recommended) the redo log file is copied off as an
“archive log” once it has reached its maximum size, or if some other event triggers a log
switch. This lets you restore a database from the last full backup to the present, essentially
“replaying” all the database transactions that have occurred. Redo logs are not tablespaces,
but rather are separate O/S level log files.
Redo log files may be duplicated on separate disks for data redundancy. The original and
all copies are known as a logfile group. The number of redo logs in a group is defined with
the maxlogmembers value which defaults to 2 during database creation. Most DBAs
will set 3 members to each group (each on a different disk if possible) for safety. However,
O/S and RAID mirroring may be used instead. Refer to the Oracle Server Administrator’s
Guide and the Oracle DBA Handbook for more information.
The maxlogfiles and maxlogmembers values must be set during database creation.
However the actual number of log files is determined by the log_files setting in the
init<SID>.ora file. If this setting exceeds the maximum value, only the specified
34
ENOVIA Live Collaboration Installation Guide
maximum number are allocated. If it becomes necessary to increase the maximum values,
the control file must be rebuilt. Refer to Rebuilding the Control File for more information.
If many transactions are to be performed, such as during dataloading, the size of the redo
logs should be adjusted. A default size might be10 MB, but this should be increased to
250 MB for certain circumstances which demand aggressive Oracle transactional
activities, such as when upgrading very large (1,000,000 object) databases. The rate of
switching between the redo logs can determine how much space to allocate for them. If
switching is very frequent the size should be increased so that they don’t switch more than
every 20 to 30 minutes. Refer to Installing a New Version of Studio Modeling Platform in
Chapter 7 for upgrade recommendations and procedures.
Tablespaces and
Datafiles
Oracle stores data in tables that are allocated to tablespaces. Each tablespace contains at
least one datafile. Several tablespaces are part of an ENOVIA Live Collaboration/Oracle
database:
•
SYSTEM - When Oracle is installed, this tablespace is created. It contains the catalog
information for all the schemas (or Users) within the database. The size of this
tablespace depends on if Oracle is used solely for ENOVIA, or if other applications
are also using the instance. To allow for upgrades to Oracle we suggest a size of
75 MB.
•
TEMP - Oracle requires a temporary workspace tablespace for performing functions
such as re-indexing a vault and performing certain queries. Also, Oracle sorts or joins
make use of this tablespace. ENOVIA Live Collaboration may perform joins, if a
foreign vault is in place (utilizing an Adaplet to another database).
•
ENOVIA - When the Enovia user is created, a tablespace is assigned to hold the
schema definitions defined by the Business Administrator. This is the tablespace
assigned to the Administration vault.
•
ROLLBACK - A tablespace that is dedicated to holding rollback segments should be
created.
•
VAULTS - Two tablespaces may be assigned during creation of each vault—one to
hold the index information and one to hold the data tables. If the tablespaces are not
specified in the definition, the user’s default tablespace is used. We recommend that
unique data and index tablespaces are assigned. These datafiles should be on separate
disk spindles, if in a non-raid system. While large vaults should have tablespaces
defined specifically for them, smaller vaults may share tablespaces with other smaller
vaults, but keeping the index and data of each vault separate.
Tablespaces are configured using SQL or Storage Manager with parameters that include
the initial size and the size to which they can grow.
Datafile Sizing
To determine datafile sizes for the vault tablespaces, consider the following:
•
How many business objects will this vault contain within one year? two years?
•
For the most commonly-used type, how may attributes, how large a description field,
and how much history will be retained per business object?
After large scale data loading, data to index size ratios are 1 to 1.5, but a vault re-index
will most likely make this ratio more of the order of 1 to 1.
Chapter 3: Installing an Oracle Database
35
With this in mind, our example scripts (shown in step 5 of the Creating the Database
procedure) presume that vault Vault1, which uses vault1-ts for data and
vault1-Its for index, will have 300,000 business objects after two years of dataload/
production usage. Assume the average business object takes 2 KB of data and 3 KB of
index space, so data files are created of size 600 MB for data and 900 MB for index.
Tablespace Extent Sizing
When ENOVIA Live Collaboration schema is first created, MX tables are created in
Oracle. MX tables derive their default storage size settings from the tablespace values.
Once in production, these tables probably will not grow large in size. Depending on the
number of program objects, and the complexity of the schema, the default ENOVIA Live
Collaboration User tablespace is not likely to exceed 60 MB.
When a vault is created, LX tables are created and their default storage values are also
derived from the tablespace values. Theses vault tables may experience dramatic growth.
You can run the validate upgrade command to determine how many of each type of table
exists in any version. It will output a list of all tables.
Oracle Corporation’s Tuning white papers offer some suggestions concerning extent
sizings:
1. Use initial and next size of 160k, 5120k, or 160m.
2. Use pct-increase of 0.
3. Ideally, no tables should have a very large number of extents.
One recommendation is that there should never be more than 10 extents per table.
So, initial = next = 160k is set for all tablespaces. However, examination of the LX tables
indicates that certain tables, such as LXOID (the master index of all vault OIDS), LXBO
(business object definition table), LXSTRING (string attributes), LXHIST (history table),
and possibly LXDESC, LXRO, LXFILE (description, relationship, and attached file
reference tables) experience growth. So for vaults which anticipate more than 10,000
business objects, ENOVIA suggests a next extent size of 5120k.
If a database has hundreds or thousands of extents per table, performance will be slow. An
Oracle export followed by a database re-creation (import) will help. Contact ENOVIA
Technical Support or the ENOVIA Infrastructure Team for advice.
Rollback
Segments
Rollback segments allow transactions to fail in such a manner that the database can be
restored to a condition it was in before the transaction was attempted. When a transaction
fails, the data contained in the rollback segment is re-inserted back into the database, thus
restoring its integrity. Once the transaction is “committed” or restored, the rollback
segment is flushed clean. Rollback segments are created in a tablespace dedicated for
them.
Since most ENOVIA Live Collaboration transactions are small, a segment size of 64 k will
cover most of them. The recommended extent size is 128k with a minimum of 10 extents.
However, there are some conditions, such as during ENOVIA Live Collaboration upgrades
or a business definition modification that is widely referenced, that may require a large
rollback segment.
36
ENOVIA Live Collaboration Installation Guide
A rule of thumb is that there should be one rollback segment for every ten concurrent
users. Either the “Storage Manager” or “SQL*Plus” may be used for this purpose. Once
created, all new rollback segments must be identified in init<SID>.ora, as described
below.
For large scale concurrent systems (500+processes) rollback segments might be spread
across multiple tablespaces on different spindles. This is known as striping the rollback
segments.
Indexing
The section contains general information about Oracle indexing in an ENOVIA Live
Collaboration environment.
B-Tree Indexes
ENOVIA Live Collaboration only uses B-tree indexes, which ensure that read
performance does not degrade as the base table grows. B-tree indexes expand and balance
very well over time, although deletions result in “browning” the index.
To maintain B-tree indexes:
•
Keep nesting levels to a minimum.
•
Perform regular maintenance operations to keep the indexes performing optimally.
Index Monitoring
Using the dynamic schema model feature, ENOVIA Live Collaboration has many indexes
for all possible schema configurations. Too many indexes will degrade write performance.
A better solution is to only operate with the actual indexes that are used.
To activate an index, use:
Alter index XXXX MONITORING USAGE
To de-activate an index, use:
Alter index XXXX NOMONITORING USAGE
To see whether the index has been used (selected in a parse tree) since the last ALTER
INDEX ... MONITORING USAGE statement was issued, query the USED column of the
V$OBJECT_USAGE dynamic performance view, for example:
select used from v$object_usage;
The exp/imp utility with the “indexfile” feature can be used to generate the entire index
schema DDL. Indexes can then be dropped, if they are not required and only recreated for
actual upgrades.
Index Rebuilding
To rebuild an index from an index, use the following dynamic SQL script. It can be safely
completed using the “online” option; any failures will not invalidate the existing index:
select 'alter index '||owner||'.'||index_name||' rebuild
tablespace'||tablespace_name||' online ;'
from dba_indexes
where owner = 'MATRIX_SCHEMA‘
Chapter 3: Installing an Oracle Database
37
Oracle Parameter
File: init<SID>.ora
The parameter file is a small text file that defines the Oracle instance. It contains a list of
Oracle instance configuration parameters, including database and instance defaults,
database limits, and the size of the System Global Area (SGA). The init<SID>.ora file also
specifies control files, archived log files, and trace files settings. The parameter file is only
read during instance startup, and the database does not write to it. If the file is modified,
the instance must be shut down and restarted to make the new version of the parameter file
effective.
Several initial settings in the Oracle init<SID>.ora file must be adjusted. The file is located
in the ORACLE_HOME/dbs directory. ORACLE_HOME is the path where Oracle was
installed, and <SID> is the server instance IDentification. For example, for a SID named
“orcl.” it would be called initorcl.ora. Notice that several options are provided for many
settings, with all but one “commented out” with a pound sign, “#.”
The sections that follow describe recommended settings. A sample file is shown at the end
of these sections.
If making changes using the Windows Instance Manager, be sure to right-click and choose
Export to File from the Stored Configurations menu or changes may not be written to the
O/S level file.
System Global Area
The System Global Area (SGA) is defined by three settings in the init<SID>.ora file:
•
DB_BLOCK_BUFFERS
•
SHARED_POOL_SIZE
•
LOG_BUFFERS
The SGA should be configured to use no more than 40% of the available RAM on a server
that is dedicated to the ENOVIA Live Collaboration/Oracle instance.The first setting is the
most important for ENOVIA Live Collaboration.
The DB_BUFFER area, defined by the product of DB_BLOCK_SIZE and
DB_BLOCK_BUFFERS is the key memory buffering cache for database transaction
activity. If you specify too small a value it will impact performance. The Oracle default of
200 is inadequate. A larger cache reduces the number of disk writes of modified data.
DB_BLOCK_SIZE should be set to match the system’s O/S block size value.
Considerable performance improvements have been noted when, for instance, Solaris
machines used 8k instead of 2k, and AIX used a DB_BLOCK_SIZE size of 4k to match
the O/S default of 4k.
Oracle should never use swap, otherwise performance will degrade. Too large a
DB_BLOCK_BUFFER value could induce memory paging or swapping.
SHARED_POOL_SIZE is the data dictionary library cache. A value of 9000000 is
suggested, but larger databases may want to use 15m.
So, for example, if a server for a large database had 256k of RAM, you could configure it
as follows:
db_block_buffers = 20000 (20000 x 4k = 80mb. Note that this is assuming a block
size of 4k at database creation.)
38
ENOVIA Live Collaboration Installation Guide
shared_pool_size = 9000000
log_buffers = 16384000
If this server will also run the Live Collaboration server, use a smaller SGA, reducing the
size of DB_BLOCK_BUFFERS only.
Identifying Rollback segments
All new rollback segments should be identified with the rollback_segments setting.
For example:
rollback_segments = r01, r02, r03, r04 (and so on...)
Rollback segments must first be created with the “Storage Manager” or SQL*Plus
applications.
You may also need to specify the maximum transactions per rollback segment. For Oracle
Version 10.x, use the following parameter:
transactions_per_rollback_segment = 32 (at a maximum)
Configuring for Concurrent Users
Adjustments should be made to the number of processes, open cursors, and dml locks
based on the number of concurrent users. Use these formulas as a guide for configuring:
processes= should be 5 times the number of concurrent users.
open_cursors sets the number of open cursors per process. 200 is suggested, but may be
scaled up as necessary.
dml_locks = should be 10 times the number of concurrent users
The number of threads in the Live Collaboration server should be included in the
“concurrent user” count for all settings.
Increasing the number of processes may require more semaphores to be created on some
UNIX servers. Refer to the Oracle installation guides for system configuration
requirements.
If Adaplets will used, the open_cursors setting should be 12 times the number of
concurrent users.
Configuring for Adaplets
When using an adaplet with a Live Collaboration server, the Oracle instance needs to be
able to support more sessions than the connection pool size. The following Oracle
parameters should be set in init<SID>.ora as follows:
sessions=200
processes=250
These values should be considered guidelines, but both should be set greater than the value
of MX_CONNECTION_POOL_SIZE, which is set in the enovia.ini file for the Live
Collaboration Server. The default value for MX_CONNECTION_POOL_SIZE is
determined by the Java heap size selected during installation of the Live Collaboration
server (on UNIX that is small = 10, medium = 20, large = 30).
Chapter 3: Installing an Oracle Database
39
Also note that when adaplets will be used, the open_cursors setting should be 12 times the
number of concurrent users. Refer to the Studio Federation Toolkit Adaplet Programming
Guide for details.
Log Settings
LOG_CHECKPOINT_INTERVAL is defined as:
Redo Log Size
------------------------------------O/S block size
1
× -------------------------------------------------------------------------------------------------------------Number of Checkpoints desired per redo log
So, for a 10m redo log, an O/S block size of 2k, and 2 checkpoints per redo log, we have:
10240000 1
log_checkpoint_interval = ------------------------ × --- = 2500
2
2048
Given that the redo is really used for recovery, Oracle increments a Sequence Change
Number (SCN) with each checkpoint write. So, if you need to recover a database, having
multiple SCNs per redo log permits recovery to any SCN.
For dataload or upgrade conditions, consider setting the
LOG_CHECKPOINT_INTERVAL to a large number (such as 4096000), essentially
disabling the SCN write and tuning the database for performance.
The log buffers writes to the redo every 3 seconds or at 33 percent fill of the log buffer. It
is essential that the sum of the sizes of the redo logs exceeds the log buffer size. This
means that a 16mb log buffer demands redo logs larger than the Oracle defaults of 500k /
1m.
A redo log switch rate of 20 to 30 minutes is recommended for a production system.
Archive Logging
Although not documented in our sample init<SID>.ora file below (which is shown for
creation purposes) in production mode, archive logging is highly recommended. The
following settings may be added to the initialization file:
log_archive_start = true
log_archive_dest = directory path for Archive logs
log_archive_format = arch%S.arc (for example)
Refer to the Oracle Server Administrator’s Guide for discussion of these and other
settings. For instance, to enhance archiving performance consider setting:
log_archive_buffers = 2
However, for writes to disk or fast tape, try a larger value. Oracle documentation provides
many more details.
Oracle Setup for ENOVIA Live Collaboration with
Case-sensitive Off
If you plan to work with ENOVIA Live Collaboration in a case-insensitive environment,
the Oracle database must be configured to use a function-based index by adding the
following to init<SID>.ora:
QUERY_REWRITE_ENABLED=TRUE
40
ENOVIA Live Collaboration Installation Guide
QUERY_REWRITE_INTEGRITY=TRUSTED
optimizer_mode = choose
If you have done some Oracle tuning, the optimizer may be in “Choose” mode. This is
acceptable as long as you calculate statistics regularly, since the system will use
cost-based optimizing if statistics are available. Refer to Oracle documentation for more
information on optimizer modes. Refer to the MQL Guide for more information on the
ENOVIA Live Collaboration casesensitive setting and recalculating statistics.
Sample init<SID>.ora file
A sample init<SID>.ora file is shown below, configured for 10 users.
db_name=GBOHTD01
instance_name=GBOHTD01
db_domain = world
service_names = GBOHTD01.world
db_block_size = 8192
# processes = 50
# processes = 100
# processes = 200
processes = 50
# SMALL
# MEDIUM
# LARGE
# ENOVIA Collaboration Platform 5 x concurrent
open_cursors = 220
cpu_count = 4
dml_locks = 100
# ENOVIA Collaboration Platform 10 x concurrent
control_files =
('D:\oracle\oradata\GBOHTD01\control01.ctl',
'D:\oracle\oradata\GBOHTD01\control02.ctl',
'D:\oracle\oradata\GBOHTD01\control03.ctl')
# Define directories to store trace and alert files
background_dump_dest=E:\oracle\admin\GBOHTD01\bdump
user_dump_dest=E:\oracle\admin\GBOHTD01\udump
core_dump_dest=E:\oracle\admin\GBOHTD01\cdump
#
#
#
#
#
Uncommenting the line below will cause automatic archiving if archiving has
been enabled using ALTER DATABASE ARCHIVELOG.
log_archive_start = true
log_archive_dest = %ORACLE_HOME%\database\archive
log_archive_format = "LOG%s_%t.ARC"
# ------------------------------------------------------------# db_file_multiblock_read_count = 8
Chapter 3: Installing an Oracle Database
# SMALL 8x8 = 64
41
# db_file_multiblock_read_count = 16
# db_file_multiblock_read_count = 32
db_file_multiblock_read_count = 8
# db_files
# db_files
# db_files
db_files =
= 80
= 400
= 1000
300
# SMALL
# MEDIUM
# LARGE
# INITIAL
db_cache_size= 25165824
# shared_pool_size
# shared_pool_size
# shared_pool_size
shared_pool_size =
# ENOVIA Collaboration Platform
= 11534336
= 3500000
= 5000000
50000000
#
#
#
# ENOVIA Platform
log_checkpoint_interval = 10000000
# log_buffer
# log_buffer
# log_buffer
log_buffer =
# MEDIUM 4x16 = 64
# LARGE 2x32 = 64
# INITIAL
= 8192
= 32768
= 163840
163840
# audit_trail = true
timed_statistics = true
max_dump_file_size = 10240
LARGE
SMALL
MEDIUM
50 percent memory
# ENOVIA Platform 100000x512
# SMALL
# MEDIUM
# LARGE
# ENOVIA Collaboration Platform
# if you want auditing
# if you want timed statistics
# limit trace file size to 5 Meg each
# If using public rollback segments, define how many
# rollback segments each instance will pick up, using the formula
#
# of rollback segments = transactions \ transactions_per_rollback_segment
# In this example each instance will grab 40\10 = 4:
# transactions = 40
# transactions_per_rollback_segment = 10
transactions_per_rollback_segment = 32
# ENOVIA Collaboration Platform
# Global Naming -- enforce that a dblink has same name as the db it connects to
global_names = TRUE
#
#
#
#
#
Edit and uncomment the following line to provide the suffix that will be
appended to the db_name parameter (separated with a dot) and stored as the
global database name when a database is created. If your site uses
Internet Domain names for e-mail, then the part of your e-mail address after
the '@' is a good candidate for this parameter value.
# db_domain = us.acme.com # global database name is db_name.db_domain
#
#
#
#
42
Uncomment the following line if you wish to enable the Oracle Trace product
to trace server activity. This enables scheduling of server collections
from the Oracle Enterprise Manager Console.
Also, if the oracle_trace_collection_name parameter is non-null,
ENOVIA Live Collaboration Installation Guide
# every session will write to the named collection, as well as enabling you
# to schedule future collections from the console.
# oracle_trace_enable = TRUE
remote_login_passwordfile = exclusive
#
# When installing the starter database, we can't have
# snapshot_refresh_processes or job_queue_processes set, since the
# 'alter database oracle character set ...' statements in createdb.sql will
# fail.
#
# job_queue_processes = 2
# The following parameters are needed for the Advanced Replication Option
# open_links = 4
# Optimizer tuning
compatible = '9.2.0.5.0'
cursor_space_for_time = true
session_cached_cursors = 12
hash_join_enabled = true
star_transformation_enabled = FALSE
java_pool_size = 0
large_pool_size = 0
query_rewrite_enabled = FALSE
# Disc/memory tuning
fast_start_mttr_target = 300
pga_aggregate_target = 52428800
# UNDO Tablespace
undo_management='AUTO'
undo_retention=1800
undo_tablespace='UNDO'
_b_tree_bitmap_plans=FALSE
Creating the
Database
Sample scripts for Version 9:
--- CREATE THE DATABASE (GBOHTD01)
-create database GBOHTD01
maxinstances
1
maxlogfiles
32
maxlogmembers
3
Chapter 3: Installing an Oracle Database
43
maxdatafiles
150
character set
AL32UTF8
datafile 'D:\ORACLE\ORADATA\GBOHTD01\SYSTEM01.DBF' size 150M
logfile group 1 ('D:\ORACLE\ORADATA\GBOHTD01\REDO\REDO01a.rdo',
'D:\ORACLE\ORADATA\GBOHTD01\REDO\REDO01b.rdo') size 5M,
group 2 ('D:\ORACLE\ORADATA\GBOHTD01\REDO\REDO02a.rdo',
'D:\ORACLE\ORADATA\GBOHTD01\REDO\REDO02b.rdo') size 5M,
group 3 ('D:\ORACLE\ORADATA\GBOHTD01\REDO\REDO03a.rdo',
'D:\ORACLE\ORADATA\GBOHTD01\REDO\REDO03b.rdo') size 5M,
group 4 ('D:\ORACLE\ORADATA\GBOHTD01\REDO\REDO04a.rdo',
'D:\ORACLE\ORADATA\GBOHTD01\REDO\REDO04b.rdo') size 5M,
group 5 ('D:\ORACLE\ORADATA\GBOHTD01\REDO\REDO05a.rdo',
'D:\ORACLE\ORADATA\GBOHTD01\REDO\REDO05b.rdo') size 5M
undo tablespace UNDO datafile 'D:\ORACLE\ORADATA\GBOHTD01\undo01.dbf' size 200M
;
--- SET THE CORRECT ORACLE HOME HERE --@E:\oracle\ora92\rdbms\admin\catalog.sql
@E:\oracle\ora92\rdbms\admin\catproc.sql
connect system/manager
@E:\oracle\ora92\sqlplus\admin\pupbld.sql
--- GENERAL TABLESPACES
-create temporary tablespace TEMP
tempfile 'D:\ORACLE\ORADATA\GBOHTD01\TEMP01.DBF' size 100M
extent management local
;
--- ENOVIA Collaboration Platform SCHEMA TABLESPACES
-create tablespace ITTEST
datafile 'D:\ORACLE\ORADATA\GBOHTD01\ITTEST_DATA01.DBF' size 160M REUSE AUTOEXTEND ON
NEXT 1M
extent management local
segment space management auto
;
create tablespace ITTEST_IDX
datafile 'D:\ORACLE\ORADATA\GBOHTD01\ITTEST_IDX01.DBF' size 160M REUSE AUTOEXTEND ON
NEXT 1M
extent management local
segment space management auto
;
--- BAT SCHEMA TABLESPACES
-create tablespace GSP_DATA
datafile 'D:\ORACLE\ORADATA\GBOHTD01\GSP_DATA01.DBF' size 100M REUSE AUTOEXTEND ON NEXT
1M
extent management local
segment space management auto
44
ENOVIA Live Collaboration Installation Guide
;
create tablespace GSP_IDX
datafile 'D:\ORACLE\ORADATA\GBOHTD01\GSP_IDX01.DBF' size 100M REUSE AUTOEXTEND ON NEXT
1M
extent management local
segment space management auto
;
create tablespace BEG_DATA
datafile 'D:\ORACLE\ORADATA\GBOHTD01\BEG_DATA01.DBF' size 150M REUSE AUTOEXTEND ON NEXT
1M
extent management local
segment space management auto
;
create tablespace BEG_IDX
datafile 'D:\ORACLE\ORADATA\GBOHTD01\BEG_IDX01.DBF' size 150M REUSE AUTOEXTEND ON NEXT
1M
extent management local
segment space management auto
;
create tablespace CLARITY_DATA
datafile 'D:\ORACLE\ORADATA\GBOHTD01\CLARITY_DATA01.DBF' size 200M REUSE AUTOEXTEND ON
NEXT 1M
extent management local
segment space management auto
;
create tablespace CLARITY_IDX
datafile 'D:\ORACLE\ORADATA\GBOHTD01\CLARITY_IDX01.DBF' size 200M REUSE AUTOEXTEND ON
NEXT 1M
extent management local
segment space management auto
;
create tablespace SAM_DATA
datafile 'D:\ORACLE\ORADATA\GBOHTD01\SAM_DATA01.DBF' size 250M REUSE AUTOEXTEND ON NEXT
1M
extent management local
segment space management auto
;
create tablespace SAM_IDX
datafile 'D:\ORACLE\ORADATA\GBOHTD01\SAM_IDX01.DBF' size 250M REUSE AUTOEXTEND ON NEXT
1M
extent management local
segment space management auto
;
create tablespace UM_DATA
datafile 'D:\ORACLE\ORADATA\GBOHTD01\UM_DATA01.DBF' size 100M REUSE AUTOEXTEND ON NEXT
1M
extent management local
segment space management auto
;
create tablespace UM_IDX
Chapter 3: Installing an Oracle Database
45
datafile 'D:\ORACLE\ORADATA\GBOHTD01\UM_IDX01.DBF' size 100M REUSE AUTOEXTEND ON NEXT
1M
extent management local
segment space management auto
;
create tablespace WMS_DATA
datafile 'D:\ORACLE\ORADATA\GBOHTD01\WMS_DATA01.DBF' size 170M REUSE AUTOEXTEND ON NEXT
1M
extent management local
segment space management auto
;
create tablespace WMS_IDX
datafile 'D:\ORACLE\ORADATA\GBOHTD01\WMS_IDX01.DBF' size 170M REUSE AUTOEXTEND ON NEXT
1M
extent management local
segment space management auto
;
create tablespace PRODSPEC_DATA
datafile 'D:\ORACLE\ORADATA\GBOHTD01\PRODSPEC_DATA01.DBF' size 100M REUSE AUTOEXTEND ON
NEXT 1M
extent management local
segment space management auto
;
create tablespace PRODSPEC_IDX
datafile 'D:\ORACLE\ORADATA\GBOHTD01\PRODSPEC_IDX01.DBF' size 100M REUSE AUTOEXTEND ON
NEXT 1M
extent management local
segment space management auto
;
-- create tablespace COPYEDCTEST
-- datafile 'D:\ORACLE\ORADATA\GBOHTD01\COPYEDCTEST01.DBF' size 160M REUSE AUTOEXTEND
ON NEXT 1M
-- extent management local
-- ;
--- CREATE THE ENOVIA Collaboration Platform USER
-create user ITTEST identified by MATRIX
default tablespace ITTEST
temporary tablespace TEMP
;
grant connect, resource to ITTEST
;
alter user ITTEST default role all
;
create user EJSADMIN identified by EJSADMIN
default tablespace SYSTEM
temporary tablespace TEMP
;
grant connect, resource to EJSADMIN
;
46
ENOVIA Live Collaboration Installation Guide
alter user EJSADMIN default role all
;
connect sys/change_on_install as sysdba
;
grant select on sys.v_$session to ITTEST
;
--- AMEND DBA USERS
-alter user sys temporary tablespace TEMP
;
alter user system default tablespace SYSTEM temporary tablespace TEMP
;
connect sys/change_on_install as sysdba
startup mount pfile=E:\oracle\admin\GBOHTD01\pfile\initGBOHTD01.ora
alter database archivelog;
alter database open;
alter system switch logfile;
drop rollback segment rb0;
shutdown;
startup
set pages 0
set feedback off
spool c:/temp/rebuild.sql
--- REDISTRIBUTE THE MATRIX SCHEMA INDEXES
-select 'alter index '||owner||'.'||index_name||' rebuild tablespace MATRIX_INDEX ;'
from dba_indexes
where tablespace_name = 'MATRIX_DATA'
and owner = 'MATRIX'
;
spool off
@c:/temp/rebuild.sql
exit
Oracle 10G
On Oracle 10G, the Automatic Statistics Gathering feature is enabled by default. The
Automatic Statistics Gathering feature allows Oracle to automatically gather statistics on
all database objects and maintains those statistics in a regularly-scheduled maintenance
job. This feature eliminates many of the manual tasks associated with managing the query
optimizer, and reduces the chances of getting poor execution plans because of missing or
stale statistics.
Also on Oracle 10g security has been tightened. The Connect role had some default
privileges deprecated. In order to create db links, you must specifically give the following
privileges to the Connect Role.
GRANT CREATE DATABASE LINK TO CONNECT;
GRANT CREATE PUBLIC DATABASE LINK TO CONNECT;
Chapter 3: Installing an Oracle Database
47
Also, you should grant the following:
GRANT UNLIMITED TABLESPACE TO ${USERNAME};
48
ENOVIA Live Collaboration Installation Guide
Configuring Oracle for Non-English Languages
ENOVIA Live Collaboration/Oracle users located across the globe that access a common
database need the ability to view and edit data using their preferred language and
territorial requirements. The setup for both Oracle servers and ENOVIA Live
Collaboration/SQL clients must be properly configured to meet these goals. This section
provides instructions for setting up ENOVIA Live Collaboration and Oracle to properly
display any character set.
Oracle uses an integrated national language architecture that supports national languages
and character encoding. More than one language can be used to view and update a single
database accessed by a broad spectrum of multilingual users. Language-dependent
features can be customized for a specific application, user, or organization. Since a mixed
environment of computer platforms may use different character-encoding schemes,
character data passed between the client and server must be converted.
Some ENOVIA Live Collaboration configuration may be required for use of decimal
characters other than a period. Refer to Localized Decimal Character Settings in
Chapter 20 for more information.
Choosing a
Character Set for
the Oracle Server
The Oracle install program supplies a value for the NLS_LANG parameter based on the
language selected for using the Oracle applications. The NLS_LANG setting is used to
determine how to display the text for both the server and client software. Oracle clients may
access a database specifying different character sets in their NLS_LANG setting, as long as the
database character set is equivalent to, or a superset of, these character sets.
The NLS_LANG variable uses the following format:
NLS_LANG = LANGUAGE_TERRITORY.CHARACTER_SET
Where:
LANGUAGE—Specifies the language and conventions for displaying of messages, day
name and month name.
TERRITORY—Specifies the territory and conventions for calculating week and day
numbers.
CHARACTER_SET—Controls the character set used for displaying text. This setting
during database creation controls the character set used for data storage.
It is important to differentiate between the character set used for storage and the one used
for display.
•
When the database is created, if you don’t specify a character set for the database, it
uses the one from NLS_LANG, and all character data stored will use this character
set. Once the database is created, the character set cannot be changed without
re-creating the database.
Currently, multiple languages can be supported in each of the following ways:
•
ENOVIA Live Collaboration/Oracle supported operating systems in any language
(including double-byte languages) can handle the native language and English at one
time, using the database character set that supports their native language.
•
English and Western European operating systems can concurrently support multiple
non-English, single-byte languages, using WE8ISO8859P15 for the database
character set.
Chapter 3: Installing an Oracle Database
49
•
Only an English operating system may be used to concurrently support more than one
double-byte language, or one double-byte language and another non-English
language, using UTF-8 (or also AL32UTF8 and AL32UTF16) for the database
character set.
In any of these scenarios, clients then set their NLS variables to handle the conversion for
their language and territory.
Establishing the Character Set for the Server and Client
The default language setting of Oracle is American English. If you accept the default
language on Windows, NLS_LANG is set to:
AMERICAN_AMERICA.WE8ISO8859P1
While this character set, WE8ISO8859P1,does support both English and Western
European characters, it does not support the Euro symbol. The character set that does
support the Euro is WE8ISO8859P15.This should be used for all English and Western
European server’s and clients. You can select other languages for viewing the software by
clicking Product Languages from the Available Product Components page. Choose the
languages needed for the DBA.
Establishing the Character Set for the Database
After Oracle products are installed, the ENOVIA Live Collaboration database (user) must
be created with the language parameters defined properly. After the server is installed, the
Oracle Database Configuration Assistant is used to create the database. If you choose
Custom for the type of database, you can change the character set on the page where you
set the DB name and SID. For English and Western European operating systems that
support it, you should use UTF-8, AL32UTF8, or AL32UTF16).
You can also use a script to create the database. For example:
create database MATRIX
datafile 'd:\oradata\matrix\sys1matrix.ora'
logfile 'd:\oradata\matrix\log1matrix.ora'
'd:\oradata\matrix\log2matrix.ora'
'd:\oradata\matrix\log3matrix.ora'
maxdatafiles 255
noarchivelog
character set UTF8;
size
size
size
size
60M
2M,
2M,
2M
Once the database has been created with a character set other than the default, the Oracle
owner’s server startup file must have the environment set as follows:
ORA_NL32 = $ORACLE_HOME/ocommon/nls/admin/data
NLS_LANGUAGE = German (optional)
NLS_TERRITORY = Germany (optional)
NLS_LANGUAGE and NLS_TERRITORY are optional. They should be set to the language
preferences required by the System Administrator responsible for the Oracle server, and
only need to be set if different from the settings in the database.
LD_LIBRARY_PATH = $ORACLE_HOME/lib:/usr/openwin/lib:/usr/dt/lib:
ORACLE_HOME =
ORACLE_SID =
50
ENOVIA Live Collaboration Installation Guide
ORACLE_TERM = vt100 (supported Oracle terminal windows are listed in the Oracle
installation manuals for specific platforms.)
If possible, match the ORACLE_TERM to the UNIX shell window defined in the user’s
.cshrc or .profile. Many display errors are due to new shells being created without using
the appropriate Oracle startup parameter file.
As with all UNIX environment variables, be sure to export them. For example:
$ export NLS_LANGUAGE, NLS_TERRITIORY, ORA_NL32, NLS_LANG,
LANG, LC_ALL, LD_LIBRARY_PATH, ORACLE_HOME, ORACLE_SID,
ORACLE_TERM, SCRHOME, TERM, PATH
Loading Language
Message Libraries
on UNIX
Additionally for UNIX servers, you have the option of loading all available language
message libraries during installation.UNIX platforms rely on message libraries compiled
for specific UNIX platforms to display Oracle messages for all Oracle products. Loading
all languages will load all compiled font message files for that specific UNIX platform
during installation. Select all languages when installing, if adequate space is available. If
an additional language message file is required after the UNIX server has already been
installed, Oracle must be completely reinstalled and configured since the message files for
each Oracle product are located in the product itself. Also, note that the last message file
library loaded will be the default language for viewing.
Selecting “all languages” upon installation is a recommended because if an additional
language message file is later required, Oracle must be completely reinstalled and
configured.
Chapter 3: Installing an Oracle Database
51
Disk Layout Suggestions
There are two ways to look at disk layout vis-à-vis optimizing the Oracle database and the
ENOVIA Live Collaboration for I/O performance and availability:
•
Method #1: Multiple disks, multiple disk spindles.
•
Method #2: Multiple disks plus Raid Arrays.
•
Method #3: Advanced Storage devices using large scale write buffer caches.
There are multiple Oracle processes that involve writing to disk:
1. DBWR—writes data from the database buffer cache to the database datafiles; that is,
to the ENOVIA Live Collaboration user datafile, to the data, and index datafiles.
2. DBWR—will also write rollback data to the rollback datafile, also any temp/system
datafile updates.
3. LGWR—writes data from the log buffer to the redo log files (possibly mirrored).
4. ARCH—if enabled, will copy off redo logs at redo log switch time only.
In addition, ENOVIA Live Collaboration may involve a write to local disk for FTP/NFS
file transfer as part of file checkin/checkout transactions, if stores are locally configured.
So, for a fully-used production system, as transaction updates are made continuously by a
large pool of people, or during dataload, parallel writes to disk for vault datafile, index
datafile, redo log and rollback datafile occurs. Temp datafile updates may also occur. The
diagram below shows all possible write transactions.
52
ENOVIA Live Collaboration Installation Guide
4 to 7 Disk System
In the past, Oracle/ENOVIA Live Collaboration would have requested a 4-7 disk system
with multiple drive spindles to optimize a large scale production database. Datafiles might
have been configured as follows across multiple disks:
•
Disk1: OS/Oracle/ENOVIA Live Collaboration installation—init files, system, temp,
rollback datafiles
•
Disk 2: Data datafiles, control file1, ENOVIA Live Collaboration user default
tablespace datafile
•
Disk 3: Index datafiles, control file 2
•
Disk 4: Redo logs
•
Disk 5: Mirror of redo logs, control file 3
•
Disk 6: Archive log files, backup data disk
•
Disk 7: Captured store data (ftp/nfs checked-in data referenced by Oracle metadata)
This is still a very valid and optimal solution, assuming a capable backup strategy. The
problem is there is vulnerability to single disk failure. Note that the most important choice
is to choose multiple disks and multiple spindles rather than one large disk.
Disk Layout
Example (Vault
Sizing)
This example shows:
•
How to size the Oracle datafiles for projected ENOVIA Live Collaboration growth
•
How to optimize the disk layout for optimal Disk I/O performance and really how to
minimize contention of hot disk read and write needs of the application’s hot table
indexes and tables.
This example assumes a projected migration of 2TB of attached File Store data might
translate down to something at upwards of 4,000,000 business objects in this database.
This estimate presumes an average file size of 500K.
The average business object sizes range from 2k - 20k depending on six independent
variables but a good guide is to presume that production systems should plan for an
average business object size of 10k.
This leads to the suggestion that the production system could be sized between 60-75g.
The Development System will not reach this size, but the database could be installed with
these initial tablespace structures:
Name
Description
Value
MATRIX_TS
Admin Tables (Lesser) Vault Tables
500m
MATRIX_ITS
Admin Indexes (Lesser) Vault Indexes
500m
DB45_TS-
DB45 (Major Vault) Tables
4g
DB45_ITS
DB45 (Major Vault) Indexes
4g
Chapter 3: Installing an Oracle Database
53
The Production and Test systems may need specialized growth tuning considerations
including ‘large and hot’ object datafile isolation with further tablespaces:
Name
Description
Value
DB45_STRING_DATA
DB45 String Tables
10g
DB45_STRING_INDEX
DB45 String Indexes
10g
DB45_RO_DATA
DB45 Relationship Tables
2g
DB45_RO_INDEX
DB45 Relationship
Indexes
2g
DB45_HIST_DATA
DB45 History Table
10g
DB45_HIST_INDEX
DB45 History Indexes
10g
DB45_BO_DATA
DB45 Bus. Object Tables
2g
DB45_BO_INDEX
DB45 Bus. Object Indexes
2g
Factor in an additional 10-15g for large Undo Tablespaces (imports and dataloads which
tend to stretch Undo)
For Development, however, assume that additional \large specialized tablespace structures
for uniquely large and hot objects are not required. So plan for the initial set of application
specific tablespaces and presume subsequent Oracle tuning will occur before any large
scale dataloading.
RAID Technology
54
RAID (Redundant Array of Inexpensive Disks) devices might be used to contain the
database and index tablespace data files to provide protection against disk failure.
Hot-swapable RAID 0+1 or perhaps a RAID 5 device with large buffer cache are
recommended for the best combination of the write performance and downtime
prevention. Read performance will not usually be affected by RAID, as the database
should reside almost entirely within the server's memory (System Global Area). Redo logs
and Archived logs are accessed sequentially (usually for writes) and therefore are not
ideally suited for being placed on a RAID-5 device. Also, datafiles which belong to
temporary tablespaces and rollback segments should not be placed on a RAID-5 device.
ENOVIA Live Collaboration Installation Guide
Fault Tolerance and Data Availability with RAID
The following chart is designed to reflect the various RAID configurations and weigh the
benefits on a scale of 1-5 (5 being least desirable)
Independent
Disks
RAID 0
RAID 1
RAID 0+1
RAID 3
RAID 5
Random Read Access
2
1
2
1
5
1
Random Write Access
1
1
2
1
5
5
Sequential Performance
4
1
5
1
2
3
Data Protection
4
5
1
1
2
2
Cost of Redundancy
1
1
3
5
2
2
Chapter 3: Installing an Oracle Database
55
The benefits and drawbacks of each RAID configuration are spelled out in the table that
follows.
Description of RAID arrays
RAID supplies fault tolerance and improves data availability
RAID 0
RAID 1
RAID 0+1
RAID 2
RAID 3
RAID 4
RAID 5
Striped disks
(speed)
Mirrored disks
(reliable
redundancy)
Striping plus
Mirroring
Provides check
disks with data
'bit-striped'
across data
and check
disks
Parallel data
transfer
Block or sector
striping is done
on the data
disks, allows for
multiple
unrelated
sectors to be
read
simultaneously.
Distributed data
and parity
•
•
•
•
•
•
Used for
transaction
processing
systems
•
•
Write
operations
can
become a
bottleneck
Allows for
multiple
read and
write
operations
simultaneo
usly
•
Can have
poor
random
write
performanc
e
•
Transfer
rate and
read
transaction
rate scale
with the
number of
drives
•
•
Excellent
sequentia
l transfer
rate
performa
nce and
very
good
transactio
n rate
performa
nce
No
redundan
cy
Low cost
•
•
Fully
redundan
t copy of
data on a
second
disk
Doubles
the cost
of
storage
Both
drives
can be
used for
reads to
improve
performa
nce
•
•
Excellent
random
write and
transfer
rate
performa
nce
Suitable
for
all-aroun
d
performa
nce and
reliability
Expensive,
d
ata is
completel
y
duplicate
d
•
Detects
and
corrects
single bit
errors,
detects
double
bit errors
Check
disks
consume
30% of
the total
disk
array,
complex
to
impleme
nt
•
A parity
disk is
used for a
group of
drives,
the data
written to
the disk
array is
bit-stripe
d across
the data
disks
Reduces
overhead
for check
disk,
consumes
20% of
the total
array
space
Common RAID selections
•
RAID 0+1 for best protection and high transaction rates, most expensive.
•
RAID 5 for excellent protection, but willing to sacrifice possible loss in write
performance, has excellent read performance.
So, with a RAID system the Oracle/ENOVIA Live Collaboration configuration solution
may be as follows:
56
•
Raid 0+1: Data/Index datafiles, ENOVIA Live Collaboration User datafile, System
datafiles, control files, Oracle/ENOVIA Live Collaboration installation, Rollback
datafile
•
Raid 1: Redo Logs, Temp tablespace
ENOVIA Live Collaboration Installation Guide
Other Disk
Solutions
•
Raid 1: Captured store data
•
External Disk: Backup disk, archive logs
EMC, IBM, and Sun have been exploring alternate disk storage solutions at the high end
for some time. Some newer lower cost solutions have come to market recently that some
customers have explored including Auspex fileservers, Solaris NFS storage devices,
Network Appliances storage devices, and Oracle's Raw Iron solution to name but a few.
These solutions typically have a very large write cache or minimal OS overhead, ensuring
extremely fast writes and disk failure handling capacity. For large scale captured data
storage, these solutions perform extremely well in tandem with Oracle Windows and
UNIX systems. In addition to fast read/write access, high availability of disk, they also
provide new and very fast techniques for data backup, frequently without requiring
downtime.
Most of these solutions will directly support an Oracle installation. We recommend you
download white papers from the vendors' Websites for more detailed information on each
solution. Note this area is in transition—it is unclear at this time if one solution maintains
a distinct advantage over any other.
Chapter 3: Installing an Oracle Database
57
Reconfiguring Oracle
Many settings may be adjusted in the init<SID>.ora file. This file and certain settings are
discussed in Oracle Parameter File: init<SID>.ora. But for more complete information,
refer to Oracle documentation.
The section provides guidelines for common Oracle reconfiguring tasks, which should be
performed only after fully understanding what the task is accomplishing.
Rebuilding the
Control File
Most adjustments to an Oracle configuration can be made by editing a value in the
init<SID>.ora, and then stopping and restarting the DB so that the value is incorporated.
However, certain settings can only be modified by recreating the database or by recreating
the control files. These settings include maxdatafiles, maxlogfiles,
character_set, db_block_size, and maxlogmembers.
The settings for maxlogfiles and maxdatafiles are upper limit values. However,
actual values may be adjusted on the fly in init<SID>.ora using db_files or
max_log_members, but they are clamped by the upper limit set at controlfile/
database-creation time.
Before rebuilding the control file, generating a complete backup of the entire system is
highly recommended. Also, be sure all users are logged off before proceeding.
For background and more complete information, refer to the Oracle Server
Administrator’s Guide and the Oracle DBA Handbook.
To reconfigure a control file:
1. Open SVRMGR, SQL*Plus, or SQL Worksheet and log in as Oracle dba (e.g. system/
manager).
2. Generate the list of current controlfile parameters using the following command:
alter database DBNAME backup controlfile to trace;
where DBNAME is the name in the init<SID>.ora file. For example:
alter database MATRIX backup controlfile to trace;
This results in the most current .trc file in the \orant\rdbms73\trace directory being
updated with the exact commands you will need to run. Open this file in a text editor.
3. Select the section that starts with STARTUP (NO)MOUNT and ends with the “;” after
the last datafile name. Copy and paste to a text file, adding a “;” after the STARTUP
MOUNT. (Oracle left it out).
4. You may modify any of the MAX parameters, for example, MAXDATAFILES. You
may also add lines for character_set or db_block_size. Save the file.
Example of modified file:
STARTUP NOMOUNT;
CREATE CONTROLFILE REUSE DATABASE “ORACLE” NORESETLOGS
NOARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 3
MAXDATAFILES 200
58
ENOVIA Live Collaboration Installation Guide
MAXINSTANCES 16
MAXLOGHISTORY 1600
LOGFILE
GROUP 1 ‘E:\ORANT\DATABASE\LOG2ORCL.ORA’ SIZE 10M,
GROUP 2 ‘E:\ORANT\DATABASE\LOG1ORCL.ORA’ SIZE 10M
DATAFILE
‘E:\ORANT\DATABASE\SYS1ORCL.ORA’,
‘E:\ORANT\DATABASE\USR1ORCL.ORA’,
‘E:\ORANT\DATABASE\RBS1ORCL.ORA’,
‘E:\ORANT\DATABASE\TMP1ORCL.ORA’,
‘E:\ORCLTEST\MATRIX\ORCL1MX.DBF’,
‘E:\ORCLTEST\MXDEMO\ORCL1MXD.DBF’,
‘E:\ORCLTEST\CUSTTEST\ORCL1MXC.DBF’,
‘E:\ORCLTEST\MXJUNK\ORCL1MXJ.DBF’
5. In server manager (MS DOS Command Prompt, svrmgr23) connect as the dba and do
a shutdown immediately.
Last Chance: At the OS level make sure you have backups of everything!
6. At the OS level delete your control file(s) as referenced in the initialization file.
7. In server manager, run the text file you modified and saved by typing:
@bldcontrol.sql
8. Once “statement processed” comes up, type:
alter database open;
9. Rerun the alter database backup controlfile command and verify the latest trc has any
new settings. Changed settings will be the last entry in the latest trc. The old entries
are there also, so be sure to look towards the end of the file.
10. Test connecting to Oracle with ENOVIA Live Collaboration and verify functionality
is restored.
Rebuilding Redo
Logs
Once you start tuning you may have to modify the size of and append redo logs. In the
$ORACLE_BASE/admin/SID/bdump/alert_SID.log file, the rate of switching of redo logs
should ideally be every 20-30 minutes. If at dataload time, you notice a switch rate of 30
secs/1minute, Oracle is poorly tuned. The solution is to increase the size (and possibly
number) of your redo logs. However you cannot resize a redo log, you may only drop and
recreate the log. Remember one redo log may have 2 or more members spread across
multiple disks.
A user with DBA privileges can perform these steps.
To drop and add a redo log:
1. Log into SQL*Plus as system or sys. Select your redo logs to determine how many,
which are current, etc. by typing:
"select * from v$log;" and
"select * from v$logfile;"
You cannot alter the current redo log.
Note whether you have one or more than one logmembers per redo log.
Chapter 3: Installing an Oracle Database
59
It is always suggested that you have at least 2 valid redo logs at all times. If you have only
2 redo logs, you should construct a new one before deleting one.
2. To drop a redo log, use a command similar to the following:
alter database drop logfile member
'c:\orant\database\log3orcl.ora';
alter database drop logfile
'c:\orant\database\log4orcl.ora';
alter database drop logfile member
'c:\orant\database\log2orcl.ora';
Note that the logfile is listed by path and filename, and the exact specification will
likely vary.
3. To add a redo log and/or member of a redo log, use something like:
alter database oracle
add logfile group 1 'g:\orant\database\redolog01.log'
size 10M reuse;
alter database oracle
add logfile group 3 'g:\orant\database\redolog03.log'
size 10M reuse;
alter database oracle
add logfile group 4 'g:\orant\database\redolog04.log'
size 10M reuse;
Note you must name the database (oracle), the group number, the log location and
size.
4. Now cycle through all the redo logs to make sure all are functional as follows:
alter system switch logfile;
select * from v$log;
select * from v$logfile;
alter system switch logfile; .....
If multiple log members exist in a group, they must be dropped and added as well.
60
ENOVIA Live Collaboration Installation Guide
Tuning and Statistics
After installing ENOVIA Live Collaboration, you should consider the following tuning
recommendations in order to achieve optimum performance:
•
In the init<SID>.ora file, increase the DB_BLOCK_BUFFERS setting to the size
appropriate for the Oracle server system. Refer to the Designing the Database topic in
this chapter, in particular the Oracle Parameter File: init<SID>.ora section.
•
Set the Oracle optimizer mode to “choose” by adding the following line to the
init<SID>.ora file:
optimizer_mode = CHOOSE
Choose mode allows Oracle to decide between rule-based or cost-based optimizing
depending on whether or not statistics are calculated on the tables used. With this
setting in place, you should calculate statistics regularly. (Statistics are required and
used for cost-based optimizing.) Ensure that other optimizer settings are also correct.
Refer to optimizer_index_caching and optimizer_index_cost_adj. Refer to Oracle
documentation for more information on optimizer modes.
•
Calculate statistics on all ENOVIA Live Collaboration tables by executing the
following MQL command:
<mql> validate level 4;
This forces the mode to be cost-based, since statistics will be available for every table,
and in most cases, performance is optimal. However, the validate level 4 command
should be run after any substantial data load operation, and periodically thereafter, in
order to update the statistics.
Depending on the nature the data, some large databases perform better using the
rule-based optimizer. If performance degradation is noticed after performing the above
tuning, try removing all Oracle table statistics by running an MQL validate level 2
command, which forces the use of the rule-based optimizer. Once you are running with the
rule-based optimizer, you should not calculate statistics again.
Oracle
Initialization
Parameters
This section describes common Oracle initialization parameters and their recommended
settings in a ENOVIA Live Collaboration environment. The initialization parameters are
found in the init.ora file.
_b_tree_bitmap_plans
This hidden parameter should be set to False. In Version 8i, this is False by default. In
Version 9i, this must be set to False.
compatible
Check and set this parameter to indicate the correct RDBMS version to ensure optimal
query plan performance. This is available in Versions 7.3, 8.x, 9.x, and 10.x.
Chapter 3: Installing an Oracle Database
61
cpu_count
Set this to reflect the correct number of available CPUs for this instance. Hyper-threading
on Windows can incorrectly define this parameter. It is important to correctly set this
parameter since many settings are derived from it. This is available in Versions 7.3, 8.x,
9.x, and 10.x.
cursor_space_for_time
This parameter lets you use more memory to get faster execution. It ensures maximum
reuse of SQL cursors. Sufficient memory must exist to enable this parameter to be set to
true. This is available in Versions 7.3, 8.x, 9.x, and 10.x.
db_block_checking
Make sure that this setting is set to false to prevent the 1-10% block verification overhead
occurring. This should only be set to true if data block corruption is suspected. Block
checking for the system table space is always on. This is available in Versions 8.1.7, 9.x,
and 10.x.
db_block_size
The value for this parameter can be 2K, 4K, 8K, 16K, or 32K. Because the ENOVIA
applications are OLTP systems, they achieve better performance with an 8K block size.
Smaller sizes tend to incur additional IO overheads. Larger values incur extra intra-block
locking (hot blocks). The only size recommended by ENOVIA is 8K. This is available in
Versions 7.3, 8.x, 9.x, and 10.x.
db_cache_advice
This parameter defines the primary database block buffer cache. Size this while
monitoring and maintaining a 95% hit ratio, thereby ensuring valuable real memory is not
wasted. The following script determines the buffer cache hit ratio:
SELECT ROUND ((1 - (phy.VALUE - LOB.VALUE - dir.VALUE) /
ses.VALUE) * 100,2) “CUMULATIVE CACHE HIT RATIO”
FROM $sysstat ses,
$sysstat LOB,
$sysstat dir,
$sysstat phy
WHERE
ses.NAME = ‘session logical reads’
AND
dir.NAME = ‘physical reads direct’
AND
LOB.NAME = ‘physical reads direct (lob)’
AND
phy.name = ‘physical reads’;
db_cache_advice is a new setting available in Version 8.1.7, 9.x, and 10.x. This is an
internal parameter so be careful when setting.
62
ENOVIA Live Collaboration Installation Guide
db_cache_size
This sets the size of the default buffer pool for standard block size buffers. Set this at least
between 500-750m, and perhaps more depending on the size of the physical RAM. This is
a setting available in Version 9i and above.
db_file_multiblock_read_count
This parameter is determined by the maximum disc IO transfer value of the underlying
operating system. If this value is not known, a good estimate for the transfer value would
be 64K.
With a transfer value of 64K, this parameter would be set to 8 based on the 8K block size
to ensure that Oracle generates optimum query plans. Incorrectly setting this parameter
could potentially cause non-optimal query plans to be generated (i.e. full table scans
instead of index look ups). Normally this parameter should be set between 8 - 16. It should
be set higher only if you are rebuilding indexes or performing bulk loading.
This is available in Versions 7.3, 8.x, 9.x, and 10.x.
Setting this value too large will have the effect of lowering the sort costs, permitting
Oracle to perform more sort merge joins. This is dependent on whether the underlying OS
can manage the IO transfer, which in most cases it cannot.
db_files
This parameter should correctly reflect the number of database files being used by the
Oracle instance. The default is 200, which should be more than adequate for an ENOVIA
Live Collaboration installation. This value should be looked into before designing the
database. Setting this value too high will waste space in the data blocks.
This is available in Versions 7.3, 8.x, 9.x, and 10.x.
db_writer_processes
This parameter should not be modified from the default value 1 without prior detailed
analysis. Only very intensive write applications should consider modifying this from the
default. More contention occurs with more writer processes, which can then impact on
overall write performance.
This is available in Versions 8.x, 9.x, and 10.x.
dml_locks
The setting should be based on 10 locks per concurrent user, so the formula is:
dml_locks = concurrent ENOVIA Live Collaboration users X 10.
This parameter applies for all applications within the instance.
This is available in Versions 7.3, 8.x, 9.x, and 10.x.
Chapter 3: Installing an Oracle Database
63
enqueue_resources
This setting should be allowed to derive from the “sessions” parameter.
fast_start_mttr_target
The default setting of zero will incur extra overhead while the system attempts to ensure
the instance is immediately recoverable. A more conservative estimate of 1800 (30
minutes) is a better value since it balances recoverability (Mean Time To Recover) with
the risks and likelihood of an associated instance crash.
This is available in Versions 9.2, and 10.x.
global_names
This parameter should always be set to False to ensure that multiple ENOVIA Live
Collaboration Server entries are possible.
This is available in Versions 7.3, 8.x, 9.x, and 10.x.
hash_join_enable
This should be set to False for queries that involve certain “Parts” operations using Version
9i and Matrix Version 10 and greater (this includes ENOVIA Live Collaboration
V6R2011x).
large_pool_size
This parameter sets the size in bytes of the large allocation pool. Use the default value.
This can be set to zero to prevent wasting valuable memory.
This is available in Versions 8.0.6, 9.x, and 10.x.
java_pool_size
Since ENOVIA Live Collaboration does not use the Oracle JVM, reduce this parameter to
the minimum setting (default 24M) and allow the memory to be used by other
components. The recommendation would be to set this to:
If SGA < 128M: 4m granule
If SGA > 128M: 16m granule
This is available in Versions 8.1.x, 9.x, and 10.x.
log_archive_max_processes
This parameter sets the maximum number of active archive processes. It should be left at
the default value, which is normally sufficient for most ENOVIA products. You should
only modify this parameter if the archive log configuration is insufficient to meet the
system throughput demands.
This is available in Versions 8.1.x, 9.x, and 10.x.
64
ENOVIA Live Collaboration Installation Guide
log_archive_start
This parameter starts the archival process on SGA initialization. Always set this to true for
a production environment. This will ensure that recoverability is possible after a system
crash. Archive log mode incurs additional overhead, and the performance baseline should
not be set too high initially by not setting this parameter from the onset.
This is available in Versions 7.3, 8.x, 9.x, and 10.x.
log_buffer
This parameter sets the redo buffer size. Set it to 256K. This is sufficient for most
applications provided redo log production does not become a bottleneck.
This is available in Versions 7.3, 8.x, 9.x, and 10.x
open_cursors
This parameters sets the maximum number of cursors per session. Set this parameter to
220. In reality the number of open cursors per user is significantly less, but the additional
overhead of the setting is minimal and sometimes needed by applications other than
ENOVIA Live Collaboration.
This is available in Versions 7.3, 8.x, 9.x, and 10.x
open_links
This parameters sets the maximum number of open links per session. Use the default value
4. This allows remote vaults/foreign adaplet vaults to be configured without errors.
This is available in Versions 7.3, 8.x, 9.x, and 10.x
optimizer_dynamic_sampling
Listed below are typical values and their affects:
0
Dynamic sampling will not be done.
1
Dynamic sampling will be done, provided that:
2 - 10
•
more that one table is involved in the query
•
some tables have not been analyzed and have no indexes
Perform more aggressive sampling while ignoring the above rule.
It is important to always ensure that Oracle statistic generation is complete. This means
there should not be any tables without statistics; therefore, set this value to 0. Options 2-10
cannot be recommended without first benchmarking the application.
This is available in Versions 9.2.x, and 10.x
Chapter 3: Installing an Oracle Database
65
optimizer_features_enable
This parameter should always be set to the current release unless other database
interaction warrants disabled features. This is unlikely in ENOVIA Live Collaboration
implementations.
This is available in Versions 8.x, 9.x, and 10.x
optimizer_index_caching
This parameter should be set to 99. Setting this parameter to 99 influences the optimizer to
assume index blocks will be found in the buffer cache 99% of the time. This parameter
should direct Oracle to favor indexes over full table scans.
This is available in Versions 8.x, 9.x, and 10.x
optimizer_index_cost_adj
This parameter should be set to 1. Setting this parameter to 1 would influence the
optimizer to effectively value index scans as 1% of their original cost. This parameter
should direct Oracle to favor indexes over full table scans.
This is available in Versions 8.x, 9.x, and 10.x
optimizer_max_permutations
Use the default value. Monitor this if you have hard parse counts. Since hard parse counts
account for high CPU usage on short-running queries, reducing this parameter can help
resolve bottlenecks.
Hard parse is very expensive in both terms of CPU used and in the number of latch gets
performed. An example of hard parse: If a new SQL statement is issued that does not exist
in the shared pool then it has to be parsed fully. Oracle has to allocate memory for the
statement from the shared pool, and check the statement syntactically and semantically.
If a session issues a SQL statement that is already in the shared pool and it can use an
existing version of that statement, this is known as a “soft parse”. The application has
asked to parse the statement.
optimizer_mode
This value should be “choose”. However, benchmark this parameter with all options
against an ENOVIA product (choose, all_rows, first_rows, first_n_rows). All these options
differ slightly in terms of generated query plans and it is impossible to predict which will
perform better for the entire application. Other applications operating within this instance
will also be effected by this parameter change.
This is available in Versions 7.3.x, 8.x, 9.x, and 10.x
pga_aggregate_target
This parameter sets the Target size for the aggregate PGA memory consumed by the
instance. Use this parameter to ensure that more control is established over PGA memory.
A starting setting would be 1GB. Using the SORT_AREA_SIZE parameter has difficulties
66
ENOVIA Live Collaboration Installation Guide
when considering large numbers of users. The actual setting depends on the operating
system but should be considerably less than the available real memory to avoid memory
swapping. This is a new setting available in Version 9i and above.
processes
This setting is the number of user processes allowed. This setting should be based on 5
sessions per concurrent user, as follows:
processes = concurrent ENOVIA Live Collaboration users X 5.
This parameter applies to all applications within the instance.
This is available in Versions 7.3.x, 8.x, 9.x, and 10.x
session_cached_cursors
This setting is the number of cursors to save in the session cursor cache. If sufficient
memory exists, use this parameter with a start point of 12. This parameter works with
cursor_space_for_time. The cursor hit ratio can be measured by:
select
to_char(100 * sess / calls, '999999999990.00') || ‘%’
cursor_cache_hits,
to_char(100 * (calls - sess - hard) / calls, '999990.00') || ‘%’
soft_parses,
to_char(100 * hard / calls, ‘999990.00’) || ‘%’ hard_parses
from
(select value calls from v$sysstat where name = ‘parse count (total)’),
(select value hard from v$sysstat where name = ‘parse count (hard)’),
(select value sess from v$sysstat where name = ‘session cursor cache
hits’)
This is available in Versions 7.3.x, 8.x, 9.x, and 10.x
sga_max_size
This parameter defines the maximum size of memory available to the SGA (buffer pool,
large pool, shared_pool, etc.). The individual components are then allowed to grow within
this available constraint. At least 1GB of physical RAM should be available after deciding
upon the SGA values. sga_max_size may either be derived from other settings or may
be explicitly set. If set, it would represent the upper limit of memory space up to which
db_cache_size, shared_pool_size and variable size contributors add up to. This
is a new setting available in Version 9i and above.
shared_pool_reserved_size
This parameter should be left to the default value of the shared_pool_size (5%).
This is available in Versions 7.3.x, 8.x, 9.x, and 10.x
Chapter 3: Installing an Oracle Database
67
shared_pool_size
This parameter defines the area for SQL use. Size this area while monitoring and
maintaining a high hit ratio thus ensuring valuable memory is not wasted. The following
script will determine the shared pool hit ratio. An approximate starting point would be
15M per user, with a suggested size of 150M in Version 9i and above. Do not size too large
and waste memory
This is available in Versions 7.3.x, 8.x, 9.x, and 10.x.
select
namespace,
gets,
gethits,
rethitratio
from
v$librarycache
timed_statistics
This parameter should always be set to true to ensure that whenever statistic analysis is
required it can be enabled without requiring an instance restart. The overheard associated
with this parameter is minimal.
This is available in Versions 7.3.x, 8.x, 9.x, and 10.x
trace_enabled
This parameter can be set to false on a production system to avoid tracing overhead. It
should only be set when insufficient information is being produced during a debugging
exercise. This is an internal Oracle parameter.
This is available in Versions 7.3.x, 8.x, 9.x, and 10.x
undo_management
Use UNDO management as opposed to rollback segments. This is enabled by setting this
parameter to AUTO. This method is far more efficient in managing “rollback”
information. Large rollback assignment is no longer an issue as this is now handled
through undo quotas (default unlimited). This is a new setting available in Version 9i and
above.
undo_retention
This parameter is only useful if the undo tablespace is sufficient to hold all active
transactions. If so, the default value of 15 seconds is normally sufficient. The amount of
undo available for use is determined by the size of the undo tablespace and not this
parameter. An approximate starting point for the UNDO tablespace would be 200M. This
is a new setting available in Version 9i and above.
68
ENOVIA Live Collaboration Installation Guide
workarea_size_policy
This setting is a policy used to size SQL working areas (MANUAL/AUTO). It should be
allowed to default and be derived from the pga_aggregate_target parameter.
This is available in Versions 9.x, and 10.x.
A note about
scalability and
performance
The issue of scalability comes down to the specific schema and functionality of the
implementation. An implementation may be able to support 4,000 concurrent users on a
certain hardware/software configuration, but on that same configuration they might not be
able to support another custom application with 500 concurrent users. Use of Web
Navigator means that the schema, the triggers, etc. are all custom and will scale at a
different rate than any other ENOVIA product implementation.
The approach to take is to find out what in the specific application uses a lot of resource
and re-architect it to be either more efficient, or offload it to a background process on
another server. If 500 users are utilizing 100% of the CPU, then either more CPU is
needed or the application needs to be more scalable. Inefficient use of APIs, complex
triggers that need to be executed frequently, and inefficient data modeling are common
sources of scalability issues. Database tuning including adding additional indices, is an
effective technique to improve performance and scalability simultaneously. Code and
design review specifically with an eye toward scalability is the recommended approach.
Chapter 3: Installing an Oracle Database
69
70
ENOVIA Live Collaboration Installation Guide
4
Installing a DB2 Database
Installing the Database Software
This chapter describes DB2 setup requirements and guidelines for configuring DB2 for
use with ENOVIA Live Collaboration. DB2 and ENOVIA Live Collaboration may be
installed:
•
As a stand-alone system, where the client and server machines are the same. In this
case, DB2 server software is installed, and there is no need to install additional
database client software, since it is a subset of the server software.
•
In a networked environment, with a database server and multiple clients. In a
networked installation, you must install the DB2 server software on the central server,
as well as the DB2 client software on each machine that will be running ENOVIA
Live Collaboration.
A corollary of this is the ENOVIA Live Collaboration Server, which is really just
another DB2 client. Web clients will then access data via the Web from the server,
without requiring further DB2 client software at the end user’s machine.
If you are upgrading from a prior version of ENOVIA Live Collaboration, refer to
Installing a New Version of Studio Modeling Platform in Chapter 7 for upgrade
procedures. DB2 settings may require temporary adjustments while upgrading the
schema.
71
Installing the DB2 Server
Before installing the DB2 Enterprise Edition software, read this chapter in its entirety.
Then use the guidelines provided here in conjunction with the instructions provided by
IBM. Supported platforms and software versions are shown in the Program Directory for
the given release.
Since DB2 is a very complex product, do NOT attempt to install it without the appropriate
installation guides, which are available from IBM. For a white paper on DB2 ESE
Windows installation, send a request to idsicc@fr.ibm.com
Once the DB2 software has been installed, you must create a database suitable for
enterprise use with ENOVIA Live Collaboration. While the following sections provide
guidance on some settings, it is strongly recommended that you consult with a DB2 DBA.
72
ENOVIA Live Collaboration Installation Guide
Code Set and Language Settings
The DB2 database must use the UTF-8 code set. This means that the default IBM-1252
code set must be changed during database creation. You cannot modify the code set on an
existing database. To determine what code set is in use, enter the following command from
the DB2 command line:
db2 get database configuration for DBNAME
You can then set the LANG environment variable to control the display of characters on
the server including decimal/comma separators in date and amount formats. On AIX, use
the setenv command to set the language for DB2. For example,
setenv LANG de_DE
will set the language in DB2 to German/Germany.
DB2 Database
Client
Configuration
Any Live Collaboration Server that is run with MX_CHARSET=UTF8 must also set
db2set DB2CODEPAGE=1208, which corresponds to UTF8. The db2set command should
only be run on machines that are running the Live Collaboration Server. The db2set
command is a DB2 registry command which sets the UTF-8 code set for all DB2 clients. If
you do not run this command, UTF-8 will be set as an environment variable for ENOVIA
Live Collaboration only. This command should not be run for thick clients. Thick clients
should use the default operating system character setting.
Query re-optimization
The following query re-optimization variable should always be set. This variable allows
real values to be queried when bind values are used in dynamic SQL statements. The
following is a prerequisite command that must be launched on the database:
db2
db2
Set
cli
db2
Chapter 4: Installing a DB2 Database
bind db2clipk.bnd collection NULLIDR1
bind db2clipk.bnd collection NULLIDRA
Query reoptimization to ALWAYS (SQL_ATTR_REOPT=4) with db
cfg:
update cli cfg for section SAMPLE using SQL_ATTR_REOPT 4
73
Using DB2 with ENOVIA Products
DB2 and ENOVIA
Products
Before using DB2 with ENOVIA products, it is useful to understand the following terms:
•
Table: the primary data structure in the database consisting of rows and columns.
ENOVIA products uses three kinds of tables: MX tables for General Administration
data, LX for vault data (see below), and IX tables for indexed attributes.
•
Index: the data structure in the database for accelerating access to data via indexing
columns on commonly accessed tables.
•
Vault: is an ENOVIA Live Collaboration specific organization of data. By default,
there are three Governance vaults called eService Production, eService Admin, and
eService Sample, and one VPM vault called vplm.
•
Tablespace: the physical storage area for database tables and indexes on the storage
bay or disk drive. For optimal performance, tables and indexes should be in separate
tablespaces.
File system caching should, in general, be disabled to avoid double caching of data on
both the file system cache by the operating system and in the bufferpool by DB2.
•
LONG and LONG RAW (also referred to as CLOBS and BLOBS): are special data
types in databases of large string or binary values. DB2 with ENOVIA products uses
CLOBS for comment fields and other very long strings. These objects are never
cached in the bufferpool so a dedicated tablespace should be used with file system
caching enabled.
•
Bufferpool: is the area in system memory where the database stores data that is
pulled in from tablespaces. Tablespaces are assigned bufferpools for caching data in
system memory. For performance reasons, frequently used data should be stored in
the bufferpool. An undersized or oversized bufferpool can have a negative impact on
performance.
ENOVIA Live Collaboration must remain case-sensitive when using DB2 databases.
To use DB2 with ENOVIA products
Be sure the following are done before attempting to use DB2 with ENOVIA products:
1. Create a DB2 database suitable for enterprise use. Refer to DB2 documentation and
Configuring DB2. It is highly recommended that you use automatic storage:
CREATE DATABASE NAME AUTOMATIC STORAGE YES ON /FS1/NAME/1,/FS2/
NAME/2,/FS3/NAME/3,/FS4/NAME/4 DBPATH ON /FS5/NAME USING
CODESET UTF-8 TERRITORY US PAGESIZE 32768;
Where Name is the name of the DB2 database you are creating.
Directories must exist BEFORE the database is created.
2. Run the following command (as the DB2 instance owner) to grant necessary
privileges to the USER-ID specified at bootstrap creation. You can alternatively create
and run a script to combine the commands in step 3, 4 and 5:
#PLMADMIN refers to the USER-ID provided at bootstrap creation. Change the
schema name and user name if necessary to match this USER-ID
db2 “GRANT CREATEIN, DROPIN, ALTERIN ON SCHEMA PLMADMIN TO USER
PLMADMIN WITH GRANT OPTION”
74
ENOVIA Live Collaboration Installation Guide
3. When DB2 is used with ENOVIA products, the administrative and schema
information (c-data) are stored in a default tablespace. An option is not provided to
choose an alternate tablespace. If you would like to store this information in a
tablespace other than the default, you must restrict the USE access of the USER-ID
provided at bootstrap creation to the default tablespace. When USE access is denied
to the default tablespace, DB2 will find an alternative tablespace to which the
USER-ID has USE access. This must be done before connecting to the DB2 database.
To revoke USE access to default tablespace:
REVOKE USE OF TABLESPACE USERSPACE1 FROM PUBLIC
4. Create specific bufferpools:
Bufferpool size is expressed in units of page size. For example, the values for the
USERTEMPBP bufferpool below mean 5000 pages at 32768 bytes per page or
156 MB. AUTOMATIC means the bufferpool is sized automatically but at a
minimum, it can be the specified page size.
CREATE
CREATE
CREATE
CREATE
BUFFERPOOL
BUFFERPOOL
BUFFERPOOL
BUFFERPOOL
USERTEMPBP SIZE 5000 AUTOMATIC PAGESIZE 32768;
TEMPBP SIZE 5000 AUTOMATIC PAGESIZE 32768;
MXBP SIZE 500 AUTOMATIC PAGESIZE 32768;
LXBP SIZE 35000 AUTOMATIC PAGESIZE 32768;
CREATE LARGE TABLESPACE LX_DATA PAGESIZE 32768 MANAGED BY
AUTOMATIC STORAGE
BUFFERPOOL LXBP
INITIALSIZE 5 G
INCREASESIZE 5 PERCENT
PREFETCHSIZE 32
NO FILE SYSTEM CACHING;
CREATE LARGE TABLESPACE LX_INDEX PAGESIZE 32768 MANAGED BY
AUTOMATIC STORAGE
BUFFERPOOL LXBP
INITIALSIZE 6 G
INCREASESIZE 5 PERCENT
PREFETCHSIZE 32
NO FILE SYSTEM CACHING;
GRANT USE OF TABLESPACE LX_DATA TO USER PLMADMIN WITH GRANT
OPTION;
GRANT USE OF TABLESPACE LX_INDEX TO USER PLMADMIN WITH GRANT
OPTION
The USERTEMPBP bufferpool is used for the USERTEMP tablespace. This
tablespace is used as overflow for large queries that do not fit in memory and need to
be temporarily stored to disk. TEMPBP is used for the system TEMPSPACE1
tablespace. MXBP id used for the MX tablespaces. LXBP is used for the LX
tablespaces. The size of the LXBP bufferpool in the example should be reviewed and
increased or decreased according to available system memory and tablespace size.
5. Create a user temporary tablespace. Use the following:
CREATE USER TEMPORARY TABLESPACE USERTEMP IN DATABASE PARTITION
GROUP IBMDEFAULTGROUP PAGESIZE 32768 MANAGED BY SYSTEM
USING ('/FS1/NAME/1/tmp5',
'/FS2/NAME/2tmp5',
'/FS3/NAME/3/tmp5',
'/FS4/NAME/4/tmp5')
EXTENTSIZE 32
Chapter 4: Installing a DB2 Database
75
PREFETCHSIZE 32
BUFFERPOOL USERTEMPBP
OVERHEAD 7.500000
TRANSFERRATE 0.060000
NO FILE SYSTEM CACHING
DROPPED TABLE RECOVERY OFF;
a ) Set a dedicated buffer pool for the temporary tablespace:
ALTER TABLESPACE TEMPSPACE1 BUFFERPOOL TEMPBP;
b ) Grant user rights:
GRANT USE OF TABLESPACE USERTEMP TO USER PLMADMIN WITH GRANT
OPTION;
6. Set DB2 registry variables:
DB2_USE_ALTERNATE_PAGE_CLEANING=ON
DB2_DIRECT_IO=
DB2_INLIST_TO_NLJN=NO
DB2_EVALUNCOMMITTED=ON
DB2_SKIPDELETED=ON
DB2_SKIPINSERTED=ON
DB2MAXFSCRSEARCH=1
DB2ASSUMEUPDATE=OFF
DB2_CORRELATED_PREDICATES
DB2_HASH_JOIN=
DB2ENVLIST=EXTSHM
DB2_MMAP_WRITE=OFF
DB2_MMAP_READ=OFF
DB2_PARALLEL_IO=*
7. Install the Studio Modeling Platform and generate the connection file (MATRIX-R
file), which connects ENOVIA products to the database.
8. Restart DB2 in order for the new settings to take affect.
9. Install the Live Collaboration Server. For details, see Chapter 8, Installing the Live
Collaboration Server.
10. Install Business Process Services. This creates the three Governance vaults: eService
Production, eService Admin, and eService Sample. If the tablespaces for Data and
Index were specified during the setup program, these will be used for the eService
Production vault. The eService Admin and eService Sample vaults are rarely used but
their data and indexes will always be in the USERSPACE1 tablespace. This location
is not optimal because indexes and data are combined. but this should not impact
performance because the vaults are rarely used.
11. Install any ENOVIA products you are using, for example ENOVIA Engineering
Central. This populates the LX Tables.
The vplm vault is created when the ENOVIA VPM Multi-Discipline Collaboration
Platform is installed. An IX table is created on each vault for the indexes enabled via
the MXINDEX table. If a tablespace was specified during setup, the vault is placed
there. An IX table is created on each vault for the indexes enabled via the MXINDEX
table.
76
ENOVIA Live Collaboration Installation Guide
The following tables for the eService Production and/or vplm vaults are usually large
enough that the data and indexes should be put in separate tablespaces:
MXPROPERTY, LXBO, LXBOOL, LXINT, LXHIST, LXOID, LXREAL, LXRO,
LXSTATE, LXSTRING.
Vplm and eService Production vault tables are placed in the LX_DATA tablespace but
the indexes are also placed here which is not optimal. The indexes should be created
in the index tablespace or the LX_INDEX tablespace. The IX indexed column must
be first in the QuerySpec for the IX table to be used.
Chapter 4: Installing a DB2 Database
77
Configuring DB2
This section contains suggestions for improving the performance of DB2 running
ENOVIA Live Collaboration. These suggestions are based on results from ENOVIA QA
labs. Your results may vary depending on your platform configuration.
Currently
Committed Mode
When Currently Committed (CC) mode is enabled, writers will no longer block readers.
CC mode greatly improves concurrency. By default, CC mode is enabled (cur_commit is
set to 2) in new DB2 9.7 databases and disabled (cur_commit set to 0) in databases created
using version DB2 9.5 or earlier.
It is highly recommended that CC mode is either enabled or allowed in DB 9.7 databases.
CC mode is enabled by setting cur_commit to 2 and allowed by setting cur_commit to 1.
When upgrading to DB2 9.7 from a previous version, you must manually enable or allow
CC mode.The DB2_SKIPINSERT and DB2_SKIPDELETED settings are obsolete in
DB2 9.7. When using DB2 9.5, DB2_SKIPINSERT and DB2_SKIPDELETED are set by
default.
Disk and I/O
Management
You should have separate storage for each of the following locations:
DB2 Database Storage
For optimal performance, automatic storage should be specified on the CREATE
DATABASE statement, which will spread data evenly over the specified data paths.
Automatic storage is implemented via the ON /path-1, … , /path-n clause shown below.
Use the following example as a guideline:
CREATE DATABASE <database name> ON /path-1, …,/path-n USING
CODESET UTF-8 TERRITORY US PAGESIZE 32768;
Data will be spread equally across all paths specified. Each path should be a file system
backed by separate storage disks, which spreads all data equally across all storage disks.
Database directory files will be placed on the first path in the list.
DB2 Logs Location
This is where DB2 logs all changes made to objects and their contents. The logfiles record
all completed (committed work) and any uncommitted work which has been written to
disk (this allows uncommitted work written to disk to be removed if a transaction rollback
occurs). If there is a failure in a transaction, DB2 uses these files to rollback the changes.
If DB2 crashes, DB2 will verify consistency using the log files. The default logfiles
location is in the <DB2 Datafile Location>, but you can change the location by issuing an
update database configuration for the variable NEWLOGPATH.
It is highly recommended that DB2 log files are placed on a file system dedicated to the
log, and backed by disk spindles dedicated to this file system. For example:
UPDATE DB CFG FOR dbname
USING NEWLOGPATH
/db2log
For AIX environments, logging performance will be further enhanced by mounting the
logging file system with the CIO attribute. For example:
78
ENOVIA Live Collaboration Installation Guide
mount -o cio /db2log
Configuration
Parameters
DB2 Database Manager (DBM) level configuration parameters
Database Manager configuration parameters affect the entire instance (all databases
running in that instance). The default parameters provide a reasonable starting point. They
can be changed if necessary via the DB2 command:
UPDATE DBM CFG USING parm_name parm_value
The DBM parameter settings can be viewed by the command:
GET DBM CFG
Alternatively, they can be viewed and changed in the Control Center. Right click on the
correct DB2 database in the left navigation pane and select “Configure Parameters.”
The following DBM configuration parameters are recommended for maximum
performance on industrial databases with millions of business objects:
Recommended
DBM Parameter
DB2 Default
Setting
More Information
update dbm cfg using
NUMDB 5
8
NUMDB: The maximum number of concurrent databases running on the
instance should be 1 in the production environment.
DFT_MON_BUFPOOL
ON
OFF
All Monitors should be set to ON. SORT Monitoring can be set to OFF
in very specific cases if it is causing overhead during large sort
operations.
DFT_MON_LOCK ON
OFF
DFT_MON_SORT ON
OFF
DFT_MON_STMT ON
OFF
DFT_MON_TABLE ON
OFF
DFT_MON_UOW ON
OFF
BACKBUFSZ 10240
1024
RESTBUFSZ 10240
1024
ASLHEAPSZ 64
15
ASLHEAPSZ is the buffer between the application and agent. It should
be set to handle the majority of the requests in a single send-and-receive
pair.
QUERY_HEAP_SZ
10000
1000
Only allocated when needed or on demand. The setting should be
increased to avoid issues with complex queries.
Chapter 4: Installing a DB2 Database
BACKBUFSZ, RESTBUFSZ: should be set to large values because they
are only allocated at backup and restore time. They should fit in
UTIL_HEAP_SZ.
79
DB2 Database (DB) level configuration parameters
Database configuration parameters are specific to each database. Most default values
represent a reasonable starting point, but unlike the DBM level parameters, some tuning of
these parameters may be expected.
•
By default, the Self Tuning Memory Manager (STMM) is enabled. The master DB
STMM configuration parameter SELF_TUNING_MEM is set to ON, and all
subsidiary DB STMM configuration parameters are set to AUTOMATIC. This results
in DB2 dynamically managing it's memory pools based on workload. If self tuning
memory is not desired, then issue:
UPDATE DB CFG FOR dbname USING SELF_TUNING_MEM OFF. If this is
done, then manual tuning of the subsidiary memory parameters will be required.
•
By default, several other non-memory parameters are also set to AUTOMATIC. DB2
sets values for these based on the hardware/OS environment, or otherwise selecting
what it thinks are reasonable values.
•
The following default values are typically not optimal and should be changed.
Following are suggested values, but may need to be tuned further:
UPDATE DB CFG USING LOGBUFSZ 2048
UPDATE DB CFG USING NUM_IOSERVERS 225
UPDATE DB CFG USING LOGFILSIZ 25000
UPDATE DB CFG USING LOGPRIMARY 30
UPDATE DB CFG USING LOGSECOND 10
The DB level configuration parameter settings can be viewed by the command:
GET DB CFG FOR dbname
Alternatively, they can be viewed and changed in the Control Center. Right click on the
correct DB2 database in the left navigation pane and select “Configure Parameters”
The following DM configuration parameters are recommended for maximum performance
on industrial databases with millions of business objects:
Recommended
DM Parameter
update
80
DB2 Default
Setting
More Information
db cfg for SAMPLE using
SHEAPTHRES_SHR
5000
AUTOMATIC
SORTHEAP 5000
AUTOMATIC
CATALOGCACHE_SZ
6000
-1
Depends on the number of database objects.
UTIL_HEAP_SZ
15000
5000
UTIL_HEAP_SZ is used by backup, restore, load, and runstats
operations. It can be set to a large value because it is only used when
required.
DFT_QUERYOPT 3
5
DFT_QUERYOPT 3: gives better results than the default value of 5.
Should be set to a fixed value on test environments to avoid decreasing
STMM during “sleep time.” This parameter can be set to AUTOMATC
on production environments where loading is almost constant.
ENOVIA Live Collaboration Installation Guide
Recommended
DM Parameter
DB2 Default
Setting
More Information
AUTO_MAINT OFF
ON
Should be set to OFF in test environments to avoid having it impact
performance measurements. It can be set in production environments.
CLOB Datatypes
You should separate Catalog objects and Application objects into separate buffer pools.
Review the IBM documentation on how to create and manage buffer pools effectively.
ENOVIA Live Collaboration makes extensive use of CLOB datatypes. These CLOB
columns are typically defined as having a maximum size of 2m.
LOBS and Buffer Pools
LOB datatypes do not flow through buffer pools. Since DB2 performs direct reads, DB2
buffering and memory pooling do not apply to these objects.
LOBS and Table Spaces
Currently, ENOVIA Live Collaboration stores CLOB data and non-CLOB data for a table
in the same tablespace. After installing ENOVIA Live Collaboration you might want to
alter (unload, drop, recreate and reload) the tables that contain CLOBs for performance
reasons.
DB2 tablespaces can either utilize OS file caching or bypass OS (Operating System) file
caching. Since all data, except for LOB and LONG VARCHAR, is cached in DB2 buffer
pools, it is generally recommended to avoid OS file system caching, since this results in
double memory buffering of data. By default, DB2 tablespaces (except temporary
tablespaces) do not use OS file system caching. However, since LOB and LONG
VARCHAR data do not pass through DB2 bufferpools, there may be a performance
advantage to allowing the OS to file cache this data.
To implement file caching for LOB and LONG VARCHAR data:
1. Create a tablespace which uses OS file system caching. For example:
CREATE TABLESPACE CACHETS FILE SYSTEM CACHING
CACHETS is the name of the tablespace.
2. For tables which have LOB or LONG VARCHAR columns, edit the schema DDL to
indicate that LONG data (LOB/LONG VARCHAR) should be placed in a separate
tablespace. Specify a tablespace which uses OS file system caching. For example:
CREATE TABLE ……. LONG IN CACHETS
3. Tables for which this change is done will have to be unloaded, dropped, recreated, and
reloaded.
Chapter 4: Installing a DB2 Database
81
Additional Performance Related Tasks
•
DB2 requires accurate statistics, obtained by invoking the RUNSTATS utility, to make
the proper access path decisions. By default, RUNSTATS is automatically invoked
periodically against highly active tables. Although, after initial database population, it
is recommended that statistics for all tables be updated with the following command:
REORGCHK
•
UPDATE STATISTICS ON TABLE ALL
Some tables/indexes may benefit from a periodic reorganization. Run the following
command to see which tables/indexes should be considered for reorganization. The
last column in the report will have one or more asterisk (*) instead of all dashes (-) if
a reorganization is suggested
REORGCHK
UPDATE STATISTICS ON TABLE ALL
A reorganization can be done via command line or via the control center (right click
on the desired table and select “Reorganize” or “Reorganize Indexes.“
•
The SQL statements with the longest total execution time (average execution time per
statement * number of executions of this statement) should be periodically examined
to ensure they have optimal access plans. Executing the following SQL statement will
show the top 10 SQL statements with the longest elapsed time:
To show the top 10 SQL statements with the longest elapsed time
1. Run the following script as the instance owner to enable monitoring, and if necessary,
change “db2inst1” below to the actual instance owner:
db2 attach to db2inst1
db2 update dbm cfg using dft_mon_stmt on
db2 detach
2. Run the workload for a period of time.
3. Execute the following query - increase the value 100 as needed to capture the entire
text of the statements
“select average_execution_time_s * num_executions as total_exec_time,
substr(stmt_text,1,100) as stmt from sysibmadm.top_dynamic_sql order by
total_exec_time desc fetch first 10 rows only”.
The Visual EXPLAIN tool can display the access paths for these statements as
follows: Using the Control Center, right click on the database> select Explain Query;
then paste one of the SQL statements obtained from the preceding query into the
window and press OK.
4. Run the following script as the instance owner to disable monitoring, and if necessary,
change “db2inst1” below to the actual instance owner:
db2 attach to db2inst1
db2 update dbm cfg using dft_mon_stmt off
db2 detach
SQL0429N LOB
locator limit
If you exceed the SQL0429N limit of concurrent LOB locators, the following error is seen
in mxtrace.log:
[IBM][CLI Driver][DB2/6000] SQL0429N The maximum number of
concurrent LOB locators has been exceeded. SQLSTATE=54028
82
ENOVIA Live Collaboration Installation Guide
Use the CLI patch to remove the problem:
Set the DB2 client parameter PATCH2=50:
For system wide change: set PATCH2=50 in db2cli.ini
For session wide change: db2 update cli cfg for section <session name> using
PATCH2 50
AIX Environment
If the DB2 server and the ENOVIA Live Collaboration Server are running on the same
AIX system, you may receive the following error:
[IBM][CLI Driver] SQL1224N A database agent could not be started
to service a request, or was terminated as a result of a
database system shutdown or a force command. SQLSTATE=55032
Severity:3 ErrorCode:1
To remove the problem:
Catalog the local node as remote and catalog the database to remote node.
Or
Set the AIX environment variable EXTSHM=ON
To use EXTSHM with DB2
1. In client sessions, export EXTSHM=ON
2. When starting the DB2 server:
export EXTSHM=ON
db2set DB2ENVLIST=EXTSHM
db2start
Chapter 4: Installing a DB2 Database
83
Sample DB2 Database Creation Script
In the following script is a sample and is meant to be used as an example.
-- bpj Modif substitute LX to MATRIX & PATH & subst 32K to 32768
set to OFF
& logarchmeth1
-- bpj 20090114 Remove NOT EXTENDED STORAGE & Add NO FILE SYSTEM CACHING & switch
USERTEMP to SMS & Modify BUFFERPOOL NAME
-- Minimum of 5 GB free disk space on $DatabasePath
-- Tablespaces for MX and LX tables segmented by DATA, INDEX, LONG
-- Separate Tablespace for MXPROPERTY (MXPROP and MXPROP_I for indexes) as this
table often contains >100k rows
DatabasePath=/Data/DB2/V6R2010
DatabaseName=V6R2010
DatabaseSchema=enovadm6
DatabaseBinariesPath=/opt/IBM/DB2/V9.5
CREATE DATABASE $DatabaseName AUTOMATIC STORAGE YES ON $DatabasePath/
1,$DatabasePath/2,$DatabasePath/3,$DatabasePath/4 DBPATH ON $DatabasePath/DBPATH
USING CODESET UTF-8 TERRITORY US COLLATE USING SYSTEM PAGESIZE 32768;
CONNECT TO $DatabaseName;
-- Smaller buffer pools all start at 200MB; large buffer pool for vaults starts at
2 GB
-- To calculate size : SIZE * 32768 / 1024 / 1024 in MB
-- Alternatives: Separate bufferpools for large LX tables, for the MXPROP
tablespace, etc.
CREATE BUFFERPOOL USRTMPBP SIZE 6400 AUTOMATIC PAGESIZE 32768 ;
CREATE BUFFERPOOL TEMPBP SIZE 6400 AUTOMATIC PAGESIZE 32768 ;
CREATE BUFFERPOOL MXBP SIZE 6400 AUTOMATIC PAGESIZE 32768 ;
CREATE BUFFERPOOL LXBP SIZE 64000 AUTOMATIC PAGESIZE 32768 ;
DISCONNECT current ;
CONNECT TO $DatabaseName;
ALTER TABLESPACE TEMPSPACE1 BUFFERPOOL TEMPBP;
DISCONNECT current ;
84
ENOVIA Live Collaboration Installation Guide
CONNECT TO $DatabaseName;
CREATE USER TEMPORARY TABLESPACE USERTEMP IN DATABASE PARTITION GROUP
IBMDEFAULTGROUP PAGESIZE 32768 MANAGED BY SYSTEM USING
('$DatabasePath/tmp1','$DatabasePath/tmp2','$DatabasePath/
tmp3','$DatabasePath/tmp4')
EXTENTSIZE 32
PREFETCHSIZE 32
BUFFERPOOL USRTMPBP
OVERHEAD 7.500000
TRANSFERRATE 0.060000
DROPPED TABLE RECOVERY OFF;
CREATE
LARGE TABLESPACE MX_DATA PAGESIZE 32768 MANAGED BY AUTOMATIC STORAGE
BUFFERPOOL MXBP
INITIALSIZE 100 M
INCREASESIZE 20 PERCENT
PREFETCHSIZE 32;
CREATE
LARGE TABLESPACE MX_INDEX PAGESIZE 32768 MANAGED BY AUTOMATIC STORAGE
BUFFERPOOL MXBP
INITIALSIZE 100 M
INCREASESIZE 20 PERCENT
PREFETCHSIZE 32;
CREATE
LARGE TABLESPACE MX_LONG PAGESIZE 32768 MANAGED BY AUTOMATIC STORAGE
BUFFERPOOL MXBP
INITIALSIZE 100 M
INCREASESIZE 20 PERCENT
PREFETCHSIZE 32
FILE SYSTEM CACHING;
CREATE
LARGE TABLESPACE MXPROP PAGESIZE 32768 MANAGED BY AUTOMATIC STORAGE
BUFFERPOOL MXBP
INITIALSIZE 100 M
INCREASESIZE 20 PERCENT
PREFETCHSIZE 32;
CREATE
LARGE TABLESPACE MXPROP_I PAGESIZE 32768 MANAGED BY AUTOMATIC STORAGE
BUFFERPOOL MXBP
INITIALSIZE 100 M
INCREASESIZE 20 PERCENT
Chapter 4: Installing a DB2 Database
85
PREFETCHSIZE 32;
CREATE
LARGE TABLESPACE LX_DATA PAGESIZE 32768 MANAGED BY AUTOMATIC STORAGE
BUFFERPOOL LXBP
INITIALSIZE 1 G
INCREASESIZE 20 PERCENT
PREFETCHSIZE 32;
CREATE
LARGE TABLESPACE LX_INDEX PAGESIZE 32768 MANAGED BY AUTOMATIC STORAGE
BUFFERPOOL LXBP
INITIALSIZE 1 G
INCREASESIZE 20 PERCENT
PREFETCHSIZE 32;
CREATE
LARGE TABLESPACE LX_LONG PAGESIZE 32768 MANAGED BY AUTOMATIC STORAGE
BUFFERPOOL LXBP
INITIALSIZE 1 G
INCREASESIZE 5 PERCENT
PREFETCHSIZE 32
FILE SYSTEM CACHING;
update
db cfg for $DatabaseName using
SHEAPTHRES_SHR AUTOMATIC
SORTHEAP AUTOMATIC
MAXAPPLS AUTOMATIC
APPLHEAPSZ AUTOMATIC
STMTHEAP AUTOMATIC
DBHEAP AUTOMATIC
CATALOGCACHE_SZ 6000
LOGBUFSZ 2048
UTIL_HEAP_SZ 15000
STAT_HEAP_SZ AUTOMATIC
LOGFILSIZ 25000
LOGPRIMARY 30
LOGSECOND 10
logarchmeth1 OFF
logarchmeth2 OFF
newlogpath $DatabasePath/DBLOG
PCKCACHESZ AUTOMATIC
86
ENOVIA Live Collaboration Installation Guide
SELF_TUNING_MEM ON
LOCKLIST AUTOMATIC
MAXLOCKS AUTOMATIC
NUM_IOSERVERS 255
LOCKTIMEOUT -1
DFT_QUERYOPT 3
AUTO_MAINT OFF
DFT_DEGREE 1
MAXFILOP 32768
APPL_MEMORY AUTOMATIC;
update dbm cfg using
NUMDB 5
DIAGLEVEL 3
NOTIFYLEVEL 3
DFT_MON_BUFPOOL ON
DFT_MON_LOCK ON
DFT_MON_SORT ON
DFT_MON_STMT ON
DFT_MON_TABLE ON
DFT_MON_TIMESTAMP ON
DFT_MON_UOW ON
HEALTH_MON OFF
MON_HEAP_SZ 2048
JAVA_HEAP_SZ 2048
AUDIT_BUF_SZ 0
INSTANCE_MEMORY AUTOMATIC
BACKBUFSZ 10240
RESTBUFSZ 10240
SHEAPTHRES 0
ASLHEAPSZ 64
RQRIOBLK 32767
QUERY_HEAP_SZ 10000
MAX_CONNECTIONS AUTOMATIC
NUM_INITAGENTS 0
KEEPFENCED YES
Chapter 4: Installing a DB2 Database
87
SPM_NAME ''
MAX_QUERYDEGREE ANY
INTRA_PARALLEL NO
NUM_POOLAGENTS AUTOMATIC
FENCED_POOL AUTOMATIC;
GRANT
DBADM,CREATETAB,BINDADD,CONNECT,CREATE_NOT_FENCED_ROUTINE,IMPLICIT_SCHEMA,LOAD,CR
EATE_EXTERNAL_ROUTINE,QUIESCE_CONNECT ON DATABASE TO USER $DatabaseSchema;
GRANT USE OF TABLESPACE USERSPACE1 TO USER $DatabaseSchema WITH GRANT OPTION;
GRANT USE OF TABLESPACE USERTEMP TO USER $DatabaseSchema WITH GRANT OPTION;
GRANT USE OF TABLESPACE MX_DATA TO USER $DatabaseSchema WITH GRANT OPTION;
GRANT USE OF TABLESPACE MX_INDEX TO USER $DatabaseSchema WITH GRANT OPTION;
GRANT USE OF TABLESPACE MXPROP TO USER $DatabaseSchema WITH GRANT OPTION;
GRANT USE OF TABLESPACE MXPROP_I TO USER $DatabaseSchema WITH GRANT OPTION;
GRANT USE OF TABLESPACE MX_LONG TO USER $DatabaseSchema WITH GRANT OPTION;
GRANT USE OF TABLESPACE LX_DATA TO USER $DatabaseSchema WITH GRANT OPTION;
GRANT USE OF TABLESPACE LX_INDEX TO USER $DatabaseSchema WITH GRANT OPTION;
GRANT USE OF TABLESPACE LX_LONG TO USER $DatabaseSchema WITH GRANT OPTION;
bind
$DatabaseBinaries/bnd/db2clipk.bnd collection NULLIDRA;
update cli cfg for section $DatabaseName using SQL_ATTR_REOPT 4;
DISCONNECT current ;
terminate;
88
ENOVIA Live Collaboration Installation Guide
5
Installing an SQL Server
Database
Installing the Database Software
This chapter describes Microsoft SQL Server setup requirements and guidelines for
configuring SQL Server for use with ENOVIA Live Collaboration. SQL Server and
ENOVIA Live Collaboration may be installed:
•
As a stand-alone system, where the client and server machines are the same. In this
case, SQL Server software is installed, and there is no need to install additional
database client software, since it is a subset of the server software.
•
In a networked environment, with a database server and multiple clients. In a
networked installation, you must install the SQL Server software on the central server,
as well as the SQL Server client software on each machine that will be running
ENOVIA Live Collaboration.
A corollary of this is the ENOVIA Live Collaboration Server, which is really just
another SQL Server client. Web clients will then access data via the Web from the
server, without requiring further SQL Server client software at the end user’s
machine.
89
Installing SQL Server
You can install the Standard or the Enterprise edition of SQL Server. Before installing the
software, read this chapter in its entirety. Then use the guidelines provided here in
conjunction with the instructions provided by Microsoft. Supported platforms and
software versions are shown in the Program Directory for the given release.
Do NOT attempt to install SQL Server without the appropriate installation guides, which
are available from Microsoft.
SQL Server cannot be used with the Studio Modeling Platform on double-byte language
operating systems. This limitation is due to the SQL Server requirement that characters be
converted to Unicode before they can be stored in the database, and would require the
following settings: MX_CHARSET=UTF8 and LANG=C. However, the Studio Modeling
Platform requires characters to be mapped according to the operating system language
setting, and so LANG must be set to the appropriate language (e.g. SJIS) rather LANG=C
for Studio Modeling.
90
ENOVIA Live Collaboration Installation Guide
Setting up SQL Server for Use with ENOVIA
Live Collaboration
After you have installed SQL Server, you need to create an ODBC data source for use with
ENOVIA Live Collaboration. The data source should be created on the client machine
where ENOVIA Live Collaboration is running.
ENOVIA Live Collaboration software version V6R2011x supports SQL Server 2008 SP1
(build 10.0.2531). This version of SQL Server does not require the SQL Native Client.
Before configuring the ODBC driver for the very first time, update the SQL Server
instance using the SQL Server Management Studio to enable SQL Server and Windows
authentication.
A database must be created before you can create an ODBC data source for use with
ENOVIA Live Collaboration.
To create a database (database engine)
The following source provides general information on how to create a database:
http://technet.microsoft.com/en-us/library/ms175198.aspx
The following source provides information specific to SQL Server Management Studio:
http://technet.microsoft.com/en-us/library/ms186312.aspx
This topic describes how to create a database by using SQL Server Management Studio.
1. In Object Explorer, connect to an instance of the SQL Server Database Engine, and
then expand that instance. For example:
Chapter 5: Installing an SQL Server Database
91
2. Right-click Databases, and then click New Database.
3. In the New Database dialog, enter a database name.
4. To create the database by accepting all default values, click OK; otherwise, continue
with the following steps.
5. To change the owner name, click (...) to select another owner.
The “Use the full-text indexing” option is always checked and dimmed because, beginning
with SQL Server 2008, all user databases are full-text enabled. For more information, see
Configuring Full-Text Catalogs and Indexes for a Database (http://technet.microsoft.com/
en-us/library/cc879299.aspx).
6. To change the default values of the primary data and transaction log files, in the
Database files grid, click the appropriate cell and enter the new value. For more
information, see How to: Add Data or Log Files to a Database (SQL Server
Management Studio) (http://technet.microsoft.com/en-us/library/ms189253.aspx).
7. To change the collation of the database, select the Options page, and then select a
collation from the list.
8. To change the recovery model, select the Options page, and then select a recovery
model from the list.
9. To change database options, select the Options page, and then modify the database
options. For a description of each option, see Setting Database Options (http://
technet.microsoft.com/en-us/library/ms190249.aspx).
10. To add a new file group, click the File groups page. Click Add, and then enter the
values for the file group.
11. To add an extended property to the database, select the Extended Properties page:
a ) In the Name column, enter a name for the extended property.
b ) In the Value column, enter the extended property text (for example, one or more
statements that describe the database).
12. Click OK to create the database.
92
ENOVIA Live Collaboration Installation Guide
To create an ODBC data source (and alias to ENOVIA Team Server database)
This topic describes how to create an ODBC data source (em1sql) alias to the ENOVIA
Team Server database, which will be used during ENOVIA Team Server installation.
Before you begin:
Open the ODBC Data Source Administrator panel using one of the following methods:
•
For 32-bit Windows, open a command window and issue the command:
> C:\WINDOWS\system32\odbcad32.exe
•
For 64-bit Windows, including 32-bit media on 64-bit machines, open a
command window and issue the command:
> C:\WINDOWS\SysWOW64\odbcad32.exe
1. In the ODBC Data Source Administrator panel, click the System DSN tab, and then
click Add.
Chapter 5: Installing an SQL Server Database
93
2. In the Create New DataSource page, select SQL Server Native Client 10.0 for the
driver, and then click Finish.
3. In the Create a New Data Source to SQL Server panel:
a ) Provide the name of the data source that the ENOVIA Team Server installation
will use (in this example, em1sql).
b ) Provide a description of the data source.
c ) Select the server (in this example, <workstation_name>\MSSQL).
Click Next.
4. Specify the Login ID and the password.
94
ENOVIA Live Collaboration Installation Guide
The login ID and password you enter here correspond to the SQL Server
Administrator (in this example, sa). Click Next.
5. Select the default database from the database drop-down list. This is the name of the
database created in the MSSQL Server (in this example, EnoviaDB). Click Next.
Chapter 5: Installing an SQL Server Database
95
6. Uncheck the Perform translation for character data option. Click Finish.
7. Click Test Data Source... to test the connectivity with the database.
Testing the connectivity ensures that the data source is able to talk to the ENOVIA Live
Collaboration database on the SQL Server instance. If the test fails, you will need to close
out this administrator session and create a new data source.
8. Click OK to exit the ODBC Data Source Administrator.
ENOVIA Live Collaboration can now use the data source you have created to talk to the
database.
96
ENOVIA Live Collaboration Installation Guide
Configuring SQL Server
Minimizing
Deadlock Potential
The READ_COMMITTED_SNAPSHOT database option should be ON in your SQL
Server database. This option is similar to the locking model used by Oracle and prevents
readers from blocking writers, and writers from blocking readers. This option increases
through-put while minimizing deadlock potential:
ALTER DATABASE DATABASE_NAME
SET READ_COMMITTED_SNAPSHOT ON
Using Indexes with
SQL Server
When enabling ENOVIA Live Collaboration indexes on SQL Server, the operation should
be performed within a transaction using MQL. For example:
start transaction;
enable index MXINDEX;
commit transaction;
Case Sensitivity
System Administrators can configure ENOVIA Live Collaboration for either
case-insensitive mode or case-sensitive mode when using an SQL Server database. The
underlying database must be configured to support the desired sensitivity. By default, SQL
Server is supported as case-insensitive. For information on configuring the
case-sensitivity, see “Case-Sensitive Mode” in the MQL Guide.
In general, case sensitivity does not have an impact on ENOVIA Live Collaboration
performance. An exception may be queries using case-insensitive comparison operators
on a case-sensitive database.
Maintaining the
Database
It is recommended to use the maintenance wizard to create a job to update statistics and
run DBCC checkdb regularly. Additionally, the main database log should be backed up or
truncated at an interval that is based on the log size, bandwidth and the maximum
allowable window of vulnerability.
Shrinking and Maintaining the Transaction Log
If the transaction log is not truncated correctly or its maintenance job is failing, the log
will grow larger and larger and eventually eat the disk. If your transaction log has grown
too large, follow these steps to shrink it down to a reasonable size:
USE TestDB
GO
-- View Size of Database and file names
sp_helpdb TestDB
GO
-- set recovery to simple, makes shrinking easier
ALTER DATABASE TestDB SET RECOVERY SIMPLE
Chapter 5: Installing an SQL Server Database
97
-- shrink to 1GB
DBCC SHRINKFILE (TestDB_log, 1024)
-- set recovery to full
ALTER DATABASE TestDB SET RECOVERY FULL
GO
-- View Size of Database and file names
sp_helpdb TestDB
GO
-- BACKUP the database now
After the log is shrunk, it is important to verify that its maintenance job is running
correctly. If the maintenance job for the transaction log is not working correctly, the log
will not be truncated or backed up. When you configure the maintenance job for the
transaction log, make sure the option to “Create a backup file for every database” is
checked as well as the option to “Create a sub-directory for each database.”
Additionally you should monitor all your maintenance jobs by checking the Job log and
looking for files with a time stamp of the current day.
98
ENOVIA Live Collaboration Installation Guide
Configuring Disk Layout
For optimal I/O performance, it is highly recommended that different database files be
separated onto separate disk drives with each disk drive having its own disk controller.
Separating database files minimizes the impact of physical I/O contention at the server
level. The following components should be placed on separate disk drives/arrays:
•
Application data (such as tables and indexes)
•
Database log files
•
Database temporary space (TempDB) used for sort and join operations
Database log files should be placed on a separate drive from data files, OS files, and SQL
Server binary files. This is due to the fact that transaction log files are written serially and
using a dedicated disk controller allows the disk heads to stay in place for the next write
operation. You should use the fastest disks available for your log files. The sizing of the
log file should be mitigated frequently by transaction log backups to minimize the file
size. Additionally, transaction log backups should be part of the backup process so your
database can be restored to a point in time.
TempDB should be configured on a separate disk from the operating system and data files.
All the files in TempDB should be identical in size since SQL Server uses a proportional
fill algorithm. Sizing of TempDB should be performed after a series of exhaustive tests so
that it has had a chance to grow to a meaningful size.
Selecting and
Formatting Drives
In addition to separating the different database files onto separate disk drives, the types of
drives used and their formatting is very important for performance. The following
recommendations should be used when selecting and formatting your drives:
•
Log activity is very write intensive operation which means the RAID format selection
for the drive holding the log files is very important. RAID0, RAID1, RAID0+1, or
RAID1+0 should be used for this drive. RAID5 should NOT be used.
•
RAID5 should NOT be used for the drive holding TempDB.
•
RAID5 can be used for application data.
For more information on RAID, see RAID Technology.
Performance and
Scalability
The Performance Monitor feature and the SQL Profiler should be used to take targeted
traces on the production server. The SQL Profiler should be run on a separate machine
from the machine with the server so profiling does not impact production. The traces taken
should be very targeted and as short as necessary.
Chapter 5: Installing an SQL Server Database
99
General Index Recommendations
In general, all tables in your database should have a clustered index. A clustered index
stores the data in a table on the disk in a physically sorted order and all data resides in the
leaf pages of the index structure. In general, clustered indexes perform better than tables
that are stored as heaps (no clustered index).
Configuring Table
Statistics
Tables statistics are used by SQL Server to determine which algorithm to use to process a
query. The AUTO CREATE and AUTO UPDATE statistics options should be on. Table
statistics should be kept up-to-date.
Limiting Physical I/
O
Usually the slowest part of any database system is the disk I/O sub-system and any
techniques that minimize the number of pages to be read from disk should be used.
100
•
You should not duplicate the clustering key in a non-clustered index since the
clustering key is automatically added to each non-clustered index row. Adding
another key increases the storage needed by the non-clustered index.
•
When you are designing the clustering key, data access patterns must be taken into
account. For example if a table contains a surrogate key (for example, an IDENTITY
column) but you never query based on that key, but do range based queries on a date
column, it is more appropriate to cluster on the date column since all rows that satisfy
the query will be on the same or nearby data pages.
•
When examining STATISTIC IO results, or query execution plans, you should
attempt to limit the number of physical reads that must occur to satisfy the query. For
example, if you do not have a covering index for a query you will increase the number
of reads to satisfy the request.
ENOVIA Live Collaboration Installation Guide
SQL Server Limitations with ENOVIA Live
Collaboration
Some uncommonly used features are not supported on databases other than Oracle.
Limitations are noted within the context of the feature documentation. Some limitations
are listed below.
SQL Server
concurrency
In a SQL Server environment with many users accessing the same data, you may receive
the following error, when 2 users are creating new objects or relationships at the same
time:
Message:Cannot commit transaction Severity:3 ErrorCode:1500101
Message:State 40001: [Microsoft][SQL Native Client][SQL
Server]Transaction (Process ID XXX) was deadlocked on lock
resources with another process and has been chosen as the
deadlock victim. Rerun the transaction. Severity:3
If this concurrency issue is noticed regularly, you should generate the deadlock graph in
SQL Server Profiler and evaluate it to see if the LXRO table and the mxOID table are the
conflicting tables. If this is found to be the case, you can change the vault indexes from
non-clustered to clustered to resolve the issue.
To change object vault tables to use clustered indices in SQL Server
1. Start SQL Server Management Studio and login to the server.
2. Expand Database list.
3. Find and expand the Matrix database.
4. Expand Tables of Matrix database.
5. Find and expand the first lxRO_XXX table, where XXX is a vault ID.
6. Expand Indexes of the lxRO_XXX table.
7. Double click the lxRO_XXX_lxOID_Index.
8. In the dialog that opens, use the dropbox to change non-clustered to clustered.
9. A dialog pops up asking if you want to rebuild the indexes. Click Yes to continue.
10. Click OK.
11. Repeat steps 5 through 10 for each lxRO_XXX table.
Chapter 5: Installing an SQL Server Database
101
Localization Support
Since SQL Server uses the Unicode character set, ENOVIA Live Collaboration must
convert all data to Unicode before storing it in the SQL Server database. Therefore, when
installing the ENOVIA Live Collaboration Server, select UTF-8 support and ensure that
any additional manual UTF-8 configuration is also performed. Refer to Automated UTF-8
Settings and Additional Manual UTF-8 Settings in Chapter 8 for details.
For the ENOVIA Studio Modeling Platform, you need to manually add the following
setting to client enovia.ini files:
MX_CHARSET = UTF8
The MQL command set system decimal CHARACTER; is not supported for use
with databases other than Oracle. In these cases, the data is always stored with “.” but
displayed based on the desktop client’s MX_DECIMAL_SYMBOL setting, or in
Web-based implementations, the locale of the browser.
102
ENOVIA Live Collaboration Installation Guide
6
Installing a MySQL
Database
Installing the Database Software
This chapter describes setup requirements and guidelines for configuring MySQL Server
for use with ENOVIA Live Collaboration. MySQL Server and ENOVIA Live
Collaboration may be installed:
•
As a stand-alone system, where the client and server machines are the same. In this
case, MySQL Server software is installed, and there is no need to install additional
database client software since it is a subset of the server software.
•
In a networked environment, with a database server and multiple clients. In a
networked installation, you must install the MySQL Server software on the central
server, as well as the MySQL Server client software on each machine that will be
running ENOVIA Live Collaboration.
A corollary of this is the ENOVIA Live Collaboration Server, which is really just
another MySQL Server client. Web clients will then access data via the Web from the
server, without requiring further MySQL Server client software at the end user’s
machine.
103
Installing MySQL Server
Before installing the MySQL Server software, read this chapter in its entirety. Then use
the guidelines provided here in conjunction with the instructions provided by MySQL.
Supported platforms and software versions are shown in the Program Directory for the
given release. MySQL Server installation guides are available at http://www.mysql.com/.
104
ENOVIA Live Collaboration Installation Guide
Setting up MySQL Server for Use with ENOVIA
Live Collaboration
After you have installed the MySQL Server, you need to install the MySQL Server clients
or MySQL Connector/ODBC on all ENOVIA Live Collaboration client machines. For
information on installing the MySQL Connector/ODBC, see http://www.mysql.com/
products/connector/odbc/.
After you have installed the necessary MySQL Server clients, you need to create an
ODBC data source for use with ENOVIA Live Collaboration. The data source should be
created on the client machine where ENOVIA Live Collaboration is running. Use the
procedures below to create the data source.
The unixODBC package for Red Hat Enterprise Linux must be installed. You can select
this option when installing Red Hat Enterprise Linux.
Windows
Configuration
To Create an ODBC Data Source to use with ENOVIA Live Collaboration
1. Select Control Panel > Administrative Tools > Data Sources (ODBC).
2. In the ODBC Data Source Administrator panel, click the System DSN tab.
3. Click Add.
4. In the Create New DataSource page, select MySQL OBDC 5.16 Driver for the
driver.
5. Click Finish.
6. In the Connector/ODBC - Add Data Source Name page, provide the name of the
data source that ENOVIA Live Collaboration will use.
This name will become the connect string in the bootstrap file and should correspond
to the name of the MySQL database.
7. Provide a description of the data source.
8. Select the server with which ENOVIA Live Collaboration will communicate.
9. Specify the Login ID and the password.
The username and password you enter here should be the username and password in
the bootstrap file. They are set in MySQL Server when you create the database.
10. Select the default database from the drop down list for Database. This is the name of
the database created in the MySQL Server.
11. Click Test to test the connectivity with the database.
This is an optional but highly recommended step. Test the connectivity to make sure that
the data source is able to talk to the ENOVIA Live Collaboration database on the MySQL
Server instance. If the test fails, you will need to close out this administrator session and
create a new data source.
12. Click OK to exit the administrator.
Chapter 6: Installing a MySQL Database
105
A data source has now been created. ENOVIA Live Collaboration can use this data source
to talk to the database.
Linux
Configuration
To configure MySQL Server on Linux:
1. Use the MySQL Server distributed sample configuration file “my-large.cnf” as a
template to create my.cnf and make the following changes:
•
Enable all InnoDB settings. ENOVIA Live Collaboration requires InnoDB as the
MySQL Server storage engine.
•
Add or modify the following settings as shown below:
default-storage-engine=INNODB
lower-case-table-names = 1
default-character-set = utf8
max_allowed_packet = 4G
2. Restart the MySQL Server.
3. Create a datasource for ENOVIA Live Collaboration to use:
a ) Open the odbc.ini file in /etc. Create the file if it is not there. Add the
following lines:
myodbc5
= MyODBC 5.16 Driver DSN
[myodbc5]
Driver
= /usr/lib64/libmyodbc5.so
Description = Connector/ODBC 5.16 Driver DSN
SERVER
= localhost
PORT
=
USER
= root
Password
=
Database
= test
OPTION
= 5
SOCKET
=
b ) Create the datasource by adding a datasource section to the file similar to the
following.
[mxdb]
Description = MySQL ENOVIA Collaboration Platform
database
Driver
= MySQL
Server
= localhost
Port
= 3306
Database
= mxdb
4. After you have created the datasource, create a MySQL user who has unlimited
access to the database you created. To create a MySQL user:
a ) From MYSQL_HOME log into bin\mysql as:
Bin\mysql --user=root (to login without a root password)
106
ENOVIA Live Collaboration Installation Guide
Bin\mysql --user=root -p (to login with a password)
b ) To grant unlimited access to the user from his local machine, add the following:
grant all privileges on *.* to <user>@localhost identified by
‘<pass>’ with grant option;
In the following example, user Test is granted all privileges as a MySQL User.
grant all privileges on *.* to test@localhost identified by
'test' with grant option;
Query OK, 0 rows affected (0.08 sec)
To grant unlimited access to the user from a remote client, add the following:
grant all privileges on *.* to <user>@'%' identified by
‘<pass>’ with grant option;
5. Open the odbcinst.ini file located in /etc. Create the odbcinst.ini if it is
not there. Add the following lines.
[MySQL]
Description = ODBC for MySQL
Driver
= /usr/lib64/libmyodbc5.so
Setup
= /usr/lib64/libodbcmyS.so
Threading
= 0
FileUsage
= 0
6. Use the ODBC SQL utility to test that you can connect to the database using the
ODBC datasource. For example:
isql mxdb ENOVIA_USER ENOVIA_PASS
where:
ENOVIA_USER is the MySQL ENOVIA Live Collaboration user
ENOVIA_PASS is the MySQL ENOVIA Live Collaboration user password
7. Create the bootstrap file where:
user is the MySQL ENOVIA Live Collaboration user
password is the MySQL ENOVIA Live Collaboration user password
connectstring is the name you gave to the MySQL ENOVIA Live Collaboration in
your odbc.ini file. In this example it is mxdb.
Databasedriver is MySQL/ODBC.
Chapter 6: Installing a MySQL Database
107
Configuring MySQL Server
Important MySQL
Server Parameters
It is recommended that the following parameters use these minimum settings:
query_cache_size=8M
innodb_buffer_pool_size=500M
innodb_log_file_size=150M
innodb_log_buffer_size=4M
The default settings are listed when the following command is run in the MySQL Shell:
Shell>mysqld --verbose --help
See MySQL Server documentation for more details.
MySQL Server
with Linux
Environments
The TRADITIONAL parameter should be set when using MySQL Server with a Linux
environment. This parameter issues an error message when object names exceed 127
bytes. When this parameter is not set, objects with names that exceed 127 bytes can be
created without the error message. Additional characters from these names are then
removed at random. Set the TRADITIONAL parameter in my.cnf:
sql_mode = 'TRADITIONAL'
Maintaining the
Database
It is recommended to use the maintenance wizard to create a job to update statistics and
run DBCC checkdb regularly. Additionally, the main database log should be backed up or
truncated at an interval that is based on the log size, bandwidth and the maximum
allowable window of vulnerability.
Case Sensitivity
System Administrators can configure ENOVIA Live Collaboration for either
case-insensitive mode or case-sensitive mode when using an MySQL Server database. The
underlying database must be configured to support the desired sensitivity. By default,
MySQL Server is supported as case-insensitive. For information on configuring the
case-sensitivity, see “Case-Sensitive Mode” in the ENOVIA Studio Modeling Platform
MQL Guide.
In general, case sensitivity does not have an impact on ENOVIA Live Collaboration
performance. An exception may be queries using case-insensitive comparison operators
on a case-sensitive database.
108
ENOVIA Live Collaboration Installation Guide
Configuring Disk Layout
For optimal I/O performance, it is highly recommended that different database files be
separated onto separate disk drives with each disk drive having its own disk controller.
Separating database files minimizes the impact of physical I/O contention at the server
level. The following components should be placed on separate disk drives/arrays:
•
Application data (such as tables and indexes)
•
Database log files
•
Database temporary space (TempDB) used for sort and join operations
Database log files should be placed on a separate drive from data files, OS files, and
MySQL Server binary files. This is due to the fact that transaction log files are written
serially and using a dedicated disk controller allows the disk heads to stay in place for the
next write operation. You should use the fastest disks available for your log files. The
sizing of the log file should be mitigated frequently by transaction log backups to
minimize the file size. Additionally, transaction log backups should be part of the backup
process so your database can be restored to a point in time.
TempDB should be configured on a separate disk from the operating system and data files.
All the files in TempDB should be identical in size since MySQL Server uses a
proportional fill algorithm. Sizing of TempDB should be performed after a series of
exhaustive tests so that it has had a chance to grow to a meaningful size.
Selecting and
Formatting Drives
In addition to separating the different database files onto separate disk drives, the types of
drives used and their formatting is very important for performance. The following
recommendations should be used when selecting and formatting your drives:
•
Log activity is very write intensive operation which means the RAID format selection
for the drive holding the log files is very important. RAID0, RAID1, RAID0+1, or
RAID1+0 should be used for this drive. RAID5 should NOT be used.
•
RAID5 should NOT be used for the drive holding TempDB.
•
RAID5 can be used for application data.
For more information on RAID, see RAID Technology.
Chapter 6: Installing a MySQL Database
109
MySQL Server Limitations with ENOVIA Live
Collaboration
Some uncommonly used features are not supported on databases other than Oracle.
Limitations are noted within the context of the feature documentation. Some limitations
are listed below.
Difference in
Configuration
MySQL tables do not work exactly like tablespaces in other databases. You have two
configuration options: you can store all the data/indexes in one file (the default) or you can
store all the data/indexes in one file in its own table.
These are storage configuration options, not a DDL configuration option. Therefore, if a
tablespace is specified when creating an ENOVIA Live Collaboration vault with MySQL,
it is ignored. The configuration option set in MySQL is used.
To store all the data/indexes in one file per table, add the following to the MySQL
configuration file (my.cnf) in the [mysqld] section: innodb_file_per_table.
110
ENOVIA Live Collaboration Installation Guide
Localization Support
In order to support multiple languages, you must configure the ENOVIA Collaboration
Server for UTF-8.
In addition, you must use the default setting for the system decimal character. All floating
point numbers are stored in MySQL with “.” as the decimal character, and are displayed
based on the user’s operating system’s locale setting.
Chapter 6: Installing a MySQL Database
111
112
ENOVIA Live Collaboration Installation Guide
7
Installing the Studio
Modeling Platform
Overview
This chapter describes procedures for installing ENOVIA Studio Modeling Platform Rich
Clients software.
113
Installing ENOVIA Studio Modeling Platform on
UNIX/Linux
In order to install the ENOVIA Studio Modeling Platform on UNIX platforms, you must
perform the appropriate setup options from the Primary Setup Menu.
If you are upgrading from a prior version of Studio Modeling Platform, refer to the
Program Directory for additional instructions on installing the platform and upgrading
the schema.
If you want JPO support, you must first install Java (JRE, JDK, SDK). You should use the
same version as is used to write the JPOs.
Mounting the CD
If you are installing from CD, you must mount the CD drive so that the operating system
software can access the files contained on the disk.
To mount the CD-ROM
1. Insert the ENOVIA Live Collaboration CD-ROM for your platform into a local
CD-ROM drive. If a local drive is not available, consult your operating system
administrator's guide.
2. Create a “mount point” directory for the CD-ROM drive:
mkdir /cdrom
3. Mount the CD-ROM. Below are examples of the commands:
Installing the
Software on UNIX/
Linux
Hardware
Example of Command
SPARCstation
mount -F hsfs -r /dev/dsk/c0t6d4s0 /cdrom
IBM RS6000
mount -v cdrfs -r /dev/cd0 /cdrom
You can install the ENOVIA Studio Modeling Platform as the root user. If you are not root
user on AIX 5.1, you must install to a directory that does not have the sticky bit set. Only
root is permitted to turn the sticky bit on or off.
The ENOVIA Studio Modeling Platform Rich Clients Setup program can be run in one of
three modes—graphical, console, or silent:
114
•
To install the Studio Modeling Platform on UNIX/Linux in graphical mode, see
page 115.
•
To install the Studio Modeling Platform on UNIX/Linux in console mode, see
page 123.
•
To install the Studio Modeling Platform on UNIX/Linux in silent mode, page 127.
ENOVIA Live Collaboration Installation Guide
To install the Studio Modeling Platform on UNIX/Linux in graphical mode
1. Copy the <media_name>.tar.gz file, where <media_name> is the name of the media
for your platform (for example, ENOVIAStudioModelingPlatformRichClients-V6R2011x.RHEL64), from the CD or ENOVIA Download page to the
distribution directory.
2. Mount the CD-ROM drive. Refer to Mounting the CD in Chapter 7 if necessary.
3. Untar the <media_name>.tar.gz file to a temporary directory. Change to the
<media_name>/1/ subdirectory, and then run the Setup program in graphical
mode as follows:
% cd /<media_name>/1
% ./StartGUI.sh
The ENOVIA Studio Modeling Platform graphical Setup program starts.
Setup first allows you to enter the directory where the ENOVIA Studio Modeling
Platform software will be installed. On UNIX, the default installation path is empty.
Setup does not check for the existence of a previous version. The software must be
installed to a new location, and the installation directory may not include any spaces.
The installation directory must also be different from the distribution directory.
Chapter 7: Installing the Studio Modeling Platform
115
Click Browse and navigate to the desired directory or type in the path.
After specifying the directory, click Next.
116
ENOVIA Live Collaboration Installation Guide
4. Setup then lists the components that are packaged in the media. If multiple products
are shown, you can choose the ones you want to install, or All. As the DMP media
contains only a single product (ENOVIA Studio Modeling Platform Rich Clients),
you can ignore this step and go directly to the next panel by clicking Next.
5. Next, you must choose the specific Studio Modeling Platform components you wish
to install. The choices are:
•
Business—This component should be installed only on machines to be used by
Business Administrators.
•
Matrix—This component should be installed by all users who want to use
Matrix Navigator.
•
System—This component should be installed only on machines to be used by
System Administrators.
•
MQL—This component may be useful to most users, but certainly should be
installed on Business and System Administrators' machines.
A white check box indicates that an item is selected. All items are selected by default.
If you want to deselect any item, click inside its check box. Click Next.
Chapter 7: Installing the Studio Modeling Platform
117
6. Setup then asks you to enter the Java Home path. This is the location of your Java
Development Kit (JDK)
Incorrect Java home path selection may abort the installation without a message
indicating the reason for the failure. Failing to provide a 64-bit JDK for a 64-bit install
will also cause the installation to abort.
If you want to select a directory other than the default, click Browse and navigate to
the desired directory or type in the path.
118
ENOVIA Live Collaboration Installation Guide
Click Next.
7. Setup than asks you to choose a database type. Only those database types that are
supported on your particular platform are displayed. Depending on the OS, the
available database options could be any of the following:
•
Oracle, DB2, and MySQL
•
Oracle and DB2
•
Oracle only
If your platform supports multiple types of databases, Oracle is the default. A white
check box means that an item is selected. Select the desired database type.
Click Next.
Chapter 7: Installing the Studio Modeling Platform
119
8. If you selected Oracle, Setup asks for the location of the TNS_ADMIN directory,
which contains the tnsnames.ora file. This file contains the client-side network
configuration parameters required for Oracle. You can copy a tnsnames file from the
Oracle server and put it in the location specified here after the installation completes.
Setup cannot detect the correct Oracle path on UNIX. Incorrect Oracle path selection may
abort the installation without a message indicating the reason for the failure.
To install to a different location than the displayed default, click Browse and navigate
to the desired directory or type in the path.
120
ENOVIA Live Collaboration Installation Guide
Click Next.
9. If you selected Oracle, Setup then asks you to read and accept Oracle’s client license
agreement. Read the agreement, then click the “I have read and accept the license
terms” radio button. The Next button becomes active once you click this option.
Again, a white check box means that an item is selected. Click Next.
10. If you selected a different database type than Oracle, Setup displays a different set of
questions:
•
For DB2, you are asked to enter the DB2 product directory and the DB2 Instance
Name (the default on UNIX is "db2inst1").
•
For MySQL, you are asked to enter the directory where the ODBC initialization
files reside.
Chapter 7: Installing the Studio Modeling Platform
121
11. Setup then asks you to enter the directory of your connection file (MATRIX-R file). If
you want to choose a different location, click Browse and navigate to the desired
directory or type in the path. Click Next.
12. The next panel displays the installation summary, including the DMP installation
directory, selected product(s), components to be installed, Java Home path, database
type, TNS_ADMIN directory, and finally the location of your MATRIX-R connection
file. Review the contents and if you want to make any changes, click Back and make
the desired corrections. When you are satisfied with the information displayed, click
Install to start the installation.
122
ENOVIA Live Collaboration Installation Guide
Setup displays the current state of progress of the installation.
13. Once the installation is complete, Setup informs you that the “DMP - ENOVIA
Studio Modeling Platform Rich Clients” component has been successfully installed.
Click End to end the Setup program and dismiss the window.
To install the Studio Modeling Platform on UNIX/Linux in console mode
1. Copy the <media_name>.tar.gz file, where <media_name> is the name of the media
for your platform (for example, ENOVIAStudioModelingPlatformRichClients-V6R2011x.RHEL64), from the CD or ENOVIA Download page to the
distribution directory.
2. Mount the CD-ROM drive. Refer to Mounting the CD in Chapter 7 if necessary.
3. Untar the <media_name>.tar.gz file to a temporary directory. Change to the
<media_name>/1/ subdirectory, and then run the Setup program in console mode
as follows:
% cd /<media_name>/1
% ./StartTUI.sh
Chapter 7: Installing the Studio Modeling Platform
123
The ENOVIA Studio Modeling Platform console-based Setup program starts.
4. Setup displays the directory in which the software will be installed.
*****V6R2011x ENOVIA Studio Modeling Platform Choose Destination
Location*****
Setup will install V6R2011x ENOVIA Studio Modeling Platform in
the following directory:
Default []: /qausr/Enovia_V6R2011x/Studio
Setup does not check for the existence of a previous version. The software must be
installed to a new location, and the installation directory may not include any spaces.
The installation directory must also be different from the distribution directory.
Change the destination location if desired then press Enter, or simply press Enter to
accept the default and continue.
5. Setup asks you to select the software you want to install:
•
Click 1, or press Enter, to install the DMP—ENOVIA Studio Modeling Platform
Rich Clients software to the specified directory.
•
Click 2 to end selection and exit Setup.
The following is an example of the text that appears on the screen:
*****V6R2011x ENOVIA Studio Modeling Platform Select
Software*****
Click to select the components you want to install in
directory
/qausr/Enovia_V6R2011x/Studio.
You can choose not to install V6R2011x ENOVIA Studio
Modeling Platform by clicking Cancel to exit setup.
Space available: 26996065 Kb
Space required: 110641 Kb
-2 End selection
-1 [X] All
DMP - ENOVIA Studio Modeling Platform Rich Clients
Enter selection (default: Next) :
6. Setup then asks you to select the components you wish to install: Business Modeler,
Matrix, System Manager, and MQL. You can optionally install ENOVIA Live
Collaboration Matrix Navigator at the same time as ENOVIA Studio Modeling
Platform. Most clients have only Matrix Navigator and possibly MQL installed.
Business Administrators typically have all applications except System Manager,
while System Administrators have all but Business Modeler. To ensure database
integrity, the System Manager application should be installed in a secure environment
for the System Administrator’s use only.
*****V6R2011x ENOVIA Studio Modeling Platform Choose
Components*****
Select the components that you wish to install.
If the check box is unchecked, that component will not be
installed.
Click Next to continue the installation.
-2 End selection
1 [X] Business
2 [X] Matrix
124
ENOVIA Live Collaboration Installation Guide
3 [X] System
4 [X] MQL
Enter selection (default: Next) :
Setup creates the application script files for the selected Studio Modeling Platform
components in the application directory (i.e., Business, Matrix, System, or MQL).
These script files set up the environment before calling up the application executable.
In order to allow access to all the application script files created in this step, the
permissions of each file are changed to allow the owner rwx, the group rx, and others
rx. The executable binaries themselves are set to the permissions you specified.
7. Setup then asks you to select the Java Home path.
*****V6R2011x ENOVIA Studio Modeling Platform Select Java
Home*****
Please enter Java Home path
Default [/usr/java]: /usr/jdk/jdk1.6.0_19
Incorrect Java home path selection may abort the installation without a message
indicating the reason for the failure. Failing to provide a 64-bit JDK for a 64-bit install
will also cause the installation to abort.
The next panel asks you to choose the type of database you want to use. Depending on
the OS, the available database options could be any of the following:
•
Oracle, DB2, and MySQL
•
Oracle and DB2
•
Oracle only
If your platform supports multiple types of databases, Oracle is the default. Select the
desired database type.
*****V6R2011x ENOVIA Studio Modeling Platform Database
selection*****
Choose the database type:
-2 End selection
1 (*) Oracle
Enter selection (default Next):
•
If you select Oracle, proceed as follows:
a )Setup asks for the location of the TNS_ADMIN directory, which contains the
tnsnames.ora file. This file contains the client side network configuration
parameters required for Oracle. The directory where your tnsnames.ora file is
located is automatically filled with the path from the ORACLE_HOME
environment variable if it is set. For example:
/home/data/or11g/network/admin
You can copy a tnsnames file from the Oracle server and put it in the location
you specify after the installation completes.
*****V6R2011x ENOVIA Studio Modeling Platform Oracle
Server Connection Parameters*****
TNS_ADMIN directory
Default [/home/data/ora11g/network/admin]: /app/oracle/
product/11.2.0/network/admin
Chapter 7: Installing the Studio Modeling Platform
125
Setup cannot detect the correct Oracle path on UNIX. Incorrect Oracle path selection may
abort the installation without a message indicating the reason for the failure.
b )The Oracle license agreement is presented. Read the license agreement and
when you reach the end, respond to these prompts:
*****V6R2011x ENOVIA Studio Modeling Platform Oracle
Instant Client License*****
Be sure to carefully read and understand all the
rights and restrictions described
in the license terms. You must accept the license
terms before you can install the
software
1 [ ] I have read and accept the license terms
2 [ ] I do not accept the license terms
Enter your choice 1 or 2( if you choose 2, the
installer will end): 1
1 [X] I have read and accept the license terms
2 [ ] I do not accept the license terms
You must accept the Oracle license agreement to continue with the installation.
•
If your platform supports a database other than Oracle and you select DB2,
proceed as follows:
Enter the DB2 product directory [ ]?
Enter the DB2 Instance Name [db2inst1]?
You must enter the directory where DB2 is installed and the name of your DB2
instance. (The default instance name on UNIX is db2inst1, which you can
change.)
•
If your platform supports a database other than Oracle and you select MySQL,
proceed as follows:
Enter the directory where the ODBC initialization
files reside [ ]?
8. Setup then asks you to enter the directory of your connection (MATRIX-R) file.
Before using the Studio Modeling Platform, the system must have a connection
(bootstrap) file in the ENOVIAHOME directory. This file contains the information
necessary for ENOVIA Live Collaboration to locate and open the database.
*****V6R2011x ENOVIA Studio Modeling Platform Choose MatrixHome
Location*****
Please enter the directory of your connection file (MATRIX-R
file).
Default [/qausr/Enovia_V6R2011x/Studio]: /qausr/Enovia_V6R2011x
Moving logs from "/tmp/InstallData/log/CODE/solaris_a64/
ENOVIA_DMP.media-2010_08_12-104344/" to "/qausr/
Enovia_V6R2011x/Studio/InstallData/log/CODE/solaris_a64/
ENOVIA_DMP.media-2010_08_12-104344/"
If you want to choose a different location, click Browse and navigate to the desired
directory or type in the path. Click Next.
126
ENOVIA Live Collaboration Installation Guide
9. Setup is now ready to start copying the program files. If you want to change any
settings, type the letter 'b' (for Back) and press Enter, then make the desired
corrections. When you are satisfied with the displayed settings, press Enter to start
the installation.
*****V6R2011x ENOVIA Studio Modeling Platform Start Copying
Files*****
Setup has enough information to start copying the program files.
If you want to review or change any settings, click Back.
If you are satisfied with the settings, click Install to begin
copying files.
Files will be installed in the following directory: /qausr/
Enovia_V6R2011x/Studio
Selected products: All
Components to install: Business, Matrix, System, MQL
DSYInsControler.JavaPath.Resume(/usr/jdk/jdk1.6.0_19)
Database type: Oracle
TNS_ADMIN directory: /app/oracle/product/11.2.0/network/admin
MatrixHome Location: /qausr/Enovia_V6R2011x/Studio
Enter your choice (default Install):
CODE/solaris_a64/InsStudioOnly (589 b)
..............................
10. Once the installation is complete, Setup informs you that “DMP—ENOVIA Studio
Modeling Platform Rich Clients” has been successfully installed.
*****V6R2011x ENOVIA Studio Modeling Platform Setup
Complete*****
Setup has finished installing V6R2011x ENOVIA Studio Modeling
Platform on your computer.
DMP - ENOVIA Studio Modeling Platform Rich Clients: installed.
-2 End selection
Enter selection (default: Next) :
To install the Studio Modeling Platform on UNIX/Linux in silent mode
Silent mode requires completion of installation of Studio Modeling Platform in one of the
other two modes (graphical or console). After installation, the files needed for silent mode
are created under ENOVIAHOME/InstallData/. In this directory, there is a file called
UserIntentions.xml.
If you want to allow the installer to run on a non-empty directory, you must manually
modify the TARGET_PATH variable in the UserIntentions.xml and InstallData.xml files,
both of which are located in the InstallData subdirectory of the ENOVIAHOME directory.
1. Open a console window.
2. Change to the <media_name>/1/ subdirectory, and then run the Setup program in
silent mode as follows:
% cd /<media_name>/1
% ./StartTUI.sh --silent <full_path>/UserIntentions.xml
Chapter 7: Installing the Studio Modeling Platform
127
where <full_path> is the path to the InstallData/ subdirectory under the
ENOVIAHOME directory.
128
ENOVIA Live Collaboration Installation Guide
Installing ENOVIA Studio Modeling Platform on
Windows
The ENOVIA Studio Modeling Platform Rich Client is installed on Windows systems by
following the prompts displayed by the installation program, which is referred to in these
instructions as “Setup.” Use the guidelines below for assistance.
If you are upgrading from a prior version of Studio Modeling Platform, refer to the
Program Directory for additional instructions on installing the platform and upgrading
the schema.
If you want JPO support, you must first install Java (JRE, JDK, SDK). You should use the
same version as is used to write the JPOs.
Installing the
Software on
Windows
ENOVIA Studio Modeling Platform client software is distributed on one CD-ROM or
may be downloaded from the ENOVIA website as a tar file.
The ENOVIA Studio Modeling Platform Rich Clients Setup program can be run in one of
three modes—graphical, console, or silent:
•
To install the Studio Modeling Platform on Windows in graphical mode, see page 129.
•
To install the Studio Modeling Platform on Windows in console mode, see page 135.
•
To install the Studio Modeling Platform on Windows in silent mode, see page 141.
To install the Studio Modeling Platform on Windows in graphical mode
1. Log into Windows as a user with Administrator privileges.
2. Copy the <media_name>.zip file, where <media_name> is the name of the media for
your platform (for example, ENOVIAStudioModelingPlatformRichClients-V6R2011x.Windows64), from the CD or ENOVIA Download page to
a temporary directory.
Please note that when transferring .zip files from the internet, executable files may
silently be excluded when unzipping due to Windows security behaviour. To prevent
this from happening, before unzipping the file, right click in the file, select
Properties, then click Unblock.
3. Unzip the <media_name>.zip file to a temporary directory. Change to the
<media_name>\1\ subdirectory, and then run the Setup program in graphical
mode as follows:
> cd \<media_name>\1
> setupV6
The ENOVIA Studio Modeling Platform graphical Setup program starts.
Chapter 7: Installing the Studio Modeling Platform
129
4. Setup displays the directory where the ENOVIA Studio Modeling Platform software
will be installed. The default is C:\enoviaV6R2011x\studio. If you want to
choose a different location, click Browse and navigate to the desired directory or type
in the path. Click Next.
Setup does not check for the existence of a previous version. The software must be
installed to a new location, and the installation directory may not include any spaces.
The installation directory must also be different from the distribution directory.
5. Setup then lists the products that are packaged in the media. If multiple products are
shown, you can choose the ones you want to install, or all. As the DMP media
contains only a single product (ENOVIA Studio Modeling Platform Rich Clients),
you can ignore this step and go directly to the next panel by clicking Next.
6. Next, you must choose the specific Studio Modeling Platform components you wish
to install. The choices are:
130
•
Business—This component should be installed only on machines to be used by
Business Administrators.
•
Matrix—This component should be installed by all users who want to use
Matrix Navigator.
ENOVIA Live Collaboration Installation Guide
•
System—This component should be installed only on machines to be used by
System Administrators.
•
MQL—This component may be useful to most users, but certainly should be
installed on Business and System Administrators' machines.
Check the items you want to install. Click Next.
7. Setup then asks for the Java Home path. If you want to select a directory other than
the default, click Browse and navigate to the desired directory or type in the path.
Click Next.
Incorrect Java home path selection may abort the installation without a message
indicating the reason for the failure. Failing to provide a 64-bit JDK for a 64-bit install
will also cause the installation to abort.
Chapter 7: Installing the Studio Modeling Platform
131
The next panel asks you to choose the type of database you want to use. The options
are Oracle and Others. If your platform supports multiple types of databases, Oracle is
the default. If you want to use a different type of database than Oracle, select Others
and then select the desired database type. Click Next.
8. If you selected Oracle, Setup asks for the location of the TNS_ADMIN directory,
which contains the tnsnames.ora file. This file contains the client side network
configuration parameters required for Oracle. You can copy a tnsnames file from the
Oracle server and put it in the location you specify after the installation completes.
The default is c:\oracle\product\10g\NETWORK\ADMIN. To install to a
different location, click Browse and navigate to the desired directory or type in the
path. Click Next.
Incorrect Oracle path selection may abort the installation without a message indicating
the reason for the failure.
132
ENOVIA Live Collaboration Installation Guide
9. If you selected Oracle, you are asked to accept Oracle’s client license agreement.
Read the agreement, then click the “I have read and accept the license terms” radio
button. The Next button becomes active once you click this option. Click Next.
The following value is written to the HKEY_LOCAL_MACHINE/Software/Oracle
registry key:
•
TNS_ADMIN—location of your tnsnames.ora file
10. Setup then asks you to enter the directory of your connection file (MATRIX-R file).
The default is C:\enoviaV6R2011x\studio. If you want to choose a different
location, click Browse and navigate to the desired directory or type in the path. Click
Next.
11. The next panel displays the installation summary, including the DMP installation
directory, selected product(s), components to be installed, Java Home path, database
type, TNS_ADMIN directory, and finally the location of your MATRIX-R connection
file.
Chapter 7: Installing the Studio Modeling Platform
133
Review the contents and if you want to make any changes, click Back and make the
desired corrections. When you are satisfied with the information displayed, click
Install to start the installation.
The window displays the current state of progress of the installation.
134
ENOVIA Live Collaboration Installation Guide
Once the installation is complete, Setup informs you that the “DMP - ENOVIA
Studio Modeling Platform Rich Clients” component has been successfully installed.
Setup also creates program shortcuts under the "Dassault Systemes Software
V6R2011x" program folder on the Start menu.
To install the Studio Modeling Platform on Windows in console mode
1. Log into Windows as a user with Administrator privileges.
2. Copy the <media_name>.zip file, where <media_name> is the name of the media for
your platform (for example, ENOVIAStudioModelingPlatformRichClients-V6R2011x.Windows64), from the CD or ENOVIA Download page to
the distribution directory.
Please note that when transferring .zip files from the internet, executable files may
silently be excluded when unzipping due to Windows security behaviour. To prevent
this from happening, before unzipping the file, right click in the file, select
Properties, then click Unblock.
3. Unzip the <media_name>.zip file to a temporary directory. Change to the
<media_name>\1\ subdirectory, and then run the Setup script in console mode as
follows:
> cd \<media_name>\1
> StartTUI.bat
The ENOVIA Studio Modeling Platform text-based Setup program starts.
Chapter 7: Installing the Studio Modeling Platform
135
4. Setup opens a console window and displays the directory where the ENOVIA Studio
Modeling Platform software will be installed. The default is
C:\enoviaV6R2011x\studio.
Setup does not check for the existence of a previous version. The software must be
installed to a new location, and the installation directory may not include any spaces.
The installation directory must also be different from the distribution directory.
If you want to choose a different destination location, type in the desired path.
Press Enter.
5. Setup then asks you to confirm that you want to install ENOVIA Studio Modeling
Platform Rich Clients software.
Press Enter to continue with the installation.
6. Next, you must choose the specific Studio Modeling Platform components you wish
to install. The choices are:
136
•
1 for Business—This component should be installed only on machines to be used
by Business Administrators.
•
2 for Matrix—This component should be installed by all users who want to use
Matrix Navigator.
ENOVIA Live Collaboration Installation Guide
•
3 for System—This component should be installed only on machines to be used
by System Administrators.
•
4 for MQL—This component may be useful to most users, but certainly should
be installed on Business and System Administrators' machines.
All items are selected by default. If you want to install all items, simply press Enter.
If you want to choose three or fewer items, enter the number(s) of the item(s) you
want to install separated by spaces, then press Enter.
Setup redisplays the list with an X next to each item that you have selected.
Press Enter to confirm your selection.
7. Setup then asks for the Java Home path. If you want to select a directory other than
the default, type in the path.
Incorrect Java home path selection may abort the installation without a message
indicating the reason for the failure. Failing to provide a 64-bit JDK for a 64-bit install
will also cause the installation to abort.
Press Enter.
Chapter 7: Installing the Studio Modeling Platform
137
8. The next panel asks you to choose the type of database you want to use. The Windows
options are Oracle and Others. Oracle is the default. If you want to use a different type
of database than Oracle, select Others and then select the desired database type.
Press Enter.
9. If you selected Oracle, Setup asks for the location of the TNS_ADMIN directory,
which contains the tnsnames.ora file. This file contains the client side network
configuration parameters required for Oracle. You can copy a tnsnames file from the
Oracle server and put it in the location you specify after the installation completes.
The default is c:\oracle\product\10g\NETWORK\ADMIN\. If you want to
install to a different location, type in the path.
Incorrect Oracle path selection may abort the installation without a message indicating
the reason for the failure.
Press Enter.
10. If you selected Oracle, you are asked to read and accept Oracle’s client license
agreement. Read the agreement, then enter one of the following:
138
•
Type '1' if you accept the license terms
•
Type '2' if you do not accept the license terms. Setup will end if you choose this
option.
ENOVIA Live Collaboration Installation Guide
Press Enter.
The following value is written to the HKEY_LOCAL_MACHINE/Software/Oracle
registry key:
TNS_ADMIN-location of your tnsnames.ora file
11. Setup then asks you to enter the directory of your connection file (MATRIX-R file).
The default is C:\enoviaV6R2011x\studio. If you want to choose a different
location, type in the path.
Press Enter.
Chapter 7: Installing the Studio Modeling Platform
139
12. The next panel displays the installation summary, including the DMP installation
directory, selected product(s), components to be installed, Java Home path, database
type, TNS_ADMIN directory, and finally the location of your MATRIX-R connection
file.
Press Enter to start the installation.
The console window displays the current state of progress of the installation.
140
ENOVIA Live Collaboration Installation Guide
13. Once the installation is complete, Setup informs you that “DMP - ENOVIA Studio
Modeling Platform Rich Clients” has been successfully installed.
Press Enter to exit the Setup program and dismiss the console window.
To install the Studio Modeling Platform on Windows in silent mode
Silent mode requires completion of installation of Studio Modeling Platform in one of the
other two modes (graphical or console). After installation, the files needed for silent mode
are created under SERVER_INSTALL\InstallData\. In this directory, there is a file
called UserIntentions.xml.
If you want to allow the installer to run on a non-empty directory, you must manually
modify the TARGET_PATH variable in the UserIntentions.xml and InstallData.xml files,
both of which are located in the InstallData\ subdirectory of the ENOVIA_INSTALL
directory.
1. Log into Windows as a user with administrative privileges.
2. Open a console window.
3. Change to the <media_name>\1\ subdirectory and then run the Setup script as
follows:
> cd \<media_name>\1
> StartTUI.bat --silent <full_path>\UserIntentions.xml
where <full_path> is the path to the InstallData\ subdirectory under the
ENOVIA_INSTALL directory.
Chapter 7: Installing the Studio Modeling Platform
141
Exiting Setup
The application script path, ENOVIAHOME/scripts/ should be in your path (on
UNIX). The script files may be customized for personal preferences of fonts and colors.
Refer to Configuring ENOVIA Live Collaboration in Chapter 9 for more information.
Use the following commands to start ENOVIA Studio Modeling Platform applications:
%
%
%
%
142
matrix[cr] Starts the Matrix application.
business[cr] Starts the Business Modeler application.
mql[cr] Starts the MQL application.
system[cr] Starts the System Manager application.
ENOVIA Live Collaboration Installation Guide
Installing a New Version of Studio Modeling
Platform
When you want to install a new version of the ENOVIA Studio Modeling Platform, it may
or may not require a database (schema) upgrade. Refer to the Program Directory for the
given release for details. If no upgrade is necessary, proceed with installing the new
software on all client machines.
If a database upgrade is required, the following factors should be evaluated to determine
the scope of the upgrade project:
•
The type of upgrade.
You can perform an Upgrade Analysis to determine what changes will be made to the
database when the upgrade is performed. When extensive changes will be made
during an upgrade and you are using Oracle, some Oracle Configuration may be
required before a successful upgrade can be accomplished.
The Program Directory may also provide insight as to the extent of an upgrade.
•
The size of the database.
Very large databases generally require database tuning before an upgrade is
performed.
When a database is linked to another database via a loose coupling, you should remove
the remote (LCD) vault before running upgrade or you will receive an error. Once
upgrade is complete, you can restore the remote vaults.
When an upgrade is required, always refer to specific procedures provided in the Program
Directory for the new ENOVIA Live Collaboration release.
Using Lower
Version Software
after Upgrading
the Database
When there are a very large number of users, it may be difficult to accomplish the
installation of the new software for every client before performing an upgrade. For less
involved upgrades, when the extent of the schema change is the addition of new database
tables, ENOVIA Live Collaboration lets users connect to a higher revision database with
the lower revision Live Collaboration software. This lets System Administrators install the
new software on some clients, those that perhaps need access to the new features it
provides, then upgrade the database, and complete the software installation on the
remaining clients when there is time.
However, if existing tables are modified and their version number is changed, users are not
allowed to connect to the higher revision database with the lower revision Live
Collaboration software. The user receives a warning that they must install new software
and the application shuts down. Refer to the current Program Directory or perform an
Upgrade Analysis to find out the extent of the schema change the upgrade will perform.
Upgrade Analysis
You can use the validate upgrade command to report the actions that will be taken
by an upgrade without actually performing the upgrade. This allows System
Administrators to assess the scope and impact of the upgrade and determine what
Chapter 7: Installing the Studio Modeling Platform
143
preparatory actions might be appropriate, regarding scheduling and system resource
allocation.
You first install the new version of MQL that points to the existing database, and then run
the validate upgrade command against the old database.
Tables are processed for validate upgrade in the same order as they would be
processed by the actual upgrade: first the administration tables, then the vault/store tables.
A header is output to separate the administration upgrade steps from the vaults/stores
upgrade steps.
The MQL command is:
validate [level N] upgrade;
Where N is either 0 or 1, indicating the level of detail required:
•
level 0 lists all tables indicating which are changing and which are not, with old
and new version numbers. For example:
MQL<3>validate level 0 upgrade;
Administration tables
Unchanged: mxSchema version 1
Unchanged: mxLicense version 1
Unchanged: mxOid version 1
Unchanged: mxIcon version 1
Unchanged: mxDesc version 1
Upgrade: mxLattice version 1 -> 2
Unchanged: mxStore version 1
Upgrade: mxUser version 6 -> 9
...
Tables for vaults and stores
Unchanged: lxOid_%s version 1
Unchanged: lxImg_%s version 1
Unchanged: lxDesc_%s version 1
Unchanged: lxBO_%s version 7
Upgrade: lxRO_%s version 5 -> 8
Unchanged: lxString_%s version 1
Unchanged: lxReal_%s version 1
...
•
level 1 provides level 0 output but also includes the SQL command(s) that will be
run to perform each upgrade step. This is the default if the level clause is not included.
For example:
MQL<2>validate upgrade;
Administration tables
Unchanged: mxReportField version 1
Unchanged: mxForm version 1
Upgrade: mxField version 1 -> 2
update mxField set mxValue=null,mxLabel=null where
mxType=12
Unchanged: mxTTable version 1
Unchanged: mxQuery version 1
Unchanged: mxCue version 6
Unchanged: mxMail version 1
144
ENOVIA Live Collaboration Installation Guide
Upgrade: mxMailRcp version 1 -> 2
create index mxMailRcp_mxTo_Index on mxMailRcp(mxTo)
Upgrade: mxSet version 5 -> 6
update mxSet set mxKind=0 where mxKind is null
Unchanged: mxSetObj version 1
Unchanged: mxVer6 version 1
Upgrade: mxServer version 1 -> 7
alter table mxServer add mxTZ varchar2(64)
update mxMail set mxDate=mxDate-(-300/1440)
update lxBO_d1ff63d2 set lxCrDate=lxCrDate-(-300/1440)
update lxBO_d1ff63d2 set lxModDate=lxModDate-(-300/1440)
update lxBO_d2001d35 set lxCrDate=lxCrDate-(-300/1440)
...
Tables for vaults and stores
Unchanged: lxOid_%s version 1
Unchanged: lxImg_%s version 1
Unchanged: lxDesc_%s version 1
Unchanged: lxBO_%s version 7
Upgrade: lxRO_%s version 5 -> 8
update lxRO_d1ff63d2 set lxRelRul=1 where lxRelRul is null
update lxRO_d2001d35 set lxRelRul=1 where lxRelRul is null
No change to lxRO_d1ff63d2
No change to lxRO_d2001d35
create index lxRO_d1ff63d2_lxType_Index on
lxRO_d1ff63d2(lxType)
create index lxRO_d2001d35_lxType_Index on
lxRO_d2001d35(lxType)
...
These examples are from running validate upgrade with Matrix 8.0.2 software
against a version 6.0.1 database—a major upgrade.
Oracle
Configuration
ENOVIA Live Collaboration is a client to the database. For Oracle environments, all
upgrades involve adding or deleting tables, indexes, and constraints of one Oracle user
only. Sometimes the upgrade adds a column to a table or modifies the field contents of a
column. Each of these actions is bounded by a transaction across all vaults.
Adding or deleting tables does not require a lot of system resources. However, applying
indexes and constraints impact rollback segments, redo logs, and the Temp tablespace.
And modifying field content data can impact rollback segments and redo logs very
significantly.
When upgrading all databases, always follow these generic rules:
•
Always have a complete backup before upgrading.
Always run upgrade with sql tracing on. Use the following:
trace type sql filename sqlupgrade.log;
•
For upgrades that involve major data modifications, use the following additional
guidelines. When upgrading a small database (less than 25,000 business objects)
observing these rules should be sufficient:
•
Assign 3 large, online rollback segments and ensure that rollback tablespaces can
auto-extend, also ensuring that sufficient disk space is available. Turn off all other
rollback segments except system.
Chapter 7: Installing the Studio Modeling Platform
145
•
Ensure that Temp tablespace and datafiles can auto-extend.
•
Always use a minimum of 4 redo logs with a minimum of 10MB per redo log.
•
Modify init<SID>.ora, setting the Log_buffer to at least 16MB and
log_checkpoint_interval to a very large number (suggestion: 4096000) for
the upgrade only.
•
It is recommended that you first upgrade a test database in order to benchmark
success and elapsed time.
For major upgrades of large databases, also follow additional procedures provided in the
Program Directory included with the new ENOVIA Live Collaboration release.
Running the
Upgrade
Upgrades should only be performed when required. Higher version software will work
against a database that has not been upgraded. However, if a new feature requires a new
table, it may not be usable. Also, when new features of the higher version software are
used, the upgrade command may affect this data. Refer to the Program Directory for
specifics.
To verify that the upgrade was successful, make sure no errors resulted in running the
upgrade command. To see a complete list of tables, run validate upgrade after the
upgrade is complete.
To upgrade the database
1. Install the new Studio Modeling Platform software on all client machines. New
software clients will be able to run against older version databases.
mql< >
2. Modify the command line that starts MQL so that an error log is generated. For
example, on Windows, change the shortcut for MQL as follows:
ENOVIA_INSTALL\Mql.exe –stdout:c:\temp\upgrade.txt
-stderr:c:\temp\upgrade.err.
On UNIX, use this MQL command syntax to generate an error log:
mql INPUTFILE 2> LOGFILE
3. Set context to a System Administrator user (for example, creator). Enter the following
commands:
mql< > verbose on;
mql< > upgrade;
Older version clients will no longer be able to connect to the upgraded database.
4. Be sure the Live Collaboration server and Matrix Web Navigator software are
upgraded as well.
Upgrade Warnings
Upgrade may encounter errors on existing tables due to rollbacks (such as tablespace and
other admin related issues). While it is difficult to catch all possible errors and roll back up
to the last successful sql command, upgrade can look for certain expected error messages
that need to be ignored (and does so). If the error is one of the following, upgrade issues
warnings (and does not error) and updates the mxSchema table:
146
ENOVIA Live Collaboration Installation Guide
1. ORACLE
•
ORA-00955 (Name is already used by an existing object)
•
ORA-00275 (Such a referential constraint already exists)
•
ORA-02260 (Table can have only one primary key)
2. DB2
•
SQLSTATE=42710 (Object already exists)
•
SQLSTATE=01550 (Index already exists)
•
SQLSTATE=42889 (Cannot have more than one primary key)
However, if the error is something other than these valid error messages, upgrade will
error and the mxSchema will not get updated. The DBA needs to correct it on his/her own
and then re-run upgrade.
After the Upgrade
The upgrade command for V6R2011x creates tsee if there are duplicate objects in your
system, you can run:
If you found duplicates but don’t want to allow it, fix the objects (that is, rename so all are
unique) before running upgrade TNR. To m:
upgrade TNR [notglobal] [tablespace DBTABLE] [indexspace
DBINDEX];
Only use notglobal if you found duplicate objects in the database and want to allow
duplicate TNRs in different vaults.
Include tablespace and indexspace if you want a separate space for the mxTNR table and
its indices. This is recommended. upgrade TNR may take an hour or more to finish.
Index analysis
Once the database has been fully upgraded, runvalidate index;
this is a time-consuming operation (approximately 30 mins per 10 million objects), but
can be interrupted (killed) and restarted to pick up from where it left off. If not run, these
ids are generated upon request, so VPM integrations won’t fail, but running the command
now could improve performance of all VPM operations.
Physical and logical IDs are not required for other collaborative business process products.
If you do choose to run this command, you should use a separate tablespace and
indexspace for the new MxIdent table. For example:
set system tablespace DBTABLESPACE;
set system indexspace DBINDEXSPACE;
upgrade physicalid;
Chapter 7: Installing the Studio Modeling Platform
147
Uninstalling ENOVIA Studio Modeling Platform
on UNIX/Linux
To uninstall the ENOVIA Studio Modeling Platform software on UNIX/Linux
1. Delete the ENOVIAHOME directory.
Uninstalling ENOVIA Studio Modeling Platform
on Windows
To uninstall the ENOVIA Studio Modeling Platform software on Windows
1. Remove the ENOVIA Studio Modeling Platform-related shortcuts from the Start >
All Programs > Dassault Systemes Software V6R2011x menu.
2. Delete the ENOVIA_INSTALL directory.
148
ENOVIA Live Collaboration Installation Guide
8
Installing the Live
Collaboration Server
Overview
The Live Collaboration Server tier includes:
•
A third party Web or Application Server
•
The Live Collaboration Kernel
•
The mid-tier RMI Live Collaboration Server
The Full Text Search Server with Autonomy has its own installer. Refer to “Installing
Advanced Search” under Unified Live Collaboration > Live Collaboration Platform >
Full Text Search Server with Autonomy in the ENOVIA online documentation for details.
Web or
Application Server
Initially, the term “Web server” was used to mean an HTTP server that simply managed
Web page requests from the browser and delivered HTML documents, or Web pages, in
response. As the technology progressed, Web servers began to be used for server-side
processing in the form of CGI scripts and Active Server Pages (ASPs), which provided
functions such as database searching. The next-generation, Java-based Web servers of
today use Java servlets and JavaServer Pages (JSPs) to perform the processing, but also
support CGI and ASPs. JSP and servlet-enabled Web servers are sometimes referred to as
Application Servers.
149
The term Application Server has also evolved. In a client/server environment, an
Application Server could have been added to perform business logic in a middle tier.
Today, the term Application Server is used to mean the server that sits along with or
between the Web server and the databases and legacy applications, enabling a
browser-based application to link to multiple sources of information via servlets, JSPs,
and Enterprise JavaBeans (EJBs).
Many Application Servers are also Web servers; however, in large sites, separate
Application Servers may be linked to one or more Web servers to provide load balancing
and fault tolerance for high-volume traffic. For smaller Web sites, the Application Server
may be used as the Web server.
When running MQL from CGI, you must add the HOME parameter to the MQL scripts.
The value for the HOME parameter should be the home directory of the user running this
session. It can be any valid path. For example, enovia HOME/.
Live Collaboration
Kernel
The Live Collaboration Kernel includes:
•
dynamic modeling
•
business information services (lifecycle, workflow, association, replication, content
management, etc.)
•
FlashDB, providing the high performance method of moving data from the storage
tier into the mid-tier, while maintaining a flat memory profile
•
Adaplets, for managing connected systems
•
stores, for connecting to various file servers
The kernel is packaged as a shared library (on UNIX) or .dll (on Windows) and provided
when the ENOVIA Live Collaboration Server is installed.
Java/RMI Server
The ENOVIA Live Collaboration Server is a Java/RMI server program that provides
communication services between Web Application Servers and ENOVIA Live
Collaboration. In fact, Business Process Services becomes available inside of these
Internet servers, via the Live Collaboration kernel.
When the Collaboration Server is installed, the following are available to the Application
Server:
•
Live Collaboration kernel (library file)
•
web.xml file
•
ENOVIA Live Collaboration servlets (in eMatrixServletRMI.jar)
•
ENOVIA Live Collaboration Studio Customization Toolkit classes (in
eMatrixServletRMI.jar)
•
the standard RMI required classes (in eMatrixServletRMI.jar)
•
MQL is included.
When the Web server receives an XML packet, it uses the ENOVIA XML servlet to
communicate with the mid-tier server. HTML applications can use JavaServer Pages that
include Java code which can in turn call the servlets. Both the servlets and the JSPs use the
Studio Customization Toolkit classes to communicate with the server and therefore the
Live Collaboration kernel.
150
ENOVIA Live Collaboration Installation Guide
The web.xml file is configured to let the server know the class paths for the servlets as well
as other configuration settings. It is installed with the server and is used by the servlets.
Refer to Web.xml in Chapter 10 for more information.
In the sections that follow, more information on the ENOVIA Live Collaboration Server is
provided, as well as installation instructions. Refer also to the Program Directory for the
given release before installing.
RIP: RMI
In-process
RMI In-process (RIP) is the default installation option for the ENOVIA Live Collaboration
Server that allows RMI to run within the ENOVIA Live Collaboration kernel.
The recommended configuration for RMI is RIP mode.
RMI In-process uses the ENOVIA Live Collaboration Server implementation classes, but
instead of going through a registry and invoking a separate process, the server classes are
loaded directly into the client’s address space. Instead of communicating with the
ENOVIA Live Collaboration Server, ENOVIA Live Collaboration actually links with it,
removing the RMI marshalling/unmarshalling and the need for the additional RMI
(daemon) process. Database communication is directly between the ENOVIA client and
the database. This should be notably more efficient in situations that involve processing an
extremely large number of transactions.
The other configuration option, RMI Gateway provides load balancing by using multiple
ENOVIA Live Collaboration Server processes to handle requests. Since RIP does not use
multiple ENOVIA Live Collaboration Servers, load balancing can be accomplished by
running multiple Application Servers for each CPU.
The key to a successful deployment is access to the classes and properties required. For
RMI RIP mode, this is easily handled by the J2EE archive file since the Application
Server, the ENOVIA Live Collaboration Server, and the Live Collaboration kernel all
share a JVM.
For non-RIP RMI, the correct classpath is defined at runtime by rmireg, using
ComputedClassPath. Refer to the description of MX_CLASSPATH in Configuring
ENOVIA Live Collaboration in Chapter 9 for details. During J2EE deployment with
non-RIP RMI, all of the jars in the war file are copied to SERVERHOME/<platform>/
docs/javaserver/ (UNIX) or SERVER_INSTALL\intel_a\docs\javaserver\
(Windows). The framework.properties file is copied to SERVERHOME/managed/
properties/ (UNIX) or SERVER_INSTALL\managed\properties\ (Windows).
This is to ensure that JPOs have access to them.
RMI Gateway
RMI Gateway is an option that offers load balancing by using multiple ENOVIA Live
Collaboration Server processes to handle requests. In the simplest case, there is a single
instance of the RMI Gateway, and at least two instances of the ENOVIA Live
Collaboration Server, eMatrixServletRMI.jar. The RMI Gateway and ENOVIA Live
Collaboration Servers each run inside a Java2 activation daemon and have access to their
own Live Collaboration kernel. For example, you can set up the Gateway and two (or
more) servers with the RMI Gateway evenly distributing requests to the other processes. In
this case, once the request is passed, the client deals directly with the secondary server,
reducing the load on the Gateway.
Chapter 8: Installing the Live Collaboration Server
151
Optionally, instead of using a round-robin algorithm, one server may handle all requests
for a certain amount of time or for a certain number of operations. It would then perform
an implied quiesce function (that is, finish up currently running threads, complete RMI
garbage collection, and then shut itself down). At the same time, the other server begins to
handle new requests, providing uninterrupted, seamless request handling.
The client’s host URL should reference the port where the RMI Gateway is registered, the
default being 1099.
The default configuration of RMI Gateway distributes requests between servers in a
round-robin fashion. To configure the Gateway to use the quiesce function, refer to
Configuring the Gateway for Quiesce on Windows.
152
ENOVIA Live Collaboration Installation Guide
Installing a Web or Application Server
The ENOVIA Live Collaboration Server uses J2EE/RMI technology and works in
conjunction with a Web Application Server. For more information including configuration
details, refer to:
•
For WebLogic http://edocs.bea.com/common/docs100/install/index.html
•
For WebSphere http://www-3.ibm.com/software/info1/websphere/index.jsp
•
For Sun Java Server http://docs.sun.com/app/docs/doc/819-3657
•
For Tomcat http://tomcat.apache.org/tomcat-6.0-doc/index.html
ENOVIA supports only those Application Server versions listed in “Prerequisites” in the
Program Directory for a given release. If a newer version is available that is not explicitly
stated as qualified for ENOVIA Live Collaboration, it is highly recommended NOT to use
it unless otherwise stated for that specific platform.
If a qualified version includes a patch level (fix level, MP, etc.), it is highly recommended
to use this patch level although it is possible to use a higher patch level than the qualified
level. A patch level older than the level qualified should NOT be used. Higher patch levels
can be used since exact patch levels may not be available at the time of deployment.
Higher patch levels can improve security and/or performance and may be beneficial.
While most patch levels do not impact the functionality or stability of the system, it is
possible for a higher patch level to cause interoperability issues. If this is the case,
ENOVIA may recommend installing a higher patch level or reverting back to the qualified
patch level.
After every type of system change, such as a JVM patch or Application Server service pack
installation, it is highly recommended to check all configuration files (such as jvm.cfg,
rmireg.sh, etc.) to ensure that no important settings were changed.
There are different levels of servers that may be used for internet access, and each may be
used with the ENOVIA Live Collaboration Server as follows:
1. Simple Web server
When using the ENOVIA Live Collaboration Server, a simple Web server may be
used for custom Java client applications written with the Studio Customization
Toolkit that are not JSP-based. One or several simple Web servers may also be used to
front-end an enterprise’s Website. Refer to Optional Static Content Server for more
information.
2. A JSP/servlet-enabled Web or Application Server
When servlets and JSP applications will be used, the Web server must be JSP- and
servlet- enabled. All ENOVIA products require at least this level of Web server.
ENOVIA-specific configuration is required.
This section describes how to set up and configure the qualified Application Servers
required for level 2 use. The main tasks involved in installing and configuring a Web or
Application Server are:
1. Install a supported Web server using its installation guide and the guidance provided
below. Most supported Application Servers include a Java Development Kit, which
can be used by ENOVIA Live Collaboration as well, but in some cases you’ll need to
install it.
Chapter 8: Installing the Live Collaboration Server
153
2. Configure the Application Server as required.
3. Make sure the Application Server is operational before installing the Live
Collaboration Server.
4. After confirming that the Application Server is operational, you can install the
ENOVIA Live Collaboration Server by following the instructions in Preparing to
Install the ENOVIA Live Collaboration Server.
Since FCS and PDF rendering functions require access to Live Collaboration native code
libraries, you must install the ENOVIA Live Collaboration Server on each Application
Server that will be used for ENOVIA Live Collaboration access.
Tuning Pool Sizes
When many (i.e., 20 or more) users try to check in files simultaneously, FCS errors can
occur. To avoid this, be sure to tune pool sizes (e.g., for JDBC connections, Stateless
Session EJBs, and MDBs) to maximize concurrency for the expected thread utilization.
Sun Java System Application Server. Refer to http://docs.sun.com/app/docs/doc/
819-3681/abefm?l=En&a=view.
Tomcat. Refer to http://tomcat.apache.org/tomcat-6.0-doc/config/executor.html.
WebLogic. Refer to the following sources:
•
For WebLogic Server releases 9.0 and higher—A server instance uses a self-tuned
thread pool. The best way to determine the appropriate pool size is to monitor the
pool’s current size, shrink counts, grow counts, and wait counts. See Thread
Management in the WebLogic documentation. Tuning MDBs are a special case. See
Chapter 11, Tuning Message-Driven Beans, in the WebLogic documentation.
•
For releases prior to WebLogic Server 9.0—In general, the number of connections
should equal the number of threads that are expected to be required to process the
requests handled by the pool. The most effective way to ensure the right pool size is to
monitor it, and to make sure it does not shrink and grow. See How to Enable the
WebLogic 8.1 Thread Pool Model in the WebLogic documentation.
WebSphere. Refer to http://publib.boulder.ibm.com/infocenter/wasinfo/v5r1//
index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/uejb_rthrd.html.
Java Development
Kit
A version of the JDK is required for use with JPOs, qualified Application Servers, the
ENOVIA Live Collaboration Server, and the Studio Customization Toolkit. For complete
details, see the Program Directory for the given release.
Do not install the JDK to a directory with spaces in the name, or you will be unable to
install Live Collaboration software.
You can test the Java installation by opening the
JDK_INSTALL\demo\applets\nervoustextexample1.html. If the text is “dancing” in a
Web browser window, the installation is OK.
154
ENOVIA Live Collaboration Installation Guide
Java options
When the ENOVIA Live Collaboration Server is installed, recommended Java options are
set by default. Refer to JVM Options for details.
JDK notes
A version of the Java Development Kit (JDK) is required for use with JPOs, qualified
Application Servers, the ENOVIA Live Collaboration Server, and the Studio
Customization Toolkit. Each UNIX O/S vendor has their own version of the JDK, and Sun
and IBM, as well as BEA have JDKs for Windows. WebLogic, WebSphere, and the Sun
Java Live Collaboration Server all include a JDK when they are installed. In most cases,
Sun’s JDK should be used. The exceptions are as follows:
•
The JDK embedded with the WebSphere Application Server (on AIX and Windows,
IBM's JDK is included, on Solaris, Sun's JDK is included) can only be used to run
ENOVIA (CBP and VPM) applications deployed by this Application Server. This
JDK cannot be used to run other non-Application Server based ENOVIA tools/
applications (MQL command line, etc.).
To support this requirement, you must specify the operating system level JDK (and
not the JDK embedded with WebSphere) during ENOVIA Live Collaboration Server
installation. This JDK will be used to run non-Application Server based applications
while the JDK embedded with WebSphere will be used to run the applications
deployed by it. The operating system JDK you specify must be supported by
ENOVIA and correspond to the JDK requirement listed in “Prerequisites” in the
Program Directory for the given release.
•
When using WebLogic on AIX, use IBM’s JDK.
•
When using WebLogic on Windows the embedded JDK is JRockit. This means if you
are also running a stand-alone Live Collaboration Server, you must configure that
Live Collaboration Server to use the JRockit JDK and not the Sun JDK.
Sun’s JDK should be used with all other Application Servers.
•
If the Live Collaboration Server’s first connection to the database fails, you should be
suspicious of the JDK version. Use the java -version command and if it
indicates a JDK mismatch, install and point to the correct vendor’s JDK.
•
Programs (JPOs or custom applications) that will be run through the Live
Collaboration Server must be written with the same (or lower) version of the JDK as
the Application Server uses. Ideally in a production environment, all components
(application and Live Collaboration Server, as well as Studio Modeling Platform
clients) will use the same version of the JDK.
•
When using the ENOVIA Live Collaboration Server in RIP mode, the same instance
of Java used by the Application Server is used by the Live Collaboration Server. Use
the path to this Java during Live Collaboration Server installation). If, however, you
are using RMI Gateway configuration, you can optionally install and use a separate
JDK instance. You may want to do so if your JPOs, beans, or custom JSPs rely on a
newer version of the JDK. You must also install the JDK if you are installing and
using a Tomcat server, since one is not bundled with it.
Supported Application Servers and JDKs listed are for both 32-bit and 64-bit versions.
Chapter 8: Installing the Live Collaboration Server
155
Installing a
WebLogic Server
WebLogic Server and WebLogic Express, from BEA Systems, are both supported for use
with the ENOVIA Live Collaboration Server as outlined in the Program Directory for the
given release.
BEA’s WebLogic Server implements the Java 2 Enterprise Edition (J2EE™) platform
specification, including Servlets, Java Server Pages (JSP), Enterprise JavaBeans (EJB™),
Java Messaging Services (JMS), and other platform services. Additionally, you can deploy
certain ENOVIA components as J2EE-compliant using WebLogic. For more information
about J2EE deployment and ENOVIA, see Chapter 10, Deploying J2EE.
Install WebLogic as documented in WebLogic’s installation guide, available online at
http://e-docs.bea.com/. Follow one of the procedures for installation, as well as for System
Administration. If installing on Windows, you can choose to install as a service.
The Application Server’s embedded JDK must be 64-bit in order to run with 64-bit
ENOVIA software.
Changing the server’s port number
By default, WebLogic listens for HTTP requests on port 7001. To change this default,
change the following setting in the WebLogic startup script (startWebLogic.cmd for
Windows or startWebLogic.sh for UNIX):
-Dweblogic.system.listenPort=NEW_PORT_NUMBER
NEW_PORT_NUMBER should be the port you wish to use.
Java setting: -XX:MaxPermSize
This setting is the amount of memory set aside for loading all necessary classes that are
needed by an application. If using the Live Collaboration Server in RIP mode on Windows
with WebLogic, you will need to set MaxPermSize=120M (at least). Otherwise you
may see java.lang.OutOfMemoryError after about 2 hours of run time. If the
problem persists, increase the setting to 256m.
Configuring for large FCS synchronization operations
If WebLogic is used with an FCS performing large synchronization operations of 1500
files or more, the following configuration is requred:
1. From the admin console, navigate to Server > Protocols and select the http tab where
you can configure http servlets attributes.
2. Verify that the Max Post Size attribute is set to at least 5mb (5242880 bytes). You can
choose to leave the default value of -1 (unlimited).
3. Verify that the HTPP Max Message Size advanced attribute is set to 1 (unlimited)
since there is no limit on the data stream size created or exchanged by ENOVIA
applications.
4. Save any changes.
156
ENOVIA Live Collaboration Installation Guide
Installing
WebSphere
WebSphere can be used with the ENOVIA Live Collaboration Server as outlined in the
Program Directory for the given release. When you install Websphere you can also install
the IBM HTTP Web server, or use a proxy server as a front end. IBM’s JDK is also silently
installed on AIX and Windows. Follow the installation instructions found at http://
publib.boulder.ibm.com/infocenter/wasinfo/index.jsp for your version and platform.
IBM’s WebSphere Application Server implements the Java 2 Enterprise Edition (J2EE™)
platform specification, including Servlets, Java Server Pages (JSP), Enterprise JavaBeans
(EJB™), Java Messaging Services (JMS), and other platform services. Additionally, you
can deploy certain ENOVIA components as J2EE-compliant using WebSphere. For more
information about J2EE deployment and ENOVIA, see Chapter 10, Deploying J2EE.
Web Navigator checkins with WebSphere and its http server
When using WebSphere with its http webserver (on port 80 vs. connecting directly to the
Application Server on port 9080), errors may occur when checking in medium sized files
(12m) with Web Navigator. (“Socket write error” or “413 Request Entity Too Large”
errors). These errors indicate that you must configure the PostSizeLimit to -1 in the
plugin-cfg.xml file. You must then regenerate the plugin and restart the appserver.
For more information see:
http://publib.boulder.ibm.com/infocenter/weahelp/index.jsp?topic=/
com.ibm.websphere.wea.doc/cfg_post_limit.html
FCS file transfer timeout
On WebSphere if checkin/checkout to FCS takes longer than the timeout configured on
the MCS (Main Collaboration Server) Application Server, the operation may result in a
timeout error and the checkin will not be successful.
ENOVIA tests show that files up to 1GB (a fairly large file) can be checked in/out in less
than fifteen minutes to an FCS server accessible on the same LAN network as the client,
so this is unlikely to be a problem with a typical session timeout of 20-30 minutes.
To calculate the relationship between the file size, file transfer rate, and session timeout,
the following calculation can be used:
Total File Transfer Time = FileTransferRate * FileSize
In order for Total File Transfer Time to be less than the Session Timeout, it is necessary
for:
SessionTimeout > Transfer Rate * FileSize
Therefore, for a given SessionTimeout, the largest FileSize that could be transferred would
be:
FileSize = SessionTimeout/FileTransferRate.
Configuring for large FCS synchronization operations
If WebSphere is used with an FCS performing large synchronization operations of 1500
files or more, the PostSizeLimitParameter attribute for the node(s) that host the FCS must
be -1 (unlimited) or at least 5mb (5242880 bytes). WebSphere is usually deployed behind
one or more web servers (such as Apache) and is connected through HTTP transport
Chapter 8: Installing the Live Collaboration Server
157
plugins. The HTTP transport plugins configuration file, plugin-cfg.xml, contains the
PostSizeLimitParameter attribute for each server cluster node.
Promoting tasks in ENOVIA applications
On AIX with Websphere, the -Xmso1152k variable must be added to the JVM
configuration for Websphere to prevent it from possibly crashing when certain tasks are
promoted. This variable can be added through the WebSphere server console or directly to
the server.xml file. The full JVM argument should look like this:
"-Xmso1152k -Xss1024k -Xms640m -Xmx640m -Dclient.encoding.override=UTF-8
-Ddefault.client.encoding=UTF-8 -Dfile.encoding=UTF-8"
UTF-8 settings are included in this argument. If you are not using UTF-8, these settings
are not required.
Installing the Sun
Java System
Application Server
The Sun Java System Application Server (previously Sun ONE/iPlanet) is available for
use with the ENOVIA Live Collaboration Server as outlined in the Program Directory for
the given release.
To install the Sun Java System Application Server, see the appropriate Sun documentation
at http://docs.sun.com/app/docs/doc/819-3657.
StackSize
After installing, increase the StackSize. For Version 9, edit .../SUNWappserver/
domains/domain1/config/domain.xml to include the stack size as shown below.
<jvm-options>-Xmx512m</jvm-options>
<jvm-options>-Xms512m</jvm-options>
<jvm-options>-XX:NewSize=256m</jvm-options>
<jvm-options>-XX:MaxNewSize=256m</jvm-options>
<jvm-options>-XX:SurvivorRatio=2</jvm-options>
<jvm-options>-XX:MaxPermSize=128m</jvm-options>
<jvm-options>-XX:PermSize=32m</jvm-options>
<jvm-options>-Xss1024k</jvm-options>
<jvm-options>-Dfile.encoding.override=UTF-8 -Dfile.encoding=UTF-8
-Dclient.encoding.override=UTF-8</jvm-options>
RIP settings
If you are using RIP, the following permissions need to be provided in .../
SUNWappserver/domains/domain1/config/server.policy:
// Basic set of required permissions granted to
grant {
permission java.lang.RuntimePermission
permission java.lang.RuntimePermission
permission java.net.SocketPermission
permission java.io.FilePermission
"read,write,delete,execute";
permission java.util.PropertyPermission
158
all remaining code
"loadLibrary.*";
"queuePrintJob";
"*", "connect";
"<<ALL FILES>>",
"*", "read,write";
ENOVIA Live Collaboration Installation Guide
permission
permission
permission
permission
java.lang.RuntimePermission "createClassLoader";
java.lang.RuntimePermission "getClassLoader";
java.lang.RuntimePermission "modifyThreadGroup";
java.lang.RuntimePermission "setIO";
};
LD_LIBRARY_PATH update
The following change is required in the asadmin startup script before you can start the
Live Collaboration Server and deploy the .war file with Sun Java System 9.1:
Change:
LD_LIBRARY_PATH="$AS_NSS":"$AS_INSTALL/
lib":"$AS_ICU_LIB":"$LD_LIBRARY_PATH";export LD_LIBRARY_PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LD_LIBRARY_ENOVIA_PATH
To:
LD_LIBRARY_PATH="$AS_NSS":"$AS_INSTALL/
lib":"$AS_ICU_LIB":LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LD_LIBRARY_
ENOVIA_PATH
Installing Tomcat
To install the Tomcat Application Server, see the appropriate Tomcat documentation. For
instructions about integrating Tomcat with Apache, see http://www.serverwatch.com/
tutorials/article.php/10825_2203891_2.
Tomcat does not include a JDK, so you must install it before installing Tomcat. ENOVIA
supports Tomcat on the platforms and with the JDK as outlined in the Program Directory
for the given release.
Tomcat 5.5 initializes via the Tomcat service even if you run it from the start command.
This means that the Server Startup Configuration Checker will give Critical warnings on
Java settings, that may not be real issues, as described in mxAudit.log File. Use the Tomcat
log to verify these settings are correct and disregard the warnings.
On AIX, before starting Tomcat you need to edit the file setclasspath.sh in the bin
directory of Tomcat, by commenting out (or deleting) the following 2 lines (the first and
the third, leave the CLASSPATH line):
#if [ "$1" = "debug" -o "$1" = "javac" ] ; then
CLASSPATH="$JAVA_HOME"/lib/tools.jar
#fi
Configuring for large FCS synchronization operations
If Tomcat is used with an FCS performing large synchronization operations of 1500 files
or more, you must add or modify the maxPostSize attribute value to at least 5mb (5242880
bytes). Add or modify the attribute in the <Connector> section of the server.xml file
(located in TOMCAT_HOME/conf/server.xml) for the FCS:
<Connector port="9090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8445"
maxPostSize="5242880" />
Chapter 8: Installing the Live Collaboration Server
159
Optional Static
Content Server
It is recommended that a static content server (a “reverse hosting server”) is implemented
for a production instance of the ENOVIA Live Collaboration Server. This is a simple Web
server front end (using products such as Apache or IIS) that is configured to serve all static
content and then pass any dynamic requests on to the Application Server. This is
especially crucial if there is WAN access to the ENOVIA products.
The importance of a front-end web reverse hosting server can be shown by breaking down
the requests from frequently used application pages. For example, when logging into an
ENOVIA product from emxLogin.jsp, there are about 11 requests for static content
(depending on the version used) and only 1 request for dynamic content generated.
Loading or refreshing the primary (content) page of the application (emxNavigator.jsp)
results in approximately 7 HTTP requests for dynamic content and the actual number of
requests for static content depends upon the browser configuration for browser caching:
•
“Automatic” browser caching generates about 10 requests
•
“Automatic” browser caching on startup generates about 52 requests
•
“Every page” browser caching generates about 164 requests
The default is Automatic, however, previous versions of ENOVIA products recommended
“Every page” to ensure that the newest version of any page was used. The Automatic
setting is the recommendation for Version 10.7 and higher.
Refer to Using a Web server in addition to an application server for more information.
160
ENOVIA Live Collaboration Installation Guide
Using a UNIX or Linux Live Collaboration
Server without a Monitor
If you want to run the ENOVIA Live Collaboration Server on UNIX or Linux on a system
that does not have a display, at a minimum you need to install an X-Windows server to
simulate a display. You may also need to install X-Windows if you're using a proxy server
and get the following errors:
java.lang.InternalError: Can't connect to X11 window server
using ':0.0' as the value of the DISPLAY variable
java.lang.NoClassDefFoundError
Some “headless” systems don’t even have a graphics card; in this case, you would need an
X virtual frame buffer (Xvfb), which is an X server that does not rely on any display
hardware or input devices for the simulation. It is an included component of X11R6, but
not in earlier X releases. Be sure to use a version of X server that includes Xvfb.
If you want to use Image Caching in ENOVIA products or custom applications with
X-Windows only (not Xvbf, and you have a graphics card but no monitor), you’ll need to
set the -headless java option in mxEnv.sh and rmireg.sh files as follows:
1. Add the “-Djava.awt.headless=true” option to MX_JAVA_OPTIONS in the mxEnv.sh
file. For example:
MX_JAVA_OPTIONS="-Xss512k [-Xmso768k (IBM JDK on AIX)]
-Xms1024m -Xmx1024m -XX:NewSize=128m -XX:MaxNewSize=128m
-XX:MaxPermSize=128m -XX:SurvivorRatio=3
-Djava.awt.headless=true"
2. Add the “-Djava.awt.headless=true” option to RMID_JAVA_OPTIONS in the
rmireg.sh file. For example:
RMID_JAVA_OPTIONS="-C-Xss512k -C-Xms1024m -C-Xmx1024m
-C-Djava.awt.headless=true"
These options take care of settings for ENOVIA Live Collaboration, but if needed, you
must ensure that the Application Server makes use of these settings; that is, some
additional configuration may be necessary for your Application Server.
However, if you want to use KavaCharts in Program Central, you should NOT set the
headless java option, just be sure to have X-Windows, or if needed, Xvfb installed.
Chapter 8: Installing the Live Collaboration Server
161
Preparing to Install the ENOVIA Live
Collaboration Server
The ENOVIA Live Collaboration Server provides another access mechanism to the data
that already exists in the ENOVIA Live Collaboration database. Therefore, you must first
have an ENOVIA Live Collaboration database set up before installing a Live
Collaboration Server. Generally, the version of Studio Modeling Platform should match
the version of the Live Collaboration Server, but refer to the Program Directory if it
appears that a new version of Studio Modeling Platform or the Live Collaboration Server
is released without the other. Also required is a machine with one of the configurations
shown in What Needs to be Installed?.
You can upgrade the ENOVIA Live Collaboration Server and Studio Modeling Platform
components without upgrading Business Process Services or other ENOVIA products.
The RAM requirements listed in “Prerequisites” in the Program Directory for the given
release are guidelines only, since they vary greatly depending on the number of users,
functions performed, etc. Other factors such as the number of processors and other
hardware variations must also be considered.
A Web or Application Server must be installed and operational before installing a Live
Collaboration Server. Refer to Installing a Web or Application Server for details.
Since FCS and PDF rendering functions require access to ENOVIA Live Collaboration
native code libraries, you must install a Live Collaboration Server on each Application
Server that will be used for ENOVIA Live Collaboration access.
There are two kinds of Live Collaboration Server installation routines:
•
Major installation, which installs all Live Collaboration Server components and
modifies startup scripts and property files. Instructions for performing major
installations are described in the sections Installing ENOVIA Live Collaboration
Server on UNIX/Linux and Installing ENOVIA Live Collaboration Server on
Windows.
Once the J2EE Live Collaboration Server is installed, configuration adjustments can be
made. Some are optional and some are required. Perform the installation in the order
indicated below.
General
Installation for
ENOVIA Live
Collaboration
Server
1. Install the DS License Server. The Dassault Systèmes License Server or DS License
Server is a prerequisite of the ENOVIA Live Collaboration Server and is responsible
for installing and making your company’s user licenses available for use. For more
information, see the Dassault Systèmes License Server Installation and
Configuration Guide.
2. Install the Live Collaboration Server as described in this section.
3. Follow the instructions for obtaining and assigning your user licenses in the Dassault
Systèmes Licensing Essentials Guide.
162
ENOVIA Live Collaboration Installation Guide
4. Install all necessary ENOVIA products as described in Installing Matrix Web
Navigator, Installing Business Process Services™ and/or Installing ENOVIA
Products.
5. If necessary, adjust the server configuration as required, including the recommended
UTF-8 configuration as described in UTF-8 Settings. Refer also to Configuring the
ENOVIA Live Collaboration Server and ENOVIA Live Collaboration Server
Environment Settings.
If you are using a Japanese environment, follow the instructions found in Configuring a
Japanese Web Environment for this step and steps 5 through 8 below.
6. Optionally adjust J2EE settings in the Web.xml or ematrix.xml file as described in
Modifying J2EE Settings.
7. Build the Web archive file as described in Building the J2EE Archive File.
8. Follow the instructions for Deploying the J2EE Archive File.
9. Optionally install an additional server as described in Installing Multiple ENOVIA
Live Collaboration Servers (RIP only).
Before Installing
ENOVIA Live
Collaboration
Server
The Live Collaboration Server machine must have access to an ENOVIA Live
Collaboration database. This means the following are prerequisites:
•
Database client software:
For Oracle, refer to the Program Directory for the given release for supported versions
and Chapter 3, Installing an Oracle Database for installation guidelines. Some
settings in the Oracle server configuration file (init<SID>.ora) may need to be
adjusted when a Live Collaboration Server is in use. Refer to Oracle Parameter File:
init<SID>.ora in Chapter 3 for more information.
For DB2, refer to the Program Directory for the given release for supported versions
and Chapter 4, Installing a DB2 Database for installation guidelines.
For SQL Server, refer to the Program Directory for the given release for supported
versions and Chapter 5, Installing an SQL Server Database for installation guidelines.
For MySQL, refer to the Program Directory for the given release for supported
versions and Chapter 6, Installing a MySQL Database for installation guidelines.
•
Optionally, ENOVIA Studio Modeling Platform to assist with troubleshooting.
However, it is not recommended that the Live Collaboration Server machine be used
frequently as a Studio Modeling Platform client. (MQL is included with the Live
Collaboration Server on both Windows and UNIX).
•
A connection (bootstrap) file that points to an ENOVIA Live Collaboration database.
You can use the included MQL executable to create a bootstrap after installation if
necessary.
Since the Live Collaboration Server can provide global access to an ENOVIA Live
Collaboration database, potentially handling a much greater number of users, be sure you
have the appropriate number and types of user licenses in your License Agreement. Users
defined as “Full” can access the database through the Live Collaboration Server, as well as
the Studio Modeling Platform applications. On the other hand, “Application” users will be
allowed access only through MQL or applications that use the Live Collaboration Server.
Refer to the Business Modeler Guide for information on the types of ENOVIA Live
Collaboration users.
Chapter 8: Installing the Live Collaboration Server
163
Installing ENOVIA Live Collaboration Server on
UNIX/Linux
Before installing any Live Collaboration Server software on UNIX from a CD-ROM you
must:
•
Create an ENOVIA user and group.
•
Mount the CD so the operating system software can access the files contained on the
disk. Refer to Mounting the CD in Chapter 7 for examples of mount commands for
each platform.
•
Remove any old versions of ENOVIA Live Collaboration Server.
•
Make sure you know:
•
•
For Oracle, the path where your tnsnames.ora file is located
•
For DB2, the path where DB2 is installed and the DB2 instance name
•
For MySQL, the path where the ODBC initialization files reside
•
The path where the Application Server is installed, and the name of the startup
script
•
The path for the JDK
Follow your OS instructions for automatic startup of mxrmirc services.
The ENOVIA Live Collaboration Server Setup program can be run in one of three
modes—graphical, console, or silent:
•
To install the Live Collaboration Server on UNIX/Linux in graphical mode, see
page 164.
•
To install the Live Collaboration Server on UNIX/Linux in console mode, see
page 177.
•
To install the Live Collaboration Server on UNIX/Linux in silent mode, see page 186.
To install the Live Collaboration Server on UNIX/Linux in graphical mode
1. Copy the <media_name>.tar.gz file, where <media_name> is the name of the media
for your platform (for example, ENOVIALiveCollaborationServer-V6R2011x.RHEL64), from the CD or ENOVIA Download page to the distribution directory.
2. Mount the CD-ROM drive. Refer to Mounting the CD in Chapter 7 if necessary.
3. Untar the <media_name>.tar.gz file to a temporary directory. Change to the
<media_name>/1/ subdirectory, and then run the Setup script as follows:
% cd /<media_name>/1
% ./StartGUI.sh
The ENOVIA Live Collaboration Server graphical Setup program starts.
164
ENOVIA Live Collaboration Installation Guide
4. Setup prompts for the installation directory. The default installation path is empty.
Setup does not check for the existence of a previous version. The software must be
installed to a new location, and the installation directory may not include any spaces.
The installation directory must also be different from the distribution directory.
Click Browse to select a different location than the default.
Chapter 8: Installing the Live Collaboration Server
165
5. Click Next to continue.
6. Setup then displays the components available to be installed in the specified directory,
in this case, CSR - ENOVIA Live Collaboration Server. Click Cancel if you want to
end the installation, or click Next to continue.
7. Setup then asks you to enter the Java Home path. This is the location of your Java
Development Kit (JDK). Click Browse to select a different location than the default.
Incorrect Java home path selection may abort the installation without a message
indicating the reason for the failure. Failing to provide a 64-bit JDK for a 64-bit install
will also cause the installation to abort.
166
ENOVIA Live Collaboration Installation Guide
Click Next to continue.
8. Setup then asks you to choose a database type. Only those database types that are
supported on your particular platform are displayed. Depending on the OS, the
available database options could be any of the following:
•
Oracle, DB2, and MySQL
•
Oracle and DB2
• Oracle only
If your platform supports multiple types of databases, Oracle is the default.
A white check box means that an item is selected.
Select the desired database type. Click Next.
9. If you selected Oracle, Setup then asks you to enter the TNS_ADMIN directory. This
is the directory where your tnsnames.ora file is located. Click Browse to select a
different location than the default.
Chapter 8: Installing the Live Collaboration Server
167
Setup cannot detect the correct Oracle path on UNIX. Incorrect Oracle path selection may
abort the installation without a message indicating the reason for the failure.
Click Next to continue.
10. Setup then asks you to read and accept the terms in the Oracle Instant Client License
agreement. Again, a white check box next to an item indicates that the item is
selected. Leave the upper check box selected (the default) and click Next.
168
ENOVIA Live Collaboration Installation Guide
11. Setup then asks you to enter the location of your connection file (MATRIX-R file).
Click Browse to select a different location than the default. Click Next to continue.
If the MATRIX-R file does not yet exist, you must copy a valid bootstrap file to the
specified directory. Click OK to continue..
Installation can continue without a valid bootstrap file, but the Live Collaboration
Server will not operate without a valid connection file.
Chapter 8: Installing the Live Collaboration Server
169
12. Setup then asks you to select a deployment option. The available options are:
•
J2EE (build EAR and WAR archives)—Select this option for all supported J2EE
Application Servers. This option is required if you intend to install Advanced Search
on a dedicated machine. This is the default. See also Running the WAR Utility on
UNIX or Linux in Chapter 10.
•
None (Collaboration Kernel only)—Select this option if you intend to use custom
Studio Customization Toolkit applets or applications that do not use servlets. In this
case, an Application Server is not required, but you must configure the Live
Collaboration Server for RIP mode. See step 16.
13. Setup then asks you to select a Java heap size. This setting affects the options for Java
memory allocation. Select a Java heap size based on what your system will support.
Java Heap Size
For 32-Bit Systems
For 64-Bit Systems
Small:
256m
256m
Medium:
640m
960m
1024m
2048m
Large:
Software version V6R2011x supports only the 64-bit version of Live Collaboration Server
on both Windows and UNIX. The 32-bit version of Live Collaboration Server for Windows
is supported only for non-production use.
170
ENOVIA Live Collaboration Installation Guide
14. Setup then asks you to select the character encoding. The available options are:
•
UTF8—This option is the default, and is recommended for all implementations
besides Japanese, whether you support multiple non-English languages or only
English. When this option is selected, UTF-8 settings are added in your
environment, as described in Automated UTF-8 Settings. However, to finish
enabling UTF-8, refer to Additional Manual UTF-8 Settings.
•
Not UTF8—Select this option if your implementation must support Japanese.
Chapter 8: Installing the Live Collaboration Server
171
15. Setup then asks you where the Application server is installed. This is the location of
the startup script for applications. Below the following figure are some examples.
Application Server
Location of Startup Script
WebLogic:
WebSphere:
/app/weblogic/user_projects/
domains/base_domain
/app/WebSphere/AppServer/bin
Sun Java System Application Server:
/app/SUNWappserver7/bin
Tomcat:
/app/tomcat/bin
The following are some examples of Application Server startup script names:
Application Server
Startup Script Name
WebLogic:
startWebLogic.sh
WebSphere:
startServer.sh
Sun Java System Application Server:
asadmin
Tomcat:
startup.sh
16. Setup then asks whether you want to install the kernel in RIP mode. The available
options are:
172
ENOVIA Live Collaboration Installation Guide
•
Yes—RIP mode is the recommended configuration (and the default). This option
runs the kernel in the same process space as the Application Server. If you are
using the Sun Java Application Server and want to use RIP mode, be sure to
configure the Application Server as described in Installing the Sun Java System
Application Server.
•
No—Select this option to set up the standard RMID mode.
Chapter 8: Installing the Live Collaboration Server
173
a ) If you select no to RIP mode, Setup asks whether you want to install the RMI
Gateway. The default is No (single RMI server).
b ) If you want to use multiple RMI servers, click the button (white means selected).
Then click Next.
174
ENOVIA Live Collaboration Installation Guide
c ) If you chose yes to using multiple RMI servers, you must also specify the RMI
port number. The default is 1099.
17. Setup then asks you to enter the number of additional server processes to use for the
RMI Gateway. The minimum (and default) is 2.
Setup will assign sequential port numbers to each secondary server process used. For
example, if you accept the default of 2 for additional RMI processes, the RMI port
number entered above (e.g., 1099) will be for the Gateway, and the other processes
will use the next two ports (e.g., 1100 and 1101).
Chapter 8: Installing the Live Collaboration Server
175
18. Setup now has enough information to begin copying the program files.
19. Setup displays the status of the installation while it is in progress.
176
ENOVIA Live Collaboration Installation Guide
20. When Setup is finished installing the software, it displays the following message.
21. Continue with next step in General Installation for ENOVIA Live Collaboration
Server.
Be sure to place a working bootstrap file in the location specified in step 11 on page 169.
To install the Live Collaboration Server on UNIX/Linux in console mode
1. Copy the <media_name>.tar.gz file, where <media_name> is the name of the media
for your platform (for example, ENOVIALiveCollaborationServer-V6R2011x.RHEL64), from the CD or ENOVIA Download page to the distribution directory.
2. Mount the CD-ROM drive. Refer to Mounting the CD in Chapter 7 if necessary.
3. Untar the <media_name>.tar.gz file to a temporary directory. Change to the
<media_name>/1/ subdirectory, and then run the Setup script in console mode as
follows:
% cd /<media_name>/1
% ./StartTUI.sh
The ENOVIA Live Collaboration Server console-based Setup program starts.
4. The Setup program displays the default installation directory.
*****V6R2011x ENOVIA Live Collaboration Server Choose
Destination Location*****
Setup will install V6R2011x ENOVIA Live Collaboration
Server in the following directory:
Default []: /qausr/Enovia_V6R2011x/Server
If you want to change the location, type in the new installation directory path.
Setup does not check for the existence of a previous version. The software must be
installed to a new location, and the installation directory may not include any spaces.
The installation directory must also be different from the distribution directory.
Press Enter to continue.
Chapter 8: Installing the Live Collaboration Server
177
5. Setup then asks you to select the components you want to install in the specified
directory, in this case tthe component is CSR - ENOVIA Live Collaboration Server.
*****V6R2011x ENOVIA Live Collaboration Server Select
Software*****
Click to select the components you want to install in directory
/qausr/Enovia_V6R2011x/Server.
You can choose not to install V6R2011x ENOVIA Live Collaboration
Server by clicking Cancel to exit setup.
Space available: 26268940 Kb
Space required: 158057 Kb
-2 End selection
-1 [X] All
CSR - ENOVIA Live Collaboration Server
Enter selection (default: Next) :
If you want to cancel the installation, type 2 . Press Enter to continue.
6. Setup then asks you to enter the Java Home path. The is the location of your Java
Development Kit (JDK).
*****V6R2011x ENOVIA Live Collaboration Server Select Java
Home*****
Please enter Java Home path
Default [/usr/java]: /usr/jdk/jdk1.6.0_19
You can use the JDK installed by the Application Server or a higher version, if your
custom Java programs require it. There cannot be any spaces in the directory name or
the install will fail, as this will cause problems during deployment.
The JDK you specify is used to configure Java for applications deployed by your
Application Server (except the WebSphere Application Server) and non-Application
Server based applications. If you are using WebSphere, please see JDK notes before
specifying your JDK.
If using RIP mode, enter the path to Java used by the Application Server.
Incorrect Java home path selection may abort the installation without a message
indicating the reason for the failure. Failing to provide a 64-bit JDK for a 64-bit install
will also cause the installation to abort.
Change the Java Home path, if desired. Press Enter to continue.
7. Setup then asks you to choose a database type. Only those database types that are
supported on your particular platform are displayed. Depending on the OS, the
available database options could be any of the following:
•
Oracle, DB2, and MySQL
•
Oracle and DB2
•
Oracle only
For example:
*****V6R2011x ENOVIA Live Collaboration Server Database
selection*****
Choose the database type:
178
ENOVIA Live Collaboration Installation Guide
-2 End selection
1 (*) Oracle
Enter selection (default Next):
If your platform supports multiple types of databases, Oracle is the default.
Select the desired database type. Press Enter.
8. If you selected Oracle, Setup then asks for the location of the TNS_ADMIN directory,
which contains the tnsnames.ora file. This file contains the client-side network
configuration parameters required for Oracle. You can copy a tnsnames file from the
Oracle server and put it in the location specified here after the installation completes.
*****V6R2011x ENOVIA Live Collaboration Server Oracle Server
Connection Parameters*****
TNS_ADMIN directory
Default [/home/data/ora11g/network/admin]: /app/oracle/product/
11.2.0/network/admin
Setup cannot detect the correct Oracle path on UNIX. Incorrect Oracle path selection may
abort the installation without a message indicating the reason for the failure.
Change the TNS_ADMIN directory, if desired. Press Enter to continue.
9. Setup then asks you to read and accept the terms in the Oracle Instant Client License
agreement.
*****V6R2011x ENOVIA Live Collaboration Server Oracle Instant
Client License*****
Be sure to carefully read and understand all the rights and
restrictions described
in the license terms. You must accept the license terms before
you can install the
software
1 [ ]
2 [ ]
Enter
end):
1 [X]
2 [ ]
I have read and accept the license terms
I do not accept the license terms
your choice 1 or 2( if you choose 2, the installer will
1
I have read and accept the license terms
I do not accept the license terms
Type 1 (the default) or simply press Enter to accept the license terms and continue
installation.
10. If you selected a different database type, Setup displays a different set of questions:
•
For DB2, respond to these prompts:
Enter the DB2 product directory [ ]?
Enter the DB2 Instance Name [db2inst1]?
You must enter the directory where DB2 is installed and the name of your DB2
instance. (The default instance name on UNIX is db2inst1, which you can
change.)
•
For MySQL, enter the directory where the ODBC files reside:
Enter the directory where the ODBC initialization
files reside [ ]?
Chapter 8: Installing the Live Collaboration Server
179
11. Setup then asks you to enter the directory of your connection file (MATRIX-R file).
This file contains the information necessary for the server to locate and open the
Platform root database. This should be set to the server’s installation directory.
*****V6R2011x ENOVIA Live Collaboration Server Choose MatrixHome
Location*****
Please enter the directory of your connection file (MATRIX-R
file).
Default [/qausr/Enovia_V6R2011x/Server]: /qausr/Enovia_V6R2011x
If you want to choose a different location than the default, type in the path. Press
Enter. Setup checks for the existence of the MATRIX-R file in the specified
directory.
If the file exists in the specified directory, you receive a confirmation message:
Matrix bootstrap exists.
If the bootstrap does not exist in the specified directory, you instead get a warning:
Stdout of child process:
Info: bootstrap does not exist
Stderr of child process:
Exit process with return code: 1
-------------------------------------Warning
Matrix bootstrap does not exist.
Please copy a valid bootstrap to /qausr/Enovia_V6R2011x.
Error stack:
Error code: Owner: 30a
Actions:
[1] OK
-------------------------------------Please choose an action: 1
Installation can continue, but the Live Collaboration Server will not operate without a
valid connection file.
12. Setup then asks you to select a deployment option:
*****V6R2011x ENOVIA Live Collaboration Server Select Deployment
Option*****
Please select deployment option
Click Next to continue the installation.
-2 End selection
1 (*) J2EE (build EAR and WAR archives)
2 ( ) None (Collaboration Kernel only)
Enter selection (default Next):
Type 1 (the default), or simply press Enter, for all supported J2EE Application
Servers. If you intend to install Advanced Search on a dedicated machine, this option
is required. See also Running the WAR Utility on UNIX or Linux in Chapter 10.
180
ENOVIA Live Collaboration Installation Guide
Select 2 if you will only use custom Studio Customization Toolkit applets or
applications that do not use the servlets. In this case an Application Server is not
required, but you must configure the Live Collaboration Server for RIP mode.
13. Setup then asks you to select a Java heap size.
*****V6R2011x ENOVIA Live Collaboration Server Java Heap
Size*****
Please select Java heap size.
This setting affects the options for Java memory allocation.
Click Next to continue the installation.
-2 End selection
1 ( ) Small - Java heap
2 (*) Medium - Java heap
3 ( ) Large - Java heap
Enter selection (default
size 256m
size 640m
size 1024m
Next):
Select a Java heap size based on what your system will support.
Java Heap Size
For 32-Bit Systems
For 64-Bit Systems
Small:
256m
256m
Medium:
640m
960m
1024m
2048m
Large:
Software version V6R2011x supports only the 64-bit version of Live Collaboration Server
on both Windows and UNIX. The 32-bit version of Live Collaboration Server for Windows
is supported only for non-production use.
14. Setup then asks you to select a type of character encoding.
*****V6R2011x ENOVIA Live Collaboration Server Select Character
Encoding*****
Please select server character encoding.
Check UTF8 if this server needs to support multiple non-English
languages.
If selecting UTF8, please ensure that your database character
set is also UTF8.
See the Installation Guide for more details.
Click Next to continue.
-2 End selection
1 (*) UTF8
2 ( ) Not UTF8
Enter selection (default Next):
The options are:
•
UTF8—Type 1 (the default) if the server needs to support multiple non-English
languages. In this case, ensure that your database character set is also UTF8.
•
Not UTF8—Type 2 if the server does not need to support multiple non-English
languages.
Press Enter to continue.
15. Setup then asks you for the location of your Application Server’s startup script.
Chapter 8: Installing the Live Collaboration Server
181
*****V6R2011x ENOVIA Live Collaboration Server Application
Server Path*****
Where is the Application Server installed (location of start up
script)?
Must be a valid directory
Default [./]: /app/apache-tomcat-6.0.26/bin
The following are some examples of Application Server startup script locations:
Application Server
Location of Startup Script
WebLogic:
WebSphere:
/app/weblogic/user_projects/
domains/base_domain
/app/WebSphere/AppServer/bin
Sun Java System Application Server:
/app/SUNWappserver7/bin
Tomcat:
/app/tomcat/bin
16. Setup then asks you to end the name of the Application Server startup script.
The following are some examples of Application Server startup script names:
Application Server
Startup Script Name
WebLogic:
startWebLogic.sh
WebSphere:
startServer.sh
Sun Java System Application Server:
asadmin
Tomcat:
startup.sh
•
If you press Enter without entering any script name (the default), Setup will take
this to mean that you are not configuring the Application Server.
•
If you do enter a script name, Setup invokes it to start the Application Server
process and verify that the path and script name are valid.
Default []: startup.sh
Start Process:
"/usr/jdk/jdk1.6.0_19/bin/java -cp ./inst/solaris_a64/install/
installerutil/installerUtil.jar installer.util.check.FileCheck
/app/apache-tomcat-6.0.26/bin startup.sh"
Arguments:
"/usr/jdk/jdk1.6.0_19/bin/java"
"-cp"
"./inst/solaris_a64/install/installerutil/installerUtil.jar"
"installer.util.check.FileCheck"
"/app/apache-tomcat-6.0.26/bin"
"startup.sh"
End of arguments
Waiting for pid 25619
Stdout of child process:
Stderr of child process:
Exit process with return code: 0
17. Setup then asks if you want to install the kernal in RIP mode (see RIP: RMI
In-process).
182
ENOVIA Live Collaboration Installation Guide
*****V6R2011x ENOVIA Live Collaboration Server Matrix RMI In
Process (RIP)*****
Do you want to install the kernel in RIP mode?
Install RIP mode to run the kernel in the same process space as
the application server.
Select No to setup the standard RMI.
Once you have made your selection, click to continue the
installation.
-2 End selection
1 (*) Yes (RIP mode)
2 ( ) No (RMID mode)
Enter selection (default Next):
Moving logs from "/tmp/InstallData/log/CODE/solaris_a64/
ENOVIA_CSR.media-2010_08_12-111607/" to "/qausr/
Enovia_V6R2011x/Server/InstallData/log/CODE/solaris_a64/
ENOVIA_CSR.media-2010_08_12-111607/"
•
If you want to install the kernel in RIP mode, type 1 for Yes (RIP mode). In this
mode, the kernel runs in the same process space as the Application Server. This is
the default and the recommended configuration. See RIP: RMI In-process for
details.
•
If you want to set up the standard RMI mode, type 2 for No (RMID mode). See
RMI Gateway for details.
a ) If you select no to RIP mode, Setup then asks if you will use the RMI
Gateway, or multiple RMI servers.
b1 ) If you select yes (Multiple RMI servers), Setup asks how many additional
server processes will be used. The default (and minimum allowed) is 2.
c1 ) Enter the number of additional server processes you want to use for the RMI
Gateway.
b2 ) If you select no (Single RMI Server), or RMI Gateway, you must specify the
RMI port number.
If you are configuring the Gateway, Setup will assign sequential port
numbers to each secondary server process used. For example, if you
accepted the default of 2 for additional RMI processes, the RMI port number
entered here (such as 1099) will be for the Gateway, and the other processes
will use the next 2 ports (that is, 1100 and 1101).
c2 ) Enter the RMI port number, then press Enter.
18. Setup now has enough information to start copying the program files. If you want to
change any settings, type the letter 'b' (for Back) and press Enter, then make the
desired corrections. When you are satisfied with the displayed settings, press Enter to
start the installation.
*****V6R2011x ENOVIA Live Collaboration Server Start Copying
Files*****
Setup has enough information to start copying the program files.
If you want to review or change any settings, click Back.
If you are satisfied with the settings, click Install to begin
copying files.
Chapter 8: Installing the Live Collaboration Server
183
Files will be installed in the following directory: /qausr/
Enovia_V6R2011x/Server
Selected products: All
DSYInsControler.JavaPath.Resume(/usr/jdk/jdk1.6.0_19)
Database type: Oracle
TNS_ADMIN directory: /app/oracle/product/11.2.0/network/admin
MatrixHome Location: /qausr/Enovia_V6R2011x/Server
Deployment option: J2EE (build EAR and WAR archives)
Java heap size: Medium - Java heap size 640m
Character encoding: UTF8
Application Server Path: /app/apache-tomcat-6.0.26/bin
Startup Script: startup.sh
Kernel in RIP mode: Yes (RIP mode)
Enter your choice (default Install):
CODE/solaris_a64/InsServerOnly (960 b)
..............................
CODE/solaris_a64/InsOracleClient_PRFX-Common (147 Mb)
..............................
CODE/solaris_a64/ENODataBaseAbstract (14 Kb)
..............................
.
.
.
Setup displays the status of the installation while it is in progress.
19. Setup informs you when the Live Collaboration Server installation is finished.
*****V6R2011x ENOVIA Live Collaboration Server Setup
Complete*****
Setup has finished installing V6R2011x ENOVIA Live Collaboration
Server on your computer.
CSR - ENOVIA Live Collaboration Server: installed.
-2 End selection
Enter selection (default: Next) :
Press Enter to exit Setup and close the console window.
Be sure to place a working bootstrap file in the location specified in step 11 on page 180.
To install the Live Collaboration Server on UNIX/Linux in silent mode
Silent mode requires completion of the Live Collaboration Server installation in one of the
other two modes (graphical or console). After installation, the files needed for silent mode
are created under SERVERHOME/InstallData/. In this directory, there is a file called
UserIntentions.xml.
If you want to allow the installer to run on a non-empty directory, you must manually
modify the TARGET_PATH variable in the UserIntentions.xml and InstallData.xml files,
both of which are located in the InstallData subdirectory of the SERVERHOME directory.
1. Open a console window.
184
ENOVIA Live Collaboration Installation Guide
2. Change to the <media_name>/1/ subdirectory, and then run the Setup program in
silent mode as follows:
% cd /<media_name>/1
% ./StartTUI.bat --silent <full_path>/UserIntentions.xml
where <full_path> is the path to the InstallData/ subdirectory under the
SERVERHOME directory.
Chapter 8: Installing the Live Collaboration Server
185
Installing ENOVIA Live Collaboration Server on
Windows
Before installing the Live Collaboration Server on Windows you must:
•
Remove any old versions of the ENOVIA Live Collaboration Servers.
•
Install a qualified Application Server (or other Web server, if you will not be using the
servlets or will only be setting up Web Navigator) and ensure that it is operational.
•
Make sure you know:
•
The path where the Application server is installed and the name of the startup
script
•
The path for the HTTP server’s document root directory
•
The path for the JDK
The ENOVIA Live Collaboration Server Setup program can be run in one of three
modes—graphical, console, or silent:
•
To install the Live Collaboration Server on Windows in graphical mode, see page 186.
•
To install the Live Collaboration Server on Windows in console mode, see page 196.
•
To install the Live Collaboration Server on Windows in silent mode, see page 205.
To install the Live Collaboration Server on Windows in graphical mode
Live Collaboration Server installation on Windows may optionally be executed multiple
times when more than one database will be accessed via one WebLogic server. The MQL
executable is installed together with the Live Collaboration Server on Windows.
1. Log into Windows as a user with Administrator privileges.
2. Copy the <media_name>.zip file, where <media_name> is the name of the media for
your platform (for example, ENOVIALiveCollaborationServer-V6R2011x.Windows64), from the CD or ENOVIA Download page to a
temporary directory.
Please note that when transferring .zip files from the internet, executable files may
silently be excluded when unzipping due to Windows security behaviour. To prevent
this from happening, before unzipping the file, right click in the file, select
Properties, then click Unblock.
3. Unzip the <media_name>.zip file to a temporary directory. Change to the
ENOVIA_CSR.media\1\ subdirectory, and then run the Setup program in graphical
mode as follows:
> cd \ENOVIA_CSR.media\1
> setupV6
The ENOVIA Live Collaboration Studio graphical Setup program starts.
186
ENOVIA Live Collaboration Installation Guide
4. Setup displays the directory where the ENOVIA Live Collaboration Server software
will be installed. The default is C:\enoviaV6R2011x\server. If you want to
choose a different location, click Browse and navigate to the desired directory or type
in the path. Click Next.
Setup does not check for the existence of a previous version. The software must be
installed to a new location, and the installation directory may not include any spaces.
The installation directory must also be different from the distribution directory.
5. Setup then asks you to select the components you want to install in the specified
directory. CSR - ENOVIA Live Collaboration Server is selected by default. If you
want to cancel the installation at this point, click Cancel. Otherwise, click Next.
6. Enter (or Browse to) the location of your Java Home path.
Incorrect Java home path selection may abort the installation without a message
indicating the reason for the failure. Failing to provide a 64-bit JDK for a 64-bit install
will also cause the installation to abort.
Chapter 8: Installing the Live Collaboration Server
187
Click Next.
7. Setup then asks you to choose the database type:
•
Select Oracle if you want to be connected to an Oracle database. This selection
installs the Oracle Instant Client 10g, which is distributed with the Platform
software. This means that the Oracle client software no longer needs to be
installed separately.
•
Select Others if you want to be connected to any other type of database. If your
platform supports multiple types of databases, Oracle is the default.
Select the desired database type. Click Next.
188
ENOVIA Live Collaboration Installation Guide
8. If you select Oracle, enter the location of the TNS_ADMIN directory. This is the
directory where your tnsnames.ora file is located. The default is
c:\oracle\product\10g\NETWORK\ADMIN. To install to a different location,
click Browse and select another directory, or type it in. Click Next.
9. Setup then asks you to read and accept the terms in the Oracle Instant Client License
agreement. Read the agreement and select the I have read and accept the license
terms radio button. Click Next.
Chapter 8: Installing the Live Collaboration Server
189
10. Setup then asks you to enter the directory of your connection file (MATRIX-R file).
The default is C:\enoviaV6R2011x\server. If you want to choose a different
location, click Browse and navigate to the desired directory or type in the path. Click
Next.
11. Setup then asks you to select one of the following deployment options. Select one of
these options based on the Application Server you are using:
•
J2EE (build EAR and WAR archives)—Select this option to use any of the
supported Application Servers. If you intend to install advanced search on a
dedicated machine, this option is required. See also Running the WAR utility on
Windows in Chapter 10.
•
None (Collaboration Kernel only)—Select this option if you will use only
custom Studio Customization Toolkit applications that do not use the Servlets. In
this case, an Application Server is not required.
Click Next.
12. Setup then asks you to select a Java heap size. This setting affects the options for Java
memory allocation.
190
ENOVIA Live Collaboration Installation Guide
Select a Java heap size based on what your system will support.
Java Heap Size
For 32-Bit Systems
For 64-Bit Systems
Small:
256m
256m
Medium:
640m
960m
1024m
2048m
Large:
Software version V6R2011x supports only the 64-bit version of Live Collaboration Server
on both Windows and UNIX. The 32-bit version of Live Collaboration Server for Windows
is supported only for non-production use.
Chapter 8: Installing the Live Collaboration Server
191
13. Setup then asks you to select the server character encoding. Choose one of the
following options:
•
UTF8—Select this option if the server needs to support multiple non-English
languages. In this case, ensure that your database character set is also UTF8.
•
Not UTF8—Select this option if the server does not need to support multiple
non-English languages.
Click Next.
14. Setup then asks whether you want to install the kernel in RIP mode.
•
192
If you want to install the kernel in RIP mode, select Yes (RIP mode). In this
mode, the kernel runs in the same process space as the Application Server. This is
the default and the recommended configuration. See RIP: RMI In-process for
details. Click Next.
ENOVIA Live Collaboration Installation Guide
•
If you want to set up the standard RMI mode, select No (RMID mode). See RMI
Gateway for details.
a ) If you select no to RIP mode, Setup then asks if you will use the RMI
Gateway, or multiple RMI servers.
Chapter 8: Installing the Live Collaboration Server
193
b1 ) If you select yes (Multiple RMI servers), Setup then asks how many
additional server processes will be used. The default (and minimum allowed)
is 2.
c1 ) Enter the number of additional server processes you want to use for the RMI
Gateway, then click Next.
b2 ) If you select no (Single RMI Server), or RMI Gateway, you must specify the
RMI port number.
If you are configuring the Gateway, Setup will assign sequential port
numbers to each secondary server process used. For example, if you
accepted the default of 2 for additional RMI processes, the RMI port number
entered here (such as 1099) will be for the Gateway, and the other processes
will use the next 2 ports (that is, 1100 and 1101).
c2 ) Enter the RMI port number, then click Next.
194
ENOVIA Live Collaboration Installation Guide
15. Setup now has enough information to start copying the program files. It asks you to
review all the settings you have made, and gives you the opportunity to make changes
by selecting Back and re-entering the information. Once you have approved all the
settings, click Next to complete the setup and install the Live Collaboration Server.
Setup displays the status of the installation while it is in progress.
Chapter 8: Installing the Live Collaboration Server
195
16. Once the installation is complete, Setup informs you that the "CSR - ENOVIA Live
Collaboration Server" has been successfully installed. Click End to close the setup
dialog.
Setup also creates program shortcuts under the "Dassault Systemes Software
V6R2011x" program folder on the Start menu.
17. Reboot your Windows system.
18. Continue with next step in General Installation for ENOVIA Live Collaboration
Server.
Be sure to place a working bootstrap file in the location specified in step 10 on page 190.
To install the Live Collaboration Server on Windows in console mode
Live Collaboration Server installation on Windows may optionally be executed multiple
times when more than one database will be accessed via one WebLogic server. The MQL
executable is installed together with the Live Collaboration Server on Windows.
1. Log into Windows as a user with Administrator privileges.
2. Copy the <media_name>.zip file, where <media_name> is the name of the media for
your platform (for example, ENOVIALiveCollaborationServer-V6R2011x.Windows64), from the CD or ENOVIA Download page to a temporary directory.
196
ENOVIA Live Collaboration Installation Guide
Please note that when transferring .zip files from the internet, executable files may
silently be excluded when unzipping due to Windows security behaviour. To prevent
this from happening, before unzipping the file, right click in the file, select
Properties, then click Unblock.
3. Unzip the <media_name>.zip file to a temporary directory. Change to the
ENOVIA_CSR.media\1\ subdirectory, and then run the Setup script in console
mode as follows:
> cd \ENOVIA_CSR.media\1
> StartTUI.bat
The ENOVIA Live Collaboration Server text-based Setup program starts.
In the console window, Setup first displays the directory where the ENOVIA Live
Collaboration Server software will be installed. The default is
C:\enoviaV6R2011x\server.
Setup does not check for the existence of a previous version. The software must be
installed to a new location, and the installation directory may not include any spaces.
The installation directory must also be different from the distribution directory.
4. Specify the installation directory and then press Enter, or simply press Enter to
accept the default.
Chapter 8: Installing the Live Collaboration Server
197
Setup then asks you to select the components you want to install in the specified
directory. CSR - ENOVIA Live Collaboration Server is the only available option.
5. Select one of the following options:
•
Type 2 if you want to end your selection, then press Enter.
•
Type 1 or simply press Enter to select CSR - ENOVIA Live Collaboration
Server.
Setup then asks you to enter the Java Home path.
Incorrect Java home path selection may abort the installation without a message
indicating the reason for the failure. Failing to provide a 64-bit JDK for a 64-bit install
will also cause the installation to abort.
6. Change the location, if desired, or press Enter to accept the default path. Press Enter
to continue.
198
ENOVIA Live Collaboration Installation Guide
Setup then asks you to choose the database type.
7. Select one of the following options:
•
Type 1 or simply press Enter to select Oracle (the default). This option installs
Oracle Instant Client 10g, which is distributed with the Live Collaboration Server
software. The Oracle client software does not need to be installed separately.
•
Type 2 to select Others, then press Enter. If you select this option, Setup displays
a different set of questions:
•
For DB2, you are asked to enter the DB2 product directory and the DB2
Instance Name.
•
For MSQL, you are asked to enter the directory where the ODBC
initialization files reside.
If you selected Oracle, Setup then asks you to enter the TNS_ADMIN directory. This
is the directory where your tnsnames.ora file is located. The default is
c:\oracle\product\10g\NETWORK\ADMIN\.
8. Change the TNS_ADMIN directory, if desired, or press Enter to accept the default.
Chapter 8: Installing the Live Collaboration Server
199
Setup then asks you to read and accept the terms in the Oracle Instant Client License
agreement.
9. Read the Oracle Instant Client License agreement, then select one of these options:
•
Type 1 to confirm that you have read and accept the license terms.
•
Type 2 if you do not accept the license terms. If you choose this option, Setup
will end.
Press Enter to continue.
Setup then asks you to enter the directory of your connection file (MATRIX-R file).
The default is C:\enoviaV6R2011x\server. If you want to choose a different
location, type in the path. Click Next.
10. Change the location, if desired, or simply press Enter to accept the default.
If a Matrix bootstrap file does not exist in the specified directory, Setup displays a
warning message instructing you to copy a valid bootstrap file to that location. You
must type 1 and then press Enter to continue.
200
ENOVIA Live Collaboration Installation Guide
Setup then asks you to select a deployment option.
11. Select one of the following options based on the Application Server you are using:
•
J2EE (build EAR and WAR archives)—Type 1 or simply press Enter to use any
of the supported Application Servers. If you intend to install Advanced Search on
a dedicated machine, this option is required. See also Running the WAR utility on
Windows in Chapter 10.
•
None (Collaboration Kernel only)—Type 2 if you will use only custom Studio
Customization Toolkit applications that do not use the Servlets. In this case, an
Application Server is not required. Press Enter.
Setup then asks you to select a Java heap size. This setting affects the options for Java
memory allocation.
12. Select a Java heap size based on what your system will support:
Java Heap Size
For 32-Bit Systems
For 64-Bit Systems
Small:
256m
256m
Medium:
640m
960m
1024m
2048m
Large:
Chapter 8: Installing the Live Collaboration Server
201
•
Type 1 for a Small Java heap size. Then press Enter.
•
Type 2 or simply press Enter for a Medium Java heap size (the default).
•
Type 3 for a Large Java heap size. Then press Enter.
Software version V6R2011x supports only the 64-bit version of Live Collaboration Server
on both Windows and UNIX. The 32-bit version of Live Collaboration Server for Windows
is supported only for non-production use.
Setup then asks you to choose the server character encoding.
13. Select one of the following options:
•
UTF8—Type 1 or simply press Enter to select this option if the server needs to
support multiple non-English languages (the default). In this case, ensure that
your database character set is also UTF8.
•
Not UTF8—Type 2 to select this option if the server does not need to support
multiple non-English languages. Then press Enter.
Setup then asks whether you want to install the kernel in RIP mode.
14. Select one of the following options:
202
ENOVIA Live Collaboration Installation Guide
•
RIP mode—Type 1 or simply press Enter if you want to install the kernel in RIP
mode (the default). In this mode, the kernel runs in the same process space as the
Application Server. This is the recommended configuration. See RIP: RMI
In-process for details.
•
RMID mode—Type 2 if you want to set up the standard RMI mode. Then press
Enter. See RMI Gateway for details.
a ) If you select no to RIP mode, Setup then asks if you will use the RMI Gateway,
or multiple RMI servers.
b1 )If you select yes (Multiple RMI servers), Setup then asks how many additional
server processes will be used. The default (and minimum allowed) is 2.
c1 )Enter the number of additional server processes you want to use for the RMI
Gateway. Then press Enter.
b2 )If you select no (Single RMI Server), or RMI Gateway, you must specify the
RMI port number.
If you are configuring the Gateway, Setup will assign sequential port numbers to
each secondary server process used. For example, if you accepted the default of 2
for additional RMI processes, the RMI port number entered here (such as 1099)
will be for the Gateway, and the other processes will use the next 2 ports (that is,
1100 and 1101).
c2 )Enter the RMI port number. Then press Enter.
Setup now has enough information to start copying the program files. It asks you to
review all the settings you have made, and gives you the opportunity to make changes.
15. Review the settings, then press Enter to complete the setup and install the Live
Collaboration Server.
Chapter 8: Installing the Live Collaboration Server
203
Setup displays the status of the installation while it is in progress.
Setup informs you when the ENOVIA Live Collaboration Server installation is
finished.
16. Press Enter to end Setup and close the console window.
17. Reboot your Windows system.
18. Continue with next step in General Installation for ENOVIA Live Collaboration
Server.
Be sure to place a working bootstrap file in the location specified in step 10 on page 200.
204
ENOVIA Live Collaboration Installation Guide
To install the Live Collaboration Server on Windows in silent mode
Live Collaboration Server installation on Windows may optionally be executed multiple
times when more than one database will be accessed via one WebLogic server. The MQL
executable is installed together with the Live Collaboration Server on Windows.
Silent mode requires completion of the Live Collaboration Server installation in one of the
other two modes (graphical or console). After installation, the files needed for silent mode
are created under SERVER_INSTALL\InstallData\. In this directory, there is a file
called UserIntentions.xml.
If you want to allow the installer to run on a non-empty directory, you must manually
modify the TARGET_PATH variable in the UserIntentions.xml and InstallData.xml files,
both of which are located in the InstallData subdirectory of the Live Collaboration Server
installation.
1. Log into Windows as a user with Administrator privileges.
2. Change to the ENOVIA_CSR.media\1\ subdirectory, and then run the Setup script
in silent mode as follows:
> cd \ENOVIA_CSR.media\1
> StartTUI.bat --silent <full_path>\UserIntentions.xml
where <full_path> is the path to the InstallData\ subdirectory under the
SERVER_INSTALL directory.
Chapter 8: Installing the Live Collaboration Server
205
Installing a Live Collaboration Server Service
Pack
Service pack installation installs only the Live Collaboration server components, without
modifying startup scripts and property files. Service pack installation does not make any
UTF-8 changes to files in your environment. It is recommended that you check your
UTF-8 settings, as described in UTF-8 Settings.
Prerequisite: Prior successful installation of a Live Collaboration Server major release.
Service pack installation is intended only for upgrading from a major release to a
maintenance release. For example, from V6R2011x to V6R2011x.HF1, but not from a
pre-V6R2011x release or any release to V6R2011x. If you are performing a new
installation of ENOVIA Live Collaboration Server or upgrading from a prior major
release, follow the instructions for full installation (Installing ENOVIA Live Collaboration
Server on UNIX/Linux or Installing ENOVIA Live Collaboration Server on Windows).
To install a service pack in graphical mode
1. Run the Setup program in graphical mode:
•
UNIX: ./StartGUI.sh
•
Windows: setupV6.exe
2. Setup prompts for the installation directory.
UNIX:
The installation directory must be the location of your existing ENOVIA Live
Collaboration Server installation.
206
ENOVIA Live Collaboration Installation Guide
Windows:
Click Next to continue.
3. Setup has enough information to begin copying the program files.
Unix:
Chapter 8: Installing the Live Collaboration Server
207
Windows:
Click Install.
4. Setup informs you when the service pack installation is finished.
Unix:
208
ENOVIA Live Collaboration Installation Guide
Windows:
Click Close or press Enter to exit Setup.
5. After the installation completes, you must run the WAR Utility and then deploy the
archive file, as described in Chapter 10, Deploying J2EE.
To install a service pack in console mode
1. Run the Setup program in console mode:
•
UNIX: ./StartTUI.sh
•
Windows: StartTUI.bat
2. Setup prompts for the installation directory.
Unix:
*****V6R2011x.HF1 ENOVIA Live Collaboration Server Choose
Destination Location*****
Setup will upgrade ENOVIA Live Collaboration Server to
V6R2011x.HF1 in the following directory:
Default []:
/qausr/Enovia_v6R2011x/Server
Windows:
The installation directory must be the location of your existing ENOVIA Live
Collaboration Server installation.
Press Enter to continue.
Chapter 8: Installing the Live Collaboration Server
209
3. Setup now has enough information to start copying the program files. If you want to
change any settings, type the letter 'b' (for Back) and press Enter, then make the
desired corrections. When you are satisfied with the displayed settings, press Enter to
start the installation.
Unix:
*****V6R2011x.HF1 ENOVIA Live Collaboration Server Start Copying
Files*****
Setup has enough information to start copying the program files.
If you want to review or change any settings, click Back.
If you are satisfied with the settings, click Install to begin
copying files.
Files will be installed in the following directory: /qausr/
Enovia_v6R2011x/Server
Enter your choice (default Install):
Windows:
4. Setup informs you when the service pack installation is finished.
Unix:
*****V6R2011x.HF1 ENOVIA Live Collaboration Server Setup
Complete*****
Setup has finished installing V6R2011x.HF1 ENOVIA Live
Collaboration Server on your computer.
CSR - ENOVIA Live Collaboration Server: installed.
-2 End selection
Enter selection (default: Next) :
210
ENOVIA Live Collaboration Installation Guide
Windows:
5. Press Enter to exit Setup.
6. After the installation completes, you must run the WAR Utility and then deploy the
archive file, as described in Chapter 10, Deploying J2EE.
Chapter 8: Installing the Live Collaboration Server
211
Configuring the ENOVIA Live Collaboration
Server
The ENOVIA Live Collaboration Server may be configured in several ways:
•
Using RIP mode, which is the default and recommended configuration.
•
As a single process server.
•
As an RMI Gateway
•
Installing Multiple ENOVIA Live Collaboration Servers (RIP only) to point to
different databases.
•
As a File Collaboration Server
The default installation handles RIP mode. Optionally, the installation program may
configure the single process server or the RMI Gateway with its default configuration. For
installation procedures, refer to the Preparing to Install the ENOVIA Live Collaboration
Server. The sections that follow provide information on re-configuring the Live
Collaboration Server.
When the Live Collaboration Server is installed, a server configuration audit tool is run to
evaluate system and java resources and settings. These configuration settings can be
crucial to a successful deployment and are discussed in Server Startup Configuration
Checker in Chapter 20.
Reconfiguring the
ENOVIA Live
Collaboration
Server Windows
Service
By default, the ENOVIA Live Collaboration Server is configured in RIP mode, and
therefore does not need to be configured as a service (it is available to the Application
Server whenever it needs to be). On Windows, when the standalone or RMI gateway
ENOVIA Live Collaboration Server is installed, it is installed as a Service, called
RMIService.exe, which is configured during installation with the following command line
arguments:
Arguments
Description
-inidir INIDIR
INIDIR is the directory that holds the enovia.ini (previously ematrix.ini) file for
the Live Collaboration Server. For example:
RMIService.exe -config "ENOVIA Live Collaboration
Server" -inidir
c:\enoviaV6R2011x\server\intel_a\code\bin
-javahome JDKDIR
JDKDIR is the directory that holds the installed Java Development Kit.
-matrixhome BOOTFILEPATH
BOOTFILEPATH represents the bootstrap location for this server or gateway. The
entry in the enovia.ini file takes precedence over this specification, so you should
remove it from there if you will use a different location.
-matrixinstall INSTALLDIR
INSTALLDIR represents the location where the ENOVIA Live Collaboration
Server was installed.
-bootfile BOOTFILENAME
Name of the connection file. Defaults to MATRIX-R.
212
ENOVIA Live Collaboration Installation Guide
Arguments
Description
-bosroot
The root location for the Live Collaboration kernel.
-logdir
The location of the Matrix log files.
-port PORT
PORT is the RMI port number for this instance. Could be RMI Single server or
Gateway port. Default is 1099.
-minheap
The minimum heap size (in megabytes) passed to the Java Virtual Machine.
-maxheap
The maximum heap size (in megabytes) passed to the Java Virtual Machine.
-javaoptions
Used to specify any of the standard Java options settings that will be sent to the
Java virtual machine, such as minheap, maxheap, Java stack size, etc. For
example, the following sets the stack size to 256k:
rmiservice -config "eMatrix RMI Server" -javaoptions
"-C-Xss256k"
-servers SERVERS
Used only if the RMI Gateway is configured. SERVERS is a list of secondary
server hosts, including port numbers, separated by commas, but no spaces. For
example:
-servers //HOST:1100,//HOST:1101,//HOST:1102
By default, HOST is always localhost. HOST can be the same or different
machine names for each server process.
-flashdir
Used to specify the location for flash cache files or more specifically, to set the
MX_FLASH_CACHE variable for the server. For gateway configurations (where
-servers has been specified), -flashdir may be configured with comma separated
directories to be used as flash cache directory for each respective server. The
number of flash directories specified should match the number of servers, but if
less flash directories are specified than servers, the last flash directory specified
will be used for all remaining servers.
-setenv
Used to set or delete environment variables in the format: -setenv
variable=[string]. In cases where there are multiple RMI services with different
environment variable settings, you should delete the environment variable setting
from enovia.ini, which takes precedence, and create the environment variable
settings on the RMI service level. There can be several -setenv parameters on a
command line that modify several environment variables, for example:
rmiservice -config "eMatrix RMI Server" -setenv
MX_MQL_TRACE=TRUE -setenv MX_SQL_TRACE=
The above command will update MX_MQL_TRACE in the registry with a TRUE
value and delete MX_SQL_TRACE.
If you need to configure an environment variable with spaces in its value, you
should enclose the value in double quotes.
Once the server is installed, these parameters are stored in the Windows registry for future
reference by the service when it actually runs.
Chapter 8: Installing the Live Collaboration Server
213
When modifications are required, you may run RMIService.exe from the command line,
setting or resetting arguments. When running from the command line you must set the
“mode” for the command using one of the following flags:
Argument
Description
-install NAME
Used to install a new RMI service with the NAME specified. When run by the setup program,
NAME is ENOVIA RMI Server.
-config NAME
Used to modify the existing named RMI service.
-remove NAME
Used to remove the existing named RMI service. Before executing in this mode, you must stop
the service.
-query NAME
Used to query the current service settings.
-help NAME
Used to print help on the service.
When NAME includes spaces, as is the case with the default, you must enclose it with quotes.
When installing a new service with the -install flag, you must include ALL required
arguments (that is, those in the first table above).
Configuring the Gateway for Quiesce on Windows
The arguments listed below are for use with the RMI Gateway, and are unset upon
installation. These arguments are mutually exclusive—exactly one or none of them may
be set at a time. Setting any of them makes use of the Quiesce function.
Argument
Description
-ops OPS
OPS is the number of operations to perform before switching to another server when the RMI
Gateway is in use.
-hours HOURS
HOURS is the number of hours to wait before switching to another server when the RMI
Gateway is in use.
-days DAYS
DAYS is the number of days to wait before switching to another server when the RMI Gateway
is in use.
-minutes MINUTES
MINUTES is the number of minutes to wait before switching to another server when the RMI
Gateway is in use.
To modify the RMI Service on Windows
1. From the Start menu, choose Run.
2. Enter the command with the required changes in the Open: text box. For example:
RMIService.exe -config "eMatrix RMI Server" -port 7200 -servers
localhost:7201,localhost:7202,localhost:7203 -days 1
214
ENOVIA Live Collaboration Installation Guide
Assigning a port number for the RMID RMI server
The ENOVIA Live Collaboration Server associated with the RMID (in a standalone or
gateway configuration; that is, non-RIP) is typically “exported” on an anonymous
(random) port. This is the port on which the The ENOVIA Live Collaboration Server is
listening for connections. With a firewall in place, you need to be able to specify a port
number for the The ENOVIA Live Collaboration Server (as opposed to the RMID) that is
open on the firewall. You can assign the listening port for an The ENOVIA Live
Collaboration Server to allow the The ENOVIA Live Collaboration Server connections to
traverse a firewall by adding the following argument to the The ENOVIA Live
Collaboration Server command line in the rmireg.sh or rmireg.bat file:
-port <port#>
The port number specified must be a valid port that is not used by another process. Below
are example entries in rmireg.sh, which specify the port numbers for two The ENOVIA
Live Collaboration Servers (RMI gateway configuration):
${JAVA_PATH}/java $JAVA_SECURITY
-Djava.rmi.server.codebase=file:$CODEBASE
-Djava.rmi.activation.port=1100 com.matrixone.jdl.eMatrix //
localhost:1100 -port 2000 &
${JAVA_PATH}/java $JAVA_SECURITY
-Djava.rmi.server.codebase=file:$CODEBASE
-Djava.rmi.activation.port=1101 com.matrixone.jdl.eMatrix //
localhost:1101 -port 3001 &
Reconfiguring the
ENOVIA Live
Collaboration
Server on UNIX
When installed on UNIX, the configuration is set by environment variables. To change the
configuration after the initial installation, modify the rmireg.sh shell script. The following
environment variables may be modified:
Environment Variable
Description
JAVA_PATH JDKDIR
JDKDIR is the directory that holds the installed
Java Development Kit.
MATRIXHOME BOOTFILEPATH
BOOTFILEPATH represents the bootstrap location
for this server or gateway.
Portions of the section of the rmireg.sh script that sets environment variables are shown
below. You can reconfigure the lines that are shown in bold.
# rmireg.sh -- Bourne shell script for eMatrixServletRMI
# Registry
#
# Usage:- rmireg.sh
#
###############################################################
#
# Set up Matrix Environment Variables
#
MATRIXHOME=/acme1/ematrixRMI
export MATRIXHOME
CLASSPATH=/acme1/weblogic/myserver/servletclasses/
eMatrixServletRMI.jar
Chapter 8: Installing the Live Collaboration Server
215
export CLASSPATH
MX_ARCH=solarisb64
export MX_ARCH JAVA_OPTIONS JAVA_PATH JAVA_LIB JAVA_SECURITY
Confifuring the Gateway for Quiesce on UNIX
The variables listed below are for use with the RMI Gateway, and are unset upon
installation. These arguments are mutually exclusive—exactly one or none of them may
be set at a time. Setting any of them makes use of the Quiesce function.
Reconfiguring
ENOVIA Live
Collaboration
Server Port
Numbers
RMI Gateway Variable
Description
OPS #_OF_OPS
The number of operations to perform before switching to
another server when the RMI Gateway is in use.
HOURS #_OF_HOURS
The number of hours to wait before switching to another
server when the RMI Gateway is in use.
DAYS #_OF_DAYS
The number of days to wait before switching to another
server when the RMI Gateway is in use.
If you want to change port numbers, you must change them in a few different places in the
rmireg.sh file. The default setup initiates a log file that uses the port number in the file
name. The easiest way to change the port numbers consistently is to search on the number
itself, knowing which new number will replace the originally configured port. For
example, assume the original installation took the default ENOVIA Live Collaboration
Server port number and installed the Gateway with the default number of server processes.
Now you want to change the ports to use 2000, 2001, and 2002. You could search for 1099
and change all occurrences to 2000, then find 1100 and change all to 2001, and finally all
1101 and change to 2002. Below is a sample portion of the rmireg.sh file that would
require editing to reconfigure the server’s ENOVIA Live Collaboration Server port
number(s):
echo "Starting RMI Daemons"
echo $JAVA_PATH/rmid $JAVA_OPTIONS $JAVA_LIB -J$JAVA_SECURITY
-port 1099 -log /acme1/ematrixRMI/logs/RMI1099 &
$JAVA_PATH/rmid $JAVA_OPTIONS $JAVA_LIB -J$JAVA_SECURITY -port
1099 -log /acme1/ematrixRMI/logs/RMI1099 &
echo $JAVA_PATH/rmid $JAVA_OPTIONS $JAVA_LIB -J$JAVA_SECURITY
-port 1100 -log /acme1/ematrixRMI/logs/RMI1100 &
$JAVA_PATH/rmid $JAVA_OPTIONS $JAVA_LIB -J$JAVA_SECURITY -port
1100 -log /acme1/ematrixRMI/logs/RMI1100 &
echo $JAVA_PATH/rmid $JAVA_OPTIONS $JAVA_LIB -J$JAVA_SECURITY
-port 1101 -log /acme1/ematrixRMI/logs/RMI1101 &
$JAVA_PATH/rmid $JAVA_OPTIONS $JAVA_LIB -J$JAVA_SECURITY -port
1101 -log /acme1/ematrixRMI/logs/RMI1101 &
echo "Starting RMI Gateway"
216
ENOVIA Live Collaboration Installation Guide
$JAVA_PATH/java $JAVA_SECURITY
-Djava.rmi.server.codebase=file:$CLASSPATH
-Djava.rmi.activation.port=1099 com.matrixone.jdl.eMatrix
-servers //localhost:1100,//localhost:1101 //localhost:1099&
echo "Starting Secondary RMI Servers"
$JAVA_PATH/java $JAVA_SECURITY
-Djava.rmi.server.codebase=file:$CLASSPATH
-Djava.rmi.activation.port=1100 com.matrixone.jdl.eMatrix //
localhost:1100 &
$JAVA_PATH/java $JAVA_SECURITY
-Djava.rmi.server.codebase=file:$CLASSPATH
-Djava.rmi.activation.port=1101 com.matrixone.jdl.eMatrix //
localhost:1101 &
Implementing the
Security Wrapper
on RMI Gateway
The security wrapper is a wrapper class for the ENOVIA Live Collaboration Server that
provides the ability to restrict which IP addresses are allowed to connect to the ENOVIA
Live Collaboration Server. The RMI gateway can be configured to allow only trusted hosts
to be connected. A file contains a list of the host IP addresses that are either accepted or
denied.
The new Java classes that implement the security wrapper are built into the
eMatrixServletRMI.jar file, which is part of the Live Collaboration installation.
To enable the security wrapper
1. Create a trusted host list file.The host list file contains a list of the host IP addresses
that are trusted or denied by the RMI gateway. A typical way is to define a list of
trusted host addresses and let all others be denied access.
The host file name and location are user-created, but it is recommended you create the
file in the SERVER_INSTALL\java\properties\ directory. You can create the
file using any ASCII text editor.
Note the following rules:
•
The list contains either trusted or denied host IP addresses, but not both. A list of
trusted hosts will deny access to any host not listed. A list of denied hosts will
allow access to any host not in the denied list.
•
There should be a line break after each line.
•
The # character can be used to indicate a comment.
•
The * character can be used to indicate all trusted hosts, but cannot be used to
indicate denied hosts.
•
For a list of denied IP addresses, the word deny must be in lowercase.
•
Only numerical IP addresses are accepted.
For example, a file containing trusted machines named 10.1.5.60, 10.1.5.61,
and 10.1.5.62 would look like this:
# Trusted hosts
10.1.5.60
10.1.5.61
Chapter 8: Installing the Live Collaboration Server
217
10.1.5.62
Conversely, to deny access from hosts, the file would contain the keyword “deny” and
then list the denied IP addresses. Below is an example where hosts 10.1.5.60 and
10.1.5.61 are denied:
# Deny hosts
deny
10.1.5.60
10.1.5.61
In the example above, any host except 10.1.5.60 and 10.1.5.61 would be
granted access.
Whenever you make a change to the host list file, you must restart the Live Collaboration
Server.
2. Specify the path to the host list file, by adding the system property
com.matrixone.rmi.hostList, which defines the full path to the host list file.
In UNIX, this setting is preferably set in the JAVA_OPTIONS in the rmireg.sh
file. For example, it would look like:
JAVA_OPTIONS="-C-Xss256k -C-Xms256m -C-Xmx256m
-C-Dcom.matrixone.rmi.hostList=/usr/rmi/java/properties/
hosts.txt"
Make sure to change the JAVA_OPTIONS for the appropriate operating system in the
rmireg.sh file.
For Windows, the command would look something like:
C:\>rmiservice -config "eMatrix RMI Server" -JAVAOPTIONS
"-C-Dcom.matrixone.rmi.hostList=c:/rmi/java/properties/
hosts.txt -C-Dfile.encoding=UTF8"
3. Verify the Configuration by inverting the list of trusted hosts to be a list of denied
hosts as follows:
a ) Add the keyword deny in the host list file.
b ) Restart the Live Collaboration Server.
c ) Start Matrix Navigator or the ENOVIA product you use to access the database,
and log into the system.
You should be denied access.
You can also check that any Studio Customization Toolkit clients are not able to
connect
d ) Open the web server log file and search for a RemoteException.
The RemoteException will describe the denied access, for example:
Mon Dec 16 20:08:25 EST 2002:<I> <ServletContext-General>
servlet/login: init
java.rmi.ServerException: RemoteException occurred in server
thread; nested exception is:
java.rmi.RemoteException: Host 10.1.5.39 is not authorized to
connect to the server
218
ENOVIA Live Collaboration Installation Guide
ENOVIA Live Collaboration Server Environment
Settings
When the Live Collaboration Server is installed, the environment is set with the same
variables as needed for other ENOVIA Live Collaboration clients (as discussed in
Configuring ENOVIA Live Collaboration in Chapter 9). In addition, the following are
added for Live Collaboration Server:
MX_NUL_COURTESY_MSG. When a user attempts to use the ENOVIA Live
Collaboration Server without an appropriate product assigned, a CPF product will
automatically be assigned to that user as a courtesy. When this variable is set to true
(by default), a message will also be sent to mxtrace.log indicating that a CPF product
has been assigned to the user as a courtesy.
MX_BOS_ALLOW_SHARED_CONTEXT may be set to TRUE in order to allow
processing of a session that is shared by multiple threads. When this occurs, a
message stating “Session [SESSION ID] in use by multiple threads” is written to the
mxtrace.log file. This message is only a warning and the threads will continue
processing. By default, MX_BOS_ALLOW_SHARED_CONTEXT is set to false,
which means a session cannot be shared by multiple threads. The same message,
“Session [SESSION ID] in use by multiple threads,” is written to the mxtrace.log file
but this time, the second thread using the shared session ID will stop processing. For
an explanation of context object problems, see the “Context Object User Access”
topic in the Creating a Login Page chapter of the Programming Guide.
MX_BOS_ROOT is the same as the WWW document root directory.
MX_BOS_WORKSPACE is the directory below $MX_BOS_ROOT that is created
by the Live Collaboration Server installation. The directory is used as a location for
file access for all logged on users. Subdirectories are created for users as they log into
the server, and automatically removed when they log out. The value is matrix/
workspace.
MX_CONNECTION_POOL_SIZE dictates how many database connections are
pre-initialized. This helps in cases where a multi-threaded Studio Customization
Toolkit application tries to initiate multiple contexts at the same time. Without the
pre-initialized database connections configured, connect failures may occur if the
network or database are slow to respond. The default value is determined by the Java
heap size selected during installation of the Live Collaboration Server (on UNIX that
is small = 10, medium = 20, large = 30).
For more information on this setting, see System Scaling in Chapter 20.
MX_TRACE_FILE_PATH sets the location where the mxtrace.log file is
generated. Defaults to $SERVER_INSTALL\logs.
MX_ABORT_DANGLING_TRANSACTION is set to True. Refer to Optional
Variables for the description of this setting.
On UNIX these settings are added as environment variables in the Live Collaboration
Server startup script.
On Windows, an enovia.ini file for the Live Collaboration Server is created (or updated)
with the settings shown above. A typical Windows enovia.ini file is shown below:
[MATRIX]
MX_BOS_ROOT=C:\enoviaV6R2011x\server\
MX_BOS_WORKSPACE=workspace
Chapter 8: Installing the Live Collaboration Server
219
MX_TRACE_FILE_PATH=C:\enoviaV6R2011x\server\logs
MX_ABORT_DANGLING_TRANSACTION=true
MX_SESSION_TIMEOUT=60
MX_BOS_ALLOW_SHARED_CONTEXT=false
MATRIXHOME=C:\enoviaV6R2011x\server\
MATRIXINSTALL=C:\enoviaV6R2011x\server\
MX_FLASH_PATH=C:\enoviaV6R2011x\server\mxcache
PIXMAPPATH=C:\enoviaV6R2011x\server\intel_a\pixmaps\app\
COLORPATH=C:\enoviaV6R2011x\server\intel_a\code\lib
MATRIXPATH=C:\enoviaV6R2011x\server\intel_a\code\bin
MX_TCL_SHLIB=
TCL_LIBRARY=C:\enoviaV6R2011x\server\intel_a\tcl85\lib\tcl8.5
TK_LIBRARY=C:\enoviaV6R2011x\server\intel_a\tcl85\lib\tk8.5
TMPDIR=C:\DOCUME~1\<user>\LOCALS~1\Temp
MX_DEFAULT_KERNEL=
MX_JVM_DIR=C:\Java\jdk1.6.0_19\jre\bin\client\
MX_JDK_DIR=C:\Java\jdk1.6.0_19\
MX_JAVAC=C:\Java\jdk1.6.0_19\bin\javac.exe
MX_CLASSPATH=C:\Java\jdk1.6.0_19\lib;C:\enoviaV6R2011x\server\
managed\properties;C:\enoviaV6R2011x\server\intel_a\docs\java
common;C:\enoviaV6R2011x\server\intel_a\docs\javaserver;C:\eno
viaV6R2011x\server\intel_a\docs\custom;
MX_CHARSET=UTF8
LANG=C
NLS_LANG=_UTF8
MX_CONNECTION_POOL_SIZE=20
MX_MEMORY_SYSTEM_LIMIT=640m
Refer to Configuring ENOVIA Live Collaboration in Chapter 9 for information on
Matrix-specific variables.
Optional Settings
In addition, the following variables are available:
MX_BOS_BLOCKSIZE sets the size of the data blocks that are transferred between
the server and the client. This setting is in bytes and defaults to 65536 (64k). It can be
adjusted to a maximum of 131072 (128k).
MX_BOS_EXPAND_LIMIT can be set to a positive integer value. When set,
browsers in Indented and Star modes display that number of connections in each
direction at a maximum. The default is to show all connections. The following is
added to the environment by default; however, notice it is commented out:
# MX_BOS_EXPAND_LIMIT=500
Refer to the Programming Guide for use of limits in Studio Customization Toolkit
programs.
MX_BOS_FIND_LIMIT can be set to a positive integer value. When set, find
operations load no more than that number of found objects. Users can override this
number by using the Limit field in the Find dialog box. The default is to load all
objects that meet the search criteria. The following is added to the environment by
default; however, notice that it is commented out:
# MX_BOS_FIND_LIMIT=500
220
ENOVIA Live Collaboration Installation Guide
Refer to the Programming Guide for use of limits in Studio Customization Toolkit
programs.
MX_MAX_THREAD may be set in the enovia.ini file for the Live Collaboration
Server (previously ematrix.ini) only to indicate the maximum number of threads
allowed to run inside the Live Collaboration kernel at one time. Default is 200.
MX_SITE_PREFERENCE can be set to establish the preferred site for file checkin
and checkout in a distributed database that makes use of replicated stores. This
adjustment overrides the setting in the Person or Group definition for the site
preference. This ensures that all Web clients will use the site preference of the Live
Collaboration Server, providing optimum performance.
MX_TRANSACTION_TIMEOUT sets the time interval in seconds after which idle
transactions started through the Live Collaboration Server are subject to being
cleaned up. A transaction is considered “idle” if the Studio Customization Toolkit call
has completed (for example, verbose parameter tracing would show “dispatch
complete”), but the session that originated the Studio Customization Toolkit call is
still holding the Database connection open. This could happen due to improperly
handled transaction boundaries (a “start transaction” without “commit” or “abort”), or
if there is a large amount of work being performed by the session, but outside of the
Live Collaboration kernel (such as JSP code that is performing operations over a large
return set of objects). Note that a JPO is executed in the Live Collaboration kernel, so
a session executing a JPO will not be considered “idle” while the JPO is executing.
This does not mean that the transaction abort and cleanup is performed immediately
when the time expires, but rather means that the transaction becomes subject to being
aborted after that time. The actual transaction abort and cleanup occurs only when a
session accesses the same server as follows:
When any session enters the Live Collaboration kernel, one of the first things it does
is look for transactions idle for more than the MX_TRANSACTION_TIMEOUT
time. If such an idle transaction is detected, then the transaction will be aborted and
the database connection released. So, the cleanup mechanism relies on the fact that
other client sessions are trying to access the Live Collaboration kernel, meaning that
this variable is only useful in multi-server environments such as the Live
Collaboration Server.
If the original session was actually performing a long running operation, when it tries
to access the database connection a “transaction not started” error will be thrown.
A suggested setting is 300 (5 minutes). If not set (or set to 0), no transaction timeout is
in place. This setting is completely independent of existing session timeout methods
available in the xml/http version of the Studio Customization Toolkit.
These settings can be added to the enovia.ini file for both UNIX and Windows:
•
On Windows, this file exists in the SERVER_INSTALL\intel_a\code\bin\
directory, where it is created during installation.
•
On UNIX, typical settings are in the default startup scripts. Optional settings can be
set in one of the following ways:
•
•
UNIX start up shell scripts can be modified to include optional settings as
environment variables (startup scripts call mxEnv.sh).
The settings can be added to the enovia.ini initialization file. This file exists in the
SERVERHOME/<platform>/code/bin/ directory, where it is created during
installation.
If a setting is in both the startup shell script and the .ini file, the value in the shell
script is used.
Chapter 8: Installing the Live Collaboration Server
221
Most of the Optional Variables, Date/Time Format variables, and server diagnostic
variables of the enovia.ini file used for the Studio Modeling Platform or desktop
applications, can also be used in the enovia.ini for the Live Collaboration Server. The
variables that are NOT used by the Live Collaboration Server are:
•
those that are listed in Dynamically Updated Variables and are updated via Session/
Preferences;
•
those that are used for dialog placement and shown in Application Sections;
•
those that used for Customizing Help;
•
Font and Color Variables;
•
those that are user specific or have to do with the Graphical User Interface, as listed
below:
•
USER and MX_HOME_VAULT are user-specific and would not be desirable for
all Web clients.
•
FIND_LIMIT—server uses MX_BOS_FIND_LIMIT instead.
•
MQLWINDOWDISPLAY and MX_BACKGROUND_OPEN are used for
debugging programs, which shouldn’t be done on the Web.
•
MX_BACKGROUND_OPEN and MX_WIN_MIN_ON_LAUNCH have to do
with launching applications, which is a completely different mechanism on the
Web.
•
MX_EXPAND_ALL is not used—by default, formats are not expanded to show
files checked in when the Formats dialog box is displayed.
•
MX_RESTRICT_EXPAND—server uses MX_BOS_EXPAND_LIMIT instead.
Refer to Configuring ENOVIA Live Collaboration in Chapter 9 for more information.
Time Zones
through ENOVIA
Live Collaboration
Server
ENOVIA Live Collaboration stores times in Greenwich Mean Time (GMT) and performs
a run time conversion to display them in the client’s local time zone. However, times
displayed on Web clients (Web Navigator users as well as users of other programs that
connect via a Live Collaboration Server) will be in the time zone available to the server,
and not necessarily in the time zone of the Web client. For example, if a user in California
connects to a Live Collaboration Server in Connecticut that uses eastern time, times
displayed for that user will be in eastern time. Also, if that same user creates objects, the
create time will be stored in the database based on the eastern time converted to GMT.
The Live Collaboration Server gets its time zone in the same manner as other ENOVIA
Live Collaboration clients, and passes time information to a Web client in the time zone it
knows about.
222
ENOVIA Live Collaboration Installation Guide
UTF-8 Settings
UTF-8 encoding is recommended for supporting any language(s)—multiple non-English
languages or English-only. In addition, the database layer must use a character set (that is,
“content type”) that is a superset of all character requirements. Refer to Chapter 3,
Installing an Oracle Database for database configuration recommendations.
In order to support multiple languages, it is recommended that UTF-8 encoding is used on
all tiers. Therefore, even if you currently have no requirements to support other languages,
new implementations should establish a UTF-8 environment so that future flexibility is
simplified. If you are working in a legacy environment with a different content type (such
as csWindows31j), UTF-8 may be used on the top tiers but stored in the legacy character
set. However, in this scenario, you will not be able to support data content in other
non-English languages. Data migration to UTF-8 is possible via database tools; however,
for large databases the task is not trivial. Contact your database vendor for more
information.
You select UTF-8 support during Live Collaboration Server installation, which
automatically creates UTF-8 settings in your environment. For a description of these
settings see Automated UTF-8 Settings.
To finish enabling UTF-8, you must make additional changes to your configuration, as
described in Additional Manual UTF-8 Settings.
Automated UTF-8
Settings
This section describes the changes that automatically occur when UTF-8 support is
selected in Live Collaboration Server installations.
Changes for all J2EE application servers
•
The startup scripts for the Application Servers set the following:
MX_CHARSET=UTF8
LANG=C
NLS_LANG=_UTF8
On UNIX, these settings are made in mxEnv.sh and are exported as required. The
Application Server startup script runs this file. On Windows, these variables are set in
the enovia.ini file.
•
The following setting is added to web.xml:
ematrix.encoding=UTF8
RMI Standalone (non-RIP) changes
•
Both the rmid startup script as well as the RMIService set the following:
LANG=C
MX_CHARSET=UTF8
On UNIX the settings are exported as required. On Windows these variables are set in
the enovia.ini file.
Chapter 8: Installing the Live Collaboration Server
223
WebLogic changes
The following lines in weblogic.xml are uncommented:
<charset-params>
<input-charset>
<resource-path>/*</resource-path>
<java-charset-name>UTF8</java-charset-name>
</input-charset>
</charset-params>
WebSphere changes
In ibm-web-ext.xmi, which is located in SERVERHOME/ematrixwarutil/, the
autoRequestEncoding and autoResponseEncoding settings are enabled in
<webappext>. For example:
<webappext:WebAppExtension xmi:version="2.0" xmlns:xmi="http://
www.omg.org/XMI" xmlns:webappext="webappext.xmi"
xmlns:webapplication="webapplication.xmi" xmlns:xsi="http://
www.w3.org/2001/XMLSchema-instance" xmi:id="WebApp_1_Ext"
reloadInterval="60" reloadingEnabled="false"
fileServingEnabled="true" directoryBrowsingEnabled="false"
serveServletsByClassnameEnabled="false"
autoRequestEncoding="true" autoResponseEncoding="true">
Sun Java System Application Server changes
The sun-web.xml file has the following entries added:
<sun-web-app>
<locale-charset-info default-locale="en_US">
<locale-charset-map locale="en" charset="ISO-8859-1"/>
<locale-charset-map locale="en_US" charset="ISO-8859-1"/>
<locale-charset-map locale="ja" charset="UTF-8"/>
<locale-charset-map locale="ja_JP" charset="UTF-8"/>
<locale-charset-map locale="fr" charset="UTF-8"/>
<locale-charset-map locale="fr_FR" charset="UTF-8"/>
<locale-charset-map locale="de" charset="UTF-8"/>
<locale-charset-map locale="de_DE" charset="UTF-8"/>
<locale-charset-map locale="it" charset="UTF-8"/>
<locale-charset-map locale="it_IT" charset="UTF-8"/>
<locale-charset-map locale="ko" charset="UTF-8"/>
<locale-charset-map locale="ko_KR" charset="UTF-8"/>
<locale-charset-map locale="ko_KP" charset="UTF-8"/>
<locale-charset-map locale="zh" charset="UTF-8"/>
<locale-charset-map locale="zh_CN" charset="UTF-8"/>
<locale-charset-map locale="zh_TW" charset="UTF-8"/>
</locale-charset-info>
</sun-web-app>
224
ENOVIA Live Collaboration Installation Guide
Additional Manual
UTF-8 Settings
This section describes changes you must make to your Application Server environment
after selecting UTF-8 support during Live Collaboration Server installation. These
changes are for all platforms besides AIX. For AIX changes, see Additional Manual
UTF-8 Settings for AIX. Manual changes are required for all application.
To make manual changes for WebLogic
Edit the startWebLogic.sh/startWLS.sh (UNIX) or startWebLogic.cmd/startWLS.cmd
(Windows) file, located in the WebLogic installation directory. In $JAVA_OPTIONS or
the line that starts up the Java process add the following after the classpath:
-Dfile.encoding=ENCODING
WHERE:
ENCODING is the character encoding that the JVM will run in. This needs to be
equal to UTF-8.
For example, the line should read:
$JAVA $JAVA_OPTIONS -ms128m -mx128m -classpath
$JAVACLASSPATH -Dfile.encoding=UTF-8 ...weblogic.Server
Java accepts both “UTF-8” or “UTF8”.
To make manual changes for WebSphere
1. Open the WebSphere admin console (http://machinename:9090/admin) and log in.
2. Click Servers in the left-side tree.
3. Click Application Servers under Servers.
4. Click the server name in the right-side frame.
5. Scroll down and click the Process Definition link in the right-side frame.
6. Click the Java Virtual Machine link in the right-side frame.
7. Scroll down to the Generic JVM arguments field and add the following:
-Dclient.encoding.override=UTF-8
-Ddefault.client.encoding=UTF-8
-Dfile.encoding=UTF-8
For AIX you also need:
-Xmso1152k -Xss1024k
8. Click OK and then click the Save link at the top of the page.
9. Stop and restart the server.
To manual changes for Sun Java System Application Server
Using the Sun Java System Application Server Administrator’s console, add the following
JVM options on the JVM settings tab:
-Dfile.encoding=UTF-8
To make manual changes for Tomcat
1. In TOMCATINSTALLDIR/bin/startup.sh, add the following setting in
startup.sh
CATALINA_OPTS="-Dfile.encoding=UTF-8 -server"
Chapter 8: Installing the Live Collaboration Server
225
2. In TOMCATINSTALLDIR/webapps/enovia/WEB-INF/web.xml,
uncomment the Tomcat UTF-8 settings:
<!--
TomCat UTF-8 settings
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>com.matrixone.servlet.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
-->
3. In TOMCATINSTALLDIR/conf/server.xml, add the URIEncoding parameter
to the connector as shown below in bold:
<Connector acceptCount="100" connectionTimeout="20000"
disableUploadTimeout="true" port="8080" redirectPort="8443"
URIEncoding="UTF-8">
</Connector>
Additional Manual
UTF-8 Settings for
AIX
This section describes changes you must make to your Application Server environment
after selecting UTF-8 support during Live Collaboration Server installation with an AIX
platform.
To make manual changes for WebLogic
1. Edit the web.xml file located in SERVERHOME/distrib/enovia/WEB-INF/ by
adding the following lines under ContextParam 11:
<context-param id="ContextParam_12">
<param-name>weblogic.httpd.inputCharset./*</param-name>
<param-value>UTF-8</param-value>
</context-param>
2. Add the following without quotes to the startWebLogic.sh/startWLS.sh (UNIX) or
startWebLogic.cmd/startWLS.cmd (Windows) file located in the WebLogic
installation directory:
MEM_ARGS="-Xms512m -Xmx512m -Dfile.encoding=UTF-8 -Xss1024k
-XX:NewSize=80m -XX:MaxNewSize=80m -XX:MaxPermSize=128m:-Xnocl
assgc -XX:+DisableExplicitGC"
On Windows, you must add “set” (without quotes) in front of MEM_ARGS.
226
ENOVIA Live Collaboration Installation Guide
To make manual changes for WebSphere
1. Open the WebSphere admin console (http://machinename:9060/ibm/console and log
in.
2. Click Servers in the left-side tree.
3. Click Application Servers under Servers.
4. Click the server name in the right-side frame to open the configuration page.
5. Click Java and Process Management under Server Infrastructure.
6. Click Process Definition.
7. Click Java Virtual Machine under Additional Properties.
8. Scroll down to the Generic JVM arguments field and add the following:
-Dclient.encoding.override=UTF-8
-Ddefault.client.encoding=UTF-8
-Dfile.encoding=UTF-8
For AIX you also need:
-Xmso1152k -Xss1024k
9. Click Apply and then click the Save link at the top of the page.
10. Stop and restart the server.
To make manual changes for Sun Java System Application Server
Using the Sun Java System Application Server Administrator’s console, add the following
JVM options on the JVM settings tab:
-Dfile.encoding=UTF-8
To make manual changes for Tomcat
1. In TOMCATINSTALLDIR/webapps/enovia/WEB-INF/web.xml,
uncomment the Tomcat UTF-8 settings:
<!--
TomCat UTF-8 settings
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>com.matrixone.servlet.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
-->
Chapter 8: Installing the Live Collaboration Server
227
2. Add the following without quotes to catalina.sh or .bat on Windows located in
TOMCATINSTALLDIR/bin:
CATALINA_OPTS="-Xms512m -Xmx512m -Xss1024k -XX:NewSize=230m
-XX:MaxNewSize=230m -XX:SurvivorRatio=2 -XX:MaxPermSize=128m
-Dfile.encoding=UTF-8 -server"
On Windows, you must add “set” (without quotes) in front of CATALINA_OPTS.
228
ENOVIA Live Collaboration Installation Guide
File Collaboration Server
The ENOVIA Live Collaboration Server may be installed on the same host or a host in the
same LAN as those used for your file stores. When installed in this way, it acts as a File
Collaboration Server (FCS) to provide better performance for file operations to remote
sites. File Collaboration Servers require an Application Server and JDK. Your stores and
locations should reference the URL to their closest FCS server.
Refer to the System Manager Guide and the Application Development Guide for more
information on FCS.
Setting Up the FCS
Synchronization
Server
The File Collaboration Server (FCS) Synchronization Server is an ENOVIA V6
administration tool used to monitor and plan replicated store synchronization, and
facilitate production data management.
For customers deploying the ENOVIA V6 server with a multi-site configuration, this tool
makes location synchronization easy and efficient. It is a centralized administration server
for multi-site deployment.
A few definitions
File Collaboration
Server (FCS)
The File Collaboration Server (FCS) is the ENOVIA V6 server component in charge of
file storage.
Store
A store is a logical view of a storage location for checked-in files. A store typically
comprises, among other features, an FCS URL and a storage path (which can be
considered to be the default location).
Location
A location references alternate FCSs to be used by a store when distributing and
replicating files. The location specifies the URL of an FCS and a storage path.
Site
A site is an administrative object referencing one or more locations. The site is then added
to the definition of a group or person, to reference FCSs that are physically located closest
to persons concerned. Sites are created by System Administrators, and are needed
primarily when using multiple, distributed FCSs for performance purposes, leading to a
need for replication.
Replicated store
Stores can be distributed using asynchronous replication. Data is duplicated to all mirrored
locations only when commands are executed instructing the database to do so. Therefore,
when files are checked in, they are written to the location for the store that is also part of
the user's preferred site, or if no match is found, to the store's default location. They are not
replicated to alternate locations until specifically instructed to do so.
Store replication makes sense when an ENOVIA V6 deployment spans through network
links with low bandwidth and/or high latency.
Multi-site Installation
A multi-site installation is an ENOVIA V6 deployment containing at least two sites and
two locations with replicated stores.
Overview of FCS Synchronization Server functionality
The FCS Synchronization Server performs synchronization between two locations of the
same store or a location and its store based on customer-defined synchronization rules.
Chapter 8: Installing the Live Collaboration Server
229
The FCS Synchronization Server monitors the progression of these synchronization rules
and returns information on the amount of synchronized data and the locations concerned.
FCS Synchronization Server deployment
The FCS Synchronization Server is deployed as a daemon program, running on the central
site, connected to the database.
How the FCS Synchronization Server components work
The FCS Synchronization Server daemon is a multi-threaded stand-alone process in
charge of selecting and executing the synchronization rules. Its activity is traced in three
rotating log files.
The synchronization server periodically sends HTTP FCS “ping” requests to the FCS
servers managing locations involved in synchronization rules.
Supported synchronization rules
All rules perform synchronization between two locations of the same store or a location
and its store.
•
Rules executed periodically: the specific parameter for this rule is the time interval
between two executions. For example, synchronize two locations every two hours,
means that two hours must elapse between two executions of this rule.
•
Rules executed daily, weekly, monthly: the specific parameter for those rules is a date.
•
Rules executed when the amount of non up-to-date data files between two locations or
a location and store reaches a fixed value: for example, synchronize a store and one of
its location when the size of non up-to-date data files is above 100m.
These synchronization rules can also contain compression, concurrency, and business
object list definitions.
Configuring Synchronization Server daemon parameters
Configure as follows:
• Rules check frequency: the synchronization server daemon periodically checks for rules
to be executed. This parameter defines the frequency of those checks.
• Max-retry: the synchronization server daemon counts the number of times a business
object file synchronization fails. When this count reaches max-retry, the bus will be
excluded from all synchronization rule execution. In this case, the bus is listed on the log.
• Rule declaration: synchronization rules are declared in the <syncrules> section of
Synchronization Server xml rule file.
Here is the DTD of the syncrules section:
<!ELEMENT syncrules ( syncrule+ ) >
<!ELEMENT syncrule ( store , source , dest ,
daily | weekly | monthly | size | delay ) >
<!ATTLIST syncrules locale CDATA >
<!ATTLIST syncrule name CDATA #REQUIRED >
<!ELEMENT daily ( synctime ), zip? | concurrency? | buslist? >
230
ENOVIA Live Collaboration Installation Guide
<!ELEMENT weekly ( synctime ), zip? | concurrency? | buslist? >
<!ELEMENT monthly ( synctime), zip? | concurrency? | buslist? >
<!ELEMENT size ( syncsize ), zip? | concurrency? >
<!ELEMENT delay ( syncdelay ), zip? | concurrency? | buslist? >
<!ELEMENT synctime (#PCDATA)>
<!ELEMENT syncsize (#PCDATA)>
<!ELEMENT syncdelay (#PCDATA)>
<!ELEMENT zip>
<!ELEMENT concurrency (#PCDATA)>
<!ELEMENT buslist (class , param+ )>
<!ELEMENT class (#PCDATA)>
<!ELEMENT param (#PCDATA)>
<!ATTLIST param
name CDATA #REQUIRED
value CDATA #REQUIRED>
Here is a sample <syncrules> section:
<?xml version="1.0"?>
<syncrules locale="en_US">
<syncrule name="rule1">
<store>plmx</store>
<source>dali4dsy</source>
<dest>plmx</dest>
<daily>
<synctime>16:00</synctime>
</daily>
<zip/>
<concurrency>4</concurrency>
</syncrule>
<syncrule name="rule2">
<store>plmx</store>
<source>dali4dsy</source>
<dest>plmx</dest>
<weekly>
<synctime>Monday 11:00</synctime>
</weekly>
</syncrule>
<syncrule name="rule3">
<store>plmx</store>
<source>dali4dsy</source>
<dest>plmx</dest>
<monthly>
<synctime>13 16:00</synctime>
</monthly>
</syncrule>
<syncrule name="rule4">
Chapter 8: Installing the Live Collaboration Server
231
<store>plmx</store>
<source>dali4dsy</source>
<dest>plmx</dest>
<size>
<syncsize>150</syncsize>
</size>
</syncrule>
<syncrule name="rule5">
<store>plmx</store>
<source>plmx</source>
<dest>gagny2dsy</dest>
<delay>
<syncdelay>05:00</syncdelay>
</delay>
</syncrule>
<syncrule name="rule6">
<store>plmx</store>
<source>gagny2dsy</source>
<dest>plmx</dest>
<delay>
<syncdelay>03 12:00</syncdelay>
</delay>
</syncrule>
<syncrule name="rule7">
<store>plmx</store>
<source>gagny2dsy</source>
<dest>plmx</dest>
<daily>
<synctime>11:00</synctime>
</daily>
<buslist>
<class>com.dassault_systemes.fcs.syncserver.FileBus
ListTNRIterator</class>
<param name="path" value="E:\path_to_buslist_file\
buslist.txt" />
</buslist>
</syncrule>
</syncrules>
In the above sample:
232
•
Rule “rule1” will be launched at 16:00 (tea time) every day and executed on four
concurrent threads. The file synchronization streams generated by the rule will be
compressed.
•
Rule “rule2” will be launched at 11:00 AM every Monday.
•
Rule “rule3” will be launched at 16:00 (tea time) every 13th of the month.
ENOVIA Live Collaboration Installation Guide
•
Rule “rule4” will be launched when the amount of data to synchronize reaches
150 MB.
•
Rule “rule5” will be launched 5 hours after the last “rule5” run finished.
•
Rule “rule6” will be launched 3 days and 12 hours after the last “rule6” run finished.
•
Rule “rule7” will be launched at 11:00 AM every day and synchronize only the files
of the business objects listed in buslist.txt.
The locale attribute of the <syncrules> node defines the locale in which time and
dates is expressed in the rule definition file. This locale attribute is optional. If not
provided, the synchronization server hosting system's locale is used for date and time
parsing.
Accepted values for the locale attribute follow the pattern “aa_BB”:
•
“aa” expresses language encoded by two lowercase letters using the ISO-639 code
•
“BB” expresses country with two upper case letters using the ISO-3166 code.
Samples: “fr_FR” French locale and France, “en_UK” English locale for the United
Kingdom.
Time and date values in rule definitions
All time values are locale dependant, using jvm default local.
For daily rules <daily>, accepted sync time is “HH:mm” in 24h. As usual, “H” stands
for an hour digit, “m” stands for a minute digit, and “s” for a second digit.
For weekly rules <weekly>, accepted sync time format is “EEEE HH:mm” where “E”
stands for day-in-week letter. For example, with the German locale, “di 14:30” stands for
“Dienstag, 14:30”. Writing “dienstag 14:30” is recommended.
Using the French locale, to create a weekly rule starting every Friday a 8:30 PM, you can
set synctime value to “vendredi 20:30”.
For monthly rules <monthly>, accepted sync time format is “dd HH:mm”, where “d”
stands for a day-in-month digit.
For delay rules <delay>, accepted sync delay formats are “dd HH:mm” and “HH:mm”.
For size rules <size>, a positive non-zero integer is expected, ranging from 1 to 2 147
483 648. This size is implicitly expressed in megabytes (m). Size rules cannot contain
business object list definitions.
WARNING: A size below 100m might impair MCS performance.
Compression definitions
The zip flag <zip/> can be used in any rule to compress the file synchronization streams
generated by the rule. Compressed synchronization should only be used in a WAN
environment (the underlying network should have more than 1ms of latency) and when the
files involved are not already in a compressed format (for example, zip, jpg, gif, gz, etc.).
Concurrency definitions
The concurrency flag <concurrency> can be used in any rule to execute the rule on
more than one thread. Executing a rule on multiple threads increases synchronization
Chapter 8: Installing the Live Collaboration Server
233
performance in WAN environments by using more bandwidth for file synchronization.
The FCS Synchronization Server uses a smart dispatcher to prevent dead-locks and to
distribute the file synchronization operations evenly across the available threads. It is
recommended that no more than six threads be used to execute a rule. Concurrency should
only be used in a WAN environment.
Business object list definitions
The business object list flag <buslist> can be used in any rule except size rules to
restrict file synchronization to only the files of the business objects listed in a text file. The
public sync server interface, com.dassault_systemes.fcs.syncserver.BusTNRIterator, is
used to implement this restrictive list. This interface is found in FCSSyncServer.jar.
The text file containing the list of business objects should contain a line for each business
object. Each line must contain a type, name, and revision separated by the pipe character
(type|name|revision). The type, name, and revision combination should uniquely identify
the business object. For example:
VPLMtyp/PLMRepresentationDS|Fermoir Long_CENTRAL1806Representation87|--VPLMtyp/PLMRepresentationDS|Maintien court_CENTRAL1806Representation88|--VPLMtyp/PLMRepresentationDS|Maintien long_CENTRAL1806Representation89|--VPLMtyp/PLMRepresentationDS|Fermoir_CENTRAL1806Representation90|--VPLMtyp/PLMRepresentationDS|CouronneRonde_CENTRAL1806Representation91|--VPLMtyp/MaterialDomainDS|CENTRAL1806_Aluminium_MATERIAL_4MATERIAL|--VPLMtyp/PLMRepresentationDS|CENTRAL1806Representation47|--VPLMtyp/PLMRepresentationDS|Aiguilles_CENTRAL1806Representation94|--VPLMtyp/PLMRepresentationDS|Verre Saphir_CENTRAL1806Representation96|--VPLMtyp/PLMRepresentationDS|Corps_CENTRAL1806Representation97|---
Running the FCS
Synchronization
Server
The synchronization server daemon is launched via the VPMSyncDaemon.bat and
VPMSyncDaemon.sh scripts. This script starts a Java process running. Process behaviour
is defined by the XML rule file passed (among other arguments) to the starting shell.
The FCS synchronization server daemon process should run in a server environment as it
needs to access the MATRIX-R bootstrap file.
You can monitor synchronization server daemon activity in the generated logs. See the
-logPath and -logSize arguments below.
EV6 system administrator privileges are required to run the FCS Synchronization Server.
To run the FCS Synchronization Server on Windows
1. Go the installation folder:
SERVER_INSTALL\Apps\VPMMultiDiscipline\V6R2011x\bin\winnt\
2. Run the following command with the appropriate command-line parameters:
VPMSyncDaemon.bat
To run the FCS Synchronization Server on AIX
1. Go the installation folder:
SERVERHOME/Apps/VPMMultiDiscipline/V6R2011x/scripts/
2. Run the following command with the appropriate command-line parameters:
VPMSyncDaemon.sh
234
ENOVIA Live Collaboration Installation Guide
Command-line parameters
This is the full list of command-line parameters:
Parameter
Mandatory (M)/
Optional (O)
Description
-url MATRIXURL
M
URL of the ENOVIA V6 server or MCS Server, http://host:port/
root-uri/
-user USER
M
ENOVIA V6 connection user with system privileges
-password PASSWORD
M
Password of the ENOVIA V6 connection user, no scrambling.
-role ROLE
M
Role of the ENOVIA V6 connection user
-ruleFiles FILE1
[FILE2 [...]]
M
Sync Server configuration rules file, full path required
[-maxRetries NNN]
O
If a business object file synchronization fails more than NNN times it
will be discarded from further sync operations. Traces of this issue are
in the log file, with the ID of the failing business object. So the VPLM
system administrator should look (using MQL) at business object
history to see which file operation went wrong, or apply the checker.
Default: 5.
[-maxSyncRunner
Threads NNN]
O
Maximum number of threads used by the SyncRunner.
[-rulesCheckSecond
Elapse NNN]
O
Seconds elapsed between two checks of sync rule execution. Daily,
weekly, monthly rule execution time must not exceed <synctime>
value + 2*NNN. Default: 300.
[-logPath
path_of_the_log_
files]
O
A directory path. This directory will contain log files of the
SyncDaemon. Logs are written to three log files, fcssyncd0.out,
fcssync1.out and fcssyncd3.out. These logs are rotating logs, only one
is active at a time.
[-logSize
logfile_max_size_
in_megabytes
default 5]
O
Maximum size of an fcssyncX.out file.
[-proxyHost]
O
Host name of a proxy server
[-proxyPort]
O
Port number of a proxy server
[-nonProxyHosts]
O
Indicates the hosts which should be connected to directly and not
through the proxy server. The value can be a list of hosts, each
separated by a |, and in addition a wildcard character (*) can be used
for matching. For example: -nonProxyHosts="*.foo.com|localhost".
[-h] [-help]
O
Displays command line options help.
Chapter 8: Installing the Live Collaboration Server
235
Validating and
Debugging an FCS
System Administrators can validate an FCS installation by accessing the FCS About page.
The FCS About page shows important information about the FCS and is useful in
debugging operations. Additionally, accessing this page triggers the FCS to re-calibrate
any time differences that may exist between it and the MCS. A time is recorded for an FCS
and when the time is changed for a time change event like daylight savings time, this
recorded value is no longer correct and needs to be re-calibrated.
To access the FCS About page, run the following command from a web browser:
http://FCShost:Port/enovia/servlet/fcs/about
FCShost is the IP address or hostname of the machine on which the FCS is installed. Port
is the port where the FCS is located. For example: http://localhost:8089/enovia/servlet/fcs/
about.
236
ENOVIA Live Collaboration Installation Guide
Installing Multiple ENOVIA Live Collaboration
Servers (RIP only)
If you wish to provide access to more than one database via the same Web server host, you
need to install multiple instances of your Application Server, each with an RMI (RIP) Live
Collaboration Server pointing to a different ENOVIA schema. Refer to the following for
each instance:
•
Installing a Web or Application Server
•
Preparing to Install the ENOVIA Live Collaboration Server
•
Configuring the ENOVIA Live Collaboration Server
•
Chapter 10, Deploying J2EE
Use of one host machine for Web Access to multiple ENOVIA databases is supported by
the RIP Live Collaboration Server only.
Keep in mind for backup and maintenance purposes, that all servers must come down prior
to the database server.
Chapter 8: Installing the Live Collaboration Server
237
Interface for Downstream Installers, E4All, and
other Automated Installers
For downstream installers to be able to add their files into a previously installed ENOVIA
kernel installation, both the Live Collaboration Server and Studio Modeling Platform
Setup programs deposit a file named enovia.install into the top-level directory of the
respective installation to describe where various categories of files are to be found.
Internal Directory
Structure Defined
in enovia.install
Downstream installers must deposit their files in the correct locations. In order to do this,
they must do all of the following:
•
Request the kernel install directory as part of their installation process.
•
Use the directories specified in the enovia.install file, which can be found in the
top-level kernel installation directory:
•
•
SERVERHOME on UNIXor SERVER_INSTALL on Windows (Live
Collaboration Server)
•
ENOVIAHOME on UNIX or ENOVIA_INSTALL on Windows (Studio
Modeling Platform)
Construct the file target location based on the retrieved entries. The following are
some key paths that may need to be updated:
Old path (hard-coded)
New path (dynamically generated)
MQL Command
server\bin\winnt\mql.exe
<MQL_COMMAND>
Java Properties Path
server\java\properties\
<MANAGED_PATH>\properties\
Managed Path
server\managed\
<MANAGED_PATH>\
Staging Path
server\STAGING\ematrix\
<STAGING_PATH>\
Jar Path
server\java\lib\
Either:
<JAVA_COMMON_PATH>\ or
<JAVA_SERVER_PATH>\
Apps Path
studio\Apps\
<APP_INSTALL_PATH>\
The enovia.install file provides both necessary file names and absolute paths.
Example
enovia.install Files
238
The following is an example of a typical Server enovia.install file (on Windows):
ENOVIA_INI=C:\enoviaV6R2011x\server\intel_a\code\bin\enovia.ini
MQL_COMMAND=C:\enoviaV6R2011x\server\intel_a\code\bin\mql.exe
BIN_PATH=C:\enoviaV6R2011x\server\intel_a\code\bin
LIB_PATH=C:\enoviaV6R2011x\server\intel_a\code\bin
JAVA_COMMON_PATH=C:\enoviaV6R2011x\server\intel_a\docs\javacommon
JAVA_SERVER_PATH=C:\enoviaV6R2011x\server\intel_a\docs\javaserver
JAVA_CLIENT_PATH=C:\enoviaV6R2011x\server\intel_a\docs\java
JAVA_CUSTOM_PATH=C:\enoviaV6R2011x\server\intel_a\docs\custom
ENOVIA Live Collaboration Installation Guide
MANAGED_PATH=C:\enoviaV6R2011x\server\managed
DISTRIB_PATH=C:\enoviaV6R2011x\server\distrib
STAGING_PATH=C:\enoviaV6R2011x\server\STAGING\ematrix
APP_INSTALL_PATH=C:\enoviaV6R2011x\server\Apps
JAVA_CLASSPATH=C:\enoviaV6R2011x\server\intel_a\docs\javacommon;
C:\enoviaV6R2011x\server\intel_a\docs\javaserver;C:\enoviaV6R2011x\server\intel_a\docs\custom
JDK_PATH=C:\Java\jdk1.6.0_19
The Apps directory has been moved from ENOVIA_INSTALL\Apps\ (studio install tree)
to SERVER_INSTALL\Apps\ (server install tree).
The following is an example of a typical Studio enovia.install file (on Windows):
ENOVIA_INI=C:\enoviaV6R2011x\studio\intel_a\code\bin\enovia.ini
BIN_PATH=C:\enoviaV6R2011x\studio\intel_a\code\bin
LIB_PATH=C:\enoviaV6R2011x\studio\intel_a\code\bin
JAVA_COMMON_PATH=C:\enoviaV6R2011x\studio\intel_a\docs\javacommon
JAVA_SERVER_PATH=C:\enoviaV6R2011x\studio\intel_a\docs\javaserver
JAVA_CLIENT_PATH=C:\enoviaV6R2011x\studio\intel_a\docs\java
JAVA_CUSTOM_PATH=C:\enoviaV6R2011x\studio\intel_a\docs\custom
MANAGED_PATH=C:\enoviaV6R2011x\studio\managed
Matrix.ini and
eMatrix.ini File
Dependency
Removed
Both the Matrix.ini and eMatrix.ini files (formerly located in C:\WINDOWS\) have been
eliminated in ENOVIA sofware version V6R2011x. Rather than depending on these file to
determine the default ENOVIA core installation root path, downstream installers should
pop up a question and explicitly prompt the user to enter the core installation root path.
Studio Version of
MQL Command
Removed
Rather than using MQL from the Studio Modeling Platform installation
(ENOVIA_INSTALL on Windows or ENOVIAHOME on UNIX), downstream installers
should use MQL from the Live Collaboration Server installation (SERVER_INSTALL on
Windows or SERVERHOME on UNIX) in order to perform schema installation.
Uninstalling ENOVIA Live Collaboration Server
on UNIX/Linux
To uninstall the ENOVIA Live Collaboration Server software on UNIX/Linux
1. Back up the SERVERHOME\scripts\mxEnv.sh file and the
SERVERHOME\STAGING\ directory, if needed.
2. Remove the following ENOVIA server settings from the application server startup
script:
# MatrixOne
...
# MatrixOne
3. Delete the SERVERHOME directory.
Chapter 8: Installing the Live Collaboration Server
239
Uninstalling ENOVIA Live Collaboration Server
on Windows
To uninstall the ENOVIA Live Collaboration Server software on Windows
1. Back up the SERVER_INSTALL\<platform>\code\bin\enovia.ini file and
the SERVER_INSTALL\STAGING\ directory, if needed.
2. Stop the ENOVIA Server by clicking Start > All Programs > Dassault Systemes
Software V6R2011x > Stop ENOVIA Live Collaboration Server.
3. Remove the RMI window service as follows:
a ) Open a command prompt window.
b ) Enter the command:
> SERVER_INSTALL\<platform>\code\bin\RMIService.exe
-remove “ENOVIA Live Collaboration Server”
4. Remove the ENOVIA Live Collaboration Server-related shortcuts from the Start >
All Programs > Dassault Systemes Software V6R2011x menu.
5. Remove “SERVER_INSTALL\<platform>\code\bin” from the PATH
environment variable.
6. Delete the SERVER_INSTALL directory.
240
ENOVIA Live Collaboration Installation Guide
9
Configuring ENOVIA Live
Collaboration
Configuring ENOVIA Live Collaboration
ENOVIA Live Collaboration can be configured for each user’s environment. Environment
variables can be set in several ways:
1. By adding options to the command line of the application executable files.
2. By editing the initialization file in use (enovia.ini).
3. By editing the UNIX startup scripts that contain the variable settings for locating the
database and setting up the environment.
4. By adding personal properties to a person object.
5. By creating a program object called MatrixIniDefaults, which is designed to set
optional settings not set elsewhere.
6. By creating a program object called MatrixSystemDefaults, which is designed to set
those variables that must be set consistently between all users.
When ENOVIA Live Collaboration needs to read the value for a variable (with the
exception of the variables needed before a connection to the database is made), it checks if
the variable is allowed to be set locally (as described in Overriding Settings, below). If it
can be, it looks until it finds the setting in the following places:
241
•
first for properties on the current context person object, if it can be stored there (refer
to Setting Personal Preferences). If the person has a property of the same name as the
desired environment variable, its value is set.
•
next for the variable in the appropriate .ini file (enovia.ini) or shell script. If found, its
value is set.
•
next for a program in the database named MatrixIniDefaults. If it exists and sets a
value for the desired environment variable, its value is set.
•
in the case of a site preference, for the site on the group object.
If it cannot be locally set, its value is looked for in the Matrix System Defaults Program. If
not found there it uses the default value.
Wherever they are set, variables must be spelled correctly and set to appropriate values or
they are ignored.
Command Line
Options
You can append options to the command lines that run Studio Modeling Platform
applications. For example, MQL has a -v option that causes MQL to operate in verbose
mode. To use this option with Windows, create a shortcut for MQL and then bring up its
properties. The Properties window box shows the target path for the shortcut. For
example:
c:\enoviaV6R2011x\studio\intel_a\code\bin\mql.exe
Change the command line as follows:
c:\enoviaV6R2011x\studio\intel_a\code\bin\mql.exe -v
Save your changes by clicking OK. All Studio Modeling Platform command line options
can be set in this way. For a list of the command line options available, use the -help
option. For example:
c:\enoviaV6R2011x\studio\intel_a\code\bin\mql.exe -help
To see the command line options for the other desktop applications include a filename. For
example:
c:\enoviaV6R2011x\studio\intel_a\code\bin\matrix.exe -help
-stdout FILENAME
The file named FILENAME is written to the ENOVIA_INSTALL directory.
The Initialization
File/Startup
Scripts
Most software products that run under Windows use an .ini file to set environment
variables. UNIX uses startup scripts and sometimes ini files.
Windows
In Windows environments, Studio Modeling Platform applications read the enovia.ini file
upon startup to determine the location of the database and to set up the program
environment. During Studio Modeling Platform installation on Windows, the enovia.ini
file is placed in ENOVIA_INSTALL\studio\intel_a\code\bin\. The
applications then access the enovia.ini file as needed during the session. For example, the
pixmappath setting is read when the Studio Modeling Platform needs to display a .gif
image for the first time. When preferences or the size and location of a window are altered,
the changes are written to the enovia.ini file, and it is saved when the session is closed.
242
ENOVIA Live Collaboration Installation Guide
A typical Windows version of the enovia.ini file is as follows:
[MATRIX]
MATRIXHOME=C:\enoviaV6R2011x\studio\
MATRIXINSTALL=C:\enoviaV6R2011x\studio\
MX_FLASH_PATH=C:\enoviaV6R2011x\studio\mxcache
PIXMAPPATH=C:\enoviaV6R2011x\studio\intel_a\pixmaps\app\
COLORPATH=C:\enoviaV6R2011x\studio\intel_a\code\lib
MATRIXPATH=C:\enoviaV6R2011x\studio\intel_a\code\bin
MX_TCL_SHLIB=
TCL_LIBRARY=C:\enoviaV6R2011x\studio\intel_a\tcl85\lib\tcl8.5
TK_LIBRARY=C:\enoviaV6R2011x\studio\intel_a\tcl85\lib\tk8.5
TMPDIR=C:\DOCUME~1\ay8\LOCALS~1\Temp
MX_DEFAULT_KERNEL=
MX_JVM_DIR=C:\Program Files\Java\jdk1.6.0_19\jre\bin\client\
MX_JDK_DIR=C:\Program Files\Java\jdk1.6.0_19\
MX_JAVAC=C:\Program Files\Java\jdk1.6.0_19\bin\javac.exe
MX_CLASSPATH=C:\Program Files\Java\jdk1.6.0_19\lib;C:\
enoviaV6R2011x\studio\managed\properties;C:\enoviaV6R2011x\studio\
intel_a\docs\javacommon;C:\enoviaV6R2011x\studio\intel_a\docs\java
server;C:\enoviaV6R2011x\studio\intel_a\docs\custom;
LANG=C
UNIX
On UNIX, startup scripts are used to set up the program environment and establish the
location of the database. For the Live Collaboration Server, the variables are in mxEnv.sh.
The .ini file is created on UNIX upon closing the Studio Modeling Platform for the first
time. It is used to store optional settings, preferences, and changes to window size and
location. The file is stored in the user’s home directory, where it is referred to for
subsequent Studio Modeling Platform sessions. As on Windows, when preferences or the
size and location of a window are altered, the changes are written to the file, and it is saved
when the session is closed.
Live Collaboration Server Environment
When installing the Live Collaboration server to provide access to ENOVIA Live
Collaboration via Matrix Web Navigator or other Web-based applications, it must be set
up as any other ENOVIA Live Collaboration client. This means that it must not only have
a connection file (MATRIX-R file) and a database alias established, but it also requires an
initialization file on Windows. A separate file, also called enovia.ini is created and
installed when the ENOVIA Live Collaboration Server is installed on Windows platforms.
During Live Collaboration Server installation, the enovia.ini file is placed in
SERVER_INSTALL\intel_a\code\bin\ (previously C:\WINDOWS\). The
server’s enovia.ini file can (and should) contain most of the settings that have been added
to the enovia.ini file for your Studio Modeling Platform clients.
Chapter 9: Configuring ENOVIA Live Collaboration
243
On UNIX, “typical” settings are part of the default start up scripts for the server
(rmireg.sh, startweblogic.sh) in the same way as other ENOVIA Live Collaboration
clients. Likewise, “optional” variables may be set in the other configuration vehicles
available to every UNIX client: start up shell scripts, .ini file, or MatrixIniDefaults
program. Keep in mind that these settings on the server will be used for all Web users.
Refer to ENOVIA Live Collaboration Server Environment Settings in Chapter 8 for more
information on variables that apply only to the servers.
Setting the Location of the enovia.ini File on Windows
In Windows environments, it is highly recommended that the enovia.ini file (previously
matrix.ini) for the Studio Modeling Platform and the enovia.ini file (previously
ematrix.ini) for the Live Collaboration Server not be located in the Windows installation
directory or C:\WINDOWS. You can choose to put these files in any directory, however
enhanced Windows security does not permit applications to modify files in this directory.
Also, it is important to note that the enovia.ini file installed with the Studio Modeling
Platform and the enovia.ini file installed with the Live Collaboration Server are not
interchangeable and should not be placed in the same directory.
An enovia.ini file directory can be set in any of the following ways:
•
Appending the -inidir option to the command lines that run the Studio Modeling
Platform applications. For example:
mql.exe -inidir c:\enovia
For details on appending options, see Command Line Options.
•
When installing the Live Collaboration Server as a Windows service, the directory
can be set with the RMIService.exe config option. For example:
RMIService.exe -config "ENOVIA Live Collaboration Server"
-inidir c:\enovia
For details, see Reconfiguring the ENOVIA Live Collaboration Server Windows
Service.
•
Setting the Windows environment variable, ENOVIAINIDIR. For details, see Typical
Environment Variables.
•
Setting the enovia.inidir variable in the web.xml file. For details, see Web.xml.
•
When developing a custom Studio Customization Toolkit application, you can call the
static method, MatrixSession.setIniDirPath(PathToIni), to set the directory. This must
be done before any other Studio Customization Toolkit call is made.
•
When running a custom Studio Customization Toolkit application based on
eMatrixServletRMI or when using any Java based application server (e.g. Tomcat),
you can set the directory using the JAVA_OPTS: “-Denovia.inidir=PathToIniDir.” For
example:
java.exe -Denovia.inidir=c:\enovia myApp
The JAVA_OPTS must also be applied to the matrix.util.ComputedClassPath.
If you are running the RMI service in a command window (rmireg.bat), the
JAVA_OPTS must be applied to rmid.exe using “-C-Denovia.inidir=PathToIniDir.”
Since copies of the enovia.ini files can exist in more than one location on the same
machine, the system uses a lookup order to determine which files to use. This lookup order
is used to determine which file to use. It is not used to determine which values in that file
to use.
244
ENOVIA Live Collaboration Installation Guide
The table below lists the lookup order used. The system will attempt to use the directory
defined by the first method on the list. If no directory is defined, it moves on to the next
method down to the default directory, C:\WINDOWS. If the directory defined by a method
does not exist, the system will NOT move to the next method.
ENOVIA Studio
Modeling Platform
Applications
Web Server
ENOVIA Live
Collaboration
Server
Studio
Customization
Toolkit Application
Set directly to
MatrixSession
-inidir Argument.
Java Options
For Windows Service:
RMIService.exe config
(-inidir). For
Rmireg.bat: Java
Options enovia.inidir
Java Options
enovia.inidir.
web.xml file
Environment Variable
Environment Variable
Environment Variable
Environment Variable
Executable Location
eMatrix.jni.dll or
eMatrix.net.dll location
eMatrix.jni.dll location
eMatrix.jni.dll or
eMatrix.net.dll location
C:\WINDOWS
C:\WINDOWS
C:\WINDOWS
C:\WINDOWS
Setting Personal
Preferences
For .ini settings that are intended to express a personal preference, properties can be added
on person objects for Web users to override values set for the server. Only a few
environment variables are appropriate to set as person properties for Web Navigator users,
as well as users of other ENOVIA products. They are:
MX_DECIMAL_SYMBOL
MX_SITE_PREFERENCE
MX_ALIASNAME_PREFERENCE
MX_LANGUAGE_PREFERENCE
Language aliases are not supported for use with ENOVIA applications. Translations of
schema are handled via Java resource bundles. Therefore,
MX_ALIASNAME_PREFERENCE and MX_LANGUAGE_PREFERENCE should not be
set in the enovia.ini file for the Live Collaboration Server.
Refer to the Business Modeler or MQL Guide for more information on adding properties
to persons.
MatrixIniDefaults
Administrators can write a program called MatrixIniDefaults, that is designed to set
system-wide variables that should not be set elsewhere. The MatrixIniDefaults program
can be created in MQL or Business Modeler, to hold variable values using the same syntax
as the .ini file. No other logic is required. The settings in the program are used if the
variables are not set on either the current context object as a personal preference, or in the
applicable .ini file. For example, a MatrixIniDefaults program might include the following
code:
MX_NORMAL_DATETIME_FORMAT=moy/dom/yr4 h12:min:sec mer
Chapter 9: Configuring ENOVIA Live Collaboration
245
Since the MatrixIniDefaults program is in the database, it is shared by all users of the
system, regardless of the ini file they are referencing on their desktop or to which server
location they connect. This makes it a convenient place in which to manage settings which
should be in force for all users. Generally, only a very few (but crucial) variables are set in
this manner.
If the same variables are set locally (via .ini file) and globally (via MatrixIniDefaults),
local values override global values. This allows variables to be set locally as required for
administrative tasks such as running batch jobs, development tests, or diagnostics.
However, in most cases, there should be no duplication of settings between configuration
vehicles.
Certain settings are not suitable for MatrixIniDefaults, because they are required during
system startup, when no database connections exists. The following settings CANNOT be
set with MatrixIniDefaults and must be set through either the environment or the
enovia.ini file for the Live Collaboration Server (previously ematrix.ini):
Matrix System
Defaults Program
246
bootfile
MX_MEMORY_KEEP_LIMIT
COLORPATH
MX_MEMORY_SYSTEM_LIMIT
MATRIXHOME
MX_MEMORY_TRACE
MX_BOS_EXPAND_LIMIT
MX_SESSION_SILENT_TIMEOUT
MX_BOS_FIND_LIMIT
MX_SESSION_TIMEOUT
MX_BOS_ROOT
MX_SQL_TRACE
MX_BOS_WORKSPACE
MX_TRACE_FILE_PATH
MX_CHARSET
MX_VERBOSE_TRACE
MX_CLASSPATH
root
MX_CONNECTION_POOL_SIZE
workspace
MX_MAX_THREAD
.
MatrixSystemDefaults program is designed to allow administrators to centrally control
MX_ settings in a manner that cannot be overridden by local environment/ini-file settings.
This program is read as soon as a database connection is obtained, and used to initialize
the MX_ variables it contains. If this program exists, any variables not set in it, or not
allowed to be overridden use their default values. If no MatrixSystemDefaults program
exists, the system functions as described above. The diagram below describes the logic
used for setting variables.
ENOVIA Live Collaboration Installation Guide
Similar to the MatrixIniDefaults program, the format of the code section of the program
object named MatrixSystemDefaults must be identical to an ini file with one
NAME=VALUE per line. Comments can be indicated with ‘#’. However, the
MatrixSystemDefaults program can include any number of local sections so that servers or
groups of users can be pointed at specific configurations for each of them, by including the
name of the local section they need in their environment. The system defaults program can
also include a list of variables that are allowed to be overridden locally, using a variable
called MX_SYSTEM_OVERRIDE_ALLOWED. The sections that follow describe these
novelties of the MatrixSystemDefaults program.
Global and Local Sections
You can include section markers in square brackets to split the file into global settings,
which will apply to all users connecting to the database, and any number of local sections.
A section marked in brackets by something other than “Global” is considered to define a
set of local settings whose name is the set of characters in the brackets. Users connecting
Chapter 9: Configuring ENOVIA Live Collaboration
247
with the variable MATRIX_LOCAL_SETTINGS set (in the operating system
environment or the ini file) to text included in square brackets in the
MatrixSystemDefaults program, will use the settings in that section. If a setting is in both
the [Global] and [Local] sections, the value in the Local section will override the value in
the Global section.
It is not necessary to explicitly label a section as Global, but the Global section must
always be first. If the MatrixSystemDefaults program starts with lines of the form
NAME=VALUE that precede any section heading, they will be considered to constitute
the global settings. This section will terminate with the first section heading. If there is
more than one section with the same name, all but the first is ignored.
Overriding Settings
All variables with names beginning with “MX_” can be set somewhere other than in the
MatrixSystemDefaults program only if they are explicitly allowed by the
MX_SYSTEM_OVERRIDE_ALLOWED variable. This variable, which can only be set
in the global or activated local section of the MatrixSystemDefaults program, should be
set to a comma-delimited list of MX_ variable names. In this list, you can use the “*”
wildcard to match any number of characters. Other than variables that must be read before
the database can be started (see Initialization Settings), if there is a MatrixSystemDefaults
program, only those MX_ variables matching those in this list can be set in any way other
than through this program. If the MatrixSystemDefaults program exists, any variables not
set in it, or not allowed to be overridden use their default values.
In a Live Collaboration server environment, be sure to include MX_CLASSPATH in the
list of variables in MX_SYSTEM_OVERRIDE_ALLOWED in MatrixSystemDefaults
program object.
MX_SYSTEM_OVERRIDE_ALLOWED is only valid when set in the
MatrixSystemDefaults program. If set elsewhere, it is ignored.
Note that in a typical developer environment, when work is done against a development or
test version of the database, you may want to remove the MatrixSystemDefaults program
to allow the developers significant local control.
Initialization Settings
The following MX_ settings are read before the database is initialized and therefore
cannot be set in MatrixSystemDefaults:
MX_CHARSET
MX_MAX_THREAD
MX_MEMORY_KEEP_LIMIT
MX_MEMORY_SYSTEM_LIMIT
MX_MEMORY_TRACE
MX_SESSION_SILENT_TIMEOUT
MX_SESSION_TIMEOUT
In addition, MX_CONNECTION_POOL_SIZE must be read to create initial connections,
but could be overridden in MatrixSystemDefaults for subsequent connections.
248
ENOVIA Live Collaboration Installation Guide
Sample Program
The following is a commented version of a sample MatrixSystemDefaults program object:
[Global]
#
# This lists the variables that may be overridden by OS
environment or ini file settings
MX_SYSTEM_OVERRIDE_ALLOWED=
MX_CLASSPATH,*TRACE*,MX_EDITOR*,MX_TCL*
#
# These settings will be enforced for all users
MX_RESTORE_CONTEXT=FALSE
MX_RESTORE_TRIGGERS=TRUE
MX_NESTED_TRIGGER_MACROS=TRUE
MX_CONNECTION_POOL_SIZE=10
#
# These settings will be enforced for users who connect to an
# executable that was started with the variable
# MATRIX_LOCAL_SETTINGS=Paris (set in environment or ini file)
[Paris]
MX_LDAP_HOST=mxs1am
MX_LDAP_AUTHENTICATOR=xxx
MX_LDAP_BIND_DN=xxx
MX_LDAP_BIND_PASSWORD=xxx
…
# These settings will be enforced for users who connect to an
# executable that was started with the variable
# MATRIX_LOCAL_SETTINGS=Boston (set in environment or ini file)
[Boston]
MX_LDAP_HOST=mxmlsun1
MX_LDAP_AUTHENTICATOR=xxx
MX_LDAP_BIND_DN=xxx
MX_LDAP_BIND_PASSWORD=xxx
…
Protecting Against Locking All Users out
It is possible for a situation to develop in which no user can login. For example, consider
the case where an LDAP server is in use and the MatrixSystemDefaults program is set up
in such a way that users are not permitted to override the LDAP settings in their own ini
file or environment. In this case, the LDAP settings will be in the MatrixSystemDefaults
file, either in the global or a local section. Now consider what might happen if the LDAP
settings need to be modified, say, because the server is now on another machine. If the
settings have not been changed in the MatrixSystemDefaults program, LDAP will not
work and no further logins will be possible, including for System Administrators.
To protect against such problems, it is recommended to have a local settings section for
use by system administrators that allow any MX_ variables to be set. You will want to
make sure that no one other than system administrators know the name of this section. In
this regard, it is important to remember that if a program is set to hidden, the MQL
command print program will not print out the code of the program except for
business administrators who have program administrative access.
Chapter 9: Configuring ENOVIA Live Collaboration
249
If for some reason you are stuck and even administrators cannot login to fix the system, a
last resort is to change the name of the program in the database using a database tool such
as sqlplus to modify the database. The sql needed to accomplish this task is:
update mxProgram set mxName='MatrixSystemDefaults-bak' where
mxName='MatrixSystemDefaults';
Once the MatrixSystemDefaults program no longer exists, all users can set any MX_*
variables in their ini file or environment. An administrator can then login and fix the
MatrixSystemDefaults-bak program and rename it back to original name so that it controls
the appropriate settings.
250
ENOVIA Live Collaboration Installation Guide
ENOVIA Live Collaboration Settings
By adding or changing entries to the enovia.ini file for the Studio Modeling Platform,
certain settings can be adjusted or added in order for ENOVIA Live Collaboration to
perform properly in your environment. Other changes enhance the appearance of the
Studio Modeling Platform. All changes to the enovia.ini file must be done on each
machine requiring the specific modifications. The variables are described below.
ini/script settings can be up to be 4096 bytes long. However in Windows, the cmd shell
limitation on command line length is 2048 bytes. Refer to MX_CLASSPATH for an
explanation of the ComputedClassPath, which also must not exceed 2048 bytes in
Windows.
Refer to ENOVIA Live Collaboration Server Environment Settings in Chapter 8 for details
on which variables apply to the server.
Typical
Environment
Variables
The following are some of the variables specified in the [matrix] section of enovia.ini:
MATRIXHOME specifies the location of the connection file (MATRIX-R file).
After the installation is complete and Matrix is operational, the connection file
manages where the database resides.
MATRIXINSTALL is the root installation directory for Studio Modeling Platform or
Live Collaboration Server, as defined in the installation procedure. For example,
C:\enoviav6r2011x\studio\ or C:\enoviav6r2011\server\.
ENOVIAINIDIR is a Windows environment variable that specifies the location of
the enovia.ini file. For example: ENOVIAINIDIR=C:\enoviaV6R2011x\server\intel_a\code\bin. For details, see Setting the Location of
the enovia.ini File on Windows.
PIXMAPPATH is where Matrix looks for icons as images. If you have a library of
icons to use with Matrix, you can append the location of your icons to this value.
COLORPATH is the path to the RGB.txt file which defines the color mixtures to the
system.
MATRIXPATH is the execution directory, as defined in the installation procedure.
For example, <MATRIXINSTALL>\<platform>\code\bin\.
TCL_LIBRARY sets the path to the Tcl script, init.tcl, which initializes Tcl for use
with MQL.
TK_LIBRARY sets the path to the Tcl script tk.tcl, which initializes Tk for use with
MQL.
TMPDIR is a directory that ENOVIA Live Collaboration will use for temporary files.
Because each operating system also has its own environment setting for this use, you
should set TMPDIR to the same value as the TMP operating system variable for
predictable results. Once a transaction is completed, the files are removed from this
directory. If space is limited on the disk where ENOVIA Live Collaboration is
installed, you may want to change this to point to a disk with more free space.
On Windows, if TMPDIR is not set, it defaults to the value of the TEMP environment
variable setting. If one does not exist or is invalid, TMPDIR is set to the same
directory as MATRIXINSTALL. On UNIX, there is no default setting for TMPDIR
but the Live Collaboration kernel uses /usr/tmp/ if the variable is not set.
Chapter 9: Configuring ENOVIA Live Collaboration
251
MX_JVM_DIR specifies specifies the location of the Java Virtual Machine.
MX_JDK_DIR specifies specifies the location of the Java Development Kit.
MX_JAVAC specifies the location of the javac compiler.
MX_CLASSPATH contains the path to the Java compiler that is specified during the
ENOVIA Live Collaboration installation. It is used by the Studio Modeling Platform
and the ENOVIA Live Collaboration Server service when starting the Java Virtual
Machine (JVM) for both compiling and executing JPOs. With the Studio Modeling
Platform, if you are running JPOs that are provided with ENOVIA Businss Process
Services or other ENOVIA products, MX_CLASSPATH must include the path to the
Business Process Services jar files.
ComputedClassPath is a routine called by rmireg in RMI non-RIP setups that builds
the classpath by combining the environment classpath + MX_CLASSPATH + all .jar
files and all .zip files in each directory listed in MX_CLASSPATH. On Windows, if
the Computed Class Path exceeds 2048 bytes, errors will occur in the application
server or ENOVIA Live Collaboration Server service. If classpath errors occur due to
this Windows limitation, you should remove any references to unnecessary jar or zip
files in MX_CLASSPATH.
MX_ARCH specifies the Dassault Systèmes-defined architecture value (one of
intel_a, win_b64, aix_a64, linux_a64, linux_b64, solaris_a64, or solaris_b64). This
variable was previously named ARCH. It is automatically set in the rmireg.sh script.
FlashDB variables
FlashDB is a next generation caching technology that improves the stability and
scalability of the ENOVIA Live Collaboration Server. It replaces the c-tree engine
(“Turbocache”) used in Matrix since Version 7 with a more modern design. Stability
improvements are achieved limiting in-process memory use for caching database
information and using an embedded database on disk for working with large data sets that
require more memory. Also, FlashDB uses background threads for database reads and
writes, taking advantage of multi/hyper threaded machines, thereby improving scalability.
The following variables are used to configure FlashDB.
MX_FLASH_PATH sets the directory that KeyDB uses to store its temporary files.
Installation programs for the Live Collaboration server set this to SERVER_HOME/
mxcache and for Studio Modeling Platform to MATRIXHOME/mxcache.
Subdirectories beginning with “flash” (followed by 20 hex digits) are created to hold
each KeyDB instance, one for each session. A KeyDB instance is just a set of flat
files, so the depth of the directory tree is the depth of MX_FLASH_PATH + 1.
On UNIX servers, the mxcache directory is given 770 permissions (drwxrwx---) by
default. For the Studio Modeling Platform on UNIX, the permissions are set to 777
(drwxrwxrwx). Permissions can be adjusted as appropriate for your environment.
For the Studio Modeling Platform, this directory is cleaned up automatically when the
client exits. For the Live Collaboration server, the files are typically left behind when
the server exits. A purge of this directory should be implemented at regular intervals
to avoid waste of excessive disk space. Each application server should have a separate
setting for MX_FLASH_PATH to allow these temporary files to be cleaned up as part
of server startup and/or server maintenance, similar to how log files are maintained on
multiple servers.
252
ENOVIA Live Collaboration Installation Guide
For the ENOVIA Live Collaboration Server, there must be ample disk space available at
this directory location for these temporary files. The requirement will vary, but a good
starting point is to assume you will need 10% of the diskspace used by the database
tablespaces.
MX_HYPER_THREADED may be set to false in a server environment to turn off
the use of a background thread for communication to the database server. The default
is true. The default allows Flash to take advantage of multi-cpu’s during the
processing of a single transaction. This setting is ignored by the Studio Modeling
Platform, but is always false.
By following best practices (especially in the definition of queries and expands) you
should be able to avoid the need for the server to handle result sets so large that they need
to use disk I/O for most interactive operations. Any interactive operation that has high
memory requirements should be reviewed to reduce the size of the data set. However,
recognizing that there are use cases (such as report generation) that must process
extremely large datasets, FlashDB provides some controls on how much memory should
be used to cache database rows to process requests. If these limits are exceeded, FlashDB
will use local disk files for temporary storage of such data, so correctly setting these limits
can be important to prevent two serious consequences of excessive memory consumption:
•
If memory usage reaches the MX_MEMORY_SYSTEM_LIMIT, ENOVIA Live
Collaboration will start to produce “insufficient memory” errors and abort
transactions. See “Memory variables” below.
•
If the memory usage reaches the operating system limit, the process will shutdown.
By default, FlashDB does not use disk space for caching.
Memory variables
The following memory settings should be configured for your environment based on
installed server memory. Thread limits should be emphasized over system limits so only
long running operations are affected. As a best practice to increase server stability, data
should be paged to disk. Paging reduces in-process memory usage for large datasets. If
you periodically see “insufficient memory” errors in your mxtrace log, you need to
re-adjusted these settings to support larger in-process memory usage.
MX_CACHE_SYSTEM_LIMIT sets a threshhold on memory consumption for all
threads, before using KeyDB. If the number of bytes of in-process memory being
used by all active sessions exceeds this setting, FlashDB will start paging the database
rows for all sessions to disk. The default is 0, meaning unlimited, so no paging will
occur. MX_CACHE_SYSTEM_LIMIT should be set to no more than 80% of
MX_MEMORY_SYSTEM_LIMIT, in order to force paging to disk to occur
BEFORE the system memory limit is reached.
MX_CACHE_THREAD_LIMIT applies to a single thread only. If the number of
bytes of in-process memory being used by a single session exceeds this setting,
FlashDB will start paging the database rows for that single session to disk. No other
threads are affected. The default is 0, meaning unlimited, so no paging will occur.
MX_CACHE_THREAD_LIMIT should be set somewhat lower than
MX_CACHE_SYSTEM_LIMIT to minimize the likelihood that a single thread,
processing a large request, will affect the performance of other threads by consuming
all the memory. Use of this setting means that greedy threads will page data to disk,
Chapter 9: Configuring ENOVIA Live Collaboration
253
thereby slowing their processing, but also leaving more memory available for other
threads to use. A reasonable setting is 50% of the value of
MX_MEMORY_SYSTEM_LIMIT.
MX_MEMORY_SYSTEM_LIMIT is meant to be the high water mark of allowable
memory allocation for the native Live Collaboration kernel. The ENOVIA Live
Collaboration memory manager tracks the number of bytes allocated and will issue
warnings for every allocation over the MX_MEMORY_SYSTEM_LIMIT. There are
several areas in the Live Collaboration kernel that will also look for allocations over
the MX_MEMORY_SYSTEM_LIMIT and abort the transaction. These checks are
places in functional areas that are known to be memory intensive (database rowset
loading, queries, expands and history lookups). The goal is to have the Live
Collaboration kernel abort the transaction that is consuming large amounts of
memory while allowing the other threads to continue working.
MX_MEMORY_THREAD_LIMIT sets the maximum amount of memory that may
be used for a single ENOVIA Live Collaboration thread. The default is 1GB. Should
allocation attempts be made beyond this size, warning messages will be written to the
server log that identify the program file name and line number.
Optional Variables
The following variables are not required to be set in order for ENOVIA Live Collaboration
to function. When the variable is not explicitly set in the environment, ENOVIA Live
Collaboration uses the default values. If required, these values should be added to the
[matrix] section of the .ini file (or for UNIX, the startup script).
USER can be used with another optional variable, MX_HOME_VAULT, to let you
set a default context for ENOVIA Live Collaboration for Windows. USER is the
default user name and MX_HOME_VAULT is your default vault. If you are using
Windows, when a Studio Modeling Platform application is opened, the context
window comes up with the user name as it appears in SYSTEM.INI, unless the USER
variable is set here.
HOME is your default home directory.
FINDLIMIT sets the default limit field in ENOVIA Live Collaboration Find
window. Defaults to 0 or no limit. Does not affect MQL queries. The results of some
queries will load faster in the details view if a limit is specified. Setting FINDLIMIT
allows you to establish a default value to optimize performance in case no limit is set
in the query. When limits are set in the query, this value is ignored, and the new value
does not change this setting. To optimize performance, but still find all objects that
meet the criteria, you may want to make this value very large, for example,
FINDLIMIT=100000.
MQLWINDOWDISPLAY when set to true, displays an MQL window when running
eMatrixMQL/MQLIO that may be used to diagnose and debug these programs and
applications. The default is false, which means that the MQL session appears as a
button on the Windows task bar for eMatrixMQL/MQLIO, matrix -wizard, matrix -c,
mql -c -d, and openedit, but cannot be opened. (Note: use of mql -c without '-d' does
display the window).
MX_ANNOTATION_TYPE sets the non-English word used for Annotations. A
business object type of the name specified here must be defined in order for the
Annotation function to operate properly when used in a non-English setting. The
default is Annotation.
254
ENOVIA Live Collaboration Installation Guide
MX_ATTACHMENT_TYPE sets the non-English word used for Attachments. A
business object type of the name specified here must be defined in order for the
Attachment function to operate properly when used in a non-English setting. The
default is Attachment.
MX_REPORT_TYPE sets the non-English word used for Reports. A business
object type of the name specified here must be defined in order for the Report
function to operate properly when used in a non-English setting. The default is
Report.
MX_ABORT_DANGLING_TRANSACTION, when set to TRUE, tells a top-level
program to abort any uncommitted transactions upon exiting, as long as the
transaction was not already open when the program was started. This prevents
transactions from being left hanging, with its table locks intact, until the Live
Collaboration server or Studio Modeling Platform application is shut down and
restarted. On the Live Collaboration server, this is set to TRUE by the default
installations.
MX_ACCESS_LOG may be enabled by setting this variable to true. Access logging
provides auditing of all access right grants and denials. UNIX systems make use of
the UNIX syslog(3) interface to log, write, or forward messages to designated files or
users; on Windows systems, the Application Event Log is used. The default is false,
meaning logging of access is off. Refer to the MQL Guide for more information on
access logging.
MX_BACKGROUND_OPEN allows background processes to be launched (for
example, Open for Edit or View) while still allowing the Studio Modeling Platform to
operate. The default is true, but may be disabled by setting this value to false. You
may wish to set this to false while debugging Open for Edit or View programs.
MX_CHARSET is set to enable multiple double-byte languages through the same
ENOVIA Live Collaboration instance on a server machine with an English O/S.
When needed, set to UTF8. At this time, if you want to run two or more languages
other than English concurrently you need to run an on an English O/S. (Other
language O/S’s can run English and that language.) For applications that display
Japanese characters with a WebLogic server, set this to either MS932 for Windows
applications or csWindows31j for UNIX applications.
MX_CHECK_DUPLICATE_NAMES may be set to false to prevent ENOVIA Live
Collaboration from checking all vaults for name collisions, which will improve
performance. Even when set to false, objects of the same type, name, and revision
may not exist within the same vault. Default is true, preventing duplicate names
throughout all vaults. This setting should not be changed if your company does not
use auto naming techniques for all objects that have a name uniqueness requirement.
Turning off name uniqueness checking allows objects to be migrated to ENOVIA
Live Collaboration via a change vault command when an Adaplet is in migrate mode.
Changing to false may also be advantageous in an exchange environment, such as
Sourcing Central, where each Company is assigned their own vault. If applications try
to create objects with duplicate type, name, and revision and this setting is true, an
Oracle constraint violation error occurs instead of the ENOVIA Live Collaboration
error.
MX_JAVA_DEBUG when set to true allows the thick client to attach to a
JPDA-enabled Java IDE, such as NetBeans or Eclipse. When true, this sets
JAVAC_FLAGS=G, which will compile Java classes with debug information. When
true, the libjdwp.so file needs to be in the path specified in the library path variable for
the specific platform, as given below:
Chapter 9: Configuring ENOVIA Live Collaboration
255
Solaris - LD_LIBRARY_PATH
AIX - LIBPATH
Windows - PATH
For example, on Solaris: LD_LIBRARY_PATH=/usr/lib/lwp;/usr/java/lib/sparc.
MX_JAVAC_FLAGS allows the passing of extra flags to the Java compiler. For
example, when set to “G”, Java classes are compiled with debug information.
MX_JAVA_OPTIONS sets Java options for desktop use of JPOs. For example:
MX_JAVA_OPTIONS="-Xss512k [-Xmso768k (IBM JDK on AIX)]
-Xmx256m -Xms256m -XX:NewSize=128m -XX:MaxNewSize=128m
-XX:MaxPermSize=128m -XX:SurvivorRatio=3"
When the ENOVIA Live Collaboration Server is installed, recommended Java options
are set by default. Refer to JVM Options for details.
MX_JIT_TRIGGER_MACROS should be set to true if you want environment
variables looked up dynamically (Just In Time) as needed in triggers. The default is
false, which means that macros are static, defined before any trigger program is
executed, and the same values are passed into all trigger types (check override action).
Refer to the Macros appendix in the Application Development Guide for more
information.
MX_NESTED_TRIGGER_MACROS is set to true to enable programs to save their
local RPE settings (that is, trigger macros) when they start, and restore them when
they exit. The default is false in order to leave user-defined RPE variable definitions
alone, and thereby minimizing the impact on legacy programs.
MX_NESTED_TRIGGER_MACROS is intended to be used in concert with the
environment variable MX_JIT_TRIGGER_MACRO; for optimum performance of
trigger programs, both values must be set to true. The ENOVIA Live Collaboration
trigger manager relies on the true setting to dramatically improve application
performance.
MX_DECIMAL_SYMBOL is used to set the user’s preference for displaying the
decimal symbol. For example, with the database configured with a “.” decimal
character and the user’s MX_DECIMAL_SYMBOL set to “,”, ENOVIA Live
Collaboration will always display numbers to that user with a comma and always
write them to the database with a period, regardless of how the user enters the number.
The same is true for the reverse; if the database is set to a comma and the user’s
preference is set to a period, numbers are displayed with a period but saved with a
comma. The default value is a period (.). For more information, refer to Localized
Decimal Character Settings in Chapter 20. Setup for supporting the viewing of
multiple languages and cultural symbol conventions is also discussed in Configuring
Oracle for Non-English Languages in Chapter 3.
MX_TCL_ANSI_NUMERIC may be set to true on desktop systems only when
ENOVIA Live Collaboration should override the LC_NUMERIC setting during
execution of Tcl programs to establish a period (.) as the decimal setting. This causes
operating system utilities to return floating point values in a form that is suitable for
performing arithmetic using the Tcl “expr” procedure. Values obtained from
ENOVIA Live Collaboration MQL commands will continue to be returned using the
character defined as MX_DECIMAL_SYMBOL. If set to false, (the default) the
setting for LC_NUMERIC is used and Tcl calls to the operating system will return
floating point values according to this setting.
256
ENOVIA Live Collaboration Installation Guide
This setting is designed for use in a thick client tcl environment only. Do not use this
setting in the Live Collaboration server environment, as it changes the process locale
across all threads.
For more information, refer to Localized Decimal Character Settings in Chapter 20.
Set up for supporting the viewing of multiple languages and cultural symbol
conventions is also discussed in Configuring Oracle for Non-English Languages in
Chapter 3.
MX_TCL_STRIP_NEWLINE allows the user to change the default behavior for
MQL commands issued from within Tcl. By default, output requested from MQL
does not have a carriage return at the end of the output string. Setting this variable to
false adds a carriage return at the end of the output for MQL commands called from
Tcl mode only. The default setting is true, which means that a new line is not
generated.
MX_TCL_SHLIB is set to reflect the tcl path and library file name (without the
extension), when a non default tcl version is used. For example, for Windows:
MX_TCL_SHLIB=ENOVIA_INSTALL\intel_a\code\bin\tcl85
For UNIX: MX_TCL_SHLIB=ENOVIAHOME/<platform>/code/bin/tcl85
When setting this variable, you must also reset the TCL_LIBRARY and
TK_LIBRARY settings to reflect the path to the new library versions.
MX_EXPAND_ALL when set to true, displays checked in files beneath formats
when the Formats browser is displayed. If many files are typically checked in, this
may be set to false to improve performance. The default is true.
MX_EDITOR code can be entered into the Code tab of the program object using the
ENOVIA Live Collaboration user interface, or it can be written in an external editor
and automatically imported into the program object. The button text is the value of
MX_EDITOR.
MX_EDITOR=Notepad
MX_EDITOR_PATH the external editor button is included on the Code tab only
when the MX_EDITOR and MX_EDITOR_PATH variables are set in the ENOVIA
Live Collaboration initialization (.ini) file.
MX_EDITOR_PATH=c:\winnt\system32\notepad.exe
When specifying WordPad, use wordpad.exe instead of write.exe.
MX_FCS_ENABLED when set to TRUE enables the Studio Customization Toolkit
to use FCS for checkin/checkout without using Matrix Web Navigator. When set to
FALSE, the FCS is not used by the Studio Customization Toolkit without Matrix Web
Navigator.
MX_FULL_TEXT_LIMIT sets the limit on the number of files to find in a full text
search. This value is passed to the index server and used by the search engine. The
default is 0 or no limit.
MX_FULL_TEXT_MODE sets the search mode of full text search. This value is
passed to the index server and used by the search engine.
MX_FULL_TEXT_MINSCORE sets the minscore for full text search. This value is
passed to the index server and is used by the search engine.
Chapter 9: Configuring ENOVIA Live Collaboration
257
MX_ALIASNAME_PREFERENCE determines the alias to use. An alias refers to
the different names that can be given to the same administrative objects according to
the audience. These are defined via MQL. This setting must match the alias name.
The alias preference takes precedence over the language preference if both are
specified. Refer to the MQL Guide for information on defining aliases.
MX_LANGUAGE_PREFERENCE determines the language to use. A language
applies to all words presented to the user through a GUI: buttons, labels, messages,
etc. It will also refer to an alternate language for schema, if an alias of this name
exists. Schema aliases are defined via MQL. Refer to the MQL Guide for more
information.
MX_LCD_EXTERNAL_AUTHENTICATION when set to true, tells ENOVIA
Live Collaboration not to attempt to verify the user’s password before accessing
objects in a remote vault. The default is false, which enables a more secure
environment.
MX_PROGRAM_POOL_SIZE sets the initial size of the interpreter pool used by
Tcl programs. This setting is also used to extend the pool size when all the interpreters
in the pool are allocated and another is requested. The default is 10.
MX_NFS_MAX_DATA specifies the amount of data transferred in one packet on the
network. The default value is set at 1024 on PC’s, 8192 on UNIX. These numbers
reflect the differences in the TCP/IP products for each platform. If you have a network
interface that supports large datagrams, you can achieve modest performance
improvements on PCs by increasing this value up to a maximum of 8192. In the
majority of installations, there is little or no benefit in altering this value.
MX_NFS_UID is used to change the user ID setting. The default is 100. This setting
applies to PCs only.
MX_NFS_GID is used to change the group ID setting. The default is 99. This setting
applies to PCs only.
MX_QUERY_PAGE_SIZE may be set to enable system-wide streaming of queries
and expands and sets the number of objects per page of returned items. The data is
returned when the first page is available, resulting in improvement in performance
and potentially in memory consumption as well.
Streaming can be enabled for all queries and expands through this environment
variable, through classes in the Studio Customization Toolkit, or at runtime by using
the size clause in MQL temporary query or expand business object commands. Some
operations, such as expression evaluation operations, use the expand operation
internally and the only way to enable streaming for these operations is though this
environment variable. You can override any value set for streaming in temporary
queries and expands by using the size clause. Enabling streaming through the Java
classes usually provides the greatest improvement in performance and memory
consumption. See “Streaming Query and Expand” in the Application Development
Guide.
When processing selectables in a streaming query, memory consumption is not
necessarily reduced versus not using streaming. Although paging is used when the
selectables are processed, the entire result set is still buffered in memory. For
example:
temp query bus T N R size 1000 select to.from;
This retrieves business objects 1000 at a time, and only 1000 will ever be held in
memory at one time. However, the evaluation of to.from for ALL of the found objects
will be held in memory until the query has completed.
258
ENOVIA Live Collaboration Installation Guide
MX_REMOTE_TIMEOUT defines the length of time, in seconds, that ENOVIA
Live Collaboration will persist in attempting to perform a file operation (e.g., checkin,
checkout, delete) in an NFS store. The default is 60 seconds. The code performs the
check every 5 seconds.
MX_RESTORE_CONTEXT is used to disable the security mechanism that ensures
that if context is changed during program execution, it is restored to the original
setting when finished. The default is true, which enables the security mechanism, but
may be set to false if required.
MX_RESTORE_TRIGGERS defaults to false. However, when set to true,
whenever a program is finished executing, ENOVIA Live Collaboration will set
triggers on. This provides protection in case of failure in a program that turns triggers
off before terminating.
MX_RESTRICT_EXPAND by default is set to true. If users attempt a full expand
on an object in an indented browser (shift+click with no filters on to or from) an error
message is generated. This is because full expands in both directions are extremely
time consuming, and it will often seem as if the system has stopped responding.
However, full expands may be enabled and the error suppressed by setting this
variable to false.
MX_SESSION_SILENT_TIMEOUT sets the time interval in minutes for allowed
inactivity for a session of Matrix Navigator or Business Modeler, before the
connection to the database is terminated. Once the user begins to work again, the
system will reconnect and attempt to continue from where it left off, without requiring
reauthentication. The default setting is 30 with a minimum setting of 5. If an invalid
value is specified (such as 3 or a negative number), the minimum will be enforced.
MX_SESSION_TIMEOUT sets the time interval in minutes for allowed inactivity
for a session of Matrix Navigator or Business Modeler, before the connection to the
database is terminated, and the user is forced to login again to resume Matrix
operations. Once reconnected, the system will attempt to continue from where it left
off. The minimum setting is 5. If an invalid value is specified (such as 3 or a negative
number), the minimum will be enforced. If not set, no session time out is place.
Timeout settings may be used alone or together, and are not used in MQL, System or
Matrix operating in MQL or Wizard mode. In Web Navigator and other ENOVIA
environments, session timeouts are handled by application server settings.
MX_SERVER_DST is used to tell ENOVIA Live Collaboration to override its
current algorithm for converting times to GMT. You should set this value to true if
you are using GMT or a GMT offset value in your server’s timezone setting, and your
Oracle server takes DST into account when determining the current time. Set this to
false for those rare Oracle servers that do not take DST into account. When this
setting is not in place at all, ENOVIA Live Collaboration will use the default
algorithm that uses the timezone setting in the ENOVIA Live Collaboration database
to determine whether or not the times provided by the Oracle server take DST into
account.
MX_SET_SORT_KEY sets any number of basic select items (type, name, revision,
owner, locker, originated, modified, current, and policy) by which objects in sets will
be presented. By default the value is type|name|revision. You can specify
ascending or descending order by prefixing the select with + or - (ascending (+) is the
default.) To disable sorting, you can set this variable to a single '|' character. Disabling
sorting improves response time of loading the first page of a set. Can be disabled in
conjunction with programming techniques to improve performance. Refer to the
Programming Guide for more information.
Chapter 9: Configuring ENOVIA Live Collaboration
259
MX_SHOW_HIDDEN_TYPE_OBJECTS sets the behavior preference for the
display of objects and connections whose business type or relationship is marked
hidden. The default is FALSE, which means that hidden objects and connections are
not displayed in query or expand results in the ENOVIA Live Collaboration or Web
Navigator, and are not returned by Studio Customization Toolkit query/expand
methods. When set to TRUE, objects with hidden business types and connections of
hidden relationships are displayed when found or navigated to, and they are returned
by the original Studio Customization Toolkit query/expand methods. Additional
expand methods are also available to override this system setting and retrieve all
objects/relationships, including those whose type is marked hidden. In MQL,
regardless of this setting, hidden type objects and connections are always listed.
MX_SMTP_HOST must be specified on each client (UNIX or PC), including the
Live Collaboration server, in order to send e-mail via ENOVIA Live Collaboration
from all machines. The named host must be setup as an SMTP server (not POP). This
setting is important for use with the ENOVIA Business Process Services and other
ENOVIA products, in order for business process notifications to be sent.
MX_SMTP_TIMEOUT sets the time allowed for connecting to the SMTP server
when sending e-mail. The default is 60 seconds.
MX_CHECK_MAIL specifies (for Matrix Navigator only) how often Matrix
Navigator checks for new IconMail in order to effect the new mail indicator. The
value is in minutes, and defaults to every 15 minutes. You can set the value to 0 to
disable the new mail indicator for Matrix Navigator users, as well as to disable the
sending of IconMail. When disabled, mail sent via Matrix Navigator, MQL, Web
Navigator, Studio Customization Toolkit IconMail, or other ENOVIA products will
be sent as email to those recipients with email enabled, but NO IconMail will be
created, sent, or stored in the database.
MX_SMTP_CONTINUE is used to tell ENOVIA Live Collaboration how to
establish communication with the SMTP server. The default is true, which means
ENOVIA Live Collaboration checks for a continuation character, “-”, in the current
line, allowing multiline messages. If set to false, no check for a continuation character
is done, which means that the current line is assumed to be the only line in the
message.
MX_TRACE_FILE_PATH is the location of the ENOVIA Live Collaboration error
log file. If this variable is not set, the default location is the ENOVIAHOME
directory.
MX_TRIGGER_RECURSION_DETECTION is used to specify the type of test
the system should employ to check for recursion of trigger programs. Most recursion
is not a single program calling itself (indirectly through triggers firing) but more of a
ping pong effect where a program calls another program, which calls back to the
original eventually (again, through the firing of triggers). The default is “name”,
which means that the system does not allow a program to be executed if it is already
executing. The variable may also be set to “signature”, which checks for the
uniqueness of five properties of the program: Program Name, Input arguments,
Trigger event, Trigger type, and Target object ID; or “none” to turn off detection
altogether. You must use “signature” when configuring for use with ENOVIA
products.
This setting is used in conjunction with MX_TRIGGER_RECURSION_LIMIT.
MX_TRIGGER_RECURSION_LIMIT is set to an integer to indicate the
maximum number of trigger programs that can be placed on the trigger stack, helping
to avoid server crashes due to the host system running out of stack space. The default
value is 30. When the limit is reached, a warning is added to the trigger trace file, and
260
ENOVIA Live Collaboration Installation Guide
the trigger stack is unwound. The limit is used in conjunction with
MX_TRIGGER_RECURSION_DETECTION, no matter what its value is, but it is
particularly important to set an appropriate limit for your server when trigger
recursion is disabled with the “none” setting.
MX_USE_SCHEMA_NAMES when set to true, improves performance when
multiple Live Collaboration servers are defined that point to different schemas in the
same Oracle Instance (that is, different Oracle Users.) Default is false.
MX_WHERE_MAX_COUNT controls how complex a where clause can be. This
setting approximately corresponds to the number of operands allowed in any where
clause. ENOVIA Live Collaboration produces an error if it reaches the limit specified.
The default is 512, which shouldn’t need changing in a server environment, since it is
comparable to the stack size used by the server's JVM. However, when using the
Studio Modeling Platform to run JPOs, which use the default JVM setting for stack
size, you may want to lower the value of MX_WHERE_MAX_COUNT (to
correspond with the JVM size) if very complex where clauses are used on the Studio
Modeling Platform system.
MX_WIN_APP_WAIT controls how long the Studio Modeling Platform waits for
the launched application’s primary window to appear. The value assigned is the
number of seconds to wait. The default value is zero.
MX_WIN_MIN_ON_LAUNCH is used to minimize all Studio Modeling Platform
windows during the execution of a launched application. The default is false. When
set to true, the Studio Modeling Platform windows are minimized, and when the
launched application terminates, the Studio Modeling Platform windows are restored.
MX_LEGACY_RELRULE=FALSE to revert to pre V6R2009 rule behavior on
relationships, set to true.
Windows Desktop File Associations
You can specify how Studio Modeling Platform Windows clients should open edit or open
view a file. In the absence of a format program, the Studio Modeling Platform will read
the enovia.ini file for the following settings. Then, if nothing is in the ini file, Windows file
associations are used. This is not supported on UNIX.
Depending on the action—edit, view or print—the Studio Modeling Platform looks in the
[EditExtensions], [ViewExtensions], or [PrintExtensions] section for
a line that starts with the extension of the file that the client is respectively editing,
viewing, or printing. For example, if a Windows client were to open edit a file called
changes.txt, and the Studio Modeling Platform had the following enovia.ini setting:
[EditExtensions]
txt=notepad.exe ^.txt
The Studio Modeling Platform would try to launch “notepad.exe” as the command line to
the open edit function. Everything after the ^character is ignored.
Dynamically
Updated Variables
The following variables may be set in the Session>Preferences menu of Matrix Navigator,
as well as by manually editing the [matrix] section of the .ini file. Any changes made
during a Navigator session (with the preferences option) will be reflected in these settings.
Any changes made to session preferences with Matrix Web Navigator are reflected in the
matrix.properties file for the Web client machine.
Chapter 9: Configuring ENOVIA Live Collaboration
261
BROWSEBY may be set to Icons or Details, and indicates what mode the Matrix
browser uses when first displayed. The default is Icons.
CHECKINAPPEND is a toggle switch for the checkin options, append or replace.
The default is false, which means that existing files are replaced by newly checked-in
files.
CHECKINCONFIRM is a toggle switch for the appearance of a confirmation
window when the replace button is selected on checkin. The default is false, meaning
that no warning is presented.
CHECKINDELETE is a toggle switch for the checkin option, delete files after
checkin. The default is false.
CHECKINUNLOCK tells Matrix if objects should be unlocked after files are
checked into it. The default is false.
CHECKOUTCONFIRM is a toggle switch for the appearance of a warning screen
when a checkout would overwrite a file with the same name. The default is false,
which means the warning does not appear.
CHECKOUTLOCK tells Matrix if objects should be locked after files are checked
out of it. The default is false.
CHECKOUTOVERWRITE is a toggle switch for the checkout option overwrite
existing files. The default is false.
CONNECTBAR is a toggle switch for displaying the relationship listbox in a
Navigator browser for use with the drop connect feature. The default is false.
DROPRELATION specifies the relationship to use for the drop connect feature. It
may be set to any valid relationship name.
FILEPATH is the default path for both checkin and checkout. The default is the path
defined as HOME in the ini file.
FILTERBAR may be displayed or not based on this setting. The default is true.
NAVIGATEBY may be set to Star, Indented, or Details, and indicates what mode the
Navigator browser uses when displayed. The default is Star.
OPEN sets the behavior of the double-click action on an object. The default is Edit
and can alternatively be set to View.
ROLEBAR may be displayed or not based on this setting. The role bar let the user
use visuals for one of the roles that they are assigned. The default is true, which
displays the role bar.
REVISIONWARN is a toggle switch for the appearance of a notification of a later
revision. The default is true, which means the warning appears when an object for
which there is a higher revision is opened or printed, or a checkin or checkout is
attempted.
VIEWBY sets the appearance of objects in Matrix, with Icon being the default. Other
options are Image or Name.
Application Sections
Sections for each Studio Modeling Platform application are added to the enovia.ini file
whenever one of the Studio Modeling Platform programs (except MQL) are closed. When
Matrix Web Navigator is used, they are saved in the matrix.properties file. The settings
indicate the geometry of all windows that were displayed in the session. For example:
262
ENOVIA Live Collaboration Installation Guide
[MatrixApplication]
SplashDialog=576,432,352,296
MainApplicationDialog=949,895,210,97
ContextDialog=680,288,300,368
FindObjectsDialog=900,693,234,198
AttributesDialog=800,260,282,362
The numbers indicate the width, height, and x and y coordinates respectively. In this way,
any resizing or replacing is “remembered” by ENOVIA Live Collaboration, so that
adjustments need not be made for every session. However, even if no resizing or
replacement is done, all windows (with the exception of the SplashWindow), will
“cascade” down and to the right each time they are opened, adding 10 to the X coordinate
and 20 to the Y coordinate. The last-used coordinates are then saved to the .ini file and
incremented for the next display.
If a user uses both Matrix Navigator and Matrix Web Navigator, these settings are not
persistent between the two.
Configuring Help
Administrators may configure the options available under the Help menu by setting
several environment variables in the .ini file. In this way, administrators may add their own
help files, providing the ability to deliver pertinent information specific to their
implementation to users. Refer to Installing the Documentation in Chapter 11 for more
information.
Font and Color
Variables
When color and font choices are not entered in the .ini file (or set as environment variables
on the command line), ENOVIA Live Collaboration uses the operating system settings for
fonts and colors. Since O/S settings tend to be optimum, it may be best not to set any of
these environment variables.
If different colors or fonts are desired, the variables listed below may be used to override
the system settings. This is helpful, for example, to differentiate two databases. The list of
color options on Windows is contained in
ENOVIA_INSTALL\studio\intel_a\code\lib\rgb.txt.
Font variables
Foreground variables
Background variables
font
foreground
background
dialogfont
dialogforeground
dialogbackground
menubarfont
menubarforeground
menubarbackground
iconbarfont
iconbarforeground
iconbarbackground
labelfont
labelforeground
labelbackground
fieldfont
fieldforeground
fieldbackground
buttonfont
buttonforeground
buttonbackground
browserfont
browserforeground
browserbackground
Chapter 9: Configuring ENOVIA Live Collaboration
263
Font variables
Foreground variables
Background variables
browserlinecolor
browserhighlightforeground
browserhighlightbackground
For example:
browserfont=times-bold-14
browserbackground=yellow
LDAP Variables
264
You integrate ENOVIA Live Collaboration with an LDAP server by setting environment
variables. Refer to Integrating with LDAP and External Authentication Tools in
Chapter 13 for more information.
ENOVIA Live Collaboration Installation Guide
Configuring Date and Time Formats
ENOVIA Live Collaboration uses dates and times in a variety of places: history, originated
and modified Basic values, for scheduling and tracking actual dates of state changes, and
as date attributes. The display, as well as the required entry elements, of dates and times
may be configured. This lets two users have different presentations of the same date and
time value. In addition, users see all dates and times in their own local time zone.
Internally, dates and times are stored in Greenwich Mean Time (GMT) independently of
the display format selected. Then, when dates are displayed, a runtime conversion is
performed so users see all date and time information in their own local time zone. For
example, assume a company has users in San Jose, Boston, and Bonn. A user in San Jose
promotes an object on December 11, 1998, 4:45 pm pacific time. Clients in Boston will
read the Actual Date in eastern time (December 11, 1998, 7:45 pm) and clients in Bonn
will read it in German local time (December 12, 1998, 1:45 am). This is assuming that
each location logs onto a local database server with a correctly-configured time zone
setting. Refer to the System Manager Guide for information on creating servers and
establishing a time zone.
Matrix provides six different variables that define formats for the display and entry of
dates and times. The six formats with their meanings and default settings are described
below:.
Variable (format)
Meaning/Usage
Default Tokens
MX_NORMAL_DATETIME_FORMAT
Normal (long) date/time. Used for displaying all
dates. Also, the system first attempts to parse
entered dates using this pattern.
+day mon dom+, +yr4
h12:min:sec +mer +tz
MX_NORMAL_DATE_FORMAT
Normal (long) date only. Used for displaying
date-only entries, like date attributes.
+day mon dom+, +yr4
MX_NORMAL_TIME_FORMAT
Normal (long) time only. Currently not used.
h12:min:sec +mer +tz
MX_TERSE_DATETIME_FORMAT
Terse (short) date/time. Provides additional format
for date/time input.
moy/dom-/-yr2
h12:min-:-sec +mer
MX_TERSE_DATE_FORMAT
Terse (short) date only. Provides additional format
for date input.
moy/dom-/-yr2
MX_TERSE_TIME_FORMAT
Terse (short) time only. Currently not used.
hr12:min-:-sec +mer
Note that “day”, “yr4”, “mer” and “tz” by default are normally displayed in date/time strings, but are not required input when
entering a date (as denoted by the “+” preceding these tokens). Also, “yr2” and “sec” are required as input in the terse
formats, but are not displayed in corresponding formatted strings.
These formats are used for both displaying dates in Studio Modeling Platform applications
and Matrix Web Navigator and for parsing dates input to the system. (These formats do
not affect the format of displayed dates/times in ENOVIA products.) The “normal”
formats are used for displaying and/or entering dates and times, while the “terse” formats
may optionally be used for input. In other words, when a date/time is entered, the system
Chapter 9: Configuring ENOVIA Live Collaboration
265
attempts to parse it with the “normal” format first. If that doesn’t work, the system tries the
“terse” format.
When using ENOVIA products, the normal and terse datetime formats are set in the
MatrixIniDefaults program, which is installed with the framework. These settings must be
in sync with properties in emxSystem.properties. Do not adjust these settings in the
server's .ini file because they will override the setting in the MatrixIniDefaults program.
For more information about configuring date/time formats for ENOVIA products, refer to
the “Setting Date Management Properties” section of the ENOVIA Live Collaboration
Administrator's Guide.
Date formats may be made up of any combination of the following tokens:
266
Token
Meaning
day
day of the week (mon, tue, wed,...)
DAY
day of the week, not abbreviated
mon
month (jan, feb, mar,...)
MON
month, not abbreviated
tz
time zone (edt, cdt, pdt,...)
TZ
time zone, not abbreviated
mer
time meridian (am, pm, or blank for 24 hour time)
sec
seconds, 0 - 59
min
minutes, 0 - 59
h12
hour in 12 hour format, “mer” will be non-blank
H12
hour in 12 hour format, “mer” will be non-blank. Always outputs 2
digits, for example, 05.
h24
hour in 24 hour format, “mer” will be blank
H24
hour in 24 hour format, “mer” will be blank. Always outputs 2 digits,
for example, 05.
yr2
abbreviated year (98, 99, 00...)
yr4
full year (1998, 1999, 2000..)
dom
day of month (1, 2, 3,..., 31)
DOM
day of month (1, 2, 3,..., 31). Always outputs 2 digits, for example, 04.
doy
day of year (1, 2, 3,..., 365)
ENOVIA Live Collaboration Installation Guide
Token
Meaning
DOY
day of year (1, 2, 3,..., 365). Always outputs 3 digits, for example,
January 3 would be 003.
moy
month of year (1, 2, 3,..., 12)
MOY
month of year (1, 2, 3,..., 12). Always outputs 2 digits, for example,
04.
To configure date/time formats
1. Write out a format that includes all the tokens from the table above that you would
want to include in display or input of dates and times. Include any embedded
punctuation (spaces, commas, colons, etc.). For example:
day, dom/mon/yr4
might translate to:
Monday, 4/Jan/2000
By default, each token is both displayed and required as input to the date/time parser.
2. In front of each token and punctuation mark that is not required by the input
processor, add a plus symbol (‘+’). This signifies that the specified field is displayed
in formatted output, but does not have to be input by a user when entering a date/time.
For example:
+day+, dom/mon/yr4
means that 4/Jan/2000 is acceptable input but this date would be displayed as
Monday, 4/Jan/2000.
3. In front of each token that is not desired in the display of dates and times, add a
hyphen (minus symbol, “-’). This signifies that the specified field is not displayed in
formatted date/time strings, but is required to be input by the user when specifying a
date/time field. For example:
+day+, -dom-/mon/yr4
means that 4/Jan/2000 could be entered, but this date would be displayed as Monday,
Jan/2000.
If you wish to use a hyphen as a separator for date fields (for example, to display
something like 2000-11-22), on Windows, use two hyphens:
yr4--moy--dom
For use in the mql shell script, the setting requires the use of 3 hyphens. For example:
MX_TERSE_DATETIME_FORMAT="yr4---moy---dom h24:min-:-sec"
export MX_TERSE_DATETIME_FORMAT
MX_NORMAL_DATETIME_FORMAT="yr4--moy--dom h24:min-:-sec"
export MX_NORMAL_DATETIME_FORMAT
4. Add the appropriate lines to the configuration vehicle (ini file, startup script, or
MatrixIniDefaults program). Any variables not set will use the default values as
shown in the table above. For example, you may want to add the following lines:
Chapter 9: Configuring ENOVIA Live Collaboration
267
MX_NORMAL_DATETIME_FORMAT= +day+, MON dom, yr4
h24:min:sec TZ
MX_TERSE_DATETIME_FORMAT = moy/dom/yr4
These settings allow the date to be entered in either of the following ways:
January 4, 2000 or 1/4/2000
Note that the TIME elements of a DATETIME default to 12:00 AM, if not entered. Also
note that currently, the TIME only formats are not used by ENOVIA Live Collaboration.
Date Attributes
with Ranges
All dates, including date attributes, are displayed in the format specified in the
MX_NORMAL_DATETIME_FORMAT variable. Because of this, if date attributes with range
values are used, EVERY user must use the same setting for this variable. Otherwise, when
a user creates a business object of the Type that has a date attribute with a default range
specified in a different format, the default value for that date cannot be displayed for your
business object, and so ENOVIA Live Collaboration cannot load attributes during the
creation, and you will receive the following error message:
Date format for the DateAttribute is invalid. The correct
format is: [Gives your formats].
The same is true if you just try to bring up attributes of an object that has the date attribute
set in a different format than that specified in the local .ini file. It may be easiest to use the
default setting for these variables, when date attributes with ranges will be used.
Dates in Web
Applications
The Live Collaboration server gets its time zone in the same manner as other ENOVIA
Live Collaboration clients and passes time information to a Web client in the time zone it
knows about. This means that dates and times displayed on Web clients (including Matrix
Web Navigator users and users of other programs that connect via the Live Collaboration
server) will be in the time zone available to the Live Collaboration server, and not
necessarily in the time zone of the Web client. For example, if a user in California
connects to a Live Collaboration server in Connecticut that uses eastern time, times
displayed for that user will be in eastern time. Also, if the California user creates objects,
the create time will be stored in the database based on the eastern time converted to GMT.
Summary
So, in summary, all dates in ENOVIA Live Collaboration:
268
•
Are stored in the database in Greenwich Mean Time (GMT);
•
When displayed, are converted at runtime to the user’s local time zone as specified in
the ENOVIA Live Collaboration Server Object to which they are logged on, or by the
client machine’s operating system (in a non-distributed environment);
•
Are displayed with the tokens specified in the MX_NORMAL date variables for Studio
Modeling Platform and Web Navigator. Display of dates in ENOVIA products are
determined by the browser language setting and by properties in
emxSystem.properties. The NORMAL and TERSE formats must still be defined
when running ENOVIA products but they are specified in the MatrixIniDefaults
program instead of the ini file.
•
May be entered in the format specified in either the TERSE or the NORMAL format
variables.
ENOVIA Live Collaboration Installation Guide
•
If range values for date attributes are used, all users must use the same settings for
MX_NORMAL_DATETIME_FORMAT and the attribute range values must adhere
to this specification.
•
Web applications display dates in the time zone that is known to the Live
Collaboration server, not necessarily the time zone of the Web client.
For information on setting time zones in ENOVIA Live Collaboration, and other date/time
issues, refer to the System Manager Guide.
Chapter 9: Configuring ENOVIA Live Collaboration
269
Localizing ENOVIA Live Collaboration
Language support is outlined in Language Support in Chapter 2. UTF8 configuration for
the application servers is mostly done by default with a few steps requiring that they be
done manually, as described in UTF-8 Settings in Chapter 8. This section describes how
each layer of the stack is translated.
The table below shows the files used to localize each part of ENOVIA Live Collaboration:
Studio
Modeling
Platform
Web Navigator
Other ENOVIA products
User Interface
menus, dialogs,
tips
matrix.txt, matrix.vr
Java class files that
get compiled with
Matrix Web
Navigator (no
changes in field)
emxAPPNAMEStringResource_LANG.properties
emxComponentsStringResource_LANG.properties
Java class files that get compiled with applets (such
as checkin applet, Gantt Chart applet, etc.) (no
changes in field)
Schema objects
Language Aliases
Language Aliases
emxFrameworkStringResource_LANG.properties
Lower level
schema objects
(policy states,
attribute ranges)
one language only
(administration
definition)
one language only
(administration
definition)
emxFrameworkStringResource_LANG.properties
Error messages
from the Live
Collaboration
Server
matrix.txt, matrix.vr
(file on the client)
matrix.txt,
matrix.vr (file on
the server)
matrix.txt, matrix.vr (file on the server)
APPNAME is the name of the application; LANG is the 2-digit ISO code.
ENOVIA products default to English if the translated string cannot be found. This can
occur for several reasons. The most obvious is when the Web browser is configured for a
language that is not provided. Also, MQL keywords are not localizable, and so these are
always shown in English. In some cases, most strings appear localized, with a few
showing up in English. This will occur when text is added late in the software release
cycle, and you can assume that they will be updated in a future release. However, in other
cases, the English word is preferred by the ENOVIA translation reviewer, and so will
remain untranslated. If this is the case, and you have another preference for the string, you
can modify the provided file(s). The one exception to this is for Web Navigator. The
localization is handled by Java files that must be compiled with the source code.
Note that the database and Application servers must be correctly configured to handle
UTF8 encoding.
270
ENOVIA Live Collaboration Installation Guide
Filenames
In a UTF8 environment, strings are not processed in the kernel. The Live Collaboration
Server just passes them to the database as received. However, one exception is for file
checkin through the server using the workspace directory (standard checkin, not FCS).
ENOVIA Live Collaboration hashes file names on checkout in the workspace directory,
but does not hash file names on checkin. So, an English server configured for UTF8 treats
a UTF8 encoded file with double-byte characters in the name being checked in as
consisting of extended ASCII characters and succeeds in creating a file in the workspace
directory. But the database expects UTF8 bytes and so produces an error on checkin.
However, the sequence of bytes in the file name are the same on the native and English
operating systems. Also, the file content is encoded correctly.
The workaround is to use FCS for all file checkins through a Live Collaboration server.
Studio Modeling
Platform
The Studio Modeling Platform may be used in alternative languages for menus and
messages. The software is shipped with a language file, an ASCII file which enables you
to alter or translate the names of various menus, dialog boxes, and error messages. This
file, called matrix.txt, is located in the ETC directory under the $MATRIXINSTALL/
<platform>/ directory and contains all messages used by the Matrix Navigator,
Business Modeler, and System Manager applications.
Changes to matrix.txt are for the Studio Modeling Platform only and do not affect
PowerWeb.
To translate schema definitions for the Studio Modeling Platform, you may use language
aliases, as described in the MQL Guide.
Localization files are provided already translated to various languages in the appropriate
directory beneath the ETC directory. For example, the $MATRIXINSTALL/
<platform>/etc/japanese directory contains both a matrix.txt and a
matrix.vr file for the Kanji language. By moving the .vr file to $MATRIXHOME, the
software is displayed in the new language.
The $MATRIXINSTALL and $MATRIXHOME directories could be different.
Of course, the language’s operating system and character set must also be loaded for
proper display. In addition, Oracle has localization requirements, as outlined in Chapter 3,
Installing an Oracle Database.
If refinements to the translated text are required, the matrix.txt file may be edited and a
new .vr file created as described in the System Manager Guide.
Software programs run via the ENOVIA Live Collaboration Server receive error messages
and strings in the language known to the Server. If no .vr file is available to the server, that
language is English. Note that a server may be configured with no more than 1 .vr file.
Tcl with Asian characters
Tcl 8.5.7 is the default configuration and is required for use in Asian languages. Refer to
Tcl Support for details.
Chapter 9: Configuring ENOVIA Live Collaboration
271
ENOVIA
applications
ENOVIA applications use resource files to display translated pages. These files are
installed in the ematrix/properties directory on the server.
Each application relies on 3 base files, which are always in English:
•
emxFrameworkStringResource.properties
•
emxComponentsStringResource.properties
•
emxAPPLICATION_NAMEStringResource.properties (For example, Engineering
Central uses emxEngineeringCentralStringResource.properties)
When these files are translated, the translators work with the files in their native encoding,
so that all special characters are displayed correctly. However, in order for the Java-based
Live Collaboration server to present the strings correctly, the files must be encoded in
ASCII, and the filename must include the standard abbreviation for the language (as
defined by ISO-639). This is true for all non-English languages, both double-byte and
latin-based. For each translated file, ENOVIA provides both the native and the ASCII
version, easily identified by the filename. For example, the files provided by BPS for use
in German are:
•
emxTeamCentralStringResource_de.properties
•
emxFrameworkStringResource_de.properties
•
emxComponentsStringResource_de.properties
•
emxMetricsStringResource_de.properties
•
emxTeamCentralStringResource_deNative.properties
•
emxFrameworkStringResource_deNative.properties
•
emxComponentsStringResource_deNative.properties
•
emxMetricsStringResource_deNative.properties
You only need the Native files if you want to make modifications to the out of the box
translations. When you are done with the changes, you will need to run the native files
through the native2ascii converter provided with the JDK. Refer to JDK documentation or
the ENOVIA Live Collaboration Administrator’s Guide for more information.
ENOVIA products receive error messages and strings in the language known to the
ENOVIA Live Collaboration Server. If no .vr file is available to the server, that language is
English. Note that a server may be configured with no more than 1 .vr file.
JavaScript Errors
JavaScript messages that are part of the error checking of the JSP or JPO are translated as
part of emxFrameworkStringResource.properties files. However, if the error condition is
not expected by the code, the error comes from the JDK itself. This means that the error is
displayed in the language of the operating system.
Application Applets
The applications may provide some functionality, such as checkin and Gantt charting, via
applets. Applet translations come from within the .cab or .jar file, and therefore they may
not be modified in the field.
272
ENOVIA Live Collaboration Installation Guide
Web Navigator
The “Start Matrix”pages provide access to Matrix Web Navigator, and can be configured
as required by adding parameters to the page. The Language parameter controls which
Java resource bundle translation is used to display the menus, windows, and errors of the
applet. It is also used to display schema definitions in another language, if the setting
matches a defined language alias. The provided pages use the following syntax:
props.put("PARAMNAME", "VALUE");
If you will use custom applets, your pages may use one of the following:
<PARAM name="NAME" value="VALUE">
document.writeln("<param name='NAME' value='VALUE'>");
This setting overrides the language set in the client’s native locale. For example, when
using the following on the Web Navigator start page:
props.put("Language", "fr");
the applet’s windows are displayed in French, and the fr aliases for administrative objects
are displayed for all clients. The Language parameter (and defined alias) must be a valid
ISO Language Code. These codes are the lower-case two-letter codes as defined by
ISO-639. You can find a full list of these codes at a number of sites, such as:
http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt
Valid values are: en (for English), fr (for French), de (for German), it (for Italian), ja
(for Japanese), tw (for traditional Chinese), cn (for simplified Chinese) and ko (for
Korean). These abbreviations must be lowercase. Java translations are provided only for
the languages listed above.
Matrix Web Navigator receives error messages from the Live Collaboration Server in the
language known to thes erver. If no .vr file is available to the server, that language is
English. Note that a server may be configured with no more than 1 .vr file.
If you set the language parameter to an ISO value for which there is no java resource
bundle translation (such as sv for Swedish), Matrix Web Navigator will be displayed in
English, but the administrative objects will be displayed in the language specified,
assuming these aliases exist. Setting the language value to something other than an ISO
value is not supported through the server (such as if you have schema aliases for
manufacturing vs. engineering).
Chapter 9: Configuring ENOVIA Live Collaboration
273
274
ENOVIA Live Collaboration Installation Guide
10
Deploying J2EE
J2EE Deployment Overview
After you’ve installed and configured the ENOVIA Live Collaboration Server and all
ENOVIA products you will use, you then deploy the J2EE application by completing steps
4 through 6 of the General Installation for ENOVIA Live Collaboration Server:
•
First Modifying J2EE Settings
•
Then, Building the J2EE Archive File
•
and finally, Deploying the J2EE Archive File
ENOVIA Live Collaboration Server install descriptor files that are used to configure the
ENOVIA web application. You can make modifications to these files based on your
requirements. Also installed is the WAR Utility, which is used to create EAR (Enterprise
Archive) or WAR (Web Archive) files based on the configured descriptor files. The J2EE
archive file is then deployed by the application server.
ENOVIA Live Collaboration Servers are generally deployed with the WAR file, using the
application server’s administrative tools to complete the configuration. However, since the
EAR file contains all information needed for deployment (including the web application
name and context root) system administrators of an ENOVIA Live Collaboration Server
may deploy the EAR file instead, so that the context root is already configured. The
context root is the relative path to the server root for a particular web application; for
example, /ematrix.
275
Directory Structure
When you install Live Collaboration Server, the following directory structure is created:
Live Collaboration Server
Install Dir
| ...... distrib
|
| ...... ematrixwarutil
|
| ...... STAGING
The Live Collaboration Server installation directory (SERVER_INSTALL on Windows or
SERVERHOME on Unix) has the name you assigned during the installation. It contains
the following three subdirectories (as well as several others):
•
distrib—Built when you run the WAR Utility (from the ematrixwarutil directory), the
distrib directory contains the EAR and/or WAR files as well as the expanded contents
of the files.
•
ematrixwarutil—Built when you install the Live Collaboration Server, this directory
contains the WAR Utility, as well as the web.xml and ematrix.xml files you can use to
adjust your J2EE settings.
•
STAGING—Built when you install the Live Collaboration Server, and added to with
each ENOVIA product, this directory contains the files necessary to run the ENOVIA
products. These become part of the EAR and/or WAR files when the WAR Utility is
run.
Supporting HTTPS/SSL Deployment
The ENOVIA V6 architecture implies http (https) communications between the Live
Collaboration Server and any FCS, as well as between two FCSs.
Prerequisites
•
Java 1.5 and above is installed.
•
Java is added to the PATH variable.
•
The path <JAVA_HOME>/jre/lib/security/ is added to the
CLASSPATH variable.
•
The application server used is Apache Tomcat or WebLogic.
•
Apache Tomcat 6.0.16/6.0.18/6.0.20 or WebLogic is installed.
•
If Apache Tomcat is used, the environment variable CATALINA_HOME is set to
the appropriate Catalina Home directory.
To configure SSL with a Tomcat Server on Windows
1. Open a command prompt.
On certain operating systems, because of OS security, you must run the command prompt
as an Administrator. To do this, change to the <OS_install_drive>:/Windows/
system32/ folder, locate cmd.exe, right-click on cmd.exe, and then select Run as
Administrator.
2. Issue the following command to generate a certificate:
276
ENOVIA Live Collaboration Installation Guide
keytool -genkey -alias tomcat -keyalg RSA -validity 360 -dname
“CN=<SERVERNAME>,o=3DPLM,ou=Platform,1=Pune,s=MH,c=IN”
-keystore <CATALINA_HOME>\.keystore
The “keytool” executable is located in the <JAVA_HOME>\bin\ folder. If you
experience any issues, ensure that:
- JAVA_HOME is correctly set.
- JAVA is added to the PATH variable as mentioned in the Prerequisites section.
- Correct values are specified for the following:
• <SERVERNAME>—This is the full computer name of the machine on which the
application server is running.
• <CATALINA_HOME>—This is the application server (Apache
Tomcat) home folder.
3. When prompted, specify a password (for example, “v6r2011x”), and note it.
Keep the store password and the key password the same.
4. On successful execution of the above command, a file named .keystore is created in
the <CATALINA_HOME>\ directory.
Verify that the .keystore file has been created in the <CATALINA_HOME>\ directory.
5. Change to the <CATALINA_HOME>\conf\ folder. Open the server.xml file in a
text editor, and then search for the string scheme=”https”. Uncomment the
definition of the SSL connect on port 8443 that has “scheme=https” as an
attribute. Update the definition as follows:
<Connector protocol=”org.apache.coyote.http11.Http11Protocol”
port=”8443” minSpareThreads=”5” maxSpareThreads=”75”
enableLookups=”true” disableUploadTimeout=”true”
acceptCount=”100” maxThreads=”200 scheme=”https” secure=”true”
SSLEnabled=”true” sslProtocol=”TLS”
keystoreFile=”<CATALINA_HOME>\.keystore”
keystorePass=”v6r2011x” clientAuth=”false”/>
The value of keystorePass in the above descriptor should be the value for the
password specified in Step 3., above.
6. Run the Tomcat server.
7. Access the link https://<SERVERNAME>:8443/. If the setup is fine, then you should
be able to view the Tomcat home page.
In the above URL, <SERVERNAME> should be the full computer name of the machine on
which the application server is running.
Settings to be configured on the FCS server
If the FCS URL is the same as the MCS URL, then the following settings should be done
on the MCS server.
1. Start the instance of the application server in which the MCS application is deployed.
2. Note the path of JAVA_HOME to which the application server in which the FCS
application is deployed is referring.
Chapter 10: Deploying J2EE
277
3. Copy the following InstallCert.java program to the
<JAVA_HOME>\jre\lib\security\ folder:
/*
* Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
*
- Redistributions of source code must retain the above copyright
*
notice, this list of conditions and the following disclaimer.
*
*
- Redistributions in binary form must reproduce the above copyright
*
notice, this list of conditions and the following disclaimer in the
*
documentation and/or other materials provided with the distribution.
*
*
- Neither the name of Sun Microsystems nor the names of its
*
contributors may be used to endorse or promote products derived
*
from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
import java.io.*;
import java.net.URL;
import java.security.*;
import java.security.cert.*;
import javax.net.ssl.*;
public class InstallCert {
public static void main(String[] args) throws Exception {
String host;
int port;
char[] passphrase;
if ((args.length == 1) || (args.length == 2)) {
String[] c = args[0].split(":");
host = c[0];
port = (c.length == 1) ? 443 : Integer.parseInt(c[1]);
String p = (args.length == 1) ? "changeit" : args[1];
passphrase = p.toCharArray();
} else {
System.out.println("Usage: java InstallCert
<host>[:port] [passphrase]");
return;
}
278
ENOVIA Live Collaboration Installation Guide
File file = new File("jssecacerts");
if (file.isFile() == false) {
char SEP = File.separatorChar;
File dir = new File(System.getProperty("java.home") + SEP
+ "lib" + SEP + "security");
file = new File(dir, "jssecacerts");
if (file.isFile() == false) {
file = new File(dir, "cacerts");
}
}
System.out.println("Loading KeyStore " + file + "...");
InputStream in = new FileInputStream(file);
KeyStore ks =
KeyStore.getInstance(KeyStore.getDefaultType());
ks.load(in, passphrase);
in.close();
SSLContext context = SSLContext.getInstance("TLS");
TrustManagerFactory tmf =
TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultA
lgorithm());
tmf.init(ks);
X509TrustManager defaultTrustManager =
(X509TrustManager)tmf.getTrustManagers()[0];
SavingTrustManager tm = new
SavingTrustManager(defaultTrustManager);
context.init(null, new TrustManager[] {tm}, null);
SSLSocketFactory factory = context.getSocketFactory();
System.out.println("Opening connection to " + host + ":" +
port + "...");
SSLSocket socket = (SSLSocket)factory.createSocket(host,
port);
socket.setSoTimeout(10000);
try {
System.out.println("Starting SSL handshake...");
socket.startHandshake();
socket.close();
System.out.println();
System.out.println("No errors, certificate is already
trusted");
} catch (SSLException e) {
System.out.println();
e.printStackTrace(System.out);
}
X509Certificate[] chain = tm.chain;
if (chain == null) {
System.out.println("Could not obtain server certificate
chain");
Chapter 10: Deploying J2EE
279
return;
}
BufferedReader reader =
new BufferedReader(new InputStreamReader(System.in));
System.out.println();
System.out.println("Server sent " + chain.length + "
certificate(s):");
System.out.println();
MessageDigest sha1 = MessageDigest.getInstance("SHA1");
MessageDigest md5 = MessageDigest.getInstance("MD5");
for (int i = 0; i < chain.length; i++) {
X509Certificate cert = chain[i];
System.out.println
(" " + (i + 1) + " Subject " + cert.getSubjectDN());
System.out.println("
Issuer " + cert.getIssuerDN());
sha1.update(cert.getEncoded());
System.out.println("
sha1
" +
toHexString(sha1.digest()));
md5.update(cert.getEncoded());
System.out.println("
md5
" +
toHexString(md5.digest()));
System.out.println();
}
System.out.println("Enter certificate to add to trusted
keystore or 'q' to quit: [1]");
String line = reader.readLine().trim();
int k;
try {
k = (line.length() == 0) ? 0 : Integer.parseInt(line) 1;
} catch (NumberFormatException e) {
System.out.println("KeyStore not changed");
return;
}
X509Certificate cert = chain[k];
String alias = host + "-" + (k + 1);
ks.setCertificateEntry(alias, cert);
OutputStream out = new FileOutputStream("jssecacerts");
ks.store(out, passphrase);
out.close();
System.out.println();
System.out.println(cert);
System.out.println();
System.out.println
280
ENOVIA Live Collaboration Installation Guide
("Added certificate to keystore 'jssecacerts' using alias
'"
+ alias + "'");
}
private static final char[] HEXDIGITS =
"0123456789abcdef".toCharArray();
private static String toHexString(byte[] bytes) {
StringBuilder sb = new StringBuilder(bytes.length * 3);
for (int b : bytes) {
b &= 0xff;
sb.append(HEXDIGITS[b >> 4]);
sb.append(HEXDIGITS[b & 15]);
sb.append(' ');
}
return sb.toString();
}
private static class SavingTrustManager implements
X509TrustManager {
private final X509TrustManager tm;
private X509Certificate[] chain;
SavingTrustManager(X509TrustManager tm) {
this.tm = tm;
}
public X509Certificate[] getAcceptedIssuers() {
throw new UnsupportedOperationException();
}
public void checkClientTrusted(X509Certificate[] chain,
String authType)
throws CertificateException {
throw new UnsupportedOperationException();
}
public void checkServerTrusted(X509Certificate[] chain,
String authType)
throws CertificateException {
this.chain = chain;
tm.checkServerTrusted(chain, authType);
}
}
}
4. Open a command prompt.
Chapter 10: Deploying J2EE
281
On certain operating systems, because of OS security, you must run the command prompt
as an Administrator. To do this, change to the <OS_install_drive>:/Windows/
system32/ folder, locate cmd.exe, right-click on cmd.exe, and then select Run as
Administrator.
5. Change to the <JAVA_HOME>\jre\lib\security\ folder.
6. Run the following command:
> javac InstallCert.java
The “javac” executable is located in the <JAVA_HOME>\bin\ folder. If you experience
any issues, ensure that:
- JAVA_HOME is correctly set.
- JAVA is added to the PATH variable as mentioned in the Prerequisites section.
- Go to the <JAVA_HOME>\bin\ folder and execute the above command, specifying
the complete path of InstallCert.java (that is,
<JAVA_HOME>\jre\lib\security\InstallCert.java).
After successful execution of the above command, two files are created:
InstallCert.class and InstallCert$SavingTrustManager.class.
7. Ensure that the current directory is <JAVA_HOME>\jre\lib\security\, and
then run the following command:
> java InstallCert <SERVERNAME>:<HTTPS_PORT>
The “java” executable is located in the <JAVA_HOME>\bin\ folder. If you experience
any issues, ensure that:
- JAVA_HOME is correctly set.
- JAVA is added to the PATH variable as mentioned in the Prerequisites section.
- Go to the <JAVA_HOME>\bin\ folder and execute the above command, specifying
the
complete path of InstallCert.java (i.e., <JAVA_HOME>\jre\lib\security\InstallCert.java).
8. When prompted, add the certificate to the trusted keystore by pressing the Enter key.
The following message should be displayed:
“Added certificate to keystore 'jssecacerts' using alias <SERVERNAME>-1”
9. Run the command in Step 7. again:
> java InstallCert <SERVERNAME>:<HTTPS_PORT>
10. The following message should be displayed:
“No errors, certificate is already trusted.”
To import certificates served by the Live Collaboration Server as trusted
To fully support https/SSL deployment, the certificates served by the Live Collaboration
Server must be imported as trusted certificates in each J2EE-deployed ENOVIA V6 server
(CSR/FCS/SyncServer). This should be done using the keytool program found in the JRE
of your J2EE server. The syntax is as follows:
> keytool -importcert -trustcacerts -keystore
<JREE_SERVER_JRE_PATH>\lib\security\cacerts
282
ENOVIA Live Collaboration Installation Guide
Modifying J2EE Settings
Before you run the WAR Utility, you can modify Web.xml or ematrix.xml to configure the
web environment for your J2EE web application. For example, you can modify web.xml
to add a servlet or any framework properties.
When modifying web.xml or ematrix.xml, it is important that you use the .xml file
contained in the ematrixwarutil directory. Also keep in mind that other copies of the
files may be overwritten by the WAR Utility.
Web.xml
The Live Collaboration Server installations include both the framework.properties file that
has always been used to configure ENOVIA products, and the web.xml file used in more
recent J2EE implementations. The web.xml file tells the server to look to the installation
directory for framework.properties, but it can itself include the very same property settings
as parameters. In order to remove the dependency of the J2EE archive files on this external
file, you should add all settings to web.xml instead of framework.properties. If a property
is set in both framework.properties and web.xml, the value in web.xml is used. Refer to
Framework.properties for more information on its default settings.
As installed with the Live Collaboration Server, the web.xml file is configured for use with
ENOVIA products and contains the properties and values shown below. Additional
parameters may be added. Each of these properties, along with parameters that can be
added to the file, are described in the following sections.
This is not the complete web.xml file — only the parameter and servlet definitions are
shown.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="WebApp_1">
<display-name>ematrix</display-name>
<context-param id="ContextParam_1">
<param-name>properties</param-name>
<param-value>@installDir@/managed/properties/
framework.properties</param-value>
</context-param>
<context-param id="ContextParam_2">
<param-name>ematrix.server.host</param-name>
<param-value></param-value>
</context-param>
<context-param id="ContextParam_3">
<param-name>ematrix.login.page</param-name>
<param-value>/emxLogin.jsp</param-value>
</context-param>
<context-param id="ContextParam_4">
<param-name>ematrix.login.failure.page</param-name>
<param-value>/emxLogin.jsp</param-value>
</context-param>
Chapter 10: Deploying J2EE
283
<context-param id="ContextParam_5">
<param-name>ematrix.web.app</param-name>
<param-value>true</param-value>
</context-param>
<context-param id="ContextParam_6">
<param-name>emxLogin.FormAction</param-name>
<param-value>/@webAppName@/servlet/login</param-value>
</context-param>
<context-param id="ContextParam_7">
<param-name>emxLogin.FrameworkTarget</param-name>
<param-value>common/emxNavigator.jsp</param-value>
</context-param>
<context-param id="ContextParam_8">
<param-name>ematrix.page.path</param-name>
<param-value>/@webAppName@</param-value>
</context-param>
<context-param id="ContextParam_9">
<param-name>ematrix.home.page</param-name>
<param-value>/common/emxNavigator.jsp</param-value>
</context-param>
<context-param id="ContextParam_10">
<param-name>ematrix.load.program</param-name>
<param-value>eServiceListSchemaNames.tcl</param-value>
</context-param>
<context-param id="ContextParam_11">
<param-name>ematrix.encoding</param-name>
<param-value>UTF8</param-value>
</context-param>
<context-param id="ContextParam_12">
<param-name>ematrix.audit.log</param-name>
<param-value>true</param-value>
</context-param>
<!-- legacy servlet properties
<context-param id="ContextParam_13">
<param-name>ematrix.servlet.ui</param-name>
<param-value>true</param-value>
</context-param>
<context-param id="ContextParam_15">
<param-name>ematrix.timer.agent</param-name>
<param-value></param-value>
</context-param>
<context-param id="ContextParam_16">
<param-name>ematrix.timer.agent.key</param-name>
<param-value></param-value>
</context-param>
<context-param id="ContextParam_17">
<param-name>ematrix.timer.interval</param-name>
<param-value>21600</param-value>
</context-param>
284
ENOVIA Live Collaboration Installation Guide
<context-param id="ContextParam_18">
<param-name>ematrix.timer.command</param-name>
<param-value>execute program emxProjectSpace -method
performTaskEscalation</param-value>
--><!-- Define our servlets -->
<servlet id="Servlet_1">
<servlet-name>Framework</servlet-name>
<servlet-class>com.matrixone.servlet.Framework</
servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet id="Servlet_2">
<servlet-name>LogoutServlet</servlet-name>
<servlet-class>com.matrixone.servlet.LogoutServlet</
servlet-class>
</servlet>
<servlet id="Servlet_4">
<servlet-name>MatrixXMLServlet</servlet-name>
<servlet-class>com.matrixone.servlet.MatrixXMLServlet</
servlet-class>
</servlet>
<servlet id="Servlet_7">
<servlet-name>MatrixExchangeServlet</servlet-name>
<servlet-class>com.matrixone.servlet.MatrixExchangeServlet</
servlet-class>
</servlet>
<servlet id="Servlet_12">
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.matrixone.servlet.LoginServlet</
servlet-class>
</servlet>
<servlet id="Servlet_15">
<servlet-name>FrameworkServlet</servlet-name>
<servlet-class>com.matrixone.servlet.FrameworkServlet</
servlet-class>
</servlet>
<servlet id="Servlet_17">
<servlet-name>WorkspaceServlet</servlet-name>
<servlet-class>com.matrixone.servlet.WorkspaceServlet</
servlet-class>
</servlet>
<servlet id="Servlet_18">
<servlet-name>fcs</servlet-name>
<servlet-class>com.matrixone.fcs.fcs.FcsServlet</
servlet-class>
Chapter 10: Deploying J2EE
285
</servlet>
<servlet id="Servlet_19">
<servlet-name>audit</servlet-name>
<servlet-class>com.matrixone.servlet.AuditServlet</
servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
This section describes the properties you can define in web.xml. When adding properties
or servlets, be sure that each has a unique id. For example, servlet id=“Servlet_20” or
context-param id= “ContextParam_30”
enovia.ini Directory Parameter
enovia.inidir specifies the directory that holds the enovia.ini file for the Live
Collaboration Server. For example:
<context-param id="ContextParam_#">
<param-name>enovia.inidir</param-name>
<param-value>c:\enovia</param-value>
</context-param>
For details on setting the directory of the ini file, see Setting the Location of the enovia.ini
File on Windows.
Connection Parameters
ematrix.server.host specifies the name and port # of the machine where the Live
Collaboration Server is running. For example:
<context-param id="ContextParam_#">
<param-name>ematrix.server.host</param-name>
<param-value>//MYHOST:1099</param-value>
</context-param>
ematrix.proxy.server can be added to specify the URL for the proxy server, including the
host name for the server, port, and directory. For example, the parameter could be:
<context-param id="ContextParam_#">
<param-name>ematrix.proxy.server</param-name>
<param-value>http://proxyserv:8088/teamcentral</
param-value>
</context-param>
When a proxy server is used, the URL for accessing an ENOVIA product contains the
value for the enovia.proxy.server property instead of the host name and port for the Web
server. For example, suppose the URL for accessing ENOVIA products without the proxy
server is:
http://webserv:7001/enovia/emxLogin.jsp
If the enovia.proxy.server property is set using the example shown above, the URL for
accessing the application with the proxy server would be:
http://proxyserv:8088/engineeringcentral/enovia/emxLogin.jsp
286
ENOVIA Live Collaboration Installation Guide
Specifying Pages to Use
Several parameters define specific pages within the application: the login page, logout
page, home page, and login failure page. There are two main uses for these parameters:
•
If a servlet calls one of these four pages, it will forward to the page specified in the
corresponding property. For example, the LoginServlet automatically forwards users
who are not logged in to the page specified in the ematrix.login.page property.
•
You can reference these pages using methods in the servlet classes. For example, the
FrameworkServlet has getHomePage, getLoginPage, getLogoutPage, and
getLoginFailurePage methods that retrieve the pages defined in these parameters.
Similarly, the LoginServlet has redirectToHomePage, redirectToLoginPage, and
redirectToLoginFailurePage methods that redirect to these pages.
ematrix.login.page Specifies the login page. If a servlet requires the user to be logged in
and they haven’t yet been authenticated, the page specified in this property is presented.
When installed, the property is set to the ENOVIA product login page:
<context-param id="ContextParam_#">
<param-name>ematrix.login.page</param-name>
<param-value>/emxLogin.jsp</param-value>
</context-param>
ematrix.home.page Specifies the page to present after the user has logged in if no target
“next” page is specified in the JSP. When installed, the property is set to the Applet page.
<context-param id="ContextParam_#">
<param-name>ematrix.home.page</param-name>
<param-value>/common/emxNavigator.jsp</param-value>
</context-param>
ematrix.logout.page Specifies the page to display when the user logs out. ENOVIA
products don’t use this property but a custom application could. For example:
<context-param id="ContextParam_#">
<param-name>ematrix.logout.page</param-name>
<param-value>/emxLogout.jsp</param-value>
</context-param>
ematrix.login.failure.page Defines the URL for the page to present if the login has failed.
If no failure page is specified, sessions that fail to login are forwarded to the home page.
ENOVIA products don’t use this property but a custom application could.
Authentication Parameters
When external authentication is set up for use with ENOVIA products, the standard login
and logout pages, emxLogin.jsp and emxLogout.jsp, are by-passed. Use one of the
following properties to define the alternative login/logout page.
<context-param id="ContextParam_#">
<param-name>ematrix.sso.logout.url</param-name>
<param-value>URL_FOR_NEW_LOGOUT_PAGE</param-value>
</context-param>
OR
<context-param id="ContextParam_#">
<param-name>ematrix.sso.absolute.logout.url</param-name>
<param-value>URL_FOR_NEW_LOGOUT_PAGE</param-value>
Chapter 10: Deploying J2EE
287
</context-param>
Use the first property to specify a relative path to the URL, use the second to specify an
absolute path. Only enter a value for one of these properties. If you enter a value for
ematrix.sso.logout.url, that value is used. The ematrix.sso.absolute.logout.url property is
only used if the first property is not set.
For more information on using external authentication with ENOVIA products, see
Chapter 13, Integrating with LDAP and External Authentication Tools as well as the
ENOVIA Live Collaboration Administrator’s Guide.
To use SSO with Tomcat
In order to make SSO work properly with the way the Apache/Tomcat server handles
iconmail attachments and page history, use the following setting in the web.xml file:
<context-param id="ContextParam_#">
<param-name>ematrix.server.domain</param-name>
<param-value>DOMAIN_NAME</param-value>
</context-param>
This setting is required only for the Tomcat/SSO environment.
To use SSO with ClearTrust
When using Cleartrust SSO, add the following parameter to web.xml:
<context-param id="ContextParam_#">
<param-name>ematrix.server.mcs.host</param-name>
<param-value>http://PROXY_SERVER_URL</param-value>
</context-param>
For example:
<context-param id="ContextParam_22">
<param-name>ematrix.server.mcs.host</param-name>
<param-value>http://cleartrust.3ds.net:8002</param-value>
</context-param>
FCS Parameters
To view and download .doc, .docx, .xls, .xlsx, .ppt, and .pptx files using
Internet Explorer (IE)
When you view a .doc, .docx, .xls, .xlsx, .ppt, and .pptx file using the View icon in IE, the
file is opened inside the browser window. If this window remains open, you will not be
able to view or download any other files because IE will bring you back to the window that
is already open. This is a limitation in IE and the work-around is to change the mime type
field in the web.xml file for each file type. For example, for .xls files, change:
<mime-mapping id="MimeMapping_2">
<extension>xls</extension>
<mime-type>application/vnd.ms-excel</mime-type>
</mime-mapping>
To:
<mime-mapping id="MimeMapping_2">
<extension>xls</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
288
ENOVIA Live Collaboration Installation Guide
To configure ticket and receipt FCS settings
This section describes FCS settings in the web.xml file that allow you to configure ticket
and receipt cleanup and ticket expiration. Values are based on your usage patterns. If
required, you can also change the URL used for communication between FCS and the
MCS, and you can enable FCS to operate in two different domains with SSO.
To set expiration for a ticket
To set how long a ticket is valid (i.e. the length of time between when a ticket is issued and
when it reaches the FCS server), add the following setting on your FCS server:
<context-param id="ContextParam_19">
<param-name>ematrix.max_ticket_age</param-name>
<param-value>600</param-value>
</context-param>
For ticket expiration time-stamping, the receiver has the actual clock value of the sender.
Prior to evaluating the validity of the ticket, the time-stamp on the receiver’s end is
adjusted to the sender’s time, thus making time-stamping impervious to differences in time
zones between a receiver and sender.
Default is 600 seconds (10 minutes). You should increase this time only if your network is
very slow.
To set cleanup for tickets
To set the number of tickets to process on your FCS server before deleting tickets from
RAM:
<context-param id="ContextParam_19">
<param-name>ematrix.ticket_cleanup_count</param-name>
<param-value>1000</param-value>
</context-param>
Default is 1000. If your server is not very busy (e.g. processing approximately 100
documents per/hour), you might decrease this number.
To set cleanup for receipts
To set the number of receipts to process on your MCS before deleting receipts from RAM:
<context-param id="ContextParam_19">
<param-name>ematrix.receipt_cleanup_count</param-name>
<param-value>1000</param-value>
</context-param>
Default is 1000. If your server is not very busy (e.g. approximately 100 documents per/
hour), you might decrease this number.
To change the URL for the MCS
MCS uses its own URL (which is used to request the JSP page producing the ticket) to
compute the connect string for an FCS to communicate with the MCS. To change the URL
for the MCS, for example, when an FCS needs to communicate with the MCS on a
different port or with a different protocol (https vs. http):
<context-param id="ContextParam_19">
Chapter 10: Deploying J2EE
289
<param-name>ematrix.mcs.contextConnect</param-name>
<param-value>URL</param-value>
</context-param>
This URL value overrides the MCS URL.
To enable FCS in two different domains with SSO
The following setting allows a cookie to be sent containing the login credential between
two different domains in an FCS environment using SSO:
<context-param id="ContextParam_19">
<param-name>ematrix.mcs.packageCookies</param-name>
<param-value>TRUE</param-value>
</context-param>
To configure image caching
The following parameters can be set to configure use of image caching in ENOVIA
products.
ematrix.maxImageCookieLength can be added to increase the total allowable cookie
size, setting the threshold for when the system must use the MCS for delivering images
instead of the faster FCS. For example, the parameter could be:
<context-param id="ContextParam_#">
<param-name>ematrix.maxImageCookieLength</param-name>
<param-value>1960</param-value>
</context-param>
BACKGROUND: The image URL encodes various information about the image,
including any cookies that were presented by the browser to the MCS. If the session
cookie-string is too large, the resulting image URL exceeds the maximum URL length
supported by the browser (2048 byte limit on Internet Explorer). This is most likely to
occur when a configuration involves many cookies for the session (SSO, web server
proxies, etc.). If the total length of the cookie string exceeds this property value, ENOVIA
Live Collaboration will generate a URL that is addressed to the MCS for image delivery
(omitting the cookies) rather than generate an image URL that exceeds 2048 bytes.
You can increase the total allowable cookie size by adding this setting to web.xml on the
MCS server. By default the maximum cookie length is 1960. With this setting in place, the
system will send the image request to the MCS if the total length of all cookies is larger
than1960. The default should be fine in most circumstances, but you may want to increase
it if you are in an environment that may have many cookies and Mozilla is the browser
standard.
ematrix.isContentDispositionEnabledForImages can be added for WebLogic
implementations to allow image files to be saved in the browser. For example, the
parameter could be:
<context-param id="ContextParam_#">
<param-name>ematrix.isContentDispositionEnabledForImages</
param-name>
<param-value>True</param-value>
</context-param>
BACKGROUND: By default, the image service sets both Cache-Control and
Content-Disposition in its headers. The Cache-Control header is set to allow the browser
to cache the image. The Context-Disposition header is set to allow the browser to save the
image with the file name of the original file. WebLogic considers it an error to set both
headers. Setting ematrix.isContentDispositionEnabledForImages to false on the FCS
290
ENOVIA Live Collaboration Installation Guide
server suppresses the setting of the Content-Disposition header, which means that image
files that are saved will be named “DynamicImage”.
Timer Servlet
The Timer servlet allows a command to be executed at a specified interval. It uses the
following properties in the web.xml file:
ematrix.timer.agent The user name for the context that executes the command. User
privileges can be handled internally in the program.
ematrix.timer.agent.keyThe password for the user. User privileges can be handled
internally in the program.
ematrix.timer.interval The elapsed time, in seconds, between execution of the
command.
ematrix.timer.command The command to run. If you are using BPS, use the
command shown in the example below.
By default, the above parameters are commented-out in the web.xml file. To use one or
more of the properties, you must un-comment them before you run the WAR Utility. The
following is an example of the properties with sample values:
<context-param id="ContextParam_15">
<param-name>ematrix.timer.agent</param-name>
<param-value></param-value>
</context-param>
<context-param id="ContextParam_16">
<param-name>ematrix.timer.agent.key</param-name>
<param-value></param-value>
</context-param>
<context-param id="ContextParam_17">
<param-name>ematrix.timer.interval</param-name>
<param-value>21600</param-value>
</context-param>
<context-param id="ContextParam_18">
<param-name>ematrix.timer.command</param-name>
<param-value>execute program emxProjectSpace -method
performTaskEscalation</param-value>
</context-param>
To configure static browser content cache
Web pages typically reference a lot of fairly static content files such as images and
Javascripts, which change infrequently if ever. Web browsers are able to cache such static
content, but they conservatively keep going back to the server to check whether their
cached copy of the content is still valid. They do this by sending requests with the
If-Modified-Since: header. If the resource has been modified since it was last
transferred, it is transferred again, otherwise the browser uses the cached copy that it has.
This protocol saves having to transfer content that has not changed, but it still involves a
round trip to the server. Across a high-latency network, all these round trips to the server
result in significant degradation in user interface responsiveness.
These round trip requests can be reduced or eliminated by setting an expiration time on
content sent by the server. The server does this by adding the header Expires: or
Cache-Control: to the response. Both tell the browser that it may cache and not
Chapter 10: Deploying J2EE
291
re-check the validity of the content for a specific amount of time. When the cached content
expires, the browser once again sends an If-Modified-Since: request, receives a
new expiration time, and the cycle repeats.
The following example is the configuration provided out of the box to cache specified
static browser content for a period of 7 days. The browser will cache and not re-check the
validity of the content for a 7days.
The following example is the configuration provided out of the box to cache specified
static browser content for a period of 7 days. The browser will cache and not re-check the
validity of the content for a 7days.
<filter>
<filter-name>StaticContentCaching</filter-name>
<filter-class>com.matrixone.servlet.StaticContentCaching</filter-class>
<init-param>
<param-name>ematrix.cache-control.ResourceLifetime</param-name>
<param-value>7d</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>StaticContentCaching</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>StaticContentCaching</filter-name>
<url-pattern>*.js</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>StaticContentCaching</filter-name>
<url-pattern>*.css</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>StaticContentCaching</filter-name>
<url-pattern>*.xsl</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>StaticContentCaching</filter-name>
<url-pattern>*.gif</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>StaticContentCaching</filter-name>
<url-pattern>*.jpg</url-pattern>
</filter-mapping>
You can modify, add, and remove filter-mapping entries in this configuration. Each entry
enables the cache control for a specific file type.
ematrix.cache-control.ResourceLifetime sets the amount of time to cache static browser
content in the configuration. For example, the parameter could be:
<init-param>
<param-name>ematrix.cache-control.ResourceLifetime</param-name>
<param-value>7d</param-value>
</init-param>
292
ENOVIA Live Collaboration Installation Guide
The default is 7d. Select a number followed by a single character, s (seconds), m
(minutes), h (hours), or d (days). A value of zero turns off the filter and no cache control is
enabled. A value of 0s means expire immediatly or after zero seconds.
Wizard Parameters
Use these parameters when running wizards using the Wizard servlet. (In the future, they
may also be used to run Forms using a servlet.)
ematrix.frame.font.width Controls the width of text field widgets in wizards by
determining the number of columns wide each widget will be. The parameter accepts any
integer and the default value is 9. The number of columns is determined by dividing the
number of pixels specified for the width of each widget (in the wizard definition) by the
number entered for this parameter. For example, suppose a widget is defined with a pixel
width of 100 and the default value of 9 is used for the font.width parameter. 100 divided
by 9 is 11, so the widget would be 11 columns wide.
<context-param id="ContextParam_#">
<param-name>ematrix.frame.font.width</param-name>
<param-value>9</param-value>
</context-param>
ematrix.frame.font.height Works the same way as the font.width parameter except this
parameter controls the height of widgets and affects multiline text fields and listboxes. The
default value is 16.
<context-param id="ContextParam_#">
<param-name>ematrix.frame.font.height</param-name>
<param-value>16</param-value>
</context-param>
ematrix.frame.warn.unsupported When set to true, the Wizard servlet displays a
warning when a wizard uses an unsupported command, such as an MQL dialog scripting
command. When set to false, the default, the Wizard servlet ignores unsupported
commands and gives no feedback.
<context-param id="ContextParam_#">
<param-name>ematrix.frame.warn.unsupported</param-name>
<param-value>false</param-value>
</context-param>
Western European languages
If you are having problems with displaying accent marks in any ENOVIA product, add the
following to web.xml in the properties section:
<context-param id="ContextParam_#">
<param-name>com.matrixone.servlet.MimeType1</
param-name>
<param-value>txt,text/plain; charset=UTF-8</
param-value>
</context-param>
Chapter 10: Deploying J2EE
293
Language Parameter
ematrix.encoding This parameter specifies the character set encoding and should be set to
UTF-8.
<context-param id="ContextParam_#">
<param-name>ematrix.encoding</param-name>
<param-value>UTF-8</param-value>
</context-param>
</context-param>
ematrix.xml
When you run the WAR Utility, by default a SERVER_INSTALL\distrib\ directory
is created on the server that contains the following:
Ear
Ear
War
War
file
directory
file
directory
However, most configurations do not require all four artifacts. The ematrix.xml file is used
by the WAR Utility as the ANT build script and can be configured to indicate what will be
needed. Three properties control what is needed:
<property name="createstaticzip" value="true"/>
<property name="createearfile" value="true"/>
<property name="staticcontentinwar" value="true"/>
These properties can be set to either “true” or “false” (case sensitive). If removed or
commented out, the value is false.
Using a Web server in addition to an application server
Many enterprise environments use a WWW server fronting the application server. This is
the default topology in WebSphere. In this environment, ideally the WWW server should
handle all of the static content and the WAR file shouldn't even contain the static content.
You can remove the “staticcontentinwar” property (setting to false does not disable it),
keeping “createstaticzip” set to true, and the static content will be separated from the WAR
file. You will also need to update your application server setting for file serving prior to
running the WAR Utility.
To move static content out of the war file
1. In ematrix.xml remove, comment out, or set to “false”, the staticcontentinwar
property. For example:
<!-- <property name="staticcontentinwar" value="true"/> -->
2. Disable file serving in the application server. For WebSphere, this is disabled in
ibm-web-ext.xmi by resetting:
fileServingEnabled="true"
to:
fileServingEnabled="false"
This change affects what is placed in plugin-cfg.xml, which governs which requests
the WWW server handles and which ones the application server handles.
3. Run the WAR Utility, as described in Building the J2EE Archive File.
294
ENOVIA Live Collaboration Installation Guide
Application servers using the ENOVIA Live Collaboration
Server without a Web server
If you are not using a WWW server to front your application server, there is no need to
create a static zip file or an ear file. You can remove the properties “createstaticzip” and
“createearfile” from ematrix.xml to create only a war directory (and a war file). This will
reduce the time to run the WAR Utility and the disk space used.
To create a war file only
1. Remove or comment out the properties “createstaticzip” and “createearfile” from
ematrix.xml. For example:
<!-- <property name="createstaticzip" value="true"/> -->
<!-- <property name="createearfile" value="true"/> -->
2. Run the WAR Utility, as described in Building the J2EE Archive File. You will be
prompted for the context root.
Framework.properties
By default, the framework.properties file includes only the following entries, to be used
for program debugging:
#
#
#
#
ematrix.origin.trace=false
ematrix.debug=false
ematrix.ftp.debug=false
ematrix.fcs.debug=false
Servlet definitions have been removed from this file and are now defined in web.xml.
ematrix.origin.trace Set to true to trace all servlets, jsps, and JPOs executed on the server.
This enables tracing globally for all context objects created. Be sure the path to
framework.properties is in your classpath, (which should already be the case for the Live
Collaboration Server).
ematrix.debug Set to true to turn on debugging output from the ENOVIA Live
Collaboration servlets. The output will be written to a log file that captures stdout. The
default is false.
ematrix.ftp.debug Set to true to turn on debugging output from FTP. The output will be
written to the server’s stdout. The default is false.
ematrix.fcs.debug Set to true to turn on debugging output from FCS. The output will be
written to the server’s stdout. The default is false.
Application Server
Files
When the Live Collaboration Server is installed with WebLogic, the following lines are
added to weblogic.xml:
<jsp-descriptor>
<jsp-param>
<param-name>workingDir</param-name>
<param-value>WEBAPPNAME/generated</param-value>
</jsp-param>
</jsp-descriptor>
Chapter 10: Deploying J2EE
295
The workingDir parameter is the directory used to store compiled JSPs. This change
allows multiple webapps to be deployed and guarantee that name conflicts do not occur
between them.
Consult your application server’s documentation for other parameters that you may want
to change before running the WAR Utility.
296
ENOVIA Live Collaboration Installation Guide
Building the J2EE Archive File
This section describes how to run the WAR Utility on the UNIX, Linux, and Windows
platforms.
The WAR Utility may take several minutes to run, depending on your machine’s processor
and the size of the staging directory.
The dos window no longer appears during the WAR Utility run and remains hidden.
Running the WAR
Utility on UNIX or
Linux
If adding an application or re-running the WAR Utility for any reason, delete the contents
of the SERVERHOME/distrib/ directory before starting.
To run the WAR Utility for ENOVIA Live Collaboration Server installations on
UNIX or Linux
1. Stop the ENOVIA Live Collaboration Server processes.
2. Change directory to SERVERHOME/ematrixwarutil/.
3. Run ./war_setup.
4. Enter the SERVERHOME directory path. This is the path where you installed the
ENOVIA Live Collaboration Server.
5. Enter the name of your web application. This is the web application name known to
your J2EE server.
6. Enter the directory where the Java Development Kit is installed. You see a message
that the system is copying files. When finished, EAR and WAR files are created in the
distrib/ subdirectory of the SERVERHOME directory.
Running the WAR
utility on Windows
If you selected "J2EE (build EAR and WAR archives)" as the deployment option when
installing the ENOVIA Live Collaboration Server, the WAR utility is installed under the
SERVER_INSTALL\ematrixwarutil\ directory, and a Start ENOVIA Live
Collaboration WAR Utility shortcut is created in the Dassault Systemes Software
V6R2011x program folder on the Start menu to launch the WAR Utility script.
To run the ENOVIA Live Collaboration WAR utility
1. Select the Start ENOVIA Live Collaboration WAR Utility shortcut from the Start >
Programs menu.
Chapter 10: Deploying J2EE
297
An interactive console appears presenting three prompts, each with its own default
value. For example:
•
Enter Collaboration Server installation directory path
[C:\enoviaV6R2011x\server]?
•
Enter the name of your web application [enovia]?
•
Enter the directory where the Java Development Kit has been installed
[C:\Java\jdk1.6.0_19]?
2. To change any item, type the desired information at the respective prompt. To accept
the default value, simply press Enter without typing any letter.
The WAR Utility creates the EAR AND WAR files are created in the distrib\ subdirectory
of the SERVER_INSTALL directory.
298
ENOVIA Live Collaboration Installation Guide
Deploying the J2EE Archive File
After you run the WAR Utility to create the J2EE archive files, you use the J2EE
application server to deploy it.
Choose the deployment procedure below for your J2EE server and platform.
An application server can only deploy one ENOVIA .war file (ematrix.war for example).
You can install as many ENOVIA applications as you would like before you run the WAR
Utility to create the .war file. If you decide to install a second set of ENOVIA applications,
you cannot use this application server to deploy this second .war file. In order to deploy
this second .war file, you must install the ENOVIA Live Collaboration Server (with an
application server) again and use this second application server to deploy it. Other
non-ENOVIA .war files can be deployed by an application server that has already
deployed an ENOVIA .war file.
Deploying on
WebSphere
To deploy using WebSphere (UNIX and Windows)
1. Start your WebSphere server. For example:
../IBM/HTTPServer/bin/apachectl start
../IBM/WebSphere/AppServer/bin/startServer.sh server1
2. Start a browser and access http://SERVER_NAME:9060/ibm/console
Login so that the changes you make are attributed to you.
3. Expand Applications and click Install New Application.
If you have previously deployed the ENOVIA application and need to update it, click
Enterprise Applications and then click ematrix in the list of installed applications.
4. If your browser is on the server machine, select Local File System. Otherwise, select
Remote File System. Click the Browse button next to your selection and browse to
the path for your ear file. Select the ear file and click Open.
5. Once the page has updated select Show me all installation options and parameters
and click Next.
6. Continue clicking Next until you get to Step 2: Map modules to servers.
7. On Step 2, select the module (such as ematrix) and continue to click Next until you
reach Step 6: Map virtual hosts for Web Modules.
8. On Step 6, select the (such as ematrix) and continue to click Next until you reach the
summary page. Then click Finish.
9. When the process finishes, you see a message stating “Application ematrix installed
successfully.” For first time deployment click the Manage Applications link to
continue editing. If you are updating your deployment click “Save to Master
Configuration” link.
10. If not already on the page for Enterprise Applications > ematrix, click Enterprise
Applications and then click ematrix in the list of applications.
11. Scroll down and click on the Class Loading and update detection link under the
Detailed Properties section.
12. Scroll down to WAR Classloader Policy.
Chapter 10: Deploying J2EE
299
13. Select Class loader for each WAR file in application (if not already selected). Click
the Apply button.
14. When the next page is displayed, click the Save link at the top of the page and then
click the Save button.
15. Expand Servers then click on Web Server. Select your web server and click on
Propagate Plug-in. This will generate the plugin-cfg.xml file and the new web
application description will be part of the file.
16. For first time deployment, start the application by clicking Enterprise Applications,
selecting the checkbox in front of ematrix, and clicking the Start button.
17. If using Matrix Web Navigator, open the httpd.conf file in IBMHttpServer/
conf and comment out the following lines, as shown below:
#AfpaEnable
#AfpaCache on
#AfpaLogFile "C:\IBMHttpServer/logs/afpalog" V-ECLF
18. Move static pages to the web server by copying the WEBAPPNAME_static.zip file
from the SERVERHOME/distrib/ directory to the doc root of your web server.
For example: ematrix_static.zip
19. Unzip WEBAPPNAME_static.zip in the doc root. The /ematrix directory is
created.
20. Add an entry for the new directories in plugin-cfg.xml in
WEBSPHEREHOME\AppServer\config\cells\ . For example:
<default_host_server1_host_Cluster_URIs">
<Uri Name="/ematrix/*/*.jsp"/>
<Uri Name="/ematrix/servlet/*"/>
<Uri Name="/ematrix/common/*"/>
<Uri Name="/ematrix/*"/>
Add this entry under <UriGroup Name=>.
21. Stop and restart the server.
Deploying on
WebLogic
To deploy using WebLogic (UNIX and Windows)
1. Start your WebLogic server.
2. Launch a supported browser and go to:
http://HOSTNAME:7001/console
3. Type your Username and Password, then click Log In.
4. On the main screen, click Configure applications under Information and
Resources.
5. If Install is grayed out, click Lock & Edit on the Summary of Deployments page.
6. Click Install under Deployments.
7. Navigate to the location of the EAR file. Select ematrix.ear and click Next.
8. Select Install this deployment as an application and click Next.
9. Click Next in the Optional Settings screen.
300
ENOVIA Live Collaboration Installation Guide
10. Select No, I will review the configuration later under Additional configuration,
then click Finish.
11. When you return to the Summary of Deployments, click Activate Changes.
12. Once the changes have been saved, select the checkbox for ematrix. Choose
Servicing all requests under Start, then click Yes to continue.
13. Logout of the WebLogic administration console.
Deploying on Sun
Java System
Application Server
The Sun Java System Application Server deployment is only for UNIX platform. On Sun
Java System Application Server, the enovia.war file is your web application’s war file.
If you re-deploy the enovia.war file, you should first remove the existing war file.
To deploy using Sun Java System Application Server (UNIX only)
1. Change the directory to /app/SUNWappserver7/bin.
2. Type asadmin.
3. Stop the server by typing stop-appserv.
4. Deploy the ear file by typing:
deploy --user admin_user --password admin_password /app/
RMI_INSTALL/distrib/ematrix.ear
5. Restart the Sun Java System Application Server server by typing
start-appserv.
To remove the enovia.war file
1. On the UNIX command line, type the following:
undeploy --user admin_user --password admin_password
WEB_APP_NAME
For example, the WEB_APP_NAME might be ematrix.
2. Stop and restart the Sun Java System Application Server.
Tips for using Sun Java System Application Server
Chapter 10: Deploying J2EE
•
The Sun Java System Application Server can be started and stopped using the
following commands:
start-appserv
stop-appserv
•
Log files are located in
/var/opt/SUNWappserver7/domains/domain1/server1/logs
and
/var/opt/SUNWappserver7/domains/domain1/admin-server/logs
•
To connect from a browser, use the following URL:
http://HOSTNAME:PORT/enovia/common/emxNavigator.jsp
301
Deploying on
Tomcat
Tomcat does not require a deployment process. Instead, you only need to copy the .war file
to the web application directory.
To deploy using Tomcat
•
Copy enovia.war from /SERVERHOME/distrib/ to
/app/<Jakarta-TomCat>/webapps/.
To startup/shutdown Tomcat
•
To startup Tomcat, use startup.sh, which is found in the /app/tomcat/bin
directory.
•
To shutdown Tomcat, use shutdown.sh, which is found in the /app/tomcat/
bin directory.
To view Tomcat log files
View the catalina.out file under /app/tomcat/logs.
To undeploy using Tomcat
To undeploy, you delete the web application directory (e.g., ematrix) found under the
/app/tomcat_install/webapps directory.
1. Stop Tomcat by using shutdown.sh.
2. Delete the web application directory under the /app/tomcat_install/
webapps directory. This is usually called ematrix.
302
ENOVIA Live Collaboration Installation Guide
Starting the ENOVIA Live Collaboration Server
When the Server is configured for RIP, just start the application server and ENOVIA Live
Collaboration is available as needed.
When the RMI daemon (standalone) or gateway is installed, use rmireg.bat on Windows
or rmireg.sh on UNIX to start the server. You can stop the server on UNIX by running
rmireg.sh -stop.
Note that before the ENOVIA Live Collaboration Server is started, you must start the
database, HTTP server, and application server.
Chapter 10: Deploying J2EE
303
304
ENOVIA Live Collaboration Installation Guide
11
Installing the
Documentation
ENOVIA Live Collaboration Documentation
The user’s guides for ENOVIA Live Collaboration are installed in PDF format and
delivered in the ENOVIALiveCollaborationDocumentation-VERSION zip file. The
administrator’s guides are delivered with the ENOVIA Studio Modeling Platform product
in the ENOVIAStudioModelingPlatformDocumentation-VERSION zip file. Both zip files
are delivered as a Windows distribution only and can be installed on a Windows machine
and then copied to a UNIX machine.
Installing the PDF
Files
The following guides are installed with each zip file:
ENOVIA Live Collaboration:
•
ENOVIA Live Collaboration Application Exchange Framework User’s Guide
•
ENOVIA Live Collaboration Business Metrics User’s Guide
•
ENOVIA Live Collaboration Common Components User’s Guide
•
ENOVIA Live Collaboration Matrix Navigator Guide
•
ENOVIA Live Collaboration Team User’s Guide
•
ENOVIA Live Collaboration Installation Guide
•
ENOVIA 3DVIA Viewer User’s Guide
305
ENOVIA Studio Modeling Platform:
•
ENOVIA Live Collaboration Administrator’s Guide
•
ENOVIA Live Collaboration Application Development Guide
•
ENOVIA Live Collaboration Installation Guide
•
ENOVIA Live Collaboration Matrix Navigator Guide
•
ENOVIA Live Collaboration Schema Reference Guide
•
ENOVIA Studio Modeling Platform Business Modeler Guide
•
ENOVIA Studio Modeling Platform MQL Guide
•
ENOVIA Studio Modeling Platform Programming Guide
•
ENOVIA Studio Modeling Platform System Manager Guide
To install the online help files on Windows
1. Log into Windows as a person with Administrator privileges.
2. Copy the .zip files from the CD or the ENOVIA Download page to a temporary
directory.
3. Unzip the first file and run setup.exe.
4. At the Welcome screen, click Next.
5. Enter a Destination Folder for the online help files. You can accept the default folder
or choose a different folder. The default folder for the Studio Modeling Platform
documentation is StudioModelingPlatformHelp. The default folder for the Live
Collaboration documentation is LiveCollaborationHelp. Click Next.
6. Choose a Program Folder. Click Next.
The online help files are installed.
7. Click Finish to exit setup.
8. If required, install the second zip file using the same procedure.
After you install the PDFs, you can choose to make them available online by manually
changing settings in the enovia.ini file for the Studio Modeling Platform. Refer to
Customizing Help for more information.
Uninstalling the
Online Help Files
The PDFs can be entirely removed by using the Add or Remove Programs option from the
Control Panel.
To uninstall online help files
1. From the Control Panel, navigate to the Add or Remove Programs option.
2. Locate the ENOVIA documentation you wish to uninstall and click Remove.
The documentation is uninstalled.
306
ENOVIA Live Collaboration Installation Guide
Customizing Help
Administrators may customize the options available under the Help menu of the thick
client applications by setting several environment variables in the enovia.ini file for the
Studio Modeling Platform (previously matrix.ini). These variables are grouped by their
usage. Application help variables specify what documents are to be available from each
application. Document help variables specify for each document what will appear in the
application’s Help menu, the name of the file to open, and optionally, what viewer
application to use to read the file. Administrators may also add their own help files,
providing pertinent information to users that is specific to their implementation.
Application Help
Variables
The first group of variables stand for the thick client applications: Matrix Navigator,
Business Modeler, System Manager, and MQL. These variables list the document help
variables which are to be included as menu items in the various applications. Document
help variables are also defined in the enovia.ini file.
MX_HELP_MATRIX=MX_HELP_MATRIX_USER
MX_HELP_BUSINESS=MX_HELP_BUSINESS_USER,MX_HELP_MQL_USER
MX_HELP_SYSTEM=MX_HELP_SYSTEM_USER,MX_HELP_INSTALLATION,MX_HELP_MQL_USER
MX_HELP_MQL=MX_HELP_MQL_USER
Document Help
Variables
The variables referenced above are then defined with the text which is to appear in the
Help menu followed by the fully qualified help file name. Windows platforms take
advantage of file associations, so executable information is not necessary. Adobe Acrobat
is required to view PDFs.
MX_HELP_MATRIX_USER=On
Matrix,{DOC_INSTALL_DIR}\PDF\ENOVIALiveCollaborationMatrixNavigatorGuide-{VERSION}.pdf
MX_HELP_BUSINESS_USER=On
Business,{DOC_INSTALL_DIR}\PDF\ENOVIAStudioModelingPlatformBusinessModelerGuide-{VERSION}.
pdf
MX_HELP_SYSTEM_USER=On
System,{DOC_INSTALL_DIR}\PDF\ENOVIAStudioModelingPlatformSystemManagerGuide-{VERSION}.pdf
MX_HELP_MQL_USER= On
MQL,{DOC_INSTALL_DIR}\PDF\ENOVIAStudioModelingPlatformMQLGuide-{VERSION}.pdf
MX_HELP_INSTALLATION=On
Installation,{DOC_INSTALL_DIR}\PDF\ENOVIALiveCollaborationInstallationGuide-{VERSION}.pdf
Note that a comma but no space separates the menu text from the file launching
information. If provided, there must be a space (but no comma) between the executable
and file name. Directories and file names may NOT contain spaces.
If only the Matrix Navigator Help is appearing, the DOC_INSTALL_DIR may be pointing
to the Live Collaboration documentation. Modify the directory to point to the Studio
Modeling Platform documentation.
For example, if you added the following entries to the ini file:
MX_HELP_MATRIX=MX_HELP_MATRIX_USER,MX_HELP_BUSINESS_USER,MX_HELP_SYSTEM_USER,MX_H
ELP_MQL_USER,MX_HELP_INSTALLATION
Chapter 11: Installing the Documentation
307
MX_HELP_MATRIX_USER=On
Matrix,{DOC_INSTALL_DIR}\PDF\ENOVIALiveCollaborationMatrixNavigatorGuide-{VERSION
}.pdf
MX_HELP_BUSINESS_USER=On
Business,{DOC_INSTALL_DIR}\PDF\ENOVIAStudioModelingPlatformBusinessModelerGuide-{
VERSION}.pdf
MX_HELP_SYSTEM_USER=On
System,{DOC_INSTALL_DIR}\PDF\ENOVIAStudioModelingPlatformSystemManagerGuide-{VERS
ION}.pdf
MX_HELP_MQL_USER= On
MQL,{DOC_INSTALL_DIR}\PDF\ENOVIAStudioModelingPlatformMQLGuide-{VERSION}.pdf
MX_HELP_INSTALLATION=On
Installation,{DOC_INSTALL_DIR}\PDF\ENOVIALiveCollaborationInstallationGuide-{VERS
ION}.pdf
You would see this in the Matrix Navigator help menu:
Specifying the Help Viewer Application
If you want to specify the application to use to view the files, the full path and file name of
the executable must be put before the help file path, with a space between the two. There
should be no space before the viewer information, just a comma. For example:
MX_HELP_MATRIX_USER=On Matrix,c:\acrobat\AcroRd32.exe
{DOC_INSTALL_DIR}\pdf\ENOVIALiveCollaborationMatrixNavigatorGuide-V6R2011.pdf
Adding Custom
Help Files
If you want to add custom help files to any of the menus, create new variables and then
reference them in the applicable application’s variable. For example, to add an attribute
description file named attribute.htm to the Business Modeler help menu, use:
MX_HELP_BUSINESS=MX_HELP_BUSINESS_USER,MX_HELP_MQL_USER,MX_HELP_ATTRIBS
MX_HELP_ATTRIBS=On Attributes, {DOC_INSTALL_DIR}\attributes.htm
Of course, the additional file will have to be placed in the directory specified as
DOC_INSTALL_DIR.
308
ENOVIA Live Collaboration Installation Guide
12
Installing Matrix Web Navigator
Web Navigator Installation
Matrix Web Navigator provides access to the ENOVIA Live Collaboration database using
popular Web browsers. Its user interface is nearly identical to that of the ENOVIA Live
Collaboration Matrix Navigator application. Before installing the Java applet, be sure the
ENOVIA Live Collaboration Server is operational.
When installing Web Navigator, the archived class files (.cab and .jar) are first installed on
the Web server. Users may then access the application with the a supported browser.
Before using a new version of Web Navigator, you should remove old versions completely
as described in Removing Web Navigator.
Installing Web
Navigator on UNIX
Use the procedure below to install Web Navigator on a UNIX server. Before installing the
software make sure you know:
•
The path for the Web server document root directory
•
The port number for the server
To install Web Navigator on UNIX
1. Remove any previously-installed versions of Web Navigator. Refer to Removing Web
Navigator for more information.
309
1. Copy the tar.gz file from the CD or the ENOVIA Download page to the distribution
directory. Refer to Mounting the CD in Chapter 7 if necessary.
2. Unzip the tar.gz file to the distribution directory. Change to the directory named
“install” under the distribution directory and run the setup script as follows:
% cd /DISTRIB_DIR/install
% ./setup
The following menu is displayed:
Primary Setup Menu for PLATFORM on HOSTNAME as username
1. Setup Web Navigator Software
2. Remove Web Navigator Installation
9. Exit Setup
3. Select Option 1 to perform automatic setup of Web Navigator.
4. Setup prompts for the distribution path:
Enter distribution directory path []?
5. Setup asks for the path where you installed the Live Collaboration server:
J2EE deployment - Enter eMatrixServletRMI installation directory path.
6. Make sure you did not receive any error messages during the install.
Installing Web
Navigator on
Windows
Use the procedure below to install Web Navigator on a Windows Web server. Before
installing the software, make sure you know:
•
The path for the Web server document root directory
•
The port number for the server
Installing Web Navigator on Windows
1. Log into Windows as a person with Administrator privileges.
2. Copy the .zip file from the CD or the ENOVIA Download page to a temporary
directory.
Please note that when transferring the .zip file from the internet, executable files may
be silently excluded when unzipping the file due to Windows security behaviour. To
prevent this from happening, before unzipping the file, right click in the file, select
Properties, and click Unblock.
3. Unzip the zip file and run setup.exe.
4. At the Welcome screen, click Next.
5. Next specify the directory where you have installed the ENOVIA Live Collaboration
Server.
6. Now Setup asks you to review the settings you have made and gives you the
opportunity to make any changes by selecting Back and re-entering the information.
Click Next to begin copying files.
310
ENOVIA Live Collaboration Installation Guide
Setting up for Web Navigator Access
After installation of Web Navigator, the following Web pages are available:
•
MatrixAppletXML.jsp page displays a Start Matrix button, which starts the
Java applet for Web Navigator. When users connect for the first time, the supported
version of Sun’s JVM (if needed), as well the ENOVIA applet, are downloaded to the
client machine and saved. The JVM caches the code so, for subsequent connections,
the applet is only downloaded when the jar file is updated (no special plugin is
needed). If a new plugin is required, (either wrong version or none at all), users are
redirected to Sun’s site, which asks the user if they would like to update the Java
plugin. This is required before using Web Navigator.
•
MatrixAppletWizardXML.jsp page uses a parameter that specifies a wizard
name, causing the wizard to launch automatically when the html page is loaded. The
wizard may be optionally embedded within the page, instead of popping the wizard
frames outside of the page. Embedded wizards provide a similar look and feel to a
Web program, and may therefore seem more familiar to users than a wizard that is
spawned from the page. To embed a wizard within a page, add the following
parameters to the Web page that launches the wizard:
•
The Wizard parameter’s value must be set to the name of the wizard to execute.
•
The ShowWindow parameter must be set to false to have the wizard
embedded in the page. Removing the parameter from the html page causes the
wizard to execute in a separate window.
•
Optionally, set the AutoStart parameter is true to set context using the
User and Password parameters. If AutoStart is set to false, the session
context dialog box appears.
If a user gets to the MatrixAppletWizardXML.jsp page after already logging in
using the mxLogin.jsp and the login servlet, the Password parameter need not be
set.
•
The parameters for size must have values large enough to hold the wizard frames.
Width and height values are in pixels. If the size is not sufficient for the wizard,
vertical and/or horizontal scrollbars are be provided.
If you set up your Web server just for Web Navigator, choose one of these pages as the
default (index) page. Otherwise, add links to these pages as needed, from any of the Web
pages currently on your server.
Access these files from:
http:// <hostname>:<portnumber>/<webappname>/WebClient/
For example, to start Web Navigator you might go to:
http://acmeserver:7001/matrix/WebClient/MatrixAppletXML.jsp.
You can customize these pages by adding parameters. For example, you could change the
protocol to https: (secure http) on any of the pages. For a complete list of parameters
that you can add, refer to Configuring Web Navigator, below.
Configuring for
download of Sun
JVM
If Sun’s JVM is not installed, by default your users need internet access and must be able
to download files through any proxy servers that may be in place. If your users will not
Chapter 12: Installing Matrix Web Navigator
311
have access to the internet, you can override the URL for redirection by using any of the
following settings in web.xml:
ematrix.win.plugin
ematrix.sunos.plugin
ematrix.hp-ux.plugin
ematrix.mac.plugin
ematrix.aix.plugin
Refer to Web.xml in Chapter 10 for details.
Also make sure your Sun JVM cache size is large enough to make the downloadable jar
somewhat persistent, otherwise unnecessary reloads may effect performance when
accessing the page.
Installing the
Public Security
Key
A public key is available from CustomerLink that is supported by Web Navigator, as well
as other applets delivered via applications or integrations by ENOVIA. When this in place,
the security certificate warning window will not be displayed. This key needs to be
installed on all client machines or the security window will be displayed. Refer to User
Startup for details.
Configuring Web
Navigator
The pages used to start Web Navigator can be customized as required, by adding
parameters. All parameters that can be passed to the Live Collaboration server are
described below. The provided pages use javascript to generate pages and parameters use
the following syntax:
props.put("PARAMNAME", "VALUE");
If you will use custom applets, your pages may use one of the following formats:
<PARAM name="NAME" value="VALUE">
document.writeln("<param name='NAME' value='VALUE'>");
Complete Parameter List
Parameter Name
Description/Value
ADKTrace
When set to true, Web Navigator will generate a stacktrace that is passed
as a parameter whenever the applet calls into the kernel. This allows the
information to be logged in order to troubleshoot problematic code.
Refer to Studio Customization Toolkit Origin Trace Facility in
Chapter 21 for details.
Autostart
Automatically starts the applet (or wizard) without having to press the
start button (no start button is displayed). The applet autostarts if this
parameter is found on the page—its value (true or false) is ignored. If the
user and password parameters are also included, the applet or wizard
uses them to set context. Otherwise, the set context dialog box is
displayed.
312
ENOVIA Live Collaboration Installation Guide
Parameter Name
Description/Value
CacheFormsOnTypes
When set to true, Web Navigator will more efficiently handle the list of
forms associated with a type and keep it for the duration of the applet
session. The default is false, which means a separate server call is made
EACH time you use the right-mouse button on any object.
You should set CacheMethodsOnTypes to the same value as this.
CacheMethodsOnTypes
When set to true, Web Navigator will more efficiently handle the list of
methods associated with a type and keep it for the duration of the applet
session. The default is false, which means a separate server call is made
EACH time you use the right-mouse button on any object.
You should set CacheFormsOnTypes to the same value as this.
CheckinAppend
A toggle switch for the checkin options, append or replace. The default
is false, which means that existing files are replaced by newly
checked-in files. This setting overrides the setting in the Preferences
dialog.
CheckinUnlock
Tells Web Navigator if objects should be unlocked after files are checked
into it. The default is false. This setting overrides the setting in the
Preferences dialog.
CheckoutLock
Tells Web Navigator if objects should be locked after files are checked
out of it. The default is false. This setting overrides the setting in the
Preferences dialog.
defaultwizardfont
Used to define the font used for wizard widgets that have no font
defined. Refer to Defining Default Fonts on the Web for more
information.
DisableMultipleWizards
Prevents multiple wizards from running concurrently in the same Web
Navigator session. When set to “true,” only one wizard can execute at a
time. If the user attempts to execute a second wizard, the following
message displays:
Multiple concurrent Wizards have been disabled.
If set to “false” or if the parameter is not present, multiple wizards can be
run concurrently.
EnableEnhancedFCS
If set to true, FCS is enabled for Web Navigator. The default is false.
Refer to the System Manager Guide for more information.
ForceFileModes
If set to true, Users will not be able to override the settings of
CheckinAppend, CheckinUnlock, or CheckoutLock in either the
checkin/checkout or preferences dialogs. The default is false.
Host
Value is localhost for Windows or the actual hostname for UNIX
Web servers.
LAF
Sets the look and feel of the applet. Valid values are windows, metal,
or CDE/Motif. If not set, Windows platforms use windows, UNIX
uses CDE/Motif.
Chapter 12: Installing Matrix Web Navigator
313
Parameter Name
Description/Value
Language
Controls which java resource bundle translation is used to display the
menus, windows, and errors of the applet. It is also used to display
schema definitions in another language, if the setting matches a defined
language alias. This setting overrides the language set in the client’s
native locale. For example, when using the following on the Start Matrix
page:
<PARAM name="Language" value="fr">
the applet’s windows are displayed in French, and the fr aliases for
administrative objects will be displayed for all clients.
Valid values are: en (for English), fr (for French), de (for German), it
(for Italian), ja (for Japanese), tw (for traditional Chinese), cn (for
simplified Chinese) and ko (for Korean). These abbreviations must be
lowercase. Translations are provided only for the languages listed above.
The language parameter (and defined alias) must be a valid ISO
Language Code. These codes are the lower-case two-letter codes as
defined by ISO-639. You can find a full list of these codes at a number of
sites, such as:
http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt
If you set the language parameter to an ISO value for which there is
no java resource bundle translation (such as sv for Swedish), Web
Navigator will be displayed in English, but the administrative objects
will be displayed in the language specified, assuming these aliases
exist. To enable a non-ISO alias (such as if you have schema aliases
for manufacturing vs. engineering), set
MX_ALIASNAME_PREFERENCE property on each user that
requires it.
MinTableCellHeight
Sets the maximum height of a table cell in number of lines. The default
value depends on the view mode of the table, as indicated below:
MinTableCellHeight default values of View Modes
View Mode
Default Value
view by name
1 line (always uses 1 line, no matter what value is
set)
view by icon
3 lines (1 each for type name and revision)
view by image
as large as required.
If MinTableCellHeight is set to too small a value, such as if set to 2 and
the view mode is by icon, the default value is used.
MultiFileCheckinEnabled
314
Allows multiple files to be checked in in one operation. The default is
false, which means that multiple file checkin is not allowed. When
enabled, a different File Chooser is launched from the Browse.... button
on the Checkin Dialog. This file chooser allows the selection of multiple
files. However, the alternate file chooser has two minor limitations:
•
file details/icons buttons do not work - you cannot show file
dates.
•
only default file icons are shown, rather than icons associated
with file types.
ENOVIA Live Collaboration Installation Guide
Parameter Name
Description/Value
Password
Password may optionally be provided for login purposes. Used in
conjunction with the User parameter.
Protocol
Set to http or https.
Server
Value defaults to bos. If more than one server is running on a single
server, they may be named, and this parameter should be set accordingly.
ShowWindow
Determines whether the wizard is embedded into the html page (in
which case, value is false) or if a separate window is displayed.
Defaults to true, which displays a separate wizard window. If you want
to change the value back to the default of true, remove the parameter
from the page entirely.
StartLabel
May be set to anything to let the user specify the text for the Start Matrix
button, if a button is displayed.
TableRowChunkSize
Sets the number of Oracle table rows (each row corresponding to one
business object) to be retrieved in each data chunk when expanding in
details mode.After all the chunks have been loaded, Web Navigator
displays the business objects in the indented table. The default is 100.
Increasing the value may improve performance of expands in details
mode.
User
User may be passed for login purposes. If not passed, the Set Context
dialog box displays.
Wizard
Value must be changed to the name of the wizard to be launched.
Additional information on passing parameters via an HTML page is available in the
Programming Guide.
Defining Default
Fonts on the Web
Optionally, fonts may be specified in wizards and cues. When these are displayed on the
Web, by default they are mapped to their closest font “family.” For those wizard
components that are defined with no font specified, an HTML parameter may be added to
a page that lets a default font be defined for all Web clients. The DefaultWizardFont
parameter can be added to the Web page with on of the following values:
•
FONTFAMILY-STYLE-POINTSIZE
•
FONTFAMILY-POINTSIZE
•
FONTFAMILY-STYLE
•
FONTFAMILY
WHERE:
FONTFAMILY is the virtual font name used by Java in the font.properties file to
map to a physical font. Its value may be: dialog, dialoginput, serif,
sanserif,or monospaced.
STYLE may be one of the following:PLAIN, BOLD, BOLDITALIC, or ITALIC. The
default is PLAIN.
POINTSIZE is a decimal representation of the font point size. The default is 12.
For example, the following can be added to the ematrixapplet.jsp page:
<PARAM name="DefaultWizardFont" value="dialog-italic-8">
Chapter 12: Installing Matrix Web Navigator
315
If this parameter is not added to the page, wizard components defined with no font are
displayed using the dialog font family.
font.properties File
Java fonts are defined in one of the font.properties files located in /System32/
lib for Internet Explorer. There may be several versions of the font file (such as
font.properties.ja for Japanese) in support of the various character sets used
across the world. The appropriate file is loaded based on the machine’s locale the first time
Java is launched by the browser.
The font.properties file contains definitions of the five FONTFAMILY variables,
each with five font options specified. A portion of the default font.properties file is
shown below:
dialog.0=Arial,ANSI_CHARSET
dialog.1=Bitstream Cyberbit, DEFAULT_CHARSET
dialog.2=MS Gothic,SHIFTJIS_CHARSET
dialog.3=WingDings,SYMBOL_CHARSET,NEED_CONVERTED
dialog.4=Symbol,SYMBOL_CHARSET,NEED_CONVERTED
dialoginput.0=Courier New,ANSI_CHARSET
dialoginput.1=Bitstream Cyberbit,DEFAULT_CHARSET
dialoginput.2=MS Gothic,SHIFTJIS_CHARSET
dialoginput.3=WingDings,SYMBOL_CHARSET,NEED_CONVERTED
dialoginput.4=Symbol,SYMBOL_CHARSET,NEED_CONVERTED
serif.0=Times New Roman,ANSI_CHARSET
serif.1=Bitstream Cyberbit,DEFAULT_CHARSET
serif.2=MS Gothic,SHIFTJIS_CHARSET
serif.3=WingDings,SYMBOL_CHARSET,NEED_CONVERTED
serif.4=Symbol,SYMBOL_CHARSET,NEED_CONVERTED
sansserif.0=Arial,ANSI_CHARSET
sansserif.1=Bitstream Cyberbit,DEFAULT_CHARSET
sansserif.2=MS Gothic,SHIFTJIS_CHARSET
sansserif.3=WingDings,SYMBOL_CHARSET,NEED_CONVERTED
sansserif.4=Symbol,SYMBOL_CHARSET,NEED_CONVERTED
monospaced.0=Courier New,ANSI_CHARSET
monospaced.1=Bitstream Cyberbit,DEFAULT_CHARSET
monospaced.2=MS Gothic,SHIFTJIS_CHARSET
monospaced.3=WingDings,SYMBOL_CHARSET,NEED_CONVERTED
monospaced.4=Symbol,SYMBOL_CHARSET,NEED_CONVERTED
The browser attempts to use the font specified as option 0 first, and if it is unavailable
proceeds on to option 1, and so on until option 4. The font settings in this file can be
changed, however, changes affect ALL Java programs. For a more complete explanation
of the font.properties files, see http://java.sun.com/j2se/1.4.2/docs/guide/intl/
fontprop.html.
316
ENOVIA Live Collaboration Installation Guide
User Startup
Once the Web server, Live Collaboration server, and Web Navigator are installed, Web
users should be notified of the URL for the page that contains the Start Matrix button. For
example:
http://acmeserver:7001/enovia/WebClient/MatrixAppletXML.jsp.
Clients can then begin working with the database over the Internet.
When users load Web Navigator (that is, click Start Matrix) for the first time, the Web
browser first attempts to download the correct version of Sun’s Java Runtime Environment
if needed. Users are asked to confirm that they wish to install the JRE, and then to accept
the License agreement. When the JRE install finishes, users must restart the browser. On
Internet Explorer you are not prompted for a restart.
Once you restart and return to the URL, before the Start button becomes available a
security warning is displayed. Web browsers only allow special Java “signed” programs to
have read or write access to a user’s hard disk. Selecting Yes allows Web Navigator to be
run. You can avoid this warning by installing the public key that is available from
CustomerLink. This key is supported by Web Navigator, as well as other applets delivered
via applications or integrations by ENOVIA. When this in place, the security certificate
warning window will not be displayed.
To install the public key on Windows
1. Download the MatrixOne.csr file from Customerlink.
2. From the Windows Control Panel, double click Java Plugin.
3. From the Certificates tab, with Signed Applet selected, click Import and browse to
select the MatrixOne.csr file. Click Open.
4. Click Apply.
5. Restart the browser and ENOVIA Applets will no longer display the security warning
window.
Chapter 12: Installing Matrix Web Navigator
317
Removing Web Navigator
Before using a new version of Web Navigator, you should remove old versions completely.
Removing Web Navigator components from Web clients
1. Remove Swing from each client Swing was installed on using one of the methods
below:
•
Deinstall Swing via the Add/Remove Programs option in the Control Panel.
•
From the System icon of Control Panel, use the Environment tab to delete any
reference to swingall.jar in CLASSPATH, if any. If there is a reference, search for
and delete the swingall.jar file.
Version 10.5 does not include Swing classes.
2. Remove previous versions of MQLTCL from each client mqltcl was installed on
using one of the methods below:
•
Deinstall MQLTCL via the Add/Remove Programs option in the Control Panel.
•
Search for wish80.exe. If it exists, and is located in the mqltcl install directory,
remove the entire directory.
•
From the System icon of Control Panel use the Environment tab to delete the
TCL_LIBRARY and TK_LIBRARY environment variables.
MQLTcl is no longer supported or packaged with the LiveCollaborationWebNavigator
tarkit. The “MQLTcl83 Extension for Matrix Web Navigator” link is removed from the
web client.
3. Clear disk and memory caches via the respective browser's cache clearing menu picks
on all clients that used previous versions of Web Navigator.
4. Search all drives for *.jar and *.cab. Delete any cab or jar versions of matrix,
mxplugin, or swing which are in ENOVIA_INSTALL or browser cache directories.
5. Reboot before starting the new install.
If the Studio Customization Toolkit is installed on this machine and you remove Web
Navigator, you will need to re-install the Studio Customization Toolkit.
318
ENOVIA Live Collaboration Installation Guide
The Server’s Directory Structure
When we add Web Navigator to the server, the following structure is created:
Server Install directory
| - - - staging
| - - - ematrix
| - - WebClient
| - - - doc
| - - -user
| - - -pdf
| - - - gif
| - - - java
| - - - classes
J2EE staging directory
Web application name
Client directory
Documentation
Web page images
Java classes for Web Navigator
Archived class files for Web Navigator
Chapter 12: Installing Matrix Web Navigator
319
320
ENOVIA Live Collaboration Installation Guide
13
Integrating with LDAP
and External
Authentication Tools
Internal vs. External Authentication
Internal authentication of users occurs when ENOVIA Live Collaboration authenticates a
user by matching the person’s username and password to a person defined in the database.
For example, if a user attempts to access an ENOVIA product, such as Engineering
Central, and the user has not been authenticated externally, the application presents the
ENOVIA product login page. The surname and password entered by the user must match a
person defined in ENOVIA Live Collaboration. ENOVIA Live Collaboration
authenticates internally by default so if this is the authentication you want to use, it
requires no special setup.
External authentication (also referred to as Single Signon or SSO) occurs when the
application server or some other tool authenticates a user. The requirements for external
authentication differ depending on the tool and configuration used. For example, the
requirement could be a certificate ID entered from a security fob, or a surname and
password stored in a repository or database (such as an LDAP server). To authenticate
externally, the user enters the required information at the login dialog or Web browser
page presented by the authentication tool. ENOVIA Live Collaboration receives the
information that the user has been authenticated.
ENOVIA Live Collaboration supports LDAP (Lightweight Directory Access Protocol)
products that are compliant with the LDAPv3 protocol and is qualified with the following
LDAP servers:
•
openLDAP
321
•
iPlanet Directory Server (IDS)
In addition, ENOVIA Live Collaboration has a standard way to interface with SSO
products that has proven successful with the limited products we have tested. There is no
way to qualify all products or even all capabilities within each product; nor can ENOVIA
restrict you from using your preferred product, since generally the choice of vendor is a
company-wide initiative. Extra “hooks” are provided to allow the flexibility needed to
interoperate with most any SSO product you choose.
Login Behavior
When External
Authentication is
Used
ENOVIA Live Collaboration provides Single Signon when external authentication is used.
This means when a user attempts to access ENOVIA Live Collaboration (by logging into
an ENOVIA product) after having been authenticated externally, ENOVIA Live
Collaboration gives the user access and does not present a separate prompt for login
information. If the user is not already defined as a person in the database, ENOVIA Live
Collaboration automatically creates a person administrative object to represent the user.
ENOVIA Live Collaboration does not attempt to match the surname or password to its
database. For example, the user’s password in ENOVIA Live Collaboration may be
different from the password set up externally. But if authentication is external, the
ENOVIA Live Collaboration password is not used and the password stored with the
external authenticator is used instead.
Persons created automatically in this way are created as Full, Application users and have
all standard person accesses (Read, Modify, Delete, etc.). A restricted password is defined
for them using a random hashed value. But this password is not used for authentication.
Note that the automatic creation of a person administrative object is not sufficient to
successfully access ENOVIA products. These applications require that an
identically-named person business object (type Person) also be created and be in an Active
state. The Person business object must be connected to an Active company business object
with the Employee relationship. Trigger programs can automatically create the necessary
business objects and relationships. For information on the exact requirements for logging
into the ENOVIA products, see the ENOVIA Live Collaboration Administrator’s Guide
and the Administrator’s Guide for the application.
The Application Exchange Framework supports RSA token authentication. When set up,
users must enter a secure ID from a security fob to log in. For information, see the
Application Exchange Framework User’s Guide.
Behaviors to Note
Be aware of the following behaviors when using external authentication.
322
•
If a user starts the Web version of Matrix Navigator after having been authenticated
externally, the user can be re-authenticated internally by using the Set Context option.
•
If a user starts the Web version of Matrix Navigator after having been authenticated
externally, the user can access the Change Password option. The password being
changed is the one in ENOVIA Live Collaboration and not the one used for
authentication, so it has no effect on authentication. In most cases, the user won't
know the ENOVIA Live Collaboration password, which is generated by the system,
and therefore cannot make the change. (When using LDAP with external
authentication, the system does not allow users to change their password through
ENOVIA Live Collaboration client applications.)
ENOVIA Live Collaboration Installation Guide
Enabling External
Authentication
To enable external authentication, the following environment variables are set in enovia.ini
for the Live Collaboration Server (or mxEnv.sh or other startup script on UNIX):
•
MX_PAM_AUTHENTICATE_CLASS— is set to the Java class or JPO to invoke to
perform the authentication. If using a JPO for authentication, the class specification
should use the ${CLASS:XXX} convention for identifying a Java class stored as a
program object.
In order to support FDA approvals in an ENOVIA product, you must use the
authentication JPO. See the procedures below.
The Studio Customization Toolkit contains the following five authentication classes.
When creating a custom authentication method, these classes can be used as a starting
point.
•
matrix.util.SingleSignOnAuthentication
•
matrix.util.BasicAuthentication (Web browser authentication)
•
matrix.util.ServletAuthentication
•
matrix.util.PDUserAuthentication
• matrix.util.JSSOAuthentication
For example, to specify the Java class for basic authentication by the Web browser,
you would use this setting:
MX_PAM_AUTHENTICATE_CLASS=matrix.util.BasicAuthentication
•
MX_PAM_AUTHENTICATE_ARG—An additional parameter to pass to the
authentication function, if required.
MX_PAM_AUTHENTICATE_ARG=ARG
MX_PAM settings should be enabled for SSO logins only. If the MX_PAM settings are
enabled and a user attempts to log in using a non-SSO URL, the login will fail.
When SSO is configured, you should remove the emxLogin.jsp page and use the common/
emxNavigator.jsp page to start ENOVIA products.
In cases where a user is set up for external authentication but not set up in the ENOVIA
Live Collaboration database, a splash page will appear stating that they need to contact
their administrator to establish their ENOVIA Live Collaboration account. This splash
screen is defined by the following parameter in the emxSystem.properties file:
emxFramework.ExternalAuthentication.MatrixUserNotFound.Targe
tJSP = /common/emxSSONoMatrixUser.jsp
If another splash screen is substituted, it must be referenced by the above parameter.
The following is a general procedure for integrating with most tools.
To enable external authentication with a tool
1. Install and configure the external authentication tool you will be using according to
that tool’s documentation.
Chapter 13: Integrating with LDAP and External Authentication Tools
323
2. Update your enovia.ini file for the Live Collaboration Server (previously ematrix.ini)
or startup script, to include the environment variables as listed in the table below.
For integrations with:
Use this(these) setting(s):
Basic authentication by the Web
browser
MX_PAM_AUTHENTICATE_CLASS=matrix.util.BasicAuthentication
Any servlet authentication
MX_PAM_AUTHENTICATE_CLASS=matrix.util.ServletAuthentication
Other tools
MX_PAM_AUTHENTICATE_CLASS=authentication_class
MX_PAM_AUTHENTICATE_ARG=ARG
3. Make sure any jar files used by the external authentication tool are in your
CLASSPATH.
4. If you are using an ENOVIA product, you must by-pass the standard login and logout
pages, emxLogin.jsp and emxLogout.jsp. Use the following property to define the
alternative login/logout page. For more information on using external authentication
with ENOVIA Live Collaboration, see the ENOVIA Live Collaboration
Administrator’s Guide.
ematrix.sso.logout.url=URL_FOR_ALTERNATE_LOGOUT_PAGE
Using the
Authentication
Classes
The authentication classes used with ENOVIA Live Collaboration follow all conventions
of JPO programming. There must be a constructor with the signature “<init>(Context
context, String[] args)” and at least one additional method with the signature
“authenticate(Context context, String[] args)”. The constructor is actually called with an
empty argument list. The authenticate method will be called with 0 or 1 arguments,
depending on whether MX_PAM_AUTHENTICATE_ARG is set or not.
The authenticate method can be used to retrieve the Web client credentials (contained in a
java.util.Map) using the call:
Map map = context.getCredentials();
The credential map contains all the http headers and cookies received from the client/
server connection at the time authentication is requested. The authenticator may proceed
to do its work by either setting context directly with a derived username/password, or by
simply returning a username as a string. When a username is returned, the Live
Collaboration Server assumes the user has been fully authenticated and sets the database
context to the ENOVIA Live Collaboration user of the same name. If the user does not
exist in the ENOVIA Live Collaboration database, a new user is added to the database
(with a randomized initial password setting). Authentication methods can also throw
exceptions, and any exception results in a failed login.
324
ENOVIA Live Collaboration Installation Guide
The following table lists those elements of the map that will always be set by the
Application Exchange Framework:
Map Element
Set in this way by the framework:
HttpServletRequest.remoteUser
If available, string containing the username of the
requesting user. Either defined on the remote host or
defined by the web / application server.
HttpServletRequest.authType
String containing the authentication credentials.
HttpServletRequest.Method
String containing the request method (GET, POST,
…).
HttpServletRequest.URI
String containing the complete URI up to the
Query_String separator “?”.
HttpServletRequest.Protocol
String containing the requested protocol HTTP/1.1
or HTTP/1.0, etc.
HttpServletRequest.pathInfo
String containing the Path_Info, which is extended
path information after a Servlet, JSP, or CGI
program e.g. /Servlet/checkout/abc.doc where /
abc.doc is the Path_Info.
HttpServletRequest.contentLength
String containing the Content-Length of the request.
HttpServletRequest.contentType
String containing the Content-Type of the request.
HttpServletRequest.serverName
Strings contains the name the server has been
configured for.
HttpServletRequest.serverPort
String contains the current port the application
server is listening on.
HttpServletRequest.remoteAddr
If available, this string will contain the IP address of
the requesting remote host.
HttpServletRequest.remoteHost
If available, this string will contain the resolved
canonical name of the requesting remote host.
HttpServletRequest.Scheme
String containing either HTTP or HTTPS.
The following is an example of “basic” authentication (actually the source for
matrix.util.BasicAuthentication):
// BasicAuthentication.java
//
// Copyright (c) 2002 Dassault Systemes Inc.
// All Rights Reserved
// This program contains proprietary and trade secret information of
// Dassault Systemes, Inc. Copyright notice is precautionary only and does
// not evidence any actual or intended publication of such program.
//
// $Log: BasicAuthentication.java,v $
//
//
package matrix.util;
import java.util.Map;
Chapter 13: Integrating with LDAP and External Authentication Tools
325
import matrix.db.Context;
public class BasicAuthentication
{
public BasicAuthentication(Context context, String[] args)
{
}
public void authenticate(Context context, String[] args) throws Exception
{
Map map = context.getCredentials();
if (map == null)
throw new Exception("no credentials");
String header = (String)map.get("Authorization");
if (header == null)
throw new Exception("no authorization header");
String encoded = header.substring(6);
byte[] decoded = Mime64.decode(encoded);
String decodedString = new String(decoded);
int idx = decodedString.indexOf(":");
if (idx <= 0)
throw new Exception("malformed header");
String user = decodedString.substring(0, idx);
String pass = decodedString.substring(idx+1);
context.resetContext(user, pass, "");
}
}
326
ENOVIA Live Collaboration Installation Guide
Using LDAP with ENOVIA Live Collaboration
ENOVIA Live Collaboration integrates with Lightweight Directory Access Protocol
(LDAP) services, so you can use an LDAP server as a repository to store information
about users. The two LDAP servers tested with ENOVIA Live Collaboration are
openLDAP and iPlanet Directory Server (IDS). LDAP is a set of protocols for accessing
information directories. The protocols are based on the X.500 standard, but are simpler
and support TCP/IP. The LDAP standards are open and therefore any kind of server can
host the directories.
ENOVIA Live Collaboration integration uses a toolkit from openldap.org (http://
www.openldap.org/) for the underlying access protocols and is compliant with LDAPv3.
The integration lets you authenticate users based on the users defined in the LDAP
database. The integration also lets you retrieve user information from the LDAP server,
including: address, comment, email address, fax, fullname, groups, password, phone, and
roles.
Limitations
Be aware of the following limitations related to the LDAP integration:
•
External authentication using LDAP integration is not supported for loosely-coupled
databases.
•
LDAP integration is not supported on SGI IRIX or Compaq True 64 operating
systems.
•
The integration works with LDAP version 2 servers, but version 3 features, such as
TLS/SSL, will not work when running on a version 2 server. ENOVIA recommends
using version 3 servers.
•
LDAP usernames and passwords can contain special characters, but do not use the
following: “ , ‘ * (that is, double quote, comma, single quote, asterisk), since they are
used within ENOVIA Live Collaboration as delimiters. The local operating system of
the LDAP directory may have further character restrictions.
Behaviors to Note
•
For people who are defined in LDAP, the system uses the LDAP password for
authentication. The person’s ENOVIA Live Collaboration password might differ and
is not used for authentication. Users who have a DN in LDAP cannot change their
ENOVIA Live Collaboration password through any ENOVIA Live Collaboration
client application user interface or through the Studio Customization Toolkit.
Business Administrators can change ENOVIA Live Collaboration passwords using
Business Modeler or MQL but if the person is defined in LDAP, the person will not be
able to log in using that password because it’s not the password in the LDAP
directory. The person could log in using the LDAP password.
LDAP Integration
Works for both
Types of
Authentication
You can configure ENOVIA Live Collaboration to integrate with your LDAP server
regardless of the type of authentication you are using: either internal or external
authentication. LDAP refers to where and how the user information is stored, not the tool
that performs the authentication.
Chapter 13: Integrating with LDAP and External Authentication Tools
327
LDAP with internal authentication
Person defined in ENOVIA
Live Collaboration?
Person defined
in LDAP?
Person is authenticated?
Yes
Yes
Yes, through LDAP DN
Yes
No
Yes, through ENOVIA Live Collaboration
No
Yes
Configurable using MX_PAM_PERSON_CREATE.
If TRUE, the system automatically creates the person
administration object in ENOVIA Live Collaboration and the
person is authenticated.
If FALSE, authentication fails. For more information, see
Creating person administrator objects.
No
No
No
LDAP with external authentication
Person defined in ENOVIA
Live Collaboration?
Person defined
in LDAP?
Person is authenticated?
Yes
Yes
Yes
Yes
No
No
No
Yes
The system automatically creates the person administrator
object in ENOVIA Live Collaboration and the person is
authenticated. (This happens automatically and is not
dependent on a variable.)
No
No
No
Information
Retrieved from
LDAP
When you configure the integration with LDAP, you specify the information you want to
retrieve from the LDAP server. The information falls into three categories: passwords, user
information (such as email address, comment, address, fax, etc.), and groups and roles.
Each category is handled a little differently, as described below.
User passwords
If your integration with LDAP includes passwords, users must log in using the password
specified in LDAP. This is true for both internal and external authentication and even if the
user is defined in ENOVIA Live Collaboration with a different or no password. When
configuring the integration, you can specify the default cipher used to validate passwords.
User information
If your integration includes standard user information, such as email address or name,
ENOVIA Live Collaboration retrieves the specified user information from LDAP
whenever the information is requested (for example, with a print person MQL
command). If the information isn’t in the LDAP server, ENOVIA Live Collaboration
328
ENOVIA Live Collaboration Installation Guide
retrieves the information from the ENOVIA Live Collaboration database as usual.
ENOVIA Live Collaboration retrieves user information that is not configured to be part of
the integration from the ENOVIA Live Collaboration database.
For example, suppose your integration includes email address only. If a ENOVIA Live
Collaboration application needs to send an email to a person, it gets the email address
from LDAP. If LDAP doesn’t have an email address for the person, the application
retrieves it from ENOVIA Live Collaboration. If the application needs to get the person’s
name, an attribute that’s not part of the integration, it gets it from ENOVIA Live
Collaboration.
Groups and Roles
Mapping roles from LDAP to the ENOVIA Live Collaboration security model lets LDAP
provide the associations between persons, groups, and roles, but maintains the
lifecycle-based access rights in ENOVIA Live Collaboration. If your integration includes
groups and/or roles and ENOVIA Live Collaboration needs to retrieve a user’s group/role
assignments, it looks for the user’s group/role assignments in the LDAP server. If the user
has no assignments in LDAP, ENOVIA Live Collaboration looks for the user’s
assignments in ENOVIA Live Collaboration. ENOVIA Live Collaboration grants the
person the access rights defined for the group/role in ENOVIA Live Collaboration. If the
LDAP server assigns a user to a group/role that does not exist in ENOVIA Live
Collaboration, ENOVIA Live Collaboration discards the assignment.
Using the Group of Names and Group of Unique Names features in LDAP v3, you can
assign groups within groups, or roles within roles, in addition to individual users in groups
or roles. When configured as described in Retrieving group/role assignments, ENOVIA
Live Collaboration recognizes a person as belonging to a higher level group or role if the
person is assigned to a group or role within that higher level group or role.
For example, suppose an LDAP directory is set up with these groups and user:
When configured properly, ENOVIA Live Collaboration will recognize Joe User as
belonging to Group1 and Group2 but not Group3. The groups need to be defined in
ENOVIA Live Collaboration but the hierarchy need only be defined in the LDAP server.
Chapter 13: Integrating with LDAP and External Authentication Tools
329
Overview of LDAP
Connection
Process
The ENOVIA Live Collaboration integration with LDAP includes a number of
configuration options that let you control how users are authenticated. The main steps
performed when a user logs into an ENOVIA Live Collaboration application that is
integrated with LDAP are listed below, along with the configuration options available.
When MX_LDAP_TRACE =TRUE is included in the ini file/startup scripts, all of these
steps are reflected in the trace log. Trace logs for sample configuration are shown in LDAP
Sample Settings. For details on the variables listed in this overview, see Integrating
ENOVIA Live Collaboration with LDAP.
Steps performed when a user logs in or changes context using a password
1. Connect to an LDAP server.
ENOVIA Live Collaboration attempts to open a connection to the first host defined in
MX_LDAP_HOST variable. If the server does not respond, ENOVIA Live
Collaboration attempts to connect to the second host and so on until it successfully
connects. If an attempt to connect fails because the settings are not correct for a
particular server, the entire bind attempt fails.
2. Initial bind to LDAP.
Before the system can search for the user in the LDAP directory, it must make an
initial bind. This initial bind can either be anonymous or as a privileged user and is
configured using MX_LDAP_BIND_DN, MX_LDAP_BIND_PASSWORD, and
MX_LDAP_BIND_USER.
3. Search LDAP for the user’s fully qualified Distinguished Name (DN).
The search (directory, node, and location within the node) is defined using the values
specified for the MX_LDAP_SEARCH_DN and MX_LDAP_SEARCH variables.
The username entered by the user is substituted for the ${USER} macro in the
MX_LDAP_SEARCH variable. There are three types of search results:
•
If the search finds one DN that contains the username, ENOVIA Live
Collaboration stores the DN in the context object for future reference and
proceeds to the next step.
•
If the search finds more than one DN that contains the username (for example,
the system administrator accidentally used the same username for two DNs),
authentication fails. ENOVIA Live Collaboration notifies the user with an error
messages and writes an entry to the error and access logs.
•
If no DN is found in LDAP and the system is set up for internal authentication,
the system looks for the person in ENOVIA Live Collaboration. If the person is
in ENOVIA Live Collaboration, continue to the next step. If the person is not in
ENOVIA Live Collaboration, login fails. When using external authentication,
login fails whenever the person is not defined in LDAP.
4. Unbind.
5. Rebind and authenticate user.
The MX_LDAP_AUTHENTICATOR variable determines how ENOVIA Live
Collaboration performs all subsequent binds (whether the bind is as the named user or
using the same method used for initial bind: privileged or anonymous user) and
determines how the user is authenticated. If the variable is TRUE, ENOVIA Live
Collaboration rebinds using the DN stored in the context object and the password
entered by the user. If the variable is FALSE, ENOVIA Live Collaboration rebinds
using the values in the MX_LDAP_BIND_DN, MX_LDAP_BIND_PASSWORD,
330
ENOVIA Live Collaboration Installation Guide
and MX_LDAP_BIND_USER variables, just as it did for the initial bind. ENOVIA
Live Collaboration authenticates the user by validating the user’s LDAP password
against the password the user entered.
6. Determine if authenticated user is in ENOVIA Live Collaboration and respond as
configured.
If the user has a person administrator object that is not Inactive, authentication is
complete.
If the user does not have a person administrator object in ENOVIA Live Collaboration
and the system is set up for internal authentication, MX_PAM_PERSON_CREATE
determines if ENOVIA Live Collaboration creates a person object. If the variable is
true, ENOVIA Live Collaboration creates a person administrator object with the
entered username. If the variable is false, authentication fails. When using external
authentication, the system always creates a person administrator object.
Types of Binding
As described in Information Retrieved from LDAP, there are two main stages of binding:
an initial binding and rebindings for all subsequent LDAP operations—such as
re-authenticating the user, querying LDAP for more information about the user (for
example, group information), or getting information about a different user (for example,
the user executes a print command for another user). The initial binding can be either as a
privileged user or anonymous user and the rebindings can use the same method as the
initial binding or can use the named user. MX_LDAP_AUTHENTICATOR determines the
rebind method. This table summarizes the methods that can be used for initial binding and
rebinding.
If Initial Bind
Method is:
The Rebind
Method can be:
By defining the initial bind variables
as described in Initial bindings to LDAP
and setting
MX_LDAP_AUTHENTICATOR to:
Anonymous User
Named User
TRUE
Anonymous User
FALSE
Named User
TRUE
Privileged User
FALSE
Privileged User
Each of the bind methods as they apply to rebinding is described below.
•
Named User binding—Named user binding means the system performs all rebinds
with the DN associated with the entered username and with the entered password. Use
this method for rebindings if your LDAP server or security needs require that the user
be authenticated directly against the LDAP directory server.
•
Privileged User binding—Binding as a privileged user means using the DN and
password for a specific user for all bindings. This user is usually an administrator who
has the ability to access all the attributes of the users or a subset of users who are
designated as ENOVIA Live Collaboration users.
Chapter 13: Integrating with LDAP and External Authentication Tools
331
•
Integrating
ENOVIA Live
Collaboration with
LDAP
Anonymous User binding—You might want to configure ENOVIA Live
Collaboration to bind as an anonymous user if users are being authenticated
externally and you do not want to implement a privileged user just for the purpose of
looking up user attributes that are publicly available from the LDAP directory.
iPlanet Directory Server (IDS) requires the bind user to have administrative privileges
and have access to passwords. Since the anonymous user does not have this access,
binding as anonymous user does not work when using IDS.
You integrate ENOVIA Live Collaboration with an LDAP server by setting environment
variables. Use these variables regardless of the type of authentication you are using
(internal or external). On Windows, these variables are set in the enovia.ini file for the
Live Collaboration Server (previously ematrix.ini); on UNIX they are set and exported in
the startup scripts.
Many of the variables accept macros, such as ${USER} and ${DN}. The descriptions in
the following sections list which macros are accepted by each variable and show examples
of how to use macros with the variables. The examples are for Windows. On UNIX, add a
backslash before macro (\${USER}).
If you are using external authentication but you don’t want to integrate with LDAP (you
don’t want to retrieve any user information from LDAP, including groups and roles), do
not add these variables.
This section divides the LDAP variables into these categories:
•
Connecting to an LDAP server
•
Using multiple LDAP servers
•
Initial bindings to LDAP
•
Subsequent bindings to LDAP (rebinding)
•
Creating person administrator objects
•
Searching LDAP
•
Retrieving person information
•
Advanced person variables
•
Retrieving group/role assignments
•
Generating error and message logs
Connecting to an LDAP server
MX_LDAP_HOST—the host or hosts running the LDAP server (slapd, nds). You can
include the port number with the host name by separating them with a colon. When the
port number is included with the host variable, ENOVIA Live Collaboration ignores the
MX_LDAP_PORT variable.
MX_LDAP_HOST=hostname1:789
If ENOVIA Live Collaboration connects to a server with MX_LDAP_HOST defined as
shown above, the resulting trace log would look like:
16:16:22.229 LDAP t@2092 LDAP: init(hostname1,789)
As described below in Using multiple LDAP servers, you can specify multiple hosts. Do
this by separating the host/port pairs with a space. For example:
332
ENOVIA Live Collaboration Installation Guide
MX_LDAP_HOST=hostname1:789 hostname2:389
MX_LDAP_PORT—the port on which the LDAP server is running. If this variable is not
included and no port is specified for MX_LDAP_HOST, the default port of 389 is used.
MX_LDAP_PORT=789
Using multiple LDAP servers
If you have a backup LDAP server available, you can configure ENOVIA Live
Collaboration to use check multiple LDAP servers by specifying the hosts in
MX_LDAP_HOST. When attempting to bind and multiple host servers are specified:
•
The system attempts to bind with the first server specified in MX_LDAP_HOST. If
the server does not respond (for example, its slapd process is down), the system
attempts to bind with the next server and so on until it is able to attempt to
authenticate.
•
If authentication fails for the first server, the system does not attempt to authenticate
through the second server and bind fails.
If you want to configure referrals, refer to Subsequent bindings to LDAP (rebinding).
Initial bindings to LDAP
MX_LDAP_BIND_DN, MX_LDAP_BIND_PASSWORD, and
MX_LDAP_BIND_USER control how the system binds initially to LDAP. These three
variables are also used for binding under these conditions:
•
all subsequent rebinds when MX_LDAP_AUTHENTICATOR=FALSE
•
context changes by a Business Administrator who does not use a password
•
rebinds when MX_LDAP_AUTHENTICATOR=TRUE but the system cannot access
the DN (for example, the user is defined in ENOVIA Live Collaboration only) or
password to rebind with the logged in user’s credentials
When MX_LDAP_AUTHENTICATOR=TRUE, these variables are used only for the
cases listed in the last two bullets above. For all other logins, the system rebinds as the
named user who is logging in (user’s DN and the entered password).
Chapter 13: Integrating with LDAP and External Authentication Tools
333
This table summarizes the methods for binding to LDAP and authenticating.
User Operation
Initial Bind
Password Validation
Rebind
User who is defined in
LDAP logs in or
changes context with
password
Anonymous user or privileged user
based on “bind variables”:
If MX_LDAP_AUTHENT
ICATOR=TRUE, validate
user DN and entered
password against LDAP
directory.
If FALSE, validate entered
password against password
for DN.
If MX_LDAP_AUTHEN
TICATOR=TRUE, rebind
with user DN and entered
password.
If FALSE, same as initial
bind.
Business
Administrator changes
context without
password
Anonymous user or privileged user
based on bind variables.
N/A
No validation takes place.
Same as initial bind.
User who is defined in
ENOVIA Live
Collaboration only
logs in
Anonymous user or privileged user
based on “bind variables”:
Same as initial bind.
Same as initial bind.
MX_LDAP_BIND_DN,
MX_LDAP_BIND_PASSWOR
D, MX_LDAP_BIND_USER
MX_LDAP_BIND_DN,
MX_LDAP_BIND_PASSWOR
D, MX_LDAP_BIND_USER
MX_LDAP_BIND_DN—the Distinguish Name used to bind to the LDAP server.
Supports the ${USER} macro.
If you are using iPlanet Directory Server (IDS), this name must be an administrative user
in IDS. IDS restricts access to the password field on person objects, so ENOVIA Live
Collaboration must authenticate to the LDAP directory as an administrator user to access
passwords. The specified IDS user must also have access to the organization specified for
the search DN.
MX_LDAP_BIND_PASSWORD—the password associated with the name entered for
MX_LDAP_BIND_DN (or for MX_LDAP_BIND_USER if BIND_DN has the ${USER}
macro). The default is null. When a value is specified for this variable, the bind is
privileged user and not anonymous. If you specify a password, encrypt it first. When the
LDAP trace is enabled, the trace log lists the password as XXXX. See Encrypting the Bind
Password.
MX_LDAP_BIND_USER—Used only when MX_LDAP_BIND_DN has the ${USER}
macro. Specify the name that should be substituted for the macro when using a privileged
user binding.
You can configure these three variables so when they are used for binding, the bindings are
either anonymous or as a privileged user.
To bind as an anonymous user
•
Don’t specify a value for MX_LDAP_BIND_PASSWORD:
MX_LDAP_BIND_DN="uid=${USER},ou=People,dc=enovia,dc=net"
MX_LDAP_BIND_PASSWORD=
MX_LDAP_BIND_USER=
When a person attempts to log in, the resulting trace log would look something like
this:
20:59:28.208 LDAP t@1796
bind('uid=anonymous,ou=People,dc=enovia,dc=net','XXXX',128)
334
ENOVIA Live Collaboration Installation Guide
If you will be using anonymous user for the rebind method as well, keep in mind that
the DN defines where in the tree ENOVIA Live Collaboration can search. If you want
ENOVIA Live Collaboration to be able to search at the top of the LDAP hierarchy,
define the DN with a high point, for example:
MX_LDAP_BIND_DN=o=foobar.com
This allows ENOVIA Live Collaboration to search the entire tree. If you want to
constrain the search, specify a DN that is bound further down in the tree, for example:
MX_LDAP_BIND_DN=ou=People,o=foobar.com
IDS does not allow anonymous user binds.
To bind using a privileged user
1. Specify the DN for the user in the MX_LDAP_BIND_DN.
2. Define the user’s password in MX_LDAP_BIND_PASSWORD.
The user needs Read access to the LDAP database but does not require Write access.
This user must be able to access the passwords of those users designated as ENOVIA
Live Collaboration users. A typical configuration would be as follows:
MX_LDAP_BIND_DN="cn=Directory Manager,dc=matrix-one,dc=com"
MX_LDAP_BIND_PASSWORD==usIVNfm2
MX_LDAP_BIND_USER=
When a person attempts to log in, the resulting trace log would look like this:
16:16:22.229 LDAP t@2092 bind('cn=Directory
Manager,dc=matrix-one,dc=com','XXXX',128)
MX_LDAP_BIND_USER is only used to specify a name to substitute for a ${USER}
macro in MX_LDAP_BIND_DN. For example:
MX_LDAP_BIND_DN="cn=${USER},dc=matrix-one,dc=com"
MX_LDAP_BIND_PASSWORD==usIVNfm2
MX_LDAP_BIND_USER=Directory Manager
Subsequent bindings to LDAP (rebinding)
You can configure the integration so the bindings that follow the initial binding are all
named, using the credentials of the logged in user, or are the same as the initial bind
method (privileged user or anonymous user). For details about the different types of
bindings, see Types of Binding.
MX_LDAP_AUTHENTICATOR—determines how ENOVIA Live Collaboration
performs all rebinds (whether the bind is as the named user, the same privileged user used
for the initial bind, or the anonymous user used for the initial bind) and determines how
users are authenticated. If the variable is:
•
TRUE—ENOVIA Live Collaboration rebinds using the DN stored in the context
object and the password entered by the user. In this case, LDAP performs the
authentication. If the bind is successful, meaning the password matches the password
specified for the DN, the user is authenticated and the system proceeds to the next
step. If a person’s DN is not defined (for example, the person is defined in ENOVIA
Live Collaboration but not defined in LDAP) or the password is empty and the person
is a Business Administrator (a password is required to bind successfully for
non-Business Administrators), the three ini variables (MX_LDAP_BIND_DN,
Chapter 13: Integrating with LDAP and External Authentication Tools
335
MX_LDAP_BIND_PASSWORD, and MX_LDAP_BIND_USER) are used to bind.
If the bind is unsuccessful, authentication fails and ENOVIA Live Collaboration
makes no further attempts to authenticate.
•
FALSE—ENOVIA Live Collaboration rebinds using the values in the
MX_LDAP_BIND_DN, MX_LDAP_BIND_PASSWORD, and
MX_LDAP_BIND_USER variables, just as it did for the initial bind. In this case,
ENOVIA Live Collaboration performs the authentication. It searches for the DN
matching the entered username and then gets the attributes for the person. ENOVIA
Live Collaboration validates the user’s LDAP password against the password the user
entered. If the passwords match, the user is authenticated and the system proceeds to
the next step. If the passwords don’t match, authentication fails.
MX_LDAP_REFERRAL — can be enabled to cause ENOVIA Live Collaboration to
make the additional calls that will retrieve the correct LDAP server to complete user
authentication. when the initial server issues a referral. If MX_LDAP_REFERRAL=false
(the default) only users who are defined in one of the servers specified with
MX_LDAP_HOST will be able to bind. If MX_LDAP_REFERRAL=true, all users will
be able to bind, whether they are defined in one of the MX_LDAP_HOST servers, or
whether they are a referral. The default is false, because it is only necessary in the case
where your LDAP hosts are configured to follow referrals, and since it does require
additional calls.
Creating person administrator objects
If the person logging in is authenticated through LDAP but has no matching person admin
object in ENOVIA Live Collaboration, you can configure the system to create a person
object using MX_PAM_PERSON_CREATE. This applies to internal authentication. If
you have external authentication, the person admin objects are created automatically and
this variable is not needed.
MX_PAM_PERSON_CREATE—Determines if ENOVIA Live Collaboration creates a
person admin object for users who are authenticated in LDAP but do not exist in ENOVIA
Live Collaboration. If the variable is:
•
false—Authentication fails and the user is notified with an error message.
•
true—ENOVIA Live Collaboration creates a person admin object with the entered
username and a randomly-generated password. This password is not used for
authentication and the person must log in with the LDAP password. The person
admin object’s email flag is enabled and IconMail is disabled.
The person admin object is only created when the user logs into an ENOVIA Live
Collaboration client application, such as MQL, Matrix Navigator for the Web, or an
ENOVIA Live Collaboration application. The person admin object is not created
when the person logs into Business Modeler or System.
Use password triggers to update the newly created person object or create a new
person business object as needed. See Using Password Triggers with LDAP.
MX_PAM_PERSON_CREATE can be used to have the system automatically create
person admin objects for any internal authentication implementation, not just LDAP. For
example, it could be used in conjunction with password triggers.
Searching LDAP
These variables define the search commands ENOVIA Live Collaboration uses to query
the LDAP directory.
336
ENOVIA Live Collaboration Installation Guide
MX_LDAP_SEARCH_DN—the Distinguished Name used to search the server. Defaults
to the name specified for MX_LDAP_BIND_DN. If you are using IDS, this name should
be the top of the IDS search tree. For OpenLDAP, the default should be used.
MX_LDAP_SEARCH_DN="dc=enovia,dc=net"
MX_LDAP_SEARCH—the LDAP attribute query string. The string can include the
${USER} macro. For example, the following search string takes the username and passes
it in the LDAP ‘uid’ field (Windows):
MX_LDAP_SEARCH="(&(objectclass=person)(uid=${USER}))"
For example, suppose your search variables are defined with the values shown above for
the two variables. When a person with the username “JoeUser” logs in, the resulting
search would look like this (this is how the search is logged in the trace log):
20:59:28.224 LDAP t@1796
search('dc=enovia,dc=net','(&(objectclass=person)(uid=JoeUser))
','*',2)
Retrieving person information
The following settings specify how ENOVIA Live Collaboration should use LDAP data. If
not specified or if the requested person parameter is not populated for a given user in
LDAP, the information for that field is retrieved from the ENOVIA Live Collaboration
database as if LDAP were not in use.
MX_LDAP_COMMENT—attribute or macro for person’s comment.
MX_LDAP_PASSWORD—attribute or macro for person’s password.
MX_LDAP_PASSWORD2—attribute or macro for person’s secondary password.
MX_LDAP_EMAIL—attribute or macro for person’s email.
MX_LDAP_FULLNAME—attribute or macro for person’s fullname.
MX_LDAP_ADDRESS—attribute or macro for person’s address.
MX_LDAP_PHONE—attribute or macro for person’s phone number.
MX_LDAP_FAX—attribute or macro for person’s fax number.
Advanced person variables
MX_LDAP_ATTRIBUTES—list of LDAP attributes to retrieve for macro expansion.
Person attributes, such as “FULLNAME,” are either specified as a single LDAP attribute
name or as a macro made up of multiple LDAP attributes. Use the
MX_LDAP_ATTRIBUTES variable to specify which LDAP attributes can be used in
macro substitution. The default value is “*”, which makes all LDAP variables available for
substitution. In standard LDAP schemas, there's no reason to change this. In a custom
LDAP schema, MX_LDAP_ATTRIBUTE can be used to limit the amount of information
retrieved from LDAP.
MX_LDAP_CIPHER—sets the default cipher used to decrypt/validate the data stream
coming from LDAP. To secure passwords, you must setup secure protocol for LDAP
which means setting up LDAP to use TLS/SSL. Support for TLS/SSL is described below.
The supported ciphers are CRYPT, MD5, SHA, SMD5,and SSHA. If this variable is not set,
the data stream, including passwords, coming from LDAP are assumed to be clear-text.
This setting may be overridden by a prefix stored with passwords in an LDAP directory
Chapter 13: Integrating with LDAP and External Authentication Tools
337
that denotes which cipher should be used for that specific entry. For example, a password
entry of “{MD5}vbsaaskaer” means that the encoded password ‘vbsaaskaer’ is to be
validated using the MD5 algorithm.
Retrieving group/role assignments
Groups and roles specified in LDAP must exist (with the same names) in ENOVIA Live
Collaboration. If they do not, ENOVIA Live Collaboration cannot use the assignments to
control accesses. However, you can maintain the list of persons assigned to the groups and
roles only in LDAP, if desired.
If a person is assigned to a group in IDS, that person receives all accesses assigned to the
group in ENOVIA Live Collaboration. However, if you print or view the group from MQL
or Business Modeler, the person will not be listed as belonging to the group. If you print or
view the person, the group is listed as one of the person’s assignments.
IDS recognizes groups, but not roles.
MX_LDAP_GROUP_SEARCH—the query string to use to search for assigned groups.
To substitute the person’s LDAP DN when searching for assigned groups, include the
${DN} macro. To substitute the persons username (uid), use the ${USER} macro. For
example:
MX_LDAP_GROUP_SEARCH="(&(objectclass=groupofuniquenames)(unique
member=${DN}))"
MX_LDAP_GROUP_SEARCH="(&(objectclass=groupofuniquenames)(unique
member=uid=${USER},ou=People,dc=enovia,dc=net))"
If your LDAP system has group hierarchies, with groups assigned to other groups, and you
want ENOVIA Live Collaboration to search all higher level groups when checking group
assignments for a person, use the ${DN} macro in MX_LDAP_GROUP_SEARCH. If the
${USER} macro is used instead, ENOVIA Live Collaboration searches only the specified
group and does not consider higher-level groups unless the group hierarchy is modeled in
ENOVIA Live Collaboration.
For example, suppose an LDAP directory has a Group1, which contains Group2. Joe User
is assigned to Group2. When MX_LDAP_GROUP_SEARCH is defined using the ${DN}
macro, like the first example above, and a user executes this MQL command:
print person “Joe User” select isassigned[Group1]
The resulting output is TRUE. If a user requests Joe User’s group assignments, only
Group2, and not Group1, is listed.
Using the same scenario but with MX_LDAP_GROUP_SEARCH defined using the
${USER} macro instead of ${DN}, the resulting output for the isassigned command
would be FALSE (unless the group hierarchy is also modeled in ENOVIA Live
Collaboration).
MX_LDAP_GROUP—group name attribute.
MX_LDAP_ROLE_SEARCH—the query string to use to search for assigned roles. Like
the group search, role search supports the ${DN} and ${USER} macros.
MX_LDAP_ROLE—role name attribute.
338
ENOVIA Live Collaboration Installation Guide
Generating error and message logs
When first integrating with LDAP, it may be helpful to set the following variable to make
debugging information available:
MX_LDAP_TRACE can be set to TRUE when debugging LDAP integration so trace
output is routed to the console.
MX_ACCESS_LOG can be set to TRUE to log errors to the Event Viewer in Windows
and the system.log in UNIX.
Support for TLS/
SSL
The ENOVIA Live Collaboration integration with LDAP services supports the Transport
Layer Security (TLS) and Secure Sockets Layer (SSL) LDAP v3 protocols. These
protocols will not work when running an LDAP v2 server.
To use the TLS/SSL protocols, add this environment variable to your ini file or startup
script:
MX_LDAP_SSL = TRUE
ldaps:// syntax and connectivity is not supported.
Encrypting the
Bind Password
For security, encrypt the password stored for MX_LDAP_BIND_PASSWORD as
described below. ENOVIA Live Collaboration uses the same algorithm used for
encrypting the bootstrap file password. The system unencrypts the password before
passing it to LDAP.
To encrypt the LDAP bind password
1. Log into MQL as a user who has System Admin access.
2. Enter the command:
encrypt password PASSWORD_STRING
For example, to encrypt the password “secret”, enter:
encrypt password secret
MQL outputs the encrypted string.
3. Copy the encrypted string to the ini file or startup script.
Using Password
Triggers with
LDAP
If you want to use password triggers with LDAP, you'll need to:
•
write a custom JPO for the trigger.
•
add MX_PASSWORD_TRIGGERS=TRUE to enable the password trigger.
•
add MX_PAM_PERSON_CREATE=true, if you will be authenticating users not
currently in the ENOVIA Live Collaboration database.
•
configure the password trigger to launch the JPO as appropriate (see the list of
program object names below)
•
set the classpath to the appropriate classes used in the JPO (use CLASSPATH variable
on UNIX, MX_CLASSPATH on Windows).
Chapter 13: Integrating with LDAP and External Authentication Tools
339
When MX_PASSWORD_TRIGGERS is set to true, triggers configured to fire on set
context and/or change password events are enabled. Once enabled, ENOVIA Live
Collaboration executes program objects with the following names when a set context
event occurs:
•
ValidatePasswordCheck
•
ValidatePasswordOverride
•
ValidatePasswordAction
When a change password event occurs with password triggers enabled, ENOVIA Live
Collaboration executes programs named:
•
SetPasswordCheck
•
SetPasswordOverride
•
SetPasswordAction
To use password triggers, create one or more of these programs as appropriate.
Retrieving LDAP
Data Using Selects
You can retrieve LDAP data using MQL select statements. The select command uses the
ldap keyword and the LDAP attribute name. For example, with these environment
variables defined:
MX_LDAP_EMAIL=mail
MX_LDAP_FULLNAME=${sn},${givenName}
MX_LDAP_ADDRESS=postalAddress
MX_LDAP_PHONE=telephoneNumber
MX_LDAP_FAX=facsimileTelephoneNumber
MX_LDAP_GROUP=cn
The following select statements could be used:
MQL<3>print person Peter select ldap[mail];
person
Peter
ldap[mail] = Peter@3ds.com
MQL<4>print person Peter select ldap[telephoneNumber];
person
Peter
ldap[telephoneNumber] = 978-320-4500
MQL<5>print person Peter select ldap[cn];
person
Peter
ldap[cn] = Peter Mason
LDAP Sample
Settings
This section contains samples of LDAP variables set up for various configurations. Except
for the backslash needed for UNIX when specifying macros, the settings are the same for
both UNIX and Windows.
Single Server with initial bind using ${USER} macro and
340
ENOVIA Live Collaboration Installation Guide
anonymous user, rebinds are as named user
This sample includes only the variables that control the connection, binding,
authentication, and search. Variables for retrieving user information are not included.
Because the bind password is not defined, the initial bind is as anonymous user.
Subsequent binds are as the named user because the AUTHENTICATOR variable is
TRUE.
MX_PAM_PERSON_CREATE=true
MX_LDAP_AUTHENTICATOR=TRUE
MX_LDAP_TRACE=TRUE
MX_LDAP_HOST=qechnt2
MX_LDAP_PORT=389
MX_LDAP_BIND_DN="uid=${USER},ou=People,dc=enovia,dc=net"
MX_LDAP_BIND_USER=
MX_LDAP_BIND_PASSWORD=
MX_LDAP_SEARCH_DN="dc=enovia,dc=net"
MX_LDAP_SEARCH="(&(objectclass=person)(uid=${USER}))"
.
.
.
This is how the trace log might look for a system configured with the variables listed
above and when a person with username Test Everything and password Test logs in. The
steps listed on the left side correspond to the steps described in Information Retrieved
from LDAP.
MQL<1>set context user “Test Everything” password Test;
1. Connection to LDAP server
2. Initial bind as anonymous
3. Search for user’s DN; DN
found and stored in Context
object
4. Unbind
5. Rebind as named user and
authenticate
21:12:58.505 LDAP t@1796 LDAP: init(qechnt2,389)
21:12:58.505 LDAP t@1796
bind('uid=anonymous,ou=People,dc=enovia,dc=net','XXXX',128)
21:12:58.521 LDAP t@1796
search('dc=enovia,dc=net','(&(objectclass=person)(uid=Test
Everything))','*',2)
21:12:58.521 LDAP t@1796 dn: ='uid=Test
Everything,cn=QE,ou=Groups, dc=enovia,dc=net'
21:12:58.521 LDAP t@1796 unbind()
21:12:58.536 LDAP t@1796 LDAP: init(qechnt2,389)
21:12:58.536 LDAP t@1796 bind('uid=Test
Everything,cn=QE,ou=Groups, dc=enovia,dc=net','Test',128)
Multiple Server with initial bind and rebind using privileged
user
This set of variables configures a system with two LDAP servers. The initial bind has a
password and specific user so it will be as a privileged user. Because the
AUTHENTICATOR variable is FALSE, the subsequent binds are as the privileged user
also. This sample does not include variables for retrieving user information.
Chapter 13: Integrating with LDAP and External Authentication Tools
341
MX_LDAP_AUTHENTICATOR=FALSE
MX_PAM_PERSON_CREATE=true
MX_LDAP_HOST=HOSTNAME1:789 HOSTNAME2:389
MX_LDAP_PORT=
MX_LDAP_BIND_DN="cn=Directory
Manager,ou=People,dc=enovia,dc=net"
MX_LDAP_BIND_PASSWORD==y8ssla
MX_LDAP_PASSWORD=userPassword
MX_LDAP_SEARCH_DN=”dc=enovia, dc=net”
MX_LDAP_SEARCH=(&(objectClass=person)(uid=${USER}))
.
.
.
This is how the trace log might look for a system configured with the variables listed
above and when a person with username Test Everything attempts to log in. In this case,
the uNser logs in with password Test but the user’s password stored in LDAP is Secret, so
authentication fails. Notice that because the system is rebinding as the privileged user, the
user’s password is not authenticated until the system retrieves the user’s information, after
rebinding. In the previous example, in which the system rebinds as the named user,
authentication takes place as part of the rebind. The steps listed on the left side correspond
to the steps described in Information Retrieved from LDAP.
342
ENOVIA Live Collaboration Installation Guide
MQL<1>set context user "Test Everything" password Test;
1. Connection to LDAP servers
21:12:58.505 LDAP t@1796 LDAP: init(HOSTNAME1:789
HOSTNAME2:389,389)
2. Initial bind as privileged user
21:12:58.505 LDAP t@1796 bind('cn=Directory
Manager,ou=people,dc=enovia,dc=net','XXXX',128)
3. Search for user’s DN; DN
found and stored in Context
object
21:12:58.521 LDAP t@1796
search('dc=enovia,dc=net','(&(objectclass=person)(uid=Test
Everything))','*',2)
21:12:58.521 LDAP t@1796 dn: ='uid=Test
Everything,cn=QE,ou=Groups, dc=enovia,dc=net'
4. Unbind
21:12:58.521 LDAP t@1796
unbind()
21:12:58.536 LDAP t@1796 LDAP: init(HOSTNAME1:789
HOSTNAME2:389,389)
5. Rebind as privileged user
21:12:58.536 LDAP t@1796 bind('cn=Directory
Manager,ou=people,dc=enovia,dc=net','XXXX',128)
16:16:22.338 LDAP t@2092
search('dc=enovia,dc=com','(&(objectclass=person)(uid=Test
Everything))','*',2)
16:16:22.338 LDAP t@2092 result: mail='test@matrix-one.com'
16:16:22.338 LDAP t@2092 result: uid='Test Everything'
Retrieve user’s password
and compare to entered
password
16:16:22.338 LDAP t@2092 result: userPassword='Secret'
16:16:22.338 LDAP t@2092 result: objectClass='top'
16:16:22.338 LDAP t@2092 result: objectClass='person'
16:16:22.338 LDAP t@2092 result:
objectClass='organizationalPerson'
16:16:22.338 LDAP t@2092 result: objectClass='inetOrgPerson'
16:16:22.338 LDAP t@2092 result: sn='Test Everything'
16:16:22.338 LDAP t@2092 result: cn='Test Everything'
Authentication fails due to
password mismatch
16:16:22.338 LDAP t@2092
password
unbind()Error: #1500037: Invalid
Sample for IDS LDAP server
The following is a sample of the ini variables needed to establish an integration with
ENOVIA Live Collaboration and an LDAP server. The sample includes some IDS specific
notes. For most variables, there is no difference between how you define them in IDS
versus OpenLDAP.
# information for connecting to LDAP server running on the
# machine “qeserver5”.
# initial bind using admin account 'admin' created during
installation of IDS;
# this account has access to the domain “matrix-one.com”
# note: On IDS, an administrator account is required to retrieve
# the userpassword attribute
# subsequent binds using named user
Chapter 13: Integrating with LDAP and External Authentication Tools
343
MX_LDAP_AUTHENTICATOR=TRUE
MX_PAM_PERSON_CREATE=true
MX_LDAP_HOST=qeserver5
MX_LDAP_PORT=
MX_LDAP_BIND_DN=’uid=admin,ou=Administrators,ou=TopologyManagem
ent,o=NetscapeRoot’
MX_LDAP_BIND_PASSWORD==Y7d8ss
### Person information
# person to pull from LDAP: password, comment, fullname, and
email
# USER in search string will be populated with ENOVIA
# Collaboration Platform person name. For
# Windows, remove the backslash (\) before the $
# note use of macros in MX_LDAP_FULLNAME
# setting MX_LDAP_ATTRIBUTES to * makes all LDAP attributes
# available for macro substitution
# any field can be populated from multiple LDAP values
# IDS returns cipher type in encoded password string; no need to
specify it here
MX_LDAP_SEARCH_DN=’o=matrix-one.com’
MX_LDAP_SEARCH=”(uid=\${USER})”
MX_LDAP_CIPHER=
MX_LDAP_ATTRIBUTES=*
MX_LDAP_PASSWORD=userpassword
MX_LDAP_COMMENT=comment
MX_LDAP_FULLNAME=${sn}, ${givenname}
MX_LDAP_EMAIL=mail
### Group/role assignment variables
# assignments to be pulled from LDAP. USER in search string will
# be filled with ENOVIA Collaboration Platform Person name; for
# Windows, remove the backslash
# note there is no macro substitution applied to the
# MX_LDAP_GROUP attribute
# also note that IDS has no concept of “roles”
MX_LDAP_GROUP_SEARCH=”(&(objectclass=groupofuniquenames)(unique
member=uid=\${USER},ou=People,o=matrix-one.com))”
MX_LDAP_GROUP=cn
### Error Log
MX_LDAP_TRACE=true
One-to-One mappings to attributes
When configuring LDAP attribute settings, you can provide a one-to-one mapping from
LDAP attributes to ENOVIA Live Collaboration user attributes or you can use macro
syntax. The following example shows a sample configuration for OpenLDAP that contains
only one-to-one mappings for attributes.
MX_LDAP_AUTHENTICATOR=TRUE
MX_PAM_PERSON_CREATE=true
MX_LDAP_HOST=hplight
MX_LDAP_PORT=
MX_LDAP_BIND_DN="uid=${USER},ou=People,dc=enovia,dc=net"
MX_LDAP_BIND_PASSWORD=
MX_LDAP_SEARCH=(uid=\${USER})
MX_LDAP_CIPHER=CRYPT
MX_LDAP_PASSWORD=userPassword
344
ENOVIA Live Collaboration Installation Guide
MX_LDAP_COMMENT=comment
MX_LDAP_EMAIL=mail
MX_LDAP_FULLNAME=cn
MX_LDAP_TRACE=true
In the above sample, the LDAP server is running on the host ‘hplight’ on the default port.
ENOVIA Live Collaboration will bind initially to the server as an anonymous user
because no BIND_PASSWORD is defined. Then the system binds as the named user. The
search string is formed by taking the username and passing it in the LDAP ‘uid’ field.
Passwords are assumed to be stored in UNIX crypt() format. Password, comment, email,
and fullname are being read from LDAP; all other person parameters will be read from
ENOVIA Live Collaboration.
Macros for attributes
To use macros for LDAP attribute settings, set the variable MX_LDAP_ATTRIBUTES to
the list of all LDAP attributes that can be retrieved for a user. You can then specify the
individual ENOVIA Live Collaboration attribute settings, such as
MX_LDAP_ADDRESS, using macro syntax, ${name}. The advantage of this option is
that multiple LDAP attributes can be mapped into a single ENOVIA Live Collaboration
user attribute. This is common for such things as “address”, where city, state, and ZipCode
may each be separate LDAP fields. Here is an example of the same setup as shown in the
previous example except it uses macros for attributes:
MX_LDAP_AUTHENTICATOR=TRUE
MX_PAM_PERSON_CREATE=true
MX_LDAP_HOST=hplight
MX_LDAP_PORT=
MX_LDAP_BIND_DN="uid=${USER},ou=People,dc=enovia,dc=net"
MX_LDAP_SEARCH=(uid=${USER})
MX_LDAP_CIPHER=CRYPT
MX_LDAP_ATTRIBUTES=userpassword,comment,mail,cn,city,state,zip
MX_LDAP_PASSWORD=${userpassword}
MX_LDAP_COMMENT=${comment}
MX_LDAP_EMAIL=${mail}
MX_LDAP_FULLNAME=${cn}
MX_LDAP_ADDRESS=${city}, ${state} ${zip}
MX_LDAP_TRACE=true
Chapter 13: Integrating with LDAP and External Authentication Tools
345
Tomcat LDAP Authentication
Every context change, including push-pop, results in a request to the repository for
authentication. This section describes setup procedures that allow Tomcat to authenticate users against an LDAP/Active-Directory repository as a means of reducing the
total traffic between the DS ENOVIA kernel and the LDAP repository.
Changes to
server.xml
Enter the following Realm template in the Engine container. The connectionName is
the DN of the BIND user, which is the same as MX_LDAP_BIND_DN. The connectionPassword is the same as MX_LDAP_BIND_PASSWORD.
<Realm className=”org.apache.catalina.real.CombinedRealm” >
<Realm
className=”org.apache.catalina.realm.UserDatabaseRealm”
resourceName=”UserDatabase”/>
<Realm className=”org.apache.cataline.realm.JNDIRealm”
debug=”99”
connectionName=”kdyer@matrixone”
connectionPassword=”........”
connectionURL=”ldap://matrixone.net:3268”
alternateURL=”ldap://matrixone.net:3268
referrals=”follow”
userBase=”DC=matrixone,DC=net”
userSearch=”(sAMAccountName={0})”
userSubtree=”true”
userRoleName=”memberOf”/>
<Realm/>
This configuration uses the CombinedRealm of Tomcat 6.0, which allows you to store the
test userNames in the tomcat-users.xml file. You can centralize this file per machine by
properly setting the pathName. This configuration also assumes that the default Global
Naming Resource is in place in the server.xml file. The passwords in this file may be
stored encrypted (digested). Please refer to the tomcat-6.0-documentation for
realm-howto.
Changes to
web.xml
Add the following changes to the end of the web.xml file. These security constraints
configure the web application to use the new LDAP login JSP and protect the Servlets, JSPs, Workspace, and Services resources.
<welcome-file-list>
<welcome-file>/common/emxNavigator.jsp</welcome-file>
</welcome-file-list>
<!-- Insert the following after welcome-file-list container -->
<security-constraint>
<web-resource-collection>
<web-resource-name>SecurePages</web-resource-name>
<description>Security constraint for resources in the
secure directory</description>
<url-pattern>*.jsp</url-pattern>
<url-pattern>/servlet/*</url-pattern>
346
ENOVIA Live Collaboration Installation Guide
<url-pattern>/workspace/*</url-pattern>
<url-pattern./services/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<description>General Access</description>
<role-name>*</role-name>
</auth-constraint>
<user-data-constraint>
<description>SSL not required</description>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/emxLogin_LDAP.jsp</form-login-page>
<form-error-page>/emxLogin_LDAP.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description>General Access</description>
<role-name>*</role-name>
</security-role>
Additions to
enovia.ini
Add the following line to the C:\WINDOWS\enovia.ini file (previously ematrix.ini):
MX_PAM_AUTHENTICATE_CLASS=${CLASS:mxCommonRUAuthentication}
In addition, you must also import the two Java programs and compile them into the database as Java program objects.
Changes to
WEB-INF\classes
The zip archive includes a new emxLogin.properties file (in ematrix/properties/),
which contains several new entries for the LDAP login page. Back up the existing
emxLogin.properties file, and then replace it with this one.
Chapter 13: Integrating with LDAP and External Authentication Tools
347
348
ENOVIA Live Collaboration Installation Guide
14
Installing Business
Process Services™
Overview
ENOVIA Live Collaboration Business Process Services includes these components:
•
Application Exchange Framework™ (AEF)—Contains the underlying schema and
user interface for ENOVIA products.
•
Common Components—Contains features used by multiple ENOVIA applications,
such as Discussions and Subscriptions.
•
ENOVIA Team Central—Provides a secure, structured, virtual workplace that enables
ad-hoc collaboration for cross-functional and geographically dispersed teams.
•
ENOVIA Business Metrics Module—Generates metric reports based on your
business processes.
Before installing any of these products, you must install the BPS version that supports the
version of the application you are installing.
The BPS installation installs the user interface components and then allows you to launch
a separate installation program to add only the schema required for the applications you
will use. You can later use the schema installer by itself to add more ENOVIA or custom
application schema.
Refer to the Program Directory for the given version of Business Process Services for
installation instructions and requirements specific to that version.
349
For more information on Business Process Services, refer to the ENOVIA Live
Collaboration Administrator’s Guide.
Important
Installation
Considerations
ENOVIA products are not simple executables that can be installed and then uninstalled
like PC software productivity tools. Instead, these applications require regimented backup
and testing procedures like any other enterprise system. It is important to understand that
database schema and business object instance data is installed with all ENOVIA products,
including BPS. Because of this, it is important to back up the system to which they are
being installed. This backup should include the file system, as well as the database itself.
It is STRONGLY recommended that a System Test environment is in place that is an exact
duplicate of the Production environment where the software will ultimately be operated.
This System Test environment is where the software should first be loaded and tested. The
purpose of testing is to make sure the application can be installed without errors and that,
once installed, it functions as expected.
Often, customers and/or ENOVIA Professional Services modify an application in order to
satisfy specific needs of the user community. To facilitate this, the schema installer looks
at a custom directory for your modification XML files and merges the files accordingly.
Refer to Adding Custom Schema for more information.
If you are doing upgrades or installing a new application, you can expect to take 4 to 12
hours to test and validate the installation scripts for the schema and document any changes
you had to make (or what changes the installation scripts made). The amount of time
decreases as you install to the next environment (Development, Test, Production) and
depends on the amount of customizations made to the schema and JSPs. You’ll need to
allow for additional time to perform standard system regression tests. The amount of time
for system regression tests depends on the amount of changes made to JSPs and custom
triggers.
Don’t assume that because everything is fine in one environment, it will be fine in the next
environment. In some cases, an environment may have gone through one or two upgrades
before promoting it to the next environment. This is why an exact copy of Production
environment (and backups!) are so important.
Preparing to Install
to a Production
Environment
The following procedure describes the main steps needed before an ENOVIA product is
installed to a Production environment. Note that some sites may have an additional
Development environment that is installed to prior to the Test environment.
To install ENOVIA products in a Production environment
1. Install an application (including BPS) into an empty, play database. The purpose of
this step is to get familiar with the functionality and perform a gap analysis for what
needs to be configured.
2. Save off the application staging area that contains the database scripts that install the
application and its schema. This staging area can usually be found below the
SERVER_INSTALL directory, in the Apps\APP_NAME\<version>\
subdirectory. This subdirectory contains an installAPP_NAMEAPP_VERSION.tcl
file. This file can be run from within MQL to install the application schema.
3. Make the System Test environment a copy of the Production environment.
350
ENOVIA Live Collaboration Installation Guide
4. Install the BPS and/or application to the Test environment, review the changes the
installation makes, and customize the XML files as needed. For more information
about how to review the installation changes and what to look for, see Reviewing
Changes that an Installation Makes. Refer to Adding Custom Schema for customizing
information.
5. After making changes to the installation, restore the Test environment so it is again an
exact copy of the Production environment. Apply the new installation (with your
changes) to the Test environment. Test the installation and make additional changes to
the install scripts as needed.
Repeat the above process until you are satisfied the installation has not adversely
affected your system and all of the errors have been fixed in the customized schema.
6. Perform the necessary testing in the System Test environment until there is an
acceptable level of reliability and performance.
7. Now that the scripts are solid and you know what to expect when they are run against
the Production environment, you can plan the upgrade to the Production system.
Always back up a Production system before making any schema changes. The installations
for both BPS and ENOVIA products make schema changes.
Reviewing
Changes that an
Installation Makes
When performing an installation, you need some way of determining the changes the
installation is making to the schema, business object data, and JSPs. One way of tracking
the schema changes is to create an XML export file prior to running the installation. After
installing, you can use the XML compare utility from MQL to review the changes to the
schema. You can also use the log file created for each installation in
SERVER_INSTALL\Apps\APP_NAME\<version>\ to track changes to schema and
business objects. For more information on the log file, see Installation Log File.
When reviewing the changes that have been made, look for changes that may conflict or
that are not needed because of customizations that you have made. Some changes to watch
for are listed below. Keep in mind, however, that the install scripts make changes to
support the business processes within each application. You need to decide if these
changes are consistent with your business process and if they are needed based on the
existing customizations you have made.
For example, suppose the installation for ENOVIA Engineering Central adds an extra
notification or signature to the ECR Standard policy. This change is made because the
Product Engineer needs to approve the ECR before it goes to a full Change Board review.
Your business process, however, requires approval from a Project Engineer instead of the
Product Engineer. You have triggers that already handle this, thus making the newly-added
Engineering Central notification unnecessary (or unwanted). Alternatively, if you are
using out-of-the-box Engineering Central, this notification is crucial and if removed,
ECRs will get hung up at a particular state because no one was notified to do anything
with it.
Installation changes that you may need to review
•
Event triggers—If you are NOT using emxTriggerManager and are NOT using the
naming conventions recommended by BPS documentation, then there is a good
chance that your trigger will be overwritten.
Chapter 14: Installing Business Process Services™
351
If you do not have a trigger on a given event, there is a chance one might be added. If
you do not want a particular trigger to run, you can deactivate the trigger by demoting
the corresponding eService Trigger Program Parameters object to the Inactive state.
Note that business objects are not captured in an XML compare. This is currently a
manual process. It might be a good idea to create a backup of all eService Trigger
Program Parameters objects.
Before Installing
352
•
Access privileges—BPS or application installation may add or remove some access
privileges.
•
Properties files—New installations typically add new properties that let you configure
features and that contain string resources for onscreen text display and
internationalization. All properties files are stored in ematrix/properties. When BPS
or any application is installed, the installation copies all files in ematrix/properties to
ematrix/properties.sav and then overwrites files in ematrix/properties. The
properties.sav directory is overwritten with each new install so make sure you make a
backup of this directory if you want to save it.
Properties files are intended to be configured so any changes that you make need to be
merged back into the newly installed properties files using any file comparison tool.
The comparison should be between the newly installed properties file (located in
ematrix/properties) and the “old” properties file (located in ematrix/properties.sav).
•
New administrative objects—If you use the Studio Modeling Platform, you may
want/need to “hide” types that are not used so the type chooser is not cluttered. Take
care not to hide types that are used by any ENOVIA products that you are using. You
may want to consider subtyping as an alternative.
•
You may see new attributes added to a type or relationship.
•
Administrative (schema) properties—Most installations add schema properties.
•
Any customized UI component.
Make sure you perform the following steps before installing an ENOVIA product for
either platform:
•
Back up all application directories and the database. Before installing to a system
that has an ENOVIA application installed, make backup copies of the
MX_BOS_ROOT/Apps/framework directory. Also back up the database instance. If
you have customized properties files, you must back up the files before you upgrade
the software to prevent them from being overwritten. Each product has properties files
for configuring settings and for onscreen text. For example, BPS has
emxSystem.properties, emxLogin.properties, and
emxFrameworkStringResource*.properties. All properties files are located in
ematrix/properties.
•
Have a staging area. A staging area must exist in order for the backup to work. Make
sure there is a STAGING directory under the Live Collaboration server installation
directory. If not, then extract enovia.war into MX_BOS_ROOT/STAGING.
•
Have a valid bootstrap file. The installation program requires there be a valid
bootstrap file that points to the database you are using. For UNIX, the bootstrap file
must be called MATRIX-R (all caps). For Windows, the bootstrap can have any
name. Both the UNIX and Windows setup programs ask for the location of the
bootstrap file during installation.
ENOVIA Live Collaboration Installation Guide
•
Turn off system-wide password settings. Make sure all system-wide password
restrictions are turned off (unchecked), such as the setting that requires passwords to
be a minimum number of characters. To access system-wide password settings,
choose Settings>Password from Business Modeler. You can turn the settings back on
after you install the applications.
•
Be sure that MQL is not in escape mode. Run the following MQL command to
determine if escaping is enabled (you must log in as a business administrator to do
so):
MQL<> print escape;
If the system indicates that escape mode is on, turn it off before running the install
with:
MQL<> set escape off;
Refer to “Working with Workspace Objects” in the MQL Guide for details.
•
Oracle tuning may be required. Be aware that the database tuning required for BPS
installation may be different than the tuning required for a normal production
operation.
•
Refer to the installation instructions for your platform: Installing Business Process
Services on UNIX or Installing Business Process Services on Windows.
Chapter 14: Installing Business Process Services™
353
Installing ENOVIA Live Collaboration Business
Process Services
Installing
Business Process
Services on UNIX
Before installing BPS on UNIX you must:
•
Log in as a user who has the privileges to install BPS (install on the database, run
MQL, etc.).
•
If installing from a CD, mount the CD so the operating system software can access
the files contained on the disk. Refer to To mount the CD-ROM in Chapter 7 for
examples of mount commands for each platform.
•
Make sure you know the path where mql is located.
•
Make sure you know the username and password for the super user (user that has
Business and System Administrator privileges, such as creator).
To install Business Process Services on UNIX
1. Copy the tar.gz file from the CD or the ENOVIA Download page to the distribution
directory. Refer to Mounting the CD in Chapter 7 if necessary. Use the -i option of the
tar command to avoid errors caused by long path names in the distribution that some
versions of tar can't handle properly.
2. Unzip the tar.gz file to the distribution directory. Change to the directory named
“install” under the distribution directory and run the setup script as follows:
% cd /DISTRIB_DIR/install
% ./setup.BusinessProcessServices
3. Choose the directories for the installation to use.
Choose Scripts Directories
-----------------------------------------------------------Enter install directory path for ENOVIA Studio Modeling
Platform []?
Enter install directory path for ENOVIA Live Collaboration
Server []?
Enter directory path for ENOVIA Studio Modeling Platform
scripts [/usr/bin]?
The ENOVIA Studio Modeling Platform installation directory is the path that
contains the ENOVIA Studio Modeling Platform installation.
The ENOVIA Live Collaboration Server installation directory is the path that
contains the ENOVIA Live Collaboration Server installation.
The ENOVIA Studio Modeling Platform scripts directory is the path where the
scripts that build the application in the database are placed. If you specify a directory
that does not exist, the setup program will create the directory.
4. Tell the setup program the user name and password for a user that has Business and
System Administrator privileges, such as creator. If the user has no password, accept
the default.
Specify Administration Parameters
-----------------------------------------------------------Enter Administrator user for ENOVIA Studio Modeling
Platform? [creator]?
354
ENOVIA Live Collaboration Installation Guide
Enter Administrator password for ENOVIA Studio Modeling
Platform? [NONE]?
5. Tell the setup program where the Schema Customization directory is located.
Enter custom schema directory path [ ]?
6. At the next prompts, enter the names of the Data and Index table spaces for the
eService Production vault. For non-Oracle databases, the values must be the same.
Specify database storage details for eService Production vault’s
table data and indexes
----------------------------------------------Enter Data Table Space? [NONE]?
Enter Index Table Space? [NONE]?
The eService Production vault is the vault that will be used for production data.
Consult your Database Administrator for information about the table space names
used.
If you do not specify a table space name, the tables and indexes for the product vault
will be created in the database’s default tablespace, which may not be sized
appropriately for production data storage.
For Oracle, if you specify only an Index Table Space, the Data Table Space will
default.
7. You are then asked what schema to install:
Schema to support the Business Process Services product will be
installed automatically.
Schema to support ENOVIA products may be selected below.
-----------------------------------------------------------Do you wish to install All Applications <Required for ENOVIA
products> Schema [No]?
All Applications option includes schema for all ENOVIA products. The schema for
BPS is automatically installed whether or not you install the application schema.
It may take several minutes to run all the scripts. If you have an extensive database in
place, it could take much longer.
8. You are then asked to confirm your schema choices:
Installing following schema
Business Process Services
All Applications
Do you want to continue [yOrN]?
9. The schema installer then creates the selected schema. If errors are encountered and
you chose to undo transactions in case of errors, the setup will undo all changes.
Check the files named installSchemaInstallerVERSION.log and
SchemaChangesMQLVERSION.log, as well as installFrameworkVERSION.log and
installFrameworkVERSION.err in your installation script directory to get details
about errors and to see exactly what items were added and/or modified. If there are no
errors, you may still want to review the log files to see if any items were renamed due
to name collisions.
10. After the schema installer has created the schema, Business Process Services are
installed.
11. Setup then indicates that BPS installed successfully.
Chapter 14: Installing Business Process Services™
355
12. If you have backups of customized properties files, you’ll need to compare your
customized files with the new files from the updated version. Either update the new
files with your customizations or update your customized files with any new settings.
13. Continue with next step in General Installation for ENOVIA Live Collaboration
Server.
Installing
Business Process
Services on
Windows
To install Business Process Services on Windows
1. Log into Windows as a person with Administrator privileges.
2. Copy the .zip file from the CD or the ENOVIA Download page to a temporary
directory.
Please note that when transferring the .zip file from the internet, executable files may
be silently excluded when unzipping the file due to Windows security behaviour. To
prevent this from happening, before unzipping the file, right click in the file, select
Properties, and click Unblock.
3. Unzip the zip file and run setup.exe.
4. At the Welcome frame, click Next.
5. At the Super User/Password frame, enter the User and Password that has Business
and System Administrator privileges, such as creator. If the user has no password,
leave the Password box blank. Click Next.
6. The schema installer then requests the directory where custom schema files exist. If
needed, specify the directory. Click Next.
7. At the next frame, specify database storage details for eService Production vault's
table data and indexes. For non-Oracle databases, the values must be the same.
The eService Production vault is the vault that will be used for production data.
Consult your Database Administrator for information about the table space names
used. If you do not specify table space names, the tables and indexes for the product
vault will be created in the database's default storage area.
Click Next.
8. Specify the Schema to install by checking the boxes of the options you want.
All Applications option includes schema for all ENOVIA products. The schema for
BPS is automatically installed whether or not you install the application schema.
Click Next.
9. You are asked to review your choices. Click Yes to install or No to Cancel.
If you clicked Yes, the Setup program:
356
•
Copies install scripts to the selected directory. While the files are copied, a
progress meter displays the current files being copied and the percent completed.
Files named installSchemaInstallerVERSION.log and
SchemaChangesMQLVERSION.log are created in the SchemaInstall
directory.VERSION is the software version number, such as 10-0-0-0. (If you
used the Advanced install option and chose not to run the install scripts, the setup
performs this step only and the remaining steps are not performed.)
•
Launches MQL in the background and adds the schema.
•
Displays a progress meter, which shows the current files being run and the
percent completed.
ENOVIA Live Collaboration Installation Guide
It may take several minutes to run the SchemaInstaller. If you have an extensive database
in place, it could take much longer.
10. A Business Process Services setup is complete message displays. Click OK.
11. When complete, you receive a message telling you either the setup encountered errors
or the setup is complete.
If errors were encountered, the setup will have undone all changes (unless you used
the Advanced install and chose not to undo the transactions). Using a text editor such
as WordPad, check the log and error file names of all the products installed.
a ) Start with the installFrameworkVERSION.log and
installFrameworkVERSION.err in your installation script directory to get details
about errors and to see exactly what items were added and/or modified.
b ) Go through the remaining log and error files in the order the products were
installed.
c ) Check also the SchemaChangesMQLVERSION.log file.
If there are no errors, you may still want to review the log files to see if any items
were renamed due to name collisions.
12. If you have backups of customized properties files, you’ll need to compare your
customized files with the new files from the updated version. Either update the new
files with your customizations or update your customized files with any new settings.
13. Continue with next step in General Installation for ENOVIA Live Collaboration
Server.
Refer to the application administrator’s guides for any application specific setup issues.
Refer to the ENOVIA Live Collaboration and ENOVIA Studio Modeling Platform
documentation sets for FCS setup, deployment settings, and server setup and diagnostics.
Adding Sample
Users
A program named emxCommonAddSampleUsers.tcl script adds sample users for each
role that exists in the database. The program can be run as many times as necessary.
To add sample users
1. From MQL, set context to a Business Administrator user that is allowed to create all
kinds of users.
2. Run the program as follows:
exec program emxCommonAddSampleUsers.tcl USERS_PER_ROLE;
Where USERS_PER_ROLE defaults to 3 and indicates the number of times the
program will loop through the commands.
The program creates as many users as specified for each role in the database. This not only
includes the administrative person objects, but also the business object person objects and
connections that the applications require.
Chapter 14: Installing Business Process Services™
357
Schema Installer
You can add schema after installing the framework using the schema installer. There may
be two schemaInstaller directories as follows:
•
If you chose not to install any schema at the time you installed the framework, the
schemaInstaller setup program is in Apps/framework/<version>/
SchemaInstaller. This is the only SchemaInstaller directory you will see until
this setup program is run either manually or via the framework install routine.
•
Once you have installed some schema with the schema installer, you can install out of
the box schema not previously installed, or custom schema that is defined in xml files
as described in Adding Custom Schema.
After successful installation of selected schema, it is registered in the database.
SchemaInstaller adds the property appSchema<SCHEMA_NAME> to the
eServiceSystemInformation.tcl program. The value of this property indicates the version
of schema. In addition, the eServiceSystemInformation.tcl program’s code, which is
basically an install log, is appended with the same information. This includes custom
schema as well. For example, if Engineering Central schema is installed with
SchemaInstaller 10-6, the system information program has the
appSchemaEngineeringCentral property with a value of 10-6, as well as the following
entry appended to the program code:
SchemaEngieneringCentral 10-6 04-30-2005 11:37 AM SCHEMA
Schema XML Files
Once the SchemaInstaller setup program has been run (either from within the BPS
installation program or manually from
SERVER_INSTALL\Apps\Framework\SchemaInstaller\), the following
directory structure is in place:
SERVER_INSTALL\Apps\Framework\<version>\SchemaInstaller\
| Common\
(common routines used at time of install
and uninstall)
| Conversions\
(includes conversion manifest files and
conversion programs)
| InstallUtility\
(JPOs used to install schema)
| SchemaDefinition\ (includes SDF XML files defining each
administration object)
| SchemaManifest\
(includes SchemaManifest files and
Schema-Mapping file)
| Uninstall\
| CustomSchema\
(staging area for customizing schema or
adding custom apps)
| SchemaDefinition\
| SchemaManifest\
Schema installer is driven by four kinds of xml files, placed within this directory structure
as follows:
1. Schema Definition Files (SDF)
358
ENOVIA Live Collaboration Installation Guide
These files are found in the SchemaDefinition directory. There is one schema
definition file (SDF) in XML format for every administrative object. The name of the
XML file is the symbolic name of the administrative object. For example, the SDF for
policy “RTS Cancelled” is named policy_RTSCancelled.xml. Each file includes
everything needed to create or update the definition in the ENOVIA product to the
newest version.
Since some administrative objects rely on other administrative objects (such as types
requiring attributes, etc.), all MQL commands are parsed to be sure that prerequisites
exist. If a required object is missing, the schema installer will not attempt to add it to
a definition.
2. Schema Manifest Files (SMF)
These files are found in the SchemaManifest directory. There is one manifest file in
XML format per application schema. Each manifest file lists symbolic names of the
administrative objects required by its respective application.
3. Schema Mapping File
This is a single file called SchemaMapping.xml found in the SchemaManifest
directory. This file keeps information about all the available application schemas,
their order, and prerequisite details. There is a section for each schema category that
includes the application name, SMF file name, display details (show/hide and order),
Conversion Manifest File (CMF) file, if any, and prerequisite schema.
4. Conversion Manifest Files (CMF)
These files are found in the Conversions directory. Conversions directory will also
have all the conversion programs that need to be run. Generally there is no need to
work with these files.
These four kinds of files are overwritten intentionally whenever a new version is installed.
This is the out of the box xml file area. You should use the customschema directory for any
changes you want to implement.
Adding Custom
Schema
To install custom schema, you should first create a staging area by running the Schema
installer, choosing the advanced setup option, and then choosing to Install to Staging area
only. This way you will get with all the necessary files and directories for customizing in
the CustomSchema directory which has two subdirectories:
•
SchemaDefinition to hold custom SDFs.
•
SchemaManifest to hold custom SMFs and SchemaMapping.xml file.
During installation, the schema installer parses all the files in these directories looking for
any customization.
Custom Schema Manifest Files
Custom SMF files should only contain changes from the out-of-the-box SMF file; that is,
they should not include all the administrative objects again. Use the Add or Exclude
sub-nodes for each administrative type. For example:
- <SchemaManifest>
<ApplicationName>Custom Application</ApplicationName>
- <attribute>
<Add>
attribute_PartType
attribute_PartNature
Chapter 14: Installing Business Process Services™
359
</Add>
<Exclude>
attribute_PartClass
attribute_PartSubclass
</Exclude>
</attribute>
...
In the above example, two attributes are added to the Custom Application, and two
attributes (which already existed or were to be added by a different XML manifest file) are
excluded (will not be installed).
For each add item you need a Schema Definition File. Items that are excluded are
prevented from being installed. However if they already exist in the database, they are not
removed.
The <ApplicationName> node value from the Schema Manifest file must have a matching
<Name> entry in the SchemaMapping.xml file.
Custom Schema Manifest File
-<SchemaManifest>
<ApplicationName>Custom Application</ApplicationName>
.
.
.
Custom Schema Mapping File
-<SchemaMapping>
-<SchemaManifest>
<Name>Custom Application</Name>
.
.
.
Custom SchemaMapping File
If you want to add custom schema or change the order or prerequisites of the schema, you
need a custom SchemaMapping file (named SchemaMapping.xml and located in the
CustomSchema/SchemaManifest directory). This file will have a SchemaManifest node
for each application that has a corresponding Custom SMF file, or a node for each
out-of-the-box SMF file that you want to customize. The custom SchemaMapping.xml file
must follow the same syntax as the out-of-the-box SchemaMapping.xml file.
For example, this SchemaManifest node is for a new Custom Application to be installed:
<SchemaManifest>
<Name>Custom Application</Name>
<FileName>SchemaManifest_CustomApplication.xml</FileName>
<Order>2</Order>
<Display>Yes</Display>
<Conversions />
<PreRequisiteSchema />
</SchemaManifest>
In this node
360
•
the Custom Application must be defined in the SchemaManifest file named
SchemaManifest_CustomApplication.xml, which must be in the /CustomSchema/
SchemaManifest directory
•
Custom Application will be the second schema choice listed in the schema chooser.
•
no conversions need to be run to support the schema.
ENOVIA Live Collaboration Installation Guide
•
the schema does not have an prerequisites.
The next node example modifies Application Common schema, so that it is now a choice
to be installed. This schema is normally automatically installed when BPS schema is
installed without being a choice in the schema list.
<SchemaManifest>
<Name>Application Common</Name>
<FileName>SchemaManifest_AppsCommon.xml</FileName>
<Order>3</Order>
<Display>Yes</Display>
<Conversions />
<PreRequisiteSchema>Business Process Services</
PreRequisiteSchema>
</SchemaManifest>
In this node
•
the SchemaManifest_AppsCommon.xml file is in the /SchemaManifest directory (not
the CustomSchema/SchemaManifest directory).
•
Applications Common will be the third schema choice in the schema installer.
•
no conversions need to be run to support the schema.
•
Business Process Serivces schema selected for installation (if not, the Applications
Common schema will not display in the schema list).
The last node is an example of removing out-of-the-box schema. The flag Remove =
“Yes” indicates that the specified schema needs to be removed from the install list:
<SchemaManifest Remove=”Yes”>
<Name>All Applications</Name>
<FileName>SchemaManifest_BusProcApps.xml</FileName>
<Order>4</Order>
<Display>Yes</Display>
<Conversions>BusProcAppsConversion.xml</Conversions>
<PreRequisiteSchema>Business Process Services</
PreRequisiteSchema>
</SchemaManifest>
You may want to remove a schema manifest to make sure it will not be installed. In the
above example, the “All Applications” prompt (UNIX install) or checkbox (Windows
install) will not display, so the person installing the software cannot accidentally install it.
When the SchemaInstaller is run, it merges the schema listed in the out-of-the-box
SchemaMapping.xml file (in the SchemaInstaller/SchemaManifest directory) with those
listed in the custom SchemaMapping.xml file (in the CustomSchema/SchemaManifest
directory) to build the list of schema choices for installation.
Using the above example nodes as the custom schema manifest, the SchemaInstaller
shows this list of schemas:
•
Business Process Services
•
Custom Application
•
Application Common
Business Process Serivces is defined in the out-of-the-box SchemaMapping file, “All
Applications” was removed by the custom mapping file, Custom Application was added
by the custom mapping file, and Application Common, which is normally installed but not
displayed in the list, is displayed based on the custom mapping file.
Note that the <Order> node must be unique. If more than one node has the same order
number only one of the options will be presented during installation.
Chapter 14: Installing Business Process Services™
361
Custom Schema Definition Files
For new schema to be added, the custom SDF files use the exact same format as the
out-of-the-box files. However, if you want to modify existing schema you only need to
include the changes. For example:
<SchemaDefinition>
<AdminType>type</AdminType>
<OriginalName>Part</OriginalName>
<SymbolicName>type_Part</SymbolicName>
<VersionHistory Version=”9-2-0-0” Skip=”Yes”>
<CommandInfo>
<Command Type=”MQL”>
<![CDATA[
modify type “<SYM>type_Part</SYM>
add trigger changeowner action
emxTriggerManager input “TypePartChangeOwnerAction”
]]
</Command>
</CommandInfo>
</VersionHistory>
</SchemaDefinition>
When custom SDF files are in place, the schema installer merges the changes with the out
of the box definition giving the custom file first priority:
•
If custom SDF has a skip flag set the whole version install is skipped.
•
If both SDF files have VersionHistory nodes for same version, the section from the
custom SDF file is used.
•
If custom SDF file has additional VersionHistory it is processed.
When the installer builds the list of SDF files to install, it uses the out-of-the-box and the
custom schema manifest and schema mapping files to determine which SDFs will be in
the list.
For example, the installer builds a list of what to install based on the SchemaMapping.xml
and SchemaManifest files in the SchemaManifest directory. Then, the installer looks at the
custom SchemaMapping.xml file, which includes this node:
<SchemaManifest>
<Name>Custom Application</Name>
<Filename>SchemaManifest_CustomApplication.xml</Filename>
.
.
.
</SchemaManifest>
The installer then looks in the SchemaManifest_CustomApplication.xml file (in the
CustomSchema/SchemaManifest directory). That manifest file must have the
<ApplicationName> node defined as “Custom Application”.
The custom schema manifest file contains these attribute nodes:
- <SchemaManifest>
<ApplicationName>Custom Application</ApplicationName>
- <attribute>
<Add>
attribute_PartType
attribute_PartNature
</Add>
<Exclude>
attribute_PartClass
362
ENOVIA Live Collaboration Installation Guide
attribute_PartSubclass
</Exclude>
</attribute>
...
The installer then adds the schema definition files for the Part Type and Part Nature
attributes (custom attributes to be added must have SDF files in the CustomSchema/
SchemaDefinition directory). The installer then removes the Part Class and Part Subclass
attributes from the list, which were in the list as defined by another schema manifest file.
Installing Schema
with the Schema
Installer
To install schema with stand-alone schema installer on UNIX
1. Change to the directory named “install” under the distribution directory you used
when you first installed the framework. Run the setup script as follows:
% cd /DISTRIB_DIR/install
% ./setup.SchemaInstaller
2. Choose the Installation Type from the following menu:
-----------------------------------------------------------Choose Installation Type
-----------------------------------------------------------1. Standard (Recommended)
2. Advanced
Select option (1-2) [1]?
Choose option 1 for the recommended Standard installation.
Choose option 2 to change the default settings for the prompts in step 6.
3. Choose the directories for the installation to use.
Choose Directories
-----------------------------------------------------------Enter distribution directory path []?
Enter build script directory path []?
Enter eMatrixServlet(RMI) installation directory path []?
The distribution directory defaults to the directory above the current directory and
you should be able to accept the default by typing enter (or type in a new path as
required).
The build script directory is the path where the scripts that build the application in
the database are placed. If you specify a directory that does not exist, the setup
program will create the directory.
The RMI installation directory is the path that contains the ENOVIA collaboration
server installation.
4. Tell the setup program where the Schema Customization directory is located.
Enter custom schema directory path [/Apps/SchemaInstaller/
CustomSchema]?
5. Tell the setup program where MQL is (application scripts) and the user name and
password for a user that has Business and System Administrator privileges, such as
creator. If the user has no password, accept the default.
Specify Matrix Administration Parameters
------------------------------------------------------------
Chapter 14: Installing Business Process Services™
363
Enter
bin]?
Enter
Enter
directory path for Matrix application scripts [/usr/
/app/mx10
Administrator user for Matrix Business ? [creator]?
Administrator password ? [NONE]?
6. If you selected the Advanced option in step 2, you are prompted for the following.
The Standard option accepts the defaults:
Advanced Install
-----------------------------------------------------------Do you wish to install to staging area only & Don't update
database ? [no]?
Do you wish to undo the whole Framework transaction in case
of failure [yes]?
Install to staging area only. Don’t update database—The default is no, which
means after you complete the installation, the installation copies all files to the staging
area and runs the installation scripts to update the database. If you want to copy files
to the build script directory only and run the installation scripts later, enter yes. When
you’re ready to run the installation scripts, use MQL to run the
installFrameworkVERSION.tcl file, located in the framework directory. To create log
and error files, use the -stderr and -stdout MQL options.
Undo whole transaction in failures—The default is yes. Undoing all transactions
makes it easier for you to correct problems with the new installation without
introducing problems into your existing setup. The log file for the framework lists all
transactions even if they are undone.
You should only change this option, allowing transactions to proceed even when there
are errors, if you know how to correct the error or if you are just installing for testing
purposes.
7. At the next prompts, enter the names of the Data and Index table spaces for the
eService Production vault. For non-Oracle databases, the values must be the same.
Specify Table Space for eService Production vault
----------------------------------------------Enter Data Table Space? [NONE]?
Enter Index Table Space? [NONE]?
The eService Production vault is the vault that will be used for production data.
Consult your Database Administrator for information about the table space names
used.
If you do not specify a table space name, the tables and indexes for the product vault
will be created in the database’s default tablespace, which may not be sized
appropriately for production data storage.
For Oracle, if you specify only an Index Table Space, the Data Table Space will
default.
8. You are asked to confirm your choices and click 1 to continue, 2 to Cancel.
If you continue with the installation, the system creates installation directories, copies
files to the directories, and builds the script files. A file named
installSchemaInstallerVERSION.tcl is created in the directory you specified for the
build scripts. VERSION is the software version number, such as V6R2011x.
Then the setup program runs the installation scripts (unless you chose not to update
the database in the Advanced setup).
364
ENOVIA Live Collaboration Installation Guide
It may take several minutes to run all the scripts. If you have an extensive database in
place, it could take much longer.
9. You are then asked what schema to install:
Schema Install
-----------------------------------------------------------Do you wish to install All Application schema [yes]?
All Applications option includes schema for all ENOVIA products. The schema for
BPS is automatically installed whether or not you install the application schema.
The list may also include applications defined in a custom SchemaManifest.xml file,
and may have removed one or more of the default schema (not recommended).
If you are upgrading a database from previous releases, you must choose to install all
application schema.
It may take several minutes to run all the scripts. If you have an extensive database in
place, it could take much longer.
10. If errors were encountered and you chose to undo transactions in case of errors, the
setup will have undone all changes. Check the files named
installSchemaInstallerVERSION.log and SchemaChangesMQLVERSION.log in
your installation script directory to get details about errors and to see exactly what
items were added and/or modified. If there are no errors, you may still want to review
the log files to see if any items were renamed due to name collisions.
11. If you have backups of customized properties files, you’ll need to compare your
customized files with the new files from the updated version. Either update the new
files with your customizations or update your customized files with any new settings.
To install the with stand-alone schema installer on Windows
1. Run setup.exe from apps\Framework\VERSION\SchemaInstaller.
2. At the Welcome frame, click Next.
3. At the Installation Type prompt, check the type of install you want to perform:
Standard (Recommended)—Use this option for all standard installations. When you
choose this option, the installation will undo all transactions if it encounters problems.
You can still use the log files to find out what transactions were attempted and to
diagnose the errors. The standard installation also automatically runs the installation
scripts after copying files to the staging area.
Advanced—Choose this option only if you want to allow the installation to proceed
even if errors occur or if you only want to copy files to the staging area now and run
the installation scripts later. If you choose this option, an Advanced Options prompt
displays at the end of the installation wizard, allowing you to change these options
from their default. (See step 9)
Click Next.
4. The Script Path frame asks where to put the scripts that build the application in the
database. The default is MATRIXHOME\framework, where MATRIXHOME is the
directory where ENOVIA Live Collaboration Server is installed. You can select a
different location using the Browse button. The MATRIXHOME directory contains the
connection file that points to your database. After specifying the directory, click Next.
Chapter 14: Installing Business Process Services™
365
5. Enter the directory (or use Browse button) where any custom schema exists. Click
Next.
6. At the Super User/Password frame, enter the User and Password that has Business
and System Administrator privileges, such as creator. If the user has no password,
leave the Password box blank. Click Next.
7. Enter the name of the bootstrap file that points to the database in which you want to
install the schema. This bootstrap file must already exist in the ENOVIAHOME
directory. When you are done, click Next.
8. At the next frame, enter the names of the Data and Index table spaces for the eService
Production vault. For non-Oracle databases, the values must be the same.
The eService Production vault is the vault that will be used for production data.
Consult your Database Administrator for information about the table space names
used. If you do not specify table space names, the tables and indexes for the product
vault will be created in the Oracle user’s default tablespace, which may not be sized
appropriately for production data storage.
Click Next.
9. If you chose the Advanced option in step 4, the Advanced Options prompt opens.
Choose the options you want based on the descriptions below.
Install to staging area only. Don’t update database—This option is unchecked by
default, which means after you complete the installation wizard, the installation
copies all files to the staging area and runs the installation scripts to update the
database. If you want to copy files to the staging area only and run the installation
scripts later, check this option. When you’re ready to run the installation scripts, run
the installFrameworkVERSION.tcl file, located in the framework directory. To create
log and error files, use the -stderr and -stdout MQL options.
Undo whole transaction in failures—This option is checked by default. Undoing all
transactions makes it easier for you to correct problems with the new installation
without introducing errors into your existing setup. The log file for the framework
lists all transactions even if they are undone. If the transactions are undone, you can
use the log file to identify the error.
You should only uncheck this option, allowing transactions to proceed even when
there are errors, if you know how to correct the error or if you are just installing for
testing purposes.
10. Enter the location of the Java Development Kit (JDK) directory. You can click Browse
to select the directory, then click Next.
11. Specify the Schema to install by checking the boxes of the options you want.
All Applications option includes schema for all ENOVIA products. The schema for
BPS is automatically installed whether or not you install the application schema.
The list may also include applications defined in a custom SchemaManifest.xml file,
and may have removed one or more of the default schema (not recommended).
If you are upgrading a database from previous releases, you must choose to install all
application schema.
Click Next.
12. You are asked to confirm your choices. Click Yes to continue, No to cancel.
If you clicked Yes to install the schema, the Setup program:
366
ENOVIA Live Collaboration Installation Guide
•
Copies install scripts to the selected directory. While the files are copied, a
progress meter displays the current files being copied and the percent completed.
Files named installSchemaInstallerVERSION.log and
SchemaChangesMQLVERSION.log are created in the SchemaInstall
directory.VERSION is the software version number, such as 10-6. (If you used
the Advanced install option and chose not to run the install scripts, the setup
performs this step only and the remaining steps are not performed.)
•
Launches MQL in the background and runs the install scripts.
•
Displays a progress meter, which shows you the files being run and the percent
completed. If you do not see the progress meter, the installation is not working
correctly. Cancel the installation and re-run it, making sure you specify a valid
bootstrap file name.
If you clicked No, the Setup program displays a message. See step 13.It may take
several minutes to run all the scripts. If you have an extensive database in place, it
could take much longer.
13. When complete, you receive a message telling you either the setup encountered errors
or the setup is complete. If errors were encountered, the setup will have undone all
changes (unless you used the Advanced install and chose not to undo the
transactions). Using a text editor such as WordPad, check the files named
installSchemaInstallerVERSION.log and SchemaChangesMQLVERSION.log, as
well as installFrameworkVERSION.log and installFrameworkVERSION.err in your
installation script directory to get details about errors and to see exactly what items
were added and/or modified. If there are no errors, you may still want to review the
log files to see if any items were renamed due to name collisions.
14. If you have backups of customized properties files, you’ll need to compare your
customized files with the new files from the updated version. Either update the new
files with your customizations or update your customized files with any new settings.
Refer to the application administrator’s guides for any application specific setup issues.
Refer to the Studio Modeling Platform documentation set for FCS setup, deployment
settings, and server setup and diagnostics.
Chapter 14: Installing Business Process Services™
367
Installing to Large Databases
The BPS installation routines are capable of upgrading from any previous BPS version to
the current version being installed. During this install process, transaction boundaries are
placed around each version upgrade so that if any problems are encountered during the
upgrade, the database is left in a consistent and known state (i.e. at some predefined
version). During some of the version upgrades, the transactions can become very large and
take a long time to complete. In addition, these large transaction boundaries consume
resources when attributes are added to existing types that already have a large number of
instantiated objects. These and other related database operations are capable of consuming
so many system resources that the BPS installation routines fail to complete or, at a
minimum, take an unacceptably long time to complete.
To solve this issue, you can run a preprocessing script that enables the more resource
intensive operations to be performed individually and outside of large database
transactions. This script is included with the BPS installation, in the framework/Common
directory. You should run the script before updating the database so use the Advanced
install option and choose to install to the staging area only. Then after running the script,
update the database by running the install script manually.
The number of instantiated objects that is considered large is tens of millions. However,
any type or relationship with over 100,000 instantiations will benefit significantly from
running this preprocessing script.
This section contains the following topics. Make sure you review all sections before
running the script:
About the Script
Before Running the Script
Running the Script
Database Considerations
About the Script
These are the database operations that can consume large amounts of system resources and
that are run in the preprocessing script:
•
Mod Type Add Attr: Adding an attribute to a type that has a large number of
instantiated objects.
•
Mod Type Remove Attr: Removing an attribute from a type that has a large number
of instantiated objects.
•
Mod Rel Add Attr: Adding an attribute to a relationship that has a large number of
instantiated objects.
•
Mod Rel Remove Attr: Removing an attribute from a relationship that has a large
number of instantiated objects.
By default, the preprocessing script addresses all of these items with modification
statements. You can comment out specific statements that you do not want to run or you
can run them in batches.
The script contains all the modify type and relationship MQL commands that adds
attributes to them from 8-0-0-0 to the latest version to be installed.
368
ENOVIA Live Collaboration Installation Guide
1. For each MQL command in the script:
a ) If attribute to be added doesn't exists then
i.
Add attribute
ii.
Register Attribute with admin property name
iii. Stamp attribute version to the version of
Framework at which Attribute is added
iv.
Stamp application property to FrameworkFuture
b ) End if
c ) Modify Type Or Relationship with Attribute.
d ) End if
2. End For
Before Running
the Script
The LargeDBSchemaUpdate.tcl script performs the lengthy database operations outside
the normal installation transactions. You can run this script prior to installing BPS in
whole or in part depending on your system availability restrictions. The script is written in
such a way that you can run upgrade commands for specific versions and commands.
Prerequisite steps to perform before running the script
1. As always before upgrading, make sure your database is backed up and you have a
good recovery. To keep the user base off during the upgrade, change the “MATRIX”
schema password to something new, create a new bootstrap with the new password,
and then do the upgrade from there.
2. Make sure you have upgraded to the Matrix10 or higher Platform according to the
instructions in the Program Directory.
3. To get the script, run the BPS installation in the Advanced mode and choose to copy
to the staging area only. The script installs to
SERVER_INSTALL\Apps\Framework\<version>\Common\.
4. In consultation with your Oracle Database Administrator and/or ENOVIA Customer
Support, make temporary changes to database settings to accommodate the large
transactions. Some areas that you may want to change are listed below. For more
details and examples, see Database Considerations.
•
Disable redo logs at the tablespace level or create more and much larger logs
because they will fill up quickly.
•
Disable LOG_CHECKPOINT_INTERVAL and
LOG_CHECKPOINT_TIMEOUT.
•
Disable ARCHIVE LOG operations.
•
To avoid sorting to disk, increase Sort_Area_Size substantially and increase the
TEMP tablespace accordingly.
•
Set DB_BLOCK_BUFFERS (Oracle 8i), DB_CACHE_SIZE (Oracle 9i), and
SHARED_POOL_SIZE (8i and 9i) high depending on system RAM and size of
database.
Chapter 14: Installing Business Process Services™
369
•
In Oracle 8i, set OFFLINE all production rollback segments and create a unique,
large rollback segment tablespace with very large extent sizes (200m). Within
that new tablespace, create at least 2 very large rollback segments with
initial=next=200MB, min=5.
•
Make sure this large rollback segment tablespace has several large data files.
•
In Oracle 9i, use the undo tablespace and auto undo segments as an alternative to
the rollback segment concept. Set undo_retention=10800 and increase the
initialization file.
If you do not want to run all commands for all versions at once
•
Open LargeDBSchemaUpdate.tcl in a text editor and use the following guidelines to
comment out or remove the commands you do not want to execute during this run of
the install script. BPS installs this script in
SERVER_INSTALL\Apps\Framework\<version>\Common\. The only reason not to run the entire script at once is if you have limited time to run them and want
to run them incrementally. At some point, the commands for all versions must be run.
•
To run upgrade commands for specific BPS versions only, comment out the line
that executes the command for the versions you do not want to execute for this
run of the script. Comment out a line by adding a # to the beginning of the line.
The lines for each version are at the end of the Tcl file and begin with “set
mqlret”. For example, if you do not want to run the commands for version
8-0-0-1, comment out the set mqlret line for that version line as follows:
# executing modify commands for 8-0-0-1
# set mqlret [emxExecCommands ${lCmd8-0-0-1}]
Note that you don’t need to comment out upgrade commands for versions that
have already been run. For example, if you are installing v10.0.1.0 over a 9-5-5-0
version, the routines will detect that upgrade commands for versions prior to
9-5-5-0 have been run and they will not run again, even if they are not
commented out.
•
If you do not want to run a specific modify command for a specific type or
relationship, make a backup copy of the script. Then in the original version of the
script, delete that type or relationship from the build list for that version. For
example, suppose you don’t want to run the version 10-0-0-0 modify command
for the Person type. Delete the line highlighted in blue below:
# building list of modify commands for 10-0-0-0
set lCmd10-0-0-0 [list \
$type_ProjectSpace1 \
$type_ProjectConcept1 \
$type_ProjectTemplate1 \
$type_Person1 \
Running the Script
Do not run the script until you complete the steps in Before Running the Script.
You can run LargeDBSchemaUpdate.tcl through MQL or through the command line on
Unix or Windows. When using MQL, log messages appear in the MQL window. When
using the log file, log messages can be saved to a log file. Both procedures are listed
below, where:
•
370
SUPER_USER = User who has all access.
ENOVIA Live Collaboration Installation Guide
•
SUPER_USER_PASSWORD = Password of super user.
•
MQL_PATH = Path where MQL exists.
•
LOG_FILE = Name of log file including full path.
•
ERROR_FILE = Name of error file including full path.
To run the script using MQL
1. Start MQL.
2. Set the context to a Super User. For example:
Set context user <SUPER_USER> password
<SUPER_USER_PASSWORD>;
3. Execute the script using the command:
run <SCRIPT_PATH>/ LargeDBSchemaUpdate.tcl;
All log messages display in the MQL window.
As the V6 installers use the MQL executable delivered in the Live Collaboration Server
(server) directory to perform their needed installation steps, they no longer require a
Studio Modeling Platform (studio) installation to be present, and therefore do not update
the studio environment. If the studio installation is to be used to perform operations that
depend on server-delivered jars, those jars must be copied from the server directories to
the corresponding studio directories.
To run the script using the command line and store log messages in a log
file
•
If using Windows, start the Command Prompt and enter:
<MQL_PATH>\mql -c "set context user <SUPER_USER> password
<SUPER_USER_PASSWORD>; run <SCRIPT_PATH>\
LargeDBSchemaUpdate.tcl" -stdout:<LOG_FILE>
-stderr:<ERROR_FILE>
•
If using Unix, start the Command Tool and enter:
<MQL_PATH>/mql -c "set context user <SUPER_USER> password
<SUPER_USER_PASSWORD>; run <SCRIPT_PATH>/
LargeDBSchemaUpdate.tcl" 1><LOG_FILE> 2><ERROR_FILE>
After running the script
1. If you did not run the entire script, uncomment or add back the commands that you
did not run. Re-run the script until all commands for all versions are run. There is no
harm in leaving in a command that has already been run. The script will skip a
command if the modification has already been made.
2. When you are finished running the script, reset any changed database settings back to
production values.
3. After you have run all the commands, install new version of BPS. Installing after
running this script might generate Skipping/Syncing warning messages in the log for
attributes added in the script.
Database
Considerations
This section contains specific examples of database settings you may want change before
running the LargeDBSchemaUpdate.tcl script. The appropriate settings depends on your
database size and configuration and system resources so consult with ENOVIA Customer
Support and your Database Administrator for the changes appropriate for your system.
Chapter 14: Installing Business Process Services™
371
These changes are temporary and needed only when running commands with large scale
transaction boundaries. They should be changed back after running the script.
Redo Logs
Disable logging at the tablespace level and then turn them back on after running the script.
Alternatively, create more and larger logs because they will fill up quickly. Should an
existing database have four 10m redo logs, you could drop them one by one, replacing
each one with a 200m redo log. Then create two additional logs.
More on Redo Log Activity
Increase the log_buffer size, but always keep the log_buffer size to be no more than 5% in
size of the sum of the redo logs. So for 5 * 200m redo logs, set log_buffer = 50m.
Disable LOG_CHECKPOINT_INTERVAL and LOG_CHECKPOINT_TIMEOUT. For
example, set them to a very high number such as 18000000 or 10000000 respectively.
Disable ARCHIVE LOG operations.
Sort_Area_Size and the TEMP tablespace
The goal is to avoid sorting to disk.
An installation with a sort_area_size set to 2097152 or 2m might change it to 200m,
depending on how much RAM is available on the box.
For the TEMP tablespace, the extent sizing calculation is usually:
N*sort_area_size + db_block_size
For a 2048k (2097152) sort_area_size and an 8k db_block_size, the extent setting would
be 2056k. So before running the tcl script, the TEMP extent should be changed to
200m+8k or 204808k.
Buffer, Cache, and Pool Size
Oracle 8i: DB_BLOCK_BUFFERS
Oracle 9i: DB_CACHE_SIZE
Oracle 8i and 9i: SHARED_POOL_SIZE
Set both values high. For a single Oracle instance on a database server, then assign up to
50% physical memory. If database server has more than one instance or other applications,
assign largest amount of physical memory without causing system to go to swap. Settings
of 1GB and higher for Oracle 32bit software and higher for Oracle 64 bit software have
been noted at large installations for such large operations. This is entirely dependent on
system RAM and size of the database.
372
ENOVIA Live Collaboration Installation Guide
The Installation Process
This section describes the installation process for Business Process Services and other
ENOVIA products. It includes a high level description of the files used during installation;
the procedures that are called during installation, including how the system handles name
collisions and updates to existing objects; file naming conventions; and the directory
structure for installed files. This information is especially important to know if you plan on
configuring the installation process. For information on the prerequisites for installing the
system and for instructions on how to install the various components, see the Program
Directory for the given version of your ENOVIA product.
Installing to a
Populated
Database
(Released
Versions Only)
Business Process Services must be installed before installing other ENOVIA products.
BPS adds most of the administrative objects used in the applications, including all types,
attributes, policies, relationships, roles, groups, persons, vaults, and stores. The
installation process also manages issues that may occur when installing over a populated
database, such as:
•
Identifying previous versions of administrative objects that need to be updated.
•
Identifying previous versions of administrative objects that should not be updated
because they have been modified (updating might override modifications).
The above check for whether objects have been modified is not available for this release.
•
Preventing naming conflicts by renaming objects in the framework that have the same
name as an existing object (not the same symbolic name though). The installation
renames the framework object using the format eService[version number]~[original
name].
•
Identifying existing administration objects with the same symbolic name as an
installing object. If the installation is attempting to add the object, it skips the add
command.
•
Backing up program, administration, business object, and UI components
•
Schema Changes.mql.
Only RELEASED versions of the framework support the upgrade process listed above.
Customers who receive PRE-RELEASED software as part of a Beta and/or Customer
Sponsorship program are given the pre-released software for evaluation purposes only.
The installation program will not automatically upgrade databases from a Beta version to
a released version. Installing pre-released versions of the framework requires that the
database be empty.
MatrixIniDefaults
Program
The MatrixIniDefaults program contains Matrix ini settings that apply to the entire
system. The BPS installs this program to implement settings that it requires. If you install
the framework and the database already contains a MatrixIniDefaults program (from a
previous framework version or because the administrator created one to implement system
settings), the installation copies the existing program to a program called
MatrixIniDefaults_VERSION, for example MatrixIniDefaults_10-0-0-0, before it installs
Chapter 14: Installing Business Process Services™
373
its own copy of the program. You should compare the copy with the new version and copy
over any settings that you had in the existing program.
If you make changes to the date/time settings, make sure they are in sync with the
corresponding framework properties as described in “Data/Time Format Properties” in
the ENOVIA Live Collaboration Administrator’s Guide.
Business Process
Services Version
Must Be Correct
for Applications
It is critical that ENOVIA products use the correct Business Process Services and schema
version, as specified in the Program Directory for the given release. Having the correct
installation is key to getting the applications to work correctly and for future upgrades to
work right.
Preventing
Custom Pages
from Being
Overwritten
During Upgrades
The ENOVIA Live Collaboration Server contains a filter class that allows requests from
ENOVIA products to check for a prefixed file name so that you can store custom resources
(JSP, HTML, and image files) with alternate filenames to prevent them from being
overwritten on subsequent application installs. In version 10.6.1, the ability to have
multiple prefixes defined was added. This allows you to keep various customization,
accelerator, or integration files easy to identify.
You can also implement a custom directory to store custom files; however, when using
custom directories, there are certain jsp directives that will result in run-time (vs. compile
time) errors if the relative pathing isn't correct. Therefore, it is recommended that custom
prefixes are used instead of a custom directory. In Version 10.7, use of a custom directory
is not supported by default — web.xml configuration is required.
The naming convention prefix(es) are contained in the web.xml file for the application
server. If the custom JSP filter is enabled, the filter first looks for a page having a name
that is the concatenation of any of the defined prefixes and the name of the file requested.
If no prefix is set or the page is not found, it looks for the originally requested page.
For example, the filter first looks for an Engineering Central file with all specified prefixes
under /engineeringcentral/.If not found it looks for the originally requested file
name in /engineeringcentral/.
Implementing the custom JSP filter involves simple changes to the web.xml file for your
application server’s WAR file.
To enable the custom JSP filter
Open the web.xml file, and in the custom filter section, remove the two multiline
comments and make them single line comments. You can do this by deleting the two lines
having only --> and pasting the --> at the end of the comment’s first line.
The custom filter section should look similar to the following, with the modified single
line comment lines shown in boldface. The following shows defined prefixes which are
not defined in the web.xml as installed:
<!--
Custom filter -->
<!-- Custom filter class -->
<filter>
<filter-name>CustomFilter</filter-name>
<filter-class>com.matrixone.servlet.CustomFilter</
filter-class>
374
ENOVIA Live Collaboration Installation Guide
</filter>
<!-- Custom filter definitions -->
<filter>
<filter-name>CustomFilter1</filter-name>
<filter-class>com.matrixone.servlet.CustomFilter</
filter-class>
<init-param>
<param-name>ematrix.customFilePrefix</param-name>
<param-value>emxLib_</param-value>
</init-param>
</filter>
<filter>
<filter-name>CustomFilter2</filter-name>
<filter-class>com.matrixone.servlet.CustomFilter</
filter-class>
<init-param>
<param-name>ematrix.customFilePrefix</param-name>
<param-value>emxFDA_</param-value>
</init-param>
</filter>
<filter>
<filter-name>CustomFilter3</filter-name>
<filter-class>com.matrixone.servlet.CustomFilter</
filter-class>
<init-param>
<param-name>ematrix.customFilePrefix</param-name>
<param-value>emxUCCnet_</param-value>
</init-param>
</filter>
<!-- Custom filter mappings -->
<filter-mapping>
<filter-name>CustomFilter1</filter-name>
<url-pattern>/common/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CustomFilter2</filter-name>
<url-pattern>/common/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CustomFilter2</filter-name>
<url-pattern>/engineeringcentral/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CustomFilter3</filter-name>
<url-pattern>/common/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CustomFilter3</filter-name>
<url-pattern>/teamcentral/*</url-pattern>
</filter-mapping>
Chapter 14: Installing Business Process Services™
375
The above web.xml defines 3 filters (CustomFilter1, CustomFilter2, and CustomFilter3).
Each of these filters has its own prefix and mappings defined. All three filters will
potentially intercept requests for pages with /common/… in the URL. The request will
first be processed for CustomFilter1 and if no alternate page exists, CustomFilter2 is used,
and so on until all have been checked. If no alternate page exists for any of the defined
customFilePrefixes, the originally requested resource is supplied. If an alternate page is
found with any of the prefixes, that resource is supplied and the checking is stopped.
Therefore, the order the prefixes are defined dictates the precedence of the filters. That is,
in the example above, CustomFilter1 (emxLib_ ) is first, CustomFilter2 (emxFDA_) is
second, CustomFilter3 (emxUCCnet_) is third and the originally requested resource is
fourth for any resource requested in the /common directory.
To use a custom directory for custom JSP pages
It is recommended that if you will be creating your own custom JSP pages, that you use
the custom prefix approach described above. However, if you need to use a custom
directory for backward compatibility, you can add the following bolded lines into the
custom filter section of the Web.xml file:
<filter>
<filter-name>CustomFilter</filter-name>
<filter-class>com.matrixone.servlet.CustomFilter</
filter-class>
<init-param>
<param-name>ematrix.customDirName</param-name>
<param-value>/custom</param-value>
</init-param>
</filter>
When using custom dirs, there are certain jsp directives that will result in run-time (vs.
compile time) errors if the relative pathing isn't correct. Therefore, it is recommended that
custom prefixes are used instead of a custom directory.
How the
Installation
Manages Previous
Versions
The framework installation handles versions named with any string, including version
names with more than 4 digits (for example, 9.4.1.1.0.1) and names with letters (for
example, 9.4.acmecorp). It also handles patches that are inserted into the version sequence
after subsequent versions have been released.
Each framework version installs a file called AppInfo.rul, which is located in
SERVER_INSTALL\Apps\Framework\<version>\Schema\. The
VERSION_LIST section of this file contains a list of all the framework versions in
sequence. The last version is the latest version of the framework. All install files and
routines refer to this file to get the latest version and version list. When each framework
and application version is installed, the install routines record the application name,
version, and installation date in a Version Log. This log is stored in the code section of
eServiceSystemInformation.tcl. For more information on this program, see “Programs” in
the ENOVIA Live Collaboration Administrator’s Guide.
The installation routines that handle version comparison and tracking work as follows:
1. Get versions in sequence from the VERSION_LIST section of AppInfo.rul file.
2. Check if framework is installed.
376
ENOVIA Live Collaboration Installation Guide
3. If framework is not installed, start installing from first version of framework in the
VERSION_LIST section of AppInfo.rul. After successful completion of each version,
make an entry in the Version Log (eServiceSystemInformation.tcl). For example, the
log for a new installation might look like this:
Framework 8-0-1-0 05-01-2002 09:41 AM
Framework 8-0-2-0 05-01-2002 09:42 AM
Framework 9-0-0-0 05-01-2002 09:43 AM
Framework 9-0-0-1 05-01-2002 09:43 AM
Framework 9-0-1-0 05-01-2002 09:44 AM
.
.
.
Framework 9-5-1-2 05-01-2002 09:50 AM
PartStructure 9-5-0-0 05-01-2002 10:15 AM
PartDefinition 9-5-0-0 05-01-2002 10:16 AM
ProfileManagement 9-5-0-0 05-01-2002 10:16 AM
EngineeringChange 9-5-0-0 05-01-2002 10:44 AM
4. If a previous version of the framework is installed, then:
a ) Get the version of the installed framework and list it in the Version Log. For the
date, enter UNKNOWN (because the new version has no way of knowing when
the installed version was installed). For example:
Framework 9-0-0-0
Framework 9-0-1-2
Framework 9-0-2-0
Framework 9-0-2-1
EngineeringChange
EngineeringChange
UNKNOWN
04-29-2002 11:23 AM
04-29-2002 11:24 AM
04-29-2002 11:24 AM
9-0-3-0 UNKNOWN
9-1-0-0 05-29-2002 11:24 AM
b ) Check if the installed version of the framework is in the VERSION_LIST section
of AppInfo.rul for the version being installed. This is a check to see if the version
being installed knows about the installed version. For example, the version being
installed might not know about a patch for a previous version that was released
after the installing version was released. Suppose a patch for version 9.5.1.2,
called 9.5.1.2.0.1, is released after version 9.5.1.4 is released. Versions 9.5.1.3
and 9.5.1.4 will not know about the patch.
If the installed version is in the installing version’s VERSION_LIST (the
installing version does know about the installed version), start installing the
framework from the very next version. After successful completion of each
version, make an entry in the Version Log.
If the installed version is not in the installing version’s VERSION_LIST (the
installing version does not know about the installed version), get the latest
version from the Version Log that is in the installing version’s VERSION_LIST
(get the latest version that the installing version does know about). Start installing
from the very next version. Using the example versions described above, suppose
you are installing 9.5.1.4 over the 9.5.1.2.0.1 patch, which the 9.5.1.4 version
doesn’t know about. The installing version checks the VersionLog and finds that
the latest version that is in its VERSION_LIST is 9.5.1.2. So it will begin
installing with version 9.5.1.3, leaving all the changes made by the patch intact.
Chapter 14: Installing Business Process Services™
377
How the
Installation
Handles Schema
Similarities
At the highest level, there are two ways an existing administration object might be similar
to an object being installed:
•
the administration object names are the same but their symbolic names are not; see
Name Collisions
•
the administration object symbolic names are the same; see Symbolic Name Matches
Name Collisions
A simple name collision is when a framework administration object has the same name as
a custom administration object in the database (an object that was never installed as part of
the framework). In this case, the symbolic names of the objects are not the same: either the
existing object has no symbolic name or its symbolic name is different from the
framework object’s. When the framework install program finds a name collision, it
renames the administration object it is installing using the format “eService[version
number]~[original name]”.
For example, suppose your database contains a Widget type and you are installing version
9.0.0.0 of the framework, which also contains a Widget type. When the framework
installs, it renames its Widget type to “eService9000~Widget”. It does not change the
type’s symbolic name.
After installing the framework, you can find any name collisions by looking at the
installation log file (see Installation Log File). For recommendations on resolving
collisions, see “Resolving Schema Similarities Between the Framework and Custom
Schema” in the ENOVIA Live Collaboration Administrator’s Guide.
Symbolic Name Matches
When the framework installation encounters an existing object that has the same symbolic
name as an object it is adding or modifying, it checks to see if the MQL command for the
object is an add or modify command. If it’s an add command, the installation skips the
command and logs the skip action in the log file.
If the MQL command is a modify command, the installation checks the existing object’s
Application property to determine if it’s a FrameworkFuture object. How the installation
proceeds depends on the value for this property and how the version number compares to
the version of the object being installed. There are two types of values for the Application
property:
•
378
Framework or anything other than FrameworkFuture—The object was installed by
the framework or is a custom object.
•
If the Version property on the existing object is less than the version for the object
to be installed (existing object is older than installing object), the installation
modifies the object.
•
If the Version property on the existing object is equal to or greater than the
version to be installed (existing object is same as or newer than installing object),
the installation skips the modify command.
•
If a new manifest file has been selected, the installation may modify the object.
ENOVIA Live Collaboration Installation Guide
•
FrameworkFuture—This is a special case in which the schema was flagged as a future
part of the framework. This only occurs when a customer works closely with
ENOVIA Engineering to add new schema. When schema is flagged as
FrameworkFuture, the Version property is also updated with the framework version
number the new or modified schema will appear in.
•
If the Version property on the existing object is less than the version for the
installing object (existing object older than the installing object), the installation
executes the modify command.
•
If the Version property on the existing object is the same as the installing object’s
version, the installation skips the modify command and changes the Application
property from FrameworkFuture to Framework to identify it as a framework
object. It then logs a message to the log file to indicate that the object has been
synced and the modify command skipped.
•
If the Version property on the existing object is higher than the installing object’s
version (existing object is newer than installing), the installation skips the modify
command and indicates the skipped command in the log file.
•
If a new manifest file has been selected, the installation may modify the object.
This table summarizes how the system handles symbolic name matches.
MQL
command
Application property on
existing object is:
Existing object’s
Version property is
less, equal, or greater
than installing
version?
Framework installation:
add
ANY
ANY
skips the add command because the
object already exists
log a message about the command being
skipped
may add if new manifest file has been
selected.
Chapter 14: Installing Business Process Services™
379
MQL
command
Application property on
existing object is:
Existing object’s
Version property is
less, equal, or greater
than installing
version?
Framework installation:
modify
Framework or any value other
than FrameworkFuture
(indicating a custom object)
less (existing object is older)
executes the modify command
equal
skips the command
may modify if new manifest file has
been selected.
greater (existing object is
newer)
skips the command
may modify if new manifest file has
been selected.
less (existing object is older)
executes the modify command
equal
skips the modify command, changes the
Application property to Framework, and
logs the object syncing and command
skip in the log file
may modify if new manifest file has
been selected.
greater (existing object is
newer)
skips the command and enters the skip in
the log file
may modify if new manifest file has
been selected.
FrameworkFuture
Installation Log
File
After installing the framework and schema, you can review these log files:
•
install[Framework or application][version number].log
•
installSchemaInstaller[version number].log
•
SchemaChangessMQL[version number].log
Framework\Application Installation Log File
A log file is created every time the installation file is run for the framework or for a
application. The file is called install[Framework or application name][version number].log
and is installed by default in SERVER_INSTALL\Apps\Framework\. For example,
the log file for the V6R2011x framework is called installFrameworkV6R2011x.log.
The file lists all the administrative objects added or modified during installation, objects
renamed due to name collisions, MQL commands skipped due to symbolic name
collisions, and error conditions. The log file shows messages generated for each
installation script that runs during installation. You can determine which program
generated the message by looking above the message until you find the line that lists the
program that was running.
380
ENOVIA Live Collaboration Installation Guide
This table describes the messages that can appear in the file.
Log Message
Condition
Action Performed by Installation
Currently Installed Applications
>None Installed
No application is installed in the
database.
Install application for first time.
Currently Installed Applications
>Application : A1 V1
>Application : A1 V2
Applications A1 of version V1 and A2 of
version V2 are already installed.
If application to be installed is same as A1
or A2 then update installed application
objects for latest version, else add new
application.
Now Installing
>Application : A1 V1
—
Start installing application A1 of version
V1.
Adding : program P1 V1
Program P1 is not present in the database.
Add program to database.
Modifying : program P1 V1
Program P1 with earlier version already
exists.
Modify program in the database to update
it to new version.
Exists : program P1
Program P1 with same or newer version
is already present in the database.
Do nothing.
Adding : adminType A1 V1
Administration object A1 is not present in
the database.
Add administration object to the database.
Renaming : adminType A1
Administration object with same name as
A1 is already present in the database.
Object is created by customer and not
installed by installation scripts.
Don’t change the administration object
present in the database. Instead install
object with the name formed by prefixing
previous name by string eService +
version_name.
Same Version: adminType A1 V1
Administration object A1 with same
version is present in the database.
Do nothing.
Modifying : adminType A1 V1
Administration object A1 is installed by
earlier version.
Update existing administration object to
make it compatible with new version.
Adding : itemDesc V1
Administration bus object not present in
the database.
Add administration object to the database.
Modifying : itemDesc V1
Administration bus object is already
installed by earlier installation script.
Update administration object by
modifying it for latest version.
Adding : Method T1 M1
Method M1 not present on type T1.
Add a new method.
Exists : Method T1 M1
Method M1 already exists on type T1.
Do nothing.
Removing : Method T1 M1
Method M1 is defined on type T1.
Remove method .
Adding : user U1
Sample user U1 not present in the
database.
Add a person.
Exists : user U1
Sample user U1 already present in the
database.
Do nothing.
Adding : itemDesc
Sample bus object not present in the
database.
Add sample object to the database.
Adding : workspace R1
—
Sets workspace for role R1.
Adding : workspace itemDesc V1
Toolset is not defined in current operating
workspace.
Add toolset in the operating workspace
for version V1.
Chapter 14: Installing Business Process Services™
381
Log Message
Condition
Action Performed by Installation
Modifying : workspace itemDesc
V1
Toolset is defined in current operating
workspace.
Modify toolset in the operating workspace
for version V1.
Cannot create type xxx not unique
type
This message should not appear
after version 9550.
There is an existing, custom
administration object with the same
symbolic name as an object being
installed.
Condition causes the installation to roll
back and creates many additional errors.
You need to unregister the existing
administration object.
Only for pre-9550 installations.
Cannot rename xxx as object
already exists with new name
There is an existing, custom
administration object with the same name
as the new name we are trying to use.
Condition causes the installation to roll
back and creates many additional errors.
You need to unregister the existing
administration object.
Skipping mql command for type T
version 9-0-0-0
Following command is skipped
mql add type T
There is an existing framework
administration object with the same
symbolic name as the object being
installed.
Add command is skipped.
type T already exists.
Following mql command skipped
mql add type T
There is an existing custom
administration object with the same
symbolic name as the object being added.
Add command is skipped.
Skipping mql command for type T
version 9-0-0-0
Following command is skipped
mql modify type T
There is an existing framework object
whose version is equal or greater to the
installing object’s.
Modify command is skipped
Syncing type T at version 9-0-0-0
There is an administration object with the
same symbolic name, Application
property of FrameworkFuture, and the
same Version property as installing
object.
Application property is changed to
Framework and modify or add command
is not executed
Schema Installation Log File
A log file is created every time the schema installer is run. The file is called
installSchemaInstaller[version number].log and is installed by default in the
SERVER_INSTALL\Apps\<version>\SchemaInstaller\ directory.
The file contains a section for each version of each schema installed (AEF, Team Central,
all other ENOVIA products, and any custom schema).
You may see Modifying messages for a version earlier than your currently installed
version. For example, your installed version is 9.5.5.1, but you see a modifying message
for version 9.5.0.0. This situation may occur if a prior conversion executed, but for some
reason did not update the version number for the object. The message here indicates that
the version has been modified, not that the conversion was run again.
382
ENOVIA Live Collaboration Installation Guide
This table describes the messages that can appear in the file. .
Log Message
Description
Currently Installed Applications
Lists the applictions that have already been
installed
Now Installing
>Application : SchemaInstaller
Running SchemaInstallerPrograms.tcl
The Schema Installer is running.
Adding : program P1 V1
Schema for the program/verion added.
Running
SchemaInstallerCustomPrograms.tcl
The schema for custom programs (defined
by the custom SDF, SMF, and mapping
files) is being installed
>Upgrading [version] [application]
Section for each application/version
containing the schema changes
> Adding : adminType P1 V1
Adding administrative objections for the
program/version P1/V1
>Modifying : admingType P1/V1
Modifying administrative objections for the
program/version P1/V1
>Modifying : workspace itemDesc V1
Toolset is defined in current operating
workspace.
MQL Schema Changes Log File
A schema changes log file is created every time the schema installer is run. The file is
called SchemaChangesMQL[version number].log and is installed by default in the
SERVER_INSTALL\Apps\<version>\SchemaInstaller\ directory.
The file contains the MQL code corresponding to the entries listed in the Schema Installer
log file.
Directory
Structure
Build scripts
The BPS installation program adds the following directories to the location specified as
the directory for placing the build scripts, usually the installation directory for ENOVIA
Live Collaboration.
SERVER_INSTALL\Apps\Framework\<version>\
| Common\
(All trigger programs common to all
applications; includes their utility programs)
| Common UI\ (Program and image files needed for the user
interface. Applet jar files are also located
there.)
| Doc\
(User’s guides and online help for the
Application Exchange Framework and the
applications. Online help for each application
is located in a subdirectory with the name of
the application. The user’s guide for the apps
and the framework are located in the pdf
directory. The common directory contains VCP
help. The javadoc directory contains javadoc
from the framework classes.
| Pixmaps\
(Graphics, .gif, files for icons and other
Chapter 14: Installing Business Process Services™
383
images)
(Tcl file that add administrative objects owned
by each application; also includes programs
used by the framework, such as the trigger
manager, atuomatic object creation program,
and the scheman variable mapping program)
| Store\
(Test store directory used for checking in
files; empty upon installation)
| UserInterface\
| Uninstall\
| UI\
| Backup\
\ ematrix\ (Any modified files are copied here using
the same directory structure as exists
under the staging directory.)
| Schema\
The installation program for each ENOVIA product adds a subdirectory under the
framework directory. Each application subdirectory contains the program files needed to
build the application. For example, the directory structure would look like this if the
Engineering Central application is installed.
SERVER_INSTALL\Apps\EngineeringCentral\<version>\
| AppsCommon\ (Program files for the Common Components
application)
| Common\
| Doc\
| EngineeringCentral\ (Program files for the Engineering
Central application)
| Uninstall\
| UI\
| Backup\
| ematrix\ (Any modified files are copied here using
the same directory structure as exists
under the staging directory.)
Application Server directories
When Web Interface is chosen during the framework installation, the installation program
creates a directory called “ematrix” under the staging directory of the Collaboration server
installation directory. The installation installs some files to this directory and creates
subdirectories for other files. When you install an ENOVIA product, the installation
program creates a directory under the ematrix directory using the name of the application.
All application-specific files for the application are copied to the directory. Directories for
the online help and user guide are also created. The following lists the directory structure
under the ematrix\ directory.
SERVER_INSTALL\STAGING\
| ematrix\
(JSP, JavaScript, and style sheet files related
to the Login, Logout, and Home pages. All other
component files are in the common
subdirectory.)
| classes\ (.jar files needed for the applications)
| common\ (All JSP files that belong to AEF and the
dynamic user interface components used for the
applications. Only BPS installs to the common
384
ENOVIA Live Collaboration Installation Guide
|
|
|
|
|
J2EE
Implementation
directory and its subdirectories. Individual
applications use files from the directory but
don’t install to it.)
| scripts\ (All .js files that belong to BPS; used for
the applications)
| styles\ (All style sheet (.css) files that belong to
BPS; used for the applications)
| images\ (All image, .gif, files that belong to BPS;
used for the applications. All the icon
files for the object types are in this
directory. For example, it contains images
for object type Part and administration
types like role and person.)
components\ (Program and image files for common
components; installed as part of Business
Process Services)
doc\
(Contains a subdirectory for each installed
application’s help systems, and a pdf
directory for user’s guides. Within each
application’s help subdirectory, there is a
subdirectory for each language, named using
the standard abbreviation for the
language, i.e., en for English, fr for
French, etc.. The javadoc directory
contains javadoc from the framework
classes.)
properties\ (All property files, including the String
Resource files and system property files
that let you configure features.
APPS_DIR\
(Each application, such as Engineering
Central and Supplier Central, has its own
directory. The application subdirectories
have the same name as the application,
with no spaces, such as EngineeringCentral
and SupplierCentral. The following types,
which belong to the applications, are in
this directory:
- JSP, .jsp, files
- JavaScript, .js, files
- style sheet, .css, files
- all component files)
| images\
(All image, .gif, files that belong to the
corresponding applications)
Web-Inf\
(Contains the emxUtil.tld and
framework.tld files, which are custom tag
libraries)
When installing ENOVIA products, all files are installed to the staging directory of the
Collaboration server installation directory. After installing all applications, you must run
the war utility to create archive files in the distrib directory. Then deploy the EAR file
using your J2EE application server. For more information on supported application
servers, the directory structures, and instructions for running the war utility and deploying
the archive file, see Deploying J2EE in Chapter 10.
Chapter 14: Installing Business Process Services™
385
Keep these important points in mind when making changes to framework and application
files, including changes to emxSystem.properties, emxLogin.properties, any
StringResource file, and any changes or additions to the JSPs:
File Naming
Conventions
•
Always make changes to the files within the staging directory and not to the
corresponding file in the archive files. If you make changes within the archive file
itself, you risk overwriting these changes the next time you run the war utility.
•
Remember to rerun the war utility and redeploy the archive file every time you make
changes to files in the staging directory. Restart the application server after deploying
the archive file.
The naming conventions for the files installed with Business Process Services and
applications ensure that all ENOVIA programs correctly refer to each other and are
distinguished from custom programs. The naming conventions also make it easy to
identify the purpose of the file and the application it belongs to. The below table shows the
conventions used for directories and files in the framework and for some applications.
Do not change the name of ENOVIA product programs and do not create new programs
that use any of the prefixes listed below. Doing either may cause programs to fail.
Directory Name
File Prefix
Example File Name
(various directories with Tcl and JSP files)
eService
emx
eServiceInstallAdmin.tcl
emxTeamAddBusinessUnit.jsp
Common\
common
emxcommon
eServicecommon
commonCheckRelativeState.tcl
eServicecommonCompleteTask.tcl
emxcommonPushPopShadowAgent.java
SERVER_INSTALL\intel_a\pixmaps\app\
—
The files in the pixmaps directory
are GIF image files. Since they
aren’t added to the database, there
is no naming convention for these
files.
SERVER_INSTALL\Apps\Framework\<version>\
Schema\
—
The files in the Schema directory
are for installation and are not
added to the database so there is no
naming convention used for them.
SERVER_INSTALL\intel_a\ematrix\ directory
and application subdirectories
emx[ABBREVIATION
FOR APPLICATION]
emxTeamAddBusinessUnit.jsp
emxbomCopyEBOMdialog.jsp
Other prefixes that are used include:
386
•
banner
•
bar
•
button
•
datapopulate
•
logo
ENOVIA Live Collaboration Installation Guide
•
menu
•
populate
•
softmgmt
•
splash
•
UserInterface
•
util
Naming conventions for image files
Category of
Image
Description
File name format
Example File Names
Object types like
Part, ECR etc
Small image / Icon
iconSmall<Object Name>.gif
iconSmallPart.gif
iconSmallECR.gif
Large Image / Icon
iconLarge< Object Name>.gif
iconLargePart.gif
iconLargeECR.gif
Small image / Icon
iconSmall<Admin Type Name>.gif
iconSmallPerson.gif
iconSmallRole.gif
Large image / Icon
iconLarge<Admin Type Name>.gif
iconLargePerson.gif
iconLargeRole.gif
Generic action
based images
Used in forms and Menus
button<Action Name>.gif
buttonDone.gif
buttonCancel.gif
buttonLogout.gif
buttonHelpAbout.gif
buttonInboxTask.gif
All Feature
specific images,
buttons, and icons
Icons
icon<FeatureKey><Name>.gif
iconSearchPerson.gif
iconProfilePerson.gif
iconBOMView.gif
Buttons
button<FeatureKey><Name>.gif
buttonBOMCopy.gif
buttonBOMView.gif
Utility and other Images
util<FeatureKey><Name>.gif
utilLoginBackground.gif
utilEngineeringTop.gif
utilPlus.gif
utilNavArrow.gif
utilSpacer.gif
Logos
logo<Name>.gif
logoEngineeringCentral.gif
logoSupplierCentral.gif
Administration
types like Role,
Person etc
Logo images for
products /
companies
Chapter 14: Installing Business Process Services™
387
388
ENOVIA Live Collaboration Installation Guide
15
Installing the 3DVIA
Viewer
Overview
The 3DVIA Viewer is a webtop visualization component used to view 3D and 2D images
(CGM, CGR or 3DXML files) associated with parts and CAD models.
The 3DVIA Viewer also allows you to view TIFF files (files with an extension of .tif or
.tiff) in 3DLive quality, a higher precision than is generally available with the viewer
integrated into Windows. The 3DVIA Viewer is launched initially in File mode, which
means that you cannot do any markup, redlining, or taking of measurements. Document
objects should conform to the CDM (Common Document Model) for storing TIFF files.
You can invoke the 3DVIA Viewer by:
•
Clicking the 3DVIA Viewer button in the BOM PowerView page for parts in
Engineering Central.
•
Clicking the 3DVIA Viewer button in the Navigator page for MCAD models in
Designer Central.
•
Viewing 3D or 2D images in the Image Manager page for objects in Common
Components. The Image Manager must be configured for the object. For details, see
“Configuring Images for Objects” in the ENOVIA Live Collaboration Administrator’s
Guide.
The first time you invoke the 3DVIA Viewer from your machine, you are asked if you
would like to install it. If you choose to install it, the 3DVIA Viewer is downloaded from
389
the Live Collaboration Server and installed on your machine. The next time you invoke it,
the 3DVIA Viewer already installed on your machine is used.
The 3DVIA Viewer is supported on both Windows 32- and 64-bit clients. You can invoke
the viewer from Internet Explorer on both 32- and 64-bit clients, and from Firefox on
32-bit clients.
390
ENOVIA Live Collaboration Installation Guide
3DVIA Viewer Live Collaboration Server
Installation
The 3DVIA Viewer is not required to be installed on the Live Collaboration Server.
Instead the Live Collaboration Server acts as a storage place for the 3DVIA Viewer
installation files. The 3DVIA Viewer is installed one time on a user's machine based on
need (i.e. if it's not already installed or if the existing version is older than the version
stored on the Live Collaboration Server). Users initiate the installation process by
invoking the 3DVIA Viewer from the locations listed above.
Even though the 3DVIA Viewer is only supported on Windows 32 and 64-bit clients, the
installation files need to be stored on all Live Collaboration Server installations (Windows,
UNIX, etc.). There are two separate tarkits that must be stored:
•
One for Windows 32-bit (3DVIAViewer.Windows_package)
•
One for Windows 64-bit (3DVIAViewer.Windows64_package)
Both tarkits must be stored so the 3DVIA Viewer can be installed on both Windows 32 and
64-bit clients.
Prerequisites for
Installing the
3DVIA Viewer on
the Live
Collaboration
Server
Before you launch the 3DVIA Viewer installation, the following are prerequisites:
•
The Live Collaboration Server and at least Business Process Services must be
installed. ENOVIA applications can be installed before or after installing the 3DVIA
Viewer tarkits.
•
The MSXML Parser must be in the STAGING directory. Both the 32 and 64-bit
versions must be installed. To download the MSXML Parser, an Administrator must
download both the msxml6_x86.msi and msxml6_x64.msi files from the Microsoft
website:
http://www.microsoft.com/downloads/
details.aspx?FamilyID=d21c292c-368b-4ce1-9dab-3e9827b70604&DisplayLang=en
Both files must be placed in the STAGING directory. For example, msxml6_x86.msi
should be copied in ENOVIAHOME/server/STAGING/components/x86/
msi/ and msxml6_x64.msi should be copied in ENOVIAHOME/server/
STAGING/components/x64/msi/. After all the ENOVIA applications you are
using are installed, run the war utility. For details, see Building the J2EE Archive File.
•
The web services required for the 3DVIA Viewer must be published. To publish these
web services, do the following:
a ) Set the following variables in the enovia.ini file for the Studio Modeling Platform
and the enovia.ini file for the Live Collaboration Server:
MX_SERVICE_PATH = <server path>\
distrib\enovia\WEB-INF\classes
This variable should be set to the directory where the service stubs and
deployment files will be written when service JPOs are compiled in the ENOVIA
Live Collaboration.
MX_SERVICE_ADMIN = <application server url>
This variable should specify the administration URL of the Axis Web
application.
Chapter 15: Installing the 3DVIA Viewer
391
b ) Force compile all the JPOs by running the following commands in MQL. The
application server above should be running when you compile:
set context user creator;
compile program * force;
c ) Restart the Live Collaboration Server.
d ) Access the following URL to verify the web services are published: <application
server url>/services
Installing the
3DVIA Viewer on
Windows
To install the 3DVIA Viewer on Windows Live Collaboration Servers
1. Log into Windows as a person with Administrator privileges.
2. Copy the .zip file from the CD or the ENOVIA Download page to a temporary
directory.
3. Unzip the zip file and run ENOVIUSetup.bat. The command prompt window opens.
4. Enter the path to your Live Collaboration Server installation, for example,
C:\enoviaV6R2011x\server. Click Enter.
The setup then copies the entire contents of the .tar file to
SERVER_INSTALL\STAGING\ematrix\components\x86\ (for the 32-bit
version).
5. Repeat the steps above for the tarkit for the 64-bit version.
6. Run the war utility (war_setup.bat) after installing all applications. See Building the
J2EE Archive File.
7. Deploy the generated web application using the J2EE application server. See
Deploying the J2EE Archive File.
8. Restart the application server.
Installing the
3DVIA Viewer on
UNIX
To install the 3DVIA Viewer on UNIX Live Collaboration Servers
1. Log in as a user who has the privileges to install the 3DVIA Viewer (copy files to the
Web server root directory, install on the database, run MQL.exe, etc.).
2. Copy the tar.gz file from the CD or the ENOVIA Download page to the distribution
directory. Refer to Mounting the CD in Chapter 7 if necessary.
3. Unzip the tar.gz file to the distribution directory. Change to the directory named
“install” under the distribution directory and run the setup script as follows:
% cd /DISTRIB_DIR/install
% ./ENOVIUSetup
4. Enter the path to your Live Collaboration Server installation, for example:
/home/enovia/V6R2011x/server
The setup then copies the entire contents of the .tar file to SERVERHOME/
STAGING/enovia/components/x86/ (for the 32-bit version).
5. Repeat the steps above for the tarkit for the 64-bit version.
6. Run the war utility setup file after installing all applications. See Building the J2EE
Archive File.
392
ENOVIA Live Collaboration Installation Guide
7. Deploy the generated web application using the J2EE application server. See
Deploying the J2EE Archive File.
8. Restart the application server.
Upgrading the
3DVIA Viewer
To upgrade the version of the 3DVIA Viewer installation files stored on the Live
Collaboration Server, follow the installation instructions above for your platform.
Chapter 15: Installing the 3DVIA Viewer
393
394
ENOVIA Live Collaboration Installation Guide
16
Installing ENOVIA Products
Overview
All ENOVIA products require that you first install all components of ENOVIA Live
Collaboration as outlined in What Needs to be Installed? Then follow the installation
procedure appropriate for your platform:
Before Installing
the applications
•
Installing an Application on UNIX
•
Installing an Application on Windows
If installing many ENOVIA products on the same system, the default setting for open files
may be too small in a RIP environment (single process). In this case, ENOVIA Live
Collaboration requires about 1k for open files. For example, on Solaris use the following
setting in the /etc/system file:
set rlim_fd_cur=1024 ; soft limit (per process)
If your application server is configured for use with other applications besides ENOVIA’s,
you should refer to your application server’s tuning recommendations. For WebLogic on
Solaris, the recommendation is 8192 as shown in their documentation at:
http://e-docs.bea.com/wls/docs70/perform/HWTuning.html.
395
Installing a
Service Pack
Service pack installations (VERSION.SPX.Partial) are available for selected ENOVIA
product versions. A service pack can be installed only over the version of the same name.
For example, EngineeringCentral.10.5.SP2.Partial can be installed over Engineering
Central version 10.5 or 10.5.SP1. A full upgrade (VERSION.SPX.Full) can be installed
over any previous release.
Service pack installation follows the same procedure as the full release installation, but
includes only modified files. It is recommended for sites that have customized pages.
Installing an
Application on
UNIX
Before installing an application on UNIX you must:
•
Log in as a user who has the privileges to install the application (copy files to the Web
server root directory, install on the database, run MQL.exe, etc.).
•
If installing from a CD, mount the CD so the operating system software can access
the files contained on the disk. Refer to Mounting the CD in Chapter 7 for examples
of mount commands for each platform.
•
Make sure you know the path where mql.exe is located.
To install ENOVIA products on UNIX
1. Copy the tar.gz file from the CD or the ENOVIA Download page to the distribution
directory. Refer to Mounting the CD in Chapter 7 if necessary. Use the -i option of the
tar command to avoid errors caused by long path names in the distribution that some
versions of tar can’t handle properly.
2. Unzip the tar.gz file to the distribution directory. Change to the directory named
“install” under the distribution directory and run the setup script as follows:
% cd /DISTRIB_DIR/install
% ./setup.APPNAME (for example, ./setup.ProgramCentral)
3. First you must choose the Installation Type from the following menu:
Installing APPLICATION_NAME
-----------------------------------------------------------Choose Installation Type
-----------------------------------------------------------1. Standard (Recommended)
2. Advanced
Select option (1-2) [1]? 1
Choose option 1 for the recommended Standard installation.
Choose option 2 to change the default settings for the prompts shown in Step 6.
4. Next, you must choose the directories for the installation to use.
Choose Directories
-----------------------------------------------------------Enter distribution directory path []?
Enter build script directory path []?
Enter Collaboration Platform Server installation directory
path []?
The distribution directory defaults to the directory above the current directory and
you should be able to accept the default by typing enter (or type in a new path as
required).
396
ENOVIA Live Collaboration Installation Guide
The build script directory is the path where the scripts that build the application in
the database are placed. If you specify a directory that does not exist, the setup
program will create the directory.
The Collaboration Platform Server installation directory is the path that contains
the ENOVIA Live Collaboration Server installation.
5. Next you must tell the setup program where MQL is (Matrix application scripts)
and the user name and password for a user that has Business and System
Administrator privileges, such as creator. If the user has no password, accept the
default.
Specify Administration Parameters
-----------------------------------------------------------Enter directory path for Modeling Studio scripts [/usr/bin]?
/app/mx10
Enter Administrator user for Modeling Studio ? [creator]?
Enter Administrator password ? [NONE]?
6. If you selected the Advanced option in Step 3, you are prompted for the following.
The Standard option accepts the defaults:
Advanced Install
-----------------------------------------------------------Do you wish to install to staging area only & Don’t update
database ? [no]?
Do you wish to undo the whole Framework transaction in case
of failure [yes]?
Install to staging area only. Don’t update database—The default is no, which
means after you complete the installation, the installation copies all files to the staging
area and runs the installation scripts to update the database. If you want to copy files
to the build script directory only and run the installation scripts later, check this
option. When you’re ready to run the installation scripts, use MQL to run the
installFrameworkVERSION.tcl file, located in the framework directory. To create log
and error files, use the -stderr and -stdout MQL options.
Undo whole transaction in failures—The default is yes. Undoing all transactions
makes it easier for you to correct problems with the new installation without
introducing problems into your existing setup. The log file for the framework lists all
transactions even if they are undone. If the transactions are undone, you can use the
log file to identify the error and then re-run setup after correcting the problem. You
should only change this option, allowing transactions to proceed even when there are
errors, if you know how to correct the error or if you are just installing for testing
purposes.
7. The system checks to see if there is a version of the application already installed. You
will receive one of the following messages.
•
If there is no previous installation:
No version of APPLICATION is installed. All application/
common files (JSPs, JPOs, Tcl Program Objects and JAR Files)
and schema (types, attributes, menus, commands, application
business objects, etc.) will be installed. Do you want to
continue [y n]
•
If there is an older version installed:
An older version of APPLICATION is installed. All older
application/common files (JSPs, JPOs, Tcl Program Objects
and JAR Files) and schema (types, attributes, menus,
Chapter 16: Installing ENOVIA Products
397
commands, application business objects, etc.) will be
updated. Do you want to continue [y n]
•
If the same version is installed:
The same version of APPLICATION is installed. All older
application/common files (JSPs, JPOs, Tcl Program Objects
and JAR Files) will be updated.
Do you want to continue [y n]
•
If a newer version is installed:
A newer version of APPLICATION is installed. You cannot
replace it with an older version.
<Press return to continue>
8. When you decide to continue, the system creates installation directories, copies files
to the directories, and builds the script files. A file named
installAPPNAME_VERSION.tcl is created in Apps/APP_NAME/VERSION.
VERSION is the software version number, such as 10-5.
Then the setup program runs the installation scripts.
It may take several minutes to run all the scripts. If you have an extensive database in
place, it could take much longer.
When complete, check the files named installAPPNAME_VERSION.log and
installAPPNAME_VERSION.err in your installation script directory to verify that the
setup is complete, to get details about errors, to see exactly what items were added
and/or modified, and to see if any items were renamed due to name collisions. If
errors were encountered and you chose to undo transactions in case of errors, the
setup will have undone all changes.
9. If you have backups of customized properties files, you’ll need to compare your
customized files with the new files from the updated version. Either update the new
files with your customizations or update your customized files with any new settings.
10. Continue with the next step in General Installation for ENOVIA Live Collaboration
Server.
Installing an
Application on
Windows
To install an ENOVIA product on Windows
1. Log into Windows as a person with Administrator privileges.
2. Copy the .zip file from the CD or the ENOVIA Download page to a temporary
directory.
Please note that when transferring the .zip file from the internet, executable files may
be silently excluded when unzipping the file due to Windows security behaviour. To
prevent this from happening, before unzipping the file, right click in the file, select
Properties, and click Unblock.
3. Unzip the zip file and run setup.exe.
4. At the Welcome frame, click Next.
5. At the Installation Type prompt, check the type of install you want to perform:
398
ENOVIA Live Collaboration Installation Guide
Standard (Recommended)—Use this option for all standard installations. When you
choose this option, the installation will undo all transactions if it encounters problems.
You can still use the log files to find out what transactions were attempted and to
diagnose the errors. The standard installation also automatically runs the installation
scripts after copying files to the staging area, but does not install sample data.
Advanced—Choose this option only if you want to allow the installation to proceed
even if errors occur or if you only want to copy files to the staging area now and run
the installation scripts later. If you choose this option, an Advanced Options prompt
displays at the end of the installation wizard, allowing you to change these options
from their default. (See Step 10.)
Click Next.
6. The Script Path frame asks where to put the scripts that build the application in the
database. The default is SERVER_INSTALL\Apps\APP_NAME\<version>\,
where SERVER_INSTALL is the directory where ENOVIA Live Collaboration is
installed. You can select a different location, if desired, using the Browse button. The
SERVER_INSTALL directory should contain the bootstrap file that points to your
database. After specifying the directory, click Next.
7. At the Super User/Password frame, enter the User and Password that has Business
and System Administrator privileges, such as creator. If the user has no password,
leave the Password box blank. Click Next.
8. Enter the name of the bootstrap file that points to the database in which you want to
install the schema. This bootstrap file must already exist in the ENOVIA_INSTALL
directory. When you are done, click Next.
9. At the next frame, enter the names of the Data and Index table spaces for the eService
Production vault.
The eService Production vault is the vault that will be used for production data.
Consult your Database Administrator for information about the table space names
used. If you do not specify table space names, the tables and indexes for the product
vault will be created in the Oracle user’s default tablespace, which may not be sized
appropriately for production data storage.
Click Next.
10. If you chose the Advanced install option, the Advanced Options prompt opens.
Choose the options you want based on the descriptions below. If you chose a Standard
install, skip to Step 16.
Install to staging area only. Don’t update database—This option is unchecked by
default, which means after you complete the installation wizard, the installation
copies all files to the staging area and runs the installation scripts to update the
database. If you want to copy files to the staging area only and run the installation
scripts later, check this option. When you’re ready to run the installation scripts, run
the installFrameworkVERSION.tcl file, located in the framework directory. To create
log and error files, use the -stderr and -stdout MQL options.
Undo whole transaction in failures—This option is checked by default. Undoing all
transactions makes it easier for you to correct problems with the new installation
without introducing errors into your existing setup. The log file for the framework
lists all transactions even if they are undone. If the transactions are undone, you can
use the log file to identify the error and then re-run setup after correcting the problem.
You should only uncheck this option, allowing transactions to proceed even when
there are errors, if you know how to correct the error or if you are just installing for
testing purposes.
Chapter 16: Installing ENOVIA Products
399
11. The system checks to see if there is a version of the application already installed. If
not, the program asks if you want to continue installing the application. To continue
installing, click Yes. Choosing No will exit setup and you’ll have to run setup again to
install.
If the install program detects an existing version of the application, you will receive
one of the following messages based on whether the existing version is older or newer
than the installing version.
If the existing
application
version is:
This message displays:
Available Actions:
older than the
installing version
An older version of
APPLICATION is installed. All
older application/common
files (JSPs, JPOs, Tcl Program
Objects and JAR Files) and
schema (types, attributes,
menus, commands, application
business objects, etc.) will
be updated.
To not install any schema or programs, click No.
To install updated schema and programs, click Yes.
Common component schema is installed only if it is
newer than the existing common components. Common
component programs are installed only if they are the
same version or newer than the existing common
components. (The existing common component version
might be different than the existing application version.)
the same as the
installing version
The same version of
APPLICATION is installed. All
older application/common
files (JSPs, JPOs, Tcl Program
Objects and JAR Files) will be
updated.
To not install any schema or programs, click No.
To install updated schema and programs, click Yes.
Common component schema is installed only if it is
newer than the existing common components. Common
component programs are installed only if they are the
same version or newer than the existing common
components. (The existing common component version
might be different than the existing application version.)
newer than the
installing version
A newer version of APPLICATION
is installed. You cannot
replace it with an older
version.
Click OK. No schema or programs are installed.
If you clicked Yes to install the application, the Setup program:
•
Copies installation scripts to the selected directory. While the files are copied, a
progress meter displays the current files being copied and the percent completed.
When the copy is complete, a file named installAPPNAME_VERSION.tcl is
created in the application’s directory. VERSION is the software version number
for the application, such as 10-6.
•
Launches MQL in the background and runs the install scripts.
•
Displays a progress meter, which shows you the files being run and the percent
completed. If you don’t see the progress meter, the installation isn’t working
correctly. Cancel the installation and rerun it, making sure you specify a valid
bootstrap file name.
It may take several minutes to run all the scripts. If you have an extensive database in
place, it could take much longer.
400
ENOVIA Live Collaboration Installation Guide
When complete, using a text editor such as WordPad, check the files named
installAPPNAME_VERSION.log and installAPPNAME_VERSION.err in your
installation directory to verify that the setup is complete, to get details about errors,
and to see exactly what items were added and/or modified. If errors were encountered,
the setup will have undone all changes (unless you chose not to undo the
transactions).
12. If you have backups of customized properties files, you’ll need to compare your
customized files with the new files from the updated version. Either update the new
files with your customizations or update your customized files with any new settings.
13. Continue with the next step in General Installation for ENOVIA Live Collaboration
Server.
Chapter 16: Installing ENOVIA Products
401
Upgrading ENOVIA Products
The installation programs for ENOVIA products recognize previously-installed versions
and make the necessary updates to upgrade the application to the new version. Refer to the
Program Directory for the given release for additional information on upgrading.
To install a new version of BPS or application over a previous version
1. Back up all files and the database.
a ) Back up the SERVER_INSTALL\STAGING\ematrix\ directory. It is
especially important to back up properties files to which you have made changes.
b ) Back up the SERVER_INSTALL\Apps\Framework\ directory.
c ) Back up the database instance.
2. If you want to install sample data for BPS, and have sample data installed from a
previous version of BPS, be aware that the installation scripts for sample data will not
overwrite business objects of the same name. This means that older version sample
data will not be updated, if changes were made in the newer revision.
3. Follow the instructions for Installing Business Process Services™ and Overview. See
the Program Directory for the specific version that you are installing for additional
instructions.
4. If you customized properties files, you’ll need to compare the backup copies of your
customized files with the new files from the updated version. Either update the new
files with your customizations or update your customized files with any new settings.
5. Continue with the next step in General Installation for ENOVIA Live Collaboration
Server.
402
ENOVIA Live Collaboration Installation Guide
Installation Troubleshooting
Symptom
Possible Remedy
Errors during application login from the
emxLogin page such as.
java.lang.ClassNotFoundException:
java.lang.Exception: Message:Compile error:
/usr/tmp/851aa48/
emxPropertyUtil_mxJPOHXUH8QAAAAEA
AAAB.java:21: cannot access java.lang.Object
bad class file: /usr/jdk1.5.0_02/jre/lib/
rt.jar(java/lang/Object.class)
class file has wrong version 49.0, should be
48.0
This exception usually this means that the JPO's were compiled on a higher
version of the JDK and the class files are attempting to be used by a lower
version of jdk.
All JPOs and JSPs should be compiled with the same version of the JDK as
the Application server will use. If you use the BPS Admin tool to run the
MQL compile command, this will ensure that the same JDK is used.
Also make sure that the MX_CLASSPATH and PATH information in
mxEnv.sh file are pointing to the correct JDK, and verify that the
Application server is indeed picking up this JDK when running in RIP
mode. Also check the JAVA_HOME in your environment.
Problems accessing the login or home page
Make sure web.xml has the correct login and home page properties, which
by default are as follows:
ematrix.login.page=/ematrix/emxLogin.jsp
ematrix.home.page=/ematrix/emxHome.jsp
On the application pages, you see tags for
strings instead of appropriate onscreen text
Make sure all StringResource.properties files are in STAGING/ematrix/
properties and that the classpath statements are correct for the Web server
(see the next remedy below).
Install error:
#0 System Error #1900014 Cannot open file
'c:matrixVERCoreAppsFrameworkCommonC
ommonCompatibilityCheck.tcl'
Be sure that MQL is not in “escape” mode. Run the following MQL
command to determine if escaping is enabled (you must log in as a
business administrator to do so):
MQL<> print escape;
If the system indicates that escape mode is on, turn it off before running the
install with:
MQL<> set escape off;
Refer to “Working with Workspace Objects” in the MQL Guide.
Chapter 16: Installing ENOVIA Products
403
Symptom
Possible Remedy
Install errors that indicate an administration
object couldn't be installed because it was not
unique or an administration object couldn't be
renamed because an object already exists with
that name.
A custom administration object may have been registered with the same
symbolic name as an object being installed/renamed. For example, you
may have registered administrative objects that you expect to be included
in the framework or you may have registered an object that coincidentally
has the same properties as a framework object.
To correct the problem so the installation proceeds correctly, you need to
unregister the added schema that is causing the collisions. To unregister
schema, use the eService Change Administration Property wizard, as
described in the Application Exchange Framework User’s Guide. Note that
there is no need to unregister added schema if it is not causing a collision
with installing schema.
After installing the framework, you can either use the framework’s object
or your custom object. Either way, you’ll probably have to make changes
to the one you use to include code and other characteristics from the one
you don't use. For considerations on which object to use and instructions,
see the “When There are Similarities Between the Framework and Your
Database” section of the Application Exchange Framework User’s Guide.
Do not register schema that you anticipate to be in an upcoming
release of the framework without explicit permission from ENOVIA
Framework Engineering. They must provide you with the registration
information.
Web server errors regarding problems finding
classes
404
The application server startup scripts that need matrix .jar files don’t refer
to .jar files directly. Instead they call ComputedClassPath. This only
requires that you have a valid bootstrap in place and that all the directories
that contain the .jar files you need are listed in MX_CLASSPATH. You
should only need to configure this if you have custom apps or custom JPOs
with non-Matrix dependencies. For more information, see
MX_CLASSPATH in Optional Variables in Chapter 9.
ENOVIA Live Collaboration Installation Guide
User Access to ENOVIA products
Refer to “Prerequisites” in the Program Directory for the given release for client-side
requirements.
Compile JSPs and
JPOs
When an application page (JSP) is first accessed it is compiled by the JVM in the
application server. In order to improve performance for the first user you should
pre-compile all the pages, as well as all the JPOs in the database. Use the table below to
determine how to precompile the JSPs with your application server.
Application Server
Precompile Command Information
Websphere
http://publib.boulder.ibm.com/infocenter/wasinfo/
index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/
rweb_jspbchtl.html
Weblogic
http://e-docs.bea.com/wls/docs70/jsp/reference.html#57794
tomcat
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/
jasper-howto.html#Web%20Application%20Compilation
Sun
http://docs.sun.com/source/817-2172/dwjsp.html#49427
All JPOs and JSPs should be compiled with the same version of the JDK as the
Application server will use. If you use the BPS Admin tool to run the MQL compile
command, this will ensure that the same JDK is used. To compile JPOs use the following
MQL command:
<mql> compile prog * force update;
File Text Searches
Some ENOVIA products allow you to search on text of a checked in file. To enable the full
text search functionality, you must select the Advanced Search option when installing
ENOVIA Live Collaboration.
Time/Date Format
For more information about configuring date/time formats for the framework and
ENOVIA products, refer to the “Setting Date Management Properties” section of the
ENOVIA Live Collaboration Administrator’s Guide.
Configuring File
Download for
Multi-Byte
Filenames on IE
To configure Internet Explorer to save files with filenames that have characters from any
language, you set the option that sends URLs as UTF-8.
To enable Internet Explorer to send URLs as UTF-8
1. In Internet Explorer, choose Tools > Internet Options.
Chapter 16: Installing ENOVIA Products
405
2. Select the Advanced tab.
3. Under the Browsing section, check Always send URLs as UTF-8.
4. Click OK.
5. Restart the browser.
Browser Screen
Resolution and
DPI settings
It is recommended that your browser machine uses a minimum resolution of 1024 x 768
with Small (or Normal) Font on the display settings. This ensures the display of large
calendar and table views.
In addition, most Windows/Linux systems are shipped with the display DPI set to 96.
Certain machines set to 120 have reported issues where some information is being cut-off
from their display. If you experience truncation (partial menus, etc.) in the Matrix UI and
have the resolution set to 120 DPI, it needs to be reset back to 96.
Accessing
ENOVIA products
To access ENOVIA products
1. Start the Application server.
If using WebLogic, start it from a console at the server, not from Telnet or other
remote service.
2. Start your Web browser.
3. Go to the http://HOSTNAME:[PORTNUMBER]/enovia/emxLogin.jsp.
The port number is only needed if you are using WebLogic.
4. At the login page, enter a User Name, such as the sample user, “Test Everything”,
and click Login.
For instructions on using the ENOVIA product, click the help button on any page.
406
ENOVIA Live Collaboration Installation Guide
Installing the ENOVIA Semiconductor
Accelerators
There are 4 ENOVIA Semiconductor Accelerators designed for the semiconductor
industry:
•
ENOVIA Synchronicity DesignSync Central- is an bundle that includes DesignSync
Data Manager and the Team Collaboration overlay. This application requires only
ENOVIA Live Collaboration (including Business Process Services) and ENOVIA
Synchronicity DesignSync Data manager.
•
ENOVIA Semiconductor Accelerator for Design to Manufacture - is an “overlay”
component that requires ENOVIA Engineering Central and ENOVIA Variant
Configuration Central.
•
ENOVIA Semiconductor Accelerator for Enterprise Project Management - is a
“bridge” component between ENOVIA Program Central and ENOVIA Synchronicity
DesignSync Data Manager and as such requires both DesignSync and Program
Central.
•
ENOVIA Semiconductor Accelerator for IP Management - is an “overlay” component
and requires ENOVIA Library Central. An optional integration to Synchronicity
DesignSync is included, but you can use the IP classification piece without
DesignSync. In addition, a Library Central taxonomy based on the VSIA standard is
also available. This is the same classification taxonomy implemented in
Synchronicity IP Gear; it is created by a script that must be run manually, as described
in the ENOVIA Library Central Administrator's Guide. A toolkit that provides partial
automation to enable migration of data/metadata from Synchronicity IP Gear is also
provided.
All of the accelerators can be enabled to interface with ENOVIA Synchronicity
DesignSync Data Manager and publish DesignSync files/folders as IP.
If you want to use HTTPS to communicate between DesignSync and the ENOVIA Live
Collaboration server, you must configure SSL on your DesignSync server and install the
digital certificate onto the ENOVIA Live Collaboration server. For more information, see
"DesignSync File Access" in the Application Development Guide.
Refer to the Program Directory for the given release for additional requirements.
Installing
DesignSync
Central
Installation involves the following steps
1. Installing Prerequisites in the correct order.
2. Installing the Team Collaboration Accelerator on UNIX or Installing the Team
Collaboration Accelerator on Windows.
3. Enabling source control access if you use Using ENOVIA Synchronicity DesignSync
Data Manager with ENOVIA Live Collaboration.
The war utility only needs to be run one time after the last Accelerator you plan to use is
installed. It does not need to be run after each Accelerator is installed.
Chapter 16: Installing ENOVIA Products
407
Prerequisites
You should install the SAME VERSION (such as V6R2011x) of the prerequisites in the
following order:
1. Live Collaboration, with its requirements of a supported application server and a
supported database. Be sure to include the schema for the application(s) you are using
when installing the Business Process Services component of the platform.
2. DesignSync on a different host machine than ENOVIA Live Collaboration.
Installing the Team Collaboration Accelerator on UNIX
The Team Collaboration Accelerator is supported for both UNIX and Windows platforms.
To install the Accelerator on Windows platforms, see Installing the Team Collaboration
Accelerator on Windows.
To install the Accelerator on UNIX
1. Copy the tar.gz file from the CD or the ENOVIA Download page to the distribution
directory. Refer to Mounting the CD if necessary. Use the -i option of the tar
command to avoid errors caused by long path names in the distribution that some
versions of tar can’t handle properly.
2. Unzip the tar.gz file to the distribution directory. Change to the directory named
“install” under the distribution directory and run the setup script as follows:
% cd /DISTRIB_DIR/install
% ./setup.TeamCollaboration
3. First you must choose the Installation Type from the following menu
Installing Team Collaboration
-----------------------------------------------------------Choose Installation Type
-----------------------------------------------------------1. Standard (Recommended)
2. Advanced
Select option (1-2) [1]? 1
Choose option 1 for the recommended Standard installation.
Choose option 2 to change the default settings for the prompts shown.
4. Next, choose the directories for the installation to use.
Choose Scripts Directories
-----------------------------------------------------------Enter build script directory path [<current_dir>]?
Enter Collaboration Platform Server installation directory
path?
The build script directory is the path where the scripts that build the application in
the database are placed. If you specify a directory that does not exist, the setup
program will create the directory. The default value is the current working directory.
The installation directory is the path that contains the ENOVIA Live Collaboration
Server installation. The default value is the current working directory.
408
ENOVIA Live Collaboration Installation Guide
5. Next you must tell the setup program where the ENOVIA Studio Modeling Platform
and where the Schema Installer are, as well as the user name and password for a user
that has Business and System Administrator privileges, such as creator. If the user has
no password, accept the default.
Specify Administration Parameters
-----------------------------------------------------------Enter directory path for Modeling Studio scripts [/usr/bin]?
Schema Installer Path
-----------------------------------------------------------Enter where schema installer exists [SERVERHOME/Apps/
Framework/<version>/SchemaInstaller]?
Enter Administrator user for Modeling Studio? [creator]?
Enter Administrator password ? [NONE]?
6. If you selected the Advanced install option, you are prompted for the following. The
Standard option accepts the defaults:
Advanced Install
-----------------------------------------------------------Do you wish to install to staging area only & Don’t update
database ? [no]?
Do you wish to undo the whole TeamCollaboration transaction
in case of failure [yes]?
Refer to Step 6. in the Installing ENOVIA products procedure for details on the
options.
7. The system checks to see if there is a previous version of the Team Collaboration
accelerator already installed. You will receive a message asking you to confirm that
you want to proceed. If you say yes, the system creates installation directories, copies
files to the directories, and builds the script files. A file named
installDesigntoSyncCentral_<VERSION>.tcl is created in Apps/TeamCollaboration/
<VERSION>. <VERSION> is the software version number, such as V6R2009x.
Then the setup program runs the installation scripts.
It may take several minutes to run all the scripts. If you have an extensive database in
place, it could take much longer.
When complete, you receive a message telling you if the setup encountered errors or
if setup is complete. If errors were encountered and you chose to undo transactions in
case of errors, the setup will have undone all changes. Check the files named
installTeamCollaboration_VERSION.log and
installTeamCollaboration_VERSION.err in your installation script directory to get
details about errors and to see exactly which items were added and/or modified. If
there are no errors, you may still want to review the log file to see if any items were
renamed to avoid name collisions.
8. The schema installer then creates the selected schema. If errors are encountered and
you chose to undo transactions in case of errors, the setup will undo all changes.
Check the files named installSchemaInstallerVERSION.log and
SchemaChangesMQLVERSION.log, as well as installFrameworkVERSION.log and
installFrameworkVERSION.err in your installation script directory to get details
Chapter 16: Installing ENOVIA Products
409
about errors and to see exactly what items were added and/or modified. If there are no
errors, you may still want to review the log files to see if any items were renamed to
avoid name collisions.
It may take several minutes to run all the scripts. If you have an extensive database in
place, it could take much longer.
9. If you have backups of customized properties files, compare your customized files
with the new files from the updated version. Either update the new files with your
customizations or update your customized files with any new settings.
10. Run the war utility and deploy the application. For information on deploying an
application, see Deploying the J2EE Archive File.
Installing the Team Collaboration Accelerator on Windows
The Accelerator is supported for both UNIX and Windows platforms. To install the
Accelerator on UNIX platforms, see Installing the Team Collaboration Accelerator on
UNIX.
To install the Accelerator on Windows
1. Log into Windows as a user with Administrator privileges.
2. Copy the .zip file from the CD or the ENOVIA Download page to a temporary
directory.
Please note that when transferring the .zip file from the internet, executable files may
be silently excluded when unzipping the file due to Windows security behaviour. To
prevent this from happening, before unzipping the file, right click in the file, select
Properties, and click Unblock.
3. Unzip the zip file and run setup.exe.
4. At the Welcome frame, click Next.
5. At the Installation Type prompt, check the type of install you want to perform:
Standard (Recommended)—Use this option for all standard installations. When you
choose this option, the installation will undo all transactions if it encounters problems.
You can still use the log files to find out what transactions were attempted and to
diagnose the errors. The standard installation also automatically runs the installation
scripts after copying files to the staging area, but does not install sample data.
Advanced—Choose this option only if you want to allow the installation to proceed
even if errors occur or if you only want to copy files to the staging area now and run
the installation scripts later. If you choose this option, an Advanced Options prompt
displays at the end of the installation wizard, allowing you to change these options
from their default. (See Step 11.)
Click Next.
6. The Script Path frame asks where to put the scripts that build the application in the
database. The default is the SERVER_INSTALL\Apps\TeamCollaboration\<version>\ directory.
You can select a different location, if desired, using the Browse button. After
specifying the directory, click Next.
7. On the JDK directory frame, enter the path to the JDK. Click Next.
410
ENOVIA Live Collaboration Installation Guide
8. On the Schema installer frame, enter the path to the schema installer.
9. At the Super User/Password frame, enter the User and Password for a user who has
Business and System Administrator privileges, such as creator. If the user has no
password, leave the Password box blank. Click Next.
10. Enter the name of the bootstrap file that points to the database in which you want to
install the schema. This bootstrap file must already exist in installation directory
where Supplier Central suite is installed. When you are done, click Next.
11. If you chose the Advanced install option, the Advanced Options prompt opens.
Choose the options you want based on the descriptions below.
Install to staging area only. Don’t update database—This option is unchecked by
default, which means after you complete the installation wizard, the installation
copies all files to the staging area and runs the installation scripts to update the
database. If you want to copy files to the staging area only and run the installation
scripts later, check this option. When you’re ready to run the installation scripts, run
the installFrameworkVERSION.tcl file, located in the framework directory. To create
log and error files, use the -stderr and -stdout MQL options.
Undo whole transaction in failures—This option is checked by default. Undoing all
transactions makes it easier for you to correct problems with the new installation
without introducing errors into your existing setup. The log file for the framework
lists all transactions even if they are undone. If the transactions are undone, you can
use the log file to identify the error and then re-run setup after correcting the problem.
You should only uncheck this option, allowing transactions to proceed even when
there are errors, if you know how to correct the error or if you are just installing for
testing purposes.
12. DesignSync Central is installed. When the schema portion of the install is reached,
you are asked if you want to continue. You must install the schema in order for the
accelerator to work. Click Yes to continue, No to cancel.
13. Next you are asked where custom schema files exist. Enter the path to your custom
schema directory.
It may take several minutes to run all the scripts. If you have an extensive database in
place, it could take much longer.
When complete, you receive a message telling you if the setup encountered errors or
if setup is complete. If errors were encountered, the setup will have undone all
changes (unless you chose not to undo the transactions). Using a text editor such as
WordPad, check the files named installTeamCollaboration_VERSION.log and
installTeamCollaboration_VERSION.err in your installation directory to get details
about errors and to see exactly what items were added and/or modified.
14. If you have backups of customized properties files, compare your customized files
with the new files from the updated version. Either update the new files with your
customizations or update your customized files with any new settings.
15. Run the war utility and deploy the application. For information on deploying an
application, see Deploying the J2EE Archive File.
Chapter 16: Installing ENOVIA Products
411
Using ENOVIA Synchronicity DesignSync Data Manager with
ENOVIA Live Collaboration
When you install DesignSync Central, you should enable DesignSync file access (DSFA).
This entails the following:
Installing the
Design to
Manufacture
Accelerator
•
Obtaining and installing a DSFA license key for each ENOVIA Live Collaboration
user that will use the DesignSync store. Refer to the DesignSync document,
INSTALL_LICENSE.txt for details.
•
Creating a DesignSync store. Refer to the ENOVIA Live Collaboration
Administrator’s Guide for details.
Installation involves the following steps
1. Installing Prerequisites in the correct order.
2. Installing the Design to Manufacture Accelerator on UNIX or Installing the Design to
Manufacture Accelerator on Windows.
3. Enabling source control access if you use Using ENOVIA Synchronicity DesignSync
Data Manager with ENOVIA Live Collaboration.
The war utility only needs to be run one time after the last Accelerator you plan to use is
installed. It does not need to be run after each Accelerator is installed.
Prerequisites
You should install the SAME VERSION (such as V6R2011x) of the prerequisites in the
following order:
1. ENOVIA Live Collaboration, with its requirements of a supported application server
and a supported database. Be sure to include the schema for the application(s) you are
using when installing the Business Process Services component of the platform.
2. Engineering Central.
3. Variant Configuration Central.
See Before Installing the applications for information on installing ENOVIA products.
You may install Engineering Central and Variant Configuration Central in either order,
but you must install Live Collaboration first, and all three applications must be installed
before installing the Accelerator.
Installing the Design to Manufacture Accelerator on UNIX
The Accelerator is supported for both UNIX and Windows platforms. To install the
Accelerator on Windows platforms, see Installing the Design to Manufacture Accelerator
on Windows.
412
ENOVIA Live Collaboration Installation Guide
To install the Accelerator on UNIX
1. Copy the tar.gz file from the CD or the ENOVIA Download page to the distribution
directory. Refer to Mounting the CD if necessary. Use the -i option of the tar
command to avoid errors caused by long path names in the distribution that some
versions of tar can’t handle properly.
2. Unzip the tar.gz file to the distribution directory. Change to the directory named
“install” under the distribution directory and run the setup script as follows:
% cd /DISTRIB_DIR/install
% ./setup.DesigntoManufacture
3. First you must choose the Installation Type from the following menu
Installing Design to Manufacture
-----------------------------------------------------------Choose Installation Type
-----------------------------------------------------------1. Standard (Recommended)
2. Advanced
Select option (1-2) [1]? 1
Choose option 1 for the recommended Standard installation.
Choose option 2 to change the default settings for the prompts.
4. Next, choose the directories for the installation to use.
Choose Scripts Directories
-----------------------------------------------------------Enter build script directory path [<current_dir>]?
Enter Collaboration Platform Server installation directory
path [<current_dir>]?
The build script directory is the path where the scripts that build the application in
the database are placed. If you specify a directory that does not exist, the setup
program will create the directory. The default value is the current working directory.
The installation directory is the path that contains the ENOVIA Live Collaboration
Server installation. The default value is the current working directory.
5. Next you must tell the setup program where the ENOVIA Studio Modeling Platform
and where the Schema Installer are, as well as the user name and password for a user
that has Business and System Administrator privileges, such as creator. If the user has
no password, accept the default.
Specify Administration Parameters
-----------------------------------------------------------Enter directory path for Modeling Studio scripts [/usr/bin]?
Schema Installer Path
-----------------------------------------------------------Enter where schema installer exists [SERVERHOME/Apps/
Framework/<version>/SchemaInstaller]?
Enter Administrator user for Modeling Studio? [creator]?
Enter Administrator password ? [NONE]?
6. If you selected the Advanced install option, you are prompted for the following. The
Standard option accepts the defaults:
Advanced Install
Chapter 16: Installing ENOVIA Products
413
-----------------------------------------------------------Do you wish to install to staging area only & Don’t update
database ? [no]?
Do you wish to undo the whole Semiconductor Accelerator for
Design to Manufacture transaction in case of failure [yes]?
Refer to Step 6. in the Installing ENOVIA products procedure for details on the
options.
7. The system checks to see if there is a version of the accelerator already installed. You
will receive a message asking you to confirm that you want to proceed. If you say yes,
the system creates installation directories, copies files to the directories, and builds the
script files. A file named installDesigntoManfacture_<VERSION>.tcl is created in
Apps/DesigntoManufacture/<VERSION>. <VERSION> is the software version
number, such as V6R2009x.
Then the setup program runs the installation scripts.
It may take several minutes to run all the scripts. If you have an extensive database in
place, it could take much longer.
When complete, you receive a message telling you if the setup encountered errors or
if setup is complete. If errors were encountered and you chose to undo transactions in
case of errors, the setup will have undone all changes. Check the files named
installDesigntoManufacture_VERSION.log and
installDesigntoManufacture_VERSION.err in your installation script directory to get
details about errors and to see exactly which items were added and/or modified. If
there are no errors, you may still want to review the log file to see if any items were
renamed to avoid name collisions.
8. The schema installer then creates the selected schema. If errors are encountered and
you chose to undo transactions in case of errors, the setup will undo all changes.
Check the files named installSchemaInstallerVERSION.log and
SchemaChangesMQLVERSION.log, as well as installFrameworkVERSION.log and
installFrameworkVERSION.err in your installation script directory to get details
about errors and to see exactly what items were added and/or modified. If there are no
errors, you may still want to review the log files to see if any items were renamed to
avoid name collisions.
It may take several minutes to run all the scripts. If you have an extensive database in
place, it could take much longer.
9. If you have backups of customized properties files, compare your customized files
with the new files from the updated version. Either update the new files with your
customizations or update your customized files with any new settings.
10. Run the war utility and deploy the application. For information on deploying an
application, see Deploying the J2EE Archive File.
Installing the Design to Manufacture Accelerator on Windows
The Accelerator is supported for both UNIX and Windows platforms. To install the
Accelerator on UNIX platforms, see Installing the Design to Manufacture Accelerator on
UNIX.
414
ENOVIA Live Collaboration Installation Guide
To install the Accelerator on Windows
1. Log into Windows as a user with Administrator privileges.
2. Copy the .zip file from the CD or the ENOVIA Download page to a temporary
directory.
Please note that when transferring the .zip file from the internet, executable files may
be silently excluded when unzipping the file due to Windows security behaviour. To
prevent this from happening, before unzipping the file, right click in the file, select
Properties, and click Unblock.
3. Unzip the zip file and run setup.exe.
4. At the Welcome frame, click Next.
5. At the Installation Type prompt, check the type of install you want to perform:
Standard (Recommended)—Use this option for all standard installations. When you
choose this option, the installation will undo all transactions if it encounters problems.
You can still use the log files to find out what transactions were attempted and to
diagnose the errors. The standard installation also automatically runs the installation
scripts after copying files to the staging area, but does not install sample data.
Advanced—Choose this option only if you want to allow the installation to proceed
even if errors occur or if you only want to copy files to the staging area now and run
the installation scripts later. If you choose this option, an Advanced Options prompt
displays at the end of the installation wizard, allowing you to change these options
from their default. (See Step 11.)
Click Next.
6. The Script Path frame asks where to put the scripts that build the application in the
database. The default is the SERVER_INSTALL\Apps\DesigntoManufacture\<version> directory.
You can select a different location, if desired, using the Browse button. After
specifying the directory, click Next.
7. On the JDK directory frame, enter the path to the JDK. Click Next.
8. On the Schema installer frame, enter the path to the schema installer.
9. At the Super User/Password frame, enter the User and Password for a user who has
Business and System Administrator privileges, such as creator. If the user has no
password, leave the Password box blank. Click Next.
10. Enter the name of the bootstrap file that points to the database in which you want to
install the schema. This bootstrap file must already exist in installation directory
where Supplier Central suite is installed. When you are done, click Next.
11. If you chose the Advanced install option, the Advanced Options prompt opens.
Choose the options you want based on the descriptions below.
Install to staging area only. Don’t update database—This option is unchecked by
default, which means after you complete the installation wizard, the installation
copies all files to the staging area and runs the installation scripts to update the
database. If you want to copy files to the staging area only and run the installation
scripts later, check this option. When you’re ready to run the installation scripts, run
the installFrameworkVERSION.tcl file, located in the framework directory. To create
log and error files, use the -stderr and -stdout MQL options.
Chapter 16: Installing ENOVIA Products
415
Undo whole transaction in failures—This option is checked by default. Undoing all
transactions makes it easier for you to correct problems with the new installation
without introducing errors into your existing setup. The log file for the framework
lists all transactions even if they are undone. If the transactions are undone, you can
use the log file to identify the error and then re-run setup after correcting the problem.
You should only uncheck this option, allowing transactions to proceed even when
there are errors, if you know how to correct the error or if you are just installing for
testing purposes.
12. The accelerator files are installed. When the schema portion of the install is reached,
you are asked if you want to continue. You must install the schema in order for the
accelerator to work. Click Yes to continue, No to cancel.
13. Next you are asked where custom schema files exist. Enter the path to your custom
schema directory.
It may take several minutes to run all the scripts. If you have an extensive database in
place, it could take much longer.
When complete, you receive a message telling you if the setup encountered errors or
if setup is complete. If errors were encountered, the setup will have undone all
changes (unless you chose not to undo the transactions). Using a text editor such as
WordPad, check the files named installDesigntoManufacture_VERSION.log and
installDesigntoManufacture_VERSION.err in your installation directory to get details
about errors and to see exactly what items were added and/or modified.
14. If you have backups of customized properties files, compare your customized files
with the new files from the updated version. Either update the new files with your
customizations or update your customized files with any new settings.
15. Run the war utility and deploy the application. For information on deploying an
application, see Deploying the J2EE Archive File.
Using ENOVIA Synchronicity DesignSync Data Manager with
ENOVIA Live Collaboration
When you install the Semiconductor Accelerator for Design to Manufacture, you can
optionally enable DesignSync file access (DSFA). This entails the following:
Installing the
Enterprise Project
Management
Accelerator
•
Obtaining and installing a DSFA license key for each ENOVIA Live Collaboration
user that will use the Designsync store. Refer to the DesignSync document,
INSTALL_LICENSE.txt for details.
•
Creating a DesignSync store. Refer to the ENOVIA Live Collaboration
Administrator’s Guide for details.
Installation involves the following steps
1. Installing Prerequisites in the correct order.
2. Installing the Enterprise Project Management Accelerator on UNIX or Installing the
Enterprise Project Management Accelerator on Windows.
3. Configuring EPM.
416
ENOVIA Live Collaboration Installation Guide
4. Enabling source control access if you use Using ENOVIA Synchronicity DesignSync
Data Manager with ENOVIA Live Collaboration.
The war utility only needs to be run one time after the last Accelerator you plan to use is
installed. It does not need to be run after each Accelerator is installed. You must run the
war utility a second time after the Web Service is compiled/generated. Refer to
Configuring EPM for details.
Prerequisites
You should install the SAME VERSION (such as V6R2011x) of the prerequisites in the
following order:
1. Live Collaboration, with its requirements of a supported application server and a
supported database. Be sure to include the schema for the application(s) you are using
when installing the Business Process Services component of the platform.
2. Program Central.
3. DesignSync on a different host machine than ENOVIA Live Collaboration.
You must install Live Collaboration before Program Central, but you may install
DesignSync at any time before configuring the accelerator.
Installing the Enterprise Project Management Accelerator on
UNIX
To install the Accelerator on UNIX
1. Copy the tar.gz file from the CD or the ENOVIA Download page to the distribution
directory. Refer to Mounting the CD if necessary. Use the -i option of the tar
command to avoid errors caused by long path names in the distribution that some
versions of tar can’t handle properly.
2. Unzip the tar.gz file to the distribution directory. Change to the directory named
“install” under the distribution directory and run the setup script as follows:
% cd /DISTRIB_DIR/install
% ./setup.EnterpriseProjectManagement
3. First you must choose the Installation Type from the following menu:
Installing Enterprise Project Management
-----------------------------------------------------------Choose Installation Type
-----------------------------------------------------------1. Standard (Recommended)
2. Advanced
Select option (1-2) [1]? 1
Choose option 1 for the recommended Standard installation.
Choose option 2 to change the default settings for the prompts.
4. Next, choose the directories for the installation to use.
Choose Scripts Directories
------------------------------------------------------------
Chapter 16: Installing ENOVIA Products
417
Enter build script directory path [<current_dir>]?
Enter Collaboration Platform Server installation directory
path [<current_dir>]?
The build script directory is the path where the scripts that build the application in
the database are placed. If you specify a directory that does not exist, the setup
program will create the directory. The default value is the current working directory.
The installation directory is the path that contains the ENOVIA Live Collaboration
Server installation. The default value is the current working directory.
5. Next you must tell the setup program where the ENOVIA Studio Modeling Platform
and where the Schema Installer are, as well as the user name and password for a user
that has Business and System Administrator privileges, such as creator. If the user has
no password, accept the default.
Specify Administration Parameters
-----------------------------------------------------------Enter directory path for Modeling Studio scripts [/usr/bin]?
Schema Installer Path
-----------------------------------------------------------Enter where schema installer exists [SERVERHOME/Apps/
Framework/<version>/SchemaInstaller]?
Enter Administrator user for Modeling Studio? [creator]?
Enter Administrator password ? [NONE]?
6. If you selected the Advanced install option, you are prompted for the following. The
Standard option accepts the defaults:
Advanced Install
-----------------------------------------------------------Do you wish to install to staging area only & Don’t update
database ? [no]?
Do you wish to undo the whole Semiconductor Accelerator for
Enterprise Project Management transaction in case of failure
[yes]?
Refer to Step 6. in the Installing ENOVIA products procedure for details on the
options.
7. The system checks to see if there is a version of the accelerator already installed. You
will receive a message asking you to confirm that you want to proceed. If you say yes,
the system creates installation directories, copies files to the directories, and builds the
script files. A file named installEnterpriseProjectManagement_<VERSION>.tcl is
created in Apps/EnterpriseProjectManagement/<VERSION>. <VERSION> is the
software version number, such as V6R2009x.
Then the setup program runs the installation scripts.
It may take several minutes to run all the scripts. If you have an extensive database in
place, it could take much longer.
When complete, you receive a message telling you if the setup encountered errors or
if setup is complete. If errors were encountered and you chose to undo transactions in
case of errors, the setup will have undone all changes. Check the files named
installEnterpriseProjectManagement_VERSION.log and
installEnterpriseProjectManagement_VERSION.err in your installation script
418
ENOVIA Live Collaboration Installation Guide
directory to get details about errors and to see exactly which items were added and/or
modified. If there are no errors, you may still want to review the log file to see if any
items were renamed to avoid name collisions.
8. The schema installer then creates the selected schema. If errors are encountered and
you chose to undo transactions in case of errors, the setup will undo all changes.
Check the files named installSchemaInstallerVERSION.log and
SchemaChangesMQLVERSION.log, as well as installFrameworkVERSION.log and
installFrameworkVERSION.err in your installation script directory to get details
about errors and to see exactly what items were added and/or modified. If there are no
errors, you may still want to review the log files to see if any items were renamed to
avoid name collisions.
It may take several minutes to run all the scripts. If you have an extensive database in
place, it could take much longer.
9. If you have backups of customized properties files, compare your customized files
with the new files from the updated version. Either update the new files with your
customizations or update your customized files with any new settings.
10. Run the war utility and deploy the application. For information on deploying an
application, see Deploying the J2EE Archive File.
After the EPM Web Server is compiled/generated, run the war utility again to update
the application. For more information, see Configuring EPM.
Installing the Enterprise Project Management Accelerator on
Windows
The Accelerator is supported for both UNIX and Windows platforms. To install the
Accelerator on UNIX platforms, see Installing the Enterprise Project Management
Accelerator on UNIX.
To install the Accelerator on Windows
1. Log into Windows as a user with Administrator privileges.
2. Copy the .zip file from the CD or the ENOVIA Download page to a temporary
directory.
Please note that when transferring the .zip file from the internet, executable files may
be silently excluded when unzipping the file due to Windows security behaviour. To
prevent this from happening, before unzipping the file, right click in the file, select
Properties, and click Unblock.
3. Unzip the zip file and run setup.exe.
4. At the Welcome frame, click Next.
5. At the Installation Type prompt, check the type of install you want to perform:
Standard (Recommended)—Use this option for all standard installations. When you
choose this option, the installation will undo all transactions if it encounters problems.
You can still use the log files to find out what transactions were attempted and to
diagnose the errors. The standard installation also automatically runs the installation
scripts after copying files to the staging area, but does not install sample data.
Chapter 16: Installing ENOVIA Products
419
Advanced—Choose this option only if you want to allow the installation to proceed
even if errors occur or if you only want to copy files to the staging area now and run
the installation scripts later. If you choose this option, an Advanced Options prompt
displays at the end of the installation wizard, allowing you to change these options
from their default. (See Step 11.)
Click Next.
6. The Script Path frame asks where to put the scripts that build the application in the
database. The default is the SERVER_INSTALL\Apps\EnterpriseProjectManagement\<version>\ directory.
You can select a different location, if desired, using the Browse button. After
specifying the directory, click Next.
7. On the JDK directory frame, enter the path to the JDK. Click Next.
8. On the Schema installer frame, enter the path to the schema installer.
9. At the Super User/Password frame, enter the User and Password for a user who has
Business and System Administrator privileges, such as creator. If the user has no
password, leave the Password box blank. Click Next.
10. Enter the name of the bootstrap file that points to the database in which you want to
install the schema. This bootstrap file must already exist in installation directory
where Supplier Central suite is installed. When you are done, click Next.
11. If you chose the Advanced install option, the Advanced Options prompt opens.
Choose the options you want based on the descriptions below.
Install to staging area only. Don’t update database—This option is unchecked by
default, which means after you complete the installation wizard, the installation
copies all files to the staging area and runs the installation scripts to update the
database. If you want to copy files to the staging area only and run the installation
scripts later, check this option. When you’re ready to run the installation scripts, run
the installFrameworkVERSION.tcl file, located in the framework directory. To create
log and error files, use the -stderr and -stdout MQL options.
Undo whole transaction in failures—This option is checked by default. Undoing all
transactions makes it easier for you to correct problems with the new installation
without introducing errors into your existing setup. The log file for the framework
lists all transactions even if they are undone. If the transactions are undone, you can
use the log file to identify the error and then re-run setup after correcting the problem.
You should only uncheck this option, allowing transactions to proceed even when
there are errors, if you know how to correct the error or if you are just installing for
testing purposes.
12. The accelerator files are installed. When the schema portion of the install is reached,
you are asked if you want to continue. You must install the schema in order for the
accelerator to work. Click Yes to continue, No to cancel.
13. Next you are asked where custom schema files exist. Enter the path to your custom
schema directory.
It may take several minutes to run all the scripts. If you have an extensive database in
place, it could take much longer.
When complete, you receive a message telling you if the setup encountered errors or
if setup is complete. If errors were encountered, the setup will have undone all
changes (unless you chose not to undo the transactions). Using a text editor such as
420
ENOVIA Live Collaboration Installation Guide
WordPad, check the files named
installEnterprisePerformanceManagement_VERSION.log and
installEnterprisePerformanceManagement_VERSION.err in your installation
directory to get details about errors and to see exactly what items were added and/or
modified.
14. If you have backups of customized properties files, compare your customized files
with the new files from the updated version. Either update the new files with your
customizations or update your customized files with any new settings.
15. Run the war utility and deploy the application. If you installed Enterprise Project
Management, you must deploy in exploded .war file format for this first deployment.
You will deploy again after the Web Service is compiled/generated, and at that time
you can generate a .war or .ear file if you prefer. Refer to Configuring EPM for
additional steps.
Configuring EPM
Once you have installed Enterprise Project Management and deployed the application in
exploded format, some configuration of the application, the application server, as well as
the DesignSync server, is required as described below.
To Generate the Webservice and Deploy EPM as a .war or .ear file
1. Set the MX_SERVICE_PATH and MX_SERVICE_ADMIN variables in the
enovia.ini files for the Live Collaboration Server and Studio Modeling Platform
(previously ematrix.ini and matrix.ini) (on Windows) or in mxEnv.sh, as well as
desktop startup scripts for MQL, Matrix, Business, and System (on UNIX):
For WebLogic on Windows:
MX_SERVICE_PATH=C:\RMIINSTALL\enovia\WEB-INF\classes
MX_SERVICE_ADMIN=http://HOST:PORT#/enovia
For WebLogic on UNIX:
MX_SERVICE_PATH=/EMATRIXRMI/distrib/enovia/WEB-INF/classes
export MX_SERVICE_PATH
MX_SERVICE_ADMIN=http://HOST:PORT#/enovia
export MX_SERVICE_ADMIN
For WebSphere on Windows:
MX_SERVICE_PATH=C:\WEBSPHEREINSTALL\AppServer\installedApps\
HOSTNAME\enovia\ematrix.ear\ematrix.war\WEB-INF\classes
MX_SERVICE_ADMIN=http://HOST:PORT#/enovia
For WebSphere on UNIX:
MX_SERVICE_PATH=/WEBSPHEREINSTALL/AppServer/installedApps/
HOSTNAME/enovia/STAGING/WEB-INF/classes
export MX_SERVICE_PATH
MX_SERVICE_ADMIN=http://HOST:PORT#/enovia
export MX_SERVICE_ADMIN
For Tomcat on Linux:
MX_SERVICE_PATH /app/jakarta-tomcat/webapps/enovia/WEB-INF/
classes
export MX_SERVICE_PATH
MX_SERVICE_ADMIN=http://HOST:PORT#/enovia
export MX_SERVICE_ADMIN
Chapter 16: Installing ENOVIA Products
421
2. Copy the MX_CLASSPATH setting from the enovia.ini file for the Live
Collaboration Server (previously ematrix.ini) into the enovia.ini file for the Studio
Modeling Platform (previously matrix.ini). (That is, overwrite the MX_CLASSPATH
setting in the enovia.ini file for the Studio Modeling Platform with the
MX_CLASSPATH setting from the enovia.ini file for the Live Collaboration Server.)
3. Login into Business Modeler as someone with privileges to modify Programs. Edit
the program named “emxICDocumentBase” to include the correct SyncServer user
name and password (the same as is used for accessing DesignSyncServer) in
getICUserCredentials:
String UserId = “YOURUSERNAME”;
String Pwd = “YOURPASSWORD”;
Also modify the variable MCS_ClientURI as appropriate for this server, such as:
http(s)://hostname:port#/enovia
Save the program.
Do NOT set the user/password in triggerICDeleteCheck (icUserID, icUserPassword);
these should be kept as empty strings.
4. Login into MQL and compile all JPOs (compile prog * force update).
After successful compilation, check that the .wsdl extension file was created in the
MX_SERVICE_PATH specified in the ini files/shell scripts.
HINT: You can log into the application as a user defined with the Administration Manager
role to run MQL commands, as described in the AEF User’s Guide.
5. Run the war utility and deploy the application.
6. When properly configured, the communication service responds by returning a
greeting when the following URL is submitted from a web browser:
http[s]://hostname:port#/ematrix/services/
EmxProgramCentralServices
ENOVIA Live Collaboration Configuration for EPM
1. Login into the application as someone with Person access. Create a person in
“Company Name” (or Your Company) for the SyncServer user with User Name and
Password the same as you added to the program in Step 3 above.
2. In Business Modeler, open the SyncServer person you added above. Add the “Global
User” Role to the person and save.
3. Back in the application, choose Reload Cache.
DesignSync Server Configuration for EPM
1. Enable RC note generation for tagging.
Bring up the Administer Server panel, either via SyncAdmin& or the
Server->Administer Server link from ProjectSync. Select Server Settings, check Tag,
and hit Apply.
2. Bridge user account.
Using ProjectSync, create a user with username and password that matches the
syncuser and syncpassword established in ENOVIA Live Collaboration.
3. SyncServer URLs and SSL support
422
ENOVIA Live Collaboration Installation Guide
Objects in ENOVIA Live Collaboration are linked to files checked into the
DesignSync Server via the bridge. The link is established in ENOVIA Live
Collaboration Server by providing an explicit URL (IC URL or Project IC URL) that
points to the SyncServer object. These URLs must be of the form sync://
hostname:port/Projects. Note that the format shown assumes non-secure
communication over a cleartext port. In order to utilize secure communication over an
SSL port, you must do the following:
a ) Configure both a cleartext and an SSL port during installation of your
SyncServer.
b ) Specify the secure sync protocol (syncs) and the SSL port in your IC or Project
IC URL, e.g., syncs://hostname:SSLport/Projects. You cannot simply specify the
cleartext port and depend on SSL redirection.
c ) Also configure ENOVIA Live Collaboration Server on an SSL port;
communication should be secure in both directions.
4. Establish the link from the DesignSync object back to the ENOVIA Live
Collaboration object.
When an IC File is created in EPM, the absolute or relative IC URL points to a file that is
or will be checked into DesignSync. At that time, a Policy is chosen for the object,
defining a state sequence. The object starts in the initial state of that policy lifecycle. In the
DesignSync server, that file must be checked in if it is not already. To establish the bridge
connection, the correct version of that file should be tagged in DesignSync with one of the
state names in the policy. After that, either side of the bridge may advance the state of the
object, either with a Lifecycle Promote in Program Central or by manually tagging it in
DesignSync with the next state. When promoting the object in Program Central from state
A to state B, the user is telling the system to apply the B tag to the set of files currently
tagged as A.
Using ENOVIA Synchronicity DesignSync Data Manager with
ENOVIA Live Collaboration
When you install any of the Semiconductor Accelerator components you can optionally
enable DesignSync file access (DSFA). This entails the following:
Installing the IP
Management
Accelerator
•
Obtaining and installing a DSFA license key for each ENOVIA Live Collaboration
user that will use the DesignSync store. Refer to the DesignSync document,
INSTALL_LICENSE.txt for details.
•
Creating a DesignSync store. Refer to the ENOVIA Live Collaboration
Administrator’s Guide for details.
•
If you have used the EPM component prior to version 10.7, you need to run a
migration script to convert the access of DesignSync files from a URL to the store/
server model. Refer to the Schema Reference Guide, Appendix A for details.
Installation involves the following steps
1. Installing Prerequisites in the correct order.
2. Installing the IP Management Accelerator on UNIX or Installing the IP Management
Accelerator on Windows.
Chapter 16: Installing ENOVIA Products
423
3. Enabling source control access if you use Using ENOVIA Synchronicity DesignSync
Data Manager with ENOVIA Live Collaboration.
The war utility only needs to be run one time after the last Accelerator you plan to use is
installed. It does not need to be run after each Accelerator is installed.
Prerequisites
You should install the SAME VERSION (such as V6R2011x) of the prerequisites in the
following order:
1. Live Collaboration, with its requirements of a supported application server and a
supported database. Be sure to include the schema for the application(s) you are using
when installing the Business Process Services component of the platform.
2. Library Central.
Installing the IP Management Accelerator on UNIX
The Accelerator is supported for both UNIX and Windows platforms. To install the
Accelerator on Windows platforms, see Installing the IP Management Accelerator on
Windows.
To install the Accelerator on UNIX
1. Copy the tar.gz file from the CD or the ENOVIA Download page to the distribution
directory. Refer to Mounting the CD if necessary. Use the -i option of the tar
command to avoid errors caused by long path names in the distribution that some
versions of tar can’t handle properly.
2. Unzip the tar.gz file to the distribution directory. Change to the directory named
“install” under the distribution directory and run the setup script as follows:
% cd /DISTRIB_DIR/install
% ./setup.IPManagement
3. First you must choose the Installation Type from the following menu
Installing IP Management
-----------------------------------------------------------Choose Installation Type
-----------------------------------------------------------1. Standard (Recommended)
2. Advanced
Select option (1-2) [1]? 1
Choose option 1 for the recommended Standard installation.
Choose option 2 to change the default settings for the prompts.
4. Next, choose the directories for the installation to use.
Choose Scripts Directories
-----------------------------------------------------------Enter build script directory path [<current_dir>]?
Enter Collaboration Platform Server installation directory
path [<current_dir>]?
424
ENOVIA Live Collaboration Installation Guide
The build script directory is the path where the scripts that build the application in
the database are placed. If you specify a directory that does not exist, the setup
program will create the directory. The default value is the current working directory.
The installation directory is the path that contains the ENOVIA Live Collaboration
Server installation. The default value is the current working directory.
5. Next you must tell the setup program where the ENOVIA Studio Modeling Platform
and where the Schema Installer are, as well as the user name and password for a user
that has Business and System Administrator privileges, such as creator. If the user has
no password, accept the default.
Specify Administration Parameters
-----------------------------------------------------------Enter directory path for Modeling Studio scripts [/usr/bin]?
Schema Installer Path
-----------------------------------------------------------Enter where schema installer exists [SERVERHOME/Apps/
Framework/<version>/SchemaInstaller]?
Enter Administrator user for Modeling Studio? [creator]?
Enter Administrator password ? [NONE]?
6. If you selected the Advanced install option, you are prompted for the following. The
Standard option accepts the defaults:
Advanced Install
-----------------------------------------------------------Do you wish to install to staging area only & Don’t update
database ? [no]?
Do you wish to undo the whole Semiconductor Accelerator for
IP Management transaction in case of failure [yes]?
Refer to Step 6. in the Installing ENOVIA products procedure for details on the
options.
7. The system checks to see if there is a version of the accelerator already installed. You
will receive a message asking you to confirm that you want to proceed. If you say yes,
the system creates installation directories, copies files to the directories, and builds the
script files. A file named installIPManagement_<VERSION>.tcl is created in Apps/
IPManagement/<VERSION>. <VERSION> is the software version number, such as
V6R2009x.
Then the setup program runs the installation scripts.
It may take several minutes to run all the scripts. If you have an extensive database in
place, it could take much longer.
When complete, you receive a message telling you if the setup encountered errors or
if setup is complete. If errors were encountered and you chose to undo transactions in
case of errors, the setup will have undone all changes. Check the files named
installIPManagement_VERSION.log and installIPManagemente_VERSION.err in
your installation script directory to get details about errors and to see exactly which
items were added and/or modified. If there are no errors, you may still want to review
the log file to see if any items were renamed to avoid name collisions.
Chapter 16: Installing ENOVIA Products
425
8. The schema installer then creates the selected schema. If errors are encountered and
you chose to undo transactions in case of errors, the setup will undo all changes.
Check the files named installSchemaInstallerVERSION.log and
SchemaChangesMQLVERSION.log, as well as installFrameworkVERSION.log and
installFrameworkVERSION.err in your installation script directory to get details
about errors and to see exactly what items were added and/or modified. If there are no
errors, you may still want to review the log files to see if any items were renamed to
avoid name collisions.
It may take several minutes to run all the scripts. If you have an extensive database in
place, it could take much longer.
9. If you have backups of customized properties files, compare your customized files
with the new files from the updated version. Either update the new files with your
customizations or update your customized files with any new settings.
10. Run the war utility and deploy the application. For information on deploying an
application, see Deploying the J2EE Archive File.
Installing the IP Management Accelerator on Windows
The Accelerator is supported for both UNIX and Windows platforms. To install the
Accelerator on UNIX platforms, see Installing the IP Management Accelerator on UNIX.
To install the Accelerator on Windows
1. Log into Windows as a user with Administrator privileges.
2. Copy the .zip file from the CD or the ENOVIA Download page to a temporary
directory.
Please note that when transferring the .zip file from the internet, executable files may
be silently excluded when unzipping the file due to Windows security behaviour. To
prevent this from happening, before unzipping the file, right click in the file, select
Properties, and click Unblock.
3. Unzip the zip file and run setup.exe.
4. At the Welcome frame, click Next.
5. At the Installation Type prompt, check the type of install you want to perform:
Standard (Recommended)—Use this option for all standard installations. When you
choose this option, the installation will undo all transactions if it encounters problems.
You can still use the log files to find out what transactions were attempted and to
diagnose the errors. The standard installation also automatically runs the installation
scripts after copying files to the staging area, but does not install sample data.
Advanced—Choose this option only if you want to allow the installation to proceed
even if errors occur or if you only want to copy files to the staging area now and run
the installation scripts later. If you choose this option, an Advanced Options prompt
displays at the end of the installation wizard, allowing you to change these options
from their default. (See Step 11.)
Click Next.
6. The Script Path frame asks where to put the scripts that build the application in the
database. The default is the SERVER_INSTALL\Apps\IPManagement\<version>\ directory.
426
ENOVIA Live Collaboration Installation Guide
You can select a different location, if desired, using the Browse button. After
specifying the directory, click Next.
7. On the JDK directory frame, enter the path to the JDK. Click Next.
8. On the Schema installer frame, enter the path to the schema installer.
9. At the Super User/Password frame, enter the User and Password for a user who has
Business and System Administrator privileges, such as creator. If the user has no
password, leave the Password box blank. Click Next.
10. Enter the name of the bootstrap file that points to the database in which you want to
install the schema. This bootstrap file must already exist in installation directory
where Supplier Central suite is installed. When you are done, click Next.
11. If you chose the Advanced install option, the Advanced Options prompt opens.
Choose the options you want based on the descriptions below.
Install to staging area only. Don’t update database—This option is unchecked by
default, which means after you complete the installation wizard, the installation
copies all files to the staging area and runs the installation scripts to update the
database. If you want to copy files to the staging area only and run the installation
scripts later, check this option. When you’re ready to run the installation scripts, run
the installFrameworkVERSION.tcl file, located in the framework directory. To create
log and error files, use the -stderr and -stdout MQL options.
Undo whole transaction in failures—This option is checked by default. Undoing all
transactions makes it easier for you to correct problems with the new installation
without introducing errors into your existing setup. The log file for the framework
lists all transactions even if they are undone. If the transactions are undone, you can
use the log file to identify the error and then re-run setup after correcting the problem.
You should only uncheck this option, allowing transactions to proceed even when
there are errors, if you know how to correct the error or if you are just installing for
testing purposes.
12. The accelerator files are installed. When the schema portion of the install is reached,
you are asked if you want to continue. You must install the schema in order for the
accelerator to work. Click Yes to continue, No to cancel.
13. Next you are asked where custom schema files exist. Enter the path to your custom
schema directory.
It may take several minutes to run all the scripts. If you have an extensive database in
place, it could take much longer.
When complete, you receive a message telling you if the setup encountered errors or
if setup is complete. If errors were encountered, the setup will have undone all
changes (unless you chose not to undo the transactions). Using a text editor such as
WordPad, check the files named installIPManagement_VERSION.log and
installIPManagement_VERSION.err in your installation directory to get details about
errors and to see exactly what items were added and/or modified.
14. If you have backups of customized properties files, compare your customized files
with the new files from the updated version. Either update the new files with your
customizations or update your customized files with any new settings.
15. Run the war utility and deploy the application. For information on deploying an
application, see Deploying the J2EE Archive File.
Chapter 16: Installing ENOVIA Products
427
Using ENOVIA Synchronicity DesignSync Data Manager with
ENOVIA Live Collaboration
When you install the Semiconductor Accelerator for IP Management, you can optionally
enable DesignSync file access (DSFA). This entails the following:
428
•
Obtaining and installing a DSFA license key for each ENOVIA Live Collaboration
user that will use the Designsync store. Refer to the DesignSync document,
INSTALL_LICENSE.txt for details.
•
Creating a DesignSync store. Refer to the ENOVIA Live Collaboration
Administrator’s Guide for details.
•
Enable the copy from DesignSync function. Refer to the ENOVIA Live Collaboration
Administrator’s Guide for details.
ENOVIA Live Collaboration Installation Guide
Uninstalling an Application, Service Pack or
Hot Fix
If required, full application builds, service packs and hot fixes can be entirely removed by
using the Uninstall program or the Add or Remove Programs option on Windows.
During installation of a full application build, service pack or hot fix, old application files
and administration data are automatically backed up so they can be used at the time of the
uninstall. Saved code is always available in the backup area for customized applications or
if something is not working. For example, if you upgrade from Business Process Services
version V6R2011 to V6R2011x and then uninstall Business Process Services, the program
will return the database and the SERVER_INSTALL\STAGING\ directory to V6R2011.
You will need to run the war utility again.
Applications and service packs must be uninstalled in the reverse order of how they were
installed. This ensures that all the application data and files are recovered from the backup
area in the proper order. For example, if you install Business Process Services, then
Engineering Central and then Program Central, you cannot uninstall Engineering Central
without first uninstalling Program Central. An error message will be generated.
Hot fixes can be uninstalled in any order. Hot fixes that are included in an installed service
pack cannot be uninstalled individually even if you previously installed the hot fixes
separately, since some code in the service pack could be dependent on a hot fix. They can
be uninstalled only by uninstalling the service pack.
The programs (JPO, tcl), UI components (commands, menus, forms, inquiries and tables)
and Web files (jsp, jar, inc, tld, gif, jpg) can be uninstalled by using the procedure
described below, only if they are using Business Process Services provided tcl routines.
Schema changes can only be uninstalled manually. The framework install generates a
document, SchemasChanges.mql, that lists all the MQL commands that were executed to
add/modify schema. This file can be used as a reference if you want to undo any schema
changes.
After you uninstall an application, UnInst.err and UnInst.log files are added to the
SERVER_INSTALL\Apps\APPNAME\<version>\Common\UnInstall\
directory. These files contain any errors that may have occured when recovering the
database from the backup area.
Uninstalling an
Application using
Uninstall Program
To uninstall an application, service pack or hot fix using the uninstall
program
1. Go to the Uninstall directory under the component you want to uninstall. For
example, if you are uninstalling the Engineering Central application, change to the
SERVER_INSTALL\Apps\EngineeringCentral\<version>\UnInstall\
directory.
2. From the appropriate UnInstall directory, type the following command:
For Windows: UnInst.cmd
For UNIX: UnInst.sh
When you uninstall an application on UNIX, you will not be asked for the super
username or password. The program uses the username and password used when the
application was installed.
Chapter 16: Installing ENOVIA Products
429
Uninstalling an
Application using
the Add or
Remove Programs
Option on
Windows
To uninstall an application, service pack or hot fix on Windows
1. From the Control Panel, navigate to the Add or Remove Programs option.
2. Locate the ENOVIA application you wish to uninstall and click Remove.
3. At the Super User/Password frame, enter the User and Password that has Business
and System Administrator privileges, such as creator. If the user has no password,
leave the Password box blank. Click Next.
When you uninstall an application using the Add or Remove Programs option in the
Control Panel, the following items will be removed: the Programs folder containing
TCL scripts, the application specific JPOs, and the application specific web pages
located in the STAGING/enovia folder. The following items will REMAIN: the
application’s installation directory, log files, and the Install folders under the Modules
folder.
Tracking
Customizations
During installation, when a file is modified, a backup of that file is stored in the
SERVER_INSTALL\Apps\APP_NAME\<version>\UI\Backup\ directory.
During uninstall, all of the backed-up directory is copied to web root. This makes web root
look the same as it was before the application was installed.
Service pack and hot fix distributions don’t include whole jar files with all the class files.
It includes only classes that were changed from the last major release. So during service
pack or hot fix installation, the classes in the distribution jar files are inserted into the jar
file under web root. This ensures that customized class files are not affected. Before
inserting classes, old class files are backed up and they are inserted during uninstall,
making the jar file the same as the original. Backing up only changes class files and not
the whole jar file.
430
ENOVIA Live Collaboration Installation Guide
17
Installing the ENOVIA Studio
Federation Toolkit
ENOVIA Studio Federation Toolkit Installation
The ENOVIA Studio Federation Toolkit is an additional option available for creating
Adaplets that can be used to model data from virtually any source as a collection of
ENOVIA objects. Once these Adaplets are in place, other ENOVIA products may be used
to access, create, and modify all the data in their enterprise, extended enterprise, or supply
chain.
When the toolkit is installed, the standard C++ Adaplet is provided. The standard Adaplet
may be configured in your database as-is to connect an alternate data source. Also
included is a zip file containing all the files you’ll need to write a Web service adaplet.
Refer to the Studio Federation Toolkit Adaplet Programming Guide and the Studio
Federation Toolkit Web Service Adaplet Programming Guide for more information.
The C++ ANSI compiler must be used when developing custom adaplets with the mxff
toolkit.
lnstalling the
Studio Federation
Toolkit on UNIX
To mount the CD-ROM and install the software
1. Copy the tar.gz file from the CD or the ENOVIA Download page to the distribution
directory. Refer to Mounting the CD in Chapter 7 if necessary.
431
2. Unzip the tar.gz file to the distribution directory. Change to the directory named “api/
install” under the distribution directory and run the setup script as follows:
% cd /DISTRIB_DIR/api/install
% ./setup
The following Menu is displayed:
Primary Setup Menu for PLATFORM on HOSTNAME as username
1. Setup ENOVIA Platform Adaplet Toolkit Installation
2. Remove ENOVIA Platform Adaplet Toolkit Installation
9. Exit Setup
3. Select Option 2 to perform the automatic setup of the Studio Federation Toolkit.
4. Setup prompts for the installation and distribution path:
Enter distribution directory path [ ]?
Enter directory for Installation [ ]?
5. The API directory structure is created in the installation directory, and then the Studio
Federation Toolkit files are copied into the appropriate directory.
The toolkit should now be successfully installed. Refer to the Studio Federation Toolkit
Adaplet Programming Guide for more information on the toolkit.
Installing the
Studio Federation
Toolkit on
Windows
To install the Studio Federation Toolkit on Windows
1. Log into Windows as a person with Administrator privileges.
2. Copy the .zip file from the CD or the ENOVIA Download page to a temporary
directory.
Please note that when transferring the .zip file from the internet, executable files may
be silently excluded when unzipping the file due to Windows security behaviour. To
prevent this from happening, before unzipping the file, right click in the file, select
Properties, and click Unblock.
3. Unzip the zip file and run setup.exe.
4. Setup first looks for an existing installation. If one is found, it asks if you wish to
install to a new location. The path may be modified as required.
5. Setup then creates the directory structure for the toolkit. Refer to Installation Results
for an understanding of the structure of the Studio Federation Toolkit.
6. The setup application then copies the interface and header files into the appropriate
directories.
The Studio Federation Toolkit should now be successfully installed. Refer to the Studio
Federation Toolkit Adaplet Programming Guide for more information.
432
ENOVIA Live Collaboration Installation Guide
Installation Results
When the ENOVIA Studio Federation Toolkit is installed on Windows, the following
directories are added:
SERVER_INSTALL
| ..... API
| .......lib
Contains mxff runtime requirements. This directory
|
is also installed with the Studio Modeling Platform
|
applications and the Live Collaboration server.
| .......mxff
Contains all the .h, .c, sample map, and .gif files.
| .......ETC
| .......service_mxff.zip Contains the WebService adaplet files.
A similar structure is created on UNIX.
Chapter 17: Installing the ENOVIA Studio Federation Toolkit
433
434
ENOVIA Live Collaboration Installation Guide
18
Installing the Studio
Customization Toolkit
Studio Customization Toolkit Installation
The Studio Customization Toolkit can be used for creating client-side “power” Java
applications that are downloaded to a client machine at runtime, as well as server-side Java
programs such as servlets or JSP applications. Studio Customization Toolkit programs are
compiled against the Live Collaboration Server’s jar file, so a Live Collaboration server is
required for both using the Studio Customization Toolkit and running the programs you
create.
Application development may not require Studio Customization Toolkit/Java
programming. You may be able to meet your requirements by using the ENOVIA
Business Process Services’ configurable components. Refer to the Application
Development Guide for more information.
The Studio Customization Toolkit provides documentation on the java classes, source
code and sample files.
Installing the
Studio
Customization
Toolkit on UNIX
To install the Studio Customization Toolkits on UNIX
1. Copy the tar.gz file from the CD or the ENOVIA Download page to the distribution
directory. Refer to Mounting the CD in Chapter 7 if necessary.
435
2. Unzip the tar.gz file to the distribution directory. Change to the directory named
“install” under the distribution directory and run the setup script as follows:
% cd /DISTRIB_DIR/install
% ./setup
The following Menu is displayed:
Primary Setup Menu for PLATFORM on HOSTNAME as username
1. Setup ENOVIA Collaboration Platform ADK
2. Remove ENOVIA Collaboration Platform ADK
9. Return to Primary Setup Menu
3. Select Option 1 to perform the automatic setup of the Studio Customization Toolkit
directory structure.
4. Setup prompts for the distribution and installation paths.
Perform automatic setup of ENOVIA Collaboration Platform ADK for
PLATFORM on HOST as username
----------------------------------------------Enter distribution directory path [ ]?
Enter installation directory path [ ]?
5. A \enovia directory is now created under the directory entered above. The Studio
Customization Toolkit directory structure is created within this directory. Refer to The
Server’s Directory Structure for an understanding of the structure of the Studio
Customization Toolkit.
6. The setup application then copies the Studio Customization Toolkit files into the
appropriate directories.
The Studio Customization Toolkit should now be successfully installed. Refer to the
online Studio Customization Toolkit Programmer’s Reference and the Application
Development Guide for more information on the Studio Customization Toolkit.
Installing the
Studio
Customization
Toolkit on
Windows
To install the Studio Customization Toolkit on Windows
1. Log into Windows as a person with Administrator privileges.
2. Copy the .zip file from the CD or the ENOVIA Download page to a temporary
directory.
Please note that when transferring the .zip file from the internet, executable files may
be silently excluded when unzipping the file due to Windows security behaviour. To
prevent this from happening, before unzipping the file, right click in the file, select
Properties, and click Unblock.
3. Unzip the zip file and run setup.exe.
4. At the Welcome frame, click Next.
5. Setup asks you to choose the options that you would like to install. Check either or
both of the following:
•
Java ADK files
•
C++ ADK files
6. Setup then asks for the Studio Customization Toolkit install directory. You can accept
the default directory or click the Browse button to choose another directory.
436
ENOVIA Live Collaboration Installation Guide
7. Now Setup asks you to review all the settings you have made, and gives you the
opportunity to make any changes by selecting Back and re-entering the information.
The Studio Customization Toolkit directory structure is created within the specified
directory. Refer to The Server’s Directory Structure for an understanding of the
structure of the Studio Customization Toolkit. The setup application then copies the
files into the appropriate directories.
The Studio Customization Toolkit should now be successfully installed. Refer to the
online Studio Customization Toolkit Programmer’s Reference and the Application
Development Guide for more information on the Studio Customization Toolkit.
Chapter 18: Installing the Studio Customization Toolkit
437
The Server’s Directory Structure
When the Studio Customization Toolkit is installed on Windows, the following directories
are added to the Live Collaboration server installation directory:
•
SERVER_INSTALL\Matrix\cxx\ which contains the C++ Studio Customization
Toolkit files (ematrixmql).
•
SERVER_INSTALL\Matrix\java\ which contains the Java docs.
A similar structure is created on UNIX.
438
ENOVIA Live Collaboration Installation Guide
19
Configuring a Japanese
Web Environment
Overview
The procedures and information in this chapter should be used to configure and deploy the
ENOVIA Live Collaboration Server in Japanese. Other similar instructions found
throughout this guide should not be used in place of the specific information given in this
chapter. You will need to use the rest of this guide for other functions not described in this
chapter, as well as for valuable reference information on the settings and procedures
described in this chapter.
Before you can configure and deploy the ENOVIA Live Collaboration Server in Japanese,
install the server and it’s prerequisites and requirements as described in Preparing to
Install the ENOVIA Live Collaboration Server in Chapter 8.
In addition to configuring and deploying the ENOVIA Live Collaboration Server, see
Configuring Additional Settings for Japanese for other important settings that need to be
configured for Japanese.
The procedures and instructions in this chapter are intended only for Shift_JIS
environments on Japanese operating systems.
439
Configuring the ENOVIA Live Collaboration
Server for use in Japanese
After you install the ENOVIA Live Collaboration Server, the environment is set with the
same variables as needed for other ENOVIA Live Collaboration clients. Use the
instructions to configure the settings described below. See Configuring the ENOVIA Live
Collaboration Server in Chapter 8 to set additional variables not described here.
These settings apply to Shift_JIS environments on Japanese operating systems.
On UNIX
Language Settings
To configure your system to use the Japanese language
1. Modify the LANG setting for the operating system.
For Solaris use: ja_JP.PCK
For RHEL/SuSE use: ja_JP.SJIS
On UNIX, the NLS_LANG value is set in the mxEnv.sh file in SERVERHOME/scripts/.
2. In the mxEnv.sh file, change the line:
NLS_LANG=_UTF8
to:
NLS_LANG=JAPANESE_JAPAN.JA16SJIS
3. Next, set the character set to Shift_JIS:
MX_CHARSET=Shift_JIS
4. Finally, add the following lines:
<mxEnv.sh>
LANG=ja_JP.PCK
export LANG
LC_TIME=C
export LC_TIME
Date and Time Format Settings
To configure the date and time format for your system for use in Japanese
1. Add the following lines to mxEnv.sh in the SERVERHOME/scripts/ directory:
<mxEnv.sh>
MX_NORMAL_DATETIME_FORMAT="moy/dom/yr4 h12:min:sec +mer"
export MX_NORMAL_DATETIME_FORMAT
For more information on how the date and time format settings affect your system, see
Configuring Date and Time Formats.
440
ENOVIA Live Collaboration Installation Guide
TCL Settings
To configure TCL settings for use in Japanese
1. Create the links for libtcl8.5.so and libtk8.5.so libraries in SERVERHOME/
<platform>/code/lib/ (LD_LIBRARY_PATH):
% cd /SERVERHOME/<platform>/code/lib
% ln -s/SERVERHOME/<platform>/code/bin/libtcl8.5.so
libtcl8.5.so
% ln -s/SERVERHOME/<platform>/code/bin/libtk8.5.so libtk8.5.so
The Tcl 8.5.7 library is installed and configured as the default version of Tcl with
installation of the desktop applications. For more information on TCL support, see Tcl
Support.
Additional Server Settings
1. Verify that the following lines are in mxEnv.sh in the SERVERHOME/scripts/
directory:
<mxEnv.sh>
MX_TRIGGER_RECURSION_DETECTION=SIGNATURE
export MX_TRIGGER_RECURSION_DETECTION
MX_ALLOW_DYNAMIC_COMPILATION=true
export MX_ALLOW_DYNAMIC_COMPILATION
On Windows
Language Settings
On Windows, you do not need to configure language settings since Japanese is the default
setting in a Shift_JIS environment. However, you should verify that the NLS_LANG value is
set to JAPANESE_JAPAN.JA16SJIS in the Windows Registry, in case the value was
previously modified to use a different language. The registry key to verify is
HKEY_LOCAL_MACHINE/Software/Oracle/NLS_LANG.
Date and Time Format Settings
To configure the date and time format for your system for use in Japanese
1. Add the following lines to enovia.ini (previously ematrix.ini) in the
SERVER_INSTALL\<platform>\code\bin\ directory:
<enovia.ini>
MX_NORMAL_DATETIME_FORMAT=moy/dom/yr4 h12:min:sec +mer
The intel_a platform is used for 32-bit Windows installations, while the win_b64
platform is used for 64-bit Windows installations.
For more information on how the date and time format settings affect your system, see
Configuring Date and Time Formats.
Chapter 19: Configuring a Japanese Web Environment
441
Additional Server Settings
1. Verify that the following is in enovia.ini (previously ematrix.ini) in the
SERVER_INSTALL\<platform>\code\bin\ directory:
<enovia.ini>
MX_TRIGGER_RECURSION_DETECTION=SIGNATURE
MX_ALLOW_DYNAMIC_COMPILATION=true
2. Verify that the folder specified for TMPDIR=C:\temp in enovia.ini (previously
ematrix.ini) exists. If not, create the folder or change the destination path of
“TMPDIR.”
Tomcat Language
Settings
To configure Tomcat for use in Japanese
1. Set csWindows31J for contentType of JSP in emxContentTypeInclude.inc.
D:\Tomcat 5.5\webapps\ematrix\emxContentTypeInclude.inc
<%@page contentType="text/html; charset=csWindows31J"%>
2. Add the following parameters in web.xml:
D:\Tomcat 5.5\webapps\ematrix\WEB-INF\web.xml
<!-- TomCat csWindows31J setting -->
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>com.matrixone.servlet.SetCharacterEncodingFilter<
/filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>csWindows31J</param-value>
</init-param>
</filter>
<!-- TomCat csWindows31J filter mapping -->
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3. Add the attribute useBodyEncodingForURI=”true” to Connector element in
server.xml.
D:\Tomcat 5.5\conf\server.xml
<Connector
port="7070" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
useBodyEncodingForURI="true" UIREncoding=”Shift_JIS”
/>
442
ENOVIA Live Collaboration Installation Guide
Configuring Additional Settings for Japanese
The settings described in this section should be configured for Japanese environments.
Displaying
Japanese using
KavaChart
To display Japanese contents using KavaChart, make the following modifications to
emxProgramCentral.properties:
On UNIX
1. In the emxProgramCentral.properties file in SERVERHOME/managed/
properties/, change:
<emxProgramCentral.properties>
#Kava Chart Fonts.
eServiceProgramCentral.kcTitleFont = Monospaced
eServiceProgramCentral.kcLavelFont = Monospaced
eServiceProgramCentral.kcLegendFont = Monospaced
On Windows
1. In the emxProgramCentral.properties file in
SERVER_INSTALL\managed\properties\, change:
<emxProgramCentral.properties>
#Kava Chart Fonts.
eServiceProgramCentral.kcTitleFont = \uff2d\uff33
\u30b4\u30b7\u30c3\u30af
eServiceProgramCentral.kcLavelFont = \uff2d\uff33
\u30b4\u30b7\u30c3\u30af
eServiceProgramCentral.kcLegendFont = \uff2d\uff33
\u30b4\u30b7\u30c3\u30af
Creating EBOM
Markups
To create EBOM markups using parts with names in Japanese, you must set the browser
language to “ja” (Japanese).
1. In emxEngineeringCentral.properties, change:
emxEngineeringCentral.ebomMarkUpCharset=UTF-8
to:
emxEngineeringCentral.ebomMarkUpCharset=Shift_JIS
2. Then change:
emxEngineeringCentral.EBOMMarkup.Run_Conversion_Code = false
to:
emxEngineeringCentral.EBOMMarkup.Run_Conversion_Code = true
Chapter 19: Configuring a Japanese Web Environment
443
NLS_LANG setting
in the Matrix client
To display Japanese in the Matrix client on UNIX
Change the NLS_LANG setting in SERVERHOME/scripts/mxEnv.sh from:
NLS_LANG=_UTF8
to:
NLS_LANG=JAPANESE_JAPAN.JA16SJIS
To display Japanese in the Matrix client on Windows
Set the NLS_LANG property to Japanese using one of the following procedures:
444
•
In the Windows Registry, under HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE,
set NLS_LANG=JAPANESE_JAPAN.JA16SJIS.
•
Set the language to Japanese as a system environment variable by setting the
NLS_LANG variable to JAPANESE_JAPAN.JA16SJIS in the system
environment.
ENOVIA Live Collaboration Installation Guide
Configuring the Application Server for use in
Japanese
Before you can use your application server to deploy the J2EE application, you must
configure the application server for the Japanese language. The settings listed in this
section apply to supported WebLogic and Websphere application servers.
WebLogic Servers
Language Settings
The Japanese language setting configured in Configuring the ENOVIA Live Collaboration
Server for use in Japanese is used.
Date and Time Format Settings
To configure the date and time format for your application server for use in
Japanese
1. Verify that the following are in the emxSystem.properties file in SERVERHOME/
STAGING/ematrix/properties (UNIX), or
SERVER_INSTALL\STAGING\ematrix\properties\ (Windows):
<emxSystem.properties>
eServiceSuites.eMatrixDateFormat = MM/dd/yyyy hh:mm:ss a
eServiceSuites.eMatrixInputDateFormat = MM/dd/yyyy hh:mm:ss a
Additionally, after you build the J2EE archive file, you should verify the contents of your
emxSystem.properties file again.
Weblogic.xml Settings
Before building the J2EE archive file, you must define each JSP parameter (such as
inputCharset) in the weblogic.xml file located in
SERVER_INSTALL\ematrixwarutil\.
For example:
<charset-params>
<input-charset>
<resource-path>
/*
</resource-path>
<java-charset-name>
csWindows31J
</java-charset-name>
</input-charset>
</charset-params>
For more information on configuring the weblogic.xml file, see: http://edocs.beasys.co.jp/
e-docs/wls61/webapp/weblogic_xml.html
Chapter 19: Configuring a Japanese Web Environment
445
WebSphere
Servers
Language Settings
To configure your application server to use the Japanese language
1. From the admin console, navigate to Server > Application Server > Select Server >
Process Definition and click Java Virtual Machine.
2. Add the following parameters for the JVM arguments:
-Dfile.encoding=csWindows31J
-Ddefault.client.encoding=csWindows31J
To activate your changes, save them in the master configuration and restart the server.
446
ENOVIA Live Collaboration Installation Guide
Modifying J2EE Settings for the Japanese
Language
Before you run the war utility, you can modify the Web.xml or ematrix.xml files to
configure the web environment for your J2EE web application. For details, see Web.xml in
Chapter 10 or ematrix.xml in Chapter 10. You must configure the following settings before
running the war utility in Japanese.
In web.xml
Add the following lines before creating J2EE archive files in the web.xml file located in
SERVER_INSTALL\ematrixwarutil\:
<context-param id="ContextParam_11">
<param-name>ematrix.encoding</param-name>
<param-value> csWindows31J</param-value>
</context-param>
Content Type
Setting
The following changes are required for the content type setting:
1. In the emxContentTypeInclude.inc file in SERVERHOME/STAGING/ematrix/,
change:
<%@page contentType="text/html; charset=UTF-8"%>
to
<%@page contentType="text/html; charset=csWindows31J"%>
This is required for JSPs.
2. In the emxUICore.js file in SERVERHOME/STAGING/ematrix/common/
scripts/, replace all occurrences of UTF-8 with csWindows31J.
3. In all XSL files, replace UTF-8 with csWindows31J. For example, change:
<xsl:output method="xml" version="1.0" encoding="UTF-8"
indent="no"/>
to:
<xsl:output method="xml" version="1.0" encoding="csWindows31J"
indent="no"/>
Style Sheet
Settings
Make the following changes in SERVERHOME/STAGING/ematrix/common/
scripts/:
emxCreateBody.xsl
emxCreateFooter.xsl
emxCreateHeader.xsl
emxCreatePage.xsl
emxFreezePaneCSV.xsl
emxFreezePaneExcelHTML.xsl
emxFreezePaneHeader.xsl
emxFreezePaneJustRows.xsl
Chapter 19: Configuring a Japanese Web Environment
447
emxFreezePaneLayout.xsl
emxFreezePaneTable.xsl
emxFreezePanePrinterFriendly.xsl
emxFreezePaneRowsWithRoot.xsl
emxFreezePaneSorter.xsl
emxFreezePaneTableBody.xsl
emxFreezePaneTableFragment.xsl
emxFreezePaneTree.xsl
emxFreezePaneTreeBody.xsl
emxFreezePaneTreeFragment.xsl
emxSearchSetFormArray.xsl
emxSearchSetParams.xsl
emxUITypeChooserTree.xsl
emxUITypeChooserType.xsl
emxUITypeChooserTypeChildren.xsl
Change:
<xsl:output method="html" version="1.0" encoding="UTF-8"
indent="XXX"/>>
to:
<xsl:output method="html" version="1.0" encoding="csWindows31J"
indent="XXX"/>
448
ENOVIA Live Collaboration Installation Guide
Building the J2EE Archive File in Japanese
This section describes how to run the war utility on a UNIX and Windows platform using
Japanese. For additional reference information, see Chapter 10, Deploying J2EE.
Running the war
utility on UNIX
To run the war utility for ENOVIA Live Collaboration Server installations on
UNIX
1. Stop the ENOVIA Live Collaboration Server processes.
2. Change directory to SERVERHOME/ematrixwarutil/.
3. Run ./war_setup.
4. Enter the distribution directory path.
This is usually the ematrixwarutil directory.
5. Enter the ENOVIA Live Collaboration Server installation directory path.
This is the path where you installed the ENOVIA Live Collaboration Server.
6. Enter the name of your web application.
This is the web application name known to your J2EE server.
7. Enter the directory where the Java Development Kit is installed.
You should see a message that the system is copying files.
When finished, an EAR file is created and saved under the SERVERHOME/
distrib/ directory.
Running the WAR
utility on Windows
To run the WAR utility for ENOVIA Live Collaboration Server installations on
Windows
1. Stop the ENOVIA Live Collaboration Server processes.
2. Change directory to SERVER_INSTALL\ematrixwarutil\.
3. Run war_setup.bat.
4. On the first screen, change the installation directory or press Enter to accept the
default.
5. Type your Web Application Name, or press Enter to accept the default (“enovia”).
6. Change the directory where your Java Development Kit is installed, or press Enter to
accept the default.
You should see a message stating that the system is generating enovia.ear and
enovia.war files.
When the process is finished, you see another message stating that EAR and WAR
files have been created in the SERVER_INSTALL\distrib\ directory.
7. Press any key to end the setup process and dismiss the console window.
Chapter 19: Configuring a Japanese Web Environment
449
Deploying the J2EE Archive File in Japanese
After you run the war utility to create the J2EE archive files, you use the J2EE application
server to deploy it.
Choose the deployment procedure below for your J2EE server and platform.
An application server can only deploy one ENOVIA .war file (ematrix.war for example).
You can install as many ENOVIA applications as you would like before you run the war
utility to create the .war file. If you decide to install a second set of ENOVIA applications,
you cannot use this application server to deploy this second .war file. In order to deploy
this second .war file, you must install the ENOVIA Live Collaboration server (with an
application server) again and use this second application server to deploy it. Other
non-ENOVIA .war files can be deployed by an application server that has already
deployed an ENOVIA .war file.
Deploying on
WebLogic
To deploy using WebLogic (UNIX and Windows)
1. Start your WebLogic server.
2. Start a browser and access http://SERVERNAME:PORTNUMBER/console to
open the admin console.
3. Type your Username and Password, then click Log In.
4. On the main screen, click Lock & Edit > Deployments and then click Install under
the Control tab.
5. Click the link for your machine name.
6. Next, click on the folder. On the next screen, navigate to the location of the EAR file.
Select the web application (.ear file) to deploy and click Next.
7. Select Install this deployment as an application and click Next.
8. Verify the default settings and click Next.
9. Verify the deployment status and click Finish.
10. When the deployment is finished, the registered web application is displayed. Click
Save.
A message is shown stating “Settings updated successfully.”
11. Next, click Activate Changes.
A message is shown stating “All changes have been activated. No restarts are
necessary.”
12. Click Deployments under Domain Structure.
13. In the Control tab, select the checkbox for the web application and click Start.
14. Select Servicing all requests from the drop-down list and click Yes to continue.
A message is shown stating “Start requests have been sent to the selected
Deployments.”
15. Click Release Configuration.
The Lock & Edit button is enabled. This is the default setting of the button.
450
ENOVIA Live Collaboration Installation Guide
16. Finally, access http://HOSTNAME:PORTNUMBER/enovia/emxLogin.jsp.
If the web application has been successfully deployed, the Login window appears.
Deploying on
WebSphere
To deploy using WebSphere (UNIX and Windows)
1. Start your WebSphere server.
The shell command for starting WebSphere is stored in:
../IBM/WebSphere/AppServer/bin/
2. Start a browser and access http://SERVERNAME:PORTNAME/ibm/console
to open the admin console.
Login so that the changes you make are attributed to you.
3. Click Applications > Install New Application.
4. Select the web application (.ear file) to deploy and click Next.
5. Verify all the settings shown and continue to click Next until you reach the summary
page. Then click Finish.
The registration process begins.
6. When the process is finished, a message stating “Application <name> was
successfully installed” is displayed. Click Save in Directly Save to Master
Configuration.
7. Click Enterprise Applications and select the web application. Click Start.
The registered web application starts
8. Finally, access http://HOSTNAME:PORTNUMBER/enovia/emxLogin.jsp.
If the web application has been successfully deployed, the Login window appears.
Deploying on
Tomcat
There are multiple procedures for deploying the .war file on Tomcat. One of those
procedures is given below.
To deploy using Tomcat on UNIX
1. Stop any Tomcat processes.
2. If a previous version is installed, delete the ematrix folder including the ematrix.war
file from the /app/tomcat_install/webapps directory.
3. Clean up the cache by deleting the ematrix folder from /app/tomcat_install/
work/Catalina/localhost.
4. Copy the new ematrix.war file to /app/tomcat_install/webapps.
5. Login as root at DOS window and run ./startup.sh.
6. Finally, a notification appears when the deployment successfully completes.
To deploy using Tomcat on Windows
1. Stop any Tomcat processes.
2. If a previous version is installed, delete the ematrix folder including the ematrix.war
file from the /app/tomcat_install/webapps directory.
Chapter 19: Configuring a Japanese Web Environment
451
3. Clean up the cache by deleting the ematrix folder from /app/tomcat_install/
work/Catalina/localhost.
4. Copy the new ematrix.war file to /app/tomcat_install/webapps.
5. Double click startup.bat located in app/tomcat_install/bin.
The notification “INFO: Deploying web application archive ematrix.war” appears in
the DOS window.
6. Finally, the notification “INFO: Server startup in xxx ms” appears when the
deployment successfully completes.
452
ENOVIA Live Collaboration Installation Guide
20
Troubleshooting ENOVIA
Live Collaboration
Troubleshooting Topics
This chapter contains topics about troubleshooting the following areas:
•
Server Configuration—using the automated server configuration checker and, if
necessary, performing additional configuration troubleshooting
•
Implementation
•
Applications
•
Web Navigator
•
Desktop
•
Miscellaneous
The Server Startup Configuration Checker section describes diagnostics that the
automated configuration checker performs when a kernel is started. It provides error
messaging that can help you troubleshoot your server environment. If after running the
configuration checker you still experience performance or server shutdown problems,
refer to the Additional ENOVIA Live Collaboration Server Configuration Troubleshooting
section.
Other sections discuss various topics for troubleshooting ENOVIA Live Collaboration
implementations and miscellaneous issues.
453
Server Startup Configuration Checker
An automated configuration checker reports on common ENOVIA Live Collaboration
configuration problems that can cause severe performance degradation or server
shutdowns. The checker writes diagnostic information to an mxAudit.log file. Users can
also view diagnostic information via the MQL print config command. Refer to the
MQL Guide for details.
In a typical ENOVIA Live Collaboration environment a Live Collaboration server can
consist of one or more ENOVIA Live Collaboration kernels. The ENOVIA Live
Collaboration kernel acts like a server engine. The ENOVIA Live Collaboration kernel
encapsulates session level information and provides database independent access among
other tasks.
The Live Collaboration server can be set up for different modes of operation:
•
RMI mode—where one or more Live Collaboration kernels (RMI servers) are
running in their own Java process and the application server talks to the server(s) via
the RMI protocol. This is generally a more fault-tolerant mode; the installation script
will prompt for the number of ENOVIA Live Collaboration Servers required (gateway
setup).
•
RIP mode—where the Live Collaboration kernel is running in the same process space
as the application server and communication is made using direct calls. This is faster
than RMI mode since all code is within the same process; however, because of this,
RIP mode is not as fault-tolerant as RMI mode.
•
Gateway— If there is more than one ENOVIA Live Collaboration Server, an RMI
gateway is used to distribute tasks to each server. The server(s) do not need to be on
the same machine as the application server because the RMI protocol itself runs over
TCP/IP, and therefore the ENOVIA Live Collaboration Servers can be running
remotely.
For more information about these ENOVIA Live Collaboration Server modes, refer to
Chapter 8, Installing the Live Collaboration Server.
When each kernel loads, its initialize function calls the configuration checker, which
evaluates the settings listed below. Topics or headings in the following table have a link to
the section that describes it later in this chapter.
Setting Checked
Category
Error Range
-Xms
Critical
!=Xmx
-Xmx
Critical
<256M
-Xss
Critical
<384K
-XX:NewSize
Warning
>0.45*Xmx ||
<0.50*Xmx
-XX:MaxNewSize
Warning
!=NewSize
JVM Settings for Application Server
* On Windows platforms running non-RIP RMI, application server JVM settings are not audited. Use your application server console to
check and set recommended JVM settings.
-XX settings apply to Sun’s JVM only. These warnings should be ignored when using WebSphere’s JVM.
454
ENOVIA Live Collaboration Installation Guide
Setting Checked
Category
Error Range
-XX:SurvivorRatio
Warning
!=2
Other Java Settings
Obsolete versions of eMatrixServletXXX.jar
Critical
JVM Mode
Critical
!=Server Mode
Java Version
Critical
<1.3.1
MX_CONNECTION_POOL_SIZE
Critical
==1
MX_CONNECTION_POOL_SIZE
Warning
<10
MX_PROGRAM_POOL_SIZE
Warning
<10
MX_BOS_EXPAND_LIMIT
Warning
not set
MX_BOS_FIND_LIMIT
Warning
not set
MX_MAX_THREAD
Warning
<200
MX_TRANSACTION_TIMEOUT
Warning
not set
MX_ABORT_DANGLING_TRANSACTION
Critical
!=TRUE
MX_MEMORY_SYSTEM_LIMIT
Critical
not set
Trace Settings
Warning
Key ENOVIA Live Collaboration Environment Variables
* On Windows platforms running non-RIP RMI, application server JVM settings are not audited. Use your application server console to
check and set recommended JVM settings.
-XX settings apply to Sun’s JVM only. These warnings should be ignored when using WebSphere’s JVM.
Each setting is evaluated by the configuration checker, which reports diagnostic
information using the following categories:
•
Informational—information-only messages that might be useful when tracking down
performance issues and minor problems
•
Warning—messages indicating that a setting could cause a problem and should be
corrected
•
Critical—messages alerting that a setting will cause a problem and must be changed
These messages can be viewed using the mxAudit.log file or the MQL print config
command.
mxAudit.log File
The mxAudit.log file contains the following message types:
•
Warning
•
Critical
Informational messages generated from the application server kernel only are also written
to mxAudit.log. Informational messages from all other servers are not written to the log
file but can be viewed using the MQL print config command.
The mxAudit.log file can be found in the mxtrace file path, for example:
Chapter 20: Troubleshooting ENOVIA Live Collaboration
455
E:\enovia\server\logs\mxAudit.log
Below is an example of messages written to a sample mxAudit.log file. The log starts by
listing header information, identifying the process ID (in this case, 1870) and the
command line used to start the process being audited.
1870 10/2/2003 4:44:41 PM RMI server Process Id: 1870
1870 10/2/2003 4:44:41 PM ****Begin Kernel Audit check****
1870 10/2/2003 4:44:41 PM /usr/java/jdk1.3.1_06/jre/bin/i386/native_threads/java
-Djava.rmi.activation.port=1101 -Djava.security.policy=/app/rmi1010/java/security/
rmid.policy -Djava.rmi.server.codebase=file:/app/rmi1010/java/lib/
eMatrixServletRMI.jar -Xss512k -Xms256m -Xmx256m -Djava.library.path=/app/rmi1010/bin/
linux sun.rmi.server.ActivationGroupInit
1870 10/2/2003 4:44:41 PM ****CRIT**** JVM mode is not in server mode, add -Server to
the java command line
1870 10/2/2003 4:44:41 PM ****CRIT**** eMatrix jar version is 10.0.1.0 current version
is 10.0.1.0.CC.Linux
1870 10/2/2003 4:44:41 PM ****WARN**** Warning trace option set:
MX_VERBOSE_TRACE=verbose.log
1870 10/2/2003 4:44:41 PM ****WARN**** MX_ABORT_DANGLING_TRANSACTION environment
variable should set
1870 10/2/2003 4:44:41 PM ****WARN**** MX_MAX_THREAD environment variable should set to
at least 200
1870 10/2/2003 4:44:41 PM ****WARN**** MX_BOS_FIND_LIMIT environment variable should
set
1870 10/2/2003 4:44:41 PM ****WARN**** MX_BOS_EXPAND_LIMIT environment variable should
set
1870 10/2/2003 4:44:41 PM ****WARN**** MX_TRANSACTION_TIMEOUT environment variable
should set
1870 10/2/2003 4:44:41 PM ****WARN**** MX_PROGRAM_POOL_SIZE environment variable should
not be less than 10
1870 10/2/2003 4:44:41 PM ****CRIT**** MX_CONNECTION_POOL_SIZE environment variable
cannot be default (1)
1870 10/2/2003 4:44:41 PM ****WARN**** MX_CONNECTION_POOL_SIZE environment should be at
least ten
1870 10/2/2003 4:44:41 PM ****WARN**** Class garbage collection should be enabled
(remove -Xnoclassgc)
The above log content shows several warning and critical messages to which you should
respond. For information about any of the settings, see Evaluation Details.
On the Sun Java System Application Server platform, mxAudit.log does not report the JVM
command line that Sun Java System Application Server is running.
When running the following platforms, MxAudit.log reports invalid output:
•
Any application server running on Windows as a service in RIP mode and uses an
executable to launch rather than the command line (such as launching WebLogic
using “beasvc”).
•
Sun Java System Application Server (a.k.a. SunONE) on Solaris
The workaround is while configuring and testing, don’t enable the service as the startup
mechanism, so that the process is started by a call to Java and so mxAudit will report the
correct results. Once any problems are resolved you can turn off the audit log and switch
to the service startup.
456
ENOVIA Live Collaboration Installation Guide
Disabling the Audit Log
Once you are up and running you may want to turn off the Audit log so it doesn’t run every
time you restart the server.
To turn off the Live Collaboration Server Audit
1. Add the following to the enovia.ini for the Live Collaboration Server (previously
ematrix.ini) (Windows) or mxEnv.sh or startup script (UNIX):
MX_DISABLE_AUDIT=true
export MX_DISABLE_AUDIT
You only need to export the setting on UNIX.
2. In the web.xml file set the following to false, for example:
<context-param id="ContextParam_12">
<param-name>ematrix.audit.log</param-name>
<param-value>false</param-value>
</context-param>
Evaluation Details
This section describes the configuration settings that are evaluated by the automated
configuration checker. It describes why certain settings are preferable in a ENOVIA Live
Collaboration environment. You should consult this section if you want information about
a setting, especially if you need to change a setting based on a warning or critical message.
Note that the introduction to the Server Startup Configuration Checker section contains a
table that lists configuration settings with links to topics in this section.
JVM Options
Java Virtual Machine options are one of the most important groups of settings. They are
passed on the command line to the JVM at run time and affect both the ENOVIA Live
Collaboration Servers and application servers running with the ENOVIA Live
Collaboration. Each server mode has its own set of options; the list of options for the
application server in RMI mode are a subset of the settings for the ENOVIA Live
Collaboration Server and for the application server in RIP mode.
JVM options can affect both server stability and performance and therefore are considered
critical.
Note that in ENOVIA Live Collaboration, objects generally have a relatively short
lifecycle, which accounts for some JVM option recommendations. If a JVM option in the
tables is not set, the JVM will assume a default that will not be correct. JVM defaults are
intended for a small number of objects having a long lifespan, which is the opposite of
what ENOVIA Live Collaboration requires.
Java options that are not supported on AIX will not be present in the mxEnv.sh or
rmireg.sh files for the AIX platform.
-Xms
-Xms (minimum heap size) should match the maximum heap size value. Since the JVM
will begin by allocating the minimum heap size and grow from there, it will spend time
requesting memory from the system once it crosses the minimum memory boundary.
Setting both the maximum and minimum heap sizes to the same value allows the JVM to
Chapter 20: Troubleshooting ENOVIA Live Collaboration
457
allocate the maximum amount up front and not request any more from the system. This
also shields the JVM from other processes in the system taking all the available memory
and starving the JVM.
-Xmx
-Xmx is the maximum heap size. Since a large number of objects can be temporarily
cached by the server, this parameter should not be left at its default size (64M). A value of
256M is recommended even for the smallest installations. As a rule, if there are hundreds
of users, this value should be doubled, and tripled if there are thousands. This setting is
platform-dependent, but should never exceed 1.5G. For more information about
determining the value of -Xmx, see Calculating Maximum Heap Size (-Xmx JVM option).
-Xss
-Xss sets the maximum stack size to be used by threads. Every thread that is spawned
during the execution of the program passed to Java has this value as its stack size.
Therefore, this setting sets the stack size of threads running in the Live Collaboration
server. If this option is omitted, the JVM will select values for some operating systems and
for others it will use the operating system's default thread size. This system value is
different depending on the operating system used (i.e. on Windows 2000 it's 1M, but on
some Unix versions it can be as low as 64K). It's important to use this option to guarantee
that the Live Collaboration server has enough stack space to function correctly.
For Sun Java System Application Server, increase the StackSize setting in /var/opt/
SUNWappservere7/ domains/domain1/server1/config/init.conf to
at least 512 KB, particularly if you are running RMI in process (RIP). Refer to Sun
documentation for tuning recommendations. The default setting is 130 KB, which is not
large enough, and if not set correctly, will cause certain operations in ENOVIA products to
fail.
-XX:NewSize
This setting governs the size of the eden memory pool allocated (i.e. the amount of
memory allocated for new objects versus the amount of memory allocated for keeping
older objects). This should be calculated as between .45 to .50 of the maximum heap size
value. Newer objects are transferred by the JVM's “garbage collection” system to the older
pool. Keeping the NewSize relatively high (compared to the maximum heap size) benefits
ENOVIA Live Collaboration processing because ENOVIA Live Collaboration objects are
not expected to persist for a long time-most not long enough to be transferred to the old
pool.
-XX:MaxNewSize
This is set to the same size as the NewSize to save time allocating more memory for the
eden pool.
-XX:+DisableExplicitGC
This option prevents Java code executing within the Java process from forcing garbage
collections by calling, for example, system.gc().
This setting is no longer checked by the configuration checker. In general, explicit garbage
collection should be enabled; that is, this setting should not be used.
Use of this setting has been found to delay fullGC from occurring and thus remote objects
with c++ references might be kept active longer than necessary.
-XX:SurvivorRatio
458
ENOVIA Live Collaboration Installation Guide
This is the ratio of the eden space (the memory pool allocated for newer objects that have
been created) versus the pool for older objects. The Sun JVM default is 25, but ENOVIA
recommends a value of 2 since most objects have a short lifespan.
-XX:MaxPermSize
This setting is the amount of memory set aside for loading all necessary classes that are
needed by an application. This setting may need adjustments, particularly in a WebLogic
7/RMI RIP configuration. Refer to Installing a WebLogic Server in Chapter 8 for details.
-XX settings are for use with Sun’s JVM only.
JVM Options for ENOVIA Live Collaboration Servers
For ENOVIA Live Collaboration Servers, JVM settings can usually be retrieved from
either the rmireg.sh file (on Unix/Linux) or the rmireg.bat file (on Windows). An
exception is when the ENOVIA Live Collaboration RMI service is used. A service called
rmiservice will be running at machine startup; each ENOVIA Live Collaboration Server is
spawned by this service and the JVM options are kept in the registry.
ENOVIA Live Collaboration Servers are spawned by the rmid (also known as the RMI
daemon), which is a process shipped with the Java Development Kit (JDK). The
rmireg.bat, rmireg.sh, or the rmiservice will spawn this process and pass it a list
of the JVM options. Each option is prefixed by "-C". For example, the initial heap size
option would typically be -C-Xms256m. The rmid must know that this is a JVM option
in order to be passed to any ENOVIA Live Collaboration Servers it creates. On Windows,
open the rmireg.bat file and find the rmid start line. (Unix is the same except from the
"start "RMI Daemon 1099" /min" line is at the beginning.). Then using the JVM Settings
for Application Server table, verify that the JVM options are at least the minimum value.
Following is a sample rmireg.sh file:
JAVA_OPTIONS="-C-Xss512k -C-Xms256m -C-Xmx256m -C-XX:NewSize=128m
-C-XX:MaxNewSize=128m -C-XX:SurvivorRatio=2"
JAVA_SECURITY=-Djava.security.policy=/matrix/rmi1100_EPC/<platform>/docs/
security/rmid.policy
${JAVA_PATH}/rmid $1 $JAVA_OPTIONS -J$JAVA_SECURITY -port 1100
-XX settings are for use with Sun’s JVM only.
JVM Options for ENOVIA Live Collaboration Servers on
Windows
For rmiservice, the JVM options are kept in the registry and can be viewed by running
regedit. Under the
HKEY_LOCAL_MACHINE\SYSTEM\SOME_CONTROL_SET\Services path is a list
of all installed services. The rmiservice settings are in a key called "eMatrix RMI Server".
The registry editor shown below displays a typical list of parameters for the RMI service.
The JAVAOPTIONS value that is highlighted contains a list of the options the rmid will
pass to the spawned ENOVIA Live Collaboration Server. By double-clicking on the value
Chapter 20: Troubleshooting ENOVIA Live Collaboration
459
the list may be modified. Once again, verify the JVM options against the JVM Settings for
Application Server table.
JVM Options for Application Servers
If the application server is setup for RIP mode, the JVM options for the application
server's own JVM must also be verified. Finding the command line information that
created the JVM varies among the application servers. The table below contains a list of
default file names and command lines that start the application server JVM:
Application Server
Default files to find JVM options
WebSphere (All
versions)
INSTALL-DIR\AppServer\config\cells\HOST\nodes\HOST\servers\server1\server.xml. These
can be set via the WebSphere Administrative Console. Refer to WebSphere JVM Options.
WebLogic version 7.x
INSTALL-DIR/user_projects/yourDomain/startWeblogic.sh
Tomcat 4.1x
INSTALL-DIR/bin/Catalina.sh
Sun Java System
Application Server
version 7.x
INSTALL-DIR/domains/yourDomain/yourServer/config/server.xml
With the exception of the Sun Java System Application Server and WebSphere servers, all
other files are startup scripts or batch files. For all servers (except for Sun Java System
Application Server) edit the startup file and locate the Java command line.
Following is an example from the tomcat.sh file:
460
ENOVIA Live Collaboration Installation Guide
$JAVACMD $TOMCAT_OPTS -Djava.security.manager
-Djava.security.policy==${TOMCAT_HOME}/conf/tomcat.policy
-Dtomcat.home=${TOMCAT_HOME}
org.apache.tomcat.startup.Tomcat "$@" &
Note the TOMCAT_OPTS environment variable, which can be used to pass in JVM
options. It is necessary to check both the command line itself and the TOMCAT_OPTS
environment variable to verify the JVM options in use.
Below is an example from the WebLogic 7 default startWeblogic.bat file:
%JAVA_HOME%\bin\java %JAVA_VM% %JAVA_OPTIONS% %DB_JVMARGS% -Xmx256m -classpath
%WLISERVERCP%
-Dweblogic.servlet.ClasspathServlet.disableStrictCheck=true
-Dwli.bpm.server.evaluator.supportsNull=false
-Dweblogic.management.username= -Dweblogic.management.password=
-Dweblogic.Name=codonnell -Dweblogic.RootDirectory=%WLI_DOMAIN_HOME%
-Djava.security.policy=%WL_HOME%\lib\weblogic.policy
-Dweblogic.management.discover=false
-Dweblogic.ProductionModeEnabled=%STARTMODE%
weblogic.Server
Note the JAVA_VM variable allows JVM options to be specified from the environment.
Additionally, WebLogic sets a default heap size of 256M (the -Xmx256m in the command
line). Because it is in the command line after the JAVA_VM environment variable, it will
probably override any value set by JAVA_VM.
Chapter 20: Troubleshooting ENOVIA Live Collaboration
461
If you are using the Sun Java System Application Server, the administrative console must
be used, as shown below. Using the console, JVM options for each configured server may
be added, deleted, or modified.
Check all options in the JVM Settings for Application Server table. If any of the options do
not exist or are wrong, you can change them using the JVM Settings panel shown above.
For all Application servers or ENOVIA Live Collaboration Servers using the
Sun JVM:
Note that IBM JVMs are derived from Sun's JVM, so the following tip may also work for
those JVMs. Below is a quick way to check the parameters used to load the JVM:
SET _JAVA_LAUNCHER_DEBUG=1
On Unix, enter the following before running the server:
export _JAVA_LAUNCHER_DEBUG
The JVM will send each option it parses to stdout, usually the console of the window
running the JVM. This will show the complete list of options passed to the JVM and
directly allow verification of the options. Remember to switch this off after verifying the
values, even though it is only a startup diagnostic and will not affect server operation other
than having the server load a little slower.
WebSphere JVM Options
462
ENOVIA Live Collaboration Installation Guide
JVM options in WebSphere can be found using the WebSphere Administrative Console, as
shown below.
To see the JVM settings panel shown above, select Nodes > YOUR DOMAIN >
Application Servers > YOUR SERVER NAME > Process Definition > JVM Settings.
Verify that the Initial Heap Size field does not have a value less than the minimum value
for the -Xms parameter listed in the JVM Settings for Application Server table. Then
verify the Maximum Heap Size value, which corresponds to the -Xmx option. The
Generic Command Line Arguments field should contain all other options found in the
JVM Settings for Application Server table. For example, for a maximum heap size of
256M running in RIP mode, the Generic Command Line Arguments might contain:
<jvmEntries xmi:id=’JavaVirtualMachine_1’ verboseModeClass=’false’
verboseModeGarbageCollection=’false’ verboseModeJNI=’false’ initialHeapSize=’0’
maximumHeapSize=’256’ runHProf=’false’ hprofArguments=’’ debugMode=’false’
debugArgs=’-Djava.compiler=NONE -Xdebug -Xnoagent
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777’ genericJvmArguments=’’>
<classpath></classpath>
<bootClasspath></bootClasspath>
</jvmEntries>
For more information, refer to http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/
index.jsp.
Calculating Maximum Heap Size (-Xmx JVM option)
A simple way to calculate the value for the -Xmx option is to use the figure for half the
available memory on the system and divide that among the number of JVMs that both the
application server and ENOVIA Live Collaboration Server (if used) are running. Using
system commands described in previous sections, the number of JVMs can be counted
manually; however, you should know how to calculate the number of Java processes
(JVMs) that should be running since this could help track down any unwanted Java
processes during troubleshooting. Reading the installation guide that comes with your
Chapter 20: Troubleshooting ENOVIA Live Collaboration
463
application server is highly recommended since it should include details of features, such
as load balancing, that may add more JVMs than would normally be expected. Because
these extra JVMs will consume memory, they should be subtracted from the total available
memory. One such JVM is the so-called nanny process, which is described below.
Starting with no applications running on the system, use the methods described in
Checking Memory Usage to find the current amount of available memory. If a high degree
of accuracy is required, take readings over several days, and calculate an average value. If
the machine runs a backup program, find the amount of memory used by the backup
program and subtract it from the amount of available memory. Now you will have
determined the actual amount of available memory for the application and Live
Collaboration servers.
Calculating the maximum heap size involves a simple formula that requires knowing the
number and type of JVMs that will run on the machine. This number depends first on the
whether RMI or RIP mode is used. The ENOVIA Live Collaboration Servers may or may
not be running on the same server; if they are not, the number of JVMs will equal the
number of JVMs running in the application server. The number of Java processes in the
application server depends on whether the server has one or more nanny processes. For
example, WebSphere and WebLogic both have a nanny process, which is a monitoring
process that requires at least 128M. Refer to your application server guide for information
about nanny processes and whether they are used.
The number of application server JVMs denotes the number of Java processes configured
to support the ENOVIA Live Collaboration domain. If a second domain is running on the
application server, the amount of available memory will be affected by the memory
consumed to run that domain and therefore should be subtracted from the current amount
of memory to become the available memory figure used in the formulas below.
If a nanny process is used, subtract 128m from the available memory before applying any
of the formulas below.
Following are the formulas for maximum heap size:
RMI mode where the ENOVIA Live Collaboration Servers are not running on the
same machine:
server JVM memory = available memory - 128m
maximum heap size = server JVM memory / number of application server JVMs / 2
The number of application server JVMs is typically one per application server domain
running on the machine.
RMI mode where ENOVIA Live Collaboration Servers are running on the same
machine:
If there is more than one ENOVIA Live Collaboration Server, the RMI gateway is used.
This is similar to an application server nanny process but is used to monitor and distribute
the load for multiple ENOVIA Live Collaboration Servers. It requires 128M.
RMI mode with one ENOVIA Live Collaboration Server:
server JVM memory = available memory - 128m
per process memory = server JVM memory / (number of application server JVMs +
1)
maximum heap size = per process memory / 2
464
ENOVIA Live Collaboration Installation Guide
RMI mode with more than one ENOVIA Live Collaboration Server:
server JVM memory = available memory - 128m
per process memory = server JVM memory / (number of ENOVIA Live Collaboration
Servers + number of application server JVMs)
maximum heap size = per process memory / 2
RIP mode:
server JVM memory = available memory - 128m
per process memory = server JVM memory / (number of application server JVMs)
maximum heap size = per process memory / 2
In RIP mode, the Live Collaboration Server kernel shares the same process as the
application server.
The Java Process Command Line
This section provides a quick way for finding JVM options for application and ENOVIA
Live Collaboration Servers running on Unix. It involves using the ps command to retrieve
the Java process command line, as described in Checking for Other Running Processes.
For example, checking the JVM options for a particular server can be done simply by
looking at the command line of the server's Java process.
Application server startup scripts typically pass their home directory as a property on the
command line to their Java processes. Java properties are prefixed with a -D and are a
means of passing a parameter to any Java code running in the process, such as the
application server's own code or the Live Collaboration server running in RIP mode. For
example, if the Java command line contains
-Dtomcat.home=${TOMCAT_HOME}
then the Java process is a Tomcat application server and its home directory can be found in
the TOMCAT_HOME environment variable. This is the home directory for the application
server and can be used to locate startup scripts and configuration files, as required in
Collecting Logs and Core Files.
The following table shows a list of properties that can be used to locate a Java process.:
Process
Identifier
java.rmi.activation.port
ENOVIA Live Collaboration
Server
catalina.home
Tomcat version 4 Server
weblogic.home
WebLogic Server
com.sun.aas.installRoot
Sun ONE Server
server.root
WebSphere Server
The java.rmi.activation.port property is in the following format:
-Djava.rmi.activation.port=1099
Chapter 20: Troubleshooting ENOVIA Live Collaboration
465
It shows the ENOVIA Live Collaboration Server port, which is useful when using the RMI
Gateway with multiple ENOVIA Live Collaboration Servers running on different ports.
When running in RMI mode, a process called rmid is loaded and used to start ENOVIA
Live Collaboration Server(s) on demand. Its command line includes the JVM options that
will be passed to any ENOVIA Live Collaboration Server it creates and the port on which
the ENOVIA Live Collaboration Server will be listening.
Process Limitations
Most of the Java options described above relate to settings that control memory allocation.
Keep in mind that there are other factors that may limit the resources available to a process
and thereby constrain a process beyond the memory settings discussed above. Examples of
such factors are:
•
Limit settings in the environment, such as ulimit (sh) or limit (csh) on Unix
•
The binary itself. For example, AIX defines the addressable memory in the
executable. (See TechTip 11237.)
•
The data parameter for ulimit should be set to “unlimited” for AIX.
Other Java Settings
The startup configuration checker evaluates these other key Java settings:
•
Obsolete versions of eMatrixServletXXX.jar
•
JVM Mode
•
Java Version
All settings may be retrieved using the startup files listed in the Application Server table.
For all application servers, except for Sun Java System Application Server, edit the startup
script and find the JAVA_HOME variable in the file. This will point to the java.exe (it may
be in a bin or jre directory beneath this path). Run this java.exe from a command line with
the -version argument to retrieve the Java version, and use the value in the above table to
verify that the number is not less than the minimum value.
The configuration checker checks for obsolete versions of eMatrixServletXXX.jar by
comparing Java and native versions of eMatrixServletXXX.jar. Any obsolete versions will
generate a Critical error.
The JVM mode may not be obvious since most application servers leave it at the default
value. The available modes for the Sun JVM can be, for example, classic, client or server.
Server mode must be the mode used for all configurations.
There are two ways to set the JVM mode:
1. Make the first parameter in the Java command line -server.
2. Edit the jvm.cfg file pointed to by the JAVA_HOME variable and make -server the
first line after the comments in the file. If your platform does not have jvm.cfg,
refer to your JVM documentation for the location of -server.
Using the second method avoids a problem in which you cannot add -server to the
RMI daemon command line in the rmireg.sh file since it fails.
It can be assumed that if the Java version is correct then the JVM version should also be
compatible. However, on Windows particularly, care must be taken to ensure that there are
no other jvm.dlls in the Windows or Windows system directories that could cause a JVM
mismatch and shut down the JVM.
466
ENOVIA Live Collaboration Installation Guide
The JVM version and mode is actually displayed in the startup messages for the Sun Java
System Application Server. WebLogic also displays a list of the Java system properties on
load, which also contains the JVM version and mode.
If the JVM is controlled by the application server, the configuration checker may not be
able to detect the presence of -server and it will generate an error. If this situation occurs,
verify that your application server does set -server and ignore the error in mxAudit.log.
Key ENOVIA Live Collaboration Environment Variables
The configuration checker evaluates key ENOVIA Live Collaboration environment
variables that can be easily overlooked. Setting them appropriately for system-wide use
can improve performance dramatically. These variables may have been set originally by an
ENOVIA engineer, but during upgrades of an application server the variables may be lost
because a new application server startup script is used.
For RIP mode, check the application server's startup script (see the Application Server
table) for the environment variables or for a script that gets executed that may set them
externally.
A good tip for checking what is being set is to locate the line in the script files that starts
the JVM (usually it's near the end and will begin with java-install-path/bin/java) and insert
a line that pipes the environment to a file.
Example for Unix:
env > env.fil
and for Windows:
set > env.fil
Start the application server and edit the env.fil file. Search for the environment
variables listed in the ENOVIA Live Collaboration environment variable table.
The MATRIXHOME environment variable should be noted since most traces and scripts are
found using this path.
This method should be used if using ENOVIA Live Collaboration Servers. In this mode
ENOVIA Live Collaboration Servers are started using rmireg.sh (Unix) or
rmireg.bat (Windows).
A good practice to ensure that the environment variables are set is to create a script or
batch file that contains them and call the script from the application server startup script or
from rmireg directly.
In Windows, environment variables are checked as follows: the enovia.ini file is checked
first; if the variable does not exist then the environment is checked. If still not found,
internal defaults are used.
When using the RMI service, environment variables may be also set in the registry. In the
Windows Registry Editor a registry key called "Env" can exist under the following key:
HKEY_LOCAL_MACHINE\SYSTEM\Services\eMatrix Rmi
Service\Parameters
This key can contain ENOVIA Live Collaboration environment variables as registry
values. When the RMI service starts it will add these to its environment. These variables
can be changed or added directly using regedit or by using the rmiservice with some
parameters, for example:
Chapter 20: Troubleshooting ENOVIA Live Collaboration
467
rmiservice -config "eMatrix RMI Server" -javaoptions
"-C-Xss256k"
or
rmiservice -config "eMatrix RMI Server" -setenv LANG=C
-setenv
NLS_LANG= American_America.UTF8 -setenv MX_CHARSET=UTF8
Note that "eMatrix Rmi Server" is the default RMI registry key name.
For more information about each ENOVIA Live Collaboration environment variable, see
Configuring ENOVIA Live Collaboration in Chapter 9 and Installing the Live
Collaboration Server in Chapter 8.
System Scaling
To properly scale your system to meet loads for the maximum number of concurrent users,
you need to correctly set the MX_CONNECTION_POOL_SIZE and your Oracle Sessions.
The default value setting depends on the Java Heap size entered during installation.
However, you should monitor the ENOVIA Live Collaboration instance in the database
under typical production usage levels over a period of time and observe the number of
sessions opened. This will provide a good indication of the value to use for your
MX_CONNECTION_POOL_SIZE.
If more connections are required, you could increase this value by 10 or more to the value
that works for your implementation under typical production usage levels.
You may also need a larger MX_CONNECTION_POOL_SIZE value if numerous errors
like the following are thrown:
Error #4000045 Creating new database connection, pool size
insufficient
This message is generated when the server needs to open a new connection. If this
happens on a regular basis, the current MX_CONNECTION_POOL_SIZE value is too low.
Additionally, you should consider the Java heap sizes. -Xms (minimum heap size) should
be at least 768m for large systems. -Xmx (maximum heap size) is platform-dependent, but
should never exceed 1.5g.
Note that when determining the Java heap size, you need to consider that a similar amount
of memory is also needed by the ENOVIA Live Collaboration C++ kernel, which runs in
the same process as the JVM but in a separate memory space, and which is not controlled
by the Java heap size setting.
Trace Settings
Traces that are accidentally left switched on can greatly affect server performance. When
you encounter performance problems, a check for these is advised. Refer to Overview in
Chapter 21 for details.
468
ENOVIA Live Collaboration Installation Guide
Additional ENOVIA Live Collaboration Server
Configuration Troubleshooting
If performance problems or server shutdown persist after changing settings resulting from
the server startup configuration checker, there are other areas you can check. Performance
problems and server shutdown can be caused by improper configuration settings resulting
in insufficient memory. Problems can occur if memory requirements that change due to
objects cached in memory grow to exceed the amount of allocated memory within a Java
Virtual Machine or even the entire system. Other problems may contribute, such as lack of
disk space or inadequate memory for a machine's current load. It is sometimes difficult to
determine the source of these problems. Environments vary in type of application server,
platforms, server machine specifications, and operating system versions—to name some
of the obvious configuration components.
When problems occur after you have diagnosed your system with the configuration
checker, you should check your system for these potential problem areas:
•
Checking Disk Space
•
Checking Memory Usage
•
Checking for Other Running Processes
•
Reviewing Other Configuration Issues
•
Collecting Logs and Core Files
Collecting logs and cores file is optional and needs to be performed only if the problem
has not been resolved using the previous procedures.
Tables in this section may contain a column entitled "Category". Settings in these tables
fall into one of three categories:
•
Critical
•
Warning
•
Information
The category refers to the level of priority that should be given to the particular setting. For
example, if a setting is referred to as Critical, the ENOVIA Live Collaboration Server
should not be run if the setting either does not exist where it should appear or it is outside
the minimum range specified in the table. Settings that are Warnings should be set within
the minimum range of values in the table. Information settings have the lowest priority but
have been known to cause problems. In other words, they may not be a problem in a
particular environment, but they should not be ignored.
The guidelines described in this section are intended to provide basic methods for
investigating and resolving performance and quality-of-services issues. Recommended
settings may not always result in better performance and may require further tuning.
The following sections describe each troubleshooting procedure in detail.
Chapter 20: Troubleshooting ENOVIA Live Collaboration
469
Checking Disk
Space
The table below shows how to check for available disk space on each platform.
Platform
Command
Examples
Windows
chkdsk or dir
dir c:\
Solaris
df -Pk
df -k /tmp
AIX
df -Pk
df -k /tmp
In a production environment, the database should not be on the same machine as the
application server. Any disks in use should have more than ten percent free space. In
particular, the drive pointed to by the workspace environment variable
MX_BOS_WORKSPACE should have enough space. The workspace is a space where files
can be stored temporarily during file checkouts and other operations; as a rule, it should be
as large as the largest file that would be checked out, multiplied by the number of users on
the system. For Unix users, the /tmp directory should be relatively free too.
Checking Memory
Usage
For some versions of Unix, the "top" utility is a very powerful tool. It usually comes
installed on the machine and can give live CPU and memory stats on a configurable
refresh time. For Windows, the Task Manager is very useful.
On Unix platforms, you can also use the vmstat command to check available memory:
Platform
Command
Solaris
vmstat
AIX
vmstat svmon -g
Note that when using "top" or vmstat, the figures for process memory usage can be
artificially inflated because some Unix versions of the memory manager do not always
show freed memory returned to the system "pool". If the system has enough free memory
to satisfy its current needs, memory freed by a process will not automatically be shown as
freed. Therefore, utilities such as "top" tend to show the peak amount (or "high water
mark") of memory that a process has allocated rather than what the process is currently
using.
If "top" is not available, on Solaris use prstat, or on AIX, use topas. On Solaris,
another useful command is prtconf, which shows the system configuration. Also on
Solaris, the /usr/proc/bin/pmap -x PID will print the details of memory used by
a process and indicate which PID is taking up the memory.
It's a good idea to monitor the amount of swap in use. The system should not swap, and all
processes should be in physical memory. Use a utility, such as "top" or vmstat, to
determine swap activity. You should also note the process path (the path where the process
was loaded from) and its command line. Since there usually are multiple Java processes
running at the same time, the command line should give a clue as to whether a particular
process is an application server or an ENOVIA Live Collaboration Server. Since "top"
does not typically show the process path, you should note the process id (PID) of the
larger processes from top's PID column. You can get the process path and command line
using the "ps -ef" command and using the PID to find the process in the resulting list.
470
ENOVIA Live Collaboration Installation Guide
Checking for Other
Running
Processes
Other processes can cause problems; for example, you might have unnecessary processes
still running. You should check for orphaned Java processes or executables, which may be
consuming available memory. Use the ps command as shown in the table below and
check the command line parameters.
Platform
Command
Description
Solaris, AIX
ps -ef | more
Lists all processes.
ps -ef | grep java
Lists all processors using
Java.
ps -u <username>
Use the userid of the
ENOVIA Live Collaboration
installation user to see the
process for that user.
Because the ps command can truncate the command line, you might check whether your
ps command supports the "auxwww" argument, which provides a listing with the full
command line for each process. You should use the UCB version of the ps command, if
installed. It is usually found in the /usr/ucb/bin directory.
A Java process's command line provides quick access to a lot of information required
while checking your configuration. The next section shows how the command line can
help you determine whether a Java process is ENOVIA Live Collaboration-related (i.e.
related to an application server or a Live Collaboration server) or related to some other
application.
Reviewing Other
Configuration
Issues
This section describes configuration settings you should check that pertain to your
application server, kernel and device driver settings, and your operating system patch
level.
Application Server Settings
Most application servers have some performance tuning parameters available, some of
which are highly recommended. For example, WebLogic has an execute thread count that
is used when trying to ensure that a pool of threads is available to process servlet requests
as the overhead of creating new threads within the application server can be expensive.
Config.xml has:
Server ExternalDNSName="acme.net"
ListenAddress="acme.net" Machine="MyMachine"
Name="myserver" ServerVersion="7.0.1.0"
StdoutDebugEnabled="true" StdoutEnabled="true"
StdoutSeverityLevel="64" WeblogicPluginEnabled="true"
XMLEntityCache="XMLCacheMBean_myserver">
<COM Name="myserver"/>
<ExecuteQueue Name="default" ThreadCount="15"/>
Other application servers have an equivalent to this setting.
Chapter 20: Troubleshooting ENOVIA Live Collaboration
471
Settings are viewed or changed using the WebLogic Administration Console, as shown
below. The console requires an administrator userid/password to log on.
To view and change WebLogic settings:
Use the WebLogic Server Console, as shown above.
1. Select Servers from the left pane.
2. Select the Live Collaboration server from the left pane.
3. Select the Configuration tab from the right pane.
4. Select the Tuning tab from the right pane.
On WebLogic 7.x the Accept Backlog parameter is found on the Tuning tab from the
Connections tab.
WebSphere Settings
WebSphere typically uses the IBM HTTP Web server, which is Apache-based and has the
equivalent of WebLogic's acceptBacklog parameter, which is the MaxConnectBacklog
472
ENOVIA Live Collaboration Installation Guide
parameter. The parameter can be configured using the Administrative Console, as shown
below:
Choose Nodes > YOUR DOMAIN > Application Servers > YOUR SERVER > Web
Container > HTTP Transports > YOUR PORT.
From this panel the MaxConnectBacklog parameter can be modified. However, the default
of 511 is usually sufficient.
If WebSphere is running on Windows with Microsoft's IIS server as its Web server, the
equivalent of WebLogic's acceptBacklog parameter is ListenBackLog, which has a default
value of 25. IIS reads this value from the registry entry, which is shown below:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters\
ListenBackLog
The value should be changed to 250, and IIS must be restarted.
Additionally, if the settings listed below appear on your Administrative Console, check
that their values are at least equal to the minimum values. If not found on your console,
ignore them.
WebSphere Settings from IBM HTTP Server's
httpd.conf
Category
Minimum Value
ListenBackLog
Warning
>= 511 (default)
MaxClients (Unix Only)
Critical
>= 150 (default)
ThreadPerChild (Windows only)
Critical
>= 50 (default)
Maximum Pool size
Critical
>= 30 (default)
Chapter 20: Troubleshooting ENOVIA Live Collaboration
473
Operating System Patches
Bugs in operating systems can take a long time to diagnose. Therefore, a check for patch
levels is highly recommended.
The table below shows a list of commands that retrieve the operating system patches on
supported Unix platforms. On Windows, simply type winver at a command prompt. Piping
the output from the Unix patch list to a file is advisable since this can be sent to ENOVIA
Support for further diagnosis.
Unix Platform
Category
AIX
istfix; smit
(Use smit only if patches were
originally installed using smit;
if not, use istfix.)
Solaris
showrev -p
Kernel and Device Driver Settings
As described in Collecting Logs and Core Files, kernel settings can be extremely
important. File descriptors are another problem source, though typically for earlier
versions of Solaris since most Unix platforms have fairly large default values. Windows
does not have this problem (except when portable code uses file descriptors for winsock
IO).
To find the maximum number of file descriptors available:
•
in ksh use "ulimit -n"
•
in csh use "limit descriptors"
Some parameters have an affect on performance, including TCP settings on Solaris, as
shown below.
Solaris TCP Parameter
Description
Suggested Value
tcp_close_wait_interval
On high connection rates if netstat shows
many sockets in CLOSE_WAIT or
FIN_WAIT_2 state
60000
tcp_fin_wait_2_flush_interval
Checks the fin wait interval (some versions of
solaris can be 10 times the normal value)
67500
Use the following command to get a parameter from the table:
ndd -get /dev/tcp parameter
Use the following command to set a parameter in a table:
ndd -set /dev/tcp parameter
474
ENOVIA Live Collaboration Installation Guide
Symbolic Links
Previous versions of the Live Collaboration server created symbolic links to /usr/lib for a
library in the installation directory. If not removed, these links frequently caused problems
with mismatching library versions. Use "ls -l /usr/lib" to verify library versions.
Depending on the operating system, ENOVIA Live Collaboration libraries are only loaded
through appropriate settings of LD_LIBRARY_PATH or SHLIB_PATH. Other methods
of configuring the operating system loader, such as /etc/ld.so.conf, should not be used for
ENOVIA Live Collaboration.
Collecting Logs
and Core Files
If checking the configuration yields no errors, then all useful log files should be collected
for further investigation. This section lists a minimum set of logs that should be gathered.
Logs and Files to Collect
Stack traces
Cores
Application server logs
Any trace logs
Java stack trace logs (hs_err_pid*.log)
access.log (application server)
Rmireg.sh (Unix) or rmireg.bat (Windows) or the registry if rmid is
running as a service
mxtrace.log
Custom logs (redirected stdout and stderr)
Use the following table as a quick reference for stack trace commands. Sometimes it's
useful to generate a stack trace from a core and save it to a file.
Platform
Stack Trace Command
Solaris
pstack core > core.txt
AIX
use dbx
Refer to the Tech Tip, “About Core Dumps”, for using the pstack command; also see the
Tech Tip named “How To Analyze Core Dumps using GDB.” For more information about
the dbx command, contact ENOVIA Support.
The Live Collaboration server will log error messages to the mxtrace.log and other log
files, as described in Chapter 21, Server Diagnostics.
The ENOVIA Live Collaboration Server uses a set of log files to maintain state
information. These log files can be found by checking the rmireg.sh or rmireg.bat files,
and locating the rmid daemon load line with the -log option, as shown below:
$JAVA_PATH/rmid $JAVA_OPTIONS $JAVA_LIB -J$JAVA_SECURITY
-port 1099 -log /opt/eMatrixRMI9052/logs/RMI1099 &
Chapter 20: Troubleshooting ENOVIA Live Collaboration
475
These log files are not useful for diagnostic purposes, and you should delete all files from
this directory. If there are multiple rmid processes started from the startup script (i.e. the
RMI gateway is in use) then each set of logs should be deleted.
If a shutdown occurs, a file called the Java stack dump log is created. It is named
hs_err_pidxxxx.log, where xxxx is the process id number of the process that shut down.
These logs can be found in the same directory from which the ENOVIA Live
Collaboration kernel loads, usually the SERVER_INSTALL path under
intel_a\code\bin\.
These logs are critical for reporting a shutdown-related problem to ENOVIA Live
Collaboration, especially if no core is found. If the System has produced a core file for the
shutdown (Unix-only and the file is simply called core), this file will usually appear in the
directory from which the Live Collaboration kernel was loaded.
Missing Core Dumps
Shutdowns on Unix almost always cause the system to dump a core file, usually in the
directory from which the process initially loaded.
If no core dump file is generated, you might need to enable core files, as described below:
Enabling Core Files
Java Activation
Error on the
ENOVIA Live
Collaboration
Server
Solaris
in the /etc/system file, set sys:coredumpsize =
(maxsize of core dump file)
AIX
Use ulimit -c unlimited
and
chdev -l sys0 -a fullcore=true
When running on the ENOVIA Live Collaboration Server in non-RIP mode, an activation
exception may occur, which may look like the following:
java.rmi.activation.ActivateFailedException: failed to
activate object; nested exception is:
java.rmi.activation.ActivationException: unable to create
activation group; nested exception is:
java.io.IOException: The pipe is being closed"
The solution is to choose the proper configuration for your installation based on available
memory. Choose your Java heap settings as recommended in Calculating Maximum Heap
Size (-Xmx JVM option).
mx_err_pid.log for
Windows
476
When the Java Virtual Machine initializes itself, it installs a handler which gains control
when segmentation violations and other unexpected signals/events occur. From this
handler, the hs_err_pid.log file is generated. On Windows, an MX handler has been
chained to this process to catch these events, create a ENOVIA Live Collaboration specific
error log, and then pass control back to the JVM’s handler. Since tracing may not have
been enabled, this means that the events don’t need to be recreated to begin
troubleshooting.
ENOVIA Live Collaboration Installation Guide
When the MX handler is called on Windows, a file called mx_err_pidID#.log (where ID#
is the process number of the failing process) is created in the same directory as the JVM
creates the hs_err_pid123.log file (that is, the directory in which the server or MQL was
started, generally SERVER_INSTALL\intel_a\code\bin\). The mx_err_pid.log
file includes the same information as monitor server output as well as a hex dump at the
end of the file. Administrators can use this file for the monitor server output; the rest of the
file is meant for diagnosis by ENOVIA and should be included with details of the problem
to ENOVIA Customer Support.
Chapter 20: Troubleshooting ENOVIA Live Collaboration
477
ENOVIA Studio Modeling Platform Stability
Troubleshooting
This section describes troubleshooting considerations for the ENOVIA Studio Modeling
Platform, including stack traces, Studio Customization Toolkit origin tracing, and memory
management.
Stack Traces
In the event of a core dump, it is advisable to generate stack traces from the core dump and
send the traces to ENOVIA support.
1. Generate stack traces from the core dump. This will provide information about where
all running threads were in the code at the time of the crash.
2. Be sure to examine the core file on the system that generated it.
•
On Solaris 8, you can run pstack.
3. Examine the stack trace. The first thread in the stack trace output will be the one that
caused the crash. Normally, there is an entry that reads "sighdlr" and the entry just
after it is the one that caused the "signal" (usually SIGSEGV) and the crash.
4. Send the stack trace to ENOVIA support.
Studio
Customization
Toolkit Origin
Tracing
Studio Customization Toolkit Origin Tracing supplements verbose tracing by adding an
origin stack trace for each Studio Customization Toolkit call made, thus enabling an
engineer to determine the exact line in the JSP, applet, bean, or application code where a
problematic call was made.
You enable Studio Customization Toolkit Origin Tracing on the server. Refer to Studio
Customization Toolkit Origin Trace Facility in Chapter 21.
Memory Pools
To troubleshoot memory bottlenecks it is important to understand ENOVIA Live
Collaboration architecture and the various memory pools in use. ENOVIA Live
Collaboration Server can be configured in two different ways:
•
•
478
Two-tier (ENOVIA Live Collaboration Server): The ENOVIA Live Collaboration
kernel lives in its own process as an ENOVIA Live Collaboration Server and has its
own memory space. In this case three memory pools are relevant:
•
The C++ memory of the ENOVIA Live Collaboration Server, which is used to
cache data and evaluate server operations.
•
The Java heap in the ENOVIA Live Collaboration Server used to temporarily
store data for requests, until the request is completed.
•
The Java heap in the application server, used to store all Java objects of the
application, like sessions, beans, properties and temporary objects.
Single tier (RIP). The ENOVIA Live Collaboration kernel is part of the application
server and shares the same address space. The memory pools in C++ memory and the
Java heap in the ENOVIA Live Collaboration Server (listed above) are relevant in this
configuration.
ENOVIA Live Collaboration Installation Guide
Memory
Management
In contrast to typical memory managers, the ENOVIA Live Collaboration’s memory
manager is suited for long running server processes. The system allocates memory in
multiples of 16 bytes. Instead of freeing memory blocks under 512 bytes, the system
maintains its own free list. This free list is subdivided into buckets, for holding blocks of
the same size. The maximum amount of memory held by this list is controlled by the
parameter MX_MEMORY_KEEP_LIMIT, which has a default value of 256m. This
algorithm ensures fast allocation and prevents memory fragmentation. Furthermore,
ENOVIA Live Collaboration’s memory manager contains the following trace parameters,
which can be used to resolve memory related problems.
MX_MEMORY_TRACE
MX_VERBOSE_MEMORY_TRACE
For more information on the above parameters, see Configuring Memory Manager in
Chapter 21.
Memory
Troubleshooting
Procedures
Tool Selection
Depending on where the memory problem is, different tools are needed to diagnose it. An
ENOVIA Live Collaboration Server configuration and a growth of the ENOVIA Live
Collaboration Server process suggest a problem in the C++ core. Growth of the
application server process or Java OutOfMemoryExceptions indicate a problem with the
Java heap. There may be no clear initial indication of a memory problem in a RIP
environment. In this case, run the application server JVM with -verbose:gc and graph the
heap over time. If this indicates a Java side leak, use a profiler or similar tool to find the
problem. See Java Memory Problem below for details
Java Memory Problem
The first step is to run the application server JVM with the option "-verbose:gc" and
capture the output in a file. This will print verbose garbage collection records, which look
similar to the following:
[GC
[GC
[GC
[GC
137851K->122823K(260160K),
139015K->123987K(260160K),
140179K->125151K(260160K),
141343K->126313K(260160K),
0.0128460
0.0126110
0.0128070
0.0131270
secs]
secs]
secs]
secs]
Then use a tool like gcviewer from www.tagtraum.com or GC Portal from SUN
Microsystems to visualize the output. In the following example a JSP was supposed to
print a record of the last ten requests, but instead of saving data for the ten most recent
requests, it saved all requests. The code looks like the following:
<%! static Vector vClients=new Vector(100);
class clsRow {
Date _dTime=null;
String _sSession=null;
String _sHost=null;
public clsRow(String sSession, String sHost) {
_dTime=new Date();
_sSession=sSession;
_sHost=sHost;
}
Chapter 20: Troubleshooting ENOVIA Live Collaboration
479
public String toString() {
StringBuffer sb=new StringBuffer("<tr>");
sb.append("<td>");
sb.append(_dTime.toString());
sb.append("</td><td>");
sb.append(_sSession);
sb.append("</td><td>");
sb.append(_sHost);
sb.append("</td>");
sb.append("</tr>\n");
return( sb.toString() );
}
};
%>
<%
vClients.add(0,
new clsRow(session.getId(), request.getRemoteHost())
);
%>
The JSP ran in a Tomcat 4 application server and was requested by five jmeter threads
about 150000 times. The verbose garbage collection log was visualized with gcviewer.
Note the blue line, which shows the total heap used, the amount of memory recovered with
each garbage collection and a clear upslope. The upslope indicates a Java memory leak.
Finding the leak is the much more difficult part. One method is to run the JVM with the
built-in profiler, which is available in the JVM from SUN Microsystems. For the example
above, the application server JVM was run with the option
"-Xrunhprof:heap=sites,depth=10,thread=y". This will not currently work with a
WebLogic server because it monitors heap usage itself and interferes with this setting;
only Tomcat has been successfully used with -Xrunhprof. Use of the option generates a
480
ENOVIA Live Collaboration Installation Guide
very large file java.hprof.txt and also has a significant performance impact. The generated
file could be reviewed manually or with a tool like Hpjmeter from www.hp.com.
It is preferable to perform such an investigation in a controlled environment. A repetitive
test should be used and executed by a load-generating tool, like LoadRunner, grinder, or
jmeter. Also after the test has completed, the test instance should be left idle until all active
sessions have timed out.
For our example we used Hpjmeter and displayed the Metric "Residual Objects (Count)",
which produced the list below.
There are obviously many system objects, making it difficult to identify the culprit.
However, upon closer inspection, tst_jsp$clsRow stands out. It is a class from the
example, of which about 51000 instances exist, but only 10 should exist.
Chapter 20: Troubleshooting ENOVIA Live Collaboration
481
Implementation Troubleshooting
The design of the ENOVIA Live Collaboration allows customers to build their own
applications to interface with it. When building applications, users may unknowingly
employ coding practices that are detrimental to system stability. This section summarizes
implementation best practices and provides references to other ENOVIA Live
Collaboration documentation that explains these practices more fully.
Queries
A major cause of performance problems are poorly structured queries. Query performance
problems can be broken down into two categories: memory issues and time taken to
complete the query. With memory issues, the result of the query is so large that the
computer system cannot handle the result. In the time issue, the processing time of the
query is much longer than needed. ENOVIA has identified some strategies to prevent
query problems, which are described in detail in the “Working with Workspace Objects”
chapter in the MQL Guide.
Tcl Statements
Additionally, users may write MQL programs that contain Tcl statements. Some of the
more common problems with Tcl statements are related to Tcl syntax. The Tcl executable
has strict rules regarding syntax. For a description of common Tcl syntax errors, see “Tcl
Syntax Troubleshooting” in the MQL Language chapter in the MQL Guide.
JSP Development
User-created JSP pages may access variables in a non-thread-safe way. A solution to this
problem is discussed in the “Using the Context Object” topic in the Creating a Login Page
chapter of the Programming Guide. Other common problems that occur when developing
JSPs are discussed in the “Programming Notes” topic in the Programming Guide.
482
ENOVIA Live Collaboration Installation Guide
Web Navigator Troubleshooting
This section contains information to help users address problems that they may encounter
with the Web Navigator. To have a successful install, you must completely remove all
references to the old version. Refer to Removing Web Navigator in Chapter 12 for details.
Set Context
Problems
The table below shows possible causes and solutions to typical errors starting up a Web
client.
Symptom
Possible Causes
Solution
Server throws a General
Protection Fault (GPF)
or “Dr. Watson” error
when setting context
No connection file was found.
Confirm that the connection file(MATRIX-R file) is
located in MATRIXHOME, as defined in the enovia.ini
file, and that a defined Oracle database alias matches the
connect string entry in the connection file.
Installation on
UNIX
Database alias not defined.
Connect string in connection file
doesn’t match database alias.
Problem
After installing an ENOVIA Live Collaboration client (either the Studio Modeling
Platform or the Live Collaboration Server), when you attempt to connect to an Oracle
database you receive the following error:
ORA-07268: szguns: getpwuid error
Solution
Open the passwd file from the /etc directory and append a plus sign followed by a colon
(+:). This allows both NIS and local users.
Look and Feel
Problem
Web Navigator appears with the metal look and feel instead of the Windows or motif look
and feel.
Solution
If the Web client has installed applications that include a JDK, the PATH and
CLASSPATH variables may be set for use with the other application. Check your PATH
and CLASSPATH to ensure that they do NOT refer to other JDKs like Symantic Visual
Cafe 3.0. If they do, you can either remove these entries from the PATH and CLASSPATH
values on the client, OR you can add the following parameter to the HTML page on the
server that contains Web Navigator:
<param name="LAF" value="windows">
Chapter 20: Troubleshooting ENOVIA Live Collaboration
483
The value may also be “motif”. Refer to Configuring Web Navigator in Chapter 12 for
more information on this and other parameters.
484
ENOVIA Live Collaboration Installation Guide
ENOVIA Studio Modeling Platform
Troubleshooting
This section discusses issues users must be aware of when using the Studio Modeling
Platform. Some of these are platform-specific and others apply to all installations.
Accessing Remote
File Systems
Problem
When accessing or storing files on a remote host machine, you receive the following
message:
Storage Manager: Cannot create or open file
hostname: /path/filename(Permission denied) (100101)
This occurs if you are attempting to access a remote captured store and the host machine is
not currently allowing you access.
Solution 1
ENOVIA Live Collaboration uses NFS or FTP to access remote captured stores. In order
for FTP to work appropriately, the remote system must be set up as an FTP server. If NFS
is in use, check that the remote machine’s file system is exported to the NFS clients. Ask
your System Administrator to export the necessary file systems. This is controlled by
appropriate entries in the remote system’s /export file.
All machines that contain ENOVIA Live Collaboration captured stores that will be
accessed via NFS must be running:
•
the RPC portmapper daemon
•
NFS
•
mountd daemons
The mounted daemons must be started with the appropriate options so unreserved ports
may be used for NFS mounts. Failure to do this will result in access only being allowed
when users are logged in as root. The options for various platforms are described below.
Sun Solaris platforms default to the “-n” option on startup of the rpc.mountd daemon.
However, on IBM RS6000 the rpc.mountd daemon must be manually started with the
“-n” option. On IBM RS6000 this is typically done by running the following command at
the root:
chssys -s rpc.mountd -a -n
Crash on Checkin
Problem
ENOVIA Live Collaboration crashes when the network connection goes down while
checking in a file.
Chapter 20: Troubleshooting ENOVIA Live Collaboration
485
Reason
If ENOVIA Live Collaboration cannot commit or abort a transaction, an error dialog
explains that a non-recoverable error has occurred. When the dialog is dismissed,
ENOVIA Live Collaboration gracefully exits. The application is not crashing.
Errors during
Administration
Problem
Attempts to add a new type or perform other administrative functions fail with errors
similar to:
Error #1200060 Can't create new derived from for the type
ORA-12154: TNS:could not resolve service name
Solution
For administrative work done in the Business, System, or MQL applications, all server
objects are accessed. For this reason, machines used for these functions must have an
Oracle database alias configured for each server object. For example, for a system with
two servers with connectstring values of “SanDiego” and “SanJose”, administrator's
machines must have two Oracle database aliases configured named “SanDiego” and
“SanJose”.
Installation on
UNIX
Problem
After installing an ENOVIA Live Collaboration client (either Studio Modeling Platform or
the Live Collaboration server), when you attempt to connect to the database you receive
the following error:
ORA-07268: szguns: getpwuid error
Solution
Open the passwd file from the /etc directory and append a plus sign followed by a colon
(+:). This allows both NIS and local users.
Localized
Character display
Problem
German umlauts or other European characters are not displayed correctly on Windows.
Solution
In some cases, Oracle Instant Client may not find the proper NLS registry settings. To
override the registry settings, set NLS_LANG as an environment variable. For example:
NLS_LANG=GERMAN_GERMANY.WE8ISO8859P15
486
ENOVIA Live Collaboration Installation Guide
Localized Decimal
Character Settings
Problem
When the database and localization files are setup to use European character sets with a
comma as the decimal character, the following Oracle error message may be generated:
ORA-01722 invalid number ...
Solution
The system decimal symbol must be synchronized with the character implied by the
Oracle database setting for NLS_LANG. The System Administrator can use the following
MQL command to set the system decimal symbol:
<mql> set system decimal .;
Refer to the MQL Guide for more information about the “set system decimal” command.
Overriding defaults in NLS_LANG
NLS_NUMERIC_CHARACTERS specifies the decimal character (the character that
separates the integer and decimal parts of a number) as well as the group separator (the
character that separates integer groups, i.e. thousands, millions, etc.), overriding the
defaults established by the territory defined in either NLS_LANG or NLS_TERRITORY,
whichever is in use. The characters are specified in the following format:
NLS_NUMERIC_CHARACTERS = “[DEC_CHAR][GROUP_SEP]”
The two characters specified must be single-byte, and different from each other. The
characters CANNOT be any numeric character, plus (+), hyphen (-), less than sign (<), or
greater than sign (>), but either MAY BE a space. For example, to set the decimal
character to a comma and the group separator to a period, the parameter should be set in
the Oracle initialization file (init<SID>.ora) as follows:
NLS_NUMERIC_CHARACTERS = “,.”
Using alternate decimal characters with SQL
When the decimal character is not a period (.) or when a group separator is specified,
numbers appearing in SQL statements must be enclosed in quotes. For example, with the
value of NLS_NUMERIC_CHARACTERS as set above, the following SQL statement
requires quotation marks around the numeric literals:
INSERT INTO SIZES (ITEMID, WIDTH, QUANTITY) VALUES (618, '45,5',
TO_NUMBER('1.234','9G999'));
Using alternate decimal characters with Tcl
Tcl 8.0 does not tolerate anything but a period as a decimal separator. The problem
exhibits itself if you try to use the tcl 'expr' command as follows:
set retVal [expr 8,5 + 4,2]
If MX_DECIMAL_SYMBOL is set to comma(,) (Oracle only) all real numbers from the
ENOVIA Live Collaboration database will be converted to have comma as a decimal
separator before being output. If you must perform Tcl arithmetic, and you have any users
that have MX_DECIMAL_SYMBOL set to comma(,), you should incorporate the
following program into the users’ Tcl library, and call it in place of the Tcl “expr”
procedure to evaluate decimal numbers.
#############################################################
# File Name: mxExpr.tcl
# Description: Workaround for tcl-proc \"expr\" working with
\",\"
Chapter 20: Troubleshooting ENOVIA Live Collaboration
487
#############################################################
proc Expr { args } {
if { [ regsub -all \",\" $args \".\" args ] } {
set sRet [ expr $args ]
regsub \\\\\\. $sRet \",\" sRet
} else {
set sRet [ expr $args ]
}
return $sRet
}
#############################################################
If you must perform O/S arithmetic with Tcl, such as working with file sizes or other real
numbers from the O/S, and LANG is set to define comma as decimal separators, you may
need to use the Expr function defined above to handle those calculations.
ENOVIA Live Collaboration supports a deprecated environment setting
(MX_TCL_ANSI_NUMERIC) to force the decimal separator to be period(.) when tcl
programs run, but this is only suitable for use in single-threaded (Studio Modeling
Platform) environments, since it modifies the system LOCALE setting which affects all
other threads in the process.
The behavior of a multi-threaded server running with this setting is unpredictable, and is
not supported.
When used in a desktop environment, the behavior is as follows:
.Rollback Segment
Error
•
if MX_TCL_ANSI_NUMERIC=true, ENOVIA Live Collaboration overrides the
LC_NUMERIC setting during execution of Tcl programs to establish a period (.) as
the decimal setting. This causes operating system utilities to return floating point
values in a form that is suitable for performing arithmetic using the Tcl "expr"
procedure. Values obtained from MQL commands will continue to be returned using
the character set as MX_DECIMAL_SYMBOL.
•
if MX_TCL_ANSI_NUMERIC=false, (the default) the setting for LC_NUMERIC is
used and Tcl calls to the operating system will return floating point values according
to the LOCALE settings in the OS.
An error similar to the following may occur if Oracle rollback segments are not large
enough:
System Error: #1: ORA-01562: failed to extend rollback segment
number 2 ORA-01650: unable to extend rollback segment R01 by 64
in tablespace RBS
This means that the rollback segment being used needs to be enlarged. Generally this
occurs in the following circumstances:
•
Deleting lots of IconMail;
•
Data loading using explicit transaction boundaries;
•
Upgrading the database
•
Clearing vaults or the entire database (clear all;)
•
Any customization that uses large transaction boundaries;
The storage manager or sqlplus may be used to increase the size of the “next extent” for
the rollback segment to accommodate the size of the transaction. Typically, there is a
488
ENOVIA Live Collaboration Installation Guide
maximum of 121 rollback segments, so the product of the next extent and 120 must exceed
the total size of all files being accessed within this one transaction. Refer to Oracle
documentation on Storage Manager for information on performing this task.
Color Mapping
Problem
•
When entering the Studio Modeling Platform, the colors are incorrect or unavailable
after other external applications have exhausted the color resources. The Studio
Modeling Platform colors display incorrectly or you receive the error message “xalloc
color cells.”
•
After exiting the desktop, colors for the desktop are incorrect.
Reason
The problem occurs because the desktop works best when sharing the default colormap as
originally defined by MIT’s X11 standard. However, ENOVIA Live Collaboration,
requires large amounts of color.
Solution 1 (UNIX)
Run the X standard colormap utility to define the standard colormap properties. This
utility, xstdcmap, is provided in the <INSTALL_PATH>/etc/<PLATFORM>/ directory.
Executing the following will correct the color mapping problem by automatically loading
the default color mapping:
<INSTALL_PATH>/ etc/<PLATFORM>/ xstdcmap -delete default
<INSTALL_PATH>/ etc/<PLATFORM>/ xstdcmap -default
The default colormap should generally be loaded after the X server is started and before
the desktop (and the Window Manager), can allocate color cells. This can be accomplished
through methods that vary with each platform, and are described as follows:
SPARCstations (Solaris)
Edit the .xinitrc file in the user’s home directory and put the xstdcmap commands at the
beginning of the file. If there is no .xinitrc file in the user's home directory, copy the
default file from the /usr/openwin/lib/Xinitrc.
IBM RS6000 (AIX)
Edit the .xinitrc file in the user’s home directory and put the xstdcmap commands at the
beginning of the file. If there is no .xinitrc file in the user's home directory, copy the
default file from /usr/lpp/X11/defaults/xinitrc.
Solution 2 (UNIX and WINDOWS)
There are two flags available that can be passed to the desktop that will regulate colormap
usage. The flags may be added to the command line or setup scripts as follows:
-standardcolormax <DECIMAL>
-sharedcolormax <DECIMAL>
Where <DECIMAL> represents a real number between 0 and 1.
Chapter 20: Troubleshooting ENOVIA Live Collaboration
489
The standard flag represents the fraction of the standard colormap that ENOVIA Live
Collaboration will control. The default is .75, which should be adjusted to ensure that
appropriate colors are available to other desktops. Setting this flag to zero will cause no
standard colors to be allocated.
The shared flag represents the fraction of the shared colormap (that is, the Windows or X
default colormap) that is allocated for ENOVIA Live Collaboration. This defaults to 1,
which means that ENOVIA Live Collaboration has access to the entire colormap for
custom colors. Setting this value to zero means that ENOVIA Live Collaboration will use
a private colormap. When the private color map is used, the active desktop window will
look fine, but the inactive windows may give up their colors until they become active. This
may appear as “flashes” when switching between desktop applications.
If both of the above solutions are used in unison and the problem still occurs, the
colormapping of the other applications should be examined.
Launching
Applications in
Windows
Problem
On all Windows platforms, Studio Modeling Platform windows are not repainted while
the launched desktop is executing. This causes no harm, but can be visually unappealing.
Solution
By setting a preference called MX_WIN_MIN_ON_LAUNCH, a user can cause all
Studio Modeling Platform windows to be minimized during the execution of the launched
desktop. When the launched desktop terminates, the Studio Modeling Platform windows
are restored. The value assigned to this preference is True or False. When set to True, the
Studio Modeling Platform windows are minimized. The default is False. This preference
is read from the enovia.ini file prior to each launching.
490
ENOVIA Live Collaboration Installation Guide
Miscellaneous Troubleshooting
This section contains troubleshooting issues that are either common to several areas or
belong to an area separate from server configuration, Web Navigator, or Studio Modeling
Platform.
FTP Connection
Timeouts
All supported operating systems provide a TCP KeepAlive socket feature which ENOVIA
Live Collaboration uses for all FTP connections. When ENOVIA Live Collaboration
creates a socket for use in a FTP transfer (that is, for checkin/checkout operations with
FTP stores or with FCS), the socket utilizes the TCP SO_KEEPALIVE option. If
ENOVIA Live Collaboration is unable to set the SO_KEEPALIVE option on the
socket(s), it will print a warning.
With the proper OS TCP stack configuration, large file transfer attempts through firewalls
and other intermediary network devices, including proxies, no longer fail due to the FTP
control connection time outs and termination.
Below are guidelines for enabling and configuring TCP KeepAlives on the various
platforms.
Platform
Relevant parameters
Command to check
Command to change
AIX
tcp_keepidle
tcp_keepintvl
no –o tcp_keepidle
no –o tcp_keepintvl
no –po tcp_keepidle=14400
no –po tcp_keepintvl=240
LINUX
tcp_keepalive_time
tcp_keepalive_intvl
tcp_keepalive_probes
cat /proc/sys/net/ipv4/
tcp_keepalive_time
cat /proc/sys/net/ipv4/
tcp_keepalive_intvl
cat /proc/sys/net/ipv4/
tcp_keepalive_probes
In /etc/sysctl.conf
net.ipv4.tcp_keepalive_time = 7200
net.ipv4.tcp_keepalive_intvl = 75
net.ipv4.tcp_keepalive_probes = 9
#sysctl -p
Solaris
tcp_keepalive_interval
ndd /dev/tcp
tcp_keepalive_interval
ndd -set /dev/tcp
tcp_keepalive_interval 290000
Windows
HKLM\SYSTEM\CurrentControlSe
t\Services\Tcpip\Parameters
KeepAliveInterval
KeepAliveTime
regedit
Regedit or .reg file
Changing the keepalive interval is a server wide and not per connection / process setting.
Before making changes to the TCP stack in a production system these changes must be
qualified in a comparable test environment.
If you find you have long data transfers (replication) between stores on separate sides of a
firewall that is configured to time out TCP connections that remain idle for a given
interval, then you will want to configure your operating system’s TCP stack to send
KeepAlives at an interval smaller than the interval at which the firewall times out idle TCP
connections. You should contact your IT infrastructure staff to determine what is the
maximum time the infrastructure hardware will allow a connection to remain active. An
industry standard is 300 seconds (5 minutes). You would be safe to set the keepalive
interval to 290 seconds. If the hardware is not dedicated to ENOVIA Live Collaboration,
then you must determine the impact of lowering the keepalive interval for any other
application on the server.
Chapter 20: Troubleshooting ENOVIA Live Collaboration
491
Laptop
Performance
Problem
From a laptop computer, opening ENOVIA Web pages, setting context and performing
finds seem to take longer than should be necessary.
Solution
Check the following:
1. Set your browser default page to a local file instead of the browser’s default
homepage of www.microsoft.com or www.mozilla.org. Browser initialization and
host name resolution as well as anything using TCP/IP will all perform faster.
2. Check that the hostname for the DNS settings is set to the machine’s network name.
Open the Network option from the Control Panel. Click the Protocols tab and choose
TCP/IP protocol properties. Click the DNS tab and make sure the host field specifies
the correct machine network name.
3. Open the \winnt\system32\drivers\etc\hosts file. Make sure your
machine IP and name are listed. This helps resolve the host name more quickly.
Session Timed Out
Error
Problem
The following error is received when performing any operation:
java.lang.Exception: Session timed out
Solution
Timeout limits are set and enforced in the Web or application server. If a period of
inactivity occurs that is greater than the limit set, for security reasons, users are forced to
login again. Consult your Web server's documentation for information on setting this limit.
Tar Error When
Unpacking
Distributions
If you receive LongLink error(s) when attempting to untar an ENOVIA distribution file
such as ENOVIALiveCollaborationServer-VERSION.tar, install GNU tar 1.14 or higher
and unpack with “gtar”. The original POSIX format can only handle 100 characters for
link names.
Problems with JSP
Path for ENOVIA
products
If you have problems with the path for the JSPs when using an ENOVIA product, make
sure the following settings are defined as follows in the web.xml file.
492
ematrix.login.page=/ematrix/emxLogin.jsp
ematrix.home.page=/ematrix/emxHome.jsp
ENOVIA Live Collaboration Installation Guide
21
Server Diagnostics
Overview
You can use the following server diagnostic tools for the Live Collaboration Server:
•
The Monitoring Agent tool which periodically gathers information on a Live
Collaboration Server instance and maps it to standard IBM CBE (Common Base
Event) monitoring log format. For details, see Monitoring the Live Collaboration
Server using the Monitoring Agent.
•
Tracing tools which send trace information to either a file or a standard output. For
details, see Tracing Types.
493
Monitoring the Live Collaboration Server using
the Monitoring Agent
The ENOVIA Live Collaboration Server can be monitored using a tool called the
Monitoring Agent. The monitoring agent is delivered with the Live Collaboration Server
and can be used to monitor availability, performance, security, and usage throughout the
different layers of ENOVIA Live Collaboration and other ENOVIA components like the
DS License Server. These layers include the kernel, VPM and ENOVIA applications.
The monitoring agent is a standalone process launched from a command-line. After the
agent is configured to monitor a Live Collaboration Server instance (the agent can only
monitor one server instance at a time) it will periodically gather monitoring information
on the server, map it to standard IBM CBE (Common Base Event) monitoring log format,
and save it to the local machine where it runs.
The monitoring agent can either run on the same machine as the Live Collaboration Server
or on different machine to reduce its impact on Live Collaboration Server performance.
Setting up the
Monitoring Agent
Setting up the monitoring agent involves creating a keystore file and initially starting the
agent with your configuration options. A keystore file only needs to be created if the agent
is monitoring a component that requires authentication. For example, the Live
Collaboration Server requires authentication but the DS License Server does not. This
means if the agent will only be monitoring a DS License Server, a keystore file is not
needed.
Creating a
keystore File
For security reasons, you cannot start the monitoring agent by entering a username and
password directly in the command-line. Instead, the agent must be started using a keystore
file that conceals the username and password.
The username and password used to create the keystore file must be licensed to use the
Live Collaboration Server. No specific roles or access are required for this username and
password. A
Download