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

search github for packages #41

Open
umlaeute opened this issue Jun 17, 2015 · 10 comments
Open

search github for packages #41

umlaeute opened this issue Jun 17, 2015 · 10 comments

Comments

@umlaeute
Copy link
Contributor

make this configurable, so multiple projects can be used as package providers

@umlaeute
Copy link
Contributor Author

umlaeute commented Jul 2, 2015

the biggest problem I expect is: how to enable multiple projects?

  • I don't think it makes sense to search all of github for released fiels matching a certain pattern (apart being impossible, this would just take forever and generate a large number of false positives).
  • I don't think we should hardcode the searched projects in the plugin, as this makes maintainance a nightmare (i expect projects to come and go more frequently than deken releases (once it has stabilized enough).
  • so we should probably maintain a page that lists all the projects and that can be queried by the plugin.

@chr15m
Copy link
Contributor

chr15m commented Jul 2, 2015

I was thinking a bit about this and had a look at the Github API. It's possible to search issues, but not releases. I think we can search all of Github as follows:

  • Developer must make an issue which includes the text "Externals release" and add a tag to it with the label "pd-externals-release".
  • Inside the issue they have links to the release on Github for each platform.

It's a hack and maybe too onerous, I am not sure.

@umlaeute
Copy link
Contributor Author

umlaeute commented Jul 2, 2015

accessing https://api.github.com/repos/${USER}/${PROJECT}/releases gives me a nice json with all the releases and the attached files. i thought about using that, and doing a dumb pattern matching.

it's not exactly search, but we have to pattern match anyhow, to get the architecture. (I was really assuming that the files must follow the same naming-scheme as on puredata.info).

@umlaeute
Copy link
Contributor Author

umlaeute commented Jul 2, 2015

but using your idea, how about this:

thus each repo-owner only needs to create a single issue, marking their repository as "to-be-included"; and from then everything works as if it were puredata.info...

@chr15m
Copy link
Contributor

chr15m commented Jul 3, 2015

Great!

@umlaeute
Copy link
Contributor Author

for performance (crawling through multiple webpages) and implementation reasons (parsing json in tcl), I wonder whether the collecting should actually be done on some server (e.g. a cron-job on puredata.info).

@umlaeute umlaeute added this to the 0.1 milestone Jul 13, 2015
@chr15m
Copy link
Contributor

chr15m commented Jul 13, 2015

I feel like that gives us a single point of failure when having multiple backends seems like a way to avoid points of failure. If we require the user to create an issue for each release with the name of the package, not just one, then the performance hit would not be large as we can also add a search string. So I don't know.

@umlaeute umlaeute removed this from the 0.1 milestone Jul 13, 2015
@pierreguillot
Copy link

Hi,
I manage to deploy my PD libraries on Github with Travis CI and Appveyor. Here is a dummy repository for testing. It would be great if the Github binaries could also be available via Deken, do you have any news about this? One problem would be their naming because Github doesn't support parentheses but this could be solved by using another character.
Anyway thanks for your work !

@umlaeute
Copy link
Contributor Author

Rather than putting that logic into the plugin, i think a better place to implement this would be the webinterface (https://deken.puredata.info/).
This way, older plugins would automatically benefit from whatever additional source (also, it is much easier to write code in Python than in in Tcl).

Apart from that, no progress has been made on this topic.

@umlaeute
Copy link
Contributor Author

sidenote: i guess most Pd installations out there do not have https enabled, so these wouldn't be able to download files from github (and i don't really feel like setting up a proxy, that could be abused for all kinds of things)

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

No branches or pull requests

3 participants