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

enhancement: Gist direct saving / reading (completion) #19

Open
mitchcapper opened this issue Aug 18, 2022 · 2 comments
Open

enhancement: Gist direct saving / reading (completion) #19

mitchcapper opened this issue Aug 18, 2022 · 2 comments
Labels
enhancement New feature or request

Comments

@mitchcapper
Copy link

The gist library support (or any library source including onedrive) would be great for more rapid connections between workbooks.

There seems to be much of the work done, and at least github token api seems like it wouldn't be too far from fully working (although the oauth code seems like it would be fine too just can't test that easily).

The ticket can at least track the feature if there isn't any additional information for now.

Currently using an external app for some synchronization of named formulas across files but would be great here.

@jack-williams jack-williams added the enhancement New feature or request label Aug 18, 2022
@jack-williams
Copy link
Contributor

jack-williams commented Aug 19, 2022

We implemented save-to-gist in an earlier prototype but the feature did not make the public release.

This is something I am considering revisiting. One reason why we have not turned this back on is because we have had some feedback from users that gists are not ideal for managing libraries. I've been looking at more robust publishing and sharing techniques, but nothing concrete so far.

Happy to mark this is an enhancement request for tracking and feedback.

@mitchcapper
Copy link
Author

I think the world of community extensions, especially of small amounts of code, can be complex to get right.

There are some examples however of gists being used in similar fashions like home assistant for their blueprint system: https://www.home-assistant.io/docs/automation/using_blueprints/

In fact their solution that was only a couple hundred lines of code worked for GH repos, gists, and their forums. It wasn't a perfect solution as it doesn't currently allow syncing updates down. It also doesn't have this projects problem of needing to write code into libraries for many users.

Now home assistant doesn't allow syncing with gist updates currently but that is not really due to technical gist/github limitations.

There are some benefits to gists including

  • Very low bar for entry, virtually anyone can easily create a gist
  • Revision history, something I think everyone agrees is key for any sort of code
  • Static URL, some similar systems often pastebin style frequently run into the issue that a link is to a specific revision, even if they offer a link to the latest. With Gists it is always the latest version that is linked, but historical copies are available.
  • Guaranteed version identifiers, based in git means there are git hashes that can be referred to, if trying to replicate an exact environment this is easily doable
  • While gists are thought to be singular for files, they do actually support multiple files in one gist and are nicely viewable (allowing for easy collections by authors of small amounts of code) ie: https://gist.github.com/jenchanws/5c8dedb826c775fc2a1521c9b9104ea9
  • Given gists are full GH repos they can be forked cloned and even imported to traditional GH projects or other source control platforms out there
  • Gists can easily integrate with other discovery platforms or forums with bot embedability and linking.

Not all of these things are likely important for this plugin, but many of them probably are useful. It also gives a quiet way of dealing with conflicts as the conflict version can be committed right into the tree prior to being overwritten.

Excel formulas are likely to be small amounts of code I think lends itself to requiring simple sharing and consumption, and short of dedicated solutions around AFE may make things more cumbersome. AFE clearly already strives for this by allowing quick copy and pasting of formulas, but copy and paste is rarely a great sharing solution.

Given the CORS restrictions out there a widely used platform like GH may give users some level of autonomy of library design without the complexities of supporting many different platforms.

An imperfect solution that works today can be greatly preferred to the perfect solution just over the ever moving horizon (not to mention you already have most [all?] the code to support it:). Just do what anyone who wants to abandon a possible child feature does and hide it under an experimental beta expert only flag.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants