Developer forum

Forum » CMS - Standard features » Information about Grid rows is not updated

Information about Grid rows is not updated

Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi guys,

I have a solution running 9.8.9 and I am using Rapido 3.3 with Visual Editor.

I have recently noticed a weird behavior regarding the definitions of Grid Rows. We have defined a couple of custom Grid Rows and have defined them in the RowDefinitions.json file (see attach).

However, in the Content editor, we don't see these custom Grid Rows and the request in the admin seems to load the old definition (see attach).

Is this information cached somewhere? Maybe in a table in the database? Do I need to set them differently?

Thank you,
Adrian 

ContentBuilder-GetRowDefinitions.png RowDefinitions.png

Replies

 
Martin Vang
Martin Vang
Reply

Hi Adian,

I cannot reproduce your results. Are you sure that you are editing the definitions file in the correct files on disk? When I edit the file, save and refresh the page, the new definition is available right away.

I cannot find any way that we cache this information in database.

BR

Martin

 
Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi Martin,

I have checked, double-checked and triple-checked that the file on disk is the right one.

I have checked the solution information and this is the path to the Files folder:
\\WIN-DOTDESIGN\Z:\Sites\_dotFusion\www.daruiesteviata.ro\Dev\Files

You can check my previous screenshot and you will notice the same paths.

I have not seen this problem in other solutions. So far, everything works as expected. Except for this case.

If you want to check it out for yourself, here is the URL: http://dv.dotfusion.ro/

Adrian

 
Martin Vang
Martin Vang
Reply

Hi Adrian,

I think you're actually using the Rapido3.3 designs folder (not the Rapido one), for the specified page. The RowDefinitions.json under that design matches what is being rendered.

BR

Martin

 
Nuno Aguiar Dynamicweb Employee
Nuno Aguiar
Reply

Hi Martin,

 

I'm coming across this issue as well in DW 9.9.2

  • The partner created a copy of the Rapido folder
  • Everything was working fine for a while
  • Then introducing new Rows, noticed that the Row Definitions always seems to come from the Rapido folder (not the design the layout is associated with)
  • After they reported it, I didn't repro the issue
  • Now it has come back. Looks like some caching reference to the "wrong" RowDefinitions.json file

https://www.screencast.com/t/5I0FXlw2mxdC

 

Do you have any idea if there's anything we need to/can do?

 

Best Regards,

Nuno Aguiar

 
Nicolai Pedersen
Reply

Hi Nuno

I cannot reproduce.

Somewhere in the code, something is refering to something wrong. And I cannot find anything in Rapido code base, so you have to look for your self.

Start by renaming the "Page" folder in grid folder and use that new name in the copy. I think that will reveal what is wrong. Also ensure that all pages you have will actually have the copy of the layout template in use. You might have made a copy of the design folder and the website and changed the default layout, hence the design, in the website settings. But if all the pages you copied are still referencing the original rapido template location, this could also happen...

BR Nicolai

 
Nuno Aguiar Dynamicweb Employee
Nuno Aguiar
Reply

Thanks for thhose thoughts Nicolai. I will explore that with the partner.

 

I've seen this working and then it stopped working out of the blue. The new custom row was only created in the new website, so the theory of it coming from a copy is unlikely, but I will still pursue that.

 

Nuno

 
Mario Santos Dynamicweb Employee
Mario Santos
Reply

Hi Nicolai,

I might have tracked down the issue. Here's what I think is happening.

Our current scenario:

  • Single DW solution:
  • WebsiteA uses Rapido design folder
  • WebsiteB uses RapidoB design folder
    • RapidoB is a brand new Rapido design folder without all the customizations from the one on WebsiteA
    • This design folder has a custom row definition

 

Both Rapido and RapidoB use the standard grid "Grid" which is the actual gridId being used in cache key. So, after a site recycle when we first go to WebsiteB we don't see the issue, but if we go first to WebsiteA and then WebsiteB we see the issue because the grid row definitions are cached from WebsiteA since the cache key only refers to the gridId and does not take the layout into consideration. What do you think?
 

 

BR, Mario

 
Nicolai Pedersen
Reply

Then try to give the grid in b a different id.

 
Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi guys,

I have this identical issue with one of our solutions and I cannot make it work.

I have tried using different grid Ids but in this case, I can make B work but A is broken.

Has anyone found a stable solution? In my case, I have a very critical solution that is already public and the customer is really pissed that the layout is broken.

Thank you,

Adrian

 
Aki Ruuskanen
Aki Ruuskanen
Reply

Hi Adrian, 

Did you find a solution? I have exactly the same scenario. 

Site A has a standard Swift RowDefinitions. 

Site B has a custom RowDefinitions with own IDs. 

Site A cannot find the IDs even though they are there.

"Row definition '1Column' for row '100' not found for Grid ID 'Page'. Verify that your RowDefinitions.json file contains the definition ID."

Regards / Aki

 
Adrian Ursu Dynamicweb Employee
Adrian Ursu
Reply

Hi Aki,

I have to remember the project where we had the issue :)

If I have not returned to this thread, we have probably found a solution. Most probably some customization.

Most likely, here (in the Swift_Page.cshtml page template): 
gridContent = Model.Grid("Grid", "Grid", "default:true;sort:1", "Page");

The problem in this case is that "Page: is the gridId from Mario's screenshot. If you manage to customize that value, you should (in theory) be able to separate the grid definitions based on Area. Could be simply a concatenation like this: "Page" + AreaId. But in this case if you have multiple language layers for the same website, you will have to duplicate a lot of templates.

Just keep in mind that the above are just some details I remembered now and may not be a solid solution for the current issue.


Adrian

 
Aki Ruuskanen
Aki Ruuskanen
Reply

Yes, I understand. Thanks for the input. 

Regards / Aki

 

You must be logged in to post in the forum