Session state in a Hotspot URL on an Image Map

Greetings,

I have an APEX application that has the image maps on several pages. The image plane is created dynamically by the admin application. Later in the process of the image map (created from HTML) stored in the rows of a table will be used by someone else at a later time. They will click on a hotspot/article in terms of the image, which will open a page in the application and pass the id of the image and the hotspot/section title. Then they can fill out information about the hotspot/section on what they clicked. I have all this works very well except for the session.

The problem is that I filled in the href of the hotspot portion < area shape / > when the image is initially created. I store the first part of the URL in a table, in case it changes. The first part is http://server:8000/apex/f? p = 2031:10: & APP_SESSION.:NO:10: then I add this when the image plane is created - P10_HEADER_ID, P10_CELL_TITLE:v_header_id, v_cell_title so, when you move the pointer over one of the hotspots is an example of the URL passed - http://server:8000/apex/f? p = 2031:10: & APP_SESSION.:NO:10:P10_HEADER_ID, P10_CELL_TITLE:344, 20-10 the session is not met. Now that it's happened I think it is the right treatment of the APEX. To determine the session 'on the fly', it is not passed between the user clicking on the access and processing of the URL. Or have I missed something due to a mistake in my thinking?

I'm puzzled. I can't fill the session when I build the data row, because it will not be later. But I can't change the session in href of the hotspot.

Ideas and suggestions are welcome. I hope that I am right on what is obvious.

Thank you, Tony

hidden wrote:

I am familiar with relative path for the first part of the URL. I may be able to use it. We store the server part of the URL in a table of keywords, because we had cases where our names servers etc change.

You must use relative URLS. Storage of the absolute URL is inappropriate. Relative addressing, functionowa_util.get_cgi_env , alias page/app and substitution strings offer a lot more flexibility.

I know on APP_ID and others, but at this point, I'm not sure the app # or page # will be for the final use image maps. I know that the image maps will be created on a single page, then used on another page or pages.

Looks like a clear case of use for the use of the app/page aliases. However, there is no need to break the dependency of the channel using an alias of the page and then reintroduce immediately by setting the values of page explicit as P10_CELL_TITLE: it would be more appropriate to use the elements of the request for these settings instead of the settings of the page

Yes, I have a procedure that builds the image maps. I have 2 types of image maps. One is a map of convention image with rectangles and polygons. The other card image has a grid on top of it with the columns, lines, value of medallion of beginning and end in medallion, which allows the administrator to build the grid exactly as they wish. It also has a function that allows the elimination of specific cells. It's all pretty smooth. And, once again, your answers through this process has helped me get to where I am with the application. The problem is that these interactive images will be used in the dozens, and sometimes hundreds of times more inspections are carried out on the Assembly line. There will be models of image map that will be used later on the actual inspections when the product is manufactured. The image of the cards will be different according to the production plant and the product, it is used on. A station can be for the inspection of the engines, another for finishing, etc. A series of picture cards for one product, others for the B - M products.

Thus, image maps are created during the initial phase of the process. Then used later, over and over again, during the production process. Create map image pages are 4 & 8. The pages used during the inspection of the product is likely to be pages 10 & 12. And the creation of image map occurs at a point in time by the admin. The use of image maps will produce a dozen different inspectors throughout the year. So, no doubt under different sessions.

Now I think I might need to build a new block of HTML code for each inspection. The HTML code that builds the image of the cards, that is. This way I can insert the sesstion ID into the href attribute in a procedure, and it will be that of the current session. I not only create the href and fill the value of session on the fly, I'll create all the HTML block on the fly.

I certainly wouldn't store or s absolute hrefas a URL or image maps in HTML format. Should all be generated depending on the rendering of the page through a report/view/procedure/function. In the PL/SQL code, get the session ID by using the v('APP_SESSION') reference. In a report, view/use values of application context for better performance. Push necessary substitution strings in the context values using the APEX Session/DPV database security attribute.

Tags: Database

