Powershell IE automation losing control - powershell

I have a PS script (2.0) that I wrote that logs into a vendor provided website, clicks some links and scrapes some data and send an email based on that data.
The issue is they upgraded their website. I made some changes, but am stuck on one issue. You used to click a button to enter this website after logging in, but now you click a link. My code to click the link works, but after that I lose control. My document appears empty and I can't control it any further.
$ie.navigate2("https://ibsbusint.fnfis.com/BLP/NavModelServlet/Interop?appid=APPL00000056&channelName=EG_SSO")
WaitIE($ie)
$doc = $ie.document
WaitIE($ie)
$doc.getElementById("MonitorExtractJobs").Click();
The last line does nothing (even though the item exists in the browser). When I look at $doc, all the properties are blank. Not sure why since I set it after navigating to the new link.

Related

Not able to unlock the AEM page in AEM6.2 for custom template

I am not able to unlock the page in touch UI editor. Created simple template and page component. There is no code inside the jsp . I am able to lock the page but when trying to unlock page, getting JS in console(please see attached scree shot). It is working fine with geometric template,
Step to produce.
create simple template and component as below
create a page out of this template
open the in touch ui mode.
lock the page
Now try to unlock the below. see the console by pressing f12. below error is displaying.
Try to see first the error.log located in your environment, for instance: AUTHOR_INSTANCE_DIR/crx-quickstart/logs/error.log.
This may provide more information about the issue. You should validate that you are logged in as an admin or at least you are the owner of lock, you can do this by going to the CRXDE Lite, and in the jcr:content node of your page you have to see jcr:lockOwner property with your username.

X-Cart checkout is empty

I have problem with my x-cart website. When I click on "Buy Now" button on one product, and after that I click on "My Cart" which is the checkout section, it returns that my cart is empty although I already click to buy product.
Here is my website: http://www.farlin-cambodia.com/home.php?cat=591
How can I fix it?
The store you're referring to is of version 4.1.6, that's an old version where there were no adding to cart without redirect (with ajax). The behaviour in question is still there, thus the feature is added as a custom mode.
If JS is enabled in the browser, and if the store considers that it's enabled, the JS script is supposed to send some data to script minicart_content.php, and the php script is to process the received data further. However it doesn't happen, and there are no JS errors, which makes me believe that the problem is in the code of minicart_content.php, with this file is very likely being modified too.
If JS is disabled in the browser ( and if you click the corresponding button in the store in the pink side menu block - "If Javascript is disabled in your browser click here"), this custom scenario is not applied, so the store uses the default functionality which allows to add the products to cart with out problems.
Thus, the possible solution is:
roll back the custom changes you implemented, and use default functionality (adding products to cart with a redirect to cart page)
or
check the minicart_content.php script and find out, why it doesn't want to properly process the data sent by JS script
If you're not sure how to achieve this, consider contacting X-Cart support team for further investigation. Not sure if I can give a link to X-Cart support here, but I'm sure you'll easily find it, if only try to search=)

Wicket page versioning and history support

