Calculation spreadsheet is empty - intershop

I'am actually working on the calculation spreadsheet (Cartridge dev_basketinfo, pipeline InspectBasket-Start).
It works well but when I got a specific shipping mode (on weightbased and specific postalcode) it is empty.
Do you know something about it please ?
Thanks

The problem was a method called on the fly which invalidate the basket.
If you see an empty spreadsheet be careful with the invalidation or the ruleset.

Related

Drupal 6 website saving profile values to the user->data object instead of to the profile_fields table, how do I prevent this so I can use in views

Hopefully someone is familiar enough with the Drupal 6 Profile module to help me out here. I'm looking at the code but can't make sense of it.
I've set up a bunch of profile fields in different categories and it seemed to be working fine. Then I needed to show the data in a view, but it's just not showing up...only a few fields are.
After a few hours of digging I've discovered that the profile values are being saved to the serialized "data" column in the users table, not to the profile_values table, even though the profile_fields table has fields for all of my new columns.
What's the deal with this? It's killing me...i can't seem to make sense of the logic looking at the module, if I spend the time to write a script to transfer all the data from the user->data column to the proper profile fields table then will it remain there or will it be futile.
Thanks for the help. Pretty frustrated.
OK, finally figured this out. I was really thrown for a loop since it's been working, it must be default drupal behavior to save superfluous data to the user->data object?
Anyhow, I'd used hook_user to add profile forms to the main user edit form but I neglected to run profile_save_profile explicitly on the additional fields on the update operation of hook_user. Have it working now.

Using VB.NET to Detect Changes in a Web Page

Again I come to you guys for your expertise and advice on an issue that I am having. I was wondering if any of you would know how to detect if a web page has been modified using VB.NET. I need to be able to set up a task which periodically (like once a week) scans the user inputted web pages and if the web page content has changed, I need to fire off an email to an individual that it has changed (not the exact location on the page itself). I'll be storing the HTTP status and of course the page data itself as well as the date of when it was last modified. Of course this needs to be very fault tolerant since it could be another week before the check runs again. Any help would be great. Thank you.
EDIT
New twist on this question sorry. I had more time to think about what we wanted. So... Detecting ANY change on a web page would be kind of silly since time dependent elements of the page would change every so often. Instead, what I would like to do is be able to detect the documents in the page. For instance if there are excel, word docs, or pdfs that get changed on that page. So, I'd run the hash on these documents then on some sort of schedule do a check to see if new documents have been added or if the old documents have been modified. Any suggestions on how to detect the documents embedded on the page and running the hash? Thanks again!
As I mentioned in a comment, this sort of job is what checksums (also known as hash functions) were designed for.
You code for will look something like this:
- for each webpage of interest
- pull webbpage
- calculate checksum of contents
- is current checksum different to last checksum?
- if yes, send email
- store new checksum and other appropriate data
The .Net framework has a number of checksums available. The two most popular are MD5 and sha1
In addition to the checksum option, there are also various Diff function that achieve this, and provide much more information than changed=true/false. This question has more info:
How to tell when a web page has changed by x% in VB.net?

two users data automatically mixed while updating their details

When two users are updating their property details that time their property information are mixed and stored in database.
I have checked source code as well as stored procedure but could not find any solution.
You probably don't have proper rollback procedures... if your database is being accessed in a way that users data is being overwritten you basically need to code your query algorithms or stored procedures better to account for it.
Such as...
//submit data
//check data
//loop
//if not (data) {rollback()}
// submit data
// repeat loop until data is submitted successfully
I've noticed in the code I've looked at that most programmers don't account for this.
I've also noticed that sometimes the data for two seperate records gets assigned the same ID, causing this merging of data
IF I'm way off, sorry, may not have understood the question.
Also, maybe your code that is inserting the data is not functioning properly, so yeah, some of that code would help, as the other guy said. Thanks
Hope this helps.

