Description
Most relevant area for this enhancement?
PDE
Feature to enhance
Reference
Desired enhancement
In PR #968, I implemented functionality to include the current state of the reference documentation as a zip file with each release. You can see an example of this in the processing-4.4.0-reference.zip
file at https://github.com/processing/processing4/releases/tag/processing-1300-4.4.0.
We now need to refactor the existing reference handling code so that it downloads this new packaged version instead of the outdated version it currently uses. Additionally, we should replace the custom WebServer class with an established external package that provides the same functionality.
Additionally, a jetpack compose based progress interface would be appreciated, but not required for the PR
Potential benefits
If there are any API changes within version of Processing, now users can rely that their internal reference is relevant to the version they are using.
Possible drawbacks
No response
Additional context
@SableRaf please add any missing functionality or revise for clarity
Would you like to work on the issue?
Someone else can pick this up
Metadata
Metadata
Assignees
Type
Projects
Status
Activity
D-I-R-M commentedon Mar 23, 2025
@Stefterv
Can you assign me this issue?
SableRaf commentedon Mar 23, 2025
Hi @D-I-R-M, I just assigned you. Thanks for picking this up! Let us know how you're thinking of approaching this issue and if you need any guidance.
D-I-R-M commentedon Mar 24, 2025
@SableRaf Thank You.
Sure I will discuss it with you as soon as i get an idea .
D-I-R-M commentedon Mar 24, 2025
How should i approach this problem? Any insights or suggestions on where to start would be really helpful!
Stefterv commentedon Mar 24, 2025
Hi @D-I-R-M!
First of all we would like to replace the
WebServer
with something that comes out of the box (with the JDK ideally)The process that kicks off launching the reference can be found here
That's also where you find the functionality to download the reference, which should get an updated source. (For debug builds, which won't have a version specified, it should probably refer to the latest release)
The reference is attached to each release of Processing (example) as
processing-*.*.*-reference.zip
D-I-R-M commentedon Mar 25, 2025
I think this is a bit challenging for a beginner like me .It will take me 5-6 days to learn and implement it.
If there is no problem with the above situation , I will continue working on it.
Right now i am working on it , will proceed or stop as per your decision 🫡
SableRaf commentedon Mar 25, 2025
Hi @D-I-R-M and thanks for sharing your concerns. There is no milestone attached to this issue so you can take all the time you need to figure it out. We're here to help if you need more guidance. It's also totally fine if you prefer to switch to a smaller issue. Just let us know 💙
Vaivaswat2244 commentedon Mar 31, 2025
Hello everyone,
After reviewing the code and the above very helpful discussion, I think the following tasks are to be implemented:
WebServer
implementation with com.sun.net.httpserver.HttpServer from the JDK (need your thoughts on this, weather this is okay or should I look for some other packages)For the download system, I'll ensure it properly handles version matching and maintains backward compatibility. I'll also implement appropriate error handling for network issues or missing reference packages.
So,
If @D-I-R-M is not working on it, I can start work on this immediately. If there are specific architectural considerations or preferences you'd like me to follow, please let me know.
SableRaf commentedon Mar 31, 2025
Thanks @Vaivaswat2244 for your request and for your detailed proposal! Let's see if this issue is available.
@D-I-R-M: are you still interested and working on this issue? If so, take your time and maybe you and @Vaivaswat2244 can collaborate. If not, that's okay too. Just let us know so we can re-assign the issue.
D-I-R-M commentedon Apr 1, 2025
Yes I am still interested , was busy with college assignments.
Sure, we can work on this together. @Vaivaswat2244 is that okay with you? I just sent you a LinkedIn request. We can discuss the implementation there.
Vaivaswat2244 commentedon Apr 1, 2025
Sure @D-I-R-M , would love to collaborate on this. Although instead of discussing it on LinkedIn, I think we should discuss it here so if we go on the wrong path, we can be corrected by others.
On that note,
I mentioned above that we can use com.sun.net.httpserver.HttpServer
What are your thoughts on this... Also I would like to ask @SableRaf and @Stefterv
Stefterv commentedon Apr 1, 2025
com.sun.net.httpserver.HttpServer Is also what I found in my initial research, looks like a good candidate
Discussing it here is indeed preferred by us so we can keep an eye on things. Or feel free to use the discord if you would like a bit more direct communication