A critical vulnerability was discovered in React Server Components (Next.js). Our Systems Remain Fully Protected. Learn More.
AI OnAI Off
A critical vulnerability was discovered in React Server Components (Next.js). Our Systems Remain Fully Protected. Learn More.
51 requests are made to
LoadSubmissionFromStorageinIPermanentStoragewhen rendering the form submissions table in edit view. One request fetches all the submission data for the table, and 50 requests are made for the 50 days in the form submission chart fromEpiserver.Forms.Core.Data.FormdataRepository.GetSubmissionDataCount.When implementing encryption of form submissions, if one does not want the drawbacks of the encryption method included out of the box (https://devblog.gosso.se/2017/12/encrypting-form-submissions-episerver-forms/), one can implement encryption in a custom implementation of
IPermanentStorage.However, if
LoadSubmissionFromStorageis supposed to return decrypted data, the decryption process is initiated 51 times. Encryption keys are fetched for each submission (could be many) and each submission data field (many submissions, each with many fields) is decrypted. This is resource-intensive and does not scale well.DdsPermanentStorage(default implementation ofIPermanentStorage) simply returns anIQueryablewith the form submission. On the other hand, our custom implementation ofIPermanentStoragehas to decrypt the data first in order to deliver on the method name - loading the submissions from storage.Is it possible for
Episerver.Forms.Core.Data.FormdataRepository.GetSubmissionDataCountto simply use another method thanLoadSubmissionFromStorageto get the submission count?For instance, a new method named something like
CountSubmissionsInStoragecould be implemented inDdsPermanentStorageby callingLoadSubmissionFromStorage, since there is no decryption overhead associated with the request. This would enable us to return the submission count in a custom implementation ofIPermanentStoragewith significantly less overhead, and without loading the actual submissions from storage and decrypting them only to find the number of submissions.Best regards,
Eivind