Wigii® software ChangeLog

Actual major release: 4.8

Compatible with PHP 7.4

14.09.2021   Wigii 4.838 R2_87

- Wigii Live monitoring dashboard V1.
- add PWA css management
- pwa complete installer and launcher
- pwa and CMS js asset infrastructure
- example.htaccess: Remove deprecated directive track_errors
- CliExecutor: added command genAES256IV to generate an initialisation vector for AES 256 CTR encryption

01.09.2021   Wigii 4.837 R2_78

- SessionAdminService, SessionAdminServiceImpl: enables storage of encrypted strings into session
- Model: add methods encryptValue, decryptValue, decryptArray to easily store secured field values into memory and in session
- AttributsHtmlSessionList: encrypts data stored into session to keep list of options confidential
- UserDetail: encrypts sensitive data into memory and in session
- WigiiFL: sysEncryptDbPassword: returns an encrypted version of the DB password
- start.php / start_cli.php: if DB_ENCRYPT_PWD=true, then DB password should be stored encrypted into start.php file
- make indicators shown on demand if indicatorList_collapsed="1"

24.08.2021   Wigii 4.836 R2_73

dev in progress: preparation to PHP 8 migration

15.07.2021   Wigii 4.835 R2_63

- Start of development of wigii mobile PWA
- WigiiMedidataFL: add customer order subject, info and annexe info in Medidata invoice remark
- MedidataPrintInvoiceRequest: print invoice remark in TG reimbursment claim or TP invoice copy

 

New FuncExp: prependMapKey

 

08.07.2021   Wigii 4.834 R2_52

- config.xml, AddElementFormExecutor, AddSubElementFormExecutor, FiltersFormExecutor: for now: prevent js caching of searchActivity and element add form; activates js caching for drop-downs.
- EmailServiceWebImpl: detects invalid email domains and notifies sender of invalid recipients emails
- FiltersFormExecutor: implement searchActivity js cache refresh
- WigiiCoreExecutor: computes ElementInfo for selected multiple elements to allow FuncExps to persist elements during calculation process.
- WigiiCoreExecutor: fixes js cache key for element add form;
- AttributeExpConfigController, AttributsHtmlSessionList, WigiiCoreExecutor, TemplateRecordManager: signs drop-down cache content to enable cache invalidation when drop-down content change
- AddSubscriptionFormExecutor: saves subscription element id in EmailService db table
- ModuleAdminService: exports method getModuleFromSelectedElements from impl to interface.
- WigiiEmail, WigiiEmailWebImpl: added method removeRecipient
- ElementPAdvancedListArrayImpl: supports ElementInfo calculation when adding ElementP to the list
- WigiiForm.js: manages drop-down cache signature and invalids cache when content is deprecated
- WorkZone.js: uses searchActivity js cache if available and active

28.06.2021   Wigii 4.833 R2_50

- WigiiBPL: groupSyncElementsWithFileSystem: bug fix for autopullin: encrypt file if file encryption is active; inserts element in db to ensure file data integrity
- ElementDFA, AuthorizationServiceImpl: bug fix: stamps element after it has been inserted in db and reloaded, and before it is pushed further in the data flow

- allow js regex match syntax to use \ in CMS js code type articles

17.06.2021   Wigii 4.832 R2_48

- WigiiBPL: sendEmail: supports adding attachments to email through PHP template code; supports sending cancellation at runtime
- WigiiFL: sysSendEmail: supports defining email address, subject and content in wigiiBPLParameter bag instead of passing on command line
- WigiiAPI.js: added method htmlNbsp
- AddSubscriptionFormExecutor, WigiiBPL: refactored mail merge array into WigiiBPL::buildMailMergeArray method
- PrintElementFormExecutor: push language to browser to allow translation from js code
- ExternalAccessEditFormExecutor: commented deprecated code
- correct obfuscateEmails to manage multiple times the same email
- remove a console.log in WigiiCMSElementEvaluator

 

New FuncExp: ctlRecalcField

02.06.2021   Wigii 4.831 R2_43

