What’s a Rich Text element?
The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.
Static and dynamic content editing
A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel.
- my first list item
How to customize formatting for each rich text
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector
A few days ago, a discussion about the technical complexity of different software domains nudged me to write a blog post about Time & Attendance software challenges. Who knows, maybe it will be a series of blog posts about other domains as well. I’ve picked T&A for the starters because it happens to be one of the things I’ve been designing and developing not so long time ago.
The T&A system, in general, gives an employee legal proof that he was at a certain point in time in a certain location. Then, to put it simply, of all the entries and exits, it calculates the work and break hours. This information is sent to the payroll system that converts durations into salary.
The T&A systems are gaining popularity because, on one hand, they are helping corporations to cut costs on unnecessary labor. On the other hand, they protect employees from overwork and enforce fair pay for all the overtimes.
As with any software domain, T&A systems are a great puzzle. Here is my list of the biggest and the most interesting technical challenges you will face there.
understanding the complexities
Something that is on the surface – working with really complicated calculation logic. The calculus of the specific property may depend on the day of the week, the day of the year, the day when the person joined the company, the number of working hours this week, hours since exit on the previous day shift, and so on and so on. Also, some properties may depend on one or several other properties. Keep in mind that people pay a lot of attention to the calculation results because they directly affect their salaries. Sometimes, even misunderstanding can lead to a lot of emotions and stress, or worse – can get you sued.
managing vast amount of data
But there is much more to it. You operate with a lot of data. To close the shift, you need to do at least 4 punches – entry, break start, break end and exit. So, you get 4 punches per day, 20 punches per week, 80 punches per month, 960 punches per year. In general, a company of 100 employees, on average, generates 100-150k punches per year. For that, they'll pay you 3-8 $/user/month. Keep in mind that in some countries, by law, you need to store punch data for 3-5 years. This leads us to the next challenge.
addressing privacy and data localization
Because of GDPR and similar privacy protection laws, your system has to be distributed in some way. Most of these laws state that personal data can not leave the country or union. As you know, distributed systems are hard to maintain and hard to update, especially if you have many different clients – mobile apps, integrations, third parties, etc.
patterns in data entry
Next challenge – data entry patterns. It should not come as a surprise that people usually come to work at relatively the same time. I mean, literally, the whole country (even if it has like 3 time zones) comes at 8 and then some at 9. If you display punch time on the charts, you'll see 4-6 HUUUGE spikes and an almost flat line during the rest of the day. You may say, ok, but I don't want it "realtime", I'll collect it once a day/week/month. Your choice, but this decision may even intensify the issue. Most submissions will likely occur just before deadlines, while those who submit will demand immediate calculation results. Additionally, any data that is not yet synchronized will likely get lost because of device failures, integration, or synchronization issues.
security and fraud prevention
And last but not least – fraud and data verification. Clients usually expect security in any product, and a "secure" Time & Attendance (T&A) system holds a competitive edge. At the same time, there are a lot of cheaters out there who would be happy to bypass your security and "steal" some money from their employer. These cases range from an employee punching instead of a colleague to creating and using a fake identity. Does not matter what technology you are using, be prepared to step into that cat-and-mouse game. One case involved Karlee Besse who sued her employer, Reach CPA Inc., in Canada for wrongful dismissal. The funny thing was that it turned into a time theft case when they found out she didn't accurately report her work hours. She had to pay back $1,506.34 for 50.76 hours of work she didn't log correctly. Her argument was that she had completed tasks that did not require her to use any software, such as printing paper copies. But, who knows for sure when there is no digital footprint left, right?