Could anyone explain me what is the Wicket's page versioning useful for? There is an article in the FAQ that is related to this topic:
Wicket stores versions of pages to support the browser's back button.
Suppose you have a paging ListView with links in the ListItems, and you've clicked through to display the third page of items. On the third page, you click the link to view the details page for that item. Now, the currently available state on the server is that you were on page 3 when you clicked the link. Then you click the browser's back button twice (i.e. back to list page 3, then back to list page 2, but all in the browser). While you're on page 2, the server state is that you're on page 3. Without versioning, clicking on a ListItem link on page 2 would actually take you to the details page for an item on page 3.
But unfortunately I don't understand it at all. When I click on a ListItem on page 2, I would expect to get to the page defined by that Link - details page for the item. Why should I get on the details page of the item on page 3?
Moreover, when one press the back button in a browser, it doesn't call the server at all. Is it right?
So how this versioning works?
No, the server is not notified when you press the back button. I'll try to explain what happens in the example:
You access you application for the first time. On the server, a page 'list' is created, used to render the HTML you see in your browser, and stored as page v1. You see the first 10 items of the list.
You click the 'next' link, and it refers to a link in page v1. On the server, page v1 is loaded, the link logic is executed (to advance the pagination), the page is used to render HTML, and is stored as page v2. You see items from 11 to 20.
You click the 'next' link, and it refers to a link in page v2. On the server, page v2 is loaded, the link logic is executed (to advance the pagination), the page is used to render HTML, and is stored as page v3. You see items from 21 to 30.
You click the 'details' link for item 25, and it refers to the link for the 5th item in page v3 (this page only shows 10 items, and the link, even if it refers to the 25th item in the complete list, in this page it's just the 5th). On the server, page v3 is loaded, its logic is executed, page 'detail' is created, stored as page v4, and you are redirected to it. Your browser requests page v4, the server loads it, and uses it to render your HTML page (no new version is stored, since it's just rendering). You see the details for item 25.
You click the browser's 'back' button 2 times, and see page 'list' showing items 11 to 20, referring to page v2 (list). Then you click a link 'details' for item 13. On the server, page v2 is loaded (not v4, the last one executed), since the link clicked pointed to this page version. Then, the 3rd item link's logic is executed, a new page 'details' is created, stored as page v5, and you are redirected to it. The browser requests page v5, the server loads it, and uses it to render your HTML. You see the details for item 3.
All this may seem strange if you come from a Struts-like background, where you always just put the item id or which page to show as a link parameter. In Wicket, the usual case is to store all state in the server, and navigation is not done by the client (direct link to another page passing parameters), but in the server. A link just asks the server to execute code in a page object version, the navigation is done all server-side.
You could argue that the Struts style is simpler (and you can do it in Wicket too, it just isn't optimal), but keeping the state only in the server has many advantages. Fist, once you get used to it, it's actually much easier. No need to add every single param to a pagination link (search parameters, first item, page length, sorting column, order direction, etc.). Also, you avoid many security issues (you can't just change the URL id param to an arbitrary value and access other users' data), and can control everything from Java code instead of mixed Java-Javascript (you still can do it if you want, though).

Tab Content Does Not Refresh After First Click of Like Button

I've implemented a very simple "like guard" for a facebook tab, and am running into an issue with my test users. Multiple testers are reporting that when they open a tab and click the "like" button, they do not always get a page refresh (so the like guard does not disappear until they do a manual reload). This is using facebook's like button at the top of the page, not one I've coded up myself.
As a sanity check, I enabled some simple logging on my server and have been able to recreate the issue - I hit "like" or "unlike" but there seems to be no request made to my index.php page, so definitely no refresh happening.
I'm aware of this old bug https://developers.facebook.com/bugs/228778937218386 but this one seems different. For starters, after the first click of the "like" button, if I just continue clicking unlike/like/.... then the refresh happens automatically, as expected. What's especially weird is that if I reload the page after the first failed refresh, the refreshes start working again as expected, ie the first update to my like status triggers a page refresh.
Some possibly (?) relevant info:
My Tab is part of a test page, and is unpublished
I am only using http hosting for the tab content, since my https isn't set up yet
So far I've just tested with other admins - so maybe user role affects this?
Curious to see if anyone has run into this issue before.
Finally settled this problem, sharing in case others run into the same issue:
My confusion was caused by where I created/assigned my testers. I made a dummy community page to host the tab I was building and I added all my testers to the test community page. I realized that the only users not getting the weird refresh problems were those testers who I had also added as admin/testers for the app itself. Apparently, adding them as testers to your community page is not enough, and rather than giving you some kind of warning when they view your tabs, testers just get this buggy refresh behavior.

How to create a form in SharePoint that modifies query string

My request is simple.
I want to put a form (a text field let's say) on a Sharepoint page, with a submit button.
When i submit, I want the URL to be reposted with the s="textfromtextfield".
Say i was on a url http://site/site.aspx?p=x clicking submit will take me to:
http://site/site.aspx?p=x&s="textfromtextfield"
If this button "is completely yours" and not one of sharepoint controls you might try writing the following code on the button click handling method on the server side.
Page.Response.Redirect(newUrl, true);
More than likely you want to open the page in SharePoint Designer and add/play with form actions. Check this page for details (rather than attempt to communicate it step by step):
http://office.microsoft.com/en-us/sharepointdesigner/HA101191121033.aspx
FYI. SharePoint Designer is now free for download from Microsoft.
If you have never edited a form in SharePoint Designer, this may help:
http://office.microsoft.com/en-us/sharepointdesigner/HA101191141033.aspx