This section is maintained by the qooxdoo community. Here is how you can contribute.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

contrib:qooxdoo-contrib2.0 [2012/07/27 15:54]
c.boulanger [Fine Prints]
contrib:qooxdoo-contrib2.0 [2012/09/20 16:42] (current)
thron7 [Existing Package Managers]
Line 11: Line 11:
   * The **generator** will support inclusion of contributions in application projects through the existing //contrib:%%//%%// pseudo URL schema.  (th)   * The **generator** will support inclusion of contributions in application projects through the existing //contrib:%%//%%// pseudo URL schema.  (th)
  
-==== Fine Prints ====+===== Requirements =====
  
 === Contributers Workflow === === Contributers Workflow ===
Line 40: Line 40:
       * **cb**: But where else? it makes little sense to have to give it on the command line when registering the contrib update (impractical, error-prone).       * **cb**: But where else? it makes little sense to have to give it on the command line when registering the contrib update (impractical, error-prone).
  
 +===== Implementation Considerations =====
 +
 +==== Existing Package Managers ====
 +
 +People have justifiably pointed at existing package managers, and asked the question why to re-invent this wheel for the umphteenth time. I could see a generic  package manager be used with qooxdoo, given the following technical constraints:
 +
 +  * Not bound to an OS environment. I.e. it should not ask you for root permissions and try to install to /usr :-) . You should be able to pass it a path, under which it would download all contribs.
 +  * Json-based config. The PM needs to traverse library dependencies. These dependencies should be taken from Json files, ideally from our Manifest.json.
 +  * Good integration with Python. Although not mandatory (the Generator could always invoke it via shell), it would be nice if the Python integration where good. Means, it should be available as a Python library, Python-only, which we could ship with the SDK.
 +
 +Looking at that, the act of downloading a couple of archive files, and extract them into a local path, is a snap with Python. The only true challenge is detecting recursive dependencies, including version numbers, following them, and handling errors along the way ("failed to retrieve version x of y"). But not undoable with Python.