Skip to content

Drag & Drop Project selection#198

Open
AKostiv8 wants to merge 3 commits into
mainfrom
fileinput-section
Open

Drag & Drop Project selection#198
AKostiv8 wants to merge 3 commits into
mainfrom
fileinput-section

Conversation

@AKostiv8

@AKostiv8 AKostiv8 commented Nov 26, 2025

Copy link
Copy Markdown
Collaborator

Solved Problem (#125)

The old approach used a clunky file browser (shinyFiles) that only worked with local directories. Users had to navigate through server folders to find their .xlsx files with the configuration. This was especially an issue for cloud deployments - users couldn't access their local files at all.

Changes

This PR allows users to upload their entire project as a single .esqapp (another naming of zip) or .zip file with native file picker or just drag and drop. The app extracts the archive, loads all configuration files, and lets users edit everything in the browser. When done, they download the modified project as a new archive.

.esqapp/.zip file structure

Project/
├── ProjectConfiguration.xlsx    <-- required
├── Configurations/              <-- required
│   ├── Applications.xlsx
│   ├── Individuals.xlsx
│   ├── ModelParameters.xlsx
│   ├── Plots.xlsx
│   ├── Populations.xlsx
│   └── Scenarios.xlsx
├── Models/
│   └── Simulations/
│       └── ...
├── Data/
│   ├── esqlabs_dataImporter_configuration.xml  <-- required to load observed data
│   └── TestProject_TimeValuesData.xlsx
└── Results/
│   └── ...

How to Test

  1. Take any existing project folder
  2. Zip it (make sure ProjectConfiguration.xlsx, Configurattions folder are inside)
  3. Or take a test project example from tests/testthat/data/TestProject.esqapp
  4. Upload to the app
  5. Make some edits
  6. Download and check the changes are there

Further steps

  1. esqlabsR package should have an export function so users can create .esqapp or .zip bundle e.g:
    exportProjectAsEsqappBundle(projectConfiguration, c("project.esqapp", "project.zip"))
  2. Replace Excel config with JSON - move from ProjectConfiguration.xlsx to a simpler ProjectConfiguration.json file that's easier to read and edit.

@AKostiv8 AKostiv8 linked an issue Nov 27, 2025 that may be closed by this pull request

@nautilus69 nautilus69 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs a release or major version.
Tested locally, drag and drop, .zip and .esqapp files are working as expected.
Minor update: When Importing new .esqapp or .zip files, always asking that the project is unsaved even when the project is saved. which I think it is not an issue.

@PavelBal

Copy link
Copy Markdown
Member

PLease wait with merging, I would like to test it in real life for a while.

@AKostiv8

Copy link
Copy Markdown
Collaborator Author

@PavelBal , Definitely yes, please go ahead and test as much as possible. This is a major update, and it needs thorough testing. We also need support from esqlabsR for the project-bundling functionality, and we should prepare clear communication for current users about the expected app usage flow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

File selection dialog

3 participants