Page 1 of 1

Many things can go wrong here

Posted: Sat Dec 14, 2024 10:18 am
by Decjkf
Let’s say you’re importing user-generated content from an e-commerce site. Someone left a review on a product with a thousand chocolate bar emojis which works fine in the source system. But maybe at some point there were some workarounds and the chocolate bars aren’t really chocolate bars because the old system doesn’t work with the UTF-8 character set . So instead of they are stored as placeholders like :candybar: in the source data.

No problem. Our import process can handle this, by italy girl whatsapp number converting them from placeholders to actual chocolate bars. The content field now looks as it should, but wait a minute... why isn't the user's avatar image showing up? Oh, we decided to store the file based on the username, and our file storage doesn't allow for storing a file like 氷の男.png. Easy, just run it through a hash function and save it as f07db9de.png.

Image

Perfect! The comment field and image are displayed just as you would expect in the back office. But huh? Now we're getting reports from the user acceptance testing team that they're seeing boxes instead of chocolate bars? Ahh, no big deal, it's just that the font we've selected doesn't support emojis and they appear as unknown characters. Our design team and front-end developers can switch to a variant that does support them.

And now, finally, everything that could (and did) go wrong in our fictional case has been fixed and we are ready to go. The difference from the process (big bang vs. gradual) is that all of these issues could have hit us at the same time with fifteen other similar issues. It would have been an overwhelming amount of work to fix "such a simple thing like that." With daily incremental imports, this is more likely to have surfaced earlier and with enough time to handle the issue before production launch.