When I reach out and ask the community what they would like me to share, I primarily get asked for Best Practices. For a time I have rejected the idea of sharing those in too much detail as I consider Best Practices to be part of the value proposition of a consultant practice. It's taken years to forge and sharpen those practices and they therefore have value. We continue to challenge those and update as new scenarios, tools, and skills evolve over time. But I continued to think about this and have had a change of opinion.
I recently received a few requirements for a project related to security of passwords.
If a user attempts to change their password and reuse three of the same characters in sequence, the password change should be rejected.
- Example: ‘!abc1abc4’ is rejected because ‘abc’ is repeated somewhere in the string
If a user attempts to change their password and has in common a 6-character sequence with their user name, the password change should be rejected
- Example: User name = ‘pgriffin’ and the new password is ‘!3riffin#$’, it is rejected because ‘riffin’ is consistant in both
In this post I will detail how I solved it with one microflow and then how I optimized it. If you like to dive into the weeds, read along!
There will come a point during your project where the users will start to ask about getting information back out of this new, slick Mendix application that they are all putting data into. As a BI professional, I’m not talking about OLAP models and prediction modeling. OLTP (On-Line Transactional Processing) applications like the ones you build with Mendix are all about data capture and workflow transformation. But every mature application offers its users some ability to report on the information within it. I’m going to describe one method I use for building these reports in this post, so if that interests you read on!
This past week I encountered a problem that I was at my wits end to solve. The problems was this: Randomly, a process wouldn't work. The same code was getting executed by the press of a button, but sometimes it just wouldn't work. Was something wrong with the engine in the Cloud since it always worked in local testing? After a brief discussion with a few members of Mendix’s own Success Team, we were able to find the root cause and redesign to care for the issue. Read on and hopefully I'll save you from some similar headaches.