My Love / Hate relationship with Deluge

My Love / Hate relationship with Deluge

Ok... so I should first say that I very much have an appreciation for all of the awesome things that I can do with Deluge.  It really can be quite powerful in a variety of ways, and allows for all kinds of customization that otherwise would not be possible.

Admittedly however, I've had days (and sometimes late nights that turn into early mornings) that I end up feeling like my head is going to explode when coding in Deluge.  Now let me emphasize something here... Deluge is a terrific language... but... it suffers enormously by the glaring lack of basic functionality within the web-based IDE.

So some of my gripes include:

1.  There are several variations of Deluge running across the various Zoho applications, and with various degrees of functionality.  Some are better than others - the best of these being being almost tolerable, the worst being barely usable.

2.  Depending on context and the relevant module, I can usually enter in an item ID, or a PO ID, or whatever other ID to run a test execution of my code with.  This is great, except that I have to enter the ID in every single time I want to run my code (CRM being one notable exception).  It's not a big deal, until you're testing and making changes in your code and end up having to deal with it 100 or 500 times... so much as to the extent that I've found myself writing key macros just to automate entry of the IDs while I run test executions.

3.  Depending on the module, error reporting is frequently misleading, often without providing line numbers (or frequently the incorrect line number), or using language that's either too obscure or written such that it really is a chore to decipher what it's even saying.  AppleSoft Basic provided better errors in 1976.  Granted, there are appreciable differences, but I stand by the fact that in 2020, even the most rudimentary basic ways of developing code should always give you a line number.  Always.  Always.

4.  In addition to specifying the line number, why not just highlight the point in the code in red so that you can just go right to the problem area and get down to business.

(Feel free to pass points 3 & 4 to the Sites and Commerce Face teams as well.)

5.  How about incorporating break points to halt the code where you can evaluate variables?

And so after contemplating the various issues, thought I'd put forth one possible approach that I would see as a way that could potentially catapult Deluge into the next level and beyond, while also reducing the anxiety experienced by seasoned programmers who relentlessly find themselves pulling their hair out, wondering why this otherwise useful language is so unbearably painful to develop with. (Granted, I can't speak for others, but I know there are others who have voiced similar sentiments.)

So if I were to imagine a path for redemption for Deluge, it might be by way of using Visual Studio Code as a catalyst.  Visual Studio Code has quickly and increasingly become one of the most commonly used code editors in recent years - largely because it's a Microsoft product vetted through years of development since Visual C++ was initially launched around 30 years ago.

It's become so ubiquitous that there even already exists a very basic code formatter for Zoho's Deluge as one of the available extensions - and could provide a starting place for more substantive integration to begin to take things a step further.

What could really take Deluge to the next level in this regard would potentially incorporate the use of a "live" connector that could operate between a user's Visual Studio Code installation and the Deluge Runtime Engine.  In essence, it could serve to automatically upload the most recent versions of an edited Deluge script from VS Code into whichever relevant Zoho module is in context, as well as invoke test executions of your code directly from the VS Code IDE.  Furthermore, the DRE would subsequently be able to report back error codes (with line numbers and relevant code to be highlighted) in realtime across the link. 

Taking it even a step further, such a link could also serve as means of proving a data connector to providing context while working on your Deluge code.  In other languages (and their related development environments), an ODBC connector can often be instantiated... not only during runtime, but also "live linked" during development so that you can develop your code while contextually aware of the data and relevant data types you're coding against.  

And because the aforementioned functionality has already been previously incorporated into VS Code for other languages, the UI in VS Code is already primed to be able to handle these tasks without reinventing the wheel.  Things like breakpoints, watch variables, data connectors are already either in place, or can likely be adapted.  This of course would dramatically shorten the time and effort needed to make something of this sort feasible. 

In effect, hardware debuggers for embedded solutions (like a microcontroller in a microwave oven or a cable TV set-top box) work the same way.  The execution of code, breakpoints, uploading of code, etc, are all traversing a simple link.  Typically, such hardware debugging in this regard can even be run remotely - even across the Internet over port forwarded IP addresses.

