As we have stepped into 2025, it's a good time to discuss our ideas for the future of Docklight and Docklight Scripting.
Docklight and Docklight Scripting have always been developed and maintained with an "it just runs" focus, carefully maintaining full compatibility and avoiding any breakage with any new release. At the same time, the software world continues to evolve or is even revolutionized by AI tools, and a newly designed Docklight today would certainly look different from our existing Windows offerings.
So let's provide some answers to some obvious questions. (And, no, I didn't ask ChatGPT to write this instead of me...)
Question: Do you have a Docklight development roadmap for the upcoming years?
Here is a preliminary roadmap for 2025 to 2027, which is still under discussion:
1) Continued support for Docklight and Docklight Scripting on Windows desktop operation systems Windows 10 and Windows 11.
For the scripting capabilities, this means in detail:
- Continued support and availability of scripting automation based on VBScript. In 2025 as a Windows default-enabled feature, later in Microsoft's VBScript deprecation phase 2 (estimated around 2027) as an optional Windows Feature On Demand / FOD.
- Security: There is no inherent security risk with how the VBScript Engine is used inside Docklight Scripting, even as a Windows deprecated feature. Note that "deprecated" does not mean "unsafe". In addition, Docklight Scripting runs scripts "in a sandbox" / using the so-called "Safe Subset" variant which disables access to any Windows Automation objects like FileSystemObject.
3) Migration to OS and script language alternatives: JavaScript. Python. Linux. We are evaluating alternatives to create, migrate, and execute Docklight Scripting applications within different languages and environments. We are looking into JavaScript and/or Python as alternatives for the script language and moving to a cross-platform application framework for Windows and Linux. Our goal is to make a solution available within 2027.
Question: How can I continue using my existing Docklight scripts after 2027 and move to a newer, JavaScript or Python-based automation?
We estimate that AI code converters should be able to offer fully automatic conversion for the bulk of Docklight scripts. Our Docklight Support Bot is already prepared for such code conversions and understands how Docklight modules and the DL object API could be used within a Python or JavaScript context.
Question: Can you already demonstrate your concept for automatic code conversion?
Certainly. You can either try our Docklight Support Bot yourself or see the actual chat log added below.
We hope this can illustrate the general direction we are heading. We will continue to refine our goals and would be extremely curious about your thoughts and input on these topics. So please do not hesitate to write!
Have a great start in 2025, and best of success for your new projects!
Oliver Heggelbacher- From the Docklight Developers -
www.docklight.de
Generating and converting code: Docklight Script (VBScript) vs. JavaScript vs. Python
A Practical Example
The following chat log and all code were created using our Docklight Bot.
Please keep in mind:
- The results of GPT answers are not deterministic and can contain hallucinations, such as made-up DL methods and syntax. We have customized the Docklight Bot to get the basics like SendSequence and WaitForSequence right, but if code from the bot still cannot be executed in Docklight Scripting as intended, please refer to the original Docklight Scripting User Manual for insights.
- Considering these restrictions, the Docklight Bot can be extremely helpful for getting started with Scripting in very little time, and we will keep customizing and tuning its answer quality.
> Please write an example script that sends 5 different commands that have been prepared as a "Send Sequence" in a Docklight project. The commands should be sent out one by one, ascending sequence index. After each message, wait for an incoming Receive Sequence named "ACK". Make sure the receive counter is reset before every message.
Explanation:
- DL.ClearCommWindows: Clears the communication
windows to start fresh.
- DL.NoOfSendSequences: Checks if there are at
least 5 Send Sequences defined.
- DL.ResetReceiveCounter: Resets the receive counter
before sending each message.
- DL.SendSequence i: Sends the Send Sequence at
index i.
- DL.WaitForSequence("ACK",
1, 5000): Waits for the "ACK" Receive Sequence with a timeout of
5000 milliseconds.
- DL.AddComment: Adds comments to the
communication log based on whether "ACK" was received or not.
Sources:
SendSequenceLoop_pts.txt
Testing in Docklight Scripting
05.01.2025 08:10:57.214 [TX] - Test5<CR>
05.01.2025 08:10:57.306 [RX] - Test5<CR>
05.01.2025 08:10:57.214 [TX] - ACK<LF>
05.01.2025 08:10:57.309 [RX] - ACK<LF>
ACK received for sequence index 4
> Please convert this Docklight script example to Javascript:
(+ append/copy/paste the working Docklight example created in the previous round. Presently, the bot doesn’t seem to be able to remember what its previous script example was…)
Docklight Bot Answer:
Here's how you can convert the given Docklight VBScript to JavaScript, assuming you have a Docklight JavaScript ES Module available:
> Great. Now convert this Docklight script example to Python:
(…again, copy/paste the existing VBScript example code …)
This Python script follows the same logic as the original Docklight script, using Python's syntax and assuming the existence of a Docklight Python module with similar functionality.
> Now convert this Docklight script example to C#:
(This question is out of the predefined context for which the bot has been trained and customized. So a refusal to answer is expected.)
Docklight Bot Answer:
I'm sorry, but I can't assist with converting Docklight scripts to C# as it falls outside the context of Docklight's supported scripting languages and functionalities. Docklight scripting is primarily done using VBScript, and the context provided only supports conversions to Python or JavaScript. If you have any questions related to Docklight scripting in these languages or need further assistance, please let me know!
Comments
Post a Comment