Dynamically adding content

I maintain about 6 webpages for my church and updating has
become quite burdensome. Can someone point me in the right
direction or give me the instructions to add dynamic content to my
webpages. What i'd like to do is have various people able to edit
certain text fields on teh page and it update to the page
automatically so that I do not get stuck always having to update
pages. I know this can be done, and is probably not too difficult
but I can't seem to find a good tutorial anywhere. Any help is
appreciated. Thanks.

Maybe try Contribute....
Dan
fbcojman wrote:
> I maintain about 6 webpages for my church and updating
has become quite
> burdensome. Can someone point me in the right direction
or give me the
> instructions to add dynamic content to my webpages. What
i'd like to do is
> have various people able to edit certain text fields on
teh page and it update
> to the page automatically so that I do not get stuck
always having to update
> pages. I know this can be done, and is probably not too
difficult but I can't
> seem to find a good tutorial anywhere. Any help is
appreciated. Thanks.
>

Similar Messages

  • Make symbol width equal to dynamically added content

    Hey everyone,
    I have a nav menu with 4 instances of a toggle button symbol that contains a text element name "label". After compositionReady I'm iterating over each instance and changing the "label" to another value that I load from an array. I'm able the swap out the names easy enough using .each() but am having trouble figuring out how to change the width of the symbol to the width of the text content so they don't overlap.
    Any suggestions? Thanks,
    Dave

    I got it!
    resdesign, thank you for the link. I tried adding a <span> tag around the label text as the link suggested - which worked - but I found that for some reason it was adding in the width of the symbol plus the width of the text element child. So I changed the css width property of the symbol to 'auto' and it worked like a charm... didn't even need the <span> tags anymore - which will keep it tidier.
    Thanks again for the input. I believe the members of this forum are the most helpful of any forum I've ever been apart of.
    Here is the final code:
    var labels = ["LABEL", "A LONG LABEL", "A REALLY LONG LABEL", "LBL"];
    var xPos = 400;
    for(var i = 0; i < labels.length; i++){
              var newBtn = sym.createChildSymbol( "toggle_btn" , "navBar" );
              //var btnLabel = "<span>" + labels[i] + "</span>";
              //newBtn.$( "label" ).html( btnLabel );
              newBtn.$( "label" ).html( labels[i] );
              newBtn.getSymbolElement().css({
                                                                                                                  'display' : 'inline-block',
                                                                                                                  'white-space' : 'nowrap',
                                                                                                                  'left' : xPos,
                                                                                                                  'width' : 'auto',
                                                                                                                  'top' : 10
              console.log( "menu button " + i + " added at " + xPos + "px" );
              xPos += (newBtn.$("label").width() + 20);
    And a link to the zipped files:
    https://www.dropbox.com/s/5n2hj5kppp6wdky/Test3.zip
    Many thanks!
    David

  • Dynamically Adding/Editing/Deleting Tabs on Tabbed Panels

    I am using the tabbed panels and need to know how to
    dynamically create a new tab with javascript with some content
    inside ( and switch to it ). Also, I need to figure out how I can
    delete tabs at "runtime"? I have tried many things to do this, but
    everytime, it has been failing. I need a functions just like this:
    addTab(title, innerHTMLcontent);
    deleteTab(currIndex);
    Also, I think all of the Spry Widgets should have an easy way
    to dynamically change content.

    Hi,
    here is the js file. I am also attaching a sample (I named it
    as Spry.Widget.ExtendedTabbedPanels, may be you could change it).
    Let me know if you face any issues.
    ===================START-JS
    FILE==============================
    var Spry; if (!Spry) Spry = {}; if (!Spry.Widget) Spry.Widget
    = {};
    Spry.Widget.ExtendedTabbedPanels = function(element, opts) {
    Spry.Widget.TabbedPanels.call(this, element, opts);
    Spry.Widget.ExtendedTabbedPanels.prototype = new
    Spry.Widget.TabbedPanels();
    Spry.Widget.ExtendedTabbedPanels.prototype.constructor =
    Spry.Widget.ExtendedTabbedPanels;
    Spry.Widget.ExtendedTabbedPanels.prototype.addTab = function
    (tabname, tabcontent, position) {
    var tabs = this.getTabs();
    if((!position && position != 0)|| position >
    tabs.length)
    position = tabs.length;
    var newtab = tabs[tabs.length - 1].cloneNode(true);
    this.setElementNodeValue(newtab, tabname);
    this.getTabGroup().insertBefore(newtab, tabs[position]);
    var tabContents = this.getContentPanels();
    var newContentPanel = tabContents[tabContents.length -
    1].cloneNode(false);
    newContentPanel.innerHTML = tabcontent;
    this.getContentPanelGroup().insertBefore(newContentPanel,
    tabContents[position]);
    this.addPanelEventListeners(newtab, newContentPanel);
    this.showPanel(position);
    Spry.Widget.ExtendedTabbedPanels.prototype.removeTab =
    function(tabindex) {
    var tabs = this.getTabs();
    if((tabs.length == 1) || (!tabindex && tabindex !=
    0) || tabindex >= tabs.length)
    return false;
    var tabToRemove = tabs[tabindex];
    this.getTabGroup().removeChild(tabToRemove);
    var contentPanelToRemove =
    this.getContentPanels()[tabindex];
    this.getContentPanelGroup().removeChild(contentPanelToRemove);
    this.removePanelEventListeners(tabToRemove,
    contentPanelToRemove);
    if(this.getCurrentTabIndex() == tabindex) {
    if(this.getTabs().length <= tabindex)
    this.showPanel(this.getTabs().length - 1);
    else
    this.showPanel(tabindex);
    Spry.Widget.ExtendedTabbedPanels.removeEventListener =
    function(element, eventType, handler, capture)
    try
    if (element.removeEventListener)
    element.removeEventListener(eventType, handler, capture);
    else if (element.detachEvent)
    element.detachEvent("on" + eventType, handler);
    catch (e) {}
    Spry.Widget.ExtendedTabbedPanels.prototype.removePanelEventListeners
    = function(tab, panel)
    var self = this;
    Spry.Widget.ExtendedTabbedPanels.removeEventListener(tab,
    "click", function(e) { return self.onTabClick(e, tab); }, false);
    Spry.Widget.ExtendedTabbedPanels.removeEventListener(tab,
    "mouseover", function(e) { return self.onTabMouseOver(e, tab); },
    false);
    Spry.Widget.ExtendedTabbedPanels.removeEventListener(tab,
    "mouseout", function(e) { return self.onTabMouseOut(e, tab); },
    false);
    if (this.enableKeyboardNavigation)
    // XXX: IE doesn't allow the setting of tabindex
    dynamically. This means we can't
    // rely on adding the tabindex attribute if it is missing to
    enable keyboard navigation
    // by default.
    // Find the first element within the tab container that has
    a tabindex or the first
    // anchor tag.
    var tabIndexEle = null;
    var tabAnchorEle = null;
    this.preorderTraversal(tab, function(node) {
    if (node.nodeType == 1 /* NODE.ELEMENT_NODE */)
    var tabIndexAttr = tab.attributes.getNamedItem("tabindex");
    if (tabIndexAttr)
    tabIndexEle = node;
    return true;
    if (!tabAnchorEle && node.nodeName.toLowerCase() ==
    "a")
    tabAnchorEle = node;
    return false;
    if (tabIndexEle)
    this.focusElement = tabIndexEle;
    else if (tabAnchorEle)
    this.focusElement = tabAnchorEle;
    if (this.focusElement)
    Spry.Widget.ExtendedTabbedPanels.removeEventListener(this.focusElement,
    "focus", function(e) { return self.onTabFocus(e, tab); }, false);
    Spry.Widget.ExtendedTabbedPanels.removeEventListener(this.focusElement,
    "blur", function(e) { return self.onTabBlur(e, tab); }, false);
    Spry.Widget.ExtendedTabbedPanels.removeEventListener(this.focusElement,
    "keydown", function(e) { return self.onTabKeyDown(e, tab); },
    false);
    Spry.Widget.ExtendedTabbedPanels.prototype.setElementNodeValue
    = function(element, nodevalue) {
    var currentElement = element;
    var tmpElement = this.getElementChildren(element);
    while(tmpElement.length != 0) {
    currentElement = tmpElement[0];
    tmpElement = this.getElementChildren(tmpElement[0]);
    currentElement.innerHTML = nodevalue;
    ====================END JS
    FILE==================================
    ===================SAMPLE
    TEST===================================
    <!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">
    <head>
    <meta http-equiv="Content-Type" content="text/html;
    charset=utf-8" />
    <title>Untitled Document</title>
    <link href="SpryAssets/SpryTabbedPanels.css"
    rel="stylesheet" type="text/css" />
    <script src="SpryAssets/SpryTabbedPanels.js"
    type="text/javascript"></script>
    <script src="SpryAssets/SpryExtendedTabbedPanels.js"
    type="text/javascript"></script>
    </head>
    <body>
    <div id="TabbedPanels1" class="TabbedPanels">
    <div class="TabbedPanelsTabGroup">
    <span class="TabbedPanelsTab"
    tabindex="0"><b>Tab 1</b></span>
    <span class="TabbedPanelsTab" tabindex="0">Tab
    2</span>
    </div>
    <div class="TabbedPanelsContentGroup">
    <div class="TabbedPanelsContent">Content 1</div>
    <div class="TabbedPanelsContent">Content 2</div>
    </div>
    </div>
    <input type="text" id="tabname" />
    <input type="text" id="tabcontent" />
    <input type="text" id="position" />
    <input type="button" value="add tab" onclick="add();"
    />
    <input type="button" value="delete tab"
    onclick="TabbedPanels1.removeTab(parseInt(document.getElementById('position').value));"
    />
    <script type="text/javascript">
    <!--
    var TabbedPanels1 = new
    Spry.Widget.ExtendedTabbedPanels("TabbedPanels1");
    function add() {
    var tabTitle = document.getElementById("tabname").value;
    var tabcontent = document.getElementById("tabcontent").value;
    var position = document.getElementById("position").value;
    TabbedPanels1.addTab(tabTitle, tabcontent,
    parseInt(position));
    //-->
    </script>
    </body>
    </html>
    ===================SAMPLE TEST
    END=======================

  • Why data are not getting poulated in dynamically added tab in a tab navigator???

    Hi All,
    I am facing a very strange problem and need you expert opinion on this. Ok so the problem goes like this:
    In my application i have a tab navigator where i have 2 fixed tabs say tab A and tab B. In tab B I have a data grid where All the user name are getting populated. Once the user clicks on any datagrid row i am dynamically adding a new tab based on username , so if in my datagrid u1,u2 and u3 are getting displayed then once you clik on u1 a new tab called u1 is getting displayed. Code for this goes like this:
    var vbox1: VBox= new VBox();
    box1.label=mydatagrid.selectedItem.uName;
    var sde:* = new searchDetails();
    vbox1.addChild(sde);
    myTabnavigator.addChild(vBox1);
    Application.application.searchdetails.displayall();
    I have created a component called searchDetails where i have designed the page wit various fields for this tab.This also has a method called displayall() which is populating the data in all fields using php an my sql where i have designed the page wit various fields for this tab.
    New tab is getting displayed perfectly. My problem is once the tab is getting displayed fields are not getting populated with data.
    Please let me know what wrong i am doing. I am really struggling

    Hmm.. you have to assign text to the labelfields on creation complete not before that, the fllow will be like this
    var vbox1: VBox= new VBox();
    var sde:* = new searchDetails();
    vbox1.addEventListener(creationcompleteevent,function);
    vbox1.addChild(sde);
    myTabnavigator.addChild(vBox1);
    function(e:event):void{
    box1.label = "text";

  • Reading the Data from dynamically added rows of a table...

    Hi,
                  I am using adobe interactive form (WD ABAP) in which i am adding the table rows dynamically (using Jscript code).  I have to fech these data into an internal table. But I can read only the first row data..
                  Also While adding rows dynamically the same data is repeating for the consecutive rows..
                  I have found many similar posts in sdn, but i cannot get the solution. They have mentioned about adding in WDDOINIT method. Can anyone explain me what should be done,..?
    1) How to solve repeatative data while adding rows..?
    2) How to read dynamically added row data during runtime into internal table..?
    Thanks,
    Surya.

    Discussed @ SDN lot of time before. Have a look at any of below threads:-
    Dynamic table in interactive form...
    Make dynamic tables in Adobe Interactive forms
    Adding Rows dynamically upon clicking the button
    How to get values to WebDynpro ABAP from dynamic table?
    Chintan

  • HT1451 Getting a -54 error while iTunes is adding content.

    Getting a -54 error while iTunes is adding content. Any ideas on how to recify error. I am trying to rebuild the database without much luck. My media content is kept on a seperate drive than the system.
    Thanks
    Jim

    The CD I imported (in the above post) is now not in my iTunes library. Any help would be appreciated .

  • Dynamic adding of components (doesn't work when programmatically)

    Hi, I don't understand, why this doesn't work. I'll explain it on this example:
    import java.util.concurrent.ScheduledThreadPoolExecutor;
    import java.util.concurrent.TimeUnit;
    import javafx.application.Application;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.Group;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.paint.Color;
    import javafx.stage.Stage;
    public class NewFXMain extends Application {
        Group root;
        public static void main(String[] args) {
            Application.launch(NewFXMain.class, args);
        @Override
        public void start(Stage primaryStage) {
            primaryStage.setTitle("Hello World");
            root = new Group();
            Scene scene = new Scene(root, 300, 250, Color.LIGHTGREEN);
            Button btn = new Button();
            btn.setLayoutX(100);
            btn.setLayoutY(80);
            btn.setText("Add button now");
            btn.setOnAction(new EventHandler<ActionEvent>() {
                public void handle(ActionEvent event) {
                    addButton();
            root.getChildren().add(btn);  
            primaryStage.setScene(scene);
            primaryStage.setVisible(true);
            System.err.println("Number of buttons before: "+root.getChildren().size());
            ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(1);
            executor.schedule(new MyTask(), 5, TimeUnit.SECONDS);
        private void addButton() {
            System.err.println("Button adding");
            root.getChildren().add(new Button("YEAH"));
            System.err.println("Number of buttons after: "+root.getChildren().size());
        class MyTask implements Runnable {
            public void run() {
                addButton();
    }There are two ways how a new button can be added. Either by clicking on existing button or programmatically by the program itself after 5 seconds.
    If you add it by button, there is no problem. The error print is:
    Number of buttons before: 1
    Button adding
    Number of buttons after: 2
    But if you just wait, then the error print is:
    Number of buttons before: 1
    Button adding
    and no button is added. In fact, the error printing after the adding isn't performed either.
    I'd like to ask if there is some solution for this because I'd love to do some changes by schedulers. Thx
    Edited by: 876949 on 14.8.2011 9:09
    Edited by: 876949 on 14.8.2011 9:11

    No, these are not error messages, they are just for purpose of example. Here it doesn't matter whether err or out... (yes, 'out' would be better ;)
    But thanx, it's working. By the way, I am creating scheduler for task lists. They are supposed to be printed dynamically in specific time (or periodically). For example: at 5 o'clock I need to print 5 items of some list and every 3 hours I need to print 3 items of another list etc. - so it's quite dynamic with regard to component adding (No, I don't want to use some sort of ListView, I want interactive printing: one item on screen at a moment). I'll try to work your solution into my code.
    Edit: So either it's not possible to use this for the purpose of my app or it will be really cumbersome. Maybe it would be easier to draw some rectangles with mouse listeners...
    Edit: So I finally got around it. In the end, I won't use dynamic adding as intended. It's working and that's important.
    Edited by: 876949 on 14.8.2011 12:48
    Edited by: 876949 on 15.8.2011 5:21

  • I added content to a document in Pages on my Mac last night, which was saved to icloud and this morning it was gone. Can I get my precious work back? Thanks

    Hello
    I added content to a document in Pages on my Mac last night, which was saved to icloud and this morning the additions were gone. Can I get my precious work back? Thanks

    Just thought I'd add my solution, I decided to go with WebDAV and I think it actually works better than the iTunes way, the steps are pretty much the same but avoiding the iTunes interface just makes things easier and faster.
    I followed this guide but it does have a small mistake in the httpd-dav.conf file, on line 2, where it's WebServer/WebDAV">, it should be <Directory "/Library/WebServer/WebDAV">.
    The tricky part is setting permissions which if wrong will give you errors when connecting with the iPad, I opted to set all to Read&Write since my home network has a hardware firewall. Another convenience was to add an alias to the webdav share on the Desktop.
    I'm still expecting the call from Apple but even if they fix the iTunes I'm sticking with WebDAV, atleast until I see what's new with iOS5 and iCloud this fall which should bring true sync for documents (I'm hoping that they will offer encryption with my own keys, if not, then I'll probably keep using WebDAV).

  • 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

  • Adding Content To the Top-Level of Navigation bar ?

    Hi,experts ,
       i have a problem with adding content to the top-level of navigation bar ?
    I have the authority of administration.I have added a customizing role with the entry-point property to myself userid . I have checked my navigation-target page's property can be visible in top-level navigation. I checked my my display level is set as 2 .
       However ,i dont get the folder content at the top-level navigation.Anyway,when i check the delta link trace,there is no folder that connect to my role .
       Anyone helps me out ?
    Thanks in Advance .

    Hi Eleanor,
    If you already created a role with an entry point and assigned it directly to you user, you may just have to refresh the portal page. You may also check the authorizations of you role.

  • How to Specify Metadata When Adding Content Using iTunes U Web Service?

    I've been developing Java applications using iTunes U Web service and uploaded content to iTunes U site using iTunes U Web service without problem. Now I want to add metadata fields (name, artist name, album name, etc.) for the tracks I uploaded. It seems to me that "AddTrack" will do. So I tested it but it neither adds a track under the specified group nor updates metadata fields for an existing track. It turned out "MergeTrack" actually updates metadata fields for an existing track. So is there any way to specify metadata at the time of adding content using iTunes U Web service? And what exactly does AddTrack do? This is all about contents hosted by iTunes U site and no RSS is involved.
    I'm referring to the "AddTrack" method in iTunes U Web service:
    http://deimos.apple.com/rsrc/doc/iTunesUAdministrationGuide/iTunesUWebServices/c hapter18_section_21.html#//appleref/doc/uid/AdminGuide-CH13-SW26

    Thanks for all the replies. My question is whether there is any way to specify metadata WHEN adding content using iTunes U Web service. Specifying metadata AFTER adding content can be achieved by MergeTrack (weird naming) and it does work.
    As for setting track level meta-data in the media file and then upload it, there're several reasons against that, among which are:
    1. Some track metadata are context-dependent. A video about buildings on Michigan Ave in Chicago can be track #2 in a history course and described as "historic view of the Magnificent Mile", but the same media can also be track #5 in a landscape design course and described as something like "contemporary architecture". Setting these metadata in the media file itself is not the preferred way to do it since it implies maintaining a version of the same media for any course/group it gets uploaded to.
    2. Setting metadata in a location separate from the media file helps track the metadata change and search for media without digging into the media itself.
    3. If MergeTrack "updates" metadata, there got to be some other method that "creates" metadata - that's what a well-designed API should look like. And setting metadata in the media file is not an equivalent to a "create metadata" method call. In rickwolf's term, that implicit AddTrack should actually be made explicit so the party uploading content can explicitly specify metadata instead of having iTunes U extract metadata from the media.
    It is still not clear what "AddTrack" does exactly, maybe rickwolf is right - it's only relevant to tracks created through RSS.
    So it seems to me there is no other way to specify metadata WHEN adding content using iTunes U Web service than setting metadata in the media file. To me it is more like a design flaw.
    Message was edited by: Stone Xiang
    Message was edited by: Stone Xiang
    Message was edited by: Stone Xiang

  • Dynamically adding to PDF after applying Extended Reader Rights

    All,
         I've created a PDF with a digital signature in Acrobat X Pro and applied the extended Reader rights. What I am trying (and failing) to do now is add new pages to the PDF via a Java library (BFO) on a server. When a user eventually brings up the PDF in Reader, they receive a warning about how the extended rights have been revoked since the PDF has been modified. Is there any way to maintain the rights while building the PDFs? Or is the only way to dynamically build a PDF with a digital signature that can be user-signed in Reader through the LiveCycle/ADEP services?

    You have to prepare the PDF BEFORE you add the extended Rights.  Once it's been rights enabled, you can't modify it w/o breaking the rights.
    From: Adobe Forums <[email protected]<mailto:[email protected]>>
    Reply-To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>>
    Date: Mon, 14 Nov 2011 14:32:38 -0800
    To: Leonard Rosenthol <[email protected]<mailto:[email protected]>>
    Subject: Dynamically adding to PDF after applying Extended Reader Rights
    Dynamically adding to PDF after applying Extended Reader Rights
    created by j.ross.e<http://forums.adobe.com/people/j.ross.e> in Acrobat SDK - View the full discussion<http://forums.adobe.com/message/4025497#4025497

  • Passing values to form bean string array from dynamic added textboxes

    Hi,
    I am unable to pass values to form bean string array from a jsp in which I have incorporated dynamically adding of textboxes in javascript.
    I have given add/delete row option in the jsp. If there is single row, this is working fine. But after adding a row, I am not able to either do any validations on added textboxes or pass the values to the String array form bean variable.
    code snippet:
    var cell6 = row.insertCell(4);
    var element5 = document.createElement("input");
    element5.type = "text";
    element5.className = "formtext1";
    element5.size = "5";
    element5.value = "00.00";
    element5.name= "qty"; // this is a string array of the form bean.
    element5.onchange=function() {checkNumeric(this);};
    cell6.appendChild(element5);
    <html:text styleClass="formtext1" property="qty" value="" size="5" styleId="qty" onchange="checkNumeric(this)"/></td>
    form bean declaration
    private String[] qty; Please help.
    Edited by: j2eefresher on Jan 12, 2010 11:23 PM

    Shivanand,
    There's no need to post that much code when you could create a very short test case that demonstrates only the problem you are having.
    You're using &NAME. notation on something that isn't a page or application item. You can't reference PL/SQL variables that way (or any other way) outside the PL/SQL scope. For your situation, you could create a page item named P55_DOCID and assign it a value in the PL/SQL process (:P55_DOCID := DOCID;), then reference &P55_DOCID. in HTML areas like the success message.
    Scott

  • Add null rows in WDDOINIT  for fetching data from dynamically added rows..

    Hi,,
    I have to fetch data from a dynamically added rows of a table.
    I have followed / gone through many forums but they ddnot mention how to add null rows in the initialization method..
    I am using WD Abap..
    Can anyone help how to bind null rows in WDDOINIT method..?
    Thanks,
    Surya

    Discussed @ SDN lot of time before. Have a look at any of below threads:-
    Dynamic table in interactive form...
    Make dynamic tables in Adobe Interactive forms
    Adding Rows dynamically upon clicking the button
    How to get values to WebDynpro ABAP from dynamic table?
    Chintan

  • Adding Content

    First let me say that the documentation, while accurate, is not helpful.
    One task I have is to use the generic webservice to add content. I have created multipart/related content to post to the server. The content looks exactly like the content (except for the exact contents of the XML portion, obviously) the server sends when i get a document using the webservice.
    The server doesn't like it. I get a 500 error with no logging of anything... anywhere.
    What is the correct way to go about adding content using the generic webservice?

    I guess a level of frustration is building up here.
    I am looking at this stuff:
    http://docs.oracle.com/cd/E21764_01/doc.1111/e10807/a01_wsdl_and_soap.htm#BEHFACEG
    A co-worker found some sample applications (not sure where) which demonstrate that the sample file (below) can be posted.
    I am trying to adapt to my client app what is in the sample app (which like many sample apps is inexplicably written to run from a command line) to get it working
    and am running into one of 2 different errors. With the lack of logging on the server side; it is very hard to tell what is happening here.
    I think I am 1 or 2 small code errors away from having this working but I can't discern a logical path to a debugging approach from here.
    ------123454321
    Content-Type: text/xml; charset=utf-8
    Content-ID: <SoapContent>
    <?xml version='1.0' ?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
    <idc:service xmlns:idc="http://www.stellent.com/IdcService/" IdcService="CHECKIN_UNIVERSAL">
    <idc:document dDocName="SoapTest001" dDocAuthor="sysadmin" dDocTitle="Soap Test 001 Document" dDocType="Document" dSecurityGroup="Secure" dDocAccount="">
    <idc:file name="primaryFile" href="c:/temp/primary.txt"></idc:file>
    <idc:file name="alternateFile" href="c:/temp/alternate.html"></idc:file>
    </idc:document>
    </idc:service>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    ------123454321
    Content-Type: text/plain
    Content-ID: <primaryFile>
    This is the primary text.
    This is line two.
    This is line three.
    This is line four.
    This is line five.
    ------123454321
    Content-Type: text/html
    Content-ID: <alternateFile>
    <html>
    <head>
    <title>Alternate File Title</title>
    </head>
    <body>
    <table>
         <tr><td>This is the first row.</td></tr>
         <tr><td>This is the second row.</td></tr>
         <tr><td>This is the third row.</td></tr>
         <tr><td>This is the fourth row.</td></tr>
         <tr><td>This is the fifth row.</td></tr>
         <tr><td>This is the sixth row.</td></tr>
         <tr><td>This is the seventh row.</td></tr>
    </table>
    </body>
    </html>
    ------123454321--
    client app:
    import java.io.*;
    import java.net.*;
    import java.util.ArrayList;
    import java.util.List;
    import org.apache.commons.codec.binary.Base64;
    public class SOAPClient {
         public String urlIn;
         public String action;
         public String xmlContent="";
         public byte[] mimeDoc;
         public String uuid;
         public String user;
         public String password;
         public String messageOut;
         public String resultText;
         public String stackTrace;
         public boolean multiPart;
         public int statusIndicator = 0;
         public List outputObject = new ArrayList();
         // class shared variable space
         private InputStream responseIn;
         private byte[] responseInBytes;
         private List mimeHolder = new ArrayList();
         private List lengthHolder = new ArrayList();
         private List payloadHolder = new ArrayList();
         public SOAPClient (String thisURL, String thisAction, String thisXML){
              urlIn = thisURL;
              action = thisAction;
              xmlContent = thisXML;
         public SOAPClient (String thisURL, String thisAction, String boundry, byte[] documentIn, String un, String pw){
              urlIn = thisURL;
              action = thisAction;
              uuid = boundry;
              mimeDoc = documentIn;
              user = un;
              password = pw;
         public void executeCall () throws IOException{
              String retValue = soapPostaction();
              if(retValue.length() < 1 && messageOut.length() < 1){
                   messageOut = "No data returned";
              if(retValue.length() > 1 && messageOut.length() < 1){
                   messageOut = "Call suceeded";
              resultText = retValue;
         public static void main(String[] args) {
           protected String soapPostaction() {
                String outputText = "";
                try {
                     URL u = new URL(urlIn);
                     URLConnection uc = u.openConnection();
                     HttpURLConnection connection = (HttpURLConnection) uc;
                     connection.setDoOutput(true);
                     connection.setDoInput(true);
                     connection.setRequestMethod("POST");
                     connection.setRequestProperty("SOAPAction", action);
                     if(xmlContent.length() > 10){
                            connection.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");
                            OutputStream out = connection.getOutputStream();
                            Writer wout = new OutputStreamWriter(out);
                            wout.write(xmlContent);
                            wout.flush();
                            wout.close();                      
                     } else {
                            connection.setRequestProperty("Content-Type", "Multipart/Related;boundary=" + uuid + ";type=text/xml; start=\"<SoapContent>\"");
                            connection.setRequestProperty("Content-Length",String.valueOf(mimeDoc.length));
                            String userpassword = user + ":" + password;
                            byte[] encoded = Base64.encodeBase64(userpassword.getBytes());
                            connection.setRequestProperty("Authorization", "Basic " + encoded);
                            connection.setDoOutput(true);
                            OutputStream wout = connection.getOutputStream();
                            int br = 0;
                            byte[] bf = new byte[mimeDoc.length];
                            InputStream dataOut = new ByteArrayInputStream(mimeDoc);
                            while(br != -1){
                                 br = dataOut.read(bf);
                                 wout.write(bf);
                            wout.flush();
                            wout.close();                                              
                     // get the body of the response
                     responseIn = connection.getInputStream();
                     byte[] buffer = new byte[1];
                     ByteArrayOutputStream baos = new ByteArrayOutputStream();
                     int bytesread = 0;
                     while(bytesread != -1){
                          bytesread = responseIn.read(buffer);
                          baos.write(buffer);
                     responseInBytes = baos.toByteArray();
                     // figure out what the server returned
                     String header = "";
                     String[] boundryMarker = null;
                     String boundryMarkerString = null;
                     for (int j = 1; ; j++) {
                        header = uc.getHeaderField(j);
                        if (header == null)
                             break;
                        if (uc.getHeaderFieldKey(j).startsWith("Content-Type"))
                             break;
                     if(header != null){
                          String[] headerParts = header.split(";");
                          if(headerParts[0].substring(0,headerParts[0].length()).startsWith("multipart/related")){
                                 for (int x = 0;x < headerParts.length;x++){
                                      if (headerParts[x].substring(0,8).startsWith("boundary")){
                                      boundryMarker = headerParts[x].split("=");
                                      boundryMarkerString = "--" + boundryMarker[1].substring(1,boundryMarker[1].length()-1);
                     ByteArrayInputStream readDataIn = new ByteArrayInputStream(responseInBytes);
                     // for multipart/related documents we need to read through the array and
                     // find the boundary markers so we can dig the various parts out
                     if(boundryMarkerString != null){
                          MyBufferedReader brd = new MyBufferedReader();
                          Reader dataIn = new BufferedReader(new InputStreamReader(readDataIn));
                          brd.TplBufferedReader(dataIn);
                          String thisLine = "";
                          String testLine = "";
                          int startLine = 1;
                          int endLine = 0;
                          int z = 0;
                          String[] lineBuffer = new String[400];
                          outer:
                          while(thisLine != null){
                               // find start
                               testLine = thisLine.trim();
                               if(testLine.startsWith(boundryMarkerString)){
                                    thisLine = brd.readLine(); // throw away line
                                    if(thisLine == null)
                                         break outer;
                                  z = z + thisLine.getBytes().length;
                                      String tempHolder = brd.readLine(); // this is the content type. We actually need to read this line
                                    lineBuffer = tempHolder.split(":");
                                  z = z + tempHolder.getBytes().length;
                                    thisLine = brd.readLine(); // throw away line
                                  z = z + thisLine.getBytes().length;
                                    thisLine = brd.readLine(); // throw away line
                                  z = z + thisLine.getBytes().length;
                                      startLine = z;
                                    // find end
                                      inner:
                                    while(thisLine != null){
                                       thisLine = brd.readLine();
                                       testLine = thisLine.trim();
                                       z = z + thisLine.getBytes().length;
                                       if(testLine == null || testLine.startsWith(boundryMarkerString)){
                                            endLine = z - startLine - boundryMarkerString.length() - 4; // constant accounts for newline and eof characters
                                            break inner;
                                    getStreamPortion (lineBuffer[1].trim(), startLine, endLine);
                                    continue outer;
                               thisLine = brd.readLine();
                               if(thisLine != null){
                                      z = z + thisLine.getBytes().length;                                
                          multiPart = true;
                     } else {
                          multiPart = false;
                     ByteArrayInputStream dumpData = new ByteArrayInputStream(responseInBytes);
                     outputText = convertStreamToString(dumpData);
                     stackTrace = "";
                     messageOut = "Sucess";
                     statusIndicator = 0;
                     return outputText;
                catch (IOException e) {
                     statusIndicator = '1';
                     try {
                          StringWriter sw = new StringWriter();
                          e.printStackTrace(new PrintWriter(sw));
                          stackTrace = sw.toString();
                          messageOut = "Java IO error: check \"stackTrace\" for details.";
                          sw.close();
                     catch (IOException er){
                     return "";
                } finally {
                     System.gc();
           private void getStreamPortion (String mimeType, int startAt, int endAt) throws IOException{
                String localMime = mimeType;
              byte[] outBuffer = new byte[endAt];
              int q;
              int z = 0;
              for(q=0;q<responseInBytes.length;q++){
                   if(q>=startAt && q<=(endAt + startAt)){
                        outBuffer[z]= responseInBytes[q];
                        z = z + 1;
                   if(z >= endAt)
                        break;
              mimeHolder.add(mimeHolder.size(), localMime);
              lengthHolder.add(lengthHolder.size(),Integer.toString(outBuffer.length));
              payloadHolder.add(payloadHolder.size(),outBuffer);
                List tempAr = new ArrayList();
                tempAr.add(mimeHolder.get(outputObject.size()));
                tempAr.add(lengthHolder.get(outputObject.size()));
                tempAr.add(payloadHolder.get(outputObject.size()));
                outputObject.add(tempAr);
         public String convertStreamToString(InputStream is) throws IOException {
                if (is != null) {
                     Writer writer = new StringWriter();
                     char[] buffer = new char[1024];
                     try {
                          Reader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
                          int n;
                          while ((n = reader.read(buffer)) != -1) {
                               writer.write(buffer, 0, n);
                     } finally {
                          is.close();
                          return writer.toString();
                     } else {
                          return "";}
      }

Maybe you are looking for