Ultimately my point is not to educate anyone on how debugging works, as I'm sure that Zoho's engineer's are already well versed in these concepts... but only as a means underscore that the model of debugging over IP is commonplace, and could probably easily be applied to the Deluge Runtime Engine as well.

Now I could be wrong, but if I were to guess... I'd be inclined to believe that much of the functionality that I've highlighted above is probably already in existence.  I say this not because I know of some secret codebase I've stumbled across or have some sort of secret insider knowledge that there's some stash of advanced tools lying in some hidden Zoho vault.

Rather, I say this only because so many of the aforementioned issues that I point out here would have been addressed long ago if the software engineers at Zoho were forced to use the same web-based tools as its client base.  I can't think of a single engineer that go to such lengths as to create a language like Deluge, and then not build in the most basic rudimentary means of providing error codes, debugging, and usable feedback.

Based on that assumption, it's almost a certainty IMHO that there are in-house tools in existence that provide this type of feedback, but few within Zoho's customer base have expressed enough dissatisfaction so far in order to warrant the efforts that would be required to bring such functionality to web-based Deluge IDE used by Zoho's client base. Naturally this just comes down to priorities, and would be the case in most any organization, these priorities are typically determined by the collective voice of its customer base.

Sometimes however, these needs might be a step removed from what the customer states vs what they don't know they should be asking for.  A business owner might, for example, choose one platform over another... not because of the degree of feedback provided by the web-based IDE used to implement customizations, as that's not even on their radar.

What might be on their radar however is that one platform has vastly more third partly customizations available, which might be the case if developers are much more inclined to develop for it, which can a directly impacted by the tools they have available to work from.

So all that to say... if it's the squeaky wheel that get's the most oil, "SQUEEEEEEEEEEEEEEEEK".

