Best practice for JSP app- multiple windows

Hi all,
I am looking for some opinions on whether I should construct my app so it uses multiple windows. eg. If someone opens a master record and clicks a link, I can display details in a seperate window. Obviously this has the advantage of being more user-friendly ala a thick client as the user can view multiple windows at once, etc. I've seen many web apps that do this but many that have opted not to also.
I am interested in the common 'pitfalls' associated with multiple-window web apps and why I should/should not use them. Obviously, opinions vary but I'd like to get some feedback on this. Also, any link(s) discussing this would be greatly appreciated.
Thanks,
Mike

Err...
JSP is generally used to embed sippets of Java code within otherwise existing HTML pages. It is possible to dynamically generate the resulting Javascript code that will create additional windows, or the Applet code that will likewise spawn new windows in response to user activities.
For the most part, I do something along the lines of the former suggestion, that is, I write code like:
out.write( "<A HREF=\"show_detail.jsp?id=" + id + "\" TARGET=\"detail_window\">" + id + "</A>\n" );...and the result is that if the user clicks on a link, a new web page is loaded into some other window.
Is this a valid way to go? Certainly. Are there any drawbacks? Yes. Many users actually don't want multiple windows, that is, they click on the link, it opens a window - fine. They click on a similar link, it should load the relevant data into that companion window, not load yet another window. The primary reason being that closing all those windows is a bit of a pain in the behind.
Beyond that, I can't really offer any suggestions that are not application specific. If I think of any, I'll come back to the thread.

