{"users":[{"id":4,"username":"Teodor","name":"Teodor Kuduschiev","avatar_template":"/user_avatar/community.wappler.io/teodor/{size}/56159_2.png","admin":true,"moderator":true,"trust_level":3},{"id":18902,"username":"Roney_Dsilva","name":"Roney Dsilva","avatar_template":"/user_avatar/community.wappler.io/roney_dsilva/{size}/55397_2.png","trust_level":2},{"id":-1,"username":"system","name":"system","avatar_template":"/uploads/default/original/3X/5/1/5108213e1448c3f2e428c71aed1c4c5f6afdbe81.png","admin":true,"moderator":true,"trust_level":4},{"id":19857,"username":"Cheese","name":"Cheese","avatar_template":"/user_avatar/community.wappler.io/cheese/{size}/60480_2.png","trust_level":3},{"id":137,"username":"ben","name":"Ben Pleysier","avatar_template":"/user_avatar/community.wappler.io/ben/{size}/51152_2.png","moderator":true,"trust_level":4},{"id":418,"username":"Hyperbytes","name":"Brian English","avatar_template":"/user_avatar/community.wappler.io/hyperbytes/{size}/76947_2.png","flair_name":"wappler_ambassadors","flair_url":"bullhorn","flair_bg_color":"D83D33","flair_color":"ffffff","flair_group_id":46,"moderator":true,"trust_level":2},{"id":59,"username":"brad","name":"Brad Lawryk","avatar_template":"/user_avatar/community.wappler.io/brad/{size}/91231_2.png","trust_level":3},{"id":5217,"username":"mebeingken","name":"Ken Truesdale","avatar_template":"/user_avatar/community.wappler.io/mebeingken/{size}/11883_2.png","trust_level":2},{"id":11255,"username":"karh","name":"","avatar_template":"/user_avatar/community.wappler.io/karh/{size}/54269_2.png","trust_level":2},{"id":4921,"username":"TMR","name":"Tom Rigg","avatar_template":"/user_avatar/community.wappler.io/tmr/{size}/65603_2.png","trust_level":3},{"id":6149,"username":"JonL","name":"","avatar_template":"/user_avatar/community.wappler.io/jonl/{size}/63840_2.png","trust_level":2},{"id":14065,"username":"jellederijke","name":"Jelle de Rijke","avatar_template":"/user_avatar/community.wappler.io/jellederijke/{size}/76954_2.png","trust_level":3},{"id":15739,"username":"htatd","name":"Tony","avatar_template":"/user_avatar/community.wappler.io/htatd/{size}/46386_2.png","trust_level":3},{"id":10991,"username":"jmartland22","name":"Jamie Martland","avatar_template":"/user_avatar/community.wappler.io/jmartland22/{size}/32517_2.png","trust_level":2},{"id":19780,"username":"daves88","name":"David","avatar_template":"/user_avatar/community.wappler.io/daves88/{size}/60619_2.png","trust_level":2},{"id":12388,"username":"dbatesmdbctech","name":"Dennis Bates","avatar_template":"/user_avatar/community.wappler.io/dbatesmdbctech/{size}/67116_2.png","trust_level":2},{"id":219,"username":"turn3636","name":"Chris Turner","avatar_template":"/user_avatar/community.wappler.io/turn3636/{size}/4076_2.png","trust_level":3},{"id":249,"username":"sitestreet","name":"Jon Stanton","avatar_template":"/user_avatar/community.wappler.io/sitestreet/{size}/466_2.png","trust_level":2},{"id":19239,"username":"Eric_F","name":"","avatar_template":"/user_avatar/community.wappler.io/eric_f/{size}/33879_2.png","trust_level":2},{"id":6246,"username":"mgaussie","name":"","avatar_template":"/letter_avatar/mgaussie/{size}/5_d44a9b381edc88181525e3c8350177ca.png","trust_level":2},{"id":16730,"username":"Apple","name":"","avatar_template":"/user_avatar/community.wappler.io/apple/{size}/67894_2.png","trust_level":3},{"id":17387,"username":"tbvgl","name":"Tobias Vogel","avatar_template":"/user_avatar/community.wappler.io/tbvgl/{size}/49894_2.png","trust_level":2},{"id":5116,"username":"sid","name":"Siddhant","avatar_template":"/user_avatar/community.wappler.io/sid/{size}/11484_2.png","trust_level":2},{"id":15827,"username":"jimed99","name":"","avatar_template":"/letter_avatar/jimed99/{size}/5_d44a9b381edc88181525e3c8350177ca.png","trust_level":2},{"id":17745,"username":"Future","name":"Anthony Latour","avatar_template":"/user_avatar/community.wappler.io/future/{size}/65097_2.png","trust_level":2},{"id":217,"username":"Dave","name":"Dave","avatar_template":"/user_avatar/community.wappler.io/dave/{size}/56341_2.png","moderator":true,"trust_level":3},{"id":226,"username":"scott","name":"Scott Burk","avatar_template":"/user_avatar/community.wappler.io/scott/{size}/91007_2.png","flair_name":"wappler_ambassadors","flair_url":"bullhorn","flair_bg_color":"D83D33","flair_color":"ffffff","flair_group_id":46,"trust_level":3},{"id":908,"username":"NewMedia","name":"","avatar_template":"/user_avatar/community.wappler.io/newmedia/{size}/60446_2.png","trust_level":2},{"id":4120,"username":"bpj","name":"Ben","avatar_template":"/user_avatar/community.wappler.io/bpj/{size}/21968_2.png","trust_level":2},{"id":22,"username":"transcoderm","name":"","avatar_template":"/user_avatar/community.wappler.io/transcoderm/{size}/13589_2.png","trust_level":2},{"id":16,"username":"Mozzi","name":"Reinhardt","avatar_template":"/user_avatar/community.wappler.io/mozzi/{size}/32808_2.png","trust_level":2},{"id":2,"username":"George","name":"George Petrov","avatar_template":"/user_avatar/community.wappler.io/george/{size}/408_2.png","admin":true,"moderator":true,"trust_level":3},{"id":3,"username":"patrick","name":"Patrick Woldberg","avatar_template":"/user_avatar/community.wappler.io/patrick/{size}/20583_2.png","admin":true,"moderator":true,"trust_level":2}],"primary_groups":[],"flair_groups":[{"id":46,"name":"wappler_ambassadors","flair_url":"bullhorn","flair_bg_color":"D83D33","flair_color":"ffffff"}],"topic_list":{"can_create_topic":false,"more_topics_url":"/c/wappler-extensions/54?page=1","per_page":30,"top_tags":["nodejs","serverconnect","extensions","appconnect","custom-modules","ui","php","summernote","wappler-extensibiliy","not-a-bug","ai","auth-code","bootstrap","clicksend","elastic-search","encryption","github","joke","lightdark-mode","log","login","new-standard","pdf-creator","proposal","push-notifiations","qrcode","question","redirect","redis","server-action","server-side-cache"],"topics":[{"fancy_title":"About the Wappler Extensions category","id":26436,"title":"About the Wappler Extensions category","slug":"about-the-wappler-extensions-category","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2020-10-28T09:18:04.337Z","last_posted_at":"2020-10-28T09:18:04.352Z","bumped":true,"bumped_at":"2024-07-10T07:24:31.199Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":"Use this category to ask questions, discuss and share any custom modules and formatters you've created. \nPlease check the available documentation explaining how to extend Wappler by creating custom mo…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":1889,"like_count":2,"has_summary":false,"last_poster_username":"Teodor","category_id":54,"op_like_count":2,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"Use this category to ask questions, discuss and share any custom modules and formatters you&#39;ve created. \nPlease check the available documentation explaining how to extend Wappler by creating custom modules and formatters&hellip;","last_post_id":112840,"topic_post_id":112840,"topic_post_liked":false,"topic_post_like_count":2,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":true,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":4,"username":"Teodor","name":"Teodor Kuduschiev","avatar_template":"/user_avatar/community.wappler.io/teodor/{size}/56159_2.png"},"can_vote":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":4,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Custom AC Formatter - Type Checker","id":52278,"title":"Custom AC Formatter - Type Checker","slug":"custom-ac-formatter-type-checker","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":"https://community.wappler.io/uploads/default/original/3X/b/5/b577daff074bf3ef6008f5eb203fd89c22614f5d.png","created_at":"2023-09-20T09:25:39.794Z","last_posted_at":"2026-06-12T14:13:13.660Z","bumped":true,"bumped_at":"2026-06-12T14:13:13.660Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"The  Type Checker  formatter provides a set of type-checking functions for various data types. Each function checks the type of input data and returns a boolean value indicating whether the input matc…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":464,"height":465,"url":"https://community.wappler.io/uploads/default/original/3X/b/5/b577daff074bf3ef6008f5eb203fd89c22614f5d.png"},{"max_width":400,"max_height":400,"width":399,"height":400,"url":"https://community.wappler.io/uploads/default/optimized/3X/b/5/b577daff074bf3ef6008f5eb203fd89c22614f5d_2_399x400.png"},{"max_width":200,"max_height":200,"width":199,"height":200,"url":"https://community.wappler.io/uploads/default/optimized/3X/b/5/b577daff074bf3ef6008f5eb203fd89c22614f5d_2_199x200.png"},{"max_width":100,"max_height":100,"width":99,"height":100,"url":"https://community.wappler.io/uploads/default/optimized/3X/b/5/b577daff074bf3ef6008f5eb203fd89c22614f5d_2_99x100.png"},{"max_width":50,"max_height":50,"width":49,"height":50,"url":"https://community.wappler.io/uploads/default/optimized/3X/b/5/b577daff074bf3ef6008f5eb203fd89c22614f5d_2_49x50.png"}],"tags":["nodejs","appconnect","ui"],"tags_descriptions":{},"views":258,"like_count":1,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":1,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{"red":43,"green":45,"blue":48},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":301393,"topic_post_id":232384,"topic_post_liked":false,"topic_post_like_count":1,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":true,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":18902,"username":"Roney_Dsilva","name":"Roney Dsilva","avatar_template":"/user_avatar/community.wappler.io/roney_dsilva/{size}/55397_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":18902,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Git-born Wappler extensions: wappler-install.json, free Installer &amp; Manifest Builder (proposal for a new standard)","id":67229,"title":"Git-born Wappler extensions: wappler-install.json, free Installer & Manifest Builder (proposal for a new standard)","slug":"git-born-wappler-extensions-wappler-install-json-free-installer-manifest-builder-proposal-for-a-new-standard","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2026-06-12T00:43:34.931Z","last_posted_at":"2026-06-12T00:43:35.737Z","bumped":true,"bumped_at":"2026-06-12T00:43:35.737Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Something I've been building quietly has grown into something I'm genuinely proud of, and would love to share it with the Wappler community and the Team (for consideration). \nIt started as a simple id…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":["extensions","github","new-standard","proposal"],"tags_descriptions":{},"views":20,"like_count":0,"has_summary":false,"last_poster_username":"Cheese","category_id":54,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"Something I&#39;ve been building quietly has grown into something I&#39;m genuinely proud of, and would love to share it with the Wappler community and the Team (for consideration). \nIt started as a simple idea: “Help people ins&hellip;","last_post_id":301371,"topic_post_id":301371,"topic_post_liked":false,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":false,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":19857,"username":"Cheese","name":"Cheese","avatar_template":"/user_avatar/community.wappler.io/cheese/{size}/60480_2.png"},"can_vote":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":19857,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Redirect-IT - Server Side Redirect (to a page) Extension (for Node JS)","id":67198,"title":"Redirect-IT - Server Side Redirect (to a page) Extension (for Node JS)","slug":"redirect-it-server-side-redirect-to-a-page-extension-for-node-js","posts_count":5,"reply_count":2,"highest_post_number":5,"image_url":null,"created_at":"2026-06-08T18:51:34.850Z","last_posted_at":"2026-06-11T17:29:41.252Z","bumped":true,"bumped_at":"2026-06-11T17:29:41.252Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Those that know, know, another one of our internal Extensions. \n\n\nAs always your feedback is very welcome and if you find it useful you can Buy Me a Coffee (dying of thirst here). \n<img src=\"https://community.wappler.io/images/emoji/apple/face_savoring_food.png?v=14\" title=\":face_savoring_food:\" class=\"emoji only-emoji\" alt=\":face_savoring_food:\" loading=\"lazy\" width=\"20\" height=\"20\">","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":["nodejs","serverconnect","extensions","redirect"],"tags_descriptions":{},"views":54,"like_count":6,"has_summary":false,"last_poster_username":"Cheese","category_id":54,"op_like_count":2,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"Have looked forward to your input Brian thank you.  Yes can feel a little disheartening.  Deep down I know that people appreciate the work that goes in.  Even if we do oblige AI some of the time to he…","last_post_id":301361,"topic_post_id":301242,"topic_post_liked":false,"topic_post_like_count":2,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":false,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":19857,"username":"Cheese","name":"Cheese","avatar_template":"/user_avatar/community.wappler.io/cheese/{size}/60480_2.png"},"can_vote":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":19857,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":137,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":418,"primary_group_id":null,"flair_group_id":46}]},{"fancy_title":"Custom SC Formatter - Type Checker","id":52126,"title":"Custom SC Formatter - Type Checker","slug":"custom-sc-formatter-type-checker","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":"https://community.wappler.io/uploads/default/original/3X/4/6/4667124c5c2dfc14f5104dc66487cc7ed0285244.png","created_at":"2023-09-10T17:09:27.230Z","last_posted_at":"2026-06-11T14:12:40.200Z","bumped":true,"bumped_at":"2026-06-11T14:12:40.200Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"The Type Checker module provides a set of type-checking functions for various data types. Each function checks the type of input data and returns a boolean value indicating whether the input matches t…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":336,"height":416,"url":"https://community.wappler.io/uploads/default/original/3X/4/6/4667124c5c2dfc14f5104dc66487cc7ed0285244.png"},{"max_width":400,"max_height":400,"width":323,"height":400,"url":"https://community.wappler.io/uploads/default/optimized/3X/4/6/4667124c5c2dfc14f5104dc66487cc7ed0285244_2_323x400.png"},{"max_width":200,"max_height":200,"width":161,"height":200,"url":"https://community.wappler.io/uploads/default/optimized/3X/4/6/4667124c5c2dfc14f5104dc66487cc7ed0285244_2_161x200.png"},{"max_width":100,"max_height":100,"width":80,"height":100,"url":"https://community.wappler.io/uploads/default/optimized/3X/4/6/4667124c5c2dfc14f5104dc66487cc7ed0285244_2_80x100.png"},{"max_width":50,"max_height":50,"width":40,"height":50,"url":"https://community.wappler.io/uploads/default/optimized/3X/4/6/4667124c5c2dfc14f5104dc66487cc7ed0285244_2_40x50.png"}],"tags":["nodejs","serverconnect"],"tags_descriptions":{},"views":277,"like_count":6,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":6,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{"red":51,"green":58,"blue":74},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":301353,"topic_post_id":231742,"topic_post_liked":false,"topic_post_like_count":6,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":true,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":18902,"username":"Roney_Dsilva","name":"Roney Dsilva","avatar_template":"/user_avatar/community.wappler.io/roney_dsilva/{size}/55397_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":18902,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"PuSH-IT - Push Notification Extension (for Node JS/PHP BETA)","id":67195,"title":"PuSH-IT - Push Notification Extension (for Node JS/PHP BETA)","slug":"push-it-push-notification-extension-for-node-js-php-beta","posts_count":12,"reply_count":9,"highest_post_number":12,"image_url":null,"created_at":"2026-06-08T00:52:30.950Z","last_posted_at":"2026-06-10T17:53:55.987Z","bumped":true,"bumped_at":"2026-06-10T17:53:55.987Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Another one of our internal Extensions we would like to share.  Does what it says on the tin! \n\n\n\nPHP BETA version (as requested by Brad).  This is UNTESTED but you can help iron out any bugs if you w…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":["nodejs","extensions","push-notifiations"],"tags_descriptions":{},"views":86,"like_count":13,"has_summary":false,"last_poster_username":"Cheese","category_id":54,"op_like_count":6,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"My FIRST App-Connect Component (for the Node JS version only right now)  That was a very steep learning curve especially on the UI front...  Still might have to do one or two tweaks but is all working…","last_post_id":301302,"topic_post_id":301224,"topic_post_liked":false,"topic_post_like_count":6,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":false,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":19857,"username":"Cheese","name":"Cheese","avatar_template":"/user_avatar/community.wappler.io/cheese/{size}/60480_2.png"},"can_vote":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":19857,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":418,"primary_group_id":null,"flair_group_id":46},{"extras":null,"description":"Frequent Poster","user_id":59,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"RabbitMQ Queues for NodeJS","id":47395,"title":"RabbitMQ Queues for NodeJS","slug":"rabbitmq-queues-for-nodejs","posts_count":9,"reply_count":4,"highest_post_number":9,"image_url":"https://community.wappler.io/uploads/default/optimized/3X/6/3/634977635653de7fc3a7e75da6daf5d7ca43c091_2_1024x318.png","created_at":"2023-01-11T13:11:18.765Z","last_posted_at":"2026-06-10T13:57:49.407Z","bumped":true,"bumped_at":"2026-06-10T13:57:49.407Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"This custom module for server connect allows to send out RabbiMQ Queues. \nThis comes in handy when you want to issue a queue that is consumed as a trigger by a third-party API eg: those created in n8n…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1692,"height":527,"url":"https://community.wappler.io/uploads/default/original/3X/6/3/634977635653de7fc3a7e75da6daf5d7ca43c091.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":318,"url":"https://community.wappler.io/uploads/default/optimized/3X/6/3/634977635653de7fc3a7e75da6daf5d7ca43c091_2_1024x318.png"},{"max_width":800,"max_height":800,"width":800,"height":249,"url":"https://community.wappler.io/uploads/default/optimized/3X/6/3/634977635653de7fc3a7e75da6daf5d7ca43c091_2_800x249.png"},{"max_width":400,"max_height":400,"width":400,"height":124,"url":"https://community.wappler.io/uploads/default/optimized/3X/6/3/634977635653de7fc3a7e75da6daf5d7ca43c091_2_400x124.png"},{"max_width":200,"max_height":200,"width":200,"height":62,"url":"https://community.wappler.io/uploads/default/optimized/3X/6/3/634977635653de7fc3a7e75da6daf5d7ca43c091_2_200x62.png"},{"max_width":100,"max_height":100,"width":100,"height":31,"url":"https://community.wappler.io/uploads/default/optimized/3X/6/3/634977635653de7fc3a7e75da6daf5d7ca43c091_2_100x31.png"},{"max_width":50,"max_height":50,"width":50,"height":15,"url":"https://community.wappler.io/uploads/default/optimized/3X/6/3/634977635653de7fc3a7e75da6daf5d7ca43c091_2_50x15.png"}],"tags":["serverconnect"],"tags_descriptions":{},"views":866,"like_count":4,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":3,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{"red":114,"green":115,"blue":118},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":301300,"topic_post_id":208128,"topic_post_liked":false,"topic_post_like_count":3,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":true,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":18902,"username":"Roney_Dsilva","name":"Roney Dsilva","avatar_template":"/user_avatar/community.wappler.io/roney_dsilva/{size}/55397_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":18902,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":5217,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":11255,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Cache-Machine - Server Side Cache Extension (for Node JS)","id":67206,"title":"Cache-Machine - Server Side Cache Extension (for Node JS)","slug":"cache-machine-server-side-cache-extension-for-node-js","posts_count":4,"reply_count":2,"highest_post_number":4,"image_url":null,"created_at":"2026-06-09T22:43:17.900Z","last_posted_at":"2026-06-10T13:38:37.483Z","bumped":true,"bumped_at":"2026-06-10T13:38:37.483Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Forgive my cheesy naming regime for these extensions (pardon the pun hahaha).  We use this for one or two of our larger applications to serve cached data fast without the need for Redis.  You may find…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":["nodejs","extensions","server-side-cache"],"tags_descriptions":{},"views":44,"like_count":8,"has_summary":false,"last_poster_username":"Cheese","category_id":54,"op_like_count":1,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"HAHAHAHAHA!!  That initial sentence I started to compose a reply in my mind then I got to the second sentence, then the bullet points.  Brilliant @ben \n<img src=\"https://community.wappler.io/images/emoji/apple/rofl.png?v=14\" title=\":rofl:\" class=\"emoji only-emoji\" alt=\":rofl:\" loading=\"lazy\" width=\"20\" height=\"20\"> \nImagine the day we could do such things.  I me…","last_post_id":301298,"topic_post_id":301280,"topic_post_liked":false,"topic_post_like_count":1,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":false,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":19857,"username":"Cheese","name":"Cheese","avatar_template":"/user_avatar/community.wappler.io/cheese/{size}/60480_2.png"},"can_vote":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":19857,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":137,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":4921,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Custom App Module - Date Range Picker v2","id":51493,"title":"Custom App Module - Date Range Picker v2","slug":"custom-app-module-date-range-picker-v2","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":"https://community.wappler.io/uploads/default/original/3X/1/b/1bf334d23112314e50112b2c647c450a3fe481e5.png","created_at":"2023-08-07T16:52:11.451Z","last_posted_at":"2026-06-09T13:43:13.603Z","bumped":true,"bumped_at":"2026-06-09T13:43:13.603Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Properties\nDate Range Properties\n\n\nID : Unique ID for the date range picker. (Required)\n\nNo Auto Load : Set to true to disable auto-load of the picker. (Default: true)\n\nDate Picker Options\n\n\nDe…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":613,"height":389,"url":"https://community.wappler.io/uploads/default/original/3X/1/b/1bf334d23112314e50112b2c647c450a3fe481e5.png"},{"max_width":400,"max_height":400,"width":400,"height":253,"url":"https://community.wappler.io/uploads/default/optimized/3X/1/b/1bf334d23112314e50112b2c647c450a3fe481e5_2_400x253.png"},{"max_width":200,"max_height":200,"width":200,"height":126,"url":"https://community.wappler.io/uploads/default/optimized/3X/1/b/1bf334d23112314e50112b2c647c450a3fe481e5_2_200x126.png"},{"max_width":100,"max_height":100,"width":100,"height":63,"url":"https://community.wappler.io/uploads/default/optimized/3X/1/b/1bf334d23112314e50112b2c647c450a3fe481e5_2_100x63.png"},{"max_width":50,"max_height":50,"width":50,"height":31,"url":"https://community.wappler.io/uploads/default/optimized/3X/1/b/1bf334d23112314e50112b2c647c450a3fe481e5_2_50x31.png"}],"tags":["nodejs","appconnect","ui"],"tags_descriptions":{},"views":398,"like_count":7,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":7,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{"red":111,"green":114,"blue":125},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":301272,"topic_post_id":228608,"topic_post_liked":false,"topic_post_like_count":7,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":false,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":18902,"username":"Roney_Dsilva","name":"Roney Dsilva","avatar_template":"/user_avatar/community.wappler.io/roney_dsilva/{size}/55397_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":18902,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Custom Server Connect Module - Redis Tools","id":51292,"title":"Custom Server Connect Module - Redis Tools","slug":"custom-server-connect-module-redis-tools","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":"https://community.wappler.io/uploads/default/original/3X/c/4/c44f8e0adc38f1cbacaa90f0f857f5712cdcc41a.png","created_at":"2023-07-28T09:29:33.593Z","last_posted_at":"2026-06-08T13:29:28.366Z","bumped":true,"bumped_at":"2026-06-08T13:29:28.366Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"This Redis Module consists of 3 Tools: \n\nInsert Data into Redis (Strings and objects Supported)\nFetch Data from Redis.\nRedis HealthCheck (with connection timeout)\n\n ","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":692,"height":449,"url":"https://community.wappler.io/uploads/default/original/3X/c/4/c44f8e0adc38f1cbacaa90f0f857f5712cdcc41a.png"},{"max_width":400,"max_height":400,"width":400,"height":259,"url":"https://community.wappler.io/uploads/default/optimized/3X/c/4/c44f8e0adc38f1cbacaa90f0f857f5712cdcc41a_2_400x259.png"},{"max_width":200,"max_height":200,"width":200,"height":129,"url":"https://community.wappler.io/uploads/default/optimized/3X/c/4/c44f8e0adc38f1cbacaa90f0f857f5712cdcc41a_2_200x129.png"},{"max_width":100,"max_height":100,"width":100,"height":64,"url":"https://community.wappler.io/uploads/default/optimized/3X/c/4/c44f8e0adc38f1cbacaa90f0f857f5712cdcc41a_2_100x64.png"},{"max_width":50,"max_height":50,"width":50,"height":32,"url":"https://community.wappler.io/uploads/default/optimized/3X/c/4/c44f8e0adc38f1cbacaa90f0f857f5712cdcc41a_2_50x32.png"}],"tags":["nodejs","serverconnect"],"tags_descriptions":{},"views":300,"like_count":4,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{"red":36,"green":39,"blue":52},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":301235,"topic_post_id":227366,"topic_post_liked":false,"topic_post_like_count":4,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":true,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":18902,"username":"Roney_Dsilva","name":"Roney Dsilva","avatar_template":"/user_avatar/community.wappler.io/roney_dsilva/{size}/55397_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":18902,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Wappler ABAP/4 integration extension","id":66075,"title":"Wappler ABAP/4 integration extension","slug":"wappler-abap-4-integration-extension","posts_count":16,"reply_count":8,"highest_post_number":16,"image_url":null,"created_at":"2026-01-20T11:29:14.775Z","last_posted_at":"2026-06-08T12:35:15.813Z","bumped":true,"bumped_at":"2026-06-08T12:35:15.813Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Extension Structure\nyour-wappler-project/\n├── extensions/\n│   └── @wappler/abap4-quantum-bridge/\n│       ├── package.json           # Extension manifest\n│       ├── app_connect/           # Frontend c…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":["serverconnect","appconnect","joke"],"tags_descriptions":{},"views":168,"like_count":25,"has_summary":false,"last_poster_username":"JonL","category_id":54,"op_like_count":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"On day 1. Wappler 8 will be first class citizen.","last_post_id":301232,"topic_post_id":295602,"topic_post_liked":false,"topic_post_like_count":4,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":false,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":6149,"username":"JonL","name":"","avatar_template":"/user_avatar/community.wappler.io/jonl/{size}/63840_2.png"},"can_vote":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":6149,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":5217,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":4,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":19857,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Base64toFile - Custom Module - NodeJS","id":45949,"title":"Base64toFile - Custom Module - NodeJS","slug":"base64tofile-custom-module-nodejs","posts_count":20,"reply_count":6,"highest_post_number":20,"image_url":null,"created_at":"2022-10-18T10:53:48.975Z","last_posted_at":"2026-06-07T13:22:10.923Z","bumped":true,"bumped_at":"2026-06-07T13:22:10.923Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hi there fellow Wapplers, \nAnother simple extension. This enables you to easily decode a base64 string to a file using fs. \nbvase64tofile.zip (1012 Bytes) \nHappy Wapplering! \nbg \nJelle \nedit: added pa…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":1749,"like_count":11,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":6,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":301219,"topic_post_id":201098,"topic_post_liked":false,"topic_post_like_count":6,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":true,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":14065,"username":"jellederijke","name":"Jelle de Rijke","avatar_template":"/user_avatar/community.wappler.io/jellederijke/{size}/76954_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":14065,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":15739,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":10991,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":19780,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":":rocket: Dicebear avatar extension","id":48790,"title":":rocket: Dicebear avatar extension","slug":"dicebear-avatar-extension","posts_count":14,"reply_count":8,"highest_post_number":15,"image_url":null,"created_at":"2023-03-20T13:42:04.276Z","last_posted_at":"2026-06-06T13:12:40.941Z","bumped":true,"bumped_at":"2026-06-06T13:12:40.941Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Installation and usage documentation:","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"unicode_title":"🚀 Dicebear avatar extension","thumbnails":null,"tags":["appconnect","extensions"],"tags_descriptions":{},"views":640,"like_count":11,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":8,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":301196,"topic_post_id":215633,"topic_post_liked":false,"topic_post_like_count":8,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":true,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":6149,"username":"JonL","name":"","avatar_template":"/user_avatar/community.wappler.io/jonl/{size}/63840_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":6149,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":12388,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"ClickSend SMS Extension (for Node JS)","id":67176,"title":"ClickSend SMS Extension (for Node JS)","slug":"clicksend-sms-extension-for-node-js","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2026-06-05T18:28:59.613Z","last_posted_at":"2026-06-05T18:28:59.926Z","bumped":true,"bumped_at":"2026-06-05T20:58:08.779Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Another internal Extension we use that I would like to share.  We use SMS for many things including account verification and updates etc.  ClickSend is incredibly cheap and reliable and you can simply…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":["nodejs","extensions","clicksend","sms"],"tags_descriptions":{},"views":36,"like_count":3,"has_summary":false,"last_poster_username":"Cheese","category_id":54,"op_like_count":3,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"Another internal Extension we use that I would like to share.  We use SMS for many things including account verification and updates etc.  ClickSend is incredibly cheap and reliable and you can simply Pay as You Go with &hellip;","last_post_id":301134,"topic_post_id":301134,"topic_post_liked":false,"topic_post_like_count":3,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":true,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":19857,"username":"Cheese","name":"Cheese","avatar_template":"/user_avatar/community.wappler.io/cheese/{size}/60480_2.png"},"can_vote":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":19857,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Generate Auth Code Extension (for Node JS)","id":67177,"title":"Generate Auth Code Extension (for Node JS)","slug":"generate-auth-code-extension-for-node-js","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2026-06-05T19:41:52.277Z","last_posted_at":"2026-06-05T19:41:52.579Z","bumped":true,"bumped_at":"2026-06-05T19:41:52.579Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"As I shared the ClickSend SMS Extension I thought I'd share it's little friend.  This simple extension generates random auth-codes that can be sent by SMS or E-Mail (or use however you select to imple…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":["nodejs","extensions","auth-code"],"tags_descriptions":{},"views":34,"like_count":1,"has_summary":false,"last_poster_username":"Cheese","category_id":54,"op_like_count":1,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"As I shared the ClickSend SMS Extension I thought I&#39;d share it&#39;s little friend.  This simple extension generates random auth-codes that can be sent by SMS or E-Mail (or use however you select to implement them). \n\n\nFeedb&hellip;","last_post_id":301135,"topic_post_id":301135,"topic_post_liked":false,"topic_post_like_count":1,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":true,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":19857,"username":"Cheese","name":"Cheese","avatar_template":"/user_avatar/community.wappler.io/cheese/{size}/60480_2.png"},"can_vote":false,"posters":[{"extras":"latest single","description":"Original Poster, Most Recent Poster","user_id":19857,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Wap-Lastic Extension (Elastic Search for Node JS)","id":67140,"title":"Wap-Lastic Extension (Elastic Search for Node JS)","slug":"wap-lastic-extension-elastic-search-for-node-js","posts_count":5,"reply_count":1,"highest_post_number":5,"image_url":null,"created_at":"2026-06-04T17:38:00.888Z","last_posted_at":"2026-06-05T13:43:46.533Z","bumped":true,"bumped_at":"2026-06-05T14:06:22.224Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Having had to create our own form of 'Elastic Search' for various Projects we decided to be done with it and create our own extension.  You all know the difficulties with creating great search and how…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":["nodejs","extensions","elastic-search"],"tags_descriptions":{},"views":90,"like_count":6,"has_summary":false,"last_poster_username":"Cheese","category_id":54,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"Hahahaha... Yeah man I am a real git!  Well spotted!! \n<img src=\"https://community.wappler.io/images/emoji/apple/joy.png?v=14\" title=\":joy:\" class=\"emoji only-emoji\" alt=\":joy:\" loading=\"lazy\" width=\"20\" height=\"20\"> \nIt is quite a complex extension but then the task in-hand was very complex.  This literally replaces all that with a few select options.  The …","last_post_id":301128,"topic_post_id":301050,"topic_post_liked":false,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":false,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":19857,"username":"Cheese","name":"Cheese","avatar_template":"/user_avatar/community.wappler.io/cheese/{size}/60480_2.png"},"can_vote":false,"posters":[{"extras":"latest","description":"Original Poster, Most Recent Poster","user_id":19857,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":4921,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":":rocket: Cookie Consent component","id":48957,"title":":rocket: Cookie Consent component","slug":"cookie-consent-component","posts_count":22,"reply_count":12,"highest_post_number":22,"image_url":"https://community.wappler.io/uploads/default/original/3X/3/e/3ef33780e4e88483f54588866ec01d6ffa62e917.png","created_at":"2023-03-29T18:22:28.431Z","last_posted_at":"2026-06-05T13:07:01.898Z","bumped":true,"bumped_at":"2026-06-05T13:07:01.898Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"This extension is only compatible with App Connect 1. I don’t have a timeline to make it compatible with App Connect 2. \n\n\nBefore using this extension make sure you have gone through the library’s do…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"unicode_title":"🚀 Cookie Consent component","thumbnails":[{"max_width":null,"max_height":null,"width":815,"height":592,"url":"https://community.wappler.io/uploads/default/original/3X/3/e/3ef33780e4e88483f54588866ec01d6ffa62e917.png"},{"max_width":800,"max_height":800,"width":800,"height":581,"url":"https://community.wappler.io/uploads/default/optimized/3X/3/e/3ef33780e4e88483f54588866ec01d6ffa62e917_2_800x581.png"},{"max_width":400,"max_height":400,"width":400,"height":290,"url":"https://community.wappler.io/uploads/default/optimized/3X/3/e/3ef33780e4e88483f54588866ec01d6ffa62e917_2_400x290.png"},{"max_width":200,"max_height":200,"width":200,"height":145,"url":"https://community.wappler.io/uploads/default/optimized/3X/3/e/3ef33780e4e88483f54588866ec01d6ffa62e917_2_200x145.png"},{"max_width":100,"max_height":100,"width":100,"height":72,"url":"https://community.wappler.io/uploads/default/optimized/3X/3/e/3ef33780e4e88483f54588866ec01d6ffa62e917_2_100x72.png"},{"max_width":50,"max_height":50,"width":50,"height":36,"url":"https://community.wappler.io/uploads/default/optimized/3X/3/e/3ef33780e4e88483f54588866ec01d6ffa62e917_2_50x36.png"}],"tags":["appconnect","extensions"],"tags_descriptions":{},"views":982,"like_count":33,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":20,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{"red":97,"green":61,"blue":60},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":301124,"topic_post_id":216503,"topic_post_liked":false,"topic_post_like_count":20,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":true,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":6149,"username":"JonL","name":"","avatar_template":"/user_avatar/community.wappler.io/jonl/{size}/63840_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":6149,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":219,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":249,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":19239,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Custom Extension UK Postcode validator and reformatter (node &amp; PHP)","id":66746,"title":"Custom Extension UK Postcode validator and reformatter (node & PHP)","slug":"custom-extension-uk-postcode-validator-and-reformatter-node-php","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":"https://community.wappler.io/uploads/default/original/3X/6/c/6c983ec72108a963767890304c02454ba1977423.png","created_at":"2026-04-10T07:58:02.201Z","last_posted_at":"2026-06-05T09:51:32.776Z","bumped":true,"bumped_at":"2026-06-05T09:51:32.776Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"UK specific but as i wrote it I thought i would share it anyway \nThis server module takes a UK postcode and validates it against postcodes.io returning true if valid (exists). \nIt also reformats the e…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1017,"height":256,"url":"https://community.wappler.io/uploads/default/original/3X/6/c/6c983ec72108a963767890304c02454ba1977423.png"},{"max_width":800,"max_height":800,"width":800,"height":201,"url":"https://community.wappler.io/uploads/default/optimized/3X/6/c/6c983ec72108a963767890304c02454ba1977423_2_800x201.png"},{"max_width":400,"max_height":400,"width":400,"height":100,"url":"https://community.wappler.io/uploads/default/optimized/3X/6/c/6c983ec72108a963767890304c02454ba1977423_2_400x100.png"},{"max_width":200,"max_height":200,"width":200,"height":50,"url":"https://community.wappler.io/uploads/default/optimized/3X/6/c/6c983ec72108a963767890304c02454ba1977423_2_200x50.png"},{"max_width":100,"max_height":100,"width":100,"height":25,"url":"https://community.wappler.io/uploads/default/optimized/3X/6/c/6c983ec72108a963767890304c02454ba1977423_2_100x25.png"},{"max_width":50,"max_height":50,"width":50,"height":12,"url":"https://community.wappler.io/uploads/default/optimized/3X/6/c/6c983ec72108a963767890304c02454ba1977423_2_50x12.png"}],"tags":["wappler-extensibiliy"],"tags_descriptions":{},"views":47,"like_count":3,"has_summary":false,"last_poster_username":"sitestreet","category_id":54,"op_like_count":3,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{"red":19,"green":17,"blue":33},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"Nice work Brian. This will be useful for sure and also a good example of making an extension. \n<img src=\"https://community.wappler.io/images/emoji/apple/clap.png?v=14\" title=\":clap:\" class=\"emoji only-emoji\" alt=\":clap:\" loading=\"lazy\" width=\"20\" height=\"20\">","last_post_id":301118,"topic_post_id":299188,"topic_post_liked":false,"topic_post_like_count":3,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":true,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":418,"username":"Hyperbytes","name":"Brian English","avatar_template":"/user_avatar/community.wappler.io/hyperbytes/{size}/76947_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":418,"primary_group_id":null,"flair_group_id":46},{"extras":"latest","description":"Most Recent Poster","user_id":249,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Convert JSON to Plain Text (useful to have LLM&rsquo;s analyse data from the DB)","id":50432,"title":"Convert JSON to Plain Text (useful to have LLM's analyse data from the DB)","slug":"convert-json-to-plain-text-useful-to-have-llms-analyse-data-from-the-db","posts_count":4,"reply_count":0,"highest_post_number":4,"image_url":null,"created_at":"2023-06-09T03:16:25.147Z","last_posted_at":"2026-06-04T12:51:27.977Z","bumped":true,"bumped_at":"2026-06-04T12:51:27.977Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hi all, \nI created this extension so that I can convert complex responses from the DB into plain text which I can then have ChatGPT / other LLM’s analyse. \nJS file: \n// JavaScript Document \nconst pret…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":1898,"like_count":2,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":1,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":301045,"topic_post_id":223462,"topic_post_liked":false,"topic_post_like_count":1,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":true,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":6246,"username":"mgaussie","name":"","avatar_template":"/letter_avatar/mgaussie/{size}/5_d44a9b381edc88181525e3c8350177ca.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":6246,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":16730,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Simple log Injection module to send logs into OpenSearch","id":49922,"title":"Simple log Injection module to send logs into OpenSearch","slug":"simple-log-injection-module-to-send-logs-into-opensearch","posts_count":5,"reply_count":1,"highest_post_number":5,"image_url":"https://community.wappler.io/uploads/default/optimized/3X/8/6/86d2cbc8de9fb089ad7935675e1a2b78f7919f49_2_1024x386.png","created_at":"2023-05-15T09:29:11.444Z","last_posted_at":"2026-06-03T12:45:49.440Z","bumped":true,"bumped_at":"2026-06-03T12:45:49.440Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":" \n \nhttps://github.com/roney492/wappler_opensearch_logs","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1098,"height":414,"url":"https://community.wappler.io/uploads/default/original/3X/8/6/86d2cbc8de9fb089ad7935675e1a2b78f7919f49.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":386,"url":"https://community.wappler.io/uploads/default/optimized/3X/8/6/86d2cbc8de9fb089ad7935675e1a2b78f7919f49_2_1024x386.png"},{"max_width":800,"max_height":800,"width":800,"height":301,"url":"https://community.wappler.io/uploads/default/optimized/3X/8/6/86d2cbc8de9fb089ad7935675e1a2b78f7919f49_2_800x301.png"},{"max_width":400,"max_height":400,"width":400,"height":150,"url":"https://community.wappler.io/uploads/default/optimized/3X/8/6/86d2cbc8de9fb089ad7935675e1a2b78f7919f49_2_400x150.png"},{"max_width":200,"max_height":200,"width":200,"height":75,"url":"https://community.wappler.io/uploads/default/optimized/3X/8/6/86d2cbc8de9fb089ad7935675e1a2b78f7919f49_2_200x75.png"},{"max_width":100,"max_height":100,"width":100,"height":37,"url":"https://community.wappler.io/uploads/default/optimized/3X/8/6/86d2cbc8de9fb089ad7935675e1a2b78f7919f49_2_100x37.png"},{"max_width":50,"max_height":50,"width":50,"height":18,"url":"https://community.wappler.io/uploads/default/optimized/3X/8/6/86d2cbc8de9fb089ad7935675e1a2b78f7919f49_2_50x18.png"}],"tags":[],"tags_descriptions":{},"views":247,"like_count":1,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{"red":30,"green":33,"blue":37},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":301011,"topic_post_id":220836,"topic_post_liked":false,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":false,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":18902,"username":"Roney_Dsilva","name":"Roney Dsilva","avatar_template":"/user_avatar/community.wappler.io/roney_dsilva/{size}/55397_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":18902,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":6149,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"NodeJS Logging Extension","id":49827,"title":"NodeJS Logging Extension","slug":"nodejs-logging-extension","posts_count":9,"reply_count":1,"highest_post_number":9,"image_url":null,"created_at":"2023-05-10T19:08:21.981Z","last_posted_at":"2026-06-02T12:30:11.280Z","bumped":true,"bumped_at":"2026-06-02T12:30:11.280Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"I’m looking for 2-3 beta testers for the logging extension I built for NodeJS applications. \nThe goal is to gather feedback and find possible bugs before I release it to the public. \nIt currently supp…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":349,"like_count":7,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":300981,"topic_post_id":220312,"topic_post_liked":false,"topic_post_like_count":4,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":false,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":17387,"username":"tbvgl","name":"Tobias Vogel","avatar_template":"/user_avatar/community.wappler.io/tbvgl/{size}/49894_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":17387,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":6149,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":16730,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":5116,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Onesignal Wappler Custom Extensions","id":59410,"title":"Onesignal Wappler Custom Extensions","slug":"onesignal-wappler-custom-extensions","posts_count":9,"reply_count":3,"highest_post_number":9,"image_url":"https://community.wappler.io/uploads/default/optimized/3X/1/0/10ad2a01720a957d20781dc51525a820ecba60b1_2_1024x544.png","created_at":"2024-09-30T08:04:35.120Z","last_posted_at":"2026-05-31T12:17:27.424Z","bumped":true,"bumped_at":"2026-05-31T12:17:27.424Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"As Wappler is in Beta i thought i would extend the programme and add OneSignal Extensioins (beta) to the mix. \nOneSignal Custom extensions are a suite of extensions implementing 38 of the OneSignal AP…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1543,"height":820,"url":"https://community.wappler.io/uploads/default/original/3X/1/0/10ad2a01720a957d20781dc51525a820ecba60b1.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":544,"url":"https://community.wappler.io/uploads/default/optimized/3X/1/0/10ad2a01720a957d20781dc51525a820ecba60b1_2_1024x544.png"},{"max_width":800,"max_height":800,"width":800,"height":425,"url":"https://community.wappler.io/uploads/default/optimized/3X/1/0/10ad2a01720a957d20781dc51525a820ecba60b1_2_800x425.png"},{"max_width":400,"max_height":400,"width":400,"height":212,"url":"https://community.wappler.io/uploads/default/optimized/3X/1/0/10ad2a01720a957d20781dc51525a820ecba60b1_2_400x212.png"},{"max_width":200,"max_height":200,"width":200,"height":106,"url":"https://community.wappler.io/uploads/default/optimized/3X/1/0/10ad2a01720a957d20781dc51525a820ecba60b1_2_200x106.png"},{"max_width":100,"max_height":100,"width":100,"height":53,"url":"https://community.wappler.io/uploads/default/optimized/3X/1/0/10ad2a01720a957d20781dc51525a820ecba60b1_2_100x53.png"},{"max_width":50,"max_height":50,"width":50,"height":26,"url":"https://community.wappler.io/uploads/default/optimized/3X/1/0/10ad2a01720a957d20781dc51525a820ecba60b1_2_50x26.png"}],"tags":[],"tags_descriptions":{},"views":239,"like_count":13,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":11,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{"red":28,"green":25,"blue":42},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":300919,"topic_post_id":268041,"topic_post_liked":false,"topic_post_like_count":11,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":false,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":418,"username":"Hyperbytes","name":"Brian English","avatar_template":"/user_avatar/community.wappler.io/hyperbytes/{size}/76947_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":418,"primary_group_id":null,"flair_group_id":46},{"extras":null,"description":"Frequent Poster","user_id":15827,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":5116,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":17745,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"JSON Merge","id":49710,"title":"JSON Merge","slug":"json-merge","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2023-05-04T23:11:45.030Z","last_posted_at":"2026-05-30T12:05:21.623Z","bumped":true,"bumped_at":"2026-05-30T12:05:21.623Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"A very simple extension that merges two JSON objects. Objects can be submitted as text/string or JSON. \nJust posting this because I saw someone needed that here and I just built something similar for …","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":376,"like_count":3,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":3,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":300901,"topic_post_id":219728,"topic_post_liked":false,"topic_post_like_count":3,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":true,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":17387,"username":"tbvgl","name":"Tobias Vogel","avatar_template":"/user_avatar/community.wappler.io/tbvgl/{size}/49894_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":17387,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"RFC: Repeating regions in email","id":39466,"title":"RFC: Repeating regions in email","slug":"rfc-repeating-regions-in-email","posts_count":25,"reply_count":13,"highest_post_number":25,"image_url":"https://community.wappler.io/uploads/default/optimized/3X/5/4/5470250c0fa73c2f035bf46bf343e66f47774589_2_1024x674.jpeg","created_at":"2022-01-29T12:38:53.992Z","last_posted_at":"2026-05-29T12:00:57.859Z","bumped":true,"bumped_at":"2026-05-29T12:00:57.859Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hi all, \nRepeating regions for email is quite a requested feature. \n\n\nI've been working on a custom extension for this(nodejs). \nThe idea behind the extension is that you will create a template file t…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1300,"height":856,"url":"https://community.wappler.io/uploads/default/original/3X/5/4/5470250c0fa73c2f035bf46bf343e66f47774589.jpeg"},{"max_width":1024,"max_height":1024,"width":1024,"height":674,"url":"https://community.wappler.io/uploads/default/optimized/3X/5/4/5470250c0fa73c2f035bf46bf343e66f47774589_2_1024x674.jpeg"},{"max_width":800,"max_height":800,"width":800,"height":526,"url":"https://community.wappler.io/uploads/default/optimized/3X/5/4/5470250c0fa73c2f035bf46bf343e66f47774589_2_800x526.jpeg"},{"max_width":400,"max_height":400,"width":400,"height":263,"url":"https://community.wappler.io/uploads/default/optimized/3X/5/4/5470250c0fa73c2f035bf46bf343e66f47774589_2_400x263.jpeg"},{"max_width":200,"max_height":200,"width":200,"height":131,"url":"https://community.wappler.io/uploads/default/optimized/3X/5/4/5470250c0fa73c2f035bf46bf343e66f47774589_2_200x131.jpeg"},{"max_width":100,"max_height":100,"width":100,"height":65,"url":"https://community.wappler.io/uploads/default/optimized/3X/5/4/5470250c0fa73c2f035bf46bf343e66f47774589_2_100x65.jpeg"},{"max_width":50,"max_height":50,"width":50,"height":32,"url":"https://community.wappler.io/uploads/default/optimized/3X/5/4/5470250c0fa73c2f035bf46bf343e66f47774589_2_50x32.jpeg"}],"tags":["nodejs"],"tags_descriptions":{},"views":1490,"like_count":50,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":13,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{"red":36,"green":38,"blue":34},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":300883,"topic_post_id":171564,"topic_post_liked":false,"topic_post_like_count":13,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":true,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":6149,"username":"JonL","name":"","avatar_template":"/user_avatar/community.wappler.io/jonl/{size}/63840_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":6149,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":217,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":4921,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":226,"primary_group_id":null,"flair_group_id":46},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Custom extension for Sendgrid API?","id":39157,"title":"Custom extension for Sendgrid API?","slug":"custom-extension-for-sendgrid-api","posts_count":5,"reply_count":1,"highest_post_number":5,"image_url":null,"created_at":"2022-01-18T10:51:54.133Z","last_posted_at":"2026-05-28T11:53:46.428Z","bumped":true,"bumped_at":"2026-05-28T11:53:46.428Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"I normally use the rest API to interact with Sendgrid but I was thinking on creating a native extension using their js api. \nJust checking with the community if having this in a custom module(for node…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":["nodejs"],"tags_descriptions":{},"views":542,"like_count":1,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":300866,"topic_post_id":169834,"topic_post_liked":false,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":false,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":6149,"username":"JonL","name":"","avatar_template":"/user_avatar/community.wappler.io/jonl/{size}/63840_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":6149,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":4921,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Emojis with moderation make a difference","id":48920,"title":"Emojis with moderation make a difference","slug":"emojis-with-moderation-make-a-difference","posts_count":5,"reply_count":0,"highest_post_number":5,"image_url":"https://community.wappler.io/uploads/default/original/3X/c/8/c8f5a4666e097651463db7c36721671c61fc2eda.png","created_at":"2023-03-27T17:50:57.497Z","last_posted_at":"2026-05-27T11:41:50.398Z","bumped":true,"bumped_at":"2026-05-27T11:41:50.398Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":574,"height":869,"url":"https://community.wappler.io/uploads/default/original/3X/c/8/c8f5a4666e097651463db7c36721671c61fc2eda.png"},{"max_width":800,"max_height":800,"width":528,"height":800,"url":"https://community.wappler.io/uploads/default/optimized/3X/c/8/c8f5a4666e097651463db7c36721671c61fc2eda_2_528x800.png"},{"max_width":400,"max_height":400,"width":264,"height":400,"url":"https://community.wappler.io/uploads/default/optimized/3X/c/8/c8f5a4666e097651463db7c36721671c61fc2eda_2_264x400.png"},{"max_width":200,"max_height":200,"width":132,"height":200,"url":"https://community.wappler.io/uploads/default/optimized/3X/c/8/c8f5a4666e097651463db7c36721671c61fc2eda_2_132x200.png"},{"max_width":100,"max_height":100,"width":66,"height":100,"url":"https://community.wappler.io/uploads/default/optimized/3X/c/8/c8f5a4666e097651463db7c36721671c61fc2eda_2_66x100.png"},{"max_width":50,"max_height":50,"width":33,"height":50,"url":"https://community.wappler.io/uploads/default/optimized/3X/c/8/c8f5a4666e097651463db7c36721671c61fc2eda_2_33x50.png"}],"tags":[],"tags_descriptions":{},"views":279,"like_count":9,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":6,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{"red":29,"green":31,"blue":42},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":300845,"topic_post_id":216255,"topic_post_liked":false,"topic_post_like_count":6,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":false,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":6149,"username":"JonL","name":"","avatar_template":"/user_avatar/community.wappler.io/jonl/{size}/63840_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":6149,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":5116,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":":globe_with_meridians: Browser Extended extension 0.1","id":35591,"title":":globe_with_meridians: Browser Extended extension 0.1","slug":"browser-extended-extension-0-1","posts_count":11,"reply_count":2,"highest_post_number":11,"image_url":null,"created_at":"2021-08-19T09:20:09.402Z","last_posted_at":"2026-05-25T11:32:49.710Z","bumped":true,"bumped_at":"2026-05-25T11:32:49.710Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"I’m happy to announce the first frontend App Connect custom component release. This is just a small example that shows how to extend a core App Connect component. \nThis one extends the core browser co…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"unicode_title":"🌐 Browser Extended extension 0.1","thumbnails":null,"tags":[],"tags_descriptions":{},"views":789,"like_count":27,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":17,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":300765,"topic_post_id":153416,"topic_post_liked":false,"topic_post_like_count":17,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":true,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":6149,"username":"JonL","name":"","avatar_template":"/user_avatar/community.wappler.io/jonl/{size}/63840_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":6149,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":908,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":4120,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":4,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Wait - NodeJS &amp; PHP [Open Source]","id":29756,"title":"Wait - NodeJS & PHP [Open Source]","slug":"wait-nodejs-php-open-source","posts_count":8,"reply_count":4,"highest_post_number":10,"image_url":"https://community.wappler.io/uploads/default/original/3X/c/a/cab0878e9d5a9af9b0b9f62251aa6be93a9c1cb9.png","created_at":"2021-02-02T06:35:09.650Z","last_posted_at":"2026-05-24T11:27:16.464Z","bumped":true,"bumped_at":"2026-05-24T11:27:16.464Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Yo, \nThis is a simple wait/sleep/delay custom module for NodeJS &amp; PHP. \nThe need of it came from calling a 3rd party API in a loop which had a rate-limit. Similar to the Wait option in client-side Flo…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":771,"height":545,"url":"https://community.wappler.io/uploads/default/original/3X/c/a/cab0878e9d5a9af9b0b9f62251aa6be93a9c1cb9.png"},{"max_width":400,"max_height":400,"width":400,"height":282,"url":"https://community.wappler.io/uploads/default/optimized/3X/c/a/cab0878e9d5a9af9b0b9f62251aa6be93a9c1cb9_2_400x282.png"},{"max_width":200,"max_height":200,"width":200,"height":141,"url":"https://community.wappler.io/uploads/default/optimized/3X/c/a/cab0878e9d5a9af9b0b9f62251aa6be93a9c1cb9_2_200x141.png"},{"max_width":100,"max_height":100,"width":100,"height":70,"url":"https://community.wappler.io/uploads/default/optimized/3X/c/a/cab0878e9d5a9af9b0b9f62251aa6be93a9c1cb9_2_100x70.png"},{"max_width":50,"max_height":50,"width":50,"height":35,"url":"https://community.wappler.io/uploads/default/optimized/3X/c/a/cab0878e9d5a9af9b0b9f62251aa6be93a9c1cb9_2_50x35.png"}],"tags":[],"tags_descriptions":{},"views":946,"like_count":15,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":9,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{"red":48,"green":47,"blue":47},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":300723,"topic_post_id":126678,"topic_post_liked":false,"topic_post_like_count":9,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":true,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":5116,"username":"sid","name":"Siddhant","avatar_template":"/user_avatar/community.wappler.io/sid/{size}/11484_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":5116,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":22,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":16,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Custom Extension (node) - Dropbox Manager","id":66095,"title":"Custom Extension (node) - Dropbox Manager","slug":"custom-extension-node-dropbox-manager","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":"https://community.wappler.io/uploads/default/optimized/3X/b/9/b9d76869b73eb7398e37e3e00e5729fac3522dbb_2_1024x747.png","created_at":"2026-01-22T09:48:08.250Z","last_posted_at":"2026-05-23T11:12:04.646Z","bumped":true,"bumped_at":"2026-05-23T11:12:04.646Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Introduction\nLast week there was a forum discussion regarding loading files to a Dropbox. I commented it may a useful extension. Here it is! \nInstallation\nVia Wappler Project manager\nThe extension c…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1037,"height":757,"url":"https://community.wappler.io/uploads/default/original/3X/b/9/b9d76869b73eb7398e37e3e00e5729fac3522dbb.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":747,"url":"https://community.wappler.io/uploads/default/optimized/3X/b/9/b9d76869b73eb7398e37e3e00e5729fac3522dbb_2_1024x747.png"},{"max_width":800,"max_height":800,"width":800,"height":583,"url":"https://community.wappler.io/uploads/default/optimized/3X/b/9/b9d76869b73eb7398e37e3e00e5729fac3522dbb_2_800x583.png"},{"max_width":400,"max_height":400,"width":400,"height":291,"url":"https://community.wappler.io/uploads/default/optimized/3X/b/9/b9d76869b73eb7398e37e3e00e5729fac3522dbb_2_400x291.png"},{"max_width":200,"max_height":200,"width":200,"height":145,"url":"https://community.wappler.io/uploads/default/optimized/3X/b/9/b9d76869b73eb7398e37e3e00e5729fac3522dbb_2_200x145.png"},{"max_width":100,"max_height":100,"width":100,"height":72,"url":"https://community.wappler.io/uploads/default/optimized/3X/b/9/b9d76869b73eb7398e37e3e00e5729fac3522dbb_2_100x72.png"},{"max_width":50,"max_height":50,"width":50,"height":36,"url":"https://community.wappler.io/uploads/default/optimized/3X/b/9/b9d76869b73eb7398e37e3e00e5729fac3522dbb_2_50x36.png"}],"tags":["wappler-extensibiliy"],"tags_descriptions":{},"views":50,"like_count":6,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":4,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{"red":19,"green":16,"blue":33},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":300697,"topic_post_id":295722,"topic_post_liked":false,"topic_post_like_count":4,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":true,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":418,"username":"Hyperbytes","name":"Brian English","avatar_template":"/user_avatar/community.wappler.io/hyperbytes/{size}/76947_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":418,"primary_group_id":null,"flair_group_id":46},{"extras":null,"description":"Frequent Poster","user_id":4921,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Hook to load middleware before any kind of core middleware is added","id":48500,"title":"Hook to load middleware before any kind of core middleware is added","slug":"hook-to-load-middleware-before-any-kind-of-core-middleware-is-added","posts_count":7,"reply_count":0,"highest_post_number":7,"image_url":null,"created_at":"2023-03-06T10:01:47.063Z","last_posted_at":"2026-05-22T11:10:00.144Z","bumped":true,"bumped_at":"2026-05-22T11:10:00.144Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hi @patrick, \nIs it possible to add a hook in express for extensions that is loaded before any kind of Express middleware used by Wappler implementation? Ideally just after the Express app is created. …","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":408,"like_count":1,"has_summary":false,"last_poster_username":"system","category_id":54,"op_like_count":1,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_have_answer":false,"sidecar_installed":true,"dominant_color":{},"include_dominant_colour":false,"force_latest_post_nav":false,"show_latest_post_excerpt":false,"last_post_excerpt":"","last_post_id":300668,"topic_post_id":213949,"topic_post_liked":false,"topic_post_like_count":1,"topic_post_can_like":false,"topic_post_can_unlike":false,"topic_post_bookmarked":false,"topic_post_is_current_users":null,"topic_post_number":1,"topic_post_user":{"id":6149,"username":"JonL","name":"","avatar_template":"/user_avatar/community.wappler.io/jonl/{size}/63840_2.png"},"can_vote":false,"posters":[{"extras":null,"description":"Original Poster","user_id":6149,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":2,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":17387,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Frequent Poster","user_id":3,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Most Recent Poster","user_id":-1,"primary_group_id":null,"flair_group_id":null}]}]}}