Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Autosave #1692

Open
wants to merge 4 commits into
base: develop
Choose a base branch
from
Open

Autosave #1692

wants to merge 4 commits into from

Conversation

alexdaversa
Copy link
Contributor

Hi Ehsan,

Proposing to add an Autosave tool via hooks. It comes preconfigured on install disabled (user opt-in) with a default interval of 15 minutes. Clicking the pushbutton toggles functionality on/off and shift-click allows to set interval between saves.

I developed this for the firm I work for, KSS Architects, and we have been using this tool as part of a custom extension for about a year now.

By default, this will not try to save unsaved projects, detached models, and families. The shared library drive at our office is write-protected so I have not had the need to check file paths against an exclusion list, but it could be added in the future.

For non-workshared files, this saves over the project file (and Revit creates the .0001.rvt backups). For workshared files, both fileserver and BIM360/ACC-based, it saves over the local only. This avoids sync conflicts. If the file is closed without syncing, Revit prompts the user to either keep their changes or discard and start from the last sync.

…selection is changed to nothing. other values considered include 0, which selects the project phase information, which i don't believe is supposed to be selectable, and may cause more confusion than it's worth.
@eirannejad
Copy link
Collaborator

This is incredible. Thank you!

@alexdaversa
Copy link
Contributor Author

Noticing it included two commits on my rebase that are unrelated to this feature--f092548 and 5faf951 that can be removed.

@eirannejad eirannejad added the Extension Hooks Issues related to pyRevit hooks [subsystem] label Jan 7, 2023
@eirannejad eirannejad self-assigned this Jan 7, 2023
@jmcouffin jmcouffin mentioned this pull request May 31, 2023
@jmcouffin
Copy link
Contributor

@alexdaversa
Last meetup, we discussed a bit the functionality.
While definitely a great piece, we were a bit scared to bring that in as part of the default features of pyRevit.
We would love to keep this available, but maybe more like a specific extension that is not enabled by default.
If you agree, would you mind creating the extension as a separate public repo and just make a PR to add it to the list of publicly available extensions?

in here https://github.com/eirannejad/pyRevit/blob/develop-4/extensions/extensions.json

@github-actions github-actions bot added the needs-more-info Issue required to follow the bug report template. Triggered by the stale issue workflow label Mar 17, 2024
@alexdaversa
Copy link
Contributor Author

@jmcouffin I'd be happy to provide this feature as an extension although it will take me some time as I have become busy with other personal commitments.

I would also be interested to learn from the greater team what about this tool is causing hesitancy to bring into the base install. I am open to modifying the functionality of the tool based on this feedback to improve it.

@github-actions github-actions bot removed the needs-more-info Issue required to follow the bug report template. Triggered by the stale issue workflow label Mar 20, 2024
@jmcouffin
Copy link
Contributor

@alexdaversa

hesitancy to bring into the base install

Mostly:

  • Save temporary / unwanted changes and unable to go back (transaction history gets cleared after a save)
  • Save occurring during another opened/complexed transaction

provide this feature as an extension

I could help with that if you just create a public repo and allow me to PR

@github-actions github-actions bot added the needs-more-info Issue required to follow the bug report template. Triggered by the stale issue workflow label Mar 20, 2024
@jmcouffin
Copy link
Contributor

@alexdaversa it is being used https://discourse.pyrevitlabs.io/t/threading-autosave/7757 🍾

@github-actions github-actions bot removed the needs-more-info Issue required to follow the bug report template. Triggered by the stale issue workflow label Sep 12, 2024
@alexdaversa
Copy link
Contributor Author

@jmcouffin I am finally getting around to creating the extension! Apologies to all for the wait. I should have just opened the repo to let you PR against.

I understand the hesitancy to bring this into the main pyRevit repo, and wish Autodesk had built this feature into the main product without those limitations! Until then...

Do you recommend that this tool live as an extra button on the pyRevit tab, a button on the Addins tab, or as its own tab?

@jmcouffin
Copy link
Contributor

@jmcouffin I am finally getting around to creating the extension! Apologies to all for the wait. I should have just opened the repo to let you PR against.

I understand the hesitancy to bring this into the main pyRevit repo, and wish Autodesk had built this feature into the main product without those limitations! Until then...

Do you recommend that this tool live as an extra button on the pyRevit tab, a button on the Addins tab, or as its own tab?

No pb
I'd say making it a separate extension that one can activate at will. A bit like the dev extensions. You could still make it appear in the pyrevit toggles section.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Extension Hooks Issues related to pyRevit hooks [subsystem]
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants