History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: SCAFF-104
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Riyaz Shaikh
Reporter: David Peterson
Votes: 6
Watchers: 9
Operations

If you were logged in you would be able to see more operations.
Confluence Extension: Scaffolding Plugin

Current data is not being displayed after saving

Created: 13/Mar/07 10:38 PM   Updated: 01/Mar/08 01:16 AM
Component/s: None
Affects Version/s: 2.2-dr3, 2.3-dr4
Fix Version/s: 2.7-dr9

Time Tracking:
Not Specified

Issue Links:
Relates
 


 Description  « Hide
In some circumstances, the 'current' data for a page isn't being displayed. You create a page, fill in the details, hit save and the default values are displayed, not what you just saved. Another edit-save will usually kick it back into working order, but not consistently. Something strange is happening in the back...

 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Ross Sharrott - 04/Apr/07 02:40 AM
I also have this issue, although it is consistent for me. I have a date-date field that defaults to today, however on two of my users' accounts the defaults do not show when creating a new record. They enter data and then click save. This results in the default data only being displayed.

Going back and editing the record solves the error. My account (which is administrator) does not have this problem. Has anyone seen of resolved this issue before?


David Goldstein - 16/Apr/07 07:57 PM
I would suggest upgrading this to Critical priority.
  • it occurs consistently every time Scaffolding data is first added to a page (first fill out scaffolding form and hit Save), so affects all users of scaffolding data
  • from the average user's standpoint there is apparent data loss (often times once, twice or even three times in a row depending on the timing of user trying to reenter the seemingly lost data), so we get constant reports of the site being "broken" from our users due to this behavior

You can often get the data just saved to show up by refreshing the page (Ctrl-refresh in IE) after first saving, but I've seen situations where some but not all of the data shows up this way, and you seem to have to refresh the page multiple times until all the data "settles" and is consistently viewable.


David Peterson - 29/Apr/07 05:08 AM
I believe I have identified the bug which caused this (some invalid assumptions about caching code I had added for performance improvement).

Ross Sharrott - 01/May/07 02:11 AM
I upgraded to Plugin Version: 2.3-dr5, but I'm still having this issue.

I have found that this affects Internet Explorer, not FireFox. Data is stored properly in firefox, but in IE only the defaults show.


Marcel Verpaalen - 09/May/07 08:38 AM - edited
Here we have the same issue still with Plugin Version: 2.3-dr5 running on Confluence 2.3.3.
Creating an new entry in the scaffold table sometimes saves sometimes not.

If at previewing the data shows I believe it will show up after the save as well, when it does not show up at preview the save action will not save the data at all.

Note: I'm using IE6


Ryan Coulter - 23/May/07 06:44 PM
I have, likewise, noticed this behavior. My users first caught it, since it doesn't seem to happen in non-IE browsers. I use Safari on Mac, and I've confirmed that it is not a problem in Mozilla based browsers on either Mac or Windows. It is a problem in both IE 6 and IE 7 on Windows XP. I don't know about Vista.

We are using the latest scaffold plugin, version 2.3-dr5, and Confluence 2.5.1. In case it's helpful, here is one scaffold which exhibits the problem.

| *Application Name:* | {text-data:appName|required=true} | 
| *Business Owner:* | {text-data:appBusinessOwner|required=true} | 
| *Technical Owner:* | {text-data:appTechOwner|required=true} | 

*Servers*
Enter the servers on which the application depends and the function each server fulfills for this application.
{table-data:appServerList}
|| Server Name || Function || 
| {list-data:appServerName}{content-options:parent=SERVERS:ServerList}{list-data} | {text-data:appServerFunction} | 
{table-data}

*Application Software*
Enter the software that comprises the application itself, not supporting software or middleware.
{table-data:appSoftwareList}
|| Software Name || Vendor || Version || 
| {text-data:appSoftwareName} | {text-data:appSoftwareVendor} | {text-data:appSoftwareVersion} | 
{table-data}

*Middleware*
Enter supporting software and middleware here, such as Oracle, Apache, IIS, etc.
{table-data:appMWList}
|| Middleware Name || Version || 
| {list-data:appMWName}{content-options:parent=MiddlewareList}{list-data} | {text-data:appMWVersion} | 
{table-data}

The problem does not occur with the first three fields in the scaffold. It only seems to be an issue with table-data sections, however I have another scaffold where the problem will occur with text-data fields not necessarily in table-data sections. When the user first creates the page and edits it, then fills out the whole form and saves it, only the first three fields are saved. On subsequent edits, if information is added to the form, not all of the information will be saved, although usually the first field edited will be saved.

Hope this helps.


David Hennessy - 26/Jun/07 06:04 AM - edited
Have noted that the issue has been marked as 'fixed' yet I am still having this trouble - in many of my scaffold macros. Running Confluence 2.3 dr4

