Hi all,<div><br></div><div>I am working on a WP theme framework that will have a large number of dependencies on 3rd party code libraries. My intent is to provide theme developers with a simple interface (in the WP Admin dashboard) that allows them to easily import/include/update/delete 3rd party libraries--both server side *and* front end code libraries.</div>
<div><br></div><div>I'm envisioning a system similar to a Linux package manager. With a system like this in place, theme developers using my framework could have easy access to all their favorite libs (above and beyond what is available from the WordPress default options), but I wouldn't have to bundle those libs with the theme. Additionally, this system would provide a standard API that child themes could use to verify dependencies upon being activated (and prompt the administrator to update or download those dependencies if need be).</div>
<div><br></div><div>So my general question is: how can I build this functionality into my theme framework without it being rejected by the official WP theme review process?</div><div><br></div><div><br></div><div><br></div>
<div>Here are the requirements:</div><div><ol><li>Theme developers can import and update 3rd party libraries independently. That is, without updating the theme framework itself.</li><li>Child themes and the theme framework can check for dependencies before proceeding with certain actions.</li>
<li>Developers and site admins can view a list of installed libraries and be notified of available updates.</li><li>3rd party libraries are limited only by whether or not they're publicly accessible on the Web.</li><li>
The theme framework would not come with any 3rd party libs installed. Instead, each library would be defined as a subclass of some base class that manages details like:</li><ol><li>name of lib</li><li>remote address to connect to for downloading</li>
<li>routine for connecting to server</li><li>routine for unpacking / writing files to the file system</li><li>installation path</li><li>routine for determining version</li></ol><li>Theme framework would maintain a master list of all 3rd party libraries by maintaining the directory of subclasses. If a developer encounters the need for a particular library that isn't defined, she can easily create her own custom connector object (and submit it for inclusion in the next framework release).</li>
</ol><div><br></div><div><br></div><div>Here are some specific concerns:</div></div><div><ol><li>What are the rules regarding WP themes making connections to other servers (e.g., svn repos, github repos, etc.) ?</li><li>What are the rules regarding WP themes downloading and unpacking files (e.g., a new version of some code library) from other servers?</li>
<li>Does WordPress provide any kind of standard API for this already?</li></ol><div><br></div></div><div><br></div><div>Thanks in advance for your help and consideration.</div><div><br></div>