Re-Use instead of Build or how I implemented a complex filter functionality in a Sunday afternoon

Disclaimer: I know I’m not the first one to come up with that, but I keep on forgetting about it. I wrote that post to remind my future self.

Last week, Aaron asked me to add a “Mass Export Article PDF Functionality”.
The requirement is: “As a Business User, I can define a list of Knowledge Articles and Export all of them with a button click for archiving purposes.”

Aaron wasn’t the first person to ask. I never really was happy to put in the time of building full-blown filter functionality. Sounded very complex and prone to errors.
During our call, the idea of using Reports as the input came up.

Re-Using Reports sounded to good to be true. Reports are well known by all Admins as well as easy to build for integration. Win-Win!
A nice Sunday later the feature “Mass Export Article PDF Functionality” is on the AppExchange.

That got me thinking, how many other places I could start to re-use instead of build.

Reminders for the future:
1) Complex Business Logic: Plug an Admin defined Flow into my code
2) Filter functionality: Use Reports as input
3) Custom UI: Field-Set