ACE URL Hash
Hi All
I had an issue with ACE 2 year before where..sending all youtube traffic to same cache while using URL hash. I had below response from Cisco TAC..
Any1 knows if the new image resolved this...?
Regarding your question about the used predictor and "splitting" the requests going to youtube to be handled by two caches, please note that the URL hashing will hash the domain name up to the "?" only, so we unfortunately cannot distinguish the caches to which to send the request when using this predictor method. The "?" is the default URL parsing delimiter.
Therefore, what we could try is changing the predictor method to another type, for example hash destination|source address or round robin to verify if the loads gets distributed among the caches more evenly.
There, we can see that you can specify a begin- and end-pattern to look
for a specific pattern within an URL, too, however, as already stated,
the hashing has no effect after the "?".
Regards
Sameer Shah
The ACE module and ACE 4710 appliance were enhanced so that the url hashing predictor now includes the url query seen after the '?' delimiter.
ACE module: A2(2.1) and later (BugID CSCsq99736)
ACE 4710: A3(2.2) and later (BugID CSCsr30433)
Similar Messages
-
URL Hashing + Sticky, not optimal.
Gurus,
Had just deployed an ACE for my customer for the caching servers.
We used URL hash and Sticky , after some monitoring we find that 1 server gets 15K connections, another one gets only 5K.
Now its to be understood that due to the erratic internet behavior of users the URLs cached are getting accessed in this disproportionate way.
Now, for cache servers the URL hash is the best predictor, can we try anything else or its going to be as it is.
Have advised for "application request/response predictor" for in case the servers get loaded beyond a point.
let me know your views.
Cheers
Shukla.Gilles,
Appreciate your reply, had advised the client the first time, still will havent tried ..
couple of things :
1. If i do max-conn with URL hashing, if user-A is going for url-A which is in cache-A and ACE has reached its max-conn value, will it for the same URL direct is towards cache-B with a new entry of url-A (which will in turn start making multi servers cache the same URL bcos of max conns) ??
2. the second hash method we proposed was for "applic request/response" , im not sure how this predictor will work or be beneficial against URL hash.
and im hunting for a doc which explain these predictors in depth ... not just the definitions. As such insights give u an edge when u don't have a test bed for yourself.
awaiting optimistically.
Cheers
Shukla. -
Hello I'm using an ACE4700 to redirect connection toward 2 Cache boxes (cache2 and cache3).
I'm using "predictor hash address source".
On the cache boxes I see that on the first one I have 400 src IP and on the second one i have 200 src IP.
I was expecting to have half ip src on one cache and half on other one.
Since the predictor is based on "hash address source" the two cache should be loaded with the same number of ip src.
How can I view on the ACE the src IPs redirected to cache1 and the src IPs redirected to chache2 ?
serverfarm host proxiesAC
description Batteria dei BlueCoat
transparent
failaction purge
predictor hash address source
rserver cache1
probe probe_ICMP
rserver cache2
probe probe_ICMP
inservice
rserver cache3
probe probe_ICMP
inservice
rserver cache4
probe probe_ICMP
rserver cache5
probe probe_ICMP
rserver cache6
probe probe_ICMPWhen described like this, it sounds easy to find a hash algorithm which will split 600 ip addresses in 2 equal size groups.
But this is actually very complicated.
First because when we designed the ACE code, we didn't know how many ip, which ip ... would be used.
Morever, this information changes with every customer of ours.
In conclusion we made a generic algorithm which works most of the time.
But this algorithm can't guarantee that you will have equal loadbalancing.
If you need equal load on your caches, you need to switch to leastconn or roundrobin.
Finally, I don't see the need to use hash address source.
Usually when using ACE with caches, we use either hash url (if we want to make sure one object only exists on one cache - save disk space) or roundrobin/leastconn to have equal load on the caches.
Regards,
Gilles. -
ACE: URL redirect - not working
Hi,
I've to do url redirection from port 80 to port 443. I've following configured:
rserver redirect url.test.com-rd
webhost-redirection https://url.test.com/
inservice
serverfarm redirect url.test.com:80
description url.test.com - port 80 redirect ***
rserver url.test.com-rd
inservice
class-map match-any url.test.com:80
2 match virtual-address 192.168.1. tcp eq www
policy-map type loadbalance first-match url.test.com:80
class class-default
serverfarm url.test.com:80
policy-map multi-match LOAD_BALANCE
class url.test.com:80
loadbalance vip inservice
loadbalance policy url.test.com:80
loadbalance vip icmp-reply active
===
with above configuration, ACE is redirection port 80 to port 443 but it also rewrites the header. i.e. ACE send me to
"https://url.test.com/" if I type "http://url.test.com/abc" in the browser. It should have redirected to "https://url.test.com/abc" ( it shouldn't have removed "/abc")
could you advice how to accomplish it.
Thanks in advance...Hi,
thanks pablo. but that isn't expected response. redirected url shows the load balanced server. i.e. for the following serverfarm of port 443:
serverfarm host url.test.com:443
description url.test.com - Port 7777 ***
failaction purge
probe url.test.com:7777
rserver server1.test.com 7777
inservice
redirected url comes as "http://server1.test.com:7777/abc/" ...instead of what I expect .i.e. i expect "
https://url.test.com/abc/" -
Interesting ACE URL Header & Load-balance & SSL on 2 VIPs
Hi There
I have an interesting situation that I am trying to solve. I have 4 websites, each one with SSL Off-Loading on the ACE on the outside. All FOUR websites run on a single server on the inside, but each website is using a different port number for differentiation. Also, they are currently only available on TWO IPs on the outside! I know.....it's a mare!
So, RSERVER = SERVER = 192.168.0.1
Each website has SSL Certs on the outside. https://website1.abc.com - https://website4.abc.com
But, DNS is only bound to 2 IPs on the outside, as that is all we have available currently, until we free up more IPs.
OUTSIDE:
website1.abc.com = 172.16.0.1:443
website2.abc.com = 172.16.0.1:443
website3.abc.com = 172.16.0.2:443
website4.abc.com = 172.16.0.2:443
On the server we have:
INSIDE: 192.168.0.1
SERVER:8001 = website1.abc.com
SERVER:8002 = website2.abc.com
SERVER:8003 = website3.abc.com
SERVER:8004 = website4.abc.com
So, in a nutshell what I need to do is:
Terminate SSL for each website, then match the HTTP header, and pass it to the SERVER on the right port. Sounds easy enough.
But, I am struggling like hell. The VIPs (Wirtual IPs on the OUTSIDE are causing me grief) My steps seem to be breaking my ruleset. Individually they all work, but once I tie them to the VIPs on the outside, it seems to stop. The first site in each CM (class-map) match in the PM (Profile-Map) works but the subsequent site just breaks.
I would post my config, but right now I have sooooooooooooo many variations, it looks like a dog's breakfast.
Can anyone give advice on the process flow to follow to get this to work. My issue is arround the VIPs mainly. To be honest, I don't really care about Load-Balancing right now. That will come later when more servers are added to mix. And then we might have to do inbound NAT too to the Server Farm, but that can wait! :-o
I have created a HEADER map for the headers, individual SERVER FARMS for each port on the RSERVER, ACLs matching the VIPs inbound on 443, CLASS-MAPs matching the HEADER and applying to SFARM, POLICY MAPS matching the CMAPs and doing Load-Balancing with SSL-PROXYs for the SSL headers. SERVICE-POLICY tieing it all together on Interface.
But .... things are going hey-wire.
So, steps are:
RSERVER
SFARMs = RSERVER:PORTs
ACLs = VIPs
CMAP = HEADER = URL
LB PMAP = HEADER CMAP & SFARM
PMAP MULITM = ACL CMAP + LB PMAP & SSL-Proxy
SVC-POL = PMAP MULTIMHi Surya
Thanks for the prompt reply. I'm not quite sure what you mean when you say it ca only handle 2 certs. Can you elaborate please?
It would appear to me that you can actually only bind one cert to an IP, based on using a VIP address for the server farm as per the CM in the PM. I can hack out the irrelevant bits tomorrow and post what I have done thus far. I have played with multiple lines of code and various ways of trying to do this, but the end result is that it appears once I have the CM set per VIP I can only set one SSL-Proxy, and so only one cert. If I use multiple CMs, as per the MultiMatch policy, it matches the first CM against the VIP and doesn't appear to move on as per the HTTP Header. If any of that makes sense?
regards
Sent from Cisco Technical Support iPad App -
Hi,
I need to do url redirection. I've worked on CSS alot so far but I'm new bie to ACE.
for example - my CSS config for url rediction is as follow:
service server1:443
ip address 192.168.1.1
protocol tcp
port 443
keepalive type ssl
active
service server2:443
ip address 192.168.1.2
protocol tcp
port 443
keepalive type ssl
active
service server1:80
type redirect
redirect-string "https://mail.google.com/exchange"
ip address 192.168.1.1
no prepend-http
active
service server2:80
type redirect
redirect-string "https://mail.google.com/exchange"
ip address 192.168.1.2
no prepend-http
active
owner mail
content mail.google.com:443
vip address 10.10.10.1
port 443
protocol tcp
application ssl
add service server1:443
add service server2:443
advanced-balance sticky-srcip
active
content mail.google.com:80
vip address 10.10.10.1
protocol tcp
port 80
url "/*"
add service server1:80
add service server2:80
active
what would be equivalent ACE config? please advise....probe tcp generic-tcp
interval 5
passdetect interval 20
passdetect count 2
connection term forced
exit
rserver server1
ip add 192.168.1.1
inservice
exit
rserver server2
ip add 192.168.1.2
inservice
exit
rserver redirect https-target
webhost-redirection https://mail.google.com/exchange
inservice
exit
serverfarm redirect secure-redirect
rserver https-target
inservice
exit
serverfarm host SF443
failaction purge
predictor leastconns
probe generic-tcp
rserver server1 443
inservice
rserver server2 443
inservice
exit
exit
sticky ip-netmask 255.255.255.255 address source SF443-SG
timeout 3600
replicate sticky //only required if HA is in use
serverfarm SF443
exit
class-map match-any www-CM
2 match virtual-address 10.10.10.1 255.255.255.255 tcp eq www
exit
class-map match-any https-CM
2 match virtual-address 10.10.10.1 255.255.255.255 tcp eq 443
exit
policy-map type loadbalance first-match http-PM
class class-default
serverfarm secure-redirect
exit
exit
policy-map type loadbalance first-match https-PM
class class-default
sticky-serverfarm SF443-SG
exit
exit
policy-map multi-match LBR-LB
class www-CM
loadbalance vip inservice
loadbalance policy http-PM
loadbalance vip icmp-reply
class https-CM
loadbalance vip inservice
loadbalance policy https-PM
loadbalance vip icmp-reply
exit
exit
interface vlan xxx
ip address xxx
alias xxx
peer ip address xxx
access-group input xxx
service-policy input LBR-LB
no shutdown
exit -
ACE url tampering and other security capabilities
Hi,
I was wondering if anyone knows weather it's possible with the ACE to secure administrative/backend urls from the internet? ie. https://x.company.com/IGGS/Admin I would like to block access to this url from the internet for example. I have read the documentation but it only mentions HTTP deep packet inspection and alot of RFC stuff
Regards
TyroneI can answer myself because I finally found a link to another post.
The following will restrict certain source addresses from accessing certain URL via the ACE, I have tried this in one armed-mode, but should work even with routed-mode.
### Also important to notice is that doing Layer-7 loadbalancing with ssl the ACE will need to terminate the tunnel otherwise all traffic passed the ACE encrypted###
class-map type http loadbalance match-all ten
2 match source-address 10.0.0.0 255.0.0.0
4 match http url .*
class-map type http loadbalance match-all seventeen
2 match source-address 17.16.0.0 255.255.0.0
4 match http url .*
class-map type http loadbalance match-any restrict
2 match http url /public.*
4 match http url /downloads.*
then use in load balance policy as follows:
policy-map type loadbalance first-match WEBSERVER_L7 class ten sticky-serverfarm WEBSERVER_StickyGroup class seventeen sticky-serverfarm WEBSERVER_StickyGroup class restrict sticky-serverfarm WEBSERVER_StickyGroup
if you want to send outside users with other urls to a sorry page you would have a server in a serverfarm taht would do that and use it in a class class-default on the bottom of the load balance policy. The matches on load balance policy are top down so order is important. -
Hi there,
I have 2 servers loadbalanced using ssl. I have a few URL's which I would like to exclude from the ssl:
/view/avac_message.cfm?denied=safeSurfOn
/view/avac_message.cfm?denied=illegal
/view/avac_message.cfm?denied=blacklist
The content switch seems to have an issue with special characters like . ? =
I have tried encapsulating them in [.] but still comes up invalid
General idea is as follows:
1. Class Map to match the URL
(config)# class-map type http inspect HTTP_URLCHECK_L7CLASS
host1/Admin(config-cmap-http-insp)# match url *avac_message[.]cfm[?]denied=safeSurfOn
host1/Admin(config-cmap-http-insp)# match url *avac_message[.]cfm[?]denied=illegal
host1/Admin(config-cmap-http-insp)# match url *avac_message[.]cfm[?]blacklist
2. Layer 7 Policy Map to apply the match
host1/Admin(config)# policy-map type inspect http all-match L7_FILTERHTML_POLICY
host1/Admin(config-pmap-ins-http)# class L7_HTML_ALLOW_CLASS
host1/Admin(config-pmap-ins-http-c)# permit log
host1/Admin(config-pmap-ins-http-c)# exit
3. Layer 3 and 4 Policy Map to activate the traffic classifications
host1/Admin(config)# policy-map multi-match L4_FILTER_POLICY
host1/Admin(config-pmap)# class L4_MATCH_HTTP_URL_CLASS
host1/Admin(config-pmap-c)# inspect http policy L7_FILTERHTML_POLICY
host1/Admin(config-pmap-c)# exit
host1/Admin(config-pmap)# exit
host1/Admin(config)#
Can anyone advise a workaround to apply these url statements please?
ThanksOK, not to confuse the issue, but I have applied the below config and I cannot seem to get the url match policy to allow traffic to pass as http, while forcing all other traffic to redirect as https
Can Anyone tell me what I am doing wrong here please?:
rserver host Server01
description Primary Server
ip address 10.x.x.1
conn-limit max 2000000 min 1500000
inservice
rserver host Server02
description Secondary Server
ip address 10.x.x.2
conn-limit max 2000000 min 1500000
inservice
rserver redirect Server_Redirect
webhost-redirection https://www.mysite.ie
inservice
serverfarm host ServerAuth
rserver Server01 3807
inservice
rserver Server02 3807
inservice
serverfarm redirect ServerHTTP_Redirect
rserver Server_Redirect
inservice
serverfarm host ServerServers
rserver Server01 80
inservice
rserver Server02 80
inservice
sticky http-cookie server-cookie Server_Cookie_Sticky_Group
cookie insert
timeout 21
serverfarm MyServers
class-map type http inspect match-any HTTP_URLCHECK_L7CLASS
100 match url .*denied=safeSurfOn
200 match url .*denied=illegal
300 match url .*denied=blacklist
400 match url .*logo.jpg
class-map match-any L4_Server_Auth
description match traffic for Authentication
2 match virtual-address 10.103.3.9 tcp eq 3807
class-map match-any L4_Server_HTTP
description match traffic for VIP and HTTP Traffic
2 match virtual-address 10.103.3.9 tcp eq www
class-map match-any L4_Server_HTTPS
description match traffic for VIP and HTTPS Traffic
2 match virtual-address 10.x.x.99 tcp eq https
class-map type http loadbalance match-any L7_Server_URL
2 match http url .*
policy-map type loadbalance first-match L7_Server_LBPolicy
description Server Layer 7 Load Balancing Policy
class L7_Server_URL
sticky-serverfarm Server_Cookie_Sticky_Group
policy-map type loadbalance first-match L7_Server_LBPolicy_Auth
class L7_Server_URL
serverfarm ServerAuth
policy-map type loadbalance first-match L7_Server_LBPolicy_HTTP
class L7_Server_URL
serverfarm ServerHTTP_Redirect
policy-map type inspect http all-match L7_URLCHECK_POLICY
class HTTP_URLCHECK_L7CLASS
permit
policy-map multi-match L4_FILTER_POLICY
description L$ Server URL AVAC CHECK
class L4_Server_HTTP
loadbalance vip inservice
loadbalance vip icmp-reply active
loadbalance vip advertise active
inspect http policy L7_URLCHECK_POLICY
policy-map multi-match L4_Server_LBPolicy
description L4 Server Load-Balancing Policy
class L4_Server_HTTP
loadbalance vip inservice
loadbalance policy L7_Server_LBPolicy_HTTP
loadbalance vip icmp-reply active
loadbalance vip advertise active
class L4_Server_HTTPS
loadbalance vip inservice
loadbalance policy L7_Server_LBPolicy
loadbalance vip icmp-reply
loadbalance vip advertise active
ssl-proxy server SSL_Server_Server
class L4_Server_Auth
loadbalance vip inservice
loadbalance policy L7_Server_LBPolicy_Auth
loadbalance vip icmp-reply
loadbalance vip advertise active
interface vlan 291
service-policy input L4_Server_LBPolicy -
Hello,
I am trying to redirect inbound connections from http://foo.com to http://foo.com/this/is/a/test 301. The relevant portion of the redirect config is as follows:
rserver redirect RD_QA_ANONYMOUS_LOGIN
description Redirect Inbound Connections to Anonymous Login Page
webhost-redirection https://foo.com/this/is/a/test 301
inservice
serverfarm redirect SF_QA_ANON_LOGIN
description Redirect Inbound Connections to Anonymous Login Page
rserver RD_QA_ANONYMOUS_LOGIN
inservice
parameter-map type http REDIRECT
description Redirect Inbound Connections to Anonymous Login Page
case-insensitive
persistence-rebalance
class-map match-any RD_PORTAL_QA_VIP_1
description ***VIP for QA Customer Portal***
2 match virtual-address 10.145.19.135 any
class-map type http loadbalance match-all RD_QA_ANON_01
2 match http header Host header-value ".*foo.com/"
policy-map type loadbalance first-match LB_RD_EXTPORTAL_QA_1
class RD_QA_ANON_01
serverfarm SF_QA_ANON_LOGIN
policy-map multi-match EXT_TEST_POLICY
class RD_PORTAL_QA_VIP_1
loadbalance vip inservice
loadbalance policy LB_RD_EXTPORTAL_QA_1
loadbalance vip icmp-reply active
appl-parameter http advanced-options REDIRECT
Right now, the client is not receiving the redirect message, only a FIN. I've tried several variations of the above config, with no success. Any ideas?
Thanks,
MichaelHello Kanwal,
Good question. The answer is yes, both. The first goal was to enable redirection without SSL. After that was working, then next goal was to enable SSL. Working with TAC, we came up with the following config, which enabled the redirection with SSL. BTW: The SSL config was already in place. I am adding the SSL config for the sake of completeness. Also we are re-writing headers in both directions:
crypto chaingroup CHAINGROUP
cert ROOT
cert WC_INTER_1
cert WC_INTER_2
rserver redirect RD_REDIRECT_SERVICE
webhost-redirection https://%h/this/is/a/test 301
inservice
rserver host RS_REAL_SERVER_01
ip address 10.10.10.10
inservice
serverfarm host SF_REAL_SERVERFARM_01
rserver RS_REAL_SERVICE_01 1000
inservice
serverfarm redirect SF_REDIRECT_SERVICE
rserver RD_REDIRECT_SERVICE
inservice
parameter-map type http REWRITE
description Enable Header Rewrites
persistence-rebalance
header modify per-request
parameter-map type ssl SSL_TERMINATION
cipher RSA_WITH_RC4_128_MD5
cipher RSA_WITH_RC4_128_SHA
cipher RSA_WITH_3DES_EDE_CBC_SHA
cipher RSA_WITH_AES_128_CBC_SHA
cipher RSA_WITH_AES_256_CBC_SHA
sticky ip-netmask 255.255.255.0 address both STICKY_SERVERFARM_01
timeout 600
replicate sticky
serverfarm SF_REAL_SERVERFARM_01
action-list type modify http MODIFY_HEADER_LIST
header rewrite response location header-value "http://inside[.]foo[.]net(.*)" replace "https://outside.foo.com%1"
header rewrite response location header-value "http://inside[.]foo[.]com(.*)" replace "https://outside.foo.com%1"
header rewrite request Host header-value "outside\.foo\.com" replace "inside.foo.com"
ssl url rewrite location "outside\.foo\.com%1"
ssl-proxy service SSL_WC_01
key WC_KEY
cert WC_CERT
chaingroup RAPID_SSL
ssl advanced-options SSL_TERMINATION
class-map match-any VIP_1
2 match virtual-address 10.10.10.210 any
class-map type http loadbalance match-any LB_L7
2 match http url /.*
class-map type http loadbalance match-all REDIRECT_01
2 match http url /
policy-map type loadbalance first-match LB_POLICYMAP_1
class REDIRECT_01
serverfarm SF_REDIRECT SERVICE
class LB_L7
sticky-serverfarm STICKY_SERVERFARM_01
action MODIFY_HEADER_LIST
policy-map multi-match MM_POLICY
class VIP_1
loadbalance vip inservice
loadbalance policy LB_POLICYMAP_1
loadbalance vip icmp-reply active
nat dynamic 1 vlan 60
appl-parameter http advanced-options REWRITE
ssl-proxy server SSL_WC_01 -
Is there anyway to use the ACE to hash urls? It doesn't seem to be possible, but I was thinking maybe there was some kind of workaround.
Many CDNs offer the service of hashing an URL and changing it at a fixed interval to offer a little extra protection against deep linking to content. It would be great to offload this all from our redirector cgi directly onto the load balancera loadbalancer does not modify http content.
So you can't replace the header.
Although it does sound like a good feature to add, you will kill the performance of the box by having the check all url, replace it where needed, recompute the tcp checksum, fragments/reassembles the packets where needed,... a total pain to achieve.
Gilles. -
Have any one configure transparent caching on ACE module
How to configure transparent caching on ACE module? Please kindly give me a example configure. Thank you very much.
here is a basic config.
The module will intercept traffic coming in on vlan 20 and loadbalance it doing a url hashing to caches in vlan 30.
The mode is transparent so the destination ip address is preserved.
serverfarm host CACHES
transparent
predictor hash url
rserver linux1
inservice
rserver linux1-24
inservice
class-map match-all VIP-TCP80
2 match virtual-address 0.0.0.0 0.0.0.0 tcp eq www
policy-map type loadbalance first-match SF-CACHES
class class-default
serverfarm CACHES
policy-map multi-match SLB-CACHES
class VIP-TCP80
loadbalance vip inservice
loadbalance policy SF-CACHES
interface vlan 20
ip address 192.168.20.123 255.255.255.0
peer ip address 192.168.20.121 255.255.255.0
access-group input PERMIT-ANY
service-policy input ALLOW-ALL
service-policy input SLB-CACHES
no shutdown -
ACE for Cache servers how-to??
We have ACE10 installed on 7609 Internet-router, we intend to force Internet http traffic on the 7609 to a third party Cache servers without using either PBR or WCCP to obtain backbone bandwidth savings. In addition the ACE will distribute the http traffic to the cache servers which are 8 in number. Can anybody help out with how to do it (some reference documents will be appreciated).
HI,
The ACE uses the predictors to select the best server to fulfill a client request.
Use the Hash URL method as predictor as it selects the server using a hash value based on the requested URL. You can specify a beginning pattern and an ending pattern to match in the URL. Use this predictor method to load balance cache servers.
Cache servers perform better with the URL hash method because you can divide the contents of the caches evenly if the traffic is random enough. In a redundant configuration, the cache servers continue to work even if the active ACE switches over to the standby ACE.
You have to understand the reason of url hash.
The goal is to guarantee that the same object will not be cached on mayne servers and therefore maximise disk usage.
So, if you don't really need to maximize this disk usage, you could use any other balancing method.
There is not one-best-for-all solution.
It all depends on what are your priorities.
Kindly see how to configure Hash URL method Below:
http://www.cisco.com/en/US/docs/app_ntwk_services/data_center_app_services/ace_appliances/vA3_1_0/configuration/slb/guide/rsfarms.html#wpmkr1039375
Kindly see below the article in this regard:
http://forums.cisco.com/eforum/servlet/NetProf?page=netprof&forum=Data%20Center&topic=Application%20Networking&topicID=.ee7814f&fromOutline=&CommCmd=MB%3Fcmd%3Ddisplay_location%26location%3D.2cc060ee
Kindly Rate if you find this information of any use to you or please ask furhter about your queries.
Sachin garg -
Is it possible to change the URL of the browser corresponding to changes in the timeline?
Hello,
I'm trying to create a whole website in Edge. Is it possible to change the browser URL for different sections of the animation. For example me.com/part1 leads to 2.0 seconds in the animation. And for example when you type me.com/part2 the browser would go to 4th second of the animation. And vice versa, when the animation reaches the 4th second the browser URL would change to me.com/part2. It would be really great if that were possible. Any ideas on how to accomplish it?
Thanks!Hi there, Joel's example seems to be exactly what you're trying to do. All you need to do is replace his functions with your functions.
There are two main parts to his example: 1) reacting to a URL change directly in the URL bar, 2) reacting to a button click, and setting the URL
Regarding Item 1: this line (this adds a listener for when the URL hash is changed, and calls the 'sym.animate' function in his example). Note that he is linking the value after the # with the symbol names 'panel1', etc. This line enables the functionality for you to be able to directly change the URL to: testStep95.html#panel2, and the site will change pages.
$(window).on("hashchange", function(){sym.animate(location.hash.replace("#",""), sym.onStage)});
Regarding Item 2: he's setting the page title (based on the active panel symbol) and URL hash, in the 'sym.animate' function. He calls the 'sym.animate' function on click of btn1, btn2, btn3:
document.title = panelIn;
window.location.hash = panelIn;
Props to Joel for his slick example! -
Is it possible to change the URL of displaytag's sortable function?
Basically, I've got a jsp page with the displaytag code on it such as:
<display:table name="result">
<display:column sortable="true" property="title" />
<display:column sortable="true" property="author" />
<display:column sortable="true" property="status" />
<display:column sortable="true" property="location" />
<display:column property="image" />
</display:table>
The way it loads the data is that in a servlet, a line of code creates the arraylist called "result", and passes that through the HTTP header onto the jsp. The jsp gets it and displaytag handles it. However, whenever I click one of the sortable headings, none of the data is found because the jsp currently needs to have the arraylist sent to it from a servlet. Clicking a sort link doesn't go through a servlet, just adds some arguments.
Is there a way to change the sortable URL to go back through a servlet and then add the sorting code (which is something usually like ?d-49653-s=0&d-49653-o=2&d-49653-p=1)?
Thanks
EdHi there, Joel's example seems to be exactly what you're trying to do. All you need to do is replace his functions with your functions.
There are two main parts to his example: 1) reacting to a URL change directly in the URL bar, 2) reacting to a button click, and setting the URL
Regarding Item 1: this line (this adds a listener for when the URL hash is changed, and calls the 'sym.animate' function in his example). Note that he is linking the value after the # with the symbol names 'panel1', etc. This line enables the functionality for you to be able to directly change the URL to: testStep95.html#panel2, and the site will change pages.
$(window).on("hashchange", function(){sym.animate(location.hash.replace("#",""), sym.onStage)});
Regarding Item 2: he's setting the page title (based on the active panel symbol) and URL hash, in the 'sym.animate' function. He calls the 'sym.animate' function on click of btn1, btn2, btn3:
document.title = panelIn;
window.location.hash = panelIn;
Props to Joel for his slick example! -
Hi,
I need to navigate from one page to another using short urls. I have a page P1 with iView V1 in it. I have another page P2. The hierarchy is as folllows:
Role R1
..|__ page P1
........ |__ iView V1
..|__ page P2
By clicking on a link in iView V1, i need to navigate to page P2 using short urls.
I am passing the long url of page P2 (ROLES://portal_content/.../roleR1/pageP2...) as a iView property to V1.
Can someone provide the code as to how to retrieve the short url(hashed valued) from the long url and how to navigate to page P2.
Any help is appreciated.
Regards,
Melwyn.Hi Romano,
Thanks for the reply.
I tried the code snippet you gave me.
However the method getNavigationNodeHashedName() is not appearing in the list of methods.
I am only able to see the methods getInitialNodes(), getFirstNode(), getNode(), getNodes() and getNodeByQuickLink().
Following is my import statement.
import com.sapportals.portal.navigation.INavigationService;
The jars that i am using are com.sap.portal.navigation.api_service_api.jar and com.sap.portal.navigation.service_api.jar.
NWDS ver 7.0.15
Portal ver 2004s SP 15
Regards,
Melwyn.
Maybe you are looking for
-
Sales Order Total Weight Display in a report
Hi All, Is there any way that i can display the total weight and Unit of weight of a sales order in a report. Please let me know all the possibilities.. RV45A-BTGEW and RV45A-GEWEI are the technical names of the fields that i have to display.. thank
-
I have ignored this issue for long enough. I have Adobe CS4, with Acrobat Pro version 9.3.4. Windows 7. Acrobat updater pops up on my machine, and when I execute the update requested, the updater gives me the update failure message, with code 1604
-
I have video thumbnails in my video folder on i tunes and....
How do I delete them.Please help!!!
-
Connecting Airport to my ADSL router
Hi I'm having problems keeping my Powerbook connected to my wireless network.It works for a short while,gradually slows down then stops completely.The network assistant says I'm connected and I have a strong signal but when I try to use diagnostics i
-
One EAR , multiple WARs - CLASSPATH problem
Hi there, According to [url http://e-docs.bea.com/wls/docs92/programming/splitcreate.html#wp1102496]WL 9 documentation, any thid-party library of my EAR located at APP-INF/lib can be referenced anywhere. Unfortunately that's not happening ... :-( Thi