-
-
Save dajare/788086 to your computer and use it in GitHub Desktop.
<wolf-plugins> | |
<wolf-plugin> | |
<id>ckeditor</id> | |
<version>1.2</version> | |
<status>stable</status> | |
</wolf-plugin> | |
</wolf-plugins> |
I was already planning to add some sort of cache to Wolf CMS for not only the plugin update information, but also the Wolf CMS version number information. It just been a low priority for now. There are more points (Gravatar results for example) where Wolf could cache information so perhaps the time is right to start thinking about and implementing a central cache directory for Wolf.
As for the XML... my plan was to dynamically generate the XML "file" from repo information. A short url available an accompanying "hits for the update information" is also very possible. We actually already have a short code available (more or less) http://www.wolfcms.org/repository/123 is the view for a plugin's details. Apart from adding a CNAME to DNS to create plugins.wolfcms.org, it shouldn't be much work to add a path to the dynamically generated XML.
By the way... as soon as I've cleaned up the code a bit, I'll make the repository plugin available through GitHub so the community can help add to / fix the repository.
@dajare - Sorry for the run away discussion here David. :P
Just another short additional remark concerning the repo... I want to add OAuth support so people can change plugin repository information through an API. This would allow developers to write/use a small command line script to create a release in one go:
- Tag release in GitHub
- Package up release in zip file
- Create new release in plugin repo
- Upload zip file to plugin repo
- Update other plugin repo information
- Done. (all automated)
Great ideas, I think all of those would be very valuable to and welcomed by the community.
mvdkleijn wrote:
@dajare - Sorry for the run away discussion here David. :P
Not at all! Putting up a gist like this that could spark a conversation like the one you and Craig are having is about right for my level of contribution! :D Great stuff!
Could Wolf cache the version information somewhere? Attach a TTL to it (X days?), and update when it's expired. Also update when new plugins are installed.
Instead of using another service and having separate XML files - what about having the repository doing both, dynamically? A) Generate a short-ish URL for each plugin (plugins.wolfcms.org/a12bc3) and B) have some code respond to that which sends the relevant XML header + content.