Let's restructure the project #263

hijarian opened this Issue Jan 17, 2013 · 3 comments

3 participants

Clevertech member

@tonydspaniard knowing that we ultimately need the documentation (in two formats) and a large test harness, spanning two languages and both unit-level and function-level, we need to restructure the whole project.

I propose the following changes:

  1. Package for end-users will be built for every release by automatic means and it'll consist of compiled minified CSS, JS and assertions-free non-debug PHP code.
  2. All our end-user documentation will be in separate downloadable package browsable locally and at the same time it'll be in the Web.
  3. Project itself will consist of four directories:
  src/            -- what we have now in the repo
  docs/           --    
    api/          -- classical phpDocumentor docs
    annotated/    -- sources annotated with Pinocchio
    user/         -- locally-browsable pages from YiiBooster's website, showing various use cases
    bootstrap/    -- root for all configs,
    fast/         -- fast-running tests, i. e., unit tests for both for JS and PHP code
    slow/         -- slow-running tests, maybe Selenium 
  libs/           -- all stuff which is needed to build the project
  build.xml       -- Build config for Phing
  1. I have a separate project now, named YiiBoosterTestApp, which I use as a testbed for widgets. (I'll publish it at Heroku when it'll have more stuff than buttons and JSONGridView). We can boatload it with debug stuff like error_reporting(-1), YII_DEBUG, CWebLogRouter etc freely and so it will be both a useful addition to the automated testing and an example of using all of widgets in real life. I'm sorry, but the examples presented at YiiBooster's own website are insufficient to this purpose. :)
@hijarian hijarian was assigned Jan 17, 2013

That sounds great Mark! go ahead but having the source to the src/ folder would cause the people to change their current configuration.

@hijarian hijarian added a commit that referenced this issue Apr 7, 2013
@hijarian hijarian Added the build script for Phing.
re #263

For now it contains the releasing instructions, which make the distribution archive in the special runtime directory `dist`.
@hijarian hijarian added a commit that referenced this issue Apr 7, 2013
@hijarian hijarian Small fixes in formatting.
re #263
@hijarian hijarian added a commit that referenced this issue Apr 7, 2013
@hijarian hijarian Updated the README to be more cool.
re #263
@hijarian hijarian added a commit that referenced this issue Apr 8, 2013
@hijarian hijarian Added a rudimentary unit test suite.
re #263
Clevertech member

Okay, restructuring complete. Now everything's controllable via the build script. We need some software metrics, I think, but overall the structure is as intended, and even more.

@hijarian hijarian closed this Apr 8, 2013

Wow guys, your commitment to providing QUALITY reusable components for the Yii community is truly commendable, as is the transparency you provide through using github for all changes. Amazing work. 👍

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