Thanks for consideration of the aforementioned issues.,
Bryan

    Nederlandse Hulpbronnen


      • Recent Topics

      • Edit Default Print

        What I want to do is create / edit the "Default Print" template without changing the layout I'm using. Currently I can create "Email Templates" but I don't use them for emailing and getting to that selection takes multiple clicks. If an email template could be set to be the Default Print template that would be helpful. I'd also like to print these in bulk but don't see that option (there is a mail merge macro but that goes straight to emailing, not to print or PDF).
      • Widget shows error

        Hi, May I ask why below characters will be auto added into the widget link and how to solve this error? As my widget shows 404 error now. ?serviceOrigin=https%3A%2F%2Fcrm.zoho.com&frameorigin=https%3A%2F%2Fcrm.zoho.com
      • How to print envelope labels from Zoho CRM

        Can anybody give me any clue how to print envelope/package labels directly from Contacts view? Regards, Alexandru Moderation Update: The Canvas Print View, which also facilitates the formatting of mailing labels, is now available! Learn more here: Zoho
      • Data Import: New interface, improved field mapping, and more

        Hello everyone! We’ve redesigned the data import process to ensure accurate field alignment and verify that every column in the uploaded file maps correctly with Desk fields before import. Here's how: Streamlined Import Steps Importing data is now more
      • Address labels

        Hi, we've been searching for a long time for a simple way for our employees to print address labels using a Dymo Label Writer 450. We came up with two alternatives that work, bur aren't really optimal.  First one is WebMerge. Webmerge is a great application that does 100% what we need but it is way too expensive for our needs. We only need to print a couple of labels per month. The second one is the integrated print tool in Zoho CRM, (Print preview) You would think this is the obvious way to do this
      • Print Labels

        How can I configure my address to print my labels like this: Name Mailing Address Mailing City, Mailing State Mailing Zip Country Instead of: Name Mailing Address Mailing City Mailing State Mailing Zip Country Thanks!!!!
      • Mailing labels - Improperly formatted

        All I'm trying to do is print one, properly formatted, mailing label. I'm in the Contacts module. In the default "list view" for mailing labels I selected a single client, hit the "more actions" drop down and selected print mailing label. Unfortunately,
      • Printing mailing labels

        The ability to print mailing labels would seem to be an important, basic, function of a good CRM. I find it very surprising that this has still not been addressed adequately by Zoho. When trying to use the existing "mailing label" included: 1. the data
      • Pageless mode needed to modernise Writer

        When we switched from GSuite to Zoho, one of the easiest apps I found to give up, was Docs. In many ways, Writer has always been more powerful than Docs, especially in terms of workflows/fillable forms/etc. However, I went back into Docs because I notice
      • Zoho Projects - Visual improvement to parent and sub-task relationship

        Hi Projects Team, My feature request is to improve sub-task visibility. Please see screenshot below. I really think parent child relationships could be visually improved. Even if the first letter of the parent task was inline with other same level tasks
      • API method to get activity feed in Recruit

        Hi community, I'm trying to figure out - is there any API method tto get information about datetime when Recruit/Candidates record tag where added?
      • Printing Mailing labels

        Is there any way to adjust the size of the printing labels? or product would I use to print labels from Zoho? Thanks, Josef Krieger Moderation Update (14th April 2025): We have another post discussing the same topic with votes and feedback from users.
      • Default to Current Date

        I'm importing data from a excel spread sheet that does not have date column and I'd like the date column in the Zoho Database to default to the current date. Any way I can do this?
      • Different Company Name for billing & shipping address

        We are using Zoho Books & Inventory for our Logistics and started to realize soon, that Zoho is not offering a dedicated field for a shipping address company name .. when we are creating carrier shipping labels, the Billing Address company name gets always
      • Make Packages from multiple sales order of a single customer

        Our customers sends orders to us very frequently, some times what customer wants is to ship items from 5 to 6 sales orders in a single shipment. it will be very nice if, zoho can implement this function, in which we can select items from other sales orders of the customer.
      • Show Custom Button in Portal Listview Canvas

        I have created a custom button that shows in a list view of deals (internally I can see it). I have permissions to allow this button on the portal. But it is not displaying in the canvas list? Before I do too much leg work, is this function allowed?
      • Zoho Sites "pages" management page

        I have 80 plus pages on zoho sites. When I go to the "pages" link to view and edit pages, They are not in any kind of order, so I spend lots of time searching for pages when I need to edit or create new. How can I change the view order of all my pages
      • AI feature in Zoho Desk suggesting answers based on past ticket threads

        Hi I would like to suggest something that would be very useful : instead of suggesting answers based on the Knowledge Base, I think it would be great if Zia could analyze the history of all customer and agents threads, to suggest answers in new tickets.
      • Advanced Customization of the Help Center using JavaScript

        Hello everyone, The Help Center in Zoho Desk can be customized by using HTML and CSS to provide structure and enhance the page's appearance—but what if you want to add interactive and dynamic elements? You can add these effects with JavaScript, a programming
      • Introducing Zoho POS for the Kingdom of Saudi Arabia

        Hey everyone, We are excited to kick-start December with a completely personalized edition of POS for retail businesses in Saudi Arabia to help run your operations with ease. It offers four different subscription plans—Free, Standard, Professional, and
      • Unveiling Zoho Sites 2.0 - A new dimension in website building

        Dear Zoho Sites Users, We are thrilled to announce the launch of Zoho Sites 2.0 today! This refresh represents a significant step forward in the capabilities of Zoho Sites and is crucial for creating a lasting and positive impact on our customers' businesses.
      • Script Editor not an option

        I am trying to apply a script to a sheet and Script Editor is not an option. I don't want to go outside Sheets to do this (like Creator) if it can be done inside Sheets.
      • Not able to link email text.

        Kindly check Zoho Sites. I am unable to turn a text into a email link. The save button does not work. Kindly try yourself to see it not responding to save.
      • Migrate data from old to new account

        Hy, Have one Old Zoho Notebook Account with Data , want to migrate that whole Data to New Zoho Notebook Account which is in Zoho One . Is that possible ? If Yes then how?
      • Zoho Analytics Regex Support

        When can we expect full regex support in Zoho Analytics SQL such as REGEXP_REPLACE? Sometimes I need to clean the data and using regex functions is the easiest way to achieve this.
      • Add Custom Reports To Dashboard or Home Tab

        Hi there, I think it would be great to be able to add our custom reports to the Home Tab or Dashboards. Thanks! Chad
      • landed cost-need help with different currency under the same bill

        I’m having trouble recording landed costs in Zoho Inventory/Books. My purchase order is in CNY, but the landed cost (freight) I pay is in USD. Zoho forces everything under the same bill to use one currency, so I can’t enter the landed cost in its actual
      • Pricing Strategies: #1 Nuances in Pricing

        When Clara first opened her digital printing shop, pricing was simple. She sold handmade greeting cards, planners, business cards, and other physical items at fixed label prices, individually and in bulk. One SKU, one price, one bill, and that's all it
      • [Free Webinar] Learning Table Series – Education Management in Zoho Creator

        Hello Everyone! We’re excited to invite you to another edition of Learning Table Series, where we showcase how Zoho Creator empowers industries with innovative and automated solutions. About the Learning Table Series The Learning Table Series is a free,
      • Move attachments from one module to another with Deluge

        I have created a button that works just like the convert button for my custom modules. I would like this custom function to move any attachments in this record to the new module. I can't seem to find any documentation on how this can be accomplished.
      • Help in function code

        Hi, could someone look at the code below and tell me what 's wrong with it? After a deal creation or edition the code should find the related Account, than all open Deals for that Account and copy the field Total_Open_Deals from the Account record to
      • Automation Series: Auto-update Phase Status

        Hello Folks! You can auto-update your phase's status based on status of underlying tasks using custom functions. In this series, we will showcase how to create and run custom functions, using Deluge, with ease. Follow the steps below and automate your
      • how to add subform over sigma in the CRM

        my new module don't have any subform available any way to add this from sigma or from the crm
      • Zoho Projects - Project Details on the Project Menu

        Hi Project's team, I've helped may businesses setup and use Zoho Project and one thing I see time and time again is confusion on where to find the Project Details information. I would be much more intuitive if Project Details was on the menu before Dashboard.
      • Zoho Projects - Add Feed to Project Tabs

        Hi Projects Team, I'm working on a lightweight communications requirement for one of my customers in relation to communicating with their client users via Zoho Projects. I noticed that the Feed is only available in the Collaboration section, but you can
      • Flow - Fetch info from drop down in another module

        I am running into a road block which I thought would be a simple task. My goal - The account is assigned to a "route" which can be selected from a drop down menu and adds a tag to the account accordingly (easy enough). Now when I create a task for this
      • Show unsubscribed contacts ?

        Hello, I would like to display the unsubscribed contacts. Unfortunately, I do not have this subscription type as described in the documentation (https://help.zoho.com/portal/en/kb/marketing-automation-2-0/user-guide/contacts/contact-management/articles/subscription-type-24-1-2024#Subscription_Type_field.)
      • Zoho Developer Community Hackathon 2025 is LIVE!

        Hey developers! It’s that time of the year again — the Zoho Developer Community Hackathon 2025 is officially open for registrations! If you’ve been waiting for a chance to stretch your skills, try something new, or finally bring that idea to life, this
      • Converted Leads Not Showing in Lead Reports

        Converted leads are not showing in the Lead reports. How can I make converted leads visible in the report,
      • Text widgets in dashboards

        Having a text widget in a dashboard would help immensely. It would allow adding links to related documents, relevant CRM views, etc. It would allow adding explanations of the data displayed in the other widgets, about how to interpret them or about filtering.
      • Next Page