Dynamically load content based on parameters

Hi guys,
I have a got a CQ design question here:
We are building a site which will render various header, footer, list of products and some sections of the main body depending on a set of parameters.
There are over 300 variations of these parameters, therefore we need to create a machnism which helps to determine what content/page to render at runtime.
We have thought about couple solutions but still not having a clear idea how they will work in CQ:
1. Use good old queryString, get the parse the queryString, then in the main jsp page, add some logic and decide which jsp to page to include. But this means we will need potentially hundreds if not thousands of jsp pages to render different content.
2. Use dynamic selector to include dynamic content. But does that eliminate the need of hundreds of jsp pages?
Also, in CQ, what is the best practice to store these parameters in http session? Or should they be stored in sling http session instead?
Many thanks!!!

If your page consists of a combination of distinct building blocks, and for each building block you have a small number a variantions (3-5), you could use SSI on the dispatcher webserver to build the complete page. Then each individual building block can be cached at the dispatcher, reducing the load on CQ5 publishing dramatically.
cheers,
Jörg

Similar Messages

  • Dynamically load content by date using xml

    i would like to load content by date using xml. meaning if i
    have 5 upcoming social events listed, i want them to dynamically
    drop off from my webpage as the event date passes. i would like to
    use the built in spry xml dataset functionality, but don't have to.
    i can't seem to find a way to get the server date and then compare
    it to a date in a xml node. this seems simple, but i can't seem to
    find a tutorial that does not get crazy with all kinds of
    code.

    Have the column headings (which the user clicks to sort by
    that column) as
    links back to the main page, with the sort as a url parameter
    eg
    www.mysite.com/mypage.php?sort=name
    www.mysite.com/mypage.php?sort=date
    etc
    Then in your recordset, change the code from
    $sql = "SELECT * FROM table ";
    to
    switch($_GET['sort']){
    case "date":
    $sql = "SELECT * FROM table ORDER BY date DESC";
    break;
    case "name":
    $sql = "SELECT * FROM table ORDER BY name DESC";
    break;
    You`ll need to change the above to suit your needs obviously,
    but the above
    shows the principles that you need to use.
    So you use the same page for each sort, but the SQL to
    retrieve the records
    in the order you want changes dynamically.
    Gareth
    http://www.phploginsuite.co.uk/
    PHP Login Suite V2 - 34 Server Behaviors to build a complete
    Login system.

  • Dynamically loaded content?

    Can Catalyst (current beta) dynamically load text and images?  If not, will the release version have this capability?

    You can create a SWF file with Flash CS3 or CS4, to load textes or images dynamically.
    Then you import ("Import Artwork ...") the SWF file into Catalyst. That s all.
    More details (as far as i know) :
    - if you write actionscript, dont use the "root" keyword (as the SWF ll be embed in the Catalyst project)
    - if you need extra files (ex: a TXT file to set which image has to be loaded), paste them in the "src/assets" directory (from the "code view" of Catalyst)
    - if you need to edit such files : open them with the "system application" (again, from the "code view")

  • Dynamically load content into a "template" swf from text file

    I have a dream....
    Well, I have a concept. I have not actively pursued Flash in
    several years, though I've continued to have it in my arsenal. I've
    not done much in the action scripting realm for a while though.
    I am trying to create a template that will be used for about
    100 different product pages.
    It would have two tabs, basically, 2 different graphical
    button sets. One will have up to 4 links to similar products, each
    tab will be on the side of a square, and I need the ability to not
    display a tab if there is no actual link.
    As for the other tab, Its a menu that consists of a series of
    lines. This can be an external menu, I just need a way to have
    flash load the right menu. This menu, when you mouse over a line,
    the name of the product appears, as well as a product image that
    gets loaded with the menu. The product images would be external,
    allowing me to simply replace an image if a new higher end version
    of the product comes out.
    So, I am totally not an actionscripter. Looks like I need to
    load variables from an external file. Can I set a property in the
    flash code on the html that tells the movie what dataset to grab
    from?
    Here's basically what I am looking for
    property: value
    (load variables for:)
    item: 44
    (menu1)
    faster: 54b.html
    slower: 34d.html
    left: 43d.html
    right: 45c.html
    (menu2)
    menu:graph5.swf
    (menu loads images from external source)
    link51: 51d.html
    link52: 52c.html
    link53: 53c.html
    link54: 54d.html
    link55: 55b.html
    link56: 56d.html
    A possible third menu would be text driven, and would use
    html to link to various items.
    This is a static site, so urls will be fixed.
    Is it best to build a php page that serves up data for a
    single item, or do one big text file with all 100 or so items? Is
    that even possible?
    My Flash since MX is very rusty. I am using Flash Pro8. I
    would love to create a single file so modifications are to the text
    files, unless a new item is released, then it's updating a single
    flash menu and updating the text file.
    Been spending way too much time in InDesign lately! I used to
    be pretty good at Flash!

    well sorry there fanmap - but I don't think you're going to
    be able to get this to work. here's why: the link points to a php
    file - which gathers dynamic info from a DB - the return from the
    php is generating a string that is based on the DOM and
    'constructs' a javascript method that in turn writes to the html
    document. although we can embed html into a textField in Flash
    there are a limited number of supported html tags - and JS methods
    will not operate internally. in addition, (i'm not certain someone
    correct this if i'm off) there's no way to 'change' the output of
    the php call, therefore you will not be able to read the return
    because it is designed to use the DOM and write solely to the
    current document. Even if you were to access the JS method from the
    swf file (which one can) it will still only write the content of
    the php return to the html document - and the output is not
    compatible with the textField class.

  • Dynamically Loading a Class with Parameters

    Hi,
    I'm working on small program during my spare time and I have run into a problem. I have one abstract class (Foo) which is extended by several other subclasses (subFoo1, subFoo2). I am trying to avoid making a whole host of if statements depending on user input by coding in dynamic class loading.
    The newInstance() method I've read about works well except that it does not accept arguments, something that I sorely need:
    Foo a = Class.forName(input).asSubclass(Foo.class).newInstance();The other method works for creating the objects but I get an error:
    Class foo = Class.forName(input);
    Constructor cons = cs.getConstructor(new Class[]{String.class, Long.TYPE});
    Object a = cons.newInstance(new Object[]{ FooString, FooInt});
    a.method()
    cannot find symbol
    symbol : method(java.math.BigDecimal)
    location : java.lang.ObjectI can understand the problem that the new 'Object' can't find the methods of 'foo', but i don't know how to solve the problem.

    Object a = cons.newInstance(new Object[]{ FooString, FooInt});
    a.method();That isn't very strange, is it? a is an Object, and class Object doesn't have the method you're calling. You have to cast it to a Foo:
    Foo a = (Foo)cons.newInstance(new Object[]{ FooString, FooInt});
    a.method();

  • Using a DropDownList in a DataGrid, both with dynamically loaded content

    I just bought FlashBuilder 4.5 and even though I have been using ActionScript for years, I am having the hardest time to solve a seemingly simple task:
    I have a database table with names of employees:
    id
    name
    departmentid
    1
    Janet Jackson
    2
    2
    Frank Zappa
    2
    3
    John Travolta
    1
    in another table I have the departments
    id
    Department
    1
    Acting Department
    2
    Music Department
    What I want is a DataGrid with a DropDownList itemRenderer for the Department so that I can selected the Department by name and not by id. This should be a no-brainer (and with HTML and PHP I have done that hundreds of times), but with Flex I can not figure out how to do this. This is what I have done so far:
    Created the DataGrid, generated the database service and dragged it to the datagrid to bind the data. Works.
    Then I created an itemRenderer for departmentid
    In the department itemRenderer I dragged a DropDownList element, created a database service for the departments and dragged it onto that to get the databinding.
    So far, so good. When I start it, I have a populated datagrid with a DropDownList that shows all available departments when I click on it.
    What I need, of course, is that the Department DropDownList now shows the Department of the Employee row. When I change the Department in the DropDownList, it should update the Employee Database table.
    I literally spend now days on trying to figure this out and can't find anything on the Internet that would help me. If you could give me some advise or even show me how the code needs to look, it would be GREATLY appreciated.
    I am pasting here also the code:
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                      xmlns:s="library://ns.adobe.com/flex/spark"
                      xmlns:mx="library://ns.adobe.com/flex/mx"
                      xmlns:employeeservice="services.employeeservice.*"
                      width="982" height="380" minWidth="955" minHeight="600">
         <fx:Script>
              <![CDATA[
                   import mx.controls.Alert;
                   import mx.events.FlexEvent;
                   protected function dataGrid_creationCompleteHandler(event:FlexEvent):void
                        getAllEmployeeResult.token = employeeService.getAllEmployee();
              ]]>
         </fx:Script>
         <fx:Declarations>
              <s:CallResponder id="getAllEmployeeResult"/>
              <employeeservice:EmployeeService id="employeeService"
                                                       fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)"
                                                       showBusyCursor="true"/>
              <!-- Place non-visual elements (e.g., services, value objects) here -->
         </fx:Declarations>
         <s:DataGrid id="dataGrid" x="52" y="67" width="455"
                        creationComplete="dataGrid_creationCompleteHandler(event)" editable="true"
                        requestedRowCount="4">
              <s:columns>
                   <s:ArrayList>
                        <s:GridColumn dataField="id" headerText="id"></s:GridColumn>
                        <s:GridColumn dataField="firstname" headerText="firstname"></s:GridColumn>
                        <s:GridColumn dataField="lastname" headerText="lastname"></s:GridColumn>
                        <s:GridColumn dataField="departmentid" editable="false" headerText="departmentid"
                                         itemRenderer="components.DepartmentDropDownList"></s:GridColumn>
                   </s:ArrayList>
              </s:columns>
              <s:typicalItem>
                   <fx:Object id="id1" departmentid="departmentid1" firstname="firstname1"
                                lastname="lastname1"></fx:Object>
              </s:typicalItem>
              <s:AsyncListView list="{getAllEmployeeResult.lastResult}"/>
         </s:DataGrid>
    </s:Application>
    Here the code of the itemRenderer:
    <?xml version="1.0" encoding="utf-8"?>
    <s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
                             xmlns:s="library://ns.adobe.com/flex/spark"
                             xmlns:mx="library://ns.adobe.com/flex/mx"
                             xmlns:departmentservice="services.departmentservice.*"
                             width="172" height="34" clipAndEnableScrolling="true">
         <fx:Script>
              <![CDATA[
                   import mx.controls.Alert;
                   import mx.events.FlexEvent;
                   override public function prepare(hasBeenRecycled:Boolean):void {
                        lblData.text = data[column.dataField]
                   protected function dropDownList_creationCompleteHandler(event:FlexEvent):void
                        getAllDepartmentResult.token = departmentService.getAllDepartment();
              ]]>
         </fx:Script>
         <fx:Declarations>
              <s:CallResponder id="getAllDepartmentResult"/>
              <departmentservice:DepartmentService id="departmentService"
                                                            fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)"
                                                            showBusyCursor="true"/>
         </fx:Declarations>
         <s:Label id="lblData" top="9" left="7"/>
         <s:DropDownList id="dropDownList" x="34" y="5" width="128"
                             creationComplete="dropDownList_creationCompleteHandler(event)"
                             labelField="department">
              <s:AsyncListView list="{getAllDepartmentResult.lastResult}"/>
         </s:DropDownList>
    </s:GridItemRenderer>

    I just bought FlashBuilder 4.5 and even though I have been using ActionScript for years, I am having the hardest time to solve a seemingly simple task:
    I have a database table with names of employees:
    id
    name
    departmentid
    1
    Janet Jackson
    2
    2
    Frank Zappa
    2
    3
    John Travolta
    1
    in another table I have the departments
    id
    Department
    1
    Acting Department
    2
    Music Department
    What I want is a DataGrid with a DropDownList itemRenderer for the Department so that I can selected the Department by name and not by id. This should be a no-brainer (and with HTML and PHP I have done that hundreds of times), but with Flex I can not figure out how to do this. This is what I have done so far:
    Created the DataGrid, generated the database service and dragged it to the datagrid to bind the data. Works.
    Then I created an itemRenderer for departmentid
    In the department itemRenderer I dragged a DropDownList element, created a database service for the departments and dragged it onto that to get the databinding.
    So far, so good. When I start it, I have a populated datagrid with a DropDownList that shows all available departments when I click on it.
    What I need, of course, is that the Department DropDownList now shows the Department of the Employee row. When I change the Department in the DropDownList, it should update the Employee Database table.
    I literally spend now days on trying to figure this out and can't find anything on the Internet that would help me. If you could give me some advise or even show me how the code needs to look, it would be GREATLY appreciated.
    I am pasting here also the code:
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                      xmlns:s="library://ns.adobe.com/flex/spark"
                      xmlns:mx="library://ns.adobe.com/flex/mx"
                      xmlns:employeeservice="services.employeeservice.*"
                      width="982" height="380" minWidth="955" minHeight="600">
         <fx:Script>
              <![CDATA[
                   import mx.controls.Alert;
                   import mx.events.FlexEvent;
                   protected function dataGrid_creationCompleteHandler(event:FlexEvent):void
                        getAllEmployeeResult.token = employeeService.getAllEmployee();
              ]]>
         </fx:Script>
         <fx:Declarations>
              <s:CallResponder id="getAllEmployeeResult"/>
              <employeeservice:EmployeeService id="employeeService"
                                                       fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)"
                                                       showBusyCursor="true"/>
              <!-- Place non-visual elements (e.g., services, value objects) here -->
         </fx:Declarations>
         <s:DataGrid id="dataGrid" x="52" y="67" width="455"
                        creationComplete="dataGrid_creationCompleteHandler(event)" editable="true"
                        requestedRowCount="4">
              <s:columns>
                   <s:ArrayList>
                        <s:GridColumn dataField="id" headerText="id"></s:GridColumn>
                        <s:GridColumn dataField="firstname" headerText="firstname"></s:GridColumn>
                        <s:GridColumn dataField="lastname" headerText="lastname"></s:GridColumn>
                        <s:GridColumn dataField="departmentid" editable="false" headerText="departmentid"
                                         itemRenderer="components.DepartmentDropDownList"></s:GridColumn>
                   </s:ArrayList>
              </s:columns>
              <s:typicalItem>
                   <fx:Object id="id1" departmentid="departmentid1" firstname="firstname1"
                                lastname="lastname1"></fx:Object>
              </s:typicalItem>
              <s:AsyncListView list="{getAllEmployeeResult.lastResult}"/>
         </s:DataGrid>
    </s:Application>
    Here the code of the itemRenderer:
    <?xml version="1.0" encoding="utf-8"?>
    <s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
                             xmlns:s="library://ns.adobe.com/flex/spark"
                             xmlns:mx="library://ns.adobe.com/flex/mx"
                             xmlns:departmentservice="services.departmentservice.*"
                             width="172" height="34" clipAndEnableScrolling="true">
         <fx:Script>
              <![CDATA[
                   import mx.controls.Alert;
                   import mx.events.FlexEvent;
                   override public function prepare(hasBeenRecycled:Boolean):void {
                        lblData.text = data[column.dataField]
                   protected function dropDownList_creationCompleteHandler(event:FlexEvent):void
                        getAllDepartmentResult.token = departmentService.getAllDepartment();
              ]]>
         </fx:Script>
         <fx:Declarations>
              <s:CallResponder id="getAllDepartmentResult"/>
              <departmentservice:DepartmentService id="departmentService"
                                                            fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)"
                                                            showBusyCursor="true"/>
         </fx:Declarations>
         <s:Label id="lblData" top="9" left="7"/>
         <s:DropDownList id="dropDownList" x="34" y="5" width="128"
                             creationComplete="dropDownList_creationCompleteHandler(event)"
                             labelField="department">
              <s:AsyncListView list="{getAllDepartmentResult.lastResult}"/>
         </s:DropDownList>
    </s:GridItemRenderer>

  • Adding a javascript event to a dynamically loaded content

    Hello,
    I am new to adobe air. I am trying to create a desktop application with html and javascript. I have a page that reads data from db and lists each  records as links (a href). I need to assign an onclick event for each link.
    both
    foreach result {
         <a href="#" onclick="foo()">bla bla</a>
    and
    foreach result {
         document.getElementById('container').innerHTML = '<a href="#" id="link_id">bla bloa</a>';
         document.getElementById('link_id').addEventListener("click", function() { foo(); });
    With the second  solution it  only workd  for the last record
    What am I missing ?
    I appreciate any help.
    Thanks.

    I always recommend using a javascript framework such as jQuery for building JS AIR applications. If you're already using jQuery, or plan on it then look into jQuery's live binding:
    http://api.jquery.com/live/
    Essentially what it does is "listen" for new DOM elements that match events you're watching for and add them to your existing bindings. It's very simple. Your example below becomes:
    $('a').live('click', function(){
         // do something

  • Anyway to have JDeveloper dynamically load BC4J components in memory?

    We are dealing with a large BC4J based application that contains large amount of application modules. So far, 300 application modules and total 4000 BC4J objects have been created. The size of the application still keeps growing daily... may up to twenty times than what we are having right now.
    While the application size growing, some unusual problem comes out. The biggest problem is that it makes JDeveloper very sluggish. It takes 15 minutes to just open JDeveloper and may need a few minutes to open the application module editor. (FYI: in our team, most developers have 1G memory and 1.8G CPU or up.) This is probably still OK for right now, but it will become a big problem later when the project size grows.
    When we analysis the project structure, we know that most of time, developer does not need to load all the application modules. For example, we have a core package that contains about 30 application modules. This core package needs to be shared and should be loaded. But, the other nine packages contain about 30 application modules each do not need to be loaded into memory at the same time in most cases. Since BC4J is XML based, we could not find a way to just partially load those application modules, especially when there’s cross references between them.
    When we check the project.jpr file, looks like all BC4J objects are referenced there. We have 40K lines in our project.jpr file now. When open JDeveloper, we believe JDeveloper will try to load all referenced BC4J XML content into memory. This consumes 500M memory and makes the overall performance very sluggish. The situation may become even worse when the project size keeps growing. For example, we cannot have 5000M (5G) memory in a development machine for 3000 application modules.
    We do know that by checking out the "ScanSource Paths to Determins Project Contents" in the Input Paths of Project Settings, we can short the JDeveloper’s open time, but this will not give BC4J relationship information and some other useful information… Not a practical solution.
    So, any idea to make JDeveloper dynamically loaded BC4J based on need?
    We’ve tried a few ways. One is to partition the application into different project and import the core one into the other projects. Only open the project in workspace when need. But this is not officially documented by Oracle and we are not sure whether it is possible/correct or not. Another thought is to remove the NOT-CURRENTLY-USED package from the project. But JDeveloper only support file level remove.
    Any help on this dilemma will be highly appreciated.
    Thanks,
    Charles

    The package is the unit of loading in the IDE for ADF business components.
    To edit components, they must belong to the project.
    To refer to components in a read-only way, they can be imported. This allows other editable or read-only components to refer to them without allowing the imported components to be edited.
    Both editable and imported components need to be loaded in memory to use them, so you can save memory at design time by creating projects that leave out as many packages as possible.
    Is there a way we can get your existing project in house to study its design time performance?

  • Spry Tabbed panels + Progressive Enhancement and Dynamic Loading of Content With Spry

    Is there any way to combine tabbed panels together with "Progressive Enhancement and Dynamic Loading of Content With Spry"?
    Visit: http://labs.adobe.com/technologies/spry/articles/best_practices/progressive_enhancement.ht ml#updatecontent
    And click on the "Using Spry.Utils.updateContent()"
    The 3rd example shows how to use a fade transition whenever the content changes.
    I already have tabbed panels. My menu contains buttons (on tabs) and my Content div contains the panels.
    Tabs code;
    <ul class="TabbedPanelsTabGroup">
              <li class="TabbedPanelsTab">
                   <table class="Button"  >
                        <tr>
                        <td style="padding-right:0px" title ="Home">
                        <a href="javascript:TabbedPanels1.showPanel(1);" title="Home" style="background-image:url(/Buttons/Home.png);width:172px;height:75px;display:block;"><br/></a>
                        </td>
                        </tr>
                   </table>
              </li>
    etc
    etc
    etc
    and the panel code:
    <div class="TabbedPanelsContent" id="Home">
         CONTENT
    </div>
    I hoped i can use the example code from the link into my tabbed panels.
    I thought this code:
    onclick="FadeAndUpdateContent('event', 'data/AquoThonFrag.html'); return false;"
    could be added to the tab code like this:
    <a href="javascript:TabbedPanels1.showPanel(1);" onclick="FadeAndUpdateContent('event', 'data/AquoThonFrag.html'); return false;" title="Home" style="background-image:url(/Buttons/Home.png);width:172px;height:75px;display:block;"><br/></a>
    But the content doesnt fade...
    I know i need to change the header etc.
    The following is from the link:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:spry="http://ns.adobe.com/spry">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Aquo Events</title>
    <script src="../../../includes/SpryEffects.js" type="text/javascript"></script>
    <script src="../../../includes/SpryData.js" type="text/javascript"></script>
    <script type="text/javascript">
    <!--
    function FadeAndUpdateContent(ele, url)
    try {
         Spry.Effect.DoFade(ele,{ duration: 500, from: 100, to: 0, finish: function() {
              Spry.Utils.updateContent(ele, url, function() {
                        Spry.Effect.DoFade(ele,{ duration: 500, from: 0, to: 100 });
    }catch(e){ alert(e); }
    -->
    </script>
    <style type="text/css">
    /* IE HACK to prevent bad rendering when fading. */
    #event { background-color: white; }
    </style>
    </head>
    So i changed my header etc, put the SpryEffects.js and SpryData.js into position and nothing changed...
    Is there a way to keep my tabbed panel (or change as less as possible) and let
    A. The fade work
    B. The loading work.
    The problem now is that it loads all pages instead of only the home. Therefore i wanted this Progressive Enhancement.
    And the fading part is just because its nice...

    It doesnt show in the post but off course i changed this link;
    "data/AquoThonFrag.html"
    into;
    "javascript:TabbedPanels1.showPanel(1);"
    I must say i dont know if this even works...

  • Dynamic report based on Parameters and a Button

    Trying to make a dynmic report based on Parameters entered.Wanted to refresh report when i click on a button say "OK" based on parameters entered.
    (1) created 2 text boxes -- Parameters --One date and other employee No
    (2) on the same page i created a report-region which id dynamic "PL/SQL Function Returning SQL Query "
    In this query i am using the parameters created in step1
    (3) Then i created a Button say "OK" .
    (4) When i enter parameters and then press OK i need to refresh my report in region defined in step2
    This refresh is not happening .
    Not sure what is missing
    I tried using branching it didn't work
    In the dynamic region it shows "No data found"
    Please help

    sachin
    1) make sure there is no Optional Redirect defined on the OK button. That is, make sure the page is really submitted.
    2) in the PL/SQL body generating the query, print out the query using htp.p() so you get to see it and test it.
    3) use the session state link in the developer toolbar in conjunction with the technique in step 2) to debug your query
    Maybe the report region is refreshing, but it just isn't returning any results.
    Sergio

  • Generate report dynamically based on parameters

    I have a Report with 30-35 items and these items are divided into sets of
    RMA, WIP,Inventory, finance ....
    now i need to display the report dynamically based on parameters
    say, for example if RMA, WIP, Inventory, finance are YES,NO,YES, NO
    then the report should display only RMA , Inventory....
    any ideas/suggestions would appreciated......
    Thanks,
    -VK

    Thanks for the Reply Sabine, let me put my question this way,
    i have to display the report based on the selection criteria(parameters)
    i have a generalized view which will display all the items....but the client needs them in a fashion where he chooses them as a groups since, the list is so big and he wouldn't be needing them all at once.
    here is what i'm thinking for the moment since, discoverer cannot hide the columns based on runtime parameters ....correct me if i'm wrong (as per my knowledge...it cannot ) i have decided going with 16 worksheets 4 groups of items say,(RMA, WIP, INV, FINANCE..)
    and now based on the flags what the end user chosses i may have to display the appropriate worksheet ....is this solution possible...if so do i have to subqueries...??..or is there any better ideas/suggestion....
    Regards,
    VK

  • Get content of dynamically loaded movieclip

    Hey,
    After trying to no avail to get the totalframes of a dynamically loaded .swf in AS3 I've regressed to AS2.
    Now I can add the clip and get the totalframes of the content, no problem.
    THe problem is I cannot resize the content at all.
    I have no idea how to target the loaded content.
    Here's the code I'm using:
    var myXML:XML = new XML();
    var path:String;
    var mcl:MovieClipLoader = new MovieClipLoader();
    var mclm:MovieClipLoader = new MovieClipLoader();
    var mclL:Object = new Object();
    var frames:Number;
    var i:Number = 0;
    var mc:MovieClip = new MovieClip
    myXML.ignoreWhite=true;
    myXML.load("content.xml");
    holder_mc._alpha = 0;
    myXML.onLoad = function(xmlLoaded){
    menu();
    load();
    mclL.onLoadComplete = function() {
              frames = (MovieClip(holder_mc)._totalframes);
              if (frames == 1) {
                   image();
              else if (frames > 1) {
                   clip();
    load = function(){
         clearInterval(timer);
         path = myXML.firstChild.childNodes[i].childNodes[1].childNodes[0].nodeValue;
         mcl.loadClip(path, holder_mc);
         var tFiles:Number = myXML.firstChild.childNodes.length;
         if (i < tFiles){
              i++;
         else if (i == (tFiles)){
              i=0;
              load();
         mcl.addListener(mclL);     
    image = function() {     
         seconds=1000;
         holder_mc._alpha = 100;
         timer = setInterval(load, seconds);
    clip = function() {     
         holder_mc._alpha = 100;
         ftimer = setInterval(checkFrames, 100);
    checkFrames = function() {
              frame = (MovieClip(holder_mc)._currentframe);
              if (frame==(frames-1)){
                   clearInterval(ftimer);
                   load();
    menu = function(){
         var tFiles:Number = myXML.firstChild.childNodes.length;
         for (me=0; me < tFiles; me++){
         path = myXML.firstChild.childNodes[i].childNodes[1].childNodes[0].nodeValue;
         i++;
         _root.attachMovie("circle", "circle"+me, me, {_x:(me*30), _y:330});
         mclm.loadClip(path, ("circle"+me));     
    I need to resize the content both for the main holder_mc as well as for the menu elements.

    Thank you for the response.
    Unfortunately that didn't work.
    Even if I try to trace either target._width or holder_mc._width where you suggested I get 0 values.
    The only values I did manage to get was when I put the trace in the load() function but they were out of sync with the images being loaded.
    I even tried it on a simpler model:
    var myXML:XML = new XML();
    var path:String;
    var mcl:MovieClipLoader = new MovieClipLoader();
    var mclL:Object = new Object();
    var frames:Number;
    var i:Number = 0;
    var tFiles:Number;
    myXML.ignoreWhite=true;
    myXML.load("content.xml");
    myXML.onLoad = function(xmlLoaded){
    path = myXML.firstChild.childNodes[i].childNodes[1].childNodes[0].nodeValue;
    tFiles = myXML.firstChild.childNodes.length;
    loader();
    loader = function() {
         mcl.loadClip(path, holder_mc);
         mcl.addListener(mclL);
    mclL.onLoadComplete = function(target:MovieClip) {
         trace(target._width);
         trace(holder_mc._height);
    ..and I still get 0 values.

  • Dynamically Updating Content Server Portlets

    [urlHi, I am currently having difficulty dynamically updating content server portlets.  I have a portlet of the following form:[/url]
    ArticleName Author Title Date mystory author1 title1 04/05/01
    story2 author2 title2 06/07/04
    story author3 title3 01/02/03
    So I have this table where each one of the line items is an article in the content server. So, for example the first line item is an article "mystory" by "author1", with title "title1" and date "04/05/01" additionally there is an article text field, but this isn't displayed unless I click on the article name.
    I can set up the basics of this portlet, but when I try to add any real functionality I run into one of two problems.
    First Problem: Passing Information
    I cannot find a way to pass information between content portlets. For instance, if the user would like to "re-sort" this table based on "date", I would like to have the user click on the "date" column heading and then reload the page. To do so, I would have to pass the section name back to the page so that it could resort based on this data. I have not found anyway to effectively pass information to a content server portlet. I am building these pages through use of the presentation template framework (so I can have access to the content items) but that seems to change the way portlets are handled.
    I got around this limitation with a regular portlet by creating an intermediary page which captures passed information and stores it to the session state. Once the information was in the session state, it is accessible to the portlet on the first page. However, this only works because remote portlets do not change their session id once loaded. Content Server portlets, on the other hand, change their session id after every reload of the browser or page change. I can send information from a content server portlet to an intermediary page, but I cannot send it back to the portlet because the session id has changed so I have no idea of knowing where to send the information. I can write it to a session state, but by the time I return to the portal page, the content server has changed its session id so it does not know where to look any longer.
    I suppose it would be possible to create an application state variable and append it with some static token (if there is some static variable per portal session) but I would rather not have to deal with application variables if at all possible.
    Second Problem: Dynamically Updating PCS Tags
    Even if I were able to the pass information back to my content server portlet, I run into another issue. The easiest way to sort content server items is using the filter command in the pcs:foreach tag. So, if I wanted to sort by author name, I could do something like the following <pcs:foreach var="item" expr="filter(folderByName('content'), filtered.name == '"name")" or something like that (the syntax may be incorrect, I just wrote this off the top of my head). However, it appears that the way the presentation templates are compiled goes in the order of PCS tags THEN JSP. So I would have no way of dynamically changing the variable on which I sort. For example, if I clicked on "Date" above in my table, I would like to be able to dynamically change my code so that I sort on date, and not name. I cannot find a solution to this problem.
    My workaround is to use the pcs tags to write out all the possible sortings to java array objects. This gives me access to the data on a JSP level and based on whatever the user will chose, I could then display that array. While this works, it is extremely ghetto and inefficient. Any help or suggestions would be fantastic.
    Thanks a lot,
    Jason Grauel

    You can use just about any javascript you want in any Content Server presentation template including ones that are used for portlets.
    However, you should be careful to name javascript functions and global variables uniquely so that they do not conflict with any other javascript on the page. To do this, you can append the item id to function and variable names, for example,
    function doSomething<pcs:value expr="pcs_id"></pcs:value>() {
    return true;
    Randy

  • How to dynamically load jar files - limiting scope to that thread

    Dynamically loading jar files has been discussed a lot. I have read a quite a few posts, articles, and demo code for doing just that. However, I have yet to find a solution to my problem. Most people modify their system class loader and are happy. I have done that and was happy for a time. Occasionally, you will see reference to an application server or tomcat or some other large project that have successfully been able to load and unload jar files, allow for dynamic deployment of code, etc. However, I have not been able to achieve similar success; And my problem is much less complicated.
    I have an application that executes a thread to send a given file/message to a standard JMS Server Queue. Depending on the parameters selected by the user, this thread may need to communicate with one of a number of JMS Servers, ie. JBoss, WebLogic, EAServer, Glassfish, etc. All of which can be done with the same code, but each needs to load their own flavor of JMS Client Jar files. In this instance, spawning a separate JVM for each communication would work from a classloader perspective. However, I need to keep it in the family and run under the same JVM, albeit each JMS Server Connection will be created and maintained in separate Threads.
    I am close, I am doing the following...
    1. Creating a new URLClassLoader in the run() method of each thread.
    2. Set this threads contextClassLoader to the new URLClassLoader.
    3. Load the javax.jms.JMSException class with the URLClassLoader.loadClass() method.
    4. Create an initialContext object within this thread.
    Note: I read that the initialContext and subsequent conext lookup calls would use the Thread�s
    contextClassLoader for finding/loading classes.
    5. Perform context.lookup calls for a connectionFactory and Queue name.
    6. Create JMS Connection, etc. Send Message.
    Most of this seems to work. However, I am still getting a NoClassDefFoundError exception for the javax.jms.JMSException class ( Note step #3 - tried to cure unsuccessfully).
    If I include one of the JMS Client jar files ( ie wljmsclient.jar for weblogic ) in the classpath then it works for all the different JMS Servers, but I do not have confidence that each of the providers implemented these classes that now resolve the same way. It may work for now, but, I believe I am just lucky.
    Can anyone shine some light on this for me and all the others who have wanted to dynamically load classes/jar files on a per Thread basis?

    Thanks to everyone - I got it working!
    First, BenSchulz' s dumpClassLoader() method helped me to visualize the classLoader hierarchy. I am still not completely sure I understand why my initial class was always found by the systemClassLoader, but knowning that - was the step I needed to find the solution.
    Second, kdgregory suggested that I use a "glue class". I thought that I already was using a "glue class" because I did not have any JMSClient specific classes exposed to the rest of the application. They were all handled by my QueueAdmin class. However...
    The real problem turned out to be that my two isolating classes (the parent "MessageSender", and the child "QueueAdmin") were contained within the same jar file that was included in the classpath. This meant that no matter what I did the classes were loaded by the systemClassLoader. Isolating them in classes was just the first step. I had to remove them from my jar file and create another jar file just for those JMSClient specific classes. Then this jar file was only included int custom classLoader that I created when I wanted to instantiate a JMSClient session.
    I had to create an interface in the primary jar file that could be loaded by the systemClassLoader to provide the stubs for the individual methods that I needed to call in the MessageSender/QueueAdmin Classes. These JMSClient specific classes had to implement the interface so as to provide a relationship between the systemClassLoader classes and the custom classLoader classes.
    Finally, when I loaded and instantiated the JMSClient specific classes with the custom classLoader I had to cast them to the interface class in order to make the method calls necessary to send the messages to the individual JMS Servers.
    psuedu code/concept ....
    Primary Jar File   -  Included in ClassPath                                                      
    Class<?> cls = ClassLoader.loadClass( "JMSClient.MessageSender" )
    JMSClientInterface jmsClient = (JMSClientInterface) cls.newInstance()                            
    jmsClient.sendMessage()                                                                      
    JMSClient Jar File  -  Loaded by Custom ClassLoader Only
    MessageSender impliments Primary.JMSClientInterface{
        sendMessage() {
            Class<?> cls=ClassLoader.loadClass( "JMSClient.QueueAdmin" )
            QueueAdmin queueAdmin=(QueueAdmin) cls.newInstance()
            queueAdmin.JMSClientSpecificMethod()
        }

  • Creating a dynamic Selection List based on a View Object

    Hello,
    I'm new to JDeveloper and I would like to create a JSP Page with dynamic Selection List based on a runtime query or based on a view object (BC4J). The selection made by an user should serve another dynamic query with the necessary parameters that I built using createViewObjectFromQueryStmt(). By now I tried this using the InputSelectLOV from the Component Palette in JDeveloper. But without success. By the way: the selection list is not very large (5 values), so it's not necessary to have a form finding the desired value.
    Maybe someone had experience about creating this already. Please give me a tip or a little example.
    Thanks.

    http://otn.oracle.com/products/jdev/howtos/jsp/renderers.html

Maybe you are looking for