Proposal for IDE - zip upload (enhancing the forum)

Proposal

In the IDE is a new fixed inbuilt Tool
“Upload and share in Processing Forum”.

It :

  • executes ctrl-t on all tabs,
  • zips all files and uploads to a server (like weshare) that the Foundation provides and
  • returns a link to the zip that
  • automatically is posted in a new post in the forum that the user can then proceed to edit.
  • The post is opened in browser.

Hence the forum is simplified since the comments

  • “please show your code,
    please format your code correctly,
    please use ctrl-t on your code,
    we can’t run your code because we don’t have the images / mp3…”

are no longer necessary.

A lot of frustration for beginners and helping people would end.

1 Like

Nice idea but for large sketches we should still encourage users to provide short code snippets demonstrating what they want to know. Creating the code snippets might highlight the problem for the user and simplify the responder’s task. With luck they might even find their own solution :wink:

The last thing I want to do is download a 1000 lines of code, try to follow the programming logic, search the code for the problem or issue and then hack a solution. If I did download the sketch and found the code to be a rats nest I would simply move onto something else.

1 Like

As so often seen on many posts …

:joy:

@Chrisir: the Intention is good but I need to agree with @quark.

Additionally, there is a chance that someone who tries to extract the potential problem to post a minified version will come across the broken code line(s) and be able to fix the problem themselves.

Cheers
— mnse

1 Like

Just allowing the upload of a zip for sharing would be a welcome addition to the forum; not everybody knows how to use git and github/gitlab/…

The way you propose using an external server is not needed if we were allowed to upload zip files. I think it’s considered a security risk for those that download a zip and hence it’s not allowed; but downloading from an external server can be just as dangerous :wink:

2 Likes

A beginner usually doesn’t know what a mcve is.

Most beginner snippets aren’t big. And even if, they could state tab and function that is relevant.

I think my proposal is still valid.

1 Like

I never mentioned mcve :wink: Personally I would simply ask the poster to trim the sketch to a minimum that still shows the problem / issue.

Generally the quality of the question gives me an insight into the posters knowledge and experience and I try to respond at their level. Sometimes that is not possible but in that case the poster must push against their own limitations and learn something new.

I agree that this proposal is valid and would benefit some, but it also encourages people to simply upload their code to get a fix without seriously making the effort to solve the problem themselves.

Although the poster gets a solution I think it is unlikely to help other forum readers / users because the volume of code makes the problem and solution difficult to find and understand.

4 Likes

cf. Help with coding game (catch falling food)

2 Likes

Hi, sorry i didn’t understand your reply - cf. Help with coding game (catch falling food). are you saying to post the zipped file of the falling food game?

this post was not directed at you but at the members of this (other) discussion here

Hello folks,

Any topic on sharing code should also include the importance of respecting the original work and author of that work.

Related:

:)

Hi @chrisir and thanks for the suggestion. I’ve been exploring similar ideas for a while and I have some thoughts.

First, I’ll bring up two related points:

  1. Since Processing version 4.0b1, you can bundle sketches as double-clickable .pdez files and Libraries/Modes/Tools as .pdex files for easy sharing and installation. (source: https://github.com/benfry/processing4/blob/58ff6a3ca5c9c2f26a81d4014edc5d5ba0abf4c7/build/shared/revisions.md#processing-40-beta-1)

  2. Starting with Processing 4.2, you can use pde:// URLs to open .pdex and .pdez files from the internet or a local machine (source: Register custom browser protocols for .pdez and .pdex files · Issue #559 · benfry/processing4 · GitHub)

Here’s a demo of pde:// links.

The infrastructure for a centralized cloud-based solution may be out of reach in the short term. It brings a lot of complexity: data storage, scaling, potential liability, privacy regulations, hosting, maintenance, etc.

A compromise may be to add a File > Export to .pdez bundle option to the PDE—this could be a good feature request for the Processing repository.

Forum members could then upload their .pdez files to their preferred file hosting service.

One thing to consider is that sharing code via external links would expose the forum to an increased risk of link rot as those files stop being hosted, making older posts less useful as a reference, so that is also not a perfect solution.

In summary, I think there is a lot of value in the proposal for certain use cases—like sharing your work with a teacher for evaluation/grading—but implementing it on the forum may have unintended side effects and is more complex than it might seem.

Additionally, @quark and @mnse also made some really good points about the value of asking people to post short and self-contained code snippets.

On a related note, it would be great to see more experimentation with the .pdez format from the community as it could enable some really fun use cases like online Processing sketch galleries for example.

2 Likes

I’m intrigued by the .pdez bundle possibility, but I cannot find how that’s accomplished from the editor. I’ve looked in all the menus and tools. I’m running v4.3 and I’m on Linux if that matters. Thanks for any help to find what I must have overlooked.

1 Like

Hi @PerryJohnson and thanks for your question!

A .pdez file is just a zipped sketch folder with the extension changed. There isn’t a way to export a bundled sketch from the PDE yet, but you can manually compress your sketch folder and edit it to change the extension to .pdez. Then double-click the file and it should automatically open in the PDE.

1 Like