Caching ListView data a viable option?

Here's my scenario:
1) User runs search to retrieve values for display in ListView via LinqDataSource.
2) They click on one of the items which takes them to another page where the details can be examined, further drill-down can happen, etc.
3) User wants to go back to the original ListView results to select another item for inspection.
I can see it's possible to pass the querystring params around, allowing the querying to be duplicated each time the user comes back to the ListView, but it seems like there ought to be a way to cache the results.
Since I'm using the LinqDataSource, though, I believe the actual results are fetched each time the query is run. I'm currently feeding a "select new {blah, blah}" type of IEnumerable to the e.Results, which can't be turned into a List since it's populated with anonymous types.
In short:
1) Does it make sense to try to place potentially large query results in the users session?
2) If it does, is a List the reasonable data structure?
3) Do I need to resort to something like creating a class with the correct properties to hold the anonymous data, enumerate the query return, populate the List?
4) Is there a better option than the LinqDataSource for this type goal?
5) Or, does it just make more sense to run the query each time they hit the ListView?
I apologize if this wasn't clear. I would really appreciate it if someone can set me straight before I nuke a bunch of my free time headed down the wrong path :)
First, I would suggest that you look into the caching mechanism that comes with ASP.NET, unless the data is private for a certain user.
Second, I would suggest that you design your application in a way so that you create natural points where you could try to get data from a cache before querying the database (and insert data into the cache, with expiration rules), but don't start putting stuff into the cache until you have verified that it will actually make a difference.
Measure how much time that is actually spent on retrieving data and use caching in the cases where it makes a difference.
I'm not sure if resurrecting threads from the dead is cool on SO, but here is what I found to answer this question:
http://weblogs.asp.net/pwelter34/archive/2007/08.aspx

Returning data to client-side autocomplete query

I'm using a JQuery plugin (http://docs.jquery.com/Plugins/Autocomplete) to add auto-completion to a "city" textfield. The component calls an ASP.NET page that simply loads an array of all possible city values (>8000) and then iterates that array returning those that start with the text the user has so far entered.
The thing is, it's pretty slow in real use. It lags behind what the user types to the extent that most of the time the user probably won't notice that it's there.
So, my question is, how can I speed it up?
I had thought that an array would be a better way to go than putting the data in a database and having to hit that multiple times. Do others agree that having this information hard-coded is the way to go given that it's not at all volatile and needs to be all about speed of return?
If so, what would you look at to improve the speed of performance? Should I be caching the data on application start and accessing it from memory? Would I be better off instead with multiple arrays, each containing values starting with a particular letter so I can go straight to the relevant one and thus iterate a much smaller array? Or am I missing a much more obvious way to go about this?
Thanks in advance.
The code you posted looks pretty normal and should return fast. My guess would be that you're using the default "delay" value for the plug-in which is 400ms. Try changing it to something lower like 100ms (or even lower) and see if it feels better:
$('#textbox').autocomplete('your_url_here', {
delay: 100
});
Well you probably don't want to hard code any data if you can avoid it. Having it in a database will make it much easier to manage changes. And there's no reason you would have to query the database each time. You could cache data from sql in memory into multiple lists as you touched on yourself. That should be quite speedy, unless there's some sort of additional network latency problem. You might want to post some of your code so people can provide more specific guidance.
Thanks for the reply. (Very basic) code is as follows:
Dim q As String = LCase(Server.UrlDecode(Request.QueryString("q")))
Dim arrCities() As String = {"Abano Terme", "Abbadia Cerreto", ... "Zungri"}
For Each s As String In arrCities
If s.ToLower.StartsWith(q) Then
Response.Write(s & vbCrLf)
End If
Next
Line 2 is basically a huge array declared right in the code. It isn't pretty, but the data is involatile so I thought I could get away with it and I assumed it would be faster than pulling it directly from the database. But maybe SQL with some caching if you can offer some specific advice?

Resources