I have created several "user segments" and added corresponding personalized versions of content blocks in a page. For some simple segments, for instance, that just check if the user has visited a specific page, it works flawlessly.
But for others, specifically when adding the "Time of day" characteristic, it fails to select any of the user segments and displays the default content.
I've created a segment that just checks if the time of day is "between 3AM and 11:30 AM" and I set its priority to "1." My understanding is that, because it is the top priority item, that even though there are other segments that could apply, this is the one that will be chosen if the current time of day is in that time frame. But its not working.
Any thoughts on how I may be misunderstanding the process? or tips/struggles others have overcome working w/ Sitefinity personalization? Thanks!
EDIT: if I set the Time of Day segment criteria to "IS NOT" between 12:00 AM and 11:59 PM then it works. In other words, matching the time of day is always returning false unless I specifically check if its false, in which case it is and the personalized content displays. What the heck?
I tested the case with 10.2 and everything is working fine. I found this closed bug in the feedback portal. Review your version. In case that you cannot upgrade you can try to implement your own criteria.
So it turns out that this problem only exists for me when connecting to the webserver while running the VPN that we've been using throughout development. I have not narrowed down what about that process could possibly be causing the problem, but at this point it seems that it's not so much a sitefinity issue or configuration problem on our server end.
Related
Having a weird problem with Paypal API. I'm using the Subscriptions API an before creating a subscription, I need to create a plan. In the Sandbox enviroment, the resource /billing/plans (https://api.sandbox.paypal.com/v1/billing/plans) works fine, but in Live mode (https://api.paypal.com/v1/billing/plans) I get ´404 Not Found´ with an empty body. Didn't found any hint at the docs. Any ideas?
https://developer.paypal.com/docs/api/subscriptions/v1/
Paypal's customer service is very poor. We will not get any answer from them.
Temporary, we can use backend to create via https://www.paypal.com/billing/plans/plan/create
I contacted the Merchant Technical Support (https://www.paypal-support.com/s/?language=en_US), they made a correction and now it's working again.
A couple of easy mistakes you could have made which I made which give rise to 'the blank screen'. A very easy one: Check that your country codes comply with the iso standards. I was using UK instead of GB. Particularly your shipping address. You can replicate this error by putting in the wrong country code.
Also ensure that your start_date is greater than the current date. The test samples contain old start dates which are behind current dates. Increment the date function with 36000 instead of 3600 to ensure that your start date is greater than an extra hour from your current date or just hardcode a very late date. Your server might be operating at a different timezone.
The token passed was not found in the system....If you have a blank screen it is likely that the access token is not being passed after the 'first run' because you do not have an approval link as a result of the pre-passing error. It sounds like it could be a basic content error but you have likely checked for this.
Check the runtime log file and look out for the approval link. A successful 201 pass will give you something like the following.
"links":
[
{
"href":"https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-22608875RF361971P",
"rel":"approval_url",
"method":"REDIRECT"
},{
"href":"https://api.sandbox.paypal.com/v1/payments/billing-agreements/EC-22608875RF361971P/agreement-execute",
"rel":"execute",
"method":"POST"
}
]
These are some of the errors that I have encountered which might be of use to you perhaps.
Here is an example with reindexing. But what if date field is updating during reindex? And after several scroll requests I need to set date inteval from date to now. How elasticsearch scroll handle this situation: it just scroll documents with old date value or scroll forever untill update requests ends?
The way the scan-and-scroll API works is described one link away from your link, i.e. at http://www.elastic.co/guide/en/elasticsearch/guide/master/scan-scroll.html
On that page, it's stated that
A scrolled search takes a snapshot in time — it doesn’t see any changes
that are made to the index after the initial search request has been
made. It does this by keeping the old datafiles around, so that it can
preserve its “view” on what the index looked like at the time it started.
So what this implies is that whether you use a specific date for your end date or simply now, it won't make any difference since the snapshot of documents taken into account by your scroll query will always be constant during the whole time the query runs.
Say you're issuing a scroll query right now (e.g. at 2015-05-11 06:22:27), then no new documents contributed to your index after that date will ever be returned.
I am using HP Project and Portfolio Management(PPM) tool and I am adding a custom field in my request type which has date as value. Now my requirement is to send the email notifications to the users once the date mentioned in the custom field crosses the system date.
I had tried to set the notification for field level from Notification tab but not getting the custom fields in the list. All the fields, which is available, are pre-configured fields.
So, can anyone suggest me how to implement this requirement? And also where the changes need to be done If any required to implement this?
Please answer in detail and also reply soon.
Thanks in advance!!
PPM notifications can be configured on pre-defined events, like a certain transition, or timeout etc...
One possible solution for this scenario is to have timeouts on your decision step. Time out goes to an execution step, which checks for the date condition. If the condition is met it fires the notification. Else it just returns to the original decision step.
The downside of this work around is that there will be transaction details added once daily. Also the last update date of the request keeps updating daily, which is not ideal if you want to track what was the last time an end user update the request.
It is a workaround cause of the restrictions around notification events.
And if you have a large workflow, I would not recommend this work around.
I'm determined to get this algorithm (if you want to call it that) figured out over the weekend and I think I'll need the help of cron jobs or maybe clockwork.
Here's my logic:
When adding a book, it needs to be stuck in a "queue line" or "queue status" and will only be "published" at the top of the week. At the top of the week, if no book has been "queued", add a new "published" book & make the form available again (the form will get hidden once a book has been queued to publish next). When I say top of the week, I mean that a book must be published every 7 days, going from the date the user's account was created.
To give some background, I'm creating an app where users are encouraged to read one book per week over the course of 2013 (yeah this thing has to launch by Monday!). They are able to add a book that they're going to read the next week and change the status of that book to 'read' once they read it. If they don't change the status to 'read' within 7 days of adding it, it automatically gets moved down the line and displays as 'unread' and the new blank book gets added (like what I explained above).
The whole adding of books and changing the status to read/unread is already complete. I'm just looking for help setting up the 7 day incremental book adding and "queue line".
Some insight into my code:
I have a books controller & model that belongs_to a user. My user model has_many books.
I'm adding and displaying the users' books through the user show view.
I'm sure there are things that I'm leaving out that will help better explain my environment, so just ask me :) Thanks!
I don't think you need a chron job for this.
What I would do is add a status to each book of read/unread. And then write a method in the model that checks on page load and modifies the view or controller data for display.
Rails/Ruby has some nice date/time helpers where you can say date1 <= 7.days.ago.
Is there any reason why this approach won't work?
We have a web application that has a defect and is updating all pages Last Modified Header to the date of the last publish. We are in the process of fixing the defect, but we wanted to know if this defect might impact our SE results for this site.
Basically each time a page on the site get's updated all pages updates the last modified date even if the page has not been updated.
Is there any possibility of the Search Engine detecting the site as spam, since all pages are changing too often? -- Theory
It's unlikely to change much, since all the search engines will notice that your content hasn't actually changed. They will crawl at a rate commensurate with the observed rate of content change, more or less regardless of what you tell them, and small changes like that won't be marked as content changes in the index.
Changing the last modified date too often will NOT have a negative impact with the big 3.
The only way you can affect crawl rate via meta data (and sitemap.xml) is to reduce it. The reason for this is indicators that increase ranking/indexing are too easily abused. However, reducing spider rate is still an option for the resource conscious webmaster.