Similar Messages

  • Best Practices for patch/rollback on Windows?

    All,
    I have been working on BO XI with UNIX for some time now and while I am pretty comfortable with managing it on UNIX, I am not too sure about the "best practices" when it comes to Windows.
    I have a few specific questions:
    1) What is the best way to apply a patch or Service Pack to BO XI R2 on a Windows envt without risking a system corruption?
    - It is relatively easier on UNIX because you don't have to worry about registry entries and you can even perform multiple installations on the same box as long as you use different locations and ports.
    2) What should be the ideal "rollback" strategy in case an upgrade/patch install fails and corrupts the system?
    I am sure I will have some follow up questions, but if someone can get the discussion rolling with these for now, I would really appreciate!
    Is there any documentation available around these topics on the boards some place?
    Cheers,
    Sarang

    This is unofficial but usually if you run into a disabled system as a result of a patch and the removal/rollback does NOT work (in other words you are still down).
    You should have made complete backups of your FRS, CMS DB, and any customizations in your environment.
    Remove the base product and any seperate products that share registry keys (i.e. crystal reports)
    Remove the left over directories (XIR2 this is boinstall\business objects\*)
    Remove the primary registry keys (hkeylocalmachine\software\businessobjects\* & hkeycurrentuser\software\businessobjects\* )
    Remove any legacy keys (i.e. crystal*)
    Remove any patches from the registry (look in control panel and search for the full patch name)
    Then reinstall the product (test)
    add back any customizations
    reinstall either the latest(patch prior to update) or newest patch(if needed)
    and restore the FRS and CMS DB.
    There are a few modifications to these steps and you should leave room to add more (if they improve your odds at success).
    Regards,
    Tim

  • Best Practices for Setting up a Windows 2012 R2 STD Domain Controller in a Remote Site

    So I'm looking for an article or writeup similar to the "Adding Domain Controllers in Remote Sites" TechNet article but for Windows Server 2012 STD R2.  Here is my scenario:
    1.  I want to setup the domain controller at Site A where the primary domain controller is located.  The primary domain controller is Windows Server 2008 R2. 
    2.  Once the DC is setup I plan on leaving it on our network for a few days before shipping it to remote Site B for installation
    Other key items:
    1.  The remote Site B will have a different IP range than Site A but will be connected to Site A via a single VPN tunnel.  All the DCs that replicate with each other are on the same domain. 
    2.  The 2012 DC that I setup for Site B (same domain in same forest) will be a DHCP, DNS, and WSUS server all replicating to the primary DC at Site A
    Questions:
    1.  What items can I setup while it's at Site A without effecting or conflicting with the existing network and domain controller?  Can I setup a scope once the DHCP role is added? 
    2.  All of our DCs replicate through Sites and Services, do I have to manually add this to our primary DC for the new DC going to remote Site B?  Or when does this happen automatically when I promote the DC? 
    All and all I'm just looking for a list of Best Practices for 2012 or a Step by Step Guide.  Any help would be appreciated. 

    Hi,
    Thanks for your posting.
    When you install AD DS in the hub or staging site, disconnect the installed domain controller, and then ship the computer to the remote site, you are disconnecting a viable domain controller from the replication topology.
    For more and detail information, please refer to:
    Best Practices for Adding Domain Controllers in Remote Sites
    http://technet.microsoft.com/en-us/library/cc794962(v=ws.10).aspx
    Regards.
    Vivian Wang

  • Symantec antivirus Best practice for oracle database on windows server 2003

    Hi all,
    I have an oracle database server on windows server 2003 platform of version 10.2.0.4. what would be best practice of running symantec antivirus on that server as well as database file exclusions from scanning them.
    My server had rebooted unexpectedly for many times. in event log i have id as 6008. what may be cause of it..?

    Normally, you don't run a virus scanner on a database server because your database server isn't vulnerable to viruses. It's behind firewalls, people aren't reading mail on it, people aren't plugging thumb drives into it, etc. If you do decide that you need to run a virus scanner on a database server, at least exclude the Oracle data files from the scan. Oracle gets very unhappy if someone else tries to open its data files (or, worse, if someone opens a data file before it gets the chance to acquire exclusive access).
    Justin

  • Lun Size best practice for UC apps and VMWare?

    Hi,
    We have UCS manager v2.1 with FI 6248 direct FC attached to NetApp with plenty of storage.
    Per following doc, Lun size for UC apps should be 500GB - 1.5TB and 4 to 8 VMs per Lun.
    http://docwiki.cisco.com/wiki/UC_Virtualization_Storage_System_Design_Requirements#Best_Practices_for_Storage_Array_LUNs_for_Unified_Communications_Applications
    We have four B200M3 blades and 3 to 4 UC apps (CUCM, Unity, UCCX) will be hosted on each blade. May add more VM the blades in the future.
    I am thinking four 1 TB Luns and one for each blades. (actually 8 Luns in toal, 4 boot luns for ESXi and 4 for UC apps).
    What is the best practice (or common deployment) to create Lun size and design?
    Thanks,
    Harry

    UC apps need low IO,nothing special,Reference vmware LUN design is ok.

  • Question: Best practices for dealing with multiple AM configurations

    Hello all,
    I have a project using ADF Business Components and ADF Faces. I would like to set up multiple configurations for the Application Modules to support the following scenarios:
    1). Local testing and debugging - using a connection defined in JDeveloper and AM Pooling turned off.
    2). Testing and debugging on an application server - using a JDBC Data Source and AM Pooling turned off
    3). Production deployment - using a JDBC Data Source and AM Pooling turned on.
    It is no problem to create multiple AM configurations to reflect this scenario. In order for the web part of the application to use the correct configurations, the DataBindings.cpx file must specify the correct ones. I was thinking to have 3 different DataBindings.cpx files and to change the CpxFileName context-param in the web.xml file as needed.
    My questions:
    1). Does this make sense as an approach? It should be better than having to change a single AM configuration every time I deploy or test. Is there any easy way to keep multiple DataBIndings.cpx files in synch, given that we may add new pages from time-to-time? Alternatively, can we do some type of "include" processing to include just the dataControlUsages section into a common DataBindings.cpx file?
    2). How would you manage the build-and-deploy process? For the most part, in JDev we would be using configuration #1. The only time to switch to configuration #2 or #3 would be to build an EAR file for deployment. Is this something that it would make sense to accomplish with ANT? I'm not an ANT expert at all. The ANT script would have "build-test-ear" and "build-prod_ear" targets which would swap in a correct web.xml file, recompile everything, build the EAR, then put the development web.xml file back. I'm relatively sure this is possible... comments?
    3). Is there some other recommended approach?
    I appreciate any insights from experience, or even just ideas or thoughts that I can test out.
    Best regards,
    John

    Hi K,
    Sorry for the long long delay in responding I've been traveling - and thanks for the e-mail tickler too...
    To answer your question in short, I do think that ANT is the right way to go; there is an extra ANT task called XMLTask that I was able to download and play with, and it seems it would make this manipulation of the cpx file (or the xcfg file, for that matter) pretty straightforward. I don't have any code to post; it's just in the conceptual stage for me right now. I didn't see anything magical in JDev 11 TP3 that solved this problem for me either.
    Having said all of that, it's more complicated than it might appear. In addition to the DataBindings.cpx file (stores, among other things, which AM configuration to use for each data control), it's certainly possible to programmatically access an AM (specifying the configuration either directly in the code or via a properties file/etc). I'm not sure what the most common use case for AM configurations is, but in my case, I have a Test configuration and a Prod configuration. The Test config, among other things, disables AM pooling. When I am developing/testing, I always use the Test config; in Production, I always use the Prod config. Perhaps the best way for me to do this would be to have an "Active" config and use ANT tasks to copy either Test or Prod to "Active." However, our Subversion repository is going to have a few complaints about this.
    John

  • Best practice for working on multiple computers

    How do I handle working on multiple devices without having to sync the local files with the remote/testserver everytime I change my machine?
    I have 2 computers, a desktop and a laptop. Usually I code on my desktop but from time to time, I need to make a few edits on my laptop, e.g. when I'm not at home.
    In my early days (CS3) I used to edit the files directly on the remote server, which is not possble anymore since - I think - CS5. Moreover I'm quite happy for having local files I can browse and search through very quickly.
    However everytime need to make a quick edit, I need to sync the whole site with my local files - which is very inconvenient for me. And sometimes I forget that I edited a file on my laptop, uploaded it to the server and then I start working again on the desktop with the old local version of this file. Some projects are quite large with thousands of files due to plugins (e.g. tinymce), for example a webshop. It is a real pain to wait for the sync when I just need to edit one word.
    So what is the default solution for this problem?

    Well, thank you for your anwers.
    Using an online drive system like dropbox seems to be a fine solution - however I wished I wouldn't need a 3rd party software to do so. There two concerns about this solution:
    Syncing problems: when I hit CTRL+S, Dreamweaver automaticalles saves my local files and upload them to the server. If there is an additional dropbox sync, isn't the whole solution prone to errors? (Any experience with ondrive? As it comes preinstalled and has 25 Gigs free, I might give it a try for syncing the local DW data)
    Most important: Password security. I story my mySQL connection information (dbname, passwords, hosts...) in a PHP file. As this connection information is in plain text, I'm not very happy that MS (or Dropbox, Google, ..) can see and scan this data.
    @Nancy O.: I will start using check-in/check-out, it seems to be a great feature. Just so define what it does what it does not do: As long as I checked-out a file, I can't edit on my other machine, which is nice. However, back to the new-file.html example, I won't see this file on my desktop unless I sync it (using DW sync, Dropbox, or anything else), correct?

  • Best practices for CF app deployment?

    Hello, fellow CF users.
    Do any of you have procedures you follow to deploy your CF apps?  Our Software Quality person is really eager for us to provide a very simple build procedure ... for example, a "make .car file starting with source control" procedure.
    Has anyone thought through this problem and created a nice makefile or build.xml to do this?  (Is there something obvious in the documentation that I'm missing?)
    We use subversion, Linux, cfmx7 behind Apache, migrating to cf9 when it's ready.
    Thanks in advance!

    The book "Adobe ColdFusion 8 Advanced Application Development" by Ben Forta has some information on using archive files for deployment using the CF administrator.

  • Best practice for using App Module Interface vs Impl

    Hello all,
    I understand the benefit and desire to use an Application Module via an Interface vs directly using the Implementation (Impl) class. This works fine for custom methods exposed on the interface, however, it does not address getters for view objects that are in the data model. Similarly, if I do use the Impl class, it returns a View Object Implementation - same issue here.
    Any thoughts?
    John

    Hi John,
    you can write custom method returning ViewObject class.
        /**Container's getter for DeptView1
        public DeptViewImpl getDeptView() {
            return (DeptViewImpl)findViewObject("DeptView");
        // This method can be exposed to client
        public ViewObject getDepts() {
            return getDeptView1();
        }When your view object will have custom method exposed to client then getDepts() method can return DeptView interface.
    Method returning impl class cannot be exposed as it probably doesn't follow rules (some rules are described in documentation - ch. 8.4.4).
    Or you can create your own interface and implement it in view object impl class. Getter returning this interface can be exposed to client.
    We found it very useful to use own java interfaces in our project. You can then create common logic working with any view object implementing specific interface.
    Rado

  • Best practice for managing a Windows 7 deployment with both 32-bit and 64-bit?

    What is the best practice for creating and organizing deployment shares in MDT for a Windows 7 deployment that has mostly 32-bit computers, but a few 64-bit computers as well? Is it better to create a single deployment share for Windows 7 and include both
    versions, or is it better to create two separate deployment shares? And what about 32-bit and 64-bit versions of applications?
    I'm currently leaning towards creating two separate deployment shares, just so that I don't have to keep typing (x86) and (x64) for every application I import, as well as making it easier when choosing applications in the Lite Touch installation. But I know
    each deployment share has the option to create both an x86 and x64 boot image, so that's why I am confused. 

    Supporting two task sequences is way easier than supporting two shares. Two shares means two boot media, or maintaining a method of directing the user to one or the other. Everything needs to be imported or configured twice. Not to mention doubling storage
    space. MDT is designed to have multiple task sequences, why wouldn't you use them?
    Supporting multiple task sequences can be a pain, but not bad once you get a system. Supporting app installs intelligently is a large part of that. We have one folder per app install, with a wrapper vbscript that handles OS detection. If there are separate
    binaries, they are placed in x86 and x64 subfolders. Everything runs from one folder via the same command, "cscript install.vbs". So, import once, assign once, and forget it. Its the same install package we use for Altiris, and we'll be using a Powershell
    version of it when we fully migrate to SCCM.
    Others handle x86 and x64 apps separately, and use the MDT app details to select what platform the app is meant for. I've done that, but we have a template for the vbscript wrapper and its a standard process, I believe its easier. YMMV.
    Once you get your apps into MDT, create bundles. Core build bundle, core deploy bundle, Laptop deploy bundle, etcetera. Now you don't have to assign twenty apps to both task sequences, just one bundle. When you replace one app in the bundle, all TS'es are
    updated automatically. Its kind of the same mentality as active directory. Users, groups and resources = apps, bundles and task sequences.
    If you have separate build and deploy shares in your lab, great. If not, separate your apps into build and deploy folders in your lab MDT share. Use a selection profile to upload only your deploy side to production. In fact I separate everything (except
    drivers) into Build and deploy folders on my lab server. Don't mix build and deploy, and don't mix Lab/QA and production. I also keep a "Retired" folder. When I replace an app, TS, OS, etcetera, I move it to the retired folder and append "RETIRED - " to the
    front of it  so I can instantly spot it if it happens to show up somewhere it shouldn't.
    To me, the biggest "weakness" of MDT is its flexibility. There's literally a dozen different ways to do everything, and there's no fences to keep you on the path. If you don't create some sort of organization for yourself, its very easy to get lost as things
    get complicated. Tossing everything into one giant bucket will have you pulling your hair out.

  • What are best practice for packaging and deploying j2EE apps to iAS?

    We've been running a set of J2EE applications on a pair of iAS SP1b for about a year and it has been quite stable.
    Recently however we have had a number of LDAP issues, particularly when registering and unregistering applications (registering ear files sometimes fails 1st time but may work 2nd time). Also We've noticed very occasionally that old versions of classes sometimes find their way onto our machines.
    What is considered to be best practice in terms of packaging and deployment, specifically:
    1) Packaging - using the deployTool that comes with iAS6 SP1b to package is a big manual task, especially when you have 200+ jsp files. Are people out there using this or are they scripting it with a build tool such as Ant?
    2) Deploying an existing application to multiple iAS's. Are you guys unregistering old application then reregistering new application? Are you shutting down iAS whilst doing the deployment?
    3) Deploying ear files can take 5 to 10 mins, is this normal?
    4) In a clustered scenario where HTTPSession is shared what are the consequences of doing deployments to data stored in session?
    thanks in asvance for your replies
    Owen

    You may want to consider upgrading your application server environment to a newer service pack. There are numerous enhancements involving the deployment tool and run time layout of your application that make clear where you're application is loading its files from.
    If you've at a long running application server environment, with lots of deployments under your belt, you might start to notice slow downs in deployment and kjs start time. Generally this is due to garbage collecting in your iAS registry.
    You can do several things to resolve this. The most complete solution is to reinstall the application server. This will guarantee a clean ldap registry. Of course you've got to restablish your configurations and redeploy your applications. When done, backup your application server install space with the application server and directory server off. You can use this backup to return to a known configuation at some future time.
    For the second method: <B>BE CAREFUL - BACKUP FIRST</B>
    There is a more exhaustive solution that involves examining your deployed components to determine the active GUIDS. You then search the NameTrans section of the registry searching for Applogic Servlet *, and Bean * entries that represent your previously deployed components but are represented in the set of deployed GUIDs. Record these older GUIDs, remove them from ClassImp and ClassDef. Finally remove the older entries from NameTrans.
    Best practices for deployment depend on your particular environmental needs. Many people utilize ANT as a build tool. In later versions of the application server, complete ANT scripts are included that address compiling, assembly and deployment. Ant 1.4 includes iAS specific targets and general J2EE targets. There are iAS specific targets that can be utilized with the 1.3 version. Specialized build targets are not required however to deploy to iAS.
    Newer versions of the deployment tool allow you to specify that JSPs are not to be registered automatically. This can be significant if deployment times lag. Registered JSP's however benefit more fully from the services that iAS offers.
    2) In general it is better to undeploy then redeploy. However, if you know that you're not changing GUIDs, recreating an existing application with new GUIDs, or removing registered components, you may avoid the undeploy phase.
    If you shut down the KJS processes during deployment you can eliminate some addition workload on the LDAP server which really gets pounded during deployment. This is because the KJS processes detect changes and do registry loads to repopulate their caches. This can happen many times during a deployment and does not provide any benefit.
    3) Deploying can be a lengthy process. There have been improvements in that performance from service pack to service pack but unfortunately you wont see dramatic drops in deployment times.
    One thing you can do to reduce deployment times is to understand the type of deployment. If you have not manipulated your deployment descriptors in any way, then there is no need to deploy. Simply drop your newer bits in to the run time space of the application server. In later service packs this means exploding the package (ear,war, or jar) in to the appropriate subdirectory of the APPS directory.
    4) If you've changed the classes of objects that have been placed in HTTPSession, you may find that you can no longer utilize those objects. For that reason, it is suggested that objects placed in session be kept as simple as possible in order to minimize this effect. In general however, is not a good idea to change a web application during the life span of a session.

  • Best practice for running multiple sites on 1 CF install?

    Hi-
    I'm setting up a new hosting environment (Windows Server 2008 Standard 64 bit VPS  configuration, MySQL, IIS 7, CF 9)
    Has anyone seen any docs or can anyone suggest best practices for configuring multiple sites in this environment? At this point I'm thinking simple is best, one new site in IIS for each client (domain) and point it to CF.
    Given this environment, is anyone aware of any gotchas within the setup of CF 9 on IIS 7?
    Thank you in advance,
    Rich

    There's nothing wrong with that approach. You can run as many IIS sites as you like against a single CF install.
    As for installing CF on IIS 7, I recommend that you do the following: install CF 9 without connecting it to IIS, then installing the 9.0.1 upgrade and any hotfixes, then connecting CF to IIS using the web server configuration utility. This will keep you from having to install the IIS 6 compatibility layer that's needed with CF 9 but not with CF 9.0.1.
    Dave Watts, CTO, Fig Leaf Software
    http://www.figleaf.com/
    http://training.figleaf.com/

  • (Request for:) Best practices for setting up a new Windows Server 2012 r2 Hyper-V Virtualized AD DC

    Could you please share your best practices for setting up a new Windows Server 2012 r2 Hyper-V Virtualized AD DC, that will be running on a new WinSrv 2012 r2 host server.   (This
    will be for a brand new network setup, new forest, domain, etc.)
    Specifically, your best practices regarding:
    the sizing of non virtual and virtual volumes/partitions/drives,  
    the use of sysvol, logs, & data volumes/drives on hosts & guests,
    RAID levels for the host and the guest(s),  
    IDE vs SCSI and drivers both non virtual and virtual and the booting there of,  
    disk caching settings on both host and guests.  
    Thanks so much for any information you can share.

    A bit of non essential additional info:
    We are small to midrange school district who, after close to 20 years on Novell networks, have decided to design and create a new Microsoft network and migrate all of our data and services
    over to the new infrastructure .   We are planning on rolling out 2012 r2 servers with as much Hyper-v virtualization as possible.
    During the last few weeks we have been able to find most of the information we need to undergo this project, and most of the information was pretty solid with little ambiguity, except for
    information regarding virtualizing the DCs, which as been a bit inconsistent.
    Yes, we have read all the documents that most of these posts tend point to, but found some, if not most are still are referring to performing this under Srvr 2008 r2, and haven’t really
    seen all that much on Srvr2012 r2.
    We have read these and others:
    Introduction to Active Directory Domain Services (AD DS) Virtualization (Level 100), 
    Virtualized Domain Controller Technical Reference (Level 300),
    Virtualized Domain Controller Cloning Test Guidance for Application Vendors,
    Support for using Hyper-V Replica for virtualized domain controllers.
    Again, thanks for any information, best practices, cookie cutter or otherwise that you can share.
    Chas.

  • Best practice for reinstalling anti virus on reinstalling windows

    Best practice for reinstalling anti virus after formatting drive and reinstalling windows No anti virus disc.
    Hasty

    Hello,
    I'd ask in the Windows forum on Microsoft Community.
    Karl
    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer.
    My Blog:http://unlockpowershell.wordpress.com
    My Book:Windows PowerShell 2.0 Bible
    My E-mail: -join ('6F6C646B61726C40686F746D61696C2E636F6D'-split'(?<=\G.{2})'|%{if($_){[char][int]"0x$_"}})

  • Best Practice for using multiple models

    Hi Buddies,
         Can u tell me the best practices for using multiple models in single WD application?
        Means --> I am using 3 RFCs on single application for my function. Each time i am importing that RFC model under
        WD --->Models and i did model binding seperately to Component Controller. Is this is the right way to impliment  multiple            models  in single application ?

    It very much depends on your design, but One RFC per model is definitely a no no.
    Refer to this document to understand how should you use the model in most efficient way.
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/705f2b2e-e77d-2b10-de8a-95f37f4c7022?quicklink=events&overridelayout=true
    Thanks
    Prashant

Maybe you are looking for