- correct lazy loading of image in WigiiCMSElementEvaluator to manage if image has class attribute
- FuncExpBuilder, functions: added function lxInTimeRange
- AddSubscriptionFormExecutor: fixes custom mail merge in case of non-existing fields
- WigiiAPI.js: added onEndOfTyping event for text inputs
- wigii-ncd.js: added Geom 2D functions

 

New FuncExps: lxInTimeRange, jsFormSetVar, sysFxSecret, discount, tax

17.05.2021   Wigii 4.830 R2_40

- AddSubscriptionFormExecutor: considers config parameter Subscription_mailMerge to inject custom mail merge keys into confirmation email body
- PrintElementFormExecutor: inject current principal into TRM when printing with templates
- Files_displayValue.tpl: if noDownloadButton=1, then do not show file name as an hyperlink
- Readme/Wigii 4 Configuration manual: fresh dump from resource.wigii.org

 

New config parameter: Subscription_mailMerge

 

New FuncExps: sysExecVar, sysExecSetVar

04.05.2021   Wigii 4.829 R2_38

- Added creditcards icons
- WigiiCoreExecutor: /wait action: supports temporizing following action until end of execution
- WigiiAPI.js: fixed activityDialog OK and Cancel button lookup when workzone view docked.
- WigiiMedidataFL: takes CustomerOrder totalAmount instead of dueAmount for Medidata dueAmount to allow generating total reimbursement claim even if instalment is paid by customer
- DetailRenderer: show in print, fields with displayHidden=1 and notHiddenInPrint=1
- FormRenderer: if field with subfields and isInLine=0, allows to display not "in line"
- PrintElementFormExecutor: catches all exceptions thrown by custom print template and publishes them in server log; do not show an uncatched fatal error to user
- PhpStdFL: new FuncExp base64url_decode
- Added management of noAutoPrint module parameter

13.04.2021   Wigii 4.828 R2_34

- RecordEvaluator: recurringController: added onRecurringInstanceInsertExp callback to allow custom callbacks when recurring instances are created (for example, used on module Events to manage reminders)
- NotificationService: set public access on methods getButtonViewElement, getButtonAccess, wrapButtonAccessForEmail to factorise Wigii access button look & feel in wigii outbounding emails.
- RecordEvaluator, FuncExpVMStdFL: fixed isNull, isNotNull FuncExp to support MultipleAttributs array of type [0]=''; fixed addVal FuncExp to avoid duplicates if same value is added two times
- WigiiCoreExecutor, FiltersFormExecutor, ExecutionServiceWebImpl: pushes searchActivity cache key to browser
- moduleToolsBar.bsp: if group config changed, then invalids searchActivity cache
- dico.txt: added organizedBy, reminderOfElement, reminderTitle + fixed typo
- ActivityRecord: added data type in return comment

07.04.2021   Wigii 4.827 R2_31

- config.xml : prepares rollout of pilot phase for js caching of html drop-downs.
- TemplateRecordManager, WigiiForm.js, FormRenderer, Attributs_displayForm.tpl, MultiplAttributs_displayForm.tpl: manage js caching of html drop-downs.
- WigiiCoreExecutor: added action refreshDropDownCache to ask for drop-down cache refresh on browser from user's session
- WigiiAPI.js: parseUpdateResult: handles HtmlCache answer to automatically update js cache on push from server
- AttributeExpConfigController: activates jsCacheKey tagging on drop-down options for js caching of html drop-downs
- WigiiFL, WigiiCoreExecutor: extended ctlClearCache FuncExp and clearConfig method to invalid drop-downs js cache in session and on browser
- WigiiCoreExecutor: removed deprecated code (old wakeup code, moved to BackendServiceFormExecutor since 12.10.2020)
- add lazyLoading for images and iframes in WigiiCMSElementEvaluator
- extend StandardStatisticsDFA with setDimensionFieldNames($fieldNamesArray)

29.03.2021   Wigii 4.826 R2_24

- Apply rounding to cents on amounts operations

23.03.2021   Wigii 4.825 R2_21