What/where is the 'fix' for the data loss problem, thanks...


David Peterson - 26/Jun/07 06:25 AM
I had fixed a problem which existed across browsers, however it seems there is still a problem with IE (caching related?).

David: What browser are you using?


David Hennessy - 26/Jun/07 06:34 AM
Hi David

Thanks for getting back to me.

The standardised environment here restricts me to IE6.

I have thought much about this situation and wonder if it is a mix of problems between the server on which we run Confluence (capacity) and/or the browser. (Indeed your caching theory could be correct)

Is it possible that JVM size could play a factor? Does scaffold need plenty of processing power to 'store' and 'convert' the data as it is processed?

Cheers


David Peterson - 26/Jun/07 06:43 AM
It could be that the JVM is contributing, but it would surprise me - the consistent problem seems to be IE. Are you using {table-data} or {repeating-data} in any of your scaffold pages where you are having the problem. As Ryan noted above, those seem to cause problems in IE.

David Hennessy - 26/Jun/07 06:57 AM
Ok..

I have/am using {table-data} and {repeating-data} - and various macros within sacffold. Mostly in the aims of automating data entry for my users.

My issue is loss of data when entered all together, or bits missing, or - like in the case of projectTimeline, the bottom entry in a series of entries gets lossed.

I have had to save after every entry to avoid this happening, or to insert a 'dummy' blank entry underneath an actual entry in order to keep from losing the data.

Also (maybe just for atrouble shoot)
In a current project, where I have design a repeating entry scaffold, and cut-and-pasted the same code in other places on the page (as a list of items defined with a header and then the repeating-entry underneath) the data fields in one scaffold instance is repeated in same fileds in other instances. Is it necessary to give a unique name to each repeating-entry instance? Data gets lost in these scaffolds too...


David Peterson - 26/Jun/07 07:06 AM
Ok. My current working theory is that it is {table-data} which is causing the data-loss problems. Could anyone else (thanks Ryan) confirm that it is only within {table-data} sections that data loss is happening with IE6? There are numerous known issues with {table-data} and IE6 already....

David, with regards to unique names, you can have the same names inside more than one {repeating-data} or {table-data} macro, as long as the {repeating-data} and/or {table-data} macros themselves have a unique name at that level. Eg:

Bad:

{table-data:Table}
|  {text-data:Text} |
{table-data}
{table-data:Table}
| {text-data:Text} |
{table-data}

Good:

{table-data:Table 1}
|  {text-data:Text} |
{table-data}
{table-data:Table 2}
| {text-data:Text} |
{table-data}

Hope that clarifies things.


David Hennessy - 26/Jun/07 07:12 AM
Thanks heaps mate.

Will keep working on my scaffolds! Looking forward to seeing what eventuates on a fix for the IE6 factor.

Cheers


Ryan Coulter - 26/Jun/07 03:36 PM
I can confirm that in all of my scaffolds, it is both {table-data} and {repeating-data} and only those sections that are not saved by IE6. It is only data fields within the section that are not saved – that is, non-editable text is displayed in each repeated section added, just as non-editable table headers are displayed. I have also tried the "Preview and Save" trick, which did not work. The only remotely reliable method I've found of saving the information in those sections with IE is to make one edit and save without touching any other fields. For example, if I add a row in a {table-data} section, I can fill out the row and then save the page, and as long as I haven't filled out any other fields on the page during that edit session, the new row will usually be saved.

Riyaz Shaikh - 26/Sep/07 12:32 PM
It feel that this issue is a source for SCAFF-90.
When i add a row to a table and do a view source, I am not able to see any row which shows data related with newly added row and when i click preview tab it will not add any row to a table.
If I put required=true for {list-data} in this case it will through an error saying "Please select a option".

David Peterson :-
Please let know about caching which was implemented by you to resolve performance related issue.

Cheers
Riyaz


David Peterson - 26/Sep/07 01:15 PM
Riyaz - yes, they are probably related.

With regards to the caching issue I mentioned, essentially it's a very simple cache which simply stores the most recently retrieved data in memory. This is useful in the common case where you have a page which is pulling Scaffolding data from the same page multiple times. Without caching, it has to retrieve and deserialise the data every time it's requested. The bug was related to not correctly keeping track of what the most recently-retrieved scaffolding data was.


michaeljerome talens - 28/Sep/07 12:33 AM
Browser: Mozilla 1.7.13
  • Displays the same problems I've experienced with IE 6/7 (loss of data after save). I've pretty much restricted use to FireFox for now just to be safe
  • I am using {table-data} in my {scaffold}

thanks!


David Peterson - 01/Mar/08 01:16 AM
This bug has been fixed by Riyaz Shaikh.