Skip to main content

Hello Everyone,

 

I was wondering if anyone has any experience with the Column Visible and/or Visible flags on the attributes for custom fields?  I have added a field on the Customer Order Lines Tab of the Customer Order and I have tried both of these attributes with record.Contract = “XX” or record.parent.Contract = “XX” and no matter what combination I try, the field shows up regardless of the Contract value.  This Visible attribute works like a charm on groups.  I can make that work fine, but on lists columns it must require something different as I can’t get it to work.

Edited for clarification just in case.  This is what the “Column Visible” flag actually has in it.  Same thing has been done for the “Visible Flag”

 

 

 

Thanks for any help or insight that you can provide.

 

Hi, in tables and lists it is the `column visible` attribute that controls the visibility. The thing that might fool you here is the profile. The metadata value is overridden by the value set in the column chooser. So if there are any change to the column orders or visible columns that are saved to the profile. The change you do in the configuration is simply overridden by that personalization. 

Try to reset any setting in the column chooser and then `column visible = false` should hide your column. 


@tofuse 

 

But this is for a column that I would like to be viewed conditionally.  No modifications or overriding of things have been done because we are setting up converting to the cloud.  

 

But in an effort to try to see if it works by force, I reset the column chooser.  I then reverted everything in the designer back to default and saved.

 

I then re-added my field to the list.  I hard coded the “Column Visible” field true and the column does not show up..  I have not added the column via the Column Chooser as I would like it to be conditioned to specific “Contract” for what users can see.

 

I’d like to do a Context Mapping by Company and not do this at all, but since IFS does not recommend you put customizations on global (we have a number of things all of our companies use and then some individual company pieces), we have to have a singular Context with all these conditions now.

 

So is this just a misunderstanding on how this functionality should work on my part?  


Hi, 

Can we pick this apart into smaller pieces please. 

  1. When you add your column to the list in the Page Designer and set column visible to true, do you see the column in the preview then? I do expect you to be able to switch the column visibility on and of and you should see the column be shown or hidden accordingly in the preview. Of course, you need to drag the column to the front of the list so that the column fit into the visible number of columns in the list also. You are probably on top of this, but in lists, it is not only visible that determines if a column is visible. It is also the space available on the screen. 
  2. Then when you save your configuration and publish it. When you as administrator close the page designer. Is the column visible then. Perhaps the admin user is not mapped to your configuration context. Lets say that your config context is `XX`. Then you can add `;scope=XX` to your URL to verify that correct metadata context is loaded. The `scope` attribute on the URL is `context`. 
  3. So if the configuration is there but is not shown when a user is logging on to the system, then I suspect that you have a problem with the context mappings. Again, you can test to manually add scope to the URL for the user and verify that the field is shown if the correct meta is loaded. If this is the case but it does not work by default, then you should start by clearing the mappings cache. This needs to be done, when you have made changes to the mappings table. 
     

 

This is where I would start, when you have your list column visible for the group of users you want. Then you can continue with the dynamic part of the visibility. 


@tofuse First, I appreciate the time you are putting in to helping. 

 

In response to your breakdown.

  1. No, the preview does not show it.  And yes, I put it in my first column as a test as all can be seen here (also showing the Context it is in):
  2. I published the configuration and then put the ;scope=Chief and it still did not show it as shown here:

     And just to show the Confirmed Publish:

  1. We do have only the one Context Mapping as shown here:

           I did the Clear Mappings Cache as you suggested and even logged off and logged back in and             still no visibility.

 


I reviewed the page in question, Customer Orders, and found that the issue lies with the Field Ranking. Under the content node, there is an array called field ranking that determines the rank of the listed fields. This collection is typically used for a smaller set of important columns and also influences the order in which columns are displayed.

However, in the case of Customer Orders, a large number of columns have been included in this list. As a result, any new column you add will appear far down the list, even if you assign it an early ordinal value in the content collection. This explains why your column is not visible.

To resolve this, you can add your column to the field ranking and position it appropriately. There is, however, a caveat. When adding a field rank, the value picker lists all the entity attribute IDs, but the rank value must be the field name. This works fine if the field name matches the attribute. However, if the field name is different from the attribute, you will not be able to add a rank. (This is clearly a bug.) That said, it can be worked around by ensuring that the field name matches the attribute name.

Alternatively, you can address the issue by removing the majority of the ranks from the field ranking attribute.

regards/

Tobias


I have made a note that this is something that is probably a good idea to mention in the tailoring documentation.


@tofuse 


Thank you! That worked.  All I had to do was add that field to the Fieldranking array (for anyone else who needs this solution it is it’s own section like ‘Content’).  I didn’t have to sync it up with where I was putting the field in the over all content section.

 

Edit:

It does seem like there is an amount of columns that if you put the field after that number of columns it no longer shows up.  If I put it after the “Customer Order Line State Field Set” it doesn’t show up anymore.  It looks like it might be tied to the “default” number of columns in the “Table View”.  If I conditionally hide one of those fields then my field shows up again.  

 

Just some additional things I am discovering while playing around.


Reply