How to copy Company and Person screen customizations after upgrading to new version of CRM

Hi.

So, I'm a bit confused about this article I found: https://help.sagecrm.com/on_premise/en/2024R1/Dev/Content/Developer/CM_FAQs.htm
I
 followed the steps and opened the .es file to see what was in it.

However, all I really want to do is simply copy my screen customizations. 
Is there an easier way to do this without having for us to recreate the screens?

Let me know if anyone has an easier method - e.g. copy a directory or a view?

Thanks,

Stephane

  • 0

    Hi Stephane

    The heart of the "problem" is what allows Sage CRM's screens to be easily changed.  We use the concept of metadata.  The definitions of fields, the screens and the columns in lists are defined inside the database itself.  The properties of those fields and columns are all stored in the metadata.  This is everything from the caption, the relative position on the screen and the absolute characteristics of the field or column itself.  That's the widths, the values in selection lists, etc are all turned into metadata.  The metadata is stored as rows across different tables. 

    For example, if I create a new column in the company table through the interface e.g. comp_custcode and add it to the main screen, this will typically mean a row is created in  the following tables, custom_edits, custom_captions, custom_screens and because the field's addition to a screen will affect the whole screen other records in the custom_screenobjects  and custom_screens tables will be updated.

    Sage CRM can be configured so that all these updated and new records in metadata are labelled as belonging to a component.  The idea of the component manager feature is to allow all of those metadata changes to automatically generate the code that can be played into another system so that other instance of Sage CRM can have the changes made to it.  It's a bit like a macro.  It is not as hard to use as it looks.  You need to get used to it.

    Here is a video lesson about using the component manager:  Sage CRM: Developer Training (Component Manager) Part 11 of 18 (youtube.com)
     

  • 0 in reply to Sage CRM

    Following on from Sage CRM's response, in summary what you can do with forward thinking is before you did any changes, you could go to Admin | Customisation | Component Manager and tell it to start a new component recording. 

    Then go and do the changes you want to do - creating fields, changing the screen layout etc. 

    Then you 'stop' the recording and script it out. With that component you can then take it to another system and install it and it will recreate the fields, the screen adjustments etc. 

    The only problem here is that you have to organised and remember to do this prep work. 

    Doing it retrospective - is possible, you can take the script file and edit it yourself to make it create fields and adjust captions etc. I've done it in the past, it's hard work but definitely possible.

  • 0 in reply to Matthew Shaw

    Hi Mathew

    Its not too bad to 'retrospectively' add things to a component.

    There are two ways of doing it.

    1) Create a new empty component, make sure that it is the current component being used and then go into each of the fields, screens and lists that you want tagged as belonging to that component and 'save' them.  This updates all the custom_edits, custom_captions, Custom_screenobjects, custom_screens, and custom_lists etc with the tag.  You then can script out the component as before.


    2) The other way is to use the 

    Administration → Customisation → Component Manager

    Advanced Options in that screen you can create a new component and then specify all the changes that have taken place within a time period to be added to that component.