Giter Site home page Giter Site logo

yiit's Introduction

Yiit (Yes it is, too)

Description

Yiit packages commonly used features in modern web applications into a Yii Project. Somewhere down the road i also plan to release it as Netbeans plugin.

Features

  • .htaccess
    • Redirects non-www to www domain. Rule is generic so you don't need to customize it.
    • Supports Pretty URLs
    • Supports YII_ENVIRONMENT variable. Ideally this should be the place where you should change YII_ENVIRONMENT but you can always override it in index.php
  • Support for Multiple Environment is enabled, (Thanks to this and this).
    • Config is broken on per environment basis inside protected/config with main.php containing generic settings, later overridden by environment specific config file.
    • main
      • Added yiilite path which can be enabled depending on requirements. Some people think this is environment specific, my observation differs.
      • enableCsrfValdation and enableCookieValidation set for request component
      • allowAutoLogin and loginUrl set for user component
      • Path format urls enabled
      • For application you have the choice to use a single db e.g. "db" or multiple such as Auth, Session etc.
      • AuthManager is enabled and under default config uses "db" as connectionID.
      • Cache is enabled using CDummyCache as default, but can uncomment CMemcache
      • logsEmail and staticContentDomain params are defined. Details inside config file.
    • mode_development
      • Debug enabled with traceLevel as 3
      • Gii is enabled with password password.
      • Db configurations have overridden parameters along with Profiling and ParamLogging enabled.
      • Logging
        • FileLogging enabled for error, warning, trace and info.
        • WebLogging enabled for same levels as above.
    • mode_production
      • Debug disabled with traceLevel as 0
      • Db configuration have overridden parameters and contains logDB definition
      • PHP-IDS(link) is enabled
      • Logging
        • FileLogging same as development mode
        • EmailLog for error and warning levels
        • Optional database logging to logDB for error and warning levels is configured but commented
    • mode_stage
      • Debug enabled with traceLevel as 0
      • Db configurations overridden
      • FileLogging enabled for error, warning, trace and info Levels
    • mode_test
      • Debug disabled with traceLevel as 0
      • Db configurations overridden
      • Logging same as mode_development
      • Configured fixture
  • Meta Tags
    • Added support for meta tags and link tags (Thanks to this)
    • Class files located at protected/components, called ExtendedController and ParentController
    • Extend your controllers from ParentController
    • SiteController contains examples on how to set meta, controller level, action level and combined
    • Custom component class also contains some documentation that could be useful
  • Added default deny rule in ParentController (Thanks to this)
  • Created a theme out of default view files

How to use?

  • To benefit from all the features described above, extend your controllers from ParentController instead of Controller or CController

Permissions

  • Following directories should be writable by webserver
    • assets
    • protected/runtime
    • protected/components/ids/IDS/tmp

Bundled software

Future Improvements

  • Add a user component(Current consideration is YiiUser), waiting for developer to add support for creating roles, setting up permissions and assigning roles for admin users, might contribute it.
  • Add PHPConsole extension
  • Add Settings extension
  • Add Google Analytics extension
  • Add/write/port some nice Paypal extension.
  • Add S3 CDN Extension(Current consideration is es3)
  • Add Email extension
  • Add a decent Paypal extension
  • Add a decent openid extension
  • Copy current theme as theme_name-minified, minify css and js and use that. Add minifer script in project. (Any suggestion which one to use?)

Feature Requests/Contact/Feedback

  • You can contact me at shoaib[AT|NOSPAM]linuxmail[DOT]org

yiit's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.