Similar Questions

  • Apex 5.0 "session state protection violation" during the change of display only value point in dynamic action.

    The following feature gives us a message "session state protection violation", after we migrated our application from Apex 4.02 to 5.0.

    For example, in apex.oracle.com: https://apex.oracle.com/pls/apex/f?p=50676:1:

    Whenever the value of the input field changes, the URL to test changes. This is done in a dynamic action of 'change' on the version field. The action of the set value changes the value of URL to test.

    When the page is sent to the error message is displayed.

    1. Why do we get this message in Apex 5.0 and not in 4.0.2?

    2. What is the way to do this in the Apex 5.0?

    Thank you

    René

    Just try save session state - no.

  • The session-state item values are used is not in the redirection Page

    Hello
    I have a P7_PERIOD point Page, I put the value of the session state for the click of a button. I can confirm that the value of P7_PERIOD is correctly set in session state after the button is clicked. When I try and P7_PERIOD allows to set the value of an element in another page (P17_PERIOD) on the click of a button, it does not recognize the value of new session state.

    For the second button, I'm telling you "Redirect to Page in this application" on Page 17
    Place these items: P17_PERIOD
    With these values: & P7_PERIOD.

    P7_PERIOD has the correct values in session state, but passes the old values to P17_PERIOD during the click on the second button.

    Any suggestions are greatly appreciated.
    Thank you
    John

    Johnny98 wrote:

    I have a P7_PERIOD point Page, I put the value of the session state for the click of a button. I can confirm that the value of P7_PERIOD is correctly set in session state after the button is clicked. When I try and P7_PERIOD allows to set the value of an element in another page (P17_PERIOD) on the click of a button, it does not recognize the value of new session state.

    For the second button, I'm telling you "Redirect to Page in this application" on Page 17
    Place these items: P17_PERIOD
    With these values: & P7_PERIOD.

    P7_PERIOD has the correct values in session state, but passes the old values to P17_PERIOD during the click on the second button.

    Redirections are run in the browser using URL generated during page processing. This means that the redirect for the second button URL uses the value of P7_PERIOD is during the broadcast of the page, not as it is in session state after it is defined by the first button.

    The second button must execute a submit and branch to retrieve the new value of P7_PERIOD. If there are page accept treatment that should not be run when the user clicks this button, use a branch point before the execution of these processes (for example on submit: before calculating), or condition the process on the other buttons.

  • Session state is not saved.

    Hi guru, et al..,.

    I use tabs (i.e. the navigation tab list) for updating a line. When I update a component, and then click a tab to go into another section of data, the item does not save the updated value when I return to the element via the tab (I checked the session)

    DB: 10g Rel 2.3
    APEX: 4.1.2

    I put the application on the APEX. ORACLE.COM:

    Workspace: RGWORK
    Application: CSRSR (60220)
    Username: TESTER
    Password: test123
    Page: 8

    1. run applications
    2. click on the only available choice (Creative Services Design) in the menu
    3. modal page of requests pending
    4. click on icon to the left of zazaza change
    5. change the title of the project
    6. click on another tab such as delivery or object, and then click Project
    7 value is the original value.

    What I am doing wrong?

    Robert
    http://apexjscss.blogspot.com

    The links in the navigation list tabbed accomplish redirects URLS rather than submit the page, so nothing is saved in session state.

    To save the values of the list of items must send the page using query values that are used to conditionally branch to the pages needed.

  • Protection of session state - Arguments must have Checksum - help needed

    Hello world

    I use apex 4.0 and that you have defined:

    Protection of session state = True
    Page = Arguments access protection must have the checksum
    Point of application protection = Cecksum required - Session level
    Page data entry point Protection = required Cecksum - Session level
    Page Display-Only item = Cecksum required - Session-level Protection

    On the pages that contain an interactive report, calls to other pages updated and or to delete a record from the pharmacokinetics of recording work OK.
    I put these as follows:
    In the Interactive report link-> Link attribute column = onclick = "new top. Ext.apex.PopupWindow ({url: this.href, title: 'Change collation details', width: 530, height: 500, listeners: {'success': gReport.search}}). show(); return false; »
    Target = this Application Page
    Page = 302Item = P302_IDCLASS
    Value = #IDCLASS #.
    Page Checksum = - default user.

    The problem is the button 'Create a new record' that is on the page of interactive report. I set the button as:
    The attributes button = onclick = "new top. Ext.apex.PopupWindow({url:'f?p=&APP_ID.:302:&APP_SESSION.::NO:302:::',_title:_'Create_New_Classification',_width:_530,_height:_500,_listeners:_{'success':_gReport.search}}).show (); return false; »
    Action when click = redirect to the Page of this Application
    Page = 302
    Clear Cache = 302

    When I click the button I get the following message:
    Session state protection violation: this can be caused by a manual change to a URL containing a checksum or using a link with a missing or incorrect checksum. If you don't know what caused this error, contact the administrator of the application for assistance.

    If I change the attributes of the button to be:
    OnClick = "new top. Ext.apex.PopupWindow({url:'f?p=&APP_ID.:302:&APP_SESSION.::NO:::',_title:_'Create_New_Classification',_width:_530,_height:_500,_listeners:_{'success':_gReport.search}}).show (); return false; »

    It works OK, bu page elements are not clear.

    Could somebody please explaing to me what I am doing wrong so I understand my mistake?

    Thank you

    Daniel

    Hello

    If I understand correctly what you need...

    Create a point of the MY_BTN_URL application.
    You can set this element of Protection of the Session State to 'Restricted - cannot be resolved in the browser.
    Create the calculation of demand for this article
    Calculation Point: Before header
    Calculation type: PL/SQL Expression
    Calculation:

    APEX_UTIL.PREPARE_URL (
      p_url => 'f?p=&APP_ID.:302:&APP_SESSION.::NO:302::::',
      p_checksum_type => 3
    );
    

    Change your attributes of button

    onclick="new top.Ext.apex.PopupWindow({ url:'&MY_BTN_URL.', title: 'Create New Classification', width: 530, height: 500, listeners: {'success': gReport.search} }).show(); return false;"
    

    Kind regards
    Jari

    Published by: jarola October 25, 2011 15:50

    Published by: jarola October 25, 2011 16:16

  • What the Protection of Session State and when it is used.

    Hello

    I just want to know what is the Protection of the State of Session and where it should be used.

    Thank you
    Deepak

    Deepak,

    Protection of the State of session in the Oracle apex is a built-in feature that allows you to prevent users / hackers to a URL handling in your application.

    http://download.Oracle.com/docs/CD/E14373_01/AppDev.32/e11838/sec.htm#CDDGIGJH

    A simple way to undersatnd, what would be your banking session. As soon as you connect, your URL would include a key and probably session information for the session that you log on. But if you copy this URL and log off and reuse the URL, you wouldn't be able to connect as that the session is over.

    Or once you connect and navigate to a page, you would have the information information session and the page in your browser to the URL (say it's balance transfer page). However, this page would not directly accessible using the URL with someone else. A similar security feature can be activated by using "URL access" in the access page for Apex session state protection.

    Hope this helps,
    Rajesh.

  • Links created manually on a tree with the Protection of the active Session State

    Friends,

    I met a problem and hope you can help me with.

    I created a tree using the method described in a book great John & Scott, 'Pro Express Application'. Here is an example of a link stored in my table:


    access a page, passing it parameters

    f? p = & APP_ID.:3: & SESSION.: P3_IDENTIFIER, P3_FAMILY_NAME: & P2_IDENTIFIER, & P2_FAMILY_NAME.


    When the page is executed that it works as expected. I can expand the tree and go to the page, passing it the parameters if necessary.

    However when I turned on the protection of session state these links "handmade" has stopped working. (What I expected because it contains no checksum!).

    After some research, I see that I must use APEX_UTIL. PREPARE_URL to generate the URL with a checksum. But that's where I met problems. I can't be able to pass parameter values to the calling page.

    The original tree query was:

    Select "IDENTIFIER" id,
    "PARENT_IDENTIFIER" the nest,
    Name of "TITLE."
    Link "LINK."
    null a1,
    null A2
    a < table >

    Then, I changed the option to use APEX_UTIL. PREPARE_URL:

    ....
    APEX_UTIL. Link PREPARE_URL (Link),
    ....

    But clicking on the link just gave me a blank page. I then hardcoded just the url in the select statement:

    ....
    APEX_UTIL. PREPARE_URL ('f? p ='|: APP_ID |) » : 3 :'|| : APP_SESSION |': P3_IDENTIFIER, P3_FAMILY_NAME: & P2_IDENTIFIER, & P2_FAMILY_NAME. ") link.
    ...

    and it works, the page is called, and I can see the values of the parameters passed. But I can't use this method because it is limited to a page!

    Finally, I tried to store the parameter values, the parameters and the page number in different columns of the table that the tree came and then bring together them:

    ...
    APEX_UTIL. PREPARE_URL ('f? p ='|: APP_ID |': ' | navigate_to_page |': ' |: APP_SESSION |': ' | parameter |': ' | parameter_values link).
    ...

    Go to page set: 3
    parameters a value: P3_IDENTIFIER, P3_FAMILY_NAME
    parameter_values has the values of: & P2_IDENTIFIER, & P2_FAMILY_NAME.

    He now calls the page, but the values of the parameters have become literals. so, where I would expect an identifier I see & P2_IDENTIFIER Idem for family name.

    What I am doing wrong? How can I pass values to my page called using apex_util_prepare_url?

    If necessary, the details of my environment are: Apex 3.2.1 Oracle Application Server 10.1.2.3. Database Oracle 10.2.0.3

    Thanks in advance for any help you may be able to provide.

    Hello

    & NAME. the rating is not available in SQL, you must either use: NAME or v ('NAME') or nv ('NAME') (for numbers). One of these must be concatenated in your SQL statement in the same way that you did for: APP_ID etc.

    Andy

  • Session state protection violation

    I created the sample application to the free workspace

    https://Apex.Oracle.com/pls/Apex/f?p=4550:8:0

    Name of workspace: WMS_USER

    Username: [email protected]

    Password: password! 23

    Request 40363 - shipping Office
    : - > Run: click the report item

    When I select the number of the item 50004257 and click on the button new 1 then show the error like session
    violation of protection State

    Can you please help

    This link is not a job for me.

    2942415 wrote:

    I created the sample application to the free workspace

    https://Apex.Oracle.com/pls/Apex/f?p=4550:8:0

    Name of the workspace: WMS_USER

    Username: [email protected]

    Password: password! 23

    Request 40363 - shipping Office
    :-> Run it: click the report item

    When I select item number 50004257 and click on the button new 1 then show the error like session
    violation of protection State

    Can you please help

    This link is not a job for me.

    Check your work application.

    p3_item_desc--> edit-->--> No. session state

  • Get the session state of the order of the day in javascript

    Is there anyway to get the value of an element of demand through jS?

    [I have an app that loads a different source into an iframe depending on which page the user is.]  I can load this value in session state for a part of the application (or a point probably page) but for the redirect which is made in java script I don't know how to get the value of session.  [I do not have it as the value of the client side.]

    Thanks guys, but I think that it would give me only the value in the DOm not in session state.  I had to make a page zero point and dynamic action that populated the in the DOM, and then I could use JS ($v) to get the variables.

    I couldn't find a way to get session state directly.

  • Session state protection violation: this can be caused by manually editing the protected page P67_C point. If you don't know what caused this error.

    Hi friends,

    I create three field A textfield,textfield B,C textfield and apply the formula with dynamic action.

    C = A + B.

    Now, I want to protect user could not be total change at point C, so I change it is property of the text field to display only and change in

    Settings-> save the Session State-> Yes

    After all changes when I ran page and provide the registry then it shows me error below.

    Session state protection violation: this can be caused by manually editing the protected page P67_C point. If you don't know what caused this error, contact the administrator of the application for assistance.


    How to disable the total at point C when I use the dynamic action to calculate the Total of A + B.

    Thank you.




    Hi Maxence,

    1. in the case of a display one element

    Change your point of P67_C and change the State of Session Save-> No.

    2. in the case of a text field

    Change your point of P67_C and make it read-only

    go to the attributes of the HTML Form element-> readonly = "readonly".

    Hope this helps you,

    Kind regards

    Jitendra

  • session state variable, concept and work around

    I use the variable session state and tried under the code element. But so far, I've had it is that when a variable assigned a value in plsql block, its scope has ended so only.

    And in the next step using the simple sql variable within the same session, we had manifest error.

    Is there a work around using too simple sql variable.

    SQL> CREATE OR REPLACE PACKAGE MYPACKAGE
      2  as
      3  mysess_var number;
      4  end;
      5  /
    
    
    Package created.
    
    
    SQL> create table tmp_sess as select 1 sess_id from dual;
    
    
    Table created.
    
    
    SQL>
    SQL> declare
      2  begin
      3  MYPACKAGE.mysess_var := 1;--Assiging value
      4  insert into tmp_sess values (MYPACKAGE.mysess_var);
      5  commit;
      6  end;
      7  /
    
    
    PL/SQL procedure successfully completed.
    
    
    SQL> --I also want this to be achive for plain sql syntax,  is it possible
    SQL> insert into tmp_sess values (MYPACKAGE.mysess_var);
    insert into tmp_sess values (MYPACKAGE.mysess_var)
                                 *
    ERROR at line 1:
    ORA-06553: PLS-221: 'MYSESS_VAR' is not a procedure or is undefined
    

    You cannot access variable defined in a package of SQL. Good way would be to define the getter and setter methods.

    SQL> create or replace package mypackage
      2  as
      3    mysess_var number;
      4    procedure set_value (pvalue in number);
      5    function get_value return number;
      6  end;
      7  /
    
    Package created.
    
    SQL> create or replace package body mypackage
      2  as
      3    procedure set_value (pvalue in number)
      4    is
      5    begin
      6      mysess_var := pvalue;
      7    end;
      8
      9    function get_value return number
     10    is
     11    begin
     12      return mysess_var;
     13    end;
     14  end;
     15  /
    
    Package body created.
    
    SQL> exec mypackage.set_value(1)
    
    PL/SQL procedure successfully completed.
    
    SQL> select mypackage.get_value
      2    from dual;
    
     GET_VALUE
    ----------
             1
    
  • Session state and checkboxes

    Hi guys,.

    I'm a little hard with the checkboxes in the APEX 4.2

    I am trying to add 2 boxes in my application to filter the data

    The problem is how then to value by default when the user opens the page, some data are displayed

    If I use the 'Default' section in the details of the box (setting may 1 as default), when I open the web page, the checkbox is marked, but in the session state is not defined so no data will appear. If I submit the new page then Yes, the data is displayed

    I could use a calculation that defined the box = 1 if it is not set when the page loads, but it would not work as the calculation would give it 1 time and again when the user the box remove the flag

    Anyone know how I could apply this?

    Thank you very much

    Hello

    so I found a solution according to the following:

    -create box 2 or more

    -create a hidden text field

    -create a header after calculation that has always defined the hidden field = 1

    -create one before the calculation of header for each box the value = 1 box only if the value of the hidden text field is null

  • How can I get a session state value in my apex or DML text field

    I put a session state in my procedure, in my text field in my I want to get the value of the form region. I try in my text field of the form in the default region, I try

    BEGIN

    APEX_UTIL.GET_SESSION_STATE('USER_SECURITY_PIN');

    END;

    but this does not seem to get the PIN of the session

    How can I do this please

    dave_414 wrote:

    I put a session state in my procedure, in my text field in my I want to get the value of the form region. I try in my text field of the form in the default region, I try

    BEGIN

    APEX_UTIL.GET_SESSION_STATE('USER_SECURITY_PIN');

    END;

    but this does not seem to get the PIN of the session

    How can I do this please

    Depends on the Type of default property item.

    Use a static text with Substitutions of State of Session with a string substitution of static text:

    &USER_SECURITY_PIN.

    or the body of the PL/SQL function (for example):

    return apex_util.get_session_state('USER_SECURITY_PIN');

    or Expression of PL/SQL with a bind variable reference:

    :user_security_pin

  • Session state protection error

    Hello

    I get an error on the browser Internet Explorer (doesn't happen in chrome), which States "Session State protection violation: this can be caused by manually editing the protected page P11_NEW_FLAG point." If you don't know what caused this error, contact the administrator of the application for assistance. Contact your administrator for the application. "


    I don't know why this error because the element P11_NEW_FLAG is NOT protected at all. Here's the security properties are attributed to him:



    Capture.PNG

    It has a readonly condition associated with him making it readonly based on some logic PL SQL.

    I don't know where to start debugging? What can be the root cause?

    Thank you

    Sunil Bhatia

    Hi Sunil Bhatia,

    Sunil Bhatia wrote:

    Hi mohamed,.

    No, its not hidden item, it's a FLAG (Checkbox) I display on the front end. There are readonly. I debugged and error occurring only when the box is read-only. It automatically creates checksum argument.

    Other settings to watch?

    Thank you

    Sunil Bhatia

    You use the condition parameters of article readonly?

    CheckBox and select items does not in HTML readonly property. ReadOnly checkbox in the case of Oracle APEX is setting the disabled property. Therefore, on presentation of the page it is originally the error of session state protection.

    An easy way to do this is to write a dynamic action (run Javascript) to disable the checkbox if necessary:

    $("#P11_NEW_FLAG").attr("disabled",true);
    

    But write a front page submit dynamic action (run Javascript) to activate elements disabled on the page, so that the layout of the page works fine:

    $("#P11_NEW_FLAG").removeAttr("disabled");
    

    Reference: Apex tips and tricks - an easy way to make read-only items

    I hope this helps!

    Kind regards

    Kiran

  • Apex DatePicker setting session state problem.

    Hi all

    Workspace: hanamike

    User name: test

    Password: test

    With the help of dynamic action, run PL/SQL, to set the session state.

    Using Firefox console showing too many recursion error but session state is defined so slow.

    But when the use of Ipad screen will freeze when the session state setting.

    Capture.PNG

    Already had the application properties, security, Mode of escape from HTML to base but still display the date value as a unicode type (c, c ++).

    Please advice.

    Thanks in advance.

    Zack

    You have set something on the change of P1_DATE1 to change the same domain, and "Remove Change Event" is set to no.

    It is an infinite loop.

Maybe you are looking for