MVC - Organizing models and managing GUI windows

I'm having difficulty organizing my MVC models and basically controlling the whole application in general. My application works, but all the controlling logic is being dumped into the main class (Main.java). Here's a simple example of the problem I'm having:
Objectives
1) Display a list of Companies; i.e. Sun, Microsoft, Adobe, etc. (JFrame with a JList)
2) The user select a Company and it pops up a new dialog with a list of Employees. (JDialog with a JList)
Here are the classes I came up with:
Models:
1) CompanyListModel
2) EmployeeListModel
Listeners:
1) CompanyListener
Views:
1) CompanyListFrame
2) EmployeeListDialog
Domain Objects:
1) Company
2) Employee
And then there's the main application class. To implement the above objective, I've been using my main class to control the GUI.
Here's an example of how I've implemented it.
public class Main implements CompanyListener {
    /** Creates a new instance of Main */
    public Main() {
        CompanyListModel companyModel = new CompanyListModel();
        companyModel.addCompanyListener(this);
        CompanyListFrame gui = new CompanyListFrame(companyModel);
    // A company was selected.  Open a new dialog and display the employees
    public void companySelected(CompanyModel companyModel) {
        Company company = companyModel.getCompany();
        EmployeeListModel employeeModel = new EmployeeListModel(company));
        EmployeeListDialog = new EmployeeListDialog(employeeModel);
    public static void main(String[] args) {
        new Main();
}My program is similiar design wise to the above, but contains many more classes. I'm still using my main class to control GUI logic (popping up new windows and creating models, etc). Thus, my main class implements like 5 different listeners. I'm sure this is a really poor design choice, I just don't know how else to implement it.
I should not nest models... correct? I was thinking about nesting the models, i.e. CompanyListModel contains an EmployeeListModel, but then the CompanyListModel will need to spawn the EmployeeListDialog when a Company is selected, right? Thus, I'd be mixing the view with the model.
Please provide some advice! :( Thanks!

I'm sorry, I read your reply about 3 times and I've
spent the last 20 minutes trying to implement it.
I'm just not sure how the controllers are involved.
Could you possibly provide source code for the
controllers (and any part of the models / views that
communicate with the controller)?No source code. Read about the MVC pattern.
I feel like this is a wasted effort. I'm the sole
entry level programmer at my company and I have only
one year real wold experience . I work with about 10
other senior level (microsoft) programmers and none
of them code in this fashion. All of our
applications are desktop applications using C#,
C/C++, or scripting languages.What's a wasted effort? You posting a question? Me posting a response? You writing Java? You trying to think about how to do this properly?
So why are you using Java if you're in a Microsoft shop? How's this working out with your co-workers?
I feel like if I worked on a project with one of
them, they would criticize me for using MVC and
"complicating" such a simple issue.That's usually because Microsoft likes tying a particular text box to a column in a table. If you change the textbox value you change the database. Nice and easy, right?
In trying to implement this solution, my workspace
now has a huge load of classes for something so
simple:
Company
CompanyFrame
CompanyListController
CompanyListListener
CompanyListModel
CompanyListPanel
Employee
EmployeeListDialog
EmployeeListModel
EmployeeListPanel
Main
11 classes and I left out the Emp Controller and
Listener to simplify the example. The more classes
that you have, the slower the application startup
time. Moving the Views to JPanels as you suggested
seemed smart but it wound up making it more
difficult. I'm using NetBeans and Matisse and I
don't believe you can use another JPanel class in the
GUI editor unless you make it a bean.
Traditionally, I would have implemented as follows.
I would have completed it in 5 minutes and it would
be much easier to understand what's going on:
Company
CompanyFrame - contains a list of companies
Employee
EmployeeListDialog - contains a list of employees
Main
Of course doing it this way I'd be mixing data with
the view, but is that always a bad thing or is it
only bad for large scale applications? Should MVC
not be used for small modules like this?For small modules that are nothing more the CRUD operations, it might be that a simpler approach is fine. (PS - CRUD stands for Create/Read/Update/Delete, standard relational operations on tables. I'm not commenting on you or your code.)
It only becomes a problem when that "simple" CRUD application decides to branch into something bigger. The approach of mingling view and data can become problematic then.
It's still possible to have a clean application for small apps. I think most Microsoft programmers do it that way because the wizards and stuff they're used only allow it to be done that way.
The reasons why I'm going away from my old "academic"
programming practices is:
1) I want to become a better programmer of course!Kudos to you. At least you're still thinking about it.
2) There's alot of database queries in this
application so I wanted to separate that from the GUI
as much as possible. Thus, each model knows how to
query the database and it's all done on separate
threads.That's good motivation, too.
I'd really like to do this right. If you could
provide source that would be great. Also, are there
any good books on desktop GUI development geared
towards Java (or even C#)?I don't write for the desktop, so I'm not much help.
I already purchased the e-book Desktop Java Live,
which is great but they don't go into detail about
MVC and instead use Model-Presenter which has been
retired (according to Fowlers website). I found that
section fairly confusing so I figured I'd start with
MVC since it's more widespread (?).If you're reading Martin Fowler you're doing well.
Thank you.I'm sorry that I'm not more helpful.
%

Similar Messages

  • How to connect sharepoint online using client object model and authentictae against window login

    Iam developing A console application where in need to connect to sharepoint online and authenticate against window login can u please suggest me the code

    Hi,
    There is couple of helper method to check and validate the SPO credentials in the same solution.
    string userName = GetUserName();
    SecureString pwd = GetPassword();
    /* End Program if no Credentials */
    if (string.IsNullOrEmpty(userName) || (pwd == null))
    return;
    // Open connection to Office365 tenant
    ClientContext cc = new ClientContext(siteUrl);
    cc.AuthenticationMode = ClientAuthenticationMode.Default;
    cc.Credentials = new SharePointOnlineCredentials(userName, pwd);
    if you give incorrect user name or password it will throws an exception in the console.
    Murugesa Pandian.,SharePoint 2010 MCPD | MCTS|Configure

  • Intel Matrix Storage Manager disables Windows Update and Windows Validation on Windows 7 64-bit

    I have a Lenovo ThinkPad R61 8918CTO on which I did a clean install of Windows 7 Ultimate SP1 (64-bit) on a new Seagate Momentus XT 750GB drive. The installation was trouble-free, as were all of the post-install Windows Updates.
    Then I installed ThinkVantage System Update 4.03 and used it to install most of the available Lenovo updates. Big mistake. I'll spare you a detailed account of the hours I wasted troubleshooting, rolling back to previous restore points, and doing more troubleshooting, but it turns out that installing Intel Matrix Storage Manager driver v. 8.9.2.1002 caused Windows Update and Windows Validation to fail.
    Symptoms: Windows Update control panel can't check for updates and reports that the Windows Update service isn't running when it actually is. Online Windows Validation fails and the standalone Windows Validation utility won't install. Microsoft programs that require a validated copy of Windows (e.g., Microsoft Security Essentials) won't install. 
    Solution: Roll back the driver for the relevant SATA controller to the previous driver.
    I've reinstalled ThinkVantage System Update 4.03 and hidden the proposed Intel Matrix Storage Manager update; since then, I've used it to complete my Lenovo updates without issue.
    I hope this post will help other people with this problem find the solution a lot faster than it took me!

    This happened after installing a new advanced format drive with 4k-byte sectors, I'd guess.  If the storage driver doesn't report the physical sector size to Windows, update fails.
    I just ran across this myself (again) putting Win 7 on a T400.
    I don't know why this is still going on.  It may be that the update lists for older machines still have pre-AF-drive drivers listed.
    FYI, another fix is going to the Intel site and installing the latest Matrix Storage Manager AHCI driver.  This may be more desirable than rolling back to an older driver in some cases.
    Z.
    The large print: please read the Community Participation Rules before posting. Include as much information as possible: model, machine type, operating system, and a descriptive subject line. Do not include personal information: serial number, telephone number, email address, etc.  The fine print: I do not work for, nor do I speak for Lenovo. Unsolicited private messages will be ignored. ... GeezBlog
    English Community   Deutsche Community   Comunidad en Español   Русскоязычное Сообщество

  • SAP GUI with SNC logon and Hummingbird Exceed - SAP GUI window size issue

    We have discovered an issue when SAP GUI 7.10 is used to logon via SNC and Hummingbird Exceed is used on the same workstation to logon to a UNIX system either via x-windows or telnet.
    When the user logs onto a UNIX system using Hummingbird Exceed, then uses SAP GUI to logon to a SAP system with SNC authentication, the SAP GUI authentication works, but the favourites list is not fully displayed and has to be resized before any of the entries are available.
    Has anybody else seen this issue, and do they know if there is a fix available ? We wondered if there might be an issue with fonts or some other sort of conflict between Exceed and SAP GUI, but it is strange that the problem only occurs if SNC authentication is being used, and when userid+password is used to logon to SAP the problem does not occur.
    Cheers,
    Tim

    Hello Tim and Wolfgang,
    I was curious too as I found it interesting... so I tested a few combinations, but could not reproduce what Tim has described, at least not before my CPU reached 100% and the applications stopped responding (~2GHz processor, 1GB RAM, 48 kbps connection, latency ~ 2 x width of the Pacific Ocean, but Backend 7.00!).
    However I did notice some indications which might be a help (based on 7.00!):
    Back in 4.?? there was a problem in that large menus could not be searched(!). Sorry, I don't have access to SAP now, but from memory the note # was 444043 (or very similar) and introduced a form routine for large menus - from a printscreen I still have the message number which led me to the note - 'I476(S#)'.
    The system certainly distinguishes between MENU_TYPEs and the above note corrections could be found in several locations relating to the SAP menu 'S', the role menu 'A' etc, but I could only see that for favourites 'F' this is implemented for the menu search (when searching, not when loading).
    @ Tim: Ask you customer to create a favourites menu which only has 1 node or max 2 (certainly not more than 4!) and ~ 20 executable objects in it (not more than 30!)? Can they under any conditions achieve the described problem with such a menu?
    If not possible to reproduce, then the closest I could guess is a maximum limit of 4 nodes and max 30 objects for a 'F'avourite menu, before it is a minimum candidate for "performance problems" and consideration to be converted to a role ('A'ctivity group) menu instead.
    Sorry that I can only help by speculating, because I could not reproduce what you have described.
    Hopefully this problem will not happen to me in the New Year, and hope you will solve it for the rest of the year
    Cheers,
    Julius
    Updated memory (not RAM) by: Julius Bussche on Jan 3, 2008 9:07 AM

  • How to prevent iTunes for Windows from "Updating iTunes Library"? (Library is on a NAS and managed by iTunes for Mac. Now getting update wars between Mac and Windows versions of the player.

    How to prevent iTunes for Windows from "Updating iTunes Library"?
    My library is on a NAS and managed by iTunes on a Mac. I can connect from wife's Windows laptop using iTunes for Windows but every time I do, it Updates iTunes Library. Next time I log in from my Mac it Updates iTunes Library in return. It appears I'm experiencing "Update Wars" between the Mac and Windows versions of iTunes. I would like to allow my wife to stream iTunes songs to her new laptop but I don't want any updates from this source... prefer to manage the library from my Mac and not allow Windows to do any thing other than listen to existing playlists.
    Thanks for any help/suggestions.

    Connect the PC to the library on the NAS. Wait while "updated".
    Under Edit > Preferences > Advanced make sure the media folder is correctly pointed at the media folder on the NAS. If not correct, close iTunes, wait a few moments, then open iTunes again.
    Close iTunes on the PC. Do not open iTunes on the Mac.
    Copy the library files, iTunes Library.itl, iTunes Library Extras.itdb, iTunes Library Genius.itdb, sentinel and the folder Album Artwork into an empty iTunes folder on the PC, for example C:\iTunes.
    Click the icon to start iTunes and immediately press and hold down SHIFT. Keep holding until prompted to choose or create a library. Click choose and browse to the copied .itl file, e.g. C:\iTunes\iTunes Library.itl
    The library should now work properly on the PC, however check the setting for the media folder. If needs be correct, close iTunes and reopen.
    Open iTunes on the Mac. It will update again, but that should be last time.
    tt2

  • HT202008 I am having issues with my Window 7 on boot camp. My hardware is Macbook Pro Mid 2010 model and working on OS X 10.9.5. Recently I went to windows 7 to do a system upgrade but failed and was told to update the bootcamp drivers.

    I am having issues with my Window 7 on boot camp. My hardware is Macbook Pro Mid 2010 model and working on OS X 10.9.5. Recently I went to windows 7 to do a system upgrade but failed and was told to update the bootcamp drivers. I installed boot camp5 but seem to be the wrong version and change to boot camp 4 which was updated okay. However I still cannot do the updates. Can someone advice me please? Thank you!

    Please see Boot Camp: System requirements for Microsoft Windows operating systems - Apple Support for the appropriate version of drivers related to the specific version of Windows 7.
    MacBook Pro
    (13-inch, Mid 2010)
    4
    4
    DVD
    DVD
    DVD
    MacBook Pro
    (15-inch, Mid 2010)
    5
    5
    4
    DVD
    DVD
    DVD
    MacBook Pro
    (17-inch, Mid 2010)
    5
    5
    4
    DVD
    DVD
    DVD
    Be careful with Windows Updates, especially driver updates. Standard WHQL drivers can cause problems.

  • Are 'Select' and 'Refresh' supposed to be sticky in VM Manager GUI?

    VM Manager 2.2 - very nice GUI - pretty intuitive and easy to find your way around. Congrats to the team that added this.
    I did notice a couple of things:
    The 'Select' radiobutton choices and 'Refresh in:' dropdown choices are not sticky in the VM Manager GUI.
    Select a 2nd (anything but first) server and select '30 seconds' for 'refresh' on the Server Pools page (or any other page).
    Move to a different page; e.g. 'Servers'
    Return to the original page.
    The first radio button will be the one selected and not the one the user chose. Also, the 'refresh' setting will have been reset to 'Manually'.
    Also the TimeStamp format for the Administration logs is different than the format for the server pool and server logs:
    Admin log: 2009.12.14 at 20:52:25 GMT+00:00
    Server log: 2009-12-14 12:27:19
    Server pool log: 2009-12-11 21:19:53
    One possibility for the refresh is to always do a refresh on a page load. Then when you tab to a new page you know you are getting fresh info. Or make the refresh choice sticky and add a '10 second' and '20 second' choice.

    rp0428 wrote:
    I did notice a couple of things:This forum should not be used as an enhancement request/bug reporting tool. :) You're better off logging an SR with your issues/suggestions: that can at least be assigned to the product management/development teams for review.

  • SCCM 2012 Software Update Management for Windows Servers and how to automatic set SCOM maintenance mode?

    Hi,
    We planning to go one level higher to automat and have more dynamic Software Update Management for Windows Servers. We have SCCM 2012 R2, SCOM 2012 R2 and SCO 2012 R2.
    Our plan is to pur server in an AD-Group to get Update Schedule, from the servers will be importet to an Collection for Automatic Update and reboot. If I understand Everything right SCOM can't read AD-Group and put then in an Schedule maintenance mode. SCOM
    can read reg value as exempel.
    IS there any smar way to make the SCOM Maintenance Mode Schedule dynamic?
    I found this
    http://www.scom2k7.com/scom-2012-maintenance-mode-scheduler/?
    /SaiTech

    You could use Orchestrator to put the servers from a specific collection, or AD group, in maintenance mode in SCOM. For an example see:
    http://www.systemcentercentral.com/orchestrator-how-to-scom-maintenance-mode-for-windows-computers-in-an-sccm-collection/
    My Blog: http://www.petervanderwoude.nl/
    Follow me on twitter: pvanderwoude

  • Automating start / restart of WebLogic Admin and managed servers on MS Windows

    Hi All,
    Please help me to do the automation of start and stop scrip of Oracle Weblogic 10.3.6 and Forms and Reports 11.1.2.2.0(Managed Servers) On Windows server 2008.
    Here are two options for automating start / stop of WebLogic Admin and managed servers on MS Windows. Please suggesst which one is standrad procedure.
    Use NodeManager (installed as a MS Windows Service)
    or 
    Create Windows Service(s) for the server(s) - no NodeManager
    Following Document : 1060058.1
    Please suggest me the best practice. Many thanks in advance.
    Kind Regards,
    Mohan

    Hi Borys,
    Thank you for quick reply...
    If we use the first option "Create Windows Service(s) for the server(s) - no NodeManager" then we will be facing issue Like "Admin Server or Managed Server may go into an unhealthy or failed state but the JVM is still running"
    In the document : 1060058.1 : Mentioned as Important Note: The second option has a limitations.
    Limitaion is below when we use first option : "Create Windows Service(s) for the server(s) - no NodeManager" -
    Windows Services Manager only monitors the JVM process. If the JVM process fails (shuts down), then Windows Services Manager will attempt to restart it. But there are some scenarios where the Admin Server or Managed Server may go into an unhealthy or failed state but the JVM is still running. The Windows Service will not know to restart the process in these cases. If a server is started using NodeManager, NodeManager would recognize such a state and restart the process accordingly. Furthermore, if you start up managed servers via a MS Windows Service, you cannot monitor and/ or stop the managed server via the Weblogic Admin Console and/or Fusion Middleware ( Enterprise Manager ) Control.
    I have implemented the second option "Use NodeManager starting admin and manged servers via WLST script" - Python script. Its working well without issue...No Limitation...
    Script Contains Below :
    print "================== Start scripts of Managed servers and Admin server ======================"
    nmConnect(userConfigFile='D:/myFiles/myuserconfigfile.secure',userKeyFile='D:/myFiles/myuserkeyfile.secure',host='00.0.00.00',port='5556',domainName='ClassicDomain',domainDir='D:\Oracle\Middleware\user_projects\domains\ClassicDomain',nmType='ssl')
    print "================== Adminserver Starting ================================================"
    nmStart('AdminServer')
    connect('weblogic','Password1','10.4.93.117:7001')
    print "================== MANAGED SERVER (FROMS) Starting ====================================="
    start('WLS_FORMS','Server')
    print "================== MANAGED SERVER (REPORTS) Starting ==================================="
    start('WLS_REPORTS','Server')
    exit()
    HOPE WE WILL MEET AGAIN AND AGAIN...
    Many thanks for your comments!
    Kind Regards,
    Mohan

  • Backup and restore on solution manager in Windows

    Dear Team,
    I have one windows 2003 server in this 3 Harddisk Drive C , D , & E . In this solution manager and saprouter is installed.
    Now I want to move all these installation and data in other system.So that these same think Proper run in other system.l
    How I take the backup of old system and Restore in other new system.
    Because in this BRTOOLS not running.
    Whats is the process of take the backup and restore of solution manager in windows environment.
    pooja

    Hi,
    Solution Manager is dual stack system (ABAP+JAVA). Please refer this useful system Copy guide [How to System Copy ABAP and JAVA|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f055cbd0-97f1-2a10-c09a-907b811de000?quicklink=index&overridelayout=true] to get more detailed information.
    You can use Database Independent or Database Specific method to perform such System Copy.
    You can refer this useful document [Homogeneous-System-Copy-using-OnlineandOffline-ORACLE Backup|http://www.basisconsultant.com/component/remository/Sytem-Copy-Guides/Homogeneous-System-Copy-using-OnlineandOffline-Backup/] to get step by step details. In Database specific method you will have to create JAVA export also in ABAP+JAVA stacks system.
    Regards,
    Bhavik G. Shroff

  • SCP, SSH and SFTP in CMD / File-Explorer and SSH key management with Windows Credential Manger

    Please add SSH, SFTP and SCP in CMD and File Explorer.
    Also, allow us to copy to FTP in File Explorer.
    Would be nice to have the SSH credentials managed by Windows Credentials Manager.

    Even with the RHEL firewall completely disabled, it has the same upper limit. SCP between the Solaris systems, with ipfilter running on both systems and both systems on completely different networks, is not a problem. Between Solaris and RHEL, same network but different subnet, RHEL with no firewall running (only while troubleshooting this, don't panic), still a problem. Using PuTTY SFTP from/to any of the systems is fine, even though on different networks. The mtu on the RHEL was the same as the Solaris systems (1500) - changing values on the RHEL increased the upper limit but still hit a ceiling. Only have one RHEL system so I can't see whether RHEL-RHEL transfers are affected, only those between Solaris, PuTTY on Windows, and the one RHEL system.

  • How to Apply Exchange 2013 Active Directory Split Permission Model and Completely Isolate AD and Exchange Management??

    Hi Experts,
    I am Deploying Exchange 2013 in an organization where currently Active Directory is handled and Administered by a different Admins and they want Exchange to be managed by another set of Admins. My customer wants to completely Isolate Administration and Management
    of both AD And Exchange. i have gone through some technet articles and tested option for both RBAC and Active Directory Split permission model. I think Active Directory Split Permission model would be helpful but while testing i came to know that, via Split
    permission Exchange admin can not create or delete User/Dist. Groups but still he can Edit or modify the details (City, office address, phone no. Department and display name etc.) which means that this is not fully separation of Roles between AD Admins and
    Exchange Admins. 
    please help me to resolve below queries and Scenarios if supported by Exchange Split permission model -
    (1) only AD Admins should be able to create, Delete or modify the Security principles property in Active Directory. Exchange Admin should only need to modify Exchange related property/attributes from exchange Control panel or shell. they should not be able
    to change the Display name, and other AD related common attributes via Exchange Admin centre or management shell. 
    (2) similarly i want to restrict my AD Admins from modifying or changing exchange related attributes by any means (ADSIEDIT, ADUC,). i want to restrict my AD Admins from assigning organization management or recipient management rights to them-self and do
    any modification on my exchange servers via Shell or Admin Centre and then Revoke the membership from Exchange Security groups. i want AD Admins and Exchange should do their respective tasks without any ability to change/edit or modify any settings of each
    others??
    (3) I Want to restrict to open Exchange Admin Centre (ECP) via some limited Systems only. i know we can block to open ECP via internet but i want to restrict it to open within internal network as well and from limited systems of my Exchange Admin.
    Regards,
    Aanand Singh Karki
    Regards, Aanand Singh

    Hi,
    For Exchange privileges, I suggest use RBAC.
    Regards,
    Simon Wu
    TechNet Community Support

  • SQL Studio and DB Manager GUI - wrong installers

    There is a bug in these downloads.
    Under DB_Manager_GUI_7_6_Windows_x86_32_bit.exe is installer of SQL Studio, and under SAP_MaxDB_SQL_Studio_7_6_Windows_x86_32_bit.exe is installer of DB Manager GUI respectively.
    Please switch/rename these files. Chris

    Hello,
    1)
    Please review the document at
    http://maxdb.sap.com/doc/7_7/default.htm -> Glossary -> Database Manager
    "SAP MaxDB Database Manager is a database tool for creating and managing databases, database users, and Database Manager operators."
    You could run the SAP MaxDB Database Manager without passwords, but you need the user/pwd information to connect to the database.
    2)
    You could check the default database user's , DBM Operator passwords in MaxDB Library:
    http://maxdb.sap.com/doc/7_7/default.htm -> Glossary -> DBM Operator
    http://maxdb.sap.com/doc/7_7/default.htm -> Glossary -> Database System Administrator
    -> Changing Passwords of Standard Users
    3)
    If you have further questions/problems to connect to your database using Database Manager, please create the new thread. Please post also additional information :
    What is the version of the database instance?
    What SAP MaxDB Database Manager tool you are using < dbmcli ? Database Studio? DBMGUI? > ?
           What version?
    Thank you & best regards, Natalia Khlopina

  • Forms 10g installed and running on Windows Vista

    <font color=0000FF>Update 12-Dec-2008: </font>Oracle has published NOTE 559067.1 -- How to Install Developer Suite 10.1.2.0.2 - hence 10.1.2.3 - on Windows Vista, 24-OCT-2008 with some installation help.
    <font color=0000FF>Update 07-July-2008: </font> Added text at the bottom showing how to find patchsets for Forms 10g.
    <font color=0000FF>Update 29-May-2008: </font> This thread was started in November, 2007.  In January, 2008, Oracle released Patch 3 for Forms 10g, which makes Forms 10g compatible with Windows Vista.  As time permits I'll try to keep the information in this post up to date.   Updated information will be inserted <font color=0000FF>as blue text.
    </font>
    <font color=0000FF>Original message begins here:</font>
    This is a second thread I am posting to outline the steps I have used to install Forms on a Windows Vista Home Basic laptop.   The other thread describes installing Forms 6i:
          Forms 6i installed and running on Windows Vista
    Please read through the initial part of that post for the background.  I realize Oracle has not certified Forms 10g to run on Vista, but the time has come for my associates and I to upgrade our old computers to new desktop/laptop platforms, and I would hate to acquire XP machines and be stuck with them for the next 5 years.  <font color=0000FF>(Note: Since first posting this message, Oracle has certified Forms 10g Patch 3 (version 10.1.2.3.0) to run on Vista)</font>  So after another person informed me that he had Forms installed and running on Vista, I went ahead and bought one.  I found that as long as I set the compatibility mode to run Forms programs as Windows XP (and a few other changes), Forms 6i and 10g run quite satisfactorily.
    <font color=0000FF>Update 29-Jan-2008: </font> Unfortunately, it turns out that the Forms 10g Builder running on Vista <font color=0000FF>had</font> a major flaw:   If you try to develop a form, the Builder will crash if you try to compile a procedure that calls another procedure in the form that has errors.  The problem is reported and described in this thread:  Error compiling a form under Vista
    <font color=0000FF>Update 12-Mar-2008: </font> Installing Patch 3 on Vista does not help with this problem -- the Builder still crashes in the same situation.
    <font color=0000FF>Update 25-July-2008: </font> Applying Patch 7047034 has corrected the problem.   See this link within this thread:   Forms 10g: Installing Patch 7047034 on Windows Vista
    Webutil note:  I am stuck in a Forms 6i client/server world, so all my forms must run in that environment.   Therefore I have not used any Webutil software, and I do not know whether that part will run under Vista.
    Internet Explorer note:  On Windows Vista, IE CANNOT be used to run the Web Forms runtime.  It crashes immediately when you try to run a form.  Instead, I can use either Firefox (Firefox 2, Firefox 3.0 Crashes with Forms 10g) or Netscape, as long as they are set to disable java.  <font color=0000FF>[ Correction:   IE7 on Vista now runs the Forms 10g forms.   You just need to add "?config=jpi" to the browser URL when starting the Web Forms session.   More IE/Vista info: [url=http://forums.oracle.com/forums/thread.jspa?threadID=642973]Vista JInitiator Problem ]</font>
    The Oracle Developer Suite download page:
        http://www.oracle.com/technology/software/products/ids/index.html
    Oracle Developer Suite Installation Guide:
        http://download.oracle.com/docs/cd/B25016_07//doc/dl/core/B16012_04/toc.htm
    The steps below are those I followed to install Forms 10g (version 10.1.2.0.2)
    I.  Preliminary system changes in Windows
    When I started installing, I got the following error message:    Install has encountered an error while
        attempting to verify your virtual memory settings.
        Please verify that the sum of the initial sizes of
        the paging files is at least 256 MB.To fix this:  Go to Control Panel, System and Maintenance, View amount of RAM and processor speed (under "System"),
    Advanced system settings (in left "Tasks" column), Advanced tab, Settings (under "performance"), Advanced tab:
    Virtual Memory shows a "Total paging file size for all drives: 2337MB.
    Click "change", Uncheck "Automatically manage paging file size for all drives"
    Click "custom size:", set Initial size to: 2048, Max to 4096
    Click set button, then OK, get message:The changes you have made require you to restart your computer before
       they can take effect.Restart the computer.
    II.  Installing Forms 10g
    1.  Download two files from Oracle:
        ds_windows_x86_101202_disk1.zip (626,122,752 bytes)
        ds_windows_x86_101202_disk2.zip (236,880,881 bytes)
    2a.  Before extracting, it is a good idea to shut down any virus protection software.  It can sometimes prevent some files from being created.
    2b.  Extract both into the C:\oracle directory, as disk1 and disk2.
    3.  Using Windows Explorer, change the properties of setup.exe in the C:\oracle\disk1 folder.  (In windows explorer, right click, properties, Compatibility tab.)   Change the compatibility to run as Windows XP (Service Pack 2).
    4.  Right click setup.exe and click "Run as administrator"
    5.  Select "Installation type" = Complete (1.11 GB)
    6.  Received this message:Windows Firewall has blocked this program from
    accepting incoming network connections.  If you
    unblock this program, it will be unblocked on all
    public networks that you connect to.
    C:\users\steve\appdata\local\temp\orainstall...
      2007-10-29_11-59-08am\jre\1.4.2\bin\javaw.exeI clicked "Unblock"
    7.  Received this message:  "Provide outgoing mail server information"  I entered the smtp mail server that I use.
    8.  A summary screen displayed showing 274 products under New Installations.
    I clicked the Install button.
    9.   Received this message:  You can find a log of this install session at:
    C:\Program Files\Oracle\Inventory\logs\installActions2007.....log
    10.  The installation completed.  Installed products shows Forms 10.1.2.0.2
    III.  After the install completed
    1.  Create a shortcut to the Forms 10 Builder on the Desktop.
    On the shortcut line, after the .exe, add *userid=userxxx/pwxxx@orcl* so Builder automatically logs into 10g database.  If you do step 4 below (creating an easily-accessible folder to use for your forms) change the "Start in" path on the shortcut so it points to that folder.  Otherwise, Forms Builder will not find referenced objects and PLL libraries when it opens a form.  Also do the same on the Start, All Programs shortcut for the Forms Builder.
    Edit:  After applying Patch 3, the following steps are not necessary.
    Set its compatibility to Windows XP.
    Set checkbox: "Run this program as as an administrator."  (Without this, FormBuilder will NOT open a PLL library.)
    Click the "Show settings for all users" and change values there.
    2.  Copy "Start OC4J Instance" icon to desktop.
    Set its compatibility to Windows XP.
    The first time it runs, I got a Windows popup to unblock program named Java.  I clicked "Unblock".
    3.  tnsnames.ora:
    Rename C:\oracle\DevSuiteHome_1\network\admin\tnsnames.ora
    to:  tnsnames_orig.ora
    If you created a tnsnames.ora file for Forms 6i, just copy it to the path above.  If not, do this:
    Create a new tnsnames.ora file, copying entries old file on my old laptop, which contains all the connections I use.
    Delete the old laptop entry, replace with new entry for the new local ORCL connection on new laptop from tnsnames file renamed from the c:\oracle\... ...\10.2.0\db_1\ path.
    4.  Optional:  Create an easily accessible folder to store fmb files:
    C:\users\steve\.1\fmb10
    You don't really want to keep drilling into C:\oracle\DevSuiteHome_1\forms, and then find your .fmb file among the several dozen oracle-supplied files.
    To create a folder named .1, you have to open a CMD.exe (Windows DOS) window, and type the Make Directory command:
    MD .1
    That will create the folder within the current directory -- mine defaults to C:\users\steve
    Note:  If you also need to use Forms 6i like me, DO NOT EVER open a .fmb file in the Forms 10 Builder from the Forms 6i folder.  If you compile it, or even worse, save the .fmb, Forms 6i *cannot ever* access the file.  Instead, always use the File Manager (Windows Explorer) to copy the fmb from the fmb6 folder into the fmb10 location.
    5.  Change the Forms 10g Default.env file using a text editor.
    This file replaces all the settings originally written to the Windows Registry (GREAT idea, Oracle!  I hate the registry.)  No more Regedit.  The default.env file is located at: (DevSuiteHome_1 path)\forms\server\default.env
    Locate line with:  FORMS_PATH= and add:
        ;C:\users\steve\.1\fmb10
    Add a new line:
    FORMS_MMAP=FALSE
    The above allows compiling an fmx while the form is running.
    Add a new line:
    FORMS_ROWLOCK_OPTIMIZATION=FALSE
    (This fixes Oracle bug number 3949854, which prevents automatic skipping if the same value is typed over another value. TAR 4806199.993 Automatic Skip failure...)  See bug 4068896
    Add a new Line:
    FORMS_RESTRICT_ENTER_QUERY=False
    This allows use of Query-Where window in enter query, after entering a colon in any input field.  Without this, Forms returns FRM-40367: Invalid criteria in field nnn in example record.  Oracle shut it down to prevent "sql injection" attacks.
    6.  Jiniator setup:
    Run file jinit.exe in C:\oracle\DevSuiteHime_1\jinit\jinit.exe
    It installs Jinitiator 1.3.1.22.
    I installed it in C:\oracle\JInitiator 1.3.1.22\
    For Firefox, make sure a copy of file \bin\NPJinit13122.dll resides in   C:\Program Files\Mozilla Firefox\plugins.
    For Netscape, the path is:  C:\Program Files\Netscape\Navigator 9\plugins
    7.   Browser settings
    See the note above about using Firefox 2 and not Firefox 3!
    In Firefox 2 go to:  Tools-> Options-> Content
    Uncheck the "Enable Java" checkbox
    --Firefox terminates if this is not done!
    Note:  After my system automatically installed updates to either java or Firefox, re-check the "Enable Java" setting.  I am suspicious that one of these installs re-enables java in the browser.
    Also note:  some web sites cannot display properly if java is disabled.  Example:  U.S. time website: http://www.time.gov   Use Internet Explorer to view these.
    In Netscape make the same changes as Firefox.  Without disabling java, it also terminates when you try to run a form.
    Creating a url to use in the browser:
    Try this:
        http://127.0.0.1:8889/forms/frmservlet
    If it does not work, change the 8889 port number as follows:
    Open file:  C:\oracle\DevSuiteHome_1\install\portlist.ini
    Note the number in line:
    Oracle Developer Suite HTTP port = 8889
    Use the number as the port number.
    You can also change the 127.0.0.1 to the computer name:
    Control Panel, System and Maintenance, See the name of this computer (under "System").  Mine is "steve-PC"
    So the alternate URL is:     http://steve-PC:8889/forms/frmservlet
    To try out the URL, start the OC4J instance set up above.  Then start either Netscape or Firefox, and enter the URL.  You should get a welcome screen.
    If the above URL works, start up the Forms Builder, and open Edit, Preferences.  On the General tab, uncheck the "Build before running" check box (optional).  On the Runtime tab, set the "Application Server URL to the url above.
    To run a real form, add this to the URL after frmservlet, (with no spaces):
        ?form={formname}&userid={userxxx}/{passwordyyy}@{connect-string}
    but replace the parts in curly braces with the appropriate values.  Example:
        http://127.0.0.1:8889/forms/frmservlet?form=ABC&userid=abc123/zyx@orcl
    Setting up Forms Builder to directly run a form in the browser:
    Run the Forms Builder.  Go to Edit, Preferences, Runtime tab.
    Set the Application Server URL to:
        http://127.0.0.1:8889/forms/frmservlet
    (or use whatever URL string you developed above)
    Set the Web Browser Location to:
        "C:\Program Files\Netscape\Navigator 9\navigator.exe"
    (or an equivalent to run the Firefox browser).
    8.  FORMSWEB.CFG file changes
    The file is located at:
    C:\ORA_DS_101202\DevSuiteHome_1\forms\server\formsweb.cfg
    I changed the following two lines in the file, but these are my personal preferences:
    separateFrame=true
    lookandfeel=Generic
    9.  FMRWEB.RES file changes
    For Oracle help:  Enabling Key Mappings
    The file fmrweb.res defines actions (triggers that run) when a function key is pressed while running Forms.  The one released has unix-style key mapping, but I prefer keys originally mapped for Windows PC Forms users. There is a fmrpcweb.res in the same folder that can be renamed to fmrweb.res.
    In the C:\oracle\DevSuiteHome_1\forms path, I renamed fmrweb.res to fmrweb_orig.res.
    I have a file that I prefer to use, so I put it into the folder as fmrweb.res. The contents are listed below. It is organized so the most important keys are listed alphabetically at the top (URFD column is the sort column), followed by a group of less-important keys.  These are keys that are available to users, but they either would not use, or are disabled within most forms.  The URFD column in the second set starts with a hex A0 character, which is a high-order space, so collates after normal alphabetic characters.  (Note: If you want to copy the text below and use it, the hex A0 character has been changed by the forum software to a space. So you would need to use a text editor with hexadecimal character capabilities to replace the space with the original character. )
    My file has special keys defined for F2 (I use it for a debugging Key-F2 trigger in my forms), and a "Cursor to Home" F12 function. All the rest are pretty much the same as in the released fmrpcweb.res file, only mine are organized alphabetically on the URFD column.
    The Web Forms fmrweb.res file is editable using any programming editor (NOT MS Word!!!). The old Client/Server key mapping file, fmrusw.res, could only be changed using the Oracle Terminal program (and it is a pain to use).
    Here is the main part of my fmrweb.res file:#
    #Jfn :Jmn:  URKS            :Ffn :  URFD
    #    :   : (User-readable   :    : (User-readable
    #    :   :  Key-sequence )  :    :  function description)
    118  : 1 : "Shift F7"       : 74 : "Clear Form"
    121  : 0 : "F10"            : 36 : "Commit"
    117  : 0 : "F6"             : 65 : "Create Record"
    10   : 1 : "Shift Enter"    : 82 : "Cursor to Home" # sdsu uses this
    123  : 0 : "F12"            : 82 : "Cursor to Home" # sdsu uses this
                                        #: --Alt+Home works, but leaves the Action (first
                                        #: --pull-down menu item) highlighted.  Press Esc or
    36   : 8 : "Alt Home, then Alt" : 82 : "Cursor to Home" #-- Alt again to clear highlight.
    117  : 1 : "Shift F6"       : 63 : "Delete Record"
    119  : 0 : "F8"             : 77 : "Execute Query"
    120  : 0 : "F9"             : 29 : "List of Values"
    9    : 0 : "Tab"            : 1  : "Next Field"
    40   : 0 : "Down-Arrow"     : 7  : "Next Record"
    9    : 1 : "Shift Tab"      : 2  : "Previous Field"
    38   : 0 : "Up-Arrow"       : 6  : "Previous Record"
    112  : 0 : "F1"             : 35 : "Show Keys"
    116  : 1 : "Shift F5"       : 69 : " Clear Block"
    116  : 2 : "Ctrl F5"        : 3  : " Clear Field"
    113  : 1 : "Shift F2"       : 80 : " Count Query Hits"
    112  : 1 : "Shift F1"       : 78 : " Display Error"
    114  : 0 : "F3"             : 73 : " Duplicate Item"
    115  : 0 : "F4"             : 64 : " Duplicate Record"
    69   : 2 : "Ctrl E"         : 22 : " Edit Field"
    122  : 0 : "F11"            : 75 : " Enter " # Causes validation, w/o cursor move
    118  : 0 : "F7"             : 76 : " Enter Query"
    81   : 2 : "Ctrl Q"         : 32 : " Exit"
    112  : 2 : "Ctrl F1"        : 30 : " Help"
    34   : 0 : "Page Down"      : 66 : " Next Set of Records"
    119  : 1 : "Shift F8"       : 79 : " Print"
    10   : 0 : "Enter/Return key": 27: " Enter/Next Field"
    33   : 0 : "Page Up"        : 12 : " Scroll Up"
    116  : 0 : "F5"             : 87 : " F5 Key for special uses"
    #121 : 3 : "Shift Ctrl F10" : 82 : " Function 0" #--disabled.  Cursor to home defined above
    112  : 3 : "Shift Ctrl F1"  : 83 : " Function 1"
    113  : 0 : "F2"             : 84 : " Function 2"
    113  : 11: "Ctrl Alt Shift F2":95: " List Tab Pages" #<-REQUIRED, or F2 cant be assigned
    114  : 3 : "Shift Ctrl F3"  : 85 : " Function 3"
    115  : 3 : "Shift Ctrl F4"  : 86 : " Function 4"
    117  : 3 : "Shift Ctrl F6"  : 88 : " Function 6"
    118  : 3 : "Shift Ctrl F7"  : 89 : " Function 7"
    119  : 3 : "Shift Ctrl F8"  : 90 : " Function 8"
    120  : 3 : "Shift Ctrl F9"  : 91 : " Function 9"<B>Finding Forms 10g Patchsets</B>
    Here is how to do the search: Log into metalink ( https://metalink.oracle.com ), then click on the Patches & Updates tab, then Simple Search.
    In "Search by", select Product or Family. Enter "Developer Forms" in the box.
    Then click the Release choices, and select "iAS 10.1.2.3"
    Patch Type should be "Patchset/Minipack"
    Platform or Language should be "Microsoft Windows (32-bit)"
    Click Go, and the Forms 10g patch should show up. As of July, 2008 the only one available is: [url=
    https://updates.oracle.com/ARULink/PatchDetails/process_form?patch_num=5983622&release=1710123&plat_lang=912P&patch_num_id=943599
    ]5983622
    Edited 2008-12-12 to add a link to Oracle Note 559067.1  and added the fmrweb.res file listing.
    Edited 2008-10-28 to change text format to work better within new forum format
    Edited 2008-7-7 to add patchset search information.
    Edited 2008-4-21 to modify information.
    Edited 2008-3-6 to add information.
    Edited 2008-5-29 to update information.

    I followed your instructions and installed Developer Suite 10G on Windows Vista Home Premium edition. I have Oracle 11G DB running on the same machine.
    Two points, Steve:
    1. When I tried to set the maximum virtual memory to 6110 an error message displayed from Windows and told me that I can't set the maximum virtual memory to more than 4096. I set it to 4090 and it worked and I got nothing wrong during the installation process.
    2. After installing JInitiator and disabling Java on Firefox I called the http://127.0.0.1:8889/forms/frmservlet page and everything seemed to be OK because the Oracle Forms Services logo appeared and then a successful installation message appeared , but as I clicked (ok) to continue a gray screen appeared inside the browser (like the one displayed when you try to run a Java applet inside a browser) and then I wait to death till something appears but sadly nothing. I just get a blank gray screen inside my Firefox browser.
    Do you have any idea what to do to solve the problem?
    Regards

  • Install instructions for Search Modeler and integrating with Apps 11i

    Below are all the steps I took for creating integrating Search Modeler with an Oracle E-Business Suite 11.5.10.2 ATG RUP 7 instance called ERNIE.
    Much thanks to Oracle Support ( Rajesh Ghosh, Vikas Soolapani and Roger Ford), as this simply wouldn't have been possible without them.
    There are a few things in this document that may not be pertinent to your environment if you're doing this. I've made attempts to clarify those possibly optional sections in the documentation.
    I've broken the document down into the following multiple parts
    o Setting up a new RedHat 4.8 x86 server called ausSEARCHdev (The server is in AUStin, TX, is dedicated to SEARCH, and is for our DEV environment)
    o SES (Secure Enterprise Search 10.1.8.2 install
    o SES 10.1.8.4 patchset install
    o SES CPU patch apply
    o Standalone OC4J and ADF installation
    o Search Modeler installation and configuration
    o Configure ERNIE Apps instance to be on valid self-signed SSL certificate
    o Import ERNIE SSL certificate into SES and Search Modeler
    using aussearchdev initially
    rh4 x86, default oracle build
    ** htop and collectl are open source free performance monitoring packages we utilize**
    --start
    install htop and collectl
    wget http://dag.wieers.com/rpm/packages/htop/htop-0.7-1.el4.rf.i386.rpm
    rpm -ivh htop-0.7-1.el4.rf.i386.rpm
    wget http://downloads.sourceforge.net/project/collectl/collectl/collectl-3.4.0-4/collectl-3.4.0-4.noarch.rpm?use_mirror=voxel
    rpm -ivh collectl-3.4.0-4.noarch.rpm
    chkconfig collectl on
    service collectl start
    **We still need to install the necessary rpms so that collectl logs are compressed
    --end
    useradd -u 501 oracle
    groupadd -g 504 dba
    usermod -G 504 oracle
    verification:
         [root@aussearchdev ~]# su - oracle
         [oracle@aussearchdev ~]$ id
         uid=501(oracle) gid=501(oracle) groups=501(oracle),504(dba)
    passwd oracle
    ** /mnt/oraclebackup is a network dumpspot we use to hold Software installs, RPMs, etc
    ** /mnt/rpms is a network dumpspot we use to hold ISOs for OS software such as Redhat Linux
    mkdir /mnt/oraclebackup
    mkdir /mnt/rpms
    add the following to /etc/fstab
    XXXXXXX:/patches/oraclebackup /mnt/oraclebackup nfs defaults,hard,nolock 0 0
    XXXXXXX:/esxpress/nfs /mnt/rpms nfs rw,addr=XXX.XXX.XXX.XXX 0 0
    mount /mnt/rpms
    Next need to install various oracle needed RPMs.
    cd /mnt/rpms/rh40_upd8/RedHat/RPMS/
    rpm -ivh perl-Compress-Zlib-1.42-1.el4.i386.rpm
    rpm -ivh libaio-devel-0.3.105-2.i386.rpm
    rpm -ivh sysstat-5.0.5-25.el4.i386.rpm
    rpm -ivh unixODBC-devel-2.2.11-1.RHEL4.1.i386.rpm
    service collectl restart
    cd /tmp
    wget http://oss.oracle.com/el4/oracle-validated/oracle-validated-1.0.0-18.el4.i386.rpm
    rpm -ivh oracle-validated-1.0.0-18.el4.i386.rpm
    Now we should have all the RPMs we need.
    cd /etc/sysconfig/oracle-validated
    ./oracle-validated-verify
    cd /var/log/oracle-validated/results
    more orakernel.log
    uname -a
    should return 2.6.9 or higher
    rpm -qa|grep gcc-
    should return 3.4.3 or higher
    rpm -qa|grep glibc
    should return 2.3.4-2.9 or higher
    rpm -qa|grep make
    should return 3.80 or higher
    rpm -qa|grep binutils
    should return 2.15.92.0.2 or higher
    rpm -qa|grep openmotif
    should return 2.2.3-9.RHEL4.1 or higher
    rpm -qa|grep compat-db
    should return 4.1.25-9 or higher
    rpm -qa|grep setarch
    should return 1.6-1 or higher
    cat /proc/sys/kernel/sem
    should return 250 32000 100 128 or higher (250 32000 100 142 in our case)
    cat /proc/sys/kernel/shmall (1073741824 in our case)
    should return 2097152 or higher
    cat /proc/sys/kernel/shmmax
    should return half the size of physical memory (4294967295 in our case - NO LARGER on 32-bit OS)
    cat /proc/sys/kernel/shmmni
    should return 4096
    cat /proc/sys/fs/file-max
    should return 65536 (327679 in our case)
    cat /proc/sys/net/ipv4/ip_local_port_range
    should return 1024 65000
    values in /etc/security/limits.conf set by oracle-validated rpm, no changes necessary
    add the following line to /etc/pam.d/login
    session required /lib/security/pam_limits.so
    add the following to /etc/profile
    if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
    else
    ulimit -u 16384 -n 65536
    fi
    fi
    mkdir -p /d01/oracle
    chmod 777 /d01/oracle
    init 6 the box (aka reboot)
    Time to start the SES 10.1.8.2 installer
    running SES 10.1.8.2 installer
    as oracle
    cd /mnt/oraclebackup/deathstar_patches/SES/SES10182
    ./runInstaller
    search server name sesprod
    administrative password XXXXXXXX for dev,
    http port 7777
    destination path /d01/oracle/10.1.8/sesdev (dev)
    data storage path /d01/oracle/sesdevdata (dev)
    next
    inventory /d01/oracle/oraInventory
    dba group
    run orainstroot.sh as requested
    continue
    all tests should pass, continue
    finished clean
    tried logging in to admin console at http://aussearchdev:7777/search/admin - worked fine
    tried bringing up search query at http://aussearchdev:7777/search/query/search - worked fine
    Now we need to get to 10.1.8.4 of SES
    (yes, you need to keep the system up)
    cd /mnt/oraclebackup/deathstar_patches/SES/SES10184/ses_10184pst_linux/
    ./runInstaller
    Destination, choose sesdev
    Next
    Patchset successful
    tried logging in to admin console at http://aussearchdev:7777/search/admin - worked fine
    tried bringing up search query at http://aussearchdev:7777/search/query/search - worked fine
    Apply CPU Patch to SES
    CPU JAN 10 says patch 9119261 is required - but patch requires extended support contract
    CPU OCT 09 says patch 8836540 is required - but patch requires extended support contract
    CPU JUL 09 says patch 8534394 is required - but patch requires extended support contract
    CPU APR 09 says patch 8290534 is required - and you can actually download it
    Need opatch from 6880880
    cp -r /mnt/oraclebackup/deathstar_patches/SES/CPUAPR09/OPatch $ORACLE_HOME
    export PATH=$ORACLE_HOME/OPatch:$PATH
    shut down everything
    cd $ORACLE_HOME/bin
    ./searchctl stopall
    cd /mnt/oraclebackup/deathstar_patches/SES/CPUAPR09/8290534
    opatch apply
    cd $ORACLE_HOME/cpu/CPUApr2009
    **Note: your sys password is what you set for your administrative password above
    sqlplus "sys/XXXXXX" as sysdba;
    startup
    @catcpu
    @?/rdbms/admin/utlrp
    shutdown immediate
    exit
    cd /d01/oracle/10.1.8/sesdev/cpu/view_recompile/
    sqlplus "sys/XXXXXXX" as sysdba;
    startup upgrade;
    @view_recompile_jan2008cpu.sql
    @?/rdbms/admin/utlrp
    shutdown immediate
    cd /d01/oracle/10.1.8/sesdev/jdk/jre/lib/ext
    mv mail.jar $HOME/mail.jar.backup02222010
    mv mailapi.jar $HOME/mailapi.jar.back02222010
    cp /d01/oracle/10.1.8/sesdev/search/lib/mail.jar .
    SES 10.1.8.4 is now installed and updated with latest available CPU
    tried logging in to admin console at http://aussearchdev:7777/search/admin - worked fine
    tried bringing up search query at http://aussearchdev:7777/search/query/search - worked fine
    we're going to go with the standalone OC4j 10.1.3.3 and Oracle ADF 10.1.3.3 method
    The URLs for these products are
    http://blogs.oracle.com/ebssearch/2009/10/available_now_oracle_search_modeler_11_for_oracle_e-business_suite_11i.html
    and specifically
    OC4J - http://download.oracle.com/otn/java/oc4j/101330/oc4j_extended_101330.zip
    ADF - http://www.oracle.com/technology/software/products/jdev/htdocs/adfinstaller10133.html
    OC4J install
    First you need to have Java 1.5 on the machine. Latest is 1.5.0_22. Package is in /mnt/oraclebackup/deathstar_patches/SES
    as root on aussearchdev
    cd /usr/local
    cp /mnt/oraclebackup/deathstar_patches/SES/jdk-1_5_0_22-linux-i586.bin .
    chmod 700 jdk-1_5_0_22-linux-i586.bin
    ./jdk-1_5_0_22-linux-i586.bin
    yes
    install OC4J just by copying over the directory
    as oracle on aussearchdev
    mkdir -p /d01/oracle/oc4j
    cd /d01/oracle/oc4j
    cp -r /mnt/oraclebackup/deathstar_patches/SES/oc4j/* .
    ADF install
    vi /mnt/oraclebackup/deathstar_patches/SES/adf/adfinstaller.properties
    change the following
    OracleHome = /mnt/oraclebackup/deathstar_patches/SES/adf
    DesHome = /d01/oracle/oc4j/
    type = OC4J
    as root
    cd /usr/bin
    rm java
    (yes)
    ln -s /usr/local/jdk1.5.0_22/bin/java
    su - oracle
    java -version     should now return 1.5.0_22
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    cd /mnt/oraclebackup/deathstar_patches/SES/adf
    java -jar runinstaller.jar -version
    returns The version for the ADF libraries being installed is 10.1.3.41.57 - yes, that is apparently 10.1.3.3.
    java -jar runinstaller.jar adfinstaller.properties
    output looks good, do not be concerned by
    WARNING: 'Could not delete: /d01/oracle/oc4j/BC4J/redist/bc4j' whilst deleting bc4j application
    WARNING: 'Could not delete: /d01/oracle/oc4j/BC4J/redist/datatags' whilst deleting datatags application
    as it was trying to delete the old version that didn't exist
    Start OC4J
    as oracle on aussearchdev
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export ORACLE_HOME=/d01/oracle/oc4j
    cd $ORACLE_HOME/bin
    ./oc4j -start
    you will be prompted for password - we're setting it. use XXXXXXXXXX
    after it's up, kill it (ctrl-c) and restart it with
    nohup ./oc4j -start &
    last lines in nohup.out is
    Starting OC4J from /d01/oracle/oc4j/j2ee/home ...
    10/02/23 03:22:38 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
    So now on to search modeler installation, going by Installation steps in Note 781366.1
    8326128 - This is not a patch to be applied to the Apps, keep reading
    as oracle on aussearchdev
    cd /mnt/oraclebackup/deathstar_patches/SES/8326128
    mkdir -p /d01/oracle/oc4j/uploaded
    vi build.properties, changing
    installation.type=OC4J
    oracle.home=/d01/oracle/oc4j
    deploy.server=aussearchdev.domainname.com
    deploy.port=23791
    web.port=7777
    password=XXXXXXXXX
    extra.classpath=/d01/oracle/oc4j/uploaded
    now set the following environment values in your ssh session
    export ORACLE_HOME=/d01/oracle/oc4j
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export PATH=$ORACLE_HOME/ant/bin:$ORACLE_HOME/bin:$PATH
    ant main
    whole bunch of stuff to screen, errors due to undeploy something that doesn't exist. Finished after a minute with
    BUILD SUCCESSFUL
    Total time: 58 seconds
    Now on to post install steps
    restart OC4j
    cd $ORACLE_HOME/bin
    ./modeler.sh -shutdown -port 23791 -password r*l*r*0*
    export ORACLE_HOME=/d01/oracle/oc4j
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export PATH=$ORACLE_HOME/ant/bin:$ORACLE_HOME/bin:$PATH
    nohup ./modeler.sh -start &
    end of nohup.out should show
    Starting OC4J from /d01/oracle/oc4j/j2ee/home ...
    Try going to http://aussearchdev:8888/modeler/faces/ModelerHome.jsp
    Should get login screen, but wait, we haven't installed Oracle Apps interface yet...
    Next let's do the Apps side of things
    Going by note 953378.1
    Using ERNIE (a development instance of E-Business Suite running 11.5.10.2 ATG RUP 7)
    as applmgr on ausernieapp (ausernieapp is our app tier)
    shut down apps services
    apps patch 8225631
    verify all the pre-req patches are in ERNIE
    select * from ad_bugs where bug_number = '5903765';
    select * from ad_bugs where bug_number = '6372396';
    select * from ad_bugs where bug_number = '3219567';
    select * from ad_bugs where bug_number = '3264822';
    select * from ad_bugs where bug_number = '3261254';
    select * from ad_bugs where bug_number = '5161676';
    select * from ad_bugs where bug_number = '3036401';
    select * from ad_bugs where bug_number = '3263588';
    select * from ad_bugs where bug_number = '3264818';
    select * from ad_bugs where bug_number = '3218526';
    select * from ad_bugs where bug_number = '3263645';
    select * from ad_bugs where bug_number = '4206794';
    select * from ad_bugs where bug_number = '3262486';
    select * from ad_bugs where bug_number = '3261243';
    select * from ad_bugs where bug_number = '2614213';
    select * from ad_bugs where bug_number = '3262159';
    select * from ad_bugs where bug_number = '2819091';
    select * from ad_bugs where bug_number = '3412795';
    patch went in smooth
    Log in to ERNIE Apps GUI as sysadmin user responsibility
    Give users such as sysadmin FND Search Crawler responsibility
    Go to system profile options, set
    set FND: Search Enabling Flag to Y at site level
    as applmgr on ausernieapp
    cd /d01/oracle/ernieappl/fnd/11.5.0/patch/115/sql
    sqlplus apps/$APPS_PWD @AFSRCHCF
    Enter SES endpoint URL [e.g. http://ap637atg.us.oracle.com:7780]: http://aussearchdev.domainname.com:7777
    Enter Apps Admin username [e.g. sysadmin]: sysadmin
    Enter Apps Admin password: sysadmin_password
    Enter SES Admin username [e.g. eqsys]: eqsys
    Enter SES Admin password: eqsyspassword <-- This is the same as sys's password
    on aussearchdev as oracle
    had to kill modeler and start all the processes, so
    kill -9 the modeler oc4j process, then
    cd $ORACLE_HOME/bin
    ./searchctl startall
    enter the password when prompted
    in IE browser go to
    http://aussearchdev.domainname.com:7777/search/admin
    log in with eqsys password
    global settings tab
    identity management setup
    click circle next to oracle.search.plugin.security.identity.ebs.EBS12IdentityPliginMgr
    (yes, we're going with 12 even though we use Oracle Apps 11i)
    http end point https://ausernieapp.domainname.com:8443/webservices/AppSearch/SecurityService
    username sysadmin
    password XXXXXXX
    finish
    Global Settings
    Federation Trusted Entitites
    ####entity name sysadmin
    ####Entity Password XXXXXXXX
    According to web conference with Oracle, this should NOT be eqsys but instead be sysadmin from above.
    Select the Use Entity Plug-in for authentication check box
    add
    Trying to go to http://aussearchdev.domainname.com:7777/search/query/search and login (sysadmin / password)
    stop midtier on both SES and Apps
    cd $ORACLE_HOME/bin
    ./searchctl stopall
    ./adstpall.sh apps/$APPS_PWD on EBS app tier
    start midtier on both SES and Apps
    cd $ORACLE_HOME/bin
    ./searchctl startall
    ./adstrtal.sh apps/$APPS_PWD on EBS app tier
    Now try and log in to Oracle SES user interface to verify the configuration
    http://aussearchdev.domainname.com:7777/search/query
    Now start up modeler again
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export ORACLE_HOME=/d01/oracle/oc4j
    export PATH=$ORACLE_HOME/bin:$PATH
    cd $ORACLE_HOME/bin
    nohup ./modeler.sh -start &
    Works now.
    Now go to http://aussearchdev.domainname.com:8888/modeleradmin/AdminHome.jsp log in as oc4jadmin/XXXXXXX
    Configure new target
    Target Type 11i
    Description ERNIE
    Name ERNIE
    EBS Database Host Name auserniedb
    EBS Database Port 1521
    EBS Database SID ERNIE
    username apps
    password XXXXXXXXx
    oc4jadmin XXXXXXXx
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export ORACLE_HOME=/d01/oracle/oc4j
    export PATH=$ORACLE_HOME/bin:$PATH
    cd $ORACLE_HOME/j2ee/home
    java -jar admin_client.jar deployer:oc4j:aussearchdev oc4jadmin XXXXXXXXX -addDataSourceConnectionPool -name "ERNIE2-pool" -factoryClass "oracle.jdbc.pool.OracleDataSource" -dbUser "apps" -dbPassword "XXXXXXX" -url "jdbc:oracle:thin:@auserniedb.domainname.com:1521:ERNIE" -applicationName appsearch
    java -jar admin_client.jar deployer:oc4j:aussearchdev oc4jadmin XXXXXXX -addManagedDataSource -name "ERNIEDS" -jndiLocation "jdbc/ERNIEDS" -connectionPoolName "ERNIE2-pool" -applicationName appsearch
    http://aussearchdev.domainname.com:8888/modeler/faces/ModelerHome.jsp
    So, creating a self signed SSL certificate for ERNIE EBS instance (this will not work if you use an SSL certificate for another server like say, PROD)
    doing this on ausernieapp
    openssl genrsa -des3 -out ausernieapp.key 1024
    PEM key is ausernieapp
    openssl req -new -key ausernieapp.key -out ausernieapp.csr
    PEM key is ausernieapp
    Country US
    State Texas
    Locality Austin
    Organization Name Corporation
    Organizational Unit Name Information Technology
    Common Name ausernieapp.domainname.com
    Email address [email protected]
    No challenge password
    No optional company name
    Now let's remove the passphrase from the key
    cp ausernieapp.key ausernieapp.key.orig
    openssl rsa -in ausernieapp.key.orig -out ausernieapp.key
    Now let's generate a self-signed certificate
    openssl x509 -req -days 1000 -in ausernieapp.csr -signkey ausernieapp.key -out ausernieapp.crt
    Install the private key and certificate
    cd $IAS_ORACLE_HOME/Apache/Apache/conf/ssl.crt
    cp server.crt server.crt.backup.03102010
    chown applmgr:applmgr server.crt.backup.03102010
    cp $HOME/ausernieapp.crt /d01/oracle/ernieora/new/iAS/Apache/Apache/conf/ssl.crt/server.crt
    cd $IAS_ORACLE_HOME/Apache/Apache/conf/ssl.key/
    cp server.key server.key.backup.03102010
    cp $HOME/ausernieapp.key /d01/oracle/ernieora/new/iAS/Apache/Apache/conf/ssl.key/server.key
    chown applmgr:applmgr server.key.backup.03102010
    bounce apache as applmgr
    cd /d01/oracle/erniecomn/admin/scripts/ERNIE_ausernieapp
    ./adapcctl.sh stop
    ./adapcctl.sh start
    In IE
    https://ausernieapp.domainname.com:8443
    Continue
    Click on Certificate Error next to URL bar
    Install Certificate -> Next-> Place all certificates in the following store -> trusted root certificate authorities ->finish
    close browser, back to https://ausernieapp.domainname.com:8443
    no errors,
    Next step will be to import key into the SES and Search modelers
    as oracle on aussearchdev
    cd /d01/oracle/10.1.8/sesdev/jdk/jre/lib/security/
    cp cacerts cacerts.backup.03102010
    scp root@ausernieapp:/root/ausernieapp.crt .
    export LANG=c
    export PATH=$ORACLE_HOME/jdk/bin:$PATH
    keytool -keystore ./cacerts -storepass changeit -alias rootausernieapp -import -trustcacerts -file ausernieapp.crt
    --output
    Owner: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Issuer: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Serial number: b4e92089cf73076f
    Valid from: Wed Mar 10 13:22:38 CST 2010 until: Tue Dec 04 13:22:38 CST 2012
    Certificate fingerprints:
    MD5: 2C:6B:EE:1A:63:6D:XX:A6:05:90:F6:XX:DD:88:F7:80
    SHA1: F8:DC:E5:2A:3E:68:XX:E1:EA:E4:75:AE:CC:4F:4A:10:2F:8A:FE:9B
    Trust this certificate? [no]: yes
    Certificate was added to keystore
    Now load our cert
    keytool -keystore ./cacerts -import -trustcacerts -file ausernieapp.crt
    keytool -list -v -keystore ./cacerts now shows
    Alias name: rootausernieapp
    Creation date: Mar 10, 2010
    Entry type: trustedCertEntry
    Owner: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Issuer: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Serial number: b4e92089cf73076f
    Valid from: Wed Mar 10 13:22:38 CST 2010 until: Tue Dec 04 13:22:38 CST 2012
    Certificate fingerprints:
    MD5: 2C:6B:EE:1A:63:6D:CB:XX:05:90:F6:78:DD:88:F7:80
    SHA1: F8:DC:E5:2A:3E:68:9C:CE:EA:4E:75:AE:CC:FA:9E:10:2F:8A:FE:9B
    Now we need to load it into the search modeler keystore
    as root on aussearchdev
    export JAVA_HOME=/usr/local/jdk1.5.0_22/
    export PATH=$JAVA_HOME/bin:$PATH
    cd /usr/local/jdk1.5.0_22/jre/lib/security/
    scp root@ausernieapp:/root/ausernieapp.crt .
    output
    keytool -keystore ./cacerts -import -trustcacerts -file ausernieapp.crt
    Enter keystore password: changeit
    Owner: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Issuer: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Serial number: b4e92089cf73076f
    Valid from: Wed Mar 10 13:22:38 CST 2010 until: Tue Dec 04 13:22:38 CST 2012
    Certificate fingerprints:
    MD5: 2C:6B:EE:1A:63:6D:CB:A1:05:90:F6:78:DD:88:F7:80
    SHA1: F8:DC:E5:2A:3E:68:9C:CE:EA:4E:75:AE:CC:4F:9E:10:2F:8A:FE:9B
    Trust this certificate? [no]: yes
    Certificate was added to keystore
    [root@aussearchdev security]#
    output
    For troubleshooting, if you go to end of /d01/oracle/10.1.8/sesdev/search/data/config/crawler.dat
    you can modify the logLevel from the default of 4 to 2 to get better debug data. No services need to be restarted, it will become active with the next crawl.
    While talking with Oracle, they mentioned the following patches
    The patches identified 8321527 and 7586924 are SES patches to help with indexing
    They also identified patch 9103851 which is an apps patch dealing with responsibilities <-- This is not yet available
    Applying patch 7586924
    as oracle on aussearchdev
    cd $ORACLE_HOME/bin
    ./searchctl stopall
    cd /mnt/oraclebackup/deathstar_patches/SES/post_patches/7586924
    opatch apply
    cd $ORACLE_HOME/bin
    ./searchctl startall
    sqlplus eqsys/XXXXXX@SESDEV
    define SCH_NAME=EQSYS
    define PROXY_USER=EQPROXY
    define INST_USER=EQ_TEST
    @$ORACLE_HOME/search/admin/eq0pkh.sql
    @$ORACLE_HOME/search/admin/eq0plb.sql
    @$ORACLE_HOME/search/admin/eq0bug_7586924.sql
    cd $ORACLE_HOME/search/data/config/
    cp crawler.dat crawler.dat.backup.03102010
    vi crawler.dat
    We're using the Oracle E-Business Suite R12 crawler, so we will add the line
    USE_IN_MEMORY_QUEUE Oracle E-Business Suite R12
    as the line immediately preceding IMPORT -
    so the end of the file looks like this:
    # system properies: separated by space for multiple system properties or define multiple SYSTEM_PROPERTIES
    # logLevel values: DEBUG(2), INFO(4), WARN(6), ERROR(8), FATAL(10)
    SYSTEM_PROPERTIES -Doracle.search.logLevel=4 -Doracle.search.log=oracle.search.util.Log4jImpl
    USE_IN_MEMORY_QUEUE Oracle E-Business Suite R12
    IMPORT -
    Now on to patch 8321527
    cd /mnt/oraclebackup/deathstar_patches/SES/post_patches/8321527
    cd $ORACLE_HOME/bin
    ./searchctl stopall
    cd -
    opatch apply
    cd $ORACLE_HOME/bin
    ./searchctl startall
    sqlplus eqsys/XXXXXXX@SESDEV
    define SCH_NAME=EQSYS
    define PROXY_USER=EQPROXY
    select object_name from user_objects where status = 'INVALID';
    --should be no rows selected
    @$ORACLE_HOME/search/admin/eq0pkh.sql
    @$ORACLE_HOME/search/admin/eq0plb.sql
    --should be no rows selected
    restart SES
    cd -
    ./searchctl stopall
    ./searchctl startall

    Below are all the steps I took for creating integrating Search Modeler with an Oracle E-Business Suite 11.5.10.2 ATG RUP 7 instance called ERNIE.
    Much thanks to Oracle Support ( Rajesh Ghosh, Vikas Soolapani and Roger Ford), as this simply wouldn't have been possible without them.
    There are a few things in this document that may not be pertinent to your environment if you're doing this. I've made attempts to clarify those possibly optional sections in the documentation.
    I've broken the document down into the following multiple parts
    o Setting up a new RedHat 4.8 x86 server called ausSEARCHdev (The server is in AUStin, TX, is dedicated to SEARCH, and is for our DEV environment)
    o SES (Secure Enterprise Search 10.1.8.2 install
    o SES 10.1.8.4 patchset install
    o SES CPU patch apply
    o Standalone OC4J and ADF installation
    o Search Modeler installation and configuration
    o Configure ERNIE Apps instance to be on valid self-signed SSL certificate
    o Import ERNIE SSL certificate into SES and Search Modeler
    using aussearchdev initially
    rh4 x86, default oracle build
    ** htop and collectl are open source free performance monitoring packages we utilize**
    --start
    install htop and collectl
    wget http://dag.wieers.com/rpm/packages/htop/htop-0.7-1.el4.rf.i386.rpm
    rpm -ivh htop-0.7-1.el4.rf.i386.rpm
    wget http://downloads.sourceforge.net/project/collectl/collectl/collectl-3.4.0-4/collectl-3.4.0-4.noarch.rpm?use_mirror=voxel
    rpm -ivh collectl-3.4.0-4.noarch.rpm
    chkconfig collectl on
    service collectl start
    **We still need to install the necessary rpms so that collectl logs are compressed
    --end
    useradd -u 501 oracle
    groupadd -g 504 dba
    usermod -G 504 oracle
    verification:
         [root@aussearchdev ~]# su - oracle
         [oracle@aussearchdev ~]$ id
         uid=501(oracle) gid=501(oracle) groups=501(oracle),504(dba)
    passwd oracle
    ** /mnt/oraclebackup is a network dumpspot we use to hold Software installs, RPMs, etc
    ** /mnt/rpms is a network dumpspot we use to hold ISOs for OS software such as Redhat Linux
    mkdir /mnt/oraclebackup
    mkdir /mnt/rpms
    add the following to /etc/fstab
    XXXXXXX:/patches/oraclebackup /mnt/oraclebackup nfs defaults,hard,nolock 0 0
    XXXXXXX:/esxpress/nfs /mnt/rpms nfs rw,addr=XXX.XXX.XXX.XXX 0 0
    mount /mnt/rpms
    Next need to install various oracle needed RPMs.
    cd /mnt/rpms/rh40_upd8/RedHat/RPMS/
    rpm -ivh perl-Compress-Zlib-1.42-1.el4.i386.rpm
    rpm -ivh libaio-devel-0.3.105-2.i386.rpm
    rpm -ivh sysstat-5.0.5-25.el4.i386.rpm
    rpm -ivh unixODBC-devel-2.2.11-1.RHEL4.1.i386.rpm
    service collectl restart
    cd /tmp
    wget http://oss.oracle.com/el4/oracle-validated/oracle-validated-1.0.0-18.el4.i386.rpm
    rpm -ivh oracle-validated-1.0.0-18.el4.i386.rpm
    Now we should have all the RPMs we need.
    cd /etc/sysconfig/oracle-validated
    ./oracle-validated-verify
    cd /var/log/oracle-validated/results
    more orakernel.log
    uname -a
    should return 2.6.9 or higher
    rpm -qa|grep gcc-
    should return 3.4.3 or higher
    rpm -qa|grep glibc
    should return 2.3.4-2.9 or higher
    rpm -qa|grep make
    should return 3.80 or higher
    rpm -qa|grep binutils
    should return 2.15.92.0.2 or higher
    rpm -qa|grep openmotif
    should return 2.2.3-9.RHEL4.1 or higher
    rpm -qa|grep compat-db
    should return 4.1.25-9 or higher
    rpm -qa|grep setarch
    should return 1.6-1 or higher
    cat /proc/sys/kernel/sem
    should return 250 32000 100 128 or higher (250 32000 100 142 in our case)
    cat /proc/sys/kernel/shmall (1073741824 in our case)
    should return 2097152 or higher
    cat /proc/sys/kernel/shmmax
    should return half the size of physical memory (4294967295 in our case - NO LARGER on 32-bit OS)
    cat /proc/sys/kernel/shmmni
    should return 4096
    cat /proc/sys/fs/file-max
    should return 65536 (327679 in our case)
    cat /proc/sys/net/ipv4/ip_local_port_range
    should return 1024 65000
    values in /etc/security/limits.conf set by oracle-validated rpm, no changes necessary
    add the following line to /etc/pam.d/login
    session required /lib/security/pam_limits.so
    add the following to /etc/profile
    if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
    else
    ulimit -u 16384 -n 65536
    fi
    fi
    mkdir -p /d01/oracle
    chmod 777 /d01/oracle
    init 6 the box (aka reboot)
    Time to start the SES 10.1.8.2 installer
    running SES 10.1.8.2 installer
    as oracle
    cd /mnt/oraclebackup/deathstar_patches/SES/SES10182
    ./runInstaller
    search server name sesprod
    administrative password XXXXXXXX for dev,
    http port 7777
    destination path /d01/oracle/10.1.8/sesdev (dev)
    data storage path /d01/oracle/sesdevdata (dev)
    next
    inventory /d01/oracle/oraInventory
    dba group
    run orainstroot.sh as requested
    continue
    all tests should pass, continue
    finished clean
    tried logging in to admin console at http://aussearchdev:7777/search/admin - worked fine
    tried bringing up search query at http://aussearchdev:7777/search/query/search - worked fine
    Now we need to get to 10.1.8.4 of SES
    (yes, you need to keep the system up)
    cd /mnt/oraclebackup/deathstar_patches/SES/SES10184/ses_10184pst_linux/
    ./runInstaller
    Destination, choose sesdev
    Next
    Patchset successful
    tried logging in to admin console at http://aussearchdev:7777/search/admin - worked fine
    tried bringing up search query at http://aussearchdev:7777/search/query/search - worked fine
    Apply CPU Patch to SES
    CPU JAN 10 says patch 9119261 is required - but patch requires extended support contract
    CPU OCT 09 says patch 8836540 is required - but patch requires extended support contract
    CPU JUL 09 says patch 8534394 is required - but patch requires extended support contract
    CPU APR 09 says patch 8290534 is required - and you can actually download it
    Need opatch from 6880880
    cp -r /mnt/oraclebackup/deathstar_patches/SES/CPUAPR09/OPatch $ORACLE_HOME
    export PATH=$ORACLE_HOME/OPatch:$PATH
    shut down everything
    cd $ORACLE_HOME/bin
    ./searchctl stopall
    cd /mnt/oraclebackup/deathstar_patches/SES/CPUAPR09/8290534
    opatch apply
    cd $ORACLE_HOME/cpu/CPUApr2009
    **Note: your sys password is what you set for your administrative password above
    sqlplus "sys/XXXXXX" as sysdba;
    startup
    @catcpu
    @?/rdbms/admin/utlrp
    shutdown immediate
    exit
    cd /d01/oracle/10.1.8/sesdev/cpu/view_recompile/
    sqlplus "sys/XXXXXXX" as sysdba;
    startup upgrade;
    @view_recompile_jan2008cpu.sql
    @?/rdbms/admin/utlrp
    shutdown immediate
    cd /d01/oracle/10.1.8/sesdev/jdk/jre/lib/ext
    mv mail.jar $HOME/mail.jar.backup02222010
    mv mailapi.jar $HOME/mailapi.jar.back02222010
    cp /d01/oracle/10.1.8/sesdev/search/lib/mail.jar .
    SES 10.1.8.4 is now installed and updated with latest available CPU
    tried logging in to admin console at http://aussearchdev:7777/search/admin - worked fine
    tried bringing up search query at http://aussearchdev:7777/search/query/search - worked fine
    we're going to go with the standalone OC4j 10.1.3.3 and Oracle ADF 10.1.3.3 method
    The URLs for these products are
    http://blogs.oracle.com/ebssearch/2009/10/available_now_oracle_search_modeler_11_for_oracle_e-business_suite_11i.html
    and specifically
    OC4J - http://download.oracle.com/otn/java/oc4j/101330/oc4j_extended_101330.zip
    ADF - http://www.oracle.com/technology/software/products/jdev/htdocs/adfinstaller10133.html
    OC4J install
    First you need to have Java 1.5 on the machine. Latest is 1.5.0_22. Package is in /mnt/oraclebackup/deathstar_patches/SES
    as root on aussearchdev
    cd /usr/local
    cp /mnt/oraclebackup/deathstar_patches/SES/jdk-1_5_0_22-linux-i586.bin .
    chmod 700 jdk-1_5_0_22-linux-i586.bin
    ./jdk-1_5_0_22-linux-i586.bin
    yes
    install OC4J just by copying over the directory
    as oracle on aussearchdev
    mkdir -p /d01/oracle/oc4j
    cd /d01/oracle/oc4j
    cp -r /mnt/oraclebackup/deathstar_patches/SES/oc4j/* .
    ADF install
    vi /mnt/oraclebackup/deathstar_patches/SES/adf/adfinstaller.properties
    change the following
    OracleHome = /mnt/oraclebackup/deathstar_patches/SES/adf
    DesHome = /d01/oracle/oc4j/
    type = OC4J
    as root
    cd /usr/bin
    rm java
    (yes)
    ln -s /usr/local/jdk1.5.0_22/bin/java
    su - oracle
    java -version     should now return 1.5.0_22
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    cd /mnt/oraclebackup/deathstar_patches/SES/adf
    java -jar runinstaller.jar -version
    returns The version for the ADF libraries being installed is 10.1.3.41.57 - yes, that is apparently 10.1.3.3.
    java -jar runinstaller.jar adfinstaller.properties
    output looks good, do not be concerned by
    WARNING: 'Could not delete: /d01/oracle/oc4j/BC4J/redist/bc4j' whilst deleting bc4j application
    WARNING: 'Could not delete: /d01/oracle/oc4j/BC4J/redist/datatags' whilst deleting datatags application
    as it was trying to delete the old version that didn't exist
    Start OC4J
    as oracle on aussearchdev
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export ORACLE_HOME=/d01/oracle/oc4j
    cd $ORACLE_HOME/bin
    ./oc4j -start
    you will be prompted for password - we're setting it. use XXXXXXXXXX
    after it's up, kill it (ctrl-c) and restart it with
    nohup ./oc4j -start &
    last lines in nohup.out is
    Starting OC4J from /d01/oracle/oc4j/j2ee/home ...
    10/02/23 03:22:38 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
    So now on to search modeler installation, going by Installation steps in Note 781366.1
    8326128 - This is not a patch to be applied to the Apps, keep reading
    as oracle on aussearchdev
    cd /mnt/oraclebackup/deathstar_patches/SES/8326128
    mkdir -p /d01/oracle/oc4j/uploaded
    vi build.properties, changing
    installation.type=OC4J
    oracle.home=/d01/oracle/oc4j
    deploy.server=aussearchdev.domainname.com
    deploy.port=23791
    web.port=7777
    password=XXXXXXXXX
    extra.classpath=/d01/oracle/oc4j/uploaded
    now set the following environment values in your ssh session
    export ORACLE_HOME=/d01/oracle/oc4j
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export PATH=$ORACLE_HOME/ant/bin:$ORACLE_HOME/bin:$PATH
    ant main
    whole bunch of stuff to screen, errors due to undeploy something that doesn't exist. Finished after a minute with
    BUILD SUCCESSFUL
    Total time: 58 seconds
    Now on to post install steps
    restart OC4j
    cd $ORACLE_HOME/bin
    ./modeler.sh -shutdown -port 23791 -password r*l*r*0*
    export ORACLE_HOME=/d01/oracle/oc4j
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export PATH=$ORACLE_HOME/ant/bin:$ORACLE_HOME/bin:$PATH
    nohup ./modeler.sh -start &
    end of nohup.out should show
    Starting OC4J from /d01/oracle/oc4j/j2ee/home ...
    Try going to http://aussearchdev:8888/modeler/faces/ModelerHome.jsp
    Should get login screen, but wait, we haven't installed Oracle Apps interface yet...
    Next let's do the Apps side of things
    Going by note 953378.1
    Using ERNIE (a development instance of E-Business Suite running 11.5.10.2 ATG RUP 7)
    as applmgr on ausernieapp (ausernieapp is our app tier)
    shut down apps services
    apps patch 8225631
    verify all the pre-req patches are in ERNIE
    select * from ad_bugs where bug_number = '5903765';
    select * from ad_bugs where bug_number = '6372396';
    select * from ad_bugs where bug_number = '3219567';
    select * from ad_bugs where bug_number = '3264822';
    select * from ad_bugs where bug_number = '3261254';
    select * from ad_bugs where bug_number = '5161676';
    select * from ad_bugs where bug_number = '3036401';
    select * from ad_bugs where bug_number = '3263588';
    select * from ad_bugs where bug_number = '3264818';
    select * from ad_bugs where bug_number = '3218526';
    select * from ad_bugs where bug_number = '3263645';
    select * from ad_bugs where bug_number = '4206794';
    select * from ad_bugs where bug_number = '3262486';
    select * from ad_bugs where bug_number = '3261243';
    select * from ad_bugs where bug_number = '2614213';
    select * from ad_bugs where bug_number = '3262159';
    select * from ad_bugs where bug_number = '2819091';
    select * from ad_bugs where bug_number = '3412795';
    patch went in smooth
    Log in to ERNIE Apps GUI as sysadmin user responsibility
    Give users such as sysadmin FND Search Crawler responsibility
    Go to system profile options, set
    set FND: Search Enabling Flag to Y at site level
    as applmgr on ausernieapp
    cd /d01/oracle/ernieappl/fnd/11.5.0/patch/115/sql
    sqlplus apps/$APPS_PWD @AFSRCHCF
    Enter SES endpoint URL [e.g. http://ap637atg.us.oracle.com:7780]: http://aussearchdev.domainname.com:7777
    Enter Apps Admin username [e.g. sysadmin]: sysadmin
    Enter Apps Admin password: sysadmin_password
    Enter SES Admin username [e.g. eqsys]: eqsys
    Enter SES Admin password: eqsyspassword <-- This is the same as sys's password
    on aussearchdev as oracle
    had to kill modeler and start all the processes, so
    kill -9 the modeler oc4j process, then
    cd $ORACLE_HOME/bin
    ./searchctl startall
    enter the password when prompted
    in IE browser go to
    http://aussearchdev.domainname.com:7777/search/admin
    log in with eqsys password
    global settings tab
    identity management setup
    click circle next to oracle.search.plugin.security.identity.ebs.EBS12IdentityPliginMgr
    (yes, we're going with 12 even though we use Oracle Apps 11i)
    http end point https://ausernieapp.domainname.com:8443/webservices/AppSearch/SecurityService
    username sysadmin
    password XXXXXXX
    finish
    Global Settings
    Federation Trusted Entitites
    ####entity name sysadmin
    ####Entity Password XXXXXXXX
    According to web conference with Oracle, this should NOT be eqsys but instead be sysadmin from above.
    Select the Use Entity Plug-in for authentication check box
    add
    Trying to go to http://aussearchdev.domainname.com:7777/search/query/search and login (sysadmin / password)
    stop midtier on both SES and Apps
    cd $ORACLE_HOME/bin
    ./searchctl stopall
    ./adstpall.sh apps/$APPS_PWD on EBS app tier
    start midtier on both SES and Apps
    cd $ORACLE_HOME/bin
    ./searchctl startall
    ./adstrtal.sh apps/$APPS_PWD on EBS app tier
    Now try and log in to Oracle SES user interface to verify the configuration
    http://aussearchdev.domainname.com:7777/search/query
    Now start up modeler again
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export ORACLE_HOME=/d01/oracle/oc4j
    export PATH=$ORACLE_HOME/bin:$PATH
    cd $ORACLE_HOME/bin
    nohup ./modeler.sh -start &
    Works now.
    Now go to http://aussearchdev.domainname.com:8888/modeleradmin/AdminHome.jsp log in as oc4jadmin/XXXXXXX
    Configure new target
    Target Type 11i
    Description ERNIE
    Name ERNIE
    EBS Database Host Name auserniedb
    EBS Database Port 1521
    EBS Database SID ERNIE
    username apps
    password XXXXXXXXx
    oc4jadmin XXXXXXXx
    export JAVA_HOME=/usr/local/jdk1.5.0_22
    export ORACLE_HOME=/d01/oracle/oc4j
    export PATH=$ORACLE_HOME/bin:$PATH
    cd $ORACLE_HOME/j2ee/home
    java -jar admin_client.jar deployer:oc4j:aussearchdev oc4jadmin XXXXXXXXX -addDataSourceConnectionPool -name "ERNIE2-pool" -factoryClass "oracle.jdbc.pool.OracleDataSource" -dbUser "apps" -dbPassword "XXXXXXX" -url "jdbc:oracle:thin:@auserniedb.domainname.com:1521:ERNIE" -applicationName appsearch
    java -jar admin_client.jar deployer:oc4j:aussearchdev oc4jadmin XXXXXXX -addManagedDataSource -name "ERNIEDS" -jndiLocation "jdbc/ERNIEDS" -connectionPoolName "ERNIE2-pool" -applicationName appsearch
    http://aussearchdev.domainname.com:8888/modeler/faces/ModelerHome.jsp
    So, creating a self signed SSL certificate for ERNIE EBS instance (this will not work if you use an SSL certificate for another server like say, PROD)
    doing this on ausernieapp
    openssl genrsa -des3 -out ausernieapp.key 1024
    PEM key is ausernieapp
    openssl req -new -key ausernieapp.key -out ausernieapp.csr
    PEM key is ausernieapp
    Country US
    State Texas
    Locality Austin
    Organization Name Corporation
    Organizational Unit Name Information Technology
    Common Name ausernieapp.domainname.com
    Email address [email protected]
    No challenge password
    No optional company name
    Now let's remove the passphrase from the key
    cp ausernieapp.key ausernieapp.key.orig
    openssl rsa -in ausernieapp.key.orig -out ausernieapp.key
    Now let's generate a self-signed certificate
    openssl x509 -req -days 1000 -in ausernieapp.csr -signkey ausernieapp.key -out ausernieapp.crt
    Install the private key and certificate
    cd $IAS_ORACLE_HOME/Apache/Apache/conf/ssl.crt
    cp server.crt server.crt.backup.03102010
    chown applmgr:applmgr server.crt.backup.03102010
    cp $HOME/ausernieapp.crt /d01/oracle/ernieora/new/iAS/Apache/Apache/conf/ssl.crt/server.crt
    cd $IAS_ORACLE_HOME/Apache/Apache/conf/ssl.key/
    cp server.key server.key.backup.03102010
    cp $HOME/ausernieapp.key /d01/oracle/ernieora/new/iAS/Apache/Apache/conf/ssl.key/server.key
    chown applmgr:applmgr server.key.backup.03102010
    bounce apache as applmgr
    cd /d01/oracle/erniecomn/admin/scripts/ERNIE_ausernieapp
    ./adapcctl.sh stop
    ./adapcctl.sh start
    In IE
    https://ausernieapp.domainname.com:8443
    Continue
    Click on Certificate Error next to URL bar
    Install Certificate -> Next-> Place all certificates in the following store -> trusted root certificate authorities ->finish
    close browser, back to https://ausernieapp.domainname.com:8443
    no errors,
    Next step will be to import key into the SES and Search modelers
    as oracle on aussearchdev
    cd /d01/oracle/10.1.8/sesdev/jdk/jre/lib/security/
    cp cacerts cacerts.backup.03102010
    scp root@ausernieapp:/root/ausernieapp.crt .
    export LANG=c
    export PATH=$ORACLE_HOME/jdk/bin:$PATH
    keytool -keystore ./cacerts -storepass changeit -alias rootausernieapp -import -trustcacerts -file ausernieapp.crt
    --output
    Owner: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Issuer: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Serial number: b4e92089cf73076f
    Valid from: Wed Mar 10 13:22:38 CST 2010 until: Tue Dec 04 13:22:38 CST 2012
    Certificate fingerprints:
    MD5: 2C:6B:EE:1A:63:6D:XX:A6:05:90:F6:XX:DD:88:F7:80
    SHA1: F8:DC:E5:2A:3E:68:XX:E1:EA:E4:75:AE:CC:4F:4A:10:2F:8A:FE:9B
    Trust this certificate? [no]: yes
    Certificate was added to keystore
    Now load our cert
    keytool -keystore ./cacerts -import -trustcacerts -file ausernieapp.crt
    keytool -list -v -keystore ./cacerts now shows
    Alias name: rootausernieapp
    Creation date: Mar 10, 2010
    Entry type: trustedCertEntry
    Owner: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Issuer: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Serial number: b4e92089cf73076f
    Valid from: Wed Mar 10 13:22:38 CST 2010 until: Tue Dec 04 13:22:38 CST 2012
    Certificate fingerprints:
    MD5: 2C:6B:EE:1A:63:6D:CB:XX:05:90:F6:78:DD:88:F7:80
    SHA1: F8:DC:E5:2A:3E:68:9C:CE:EA:4E:75:AE:CC:FA:9E:10:2F:8A:FE:9B
    Now we need to load it into the search modeler keystore
    as root on aussearchdev
    export JAVA_HOME=/usr/local/jdk1.5.0_22/
    export PATH=$JAVA_HOME/bin:$PATH
    cd /usr/local/jdk1.5.0_22/jre/lib/security/
    scp root@ausernieapp:/root/ausernieapp.crt .
    output
    keytool -keystore ./cacerts -import -trustcacerts -file ausernieapp.crt
    Enter keystore password: changeit
    Owner: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Issuer: [email protected], CN=ausernieapp.domainname.com, OU=Information Technology, O=Corporation, L=Austin, ST=Texas, C=US
    Serial number: b4e92089cf73076f
    Valid from: Wed Mar 10 13:22:38 CST 2010 until: Tue Dec 04 13:22:38 CST 2012
    Certificate fingerprints:
    MD5: 2C:6B:EE:1A:63:6D:CB:A1:05:90:F6:78:DD:88:F7:80
    SHA1: F8:DC:E5:2A:3E:68:9C:CE:EA:4E:75:AE:CC:4F:9E:10:2F:8A:FE:9B
    Trust this certificate? [no]: yes
    Certificate was added to keystore
    [root@aussearchdev security]#
    output
    For troubleshooting, if you go to end of /d01/oracle/10.1.8/sesdev/search/data/config/crawler.dat
    you can modify the logLevel from the default of 4 to 2 to get better debug data. No services need to be restarted, it will become active with the next crawl.
    While talking with Oracle, they mentioned the following patches
    The patches identified 8321527 and 7586924 are SES patches to help with indexing
    They also identified patch 9103851 which is an apps patch dealing with responsibilities <-- This is not yet available
    Applying patch 7586924
    as oracle on aussearchdev
    cd $ORACLE_HOME/bin
    ./searchctl stopall
    cd /mnt/oraclebackup/deathstar_patches/SES/post_patches/7586924
    opatch apply
    cd $ORACLE_HOME/bin
    ./searchctl startall
    sqlplus eqsys/XXXXXX@SESDEV
    define SCH_NAME=EQSYS
    define PROXY_USER=EQPROXY
    define INST_USER=EQ_TEST
    @$ORACLE_HOME/search/admin/eq0pkh.sql
    @$ORACLE_HOME/search/admin/eq0plb.sql
    @$ORACLE_HOME/search/admin/eq0bug_7586924.sql
    cd $ORACLE_HOME/search/data/config/
    cp crawler.dat crawler.dat.backup.03102010
    vi crawler.dat
    We're using the Oracle E-Business Suite R12 crawler, so we will add the line
    USE_IN_MEMORY_QUEUE Oracle E-Business Suite R12
    as the line immediately preceding IMPORT -
    so the end of the file looks like this:
    # system properies: separated by space for multiple system properties or define multiple SYSTEM_PROPERTIES
    # logLevel values: DEBUG(2), INFO(4), WARN(6), ERROR(8), FATAL(10)
    SYSTEM_PROPERTIES -Doracle.search.logLevel=4 -Doracle.search.log=oracle.search.util.Log4jImpl
    USE_IN_MEMORY_QUEUE Oracle E-Business Suite R12
    IMPORT -
    Now on to patch 8321527
    cd /mnt/oraclebackup/deathstar_patches/SES/post_patches/8321527
    cd $ORACLE_HOME/bin
    ./searchctl stopall
    cd -
    opatch apply
    cd $ORACLE_HOME/bin
    ./searchctl startall
    sqlplus eqsys/XXXXXXX@SESDEV
    define SCH_NAME=EQSYS
    define PROXY_USER=EQPROXY
    select object_name from user_objects where status = 'INVALID';
    --should be no rows selected
    @$ORACLE_HOME/search/admin/eq0pkh.sql
    @$ORACLE_HOME/search/admin/eq0plb.sql
    --should be no rows selected
    restart SES
    cd -
    ./searchctl stopall
    ./searchctl startall

Maybe you are looking for

  • Error on Service Desk Configuration

    HI,     While configuring Solman 4.0 for service desk(sp9 patch level). i am getting error "Because of error 513, no message was created in Support Desk System". in satellite server. I already config below thing in system: No. range in Solman BCOS_CU

  • Can anyone tell me why iTunes don't let me drag&drop DTS files?

    hello, can anyone tell me what should I do to be able to play DTS audio files with iTunes (Windows 7). I connected my PC (via optical output) to a 5.1 receiver and everything is ok until I try to drag&drop DTS audio files to iTunes and try to playing

  • Can ILM_TOOLKIT  be  used standalone  for Digital Signatures on result sets

    Hello Looking for means to digitally sign rolled out PL/SQL software I found the Digital Signature functions of ILM Assistant. We probably won't be using the basic functions of ILM as there's already an application data lifecycle process in place, bu

  • Report with category and subcategories

    Hi, i have products with different sub levels of categories, level 1 (top), level 2, level 3, level 4 and finally products that belong to level 4. i need to take a report on assets and get for every account the level 3 category and the description of

  • CFDOCUMENT PDF generation peformance on Linux running CF server 8 or 9 is horrible

    Can anyone help me understand how I can get the <cfdocument> tag to generate PDFs in reasonable time (and without throwing timeout errors) when running on CF 8 on Linux? Running on CF 9 doesn't make a difference, either. I can run the same code that