View State Best Practice for Hiding Components?

When changing states and hiding components, what is the best practice?
Set Height/Width=0?
Set Visible/IncludeInLayout=False?
Or is there a better way?

Good point. That's what I thought but I'm working through 'Adobe Flex 3 Training from the Source' and they explicitly set width/height to 0 in the new state so I thought I was not doing it correctly.

Similar Messages

  • Multiple view state best practice for IOS packaged app - Tabbed view or blank template?

    TabbedViewNavigatorApplication or plain Application?
    I have an iPad app that has a fairly complex main view.  Has lots of view state changes.  Before a user can get to that main view, however, they have to go through two other screens:
    1.  Authentication
    2.  Fill out and submit a small form (maybe 6 fields)
    If they do those two things right, they can move on to the main view.  If they don't, they can't move on and the main view shouldn't load.
    Don't want a tab bar showing in the main view.  Has to be full screen.
    My thoughts were:
    1.  Start with the tabbed view template because it's built for this.  Just figure out a way to hide bars top and bottom for main view.
    2.  Use a blank template and do everything with standarf Flex view states
    Not sure...

    Or you can go with door #3, a blank template with a ViewNavigator you use to push and pop your views from the Main.
    View states are heavy. Avoid them like the plague in mobile apps. They are ok for small things like buttons and such, but that's about it.

  • Best Practice for module components based on API's

    Hi all,
    is there a white paper/other documents which outline best
    practice for using table/module component api's and best
    approaches to get around restrictions?
    I would also appreciate war stories about using this method of
    Forms development bearing in mind i would be using this as the
    foundation of a web deployed based application (intranet first -
    ultimately internet).
    Thanks
    Mark
    null

    You cannot add agents to skills dynamically; however, you can queue the caller into more than one CSQ based on statistics. You would use the Get Reporting Statistics and an If step within the Queued branch of your first Select Resource step. If the condition is met (e.g. Contacts Waiting >= 10) then exectue a second Select Resource step within the queued branch of the first. The contact would then be waiting in both CSQs waiting for an agent.

  • Best practices for adding components in a composite custom component

    Hello,
    I am developing a custom, composite JSF component need to dynamically add child components in my renderer class. I've noticed that people add components to a custom component in many different ways. I'd like to follow JSF best practices when developing this component - of the following approaches, which would you recommend? Or is there yet another approach I should be using?
    1) in the encodeBegin method of my renderer class, create a new component, add it to the component tree, and let the page life cycle take care of the rendering:
    HtmlDataList dimensionStateGroupDataList = (HtmlDataList) app.createComponent( HtmlDataList.COMPONENT_TYPE );
    //set properties on dimensionStateGroupDataList
    component.getChildren().add(dimensionStateGroupDataList);
    2) in either the encodeBegin or encodeEnd method, create a component and encode it:
    HtmlDataList dimensionStateGroupDataList = (HtmlDataList) app.createComponent( HtmlDataList.COMPONENT_TYPE );
    //set properties on dimensionStateGroupDataList
    dimensionStateGroupDataList.encodeBegin();
    dimensionStateGroupDataList.encodeEnd();
    Both of these methods are functional, and I prefer the first (why encode children if you don't have to?), but I am interested in other people's take on how this should be done.
    Thanks for your help.
    -Christopher

    My bad, sorry, wasnt concentrating, Im afraid I have no experience with portlets, but I would have thought that you can mimic the outputLinkEx in you renderer by encoding your own links?
    If you were to bind a backing bean variable to an outputLinkEx what would it be? Not understanding portlets, or knowing what an outputLinkEx is may be hindering me, but you should be able to create an instance of it in code like (this example uses HtmlOutputLink, you would need to know which component to use):
    HtmlOutputLink hol = new HtmlOutputLink();
    hol.set....Then set any attributes on it, and explicitly call its encodeStart, encodeEnd functions. Is that way off the mark.

  • What is the best practice for changing view states?

    I have a component with two Pie Charts that display
    percentages at two specific dates (think start and end values).
    But, I have three views: Start Value only, End Value only, or show
    Both. I am using a ToggleButtonBar to control the display. What is
    the best practice for changing this kind of view state? Right now
    (since this code was inherited), the view states are changed in an
    ActionScript function which sets the visible and includeInLayout
    properties on each Pie Chart based on the selectedIndex of the
    ToggleButtonBar, but, this just doesn't seem like the best way to
    do this - not very dynamic. I'd like to be able to change the state
    based on the name of the selectedItem, in case the order of the
    ToggleButtons changes, and since I am storing the name of the
    selectedItem for future reference.
    Would using States be better? If so, what would be the best
    way to implement this?
    Thanks.

    I would stick with non-states, as I have always heard that
    states are more for smaller components that need to change under
    certain conditions, like a login screen that changes if the user
    needs to register.
    That said, if the UI of what you are dealing with is not
    overly complex, and if it will not become overly complex, maybe
    states is the way to go.
    Looking at your code, I don't think you'll save much in terms
    of lines of code.

  • Best-practice for Catalog Views ? :|

    Hello community,
    A best practice question:
    The situtation: I have several product categories (110), several items in those categories (4000) and 300 end-users.    I would like to know which is the best practice for segment the catalog.   I mean, some users should only see categories 10,20 & 30.  Other users only category 80, etc.    The problem is how can I implement this ?
    My first idea is:
    1. Create 110 Procurement Catalogs (1 for every prod.category).   Each catalog should contain only its product category.
    2. Assign in my Org Model, in a user-level all the "catalogs" that the user should access.
    Do you have any idea in order to improve this ?
    Saludos desde Mexico,
    Diego

    Hi,
    Your way of doing will work, but you'll get maintenance issues (to many catalogs, and catalog link to maintain for each user).
    The other way is to built your views in CCM, and assign these views to the users, either on the roles (PFCG) or on the user (SU01). The problem is that with CCM 1.0 this is limitated, cause you'll have to assign one by one the items to each view (no dynamic or mass processes), it has been enhanced in CCM 2.0.
    My advice:
    -Challenge your customer about views, and try to limit the number of views, with for example strategic and non strategic
    -With CCM 1.0 stick to the procurement catalogs, or implement BADIs to assign items to the views (I experienced it, it works, but is quite difficult), but with a limitated number of views
    Good luck.
    Vadim

  • "Best practice" for components calling components on different panels.

    I'm very new to Swing. I have been learning from tutorials, but these are always relatively simple interfaces , in which every component and container is initialised and added in the constructor of a main JFrame (extension) object.
    I would assume that more complex, real-world examples would have JPanels initialise themselves. For example, I am working on a project in which the JFrame holds multiple JPanels. One of these Panels holds a group of JToggleButtons (grouped in a ButtonGroup). The action event for each button involves calling the repaint method of one of the other Panels.
    Obviously, if you initialise everything in the JFrame, you can simply have the ActionListener refer to the other JPanel directly, by making the ActionListener a nested class within the JFrame class. However, I would like the JPanels to initialise their own components, including setting the button actions, by using an extension of class JPanel which includes the ActionListeners as nested classes. Therefore the ActionListener has no direct access to JPanel it needs to repaint.
    What, then, is considered "best practice" for allowing these components to interact (not simply in this situation, but more generally)? Should I pass a reference to the JPanel that needs to be repainted to the JPanel that contains the ActionListeners? Should I notify the main JFrame that the Action event has fired, and then have that call "repaint"? Or is there a more common or more correct way of doing this?
    Similarly, one of the JPanels needs to use a field belonging to the JFrame that holds it. Should I pass a reference to this object to the JPanel, or should I have the JPanel use "getParent()", or some other method?
    I realise there are no concrete answers to this query, but I am wondering whether there are accepted practices for achieving this. My instinct is to simply pass a JPanel reference to the JPanel that needs to call repaint, but I am unsure how extensible this would be, how tightly coupled these classes would become.
    Any advice anybody could give me would be much appreciated. Sorry the question is so long-winded. :)

    Hello,
    nice to get feedback.
    I've been looking at a few resources on this issue from my last post. In my application I have been using the Observer and Observable classes to implement the MVC pattern suggested by T.PD.(...)
    Two issues (not fatal, but annoying) with this are:
    -Observable is a class, not an interface; since most of my Observers already extend JPanel (or some such), I have had to create inner classes.
    -If an Observer is observing multiple Observables, it will have to determine which Observer called its update() method (by using reference equality or class comparison or whatever). Again, a very minor issue, but something to keep in mind.I don't deem those issues are minor. The second one in particular, is rather annoying in terms of maintenance ("Err, remind me, which widget is calling this "update()" method?").
    In addition to that, the Observable/Observer are legacy non-generified classes, that incurr a loosely-typed approach (the subject and context arguments to the update(Observable subject, Object context) methods give hardly any info in themselves, and they generally have to be cast to provide app-specific information.
    Note that the "notification model" from AWT and Swing widgets is not Observer-Observable, but merely EventListener . Although we can only guess what reasons made them develop a specific notification model, I deem this essentially stems from those reasons.
    The contrasting appraoches are discussed in this article from Bill Venners: The Event Generator Idiom (http://www.artima.com/designtechniques/eventgenP.html).
    N.B.: this article is from a previous-millenary series of "Design Techniques" articles that I found very useful when I learned OO design (GUI or not).
    One last nail against the Observer/Observable model: these are general classes that can be used regardless of the context (GUI/non-GUI code), so this makes it easier to forget about Swing threading rules when using them (essentially: is the update method called in the EDT or not).
    If anybody has any information on the performance or efficiency of using Observable/ObserverI would be very surprised if this had any performance impact. If it had, that would mean that you have either:
    - a lot of widgets that are listening to one another (and then the Mediator pattern is almost a must to structure such entangled dependencies). And even then I don't think there could be any impact below a few thousands widgets.
    - expensive or long-running computation in the update methods. That's unrelated to the notification model itself.
    - a lot of non-GUI components that use the Observer/Observable to communicate among themselves - all the more risk then, to have a GUI update() called outside the EDT, see remark above.
    (or whether there are inbuilt equivalents for Swing components)See discussion above.
    As far as your remark 2 goes (if one observer observes more than one subjects, the update() method contains branching logic) : this also occurs with the Event Delegation model indeed: for example, it is quite common that people complain that their actionPerformed() method becomes unwieldy when the same class listens for several JButtons.
    The usual advice for this is, use anonymous listeners, each of which handles the event from only one source (and generally very close in code to the definition of that source), and that simply translates the "generic" event notification method into a specific method call of a Controller or Mediator .
    Best regards.
    J.
    Edited by: jduprez on May 9, 2011 10:10 AM

  • JSR 168 best practice for saving inter-portlet state

    The portlet specification doesn't yet cover inter-portlet communication. Until
    it does, what is the best practice for saveing state so that multiple portlets
    can use the same data?

    The portlet session is layered on top of the HTTP session except for
    attribute scoping. So, all portlets in a webapp share the same
    HTTP/portlet session for a given client.
    All APPLICATION_SCOPEd portlet session attributes are automatically
    available to other portlets. With PORTLET_SCOPEd attributes, portlet
    containers namespace attribute names, so it would be hard to get
    attributes by name (but still possible).
    Subbu
    Chris Jennings said the following on 10/14/2003 09:17 AM:
    If I set an attribute in a PortletSession, though, it isn't visible form another
    PortletSession... right? Please tell me that's wrong ;-) If that's right, how
    can I have portlet B get to something set by portlet A?
    Subbu Allamaraju <[email protected]> wrote:
    Chris,
    For sharing transient state, the only possible mechanism in V1.0 is to
    use sessions.
    Subbu

  • Best Practices for Defining NDS Java Projects...

    We are doing a Proof of Concept on using NDS to develop non-SAP Java applications.  We are attempting to determine if we can replace our current Java development tools with NDS/WAS.
    We are struggling with SAP's terminology and "plumbing" for setting up/defining Java projects.  For example, what is and when do you define Tracks, Software Components, Development Components, etc.  All of these terms are totally foreign to us and do not relate to our current Java environment (at least not that we can see).  We are also struggling with how the DTR and activities tie in to those components.
    If any one has defined best practices for setting up Java projects or has struggled with and overcome these same issues, please provide us with some guidance.  This is a very frustrating and time-consuming issue for us.
    Thank you!!

    Hi Peggy,
    In Component Model we divide software projects into small components.Components can use other components in well defined manner.
    A development object is a part of a component that can be changed or developed in some way; it provides the component with a certain part of its functionality. A development object may be a Java class, a Web Dynpro view, a table definition, a JSP page, and so on. Development objects are always stored as “sources” in a repository.
    A development component can be defined as a frame shared by a number of objects, which are part of the software.
    Software components combine components (DCs) to larger units for delivery and deployment.
    A track comprises configurations and runtime systems required for developing software component versions.It ensures stable states of deliverables used by subsequent tracks.
    The Design Time Repository is for versioning source code management. Distributed development of software in teams. Transport and replication of sources.
    You can also find lot of support in SDN for the above concepts with tutorials.
    Refer this Link for a overview on Java development Infrastructure(JDI)
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/java/java development infrastructure jdi overview.pdf
    To understand further
    Working with Net Weaver Development Infrastructure :
    http://help.sap.com/saphelp_nw04/helpdata/en/03/f6bc3d42f46c33e10000000a11405a/content.htm
    In the above link you can find all the concepts clearly explained.You can also find the required tutorials for development.
    Regards,
    Vijith

  • Best practices for setting up projects

    We recently adopted using Captivate for our WBT modules.
    As a former Flash and Director user, I can say it’s
    fast and does some great things. Doesn’t play so nice with
    others on different occasions, but I’m learning. This forum
    has been a great source for search and read on specific topics.
    I’m trying to understand best practices for using this
    product. We’ve had some problems with file size and
    incorporating audio and video into our projects. Fortunately, the
    forum has helped a lot with that. What I haven’t found a lot
    of information on is good or better ways to set up individual
    files, use multiple files and publish projects. We’ve decided
    to go the route of putting standalones on our Intranet. My gut says
    yuck, but for our situation I have yet to find a better way.
    My question for discussion, then is: what are some best
    practices for setting up individual files, using multiple files and
    publishing projects? Any references or input on this would be
    appreciated.

    Hi,
    Here are some of my suggestions:
    1) Set up a style guide for all your standard slides. Eg.
    Title slide, Index slide, chapter slide, end slide, screen capture,
    non-screen capture, quizzes etc. This makes life a lot easier.
    2) Create your own buttons and captions. The standard ones
    are pretty ordinary, and it's hard to get a slick looking style
    happening with the standard captions. They are pretty easy to
    create (search for add print button to learn how to create
    buttons). There should instructions on how to customise captions
    somewhere on this forum. Customising means that you can also use
    words, symbols, colours unique to your organisation.
    3) Google elearning providers. Most use captivate and will
    allow you to open samples or temporarily view selected modules.
    This will give you great insight on what not to do and some good
    ideas on what works well.
    4) Timings: Using the above research, I got others to
    complete the sample modules to get a feel for timings. The results
    were clear, 10 mins good, 15 mins okay, 20 mins kind of okay, 30
    mins bad, bad, bad. It's truly better to have a learner complete
    2-3 short modules in 30 mins than one big monster. The other
    benefit is that shorter files equal smaller size.
    5) Narration: It's best to narrate each slide individually
    (particularly for screen capture slides). You are more likely to
    get it right on the first take, it's easier to edit and you don't
    have to re-record the whole thing if you need to update it in
    future. To get a slicker effect, use at least two voices: one male,
    one female and use slightly different accents.
    6) Screen capture slides: If you are recording filling out
    long window based databse pages where the compulsory fields are
    marked (eg. with a red asterisk) - you don't need to show how to
    fill out every field. It's much easier for the learner (and you) to
    show how to fill out the first few fields, then fade the screen
    capture out, fade the end of the form in with the instructions on
    what to do next. This will reduce your file size. In one of my
    forms, this meant the removal of about 18 slides!
    7) Auto captions: they are verbose (eg. 'Click on Print
    Button' instead of 'Click Print'; 'Select the Print Preview item'
    instead of 'Select Print Preview'). You have to edit them.
    8) PC training syntax: Buttons and hyperlinks should normally
    be 'click'; selections from drop down boxes or file lists are
    normally 'select': Captivate sometimes mixes them up. Instructions
    should always be written in the correct order: eg. Good: Click
    'File', Select 'Print Preview'; Bad: Select 'Print Preview' from
    the 'File Menu'. Button names, hyperlinks, selections are normally
    written in bold
    9) Instruction syntax: should always be written in an active
    voice: eg. 'Click Options to open the printer menu' instead of
    'When the Options button is clicked on, the printer menu will open'
    10) Break all modules into chapters. Frame each chapter with
    a chapter slide. It's also a good idea to show the Index page
    before each chapter slide with a progress indicator (I use an
    animated arrow to flash next to the name of the next chapter), I
    use a start button rather a 'next' button for the start of each
    chapter. You should always have a module overview with the purpose
    of the course and a summary slide which states what was covered and
    they have complete the module.
    11) Put a transparent click button somewhere on each slide.
    Set the properties of the click box to take the learner back to the
    start of the current chapter by pressing F2. This allows them to
    jump back to the start of their chapter at any time. You can also
    do a similar thing on the index pages which jumps them to another
    chapter.
    12) Recording video capture: best to do it at normal speed
    and be concious of where your mouse is. Minimise your clicks. Most
    people (until they start working with captivate) are sloppy with
    their mouse and you end up with lots of unnecessarily slides that
    you have to delete out. The speed will default to how you recorded
    it and this will reduce the amount of time you spend on changing
    timings.
    13) Captions: My rule of thumb is minimum of 4 seconds - and
    longer depending on the amount of words. Eg. Click 'Print Preview'
    is 4 seconds, a paragraph is longer. If you creating knowledge
    based modules, make the timing long (eg. 2-3 minutes) and put in a
    next button so that the learner can click when they are ready.
    Also, narration means the slides will normally be slightly longer.
    14) Be creative: Capitvate is desk bound. There are some
    learners that just don't respond no matter how interactive
    Captivate can be. Incorporate non-captivate and desk free
    activities. Eg. As part of our OHS module, there is an activity
    where the learner has to print off the floor plan, and then wander
    around the floor marking on th emap key items such as: fire exits;
    first aid kit, broom and mop cupboard, stationary cupboard, etc.
    Good luck!

  • Best practice for component layout?

    Hi,can people tell me their views on best practice in this area, using JSF.
    Eg, say I want this:
        LabelSml    InputField
        LabelLarge  InputField... ie 2 labels, 2 fields, vertically alligned, and with some space between the label and the field.
    and this one:
        Field                             Field... ie 2 fields with a lot of space between them.
    Finally, are there any examples on the web of UIs with many discrete fields on them (as opposed to logon/helloWorld and matrix data control), where I can look at how the design has been done.
    Marc

    I don't know if our solution is a best practice. We are not using the label property of input components because the alignment does not satisfy then. Instead we are using a <h:panelGrid> and nest <ui:label> and <ui:textField> (Studio Creator components) components in it. Multiple components in one cell are surrounded with a nested layout or grid panel. The number of columns is set by the attribute "columns" and width is controlled by the attribute "columnClasses". Example
    <?xml version="1.0" encoding="UTF-8"?>
    <jsp:root version="1.2" xmlns:bp="http://java.sun.com/blueprints/ui/14" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"
        xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:ui="http://www.sun.com/web/ui">
        <jsp:directive.page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"/>
        <f:view locale="#{SessionBean1.locale}">
            <f:loadBundle basename="com.asci.nef.resourcen.Aktionen" var="akt"/>
            <f:loadBundle basename="com.asci.nef.resourcen.Label" var="lab"/>
            <f:loadBundle basename="com.asci.nef.resourcen.Datenlisten" var="datenlisten"/>
            <f:loadBundle basename="com.asci.nef.resourcen.Meldungen" var="msg"/>
            <ui:page binding="#{personal$Mitarbeiterauswahl.page1}" id="page1">
                <ui:html binding="#{personal$Mitarbeiterauswahl.html1}" id="html1">
                    <ui:head binding="#{personal$Mitarbeiterauswahl.head1}" id="head1">
                        <ui:link binding="#{personal$Mitarbeiterauswahl.link1}" id="link1" url="/resources/stylesheet.css"/>
                        <ui:script binding="#{personal$Mitarbeiterauswahl.scriptFenster}" id="scriptFenster" url="/resources/fenster.js"/>
                    </ui:head>
                    <ui:body binding="#{personal$Mitarbeiterauswahl.body1}" id="body1" style=" -rave-layout: grid">
                        <jsp:directive.include file="../Menue.jspf"/>
                        <ui:form binding="#{personal$Mitarbeiterauswahl.form1}" id="form1">
                            <div>
                                <jsp:directive.include file="../Fensterkennung.jspf"/>
                            </div>
                            <ui:tabSet binding="#{personal$Mitarbeiterauswahl.tabSetPersonaldaten}" id="tabSetPersonaldaten" selected="tabSuchen" style="position: absolute; left: 0px; top: 36px; width: 100%;">
                                <ui:tab binding="#{personal$Mitarbeiterauswahl.tabSuchen}" id="tabSuchen" text="#{akt.funktion110}">
                                    <ui:panelLayout binding="#{personal$Mitarbeiterauswahl.layoutPanelSuchen}" id="layoutPanelSuchen">
                                        <h:panelGrid binding="#{personal$Mitarbeiterauswahl.gridPanelSuchen}" columnClasses="gridlabel, griddata" columns="2"
                                            id="gridPanelSuchen" style="position:absolute; left:100px; top:30px;">
                                            <ui:label binding="#{personal$Mitarbeiterauswahl.labelPersonalnummerSuchen}" id="labelPersonalnummerSuchen" text="#{lab.mitarbeiterauswahl_personalnummer}"/>
                                            <ui:textField binding="#{personal$Mitarbeiterauswahl.textFieldPersonalnummerSuchen}" converter="javax.faces.Long"
                                                id="textFieldPersonalnummerSuchen" maxLength="10" styleClass="eingabe1"/>
                                            <ui:label binding="#{personal$Mitarbeiterauswahl.labelNameSuchen}" for="textFieldNameSuchen" id="labelNameSuchen" text="#{lab.mitarbeiterauswahl_name}"/>
                                            <ui:textField binding="#{personal$Mitarbeiterauswahl.textFieldNameSuchen}" converter="TextTrim" id="textFieldNameSuchen"
                                                maxLength="30" styleClass="eingabe4"/>
                                            <ui:label binding="#{personal$Mitarbeiterauswahl.labelGeburtsdatumSuchen}" id="labelGeburtsdatumSuchen" text="#{lab.mitarbeiterauswahl_geburtsdatum}"/>
                                            <ui:textField binding="#{personal$Mitarbeiterauswahl.textFieldGeburtsdatumSuchen}"
                                                converter="#{SessionBean1.sqlDateConverter}" id="textFieldGeburtsdatumSuchen" maxLength="10" styleClass="eingabe1"/>
                                            <ui:label binding="#{personal$Mitarbeiterauswahl.labelTaetigkeitSuchen}" id="labelTaetigkeitSuchen" text="#{lab.mitarbeiterauswahl_taetigkeit}"/>
                                            <ui:dropDown binding="#{personal$Mitarbeiterauswahl.dropDownTaetigkeitSuchen}" id="dropDownTaetigkeitSuchen"
                                                items="#{personal$Mitarbeiterauswahl.listOptionsTaetigkeitSuchen}" styleClass="eingabe4"/>
                                            <ui:label binding="#{personal$Mitarbeiterauswahl.labelVereinbarungSuchen}" id="labelVereinbarungSuchen" text="#{lab.mitarbeiterauswahl_zusatzvereinbarung}"/>
                                            <ui:textField binding="#{personal$Mitarbeiterauswahl.textFieldVereinbarungSuchen}" id="textFieldVereinbarungSuchen" styleClass="eingabe4"/>
                                            <ui:label binding="#{personal$Mitarbeiterauswahl.labelSortieren}" id="labelSortieren" text="#{lab.mitarbeiterauswahl_sortieren}"/>
                                            <ui:radioButtonGroup binding="#{personal$Mitarbeiterauswahl.radioButtonGroupSortieren}" columns="4"
                                                id="radioButtonGroupSortieren"
                                                items="#{personal$Mitarbeiterauswahl.radioButtonGroupSortierenDefaultOptions.options}" required="true" selected="#{personal$Mitarbeiterauswahl.radioButtonGroupSortierenDefaultOptions.selectedValue}"/>
                                            <ui:label binding="#{personal$Mitarbeiterauswahl.labelDummy1}" id="labelDummy1"/>
                                            <ui:button action="#{personal$Mitarbeiterauswahl.buttonSuchen_action}"
                                                binding="#{personal$Mitarbeiterauswahl.buttonSuchen}" id="buttonSuchen" text="#{akt.button_suchen}"/>
                                            <ui:label binding="#{personal$Mitarbeiterauswahl.labelDummy2}" id="labelDummy2"/>
                                            <ui:listbox binding="#{personal$Mitarbeiterauswahl.listboxSuche}" id="listboxSuche" monospace="true"
                                                onDblClick="#{personal$Mitarbeiterauswahl.onDblClickAction}" rows="20" styleClass="eingabe7"/>
                                            <ui:label binding="#{personal$Mitarbeiterauswahl.labelDummy3}" id="labelDummy3"/>
                                            <ui:panelLayout binding="#{personal$Mitarbeiterauswahl.layoutPanelButtons2}" id="layoutPanelButtons2" panelLayout="flow">
                                                <ui:button action="#{personal$Mitarbeiterauswahl.buttonNeu_action}"
                                                    binding="#{personal$Mitarbeiterauswahl.buttonNeu}" id="buttonNeu" immediate="true" text="#{akt.button_neu}"/>
                                                <ui:button action="#{personal$Mitarbeiterauswahl.buttonBearbeiten_action}"
                                                    binding="#{personal$Mitarbeiterauswahl.buttonBearbeiten}" id="buttonBearbeiten" text="#{akt.button_bearbeiten}"/>
                                                <ui:button action="#{personal$Mitarbeiterauswahl.buttonLoeschen_action}"
                                                    binding="#{personal$Mitarbeiterauswahl.buttonLoeschen}" id="buttonLoeschen" text="#{akt.button_loeschen}"/>
                                            </ui:panelLayout>
                                        </h:panelGrid>
                                    </ui:panelLayout>
                                </ui:tab>
                            </ui:tabSet>
                            <h:panelGrid binding="#{personal$Mitarbeiterauswahl.gridPanelFehler}" id="gridPanelFehler" onclick="this.style.display = 'none';" style="position: absolute; right: 20px; bottom: 50px; width: 250px; height: 78px;"/>
                            <ui:panelLayout binding="#{personal$Mitarbeiterauswahl.layoutPanelConfirm}" id="layoutPanelConfirm" panelLayout="flow" style="position:absolute; top:36px; left:0px;width:100%; height:700px;">
                                <h:panelGrid binding="#{personal$Mitarbeiterauswahl.gridPanelConfirm}" columns="1" id="gridPanelConfirm" style="margin-left:auto; margin-right:auto; margin-top:300px; background-color:#FF3333;">
                                    <ui:staticText binding="#{personal$Mitarbeiterauswahl.staticTextConfirm}" id="staticTextConfirm" text="#{msg.global_loeschen}"/>
                                    <ui:panelLayout binding="#{personal$Mitarbeiterauswahl.layoutPanelConfirmButtons}" id="layoutPanelConfirmButtons" panelLayout="flow">
                                        <ui:button action="#{personal$Mitarbeiterauswahl.buttonConfirmYes_action}"
                                            binding="#{personal$Mitarbeiterauswahl.buttonConfirmYes}" id="buttonConfirmYes" text="#{akt.button_ja}"/>
                                        <ui:button action="#{personal$Mitarbeiterauswahl.buttonConfirmNo_action}"
                                            binding="#{personal$Mitarbeiterauswahl.buttonConfirmNo}" id="buttonConfirmNo" text="#{akt.button_nein}"/>
                                    </ui:panelLayout>
                                </h:panelGrid>
                            </ui:panelLayout>
                        </ui:form>
                    </ui:body>
                </ui:html>
            </ui:page>
        </f:view>
    </jsp:root>

  • What is the best practice for creating primary key on fact table?

    what is the best practice for primary key on fact table?
    1. Using composite key
    2. Create a surrogate key
    3. No primary key
    In document, i can only find "From a modeling standpoint, the primary key of the fact table is usually a composite key that is made up of all of its foreign keys."
    http://download.oracle.com/docs/cd/E11882_01/server.112/e16579/logical.htm#i1006423
    I also found a relevant thread states that primary key on fact table is necessary.
    Primary Key on Fact Table.
    But, if no business requires the uniqueness of the records and there is no materilized view, do we still need primary key? is there any other bad affect if there is no primary key on fact table? and any benifits from not creating primary key?

    Well, natural combination of dimensions connected to the fact would be a natural primary key and it would be composite.
    Having an artificial PK might simplify things a bit.
    Having no PK leads to a major mess. Fact should represent a business transaction, or some general event. If you're loading data you want to be able to identify the records that are processed. Also without PK if you forget to make an unique key the access to this fact table will be slow. Plus, having no PK will mean that if you want to used different tools, like Data Modeller in Jbuilder or OWB insert / update functionality it won't function, since there's no PK. Defining a PK for every table is a good practice. Not defining PK is asking for a load of problems, from performance to functionality and data quality.
    Edited by: Cortanamo on 16.12.2010 07:12

  • Best practices for updating agents

    We're getting ready to do our first system-wide update of agents to fix a critical bug. Our summer vacation is just ending, and teachers and students will be coming back very soon and turning on our Windows 7 computers for the first time in many weeks, although they won't all be turned on the same day. When they are turned on they will be attempting to get various updates, in particular Windows updates, but also Flash Player and Adobe Reader. I need to update the agents as quickly as possible, but I'm concerned about the possibility of the agent update conflicting with another update, especially Windows updates. Isn't it possible that Windows Update could restart a computer while the agent update is happening (or the other way around), leaving the machine in an unstable or unusable state? What are the best practices for dealing with this? I considered the possibility of deploying the agent to a dynamic workstation group whose members all have a certain file or files that indicate that they have already received the latest Windows updates. However, I can't see how to create a dynamic group based on such criteria.
    So far I have only updated a few devices at a time using "Deploy System Updates to Selected Devices in the Management Zone". When those updates are done I cancel that deployment because that's the only option I can find that does anything. If you can offer general advice for a better strategy of updating agents I'd appreciate that. Specifically, how would you push an agent update to several hundred computers that will be turned on sometime over the next two weeks?
    Thanks very much.

    Originally Posted by jcw_av
    We're getting ready to do our first system-wide update of agents to fix a critical bug. Our summer vacation is just ending, and teachers and students will be coming back very soon and turning on our Windows 7 computers for the first time in many weeks, although they won't all be turned on the same day. When they are turned on they will be attempting to get various updates, in particular Windows updates, but also Flash Player and Adobe Reader. I need to update the agents as quickly as possible, but I'm concerned about the possibility of the agent update conflicting with another update, especially Windows updates. Isn't it possible that Windows Update could restart a computer while the agent update is happening (or the other way around), leaving the machine in an unstable or unusable state? What are the best practices for dealing with this? I considered the possibility of deploying the agent to a dynamic workstation group whose members all have a certain file or files that indicate that they have already received the latest Windows updates. However, I can't see how to create a dynamic group based on such criteria.
    So far I have only updated a few devices at a time using "Deploy System Updates to Selected Devices in the Management Zone". When those updates are done I cancel that deployment because that's the only option I can find that does anything. If you can offer general advice for a better strategy of updating agents I'd appreciate that. Specifically, how would you push an agent update to several hundred computers that will be turned on sometime over the next two weeks?
    Thanks very much.
    To be honest, you have to work around your other deploys, etc. The ZCM agent isn't "aware" of other deploys going on. For example, ZPM doesn't care that you're doing Bundles at the same time (you'll get errors in the logs about the fact that only one MSI can run at a time, for example). ZPM usually recovers and picks up where it left off.
    Bundles on the other hand, with System Update, are not so forgiving. Especially if you have the agents prior to 11.2.4 MU1 (cache corruption errors).
    We usually:
    a) Halt all software rollouts/patching as best we can
    b) Our software deploys (bundles) are on event: user login Typically the system update is on Device Refresh, OR scheduled time, and are device associated.
    IF possible, I'd suggest that you use WOL, system update and voila.
    Or, if no WOL available, then tell your users to leave their pc turned on (doesn't have to be logged in), on X night, and setup your system updates for that night, with the auto-reboot enabled. That worked well
    But otherwise the 3 components of ZCM (Bundles, ZPM, System Update) don't know/care about each other, AFAIK.
    --Kevin

  • What’s the best practice for this scenario?

    Hi,
    My users want the ability to change the WHERE and/or ORDER BY clause at runtime. They may define user preferences on each screen ( which is bind to a view object). They want to see the same records based on WHERE/ORDER BY defined on the last visit. That is why I keep the users preferences and load the screen based on that, using :
    View.setWhereClause(...);
    View.setOrderByClause(...);
    View.executeQuery();
    This works good when only one user working with the application but faced low performance when more than one user working with the application.
    What are the points to increase the performance and what is the best practice for this scenario?
    Thanks for your help in advance.

    Sung,
    I am talking only about 2 users in my testing. I am sure i missed something but could not recognize that.
    This page is my custom query page including a tag to instantiate app module in stateful mode at the top <jbo:ApplicationModule..> and a tag to instantiate data source <jbo:Datasource...> and release tag at the bottom <jbo:ReleasePageResources..> and some java code in the middle(body). The java code constructed the query statement and then fires the query to set the view object based on the query statement using the above methods.
    So, I am facing very slow performance(speed) when two clients load this page at the same time. Looks like the entire application locks for others when one client load this page and fire the query. i realized the battle neck is where executeQuery() is executing.
    what do you think.
    Thanks in advance for your comments.

  • Best Practices for Implementing Cryptographic VPN

    With Marcin Latosiewicz
    Welcome to the Cisco Support Community Ask the Expert conversation.  This  is an opportunity to learn and ask questions about implementing cryptographic VPN and how to prepare it for the future with expert Marcin Latosiewicz. 
    Marcin will share his best practices for implementing cryptographic VPN as well as advise those customers who are looking to build a new or update their existing setups how to maximize their potential.  Additionally, Marcin will provide insight into which technologies could be applicable for new deployments and exciting new technologies that will be available in the next few months. 
    Marcin Latosiewicz is a customer support engineer at the Cisco®  Technical Assistance Center in Belgium, with more than 6 years of  experience with Cisco Security products and technologies including  IPsec, VPN, internetworking appliances, network and system security,  Internet services, and  Cisco networking equipment. Prior to joining Cisco, he operated, administered, and ran UNIX and Microsoft networks for 14 years. Latosiewicz holds bachelors and masters degrees in engineering from Warsaw University of Technology. He also holds CCIE® certification in Security (No. 25784) and CCDP® certification.
    Remember to use the rating system to let Marcin know if you've received an adequate response. 
    Because of the volume expected during this event, Marcin might not be able to answer every question. Remember that you can continue the conversation in the Security community, subcommunity, VPN, shortly after the event. This event lasts through September 20, 2013. Visit this forum often to view responses to your questions and those of other Cisco Support Community members.

    Jouni,
    Good question. And answer is complex, there is in depth and there is in depth.
    Most people would be satisfied by reading a summary of all the different components - encryption, hashing, signing, PKI, how IPsec and SSL/TLS work. This group also counts most of security CCIEs.
    To this extent CCIE Security Study Guide (by Henry Benjamin) was a good read, if a bit outdated today.
    Most people who are in depth will look first into specification.
    RFC 4301 (IPsec architecture)
    RFC 2246 (TLS 1.0)
    Are a good start and contain references to other documents worth reading.
    This is where the good folks will base their knowledge of off.
    The really in depth people will look into the math behind it and will conquer topics like
    Elliptic Curve Crypto ( http://en.wikipedia.org/wiki/Elliptic_curve_cryptography ) and difference between CCM, GCM and CCB, to which you have really good materials published by universities.
    There are relatively a few who know this.
    To start with I can suggest:
    - http://www.cl.cam.ac.uk/~rja14/book.html (Ross' Anderson book is free, informative and suprisngly entertaining, this is a definitely a must-read for security/VPN).
    - Have a look at books recommended by Richard Bejtlich or Bruce Scheiner - while they might not be VPN specific it's a good security read most of the time.
    I'll have a look at the books at home see which one can be interesting to read, and edit this post.
    M.

Maybe you are looking for