Missing data after DFFS form is loaded

Forums General discussion Missing data after DFFS form is loaded

Viewing 3 reply threads
  • Author
    Posts
    • #34063
      Martin Čuchran
      Participant

      Hi Alexander,

      we have receiving incidents from several customers, that sometime when they open editform some of SP data are not loaded correctly and fields stayed empty.

      This problem occurs mainly for PeoplePickers (we use MISC timeout option – 2s) and also for Choice fields. After that when field is readonly and users save the form with empty fields, stored data are lost.

      We also found out that problem occurs even when use Google Chrome “Duplicate Tab” feature. After opening editform in duplicated tab data are not loaded correctly, choice fields are null.

      Could you please check on this?

      DFFS version:
      DFFS v4.4.5.9
      CSS version: 4.50
      spjs-utility version: 1.348
      Loader version: v2

      I have attached some screenshot and also created video how to reproduce error. I can share video in private chat/email communication if needed.

      Attachments:
    • #34066
      Alexander Bautz
      Keymaster

      I’m afraid I don’t have any solution to the duplicate tab issue. I have seen this myself, but I’m not really not sure why the browser messes with the field values on load of the new duplicated tab.

      It might be because of how the browser saves the state of the page when DFFS is applied, but reapplies it before DFFS has finished loading in the new tab – the order of the fields will be different than the tab that is cloned until DFFS is loaded.

      Do you use a 2000 millisecond timeout? – that should be more than enough for letting the people pickers fully render.

      If you are experiencing this issue yourself, could you possibly hit F12 to bring up the developer console, select Console and type in this to see if the value of the readonly people picker is actually identified on load:

      spjs.dffs.beforeProperties.YOUR_PEOPLE_PICKER_FIN

      Replace YOUR_PEOPLE_PICKER_FIN with the internal name of your field.

      You can email any details to the email address you receive this notification from.

      Alexander

    • #35364
      Martin Čuchran
      Participant

      Hi, Alexander,

      when “missing data” occured it depends on situation. For Choice values spjs.dffs.beforeProperties.<fin> is equal null value instead of saved data. For People picker values spjs.dffs.beforeProperties is ok, but Read Only field is empty.

      In Misc we are using 2000-5000 value, depends on customer. But this problems occurs more often. We have customers with 100+ fields 10+ vlookups in form, loading of form is extremely slow. Is there some possibility of optimization (slow network, slow CPU)?

      M.C

    • #35368
      Alexander Bautz
      Keymaster

      Loading large forms with many fields will be slow – especially when using many vLookups and cascading dropdowns / autocompletes or other custom js that runs additional queries.

      You can speed up the loading by splitting the form into tabs and having some vLookups in separate tabs – the vLookups are lazy-loaded they will not render until they are visible.

      The beforeproperties object is used in different internal functions in DFFS, but is not used when saving the item – this is entirely done with the standard SharePoint save functionality.

      The fact that the beforeproperties object is missing some values is most likely due to the number of fields in the list and built in restrictions in how many fields of type lookup (lookup, people picker and managed metadata) a single query can retrieve. If you type in this in the console:

      spjs.dffs.beforeProperties

      and do a quick scan of the fields and values – what fields or values are you missing? – are the fields missing values of the lookup type?

      Also open the developer tools and have a look at the console when loading the form – any error messages?

      Alexander

Viewing 3 reply threads
  • You must be logged in to reply to this topic.