- config.xml, configPack/configPack-readme-PNew.html: Scripting activity for upgrade instructions: supports automatic filtering of list view
- FuncExpVMStdFL: fixed logIsMultipleVAT logic
- WigiiAPI.js: added htmlEntityDecode method; fixed ok and cancel button accessors on query editor
- RecordEvaluator, FuncExpVMStdFL: implode FuncExp: supports more than 2 levels of array imbrication
- WigiiMedidataFL: controls street length to max 35 chars of any entity adresses (insurance, patient, debitor, etc.)
- FormExecutor: added method addErrorsToFields
- FormException: added code FORM_HAS_ERRORS and get/set FormFieldsErrors
- RecordException: added code MISSING_MANDATORY_FIELD
- ArgValidator: added methods checkFieldNotNull, assertFieldNotNull
- Record: added method exportMatrixAsStdClass
- ElementDFA: added element statistics capturing
- WigiiAPI.js: added methods txtHashTag, numEq
- DataFlowServiceImpl, UserAdminServiceImpl, ArgValidator: fixed typo

 

New FuncExps: ctlIsFormOnStart, ctlIsFormOnCheck, logIsMultipleVAT

15.03.2021   Wigii 4.824 R2_20

- moduleView.tpl, ListContext: enhanced module view to support 'Switch view' menu at group configuration level
- index.php: enforced security by upgrading session cookie to secure=1, httponly=1 and samesite=Lax
- AuthenticationServiceWebImpl: fixes Wigii credentials cookie to site root alias if defined
- Booleans, Floats, Numerics, Strings, Texts, Varchars form fields: fixes field content cookie to site root alias if defined
- Urls: checkValues: allows spaces in URL
- WigiiAPI.js: FormHelper: fixed ok and cancel buttons accessors to support element forms displayed in activity dialog.
- addons/Medidata/WigiiMedidataFL: added tarif code 452 mapped to LiMA law

 

New DataFlow activity: ValueListBufferDFA
New FuncExp: buildUrlFragment

10.03.2021   Wigii 4.823 R2_17

- PrintElementFormExecutor, WigiiCoreExecutor: added autoPrint configuration option, active by default on element standard print.
- GroupAdminService, GroupAdminServiceImpl, AuthorizationServiceImpl: added method doesGroupContainElement
- ElementFileAdminService: walkthroughUserFiles: fixed path sanitization

08.03.2021   Wigii 4.823 R2_15

- ClientAdminServiceImpl, functions wigii_ec_rename, wigii_ec_copy: refactored Wigii Encryption Layer to handle encryption of large files (more than 150Mo); max file size allowed for encryption is linked to PHP ini upload_max_filesize
- FormExecutor: manageUploadedFileForm: calls ClientAdminService::initializeEncryptionLayer to prepare into memory openssl encryption library before persisting uploaded file.
- ElementFileAdminService: method walkthroughUserFiles: call PHP GC after each file visit to keep memory consumption low during batch run
- Added function File::upload_max_filesize to get the max allowed size of uploaded files in bytes
- RecordEvalutator: FuncExp fillActivityFromUrl: fixed automatic creation of dynamic attributes
- ActivityRecord: added interface compatible with Element dynamic attributes methods to ease business coding simultanuously on Elements and Activity records

03.03.2021   Wigii 4.822 R2_14

- FormChecker: Emails multiple: show invalid emails detected in list and auto-cleans form field
- Emails: checkValues: keeps track of invalid emails
- FormCheckerException: added error code INVALID_MULTIPLE_EMAILS, added errorDetail field to carry FormChecker contextual information when error occurs.
- Model: added function acceptValidEmails; enhanced function validateEmails to return a list of detected invalid emails
- ClientAdminServiceImpl: encryptKeyStore: fixed non-re-encryption of keystore
- WigiiMedidataFL: ignores empty lines in street sub adressing
- AttributeExpConfigController: rollback dev in progress for Attributs/MultipleAttributs js caching

24.02.2021   Wigii 4.822 R2_11

- WigiiCoreExecutor: listView: if sorting key changes then removes any group by
- Element: added in memory attribute discardFromMultipleUpdate to indicate to ElementService to discard persisting element in case of a call to updateMultipleElement
- Enhanced FuncExp sysMultipleSelection to return at choice, an array of element IDs or an ElementPList
- ElementServiceImpl: updateMultipleElement, getSqlForUpdateMultipleElement: handles discardFromMultipleUpdate element attribute
- TemplateRecordManager, AttributeExpConfigController, Attributs_displayForm.tpl, MultipleAttributs_displayForm.tpl: Dev in progress for Attributs and MultipleAttributs html caching in js browser cache
- ClientAdminServiceImpl: Wigii Encryption Layer: refactored keystore persistence into private method persistKeyStore
- EmailsFromImapDataFlowConnector: fixed email parsing of type MIXED, with no body and only attachments
- Wigii Live Monitoring dev in progress
- ConfigurationContextImpl: when calling ma method, ensures mf method has been called at least once to guarentee that module fields are loaded, even if current config is a group configuration
- Start of Wigii trunk versioning on Wigiipole2 at Wigii.org. Migrated from GitHub master repository https://github.com/wigii/wigii G778.

 

New FuncExps: elementSubList, multipleSelectionElementP

02.02.2021   Wigii 4.821 G776

- FiltersFormExecutor: considers sortingKey and groupByKey parameters on SearchActivity fields
- config.xml / SearchActivity: move grouping and sorting to advanced filters section
- WigiiCMSElementEvaluator: fixed method copyFileToClientWebFolder to be compatible with Wigii Encryption Layer; fixed fatal error if sitemap without any introduction element
- WigiiFL: enhanced FuncExps countElements and elementExists to support usage of Root principal if needed
- FieldSelector, FieldSortingKey: added helpers buildKey and getDirection

 

New config parameters: sortingKey and groupByKey that can be added to SearchActivity fields or attributes to influence the list view sorting and grouping when searching by this field

25.01.2021   Wigii 4.820 G774

- ExecutionServiceImpl: added method getPrincipalExternalLabel to fetch a human friendly label of real user behind current principal
- RecordEvaluator, NotificationService, FuncExpVMStdFL, WigiiBPL: modified add comments, notifications and history tracking to use the ExecutionService::getPrincipalExternalLabel method instead of raw username.
- config.xml: field attribute expandOnMultipleColumn can be dynamic
- addons/NCD/AgileStoryBoard: changed border color of Tasks with priority P1 to yellow
- WigiiAPI.js: added method FieldHelper::disable to dynamically disable or enable a field, following Wigii form styling and standard
- example.index.php, example.htaccess: enforced security by removing or commenting lines of code which are not strictly necessary for Wigii server to run into production
- addons/NCD/wigii-ncd-stdlib.js, wigii-ncd-stdlib.css: AgileStoryBoard: maps Wigii Tasks priority to priority class and colorizes tasks by priority
- FiltersFormExecutor: added /find/elementByKey url to display an element detail given a business key
- WigiiAPI.js: showElement: supports passing a business key instead of element ID to fetch and display the element detail
- CliExecutor: added commands listHashAlgos, hashFile, checkClientFiles, encryptAllClientFiles, removeClientFileEncryption, renewClientFileEncryptionKey
- ElementFileAdminService: added method walkthroughUserFiles to execute a callback on each client file
- ClientAdminServiceImpl: release Wigii encryption layer on client files
- BackendServiceFormExecutor: runs encryption backend tasks
- ServiceProvider, CreditServiceImpl, CreditServiceException: handles CreditService implementation and instanciation
- AttributeExpConfigController: considers cacheKey xml attribute on attributeExp to define a custom cache key (instead of FuncExp signature)
- configs/Example/config.php: added ENABLE_ENCRYPTION_ADMIN_CLI=false
- _cliImplExecutor/main: fixed missing TEST_ON=false
- ElementEvaluator: fixed module null pointer exception in cfgParam and cfgParamExp FuncExps
- StandardStatisticsDFA: fixed missing unset of private variable

 

New classes: CreditService, WigiiCredit and WigiiTimer
New FuncExps: cfgAttrExtendedDimension, cfgCurrentListContextGroup, sysEncryptAllClientFiles, sysRemoveClientFileEncryption, sysRenewClientFileEncryptionKey
Readme/Technical Documentation: release 'Wigii Encryption concepts'

Archive of previous change log

Up to 2015 on code.google.com

Up to Jan 2021 on github.com