FLossEd-BK Tequila Framework3.2.1


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

FLossEd-BK Tequila Framework3.2.1

  1. 1. Tequila Framework 3.2.1 Siwawong W. Project Director 2009.10.31
  2. 2. Agenda Case-study ~ Q&A 10:45 – 11:00 Demonstrate the Framework 10:30 – 10:45 Introduction 10:20 – 10:30 Self-Introduction 10:15 – 10:20
  4. 4. About Me <ul><li>My Name: Siwawong Wuttipongprasert </li></ul><ul><ul><li>Nick-name: Tae (You can call this name. it’s easier) </li></ul></ul><ul><li>My Background: </li></ul><ul><ul><li>B.Eng (Computer Engineering), Chiang Mai University. </li></ul></ul><ul><ul><li>CPE#3, Gear25 </li></ul></ul><ul><li>My Career Profile: </li></ul><ul><ul><li>10+ years in IT business </li></ul></ul><ul><ul><li>5+ years with Blue Ball Co., Ltd. </li></ul></ul><ul><ul><li>Role: Programmer, System Analysis, Consultant & Project Manager </li></ul></ul><ul><ul><li>Working Area: ERP, MRP, Retailing, Banking, Financial, E-Commerce, etc. </li></ul></ul><ul><ul><li>Working with multi-cultures: Japanese, German and Vietnamese </li></ul></ul><ul><li>Know Me More.. </li></ul>
  5. 5. My Company: Blue Ball Blue Ball Group is an Offshoring Company that focus totally in customer satisfaction. It takes advantage of western management combined with Asian human resources to provide high quality services Thailand (Head Office) Mexico (Special Developments) Vietnam (Offshoring Center) * Available in German on Jun,2010
  6. 6. Services from My Company Offshoring Programmers &Testers   Blue Ball will get you ready to offshore successfully. No need to rush you into offshoring without you feeling confident on how to send, organize, receive, test and accept job confidently   System Development & Embedded Solutions   Solutions that combine technological expertise and deep business understanding. We only start coding once every single detail such as milestones, scheduling, contact point, communication, issue management and critical protocols are in place Web design and E-commerce   Premium web design, CMS, e-commerce solutions and SEO services. Website maintenance and copy content creation to develop marketing campaigns that SELL for discerning companies to increase the quality and reach of their marketing campaigns
  7. 7. My Clients
  8. 8. Tequila Framework - Introduction Based-on http :// tequila . blueballgroup . com /
  9. 9. What’s Tequila Framework <ul><li>H ighly productive MVC-PHP framework to code super fast, clean applications </li></ul><ul><li>More Than Framework </li></ul><ul><ul><li>Generator Included </li></ul></ul><ul><ul><li>Mash up </li></ul></ul><ul><ul><li>Security </li></ul></ul><ul><ul><li>Managers & Designers </li></ul></ul><ul><ul><li>Packages and Libraries </li></ul></ul><ul><ul><li>Workflow integrated </li></ul></ul>
  10. 10. Features <ul><li>Lightweight </li></ul><ul><ul><li>666KB, deploying is a breeze </li></ul></ul><ul><li>Full MVC pattern </li></ul><ul><li>View strategies </li></ul><ul><li>Easy to extend </li></ul><ul><li>Reusable code </li></ul><ul><li>Multiple database </li></ul><ul><li>Multilanguage applications </li></ul><ul><li>Templateable applications </li></ul><ul><li>UTF -8 Support </li></ul><ul><li>100% OOP </li></ul><ul><li>Auto-loading </li></ul><ul><li>Robust, advanced security </li></ul><ul><li>Code generator </li></ul><ul><li>Workflow engine </li></ul><ul><li>Ajax support </li></ul><ul><li>Validation </li></ul><ul><li>Thai calendar/language support </li></ul>
  11. 11. Why We Needs Framework? <ul><li>Less code, clean, fast, powerful </li></ul><ul><li>Focusing on the real problems, let the framework solve the res </li></ul><ul><li>Agile work! </li></ul>
  12. 12. Tequila Framework Structure Your Application Code Your Application Language files Your Application Template files Tequila Framework (Core) <ul><li>Split Application folder from Framework </li></ul><ul><li>folder </li></ul><ul><li>All application folders are access same </li></ul><ul><li>Framework folder </li></ul><ul><li>All application are independent but related </li></ul><ul><li>to same Core of Framework </li></ul>
  13. 13. Basic Concept of Tequila Framework
  14. 14. Basic Concept in Tequila Framework <ul><li>OOP </li></ul><ul><li>MVC Pattern </li></ul><ul><li>DAO & VO </li></ul><ul><li>View Strategy </li></ul>
  15. 15. OOP in Tequila Framework <ul><li>Offers many benefits: </li></ul><ul><ul><li>V isibility protection, automatic class loading, overloading, interfaces, abstracts, and singletons . </li></ul></ul><ul><ul><li>We implement follow PHP5 OOP feature. </li></ul></ul><ul><li>NOT implement ActiveRecord Pattern </li></ul><ul><ul><li>Implement on real OOP ways </li></ul></ul>
  16. 16. OOP : Automatic Class Loading <ul><li>Managed by c_square.php </li></ul><ul><li>Looking for new class automatically when calling it </li></ul><ul><li>And path that we’ve looking for: - </li></ul><ul><li>/includes in core </li></ul><ul><li>/includes in application </li></ul>
  17. 17. OOP : Singletons Class <ul><li>It provides a single method which will work for any and all classes and subclasses . </li></ul><ul><li>It does not require a method to be duplicated within each class or subclass. </li></ul>Code: $dateobj = singleton::getInstance( 'DateClass' );
  18. 18. MVC Pattern in Tequila Framework In Tequila the name of your controller is normally passed as a task :   task=yourcontroller  and the method as an action  &action=Browse
  19. 19. MVC Pattern : Sample Code controller model We will explain DAO & VO in next section Standard Class from Tequila Framework
  20. 20. MVC Pattern : Sample Code (Cont’) view Related to HTML (template) and language file
  21. 21. DAO & VO <ul><li>in Tequila 3.2, we call DAO & DTO </li></ul><ul><ul><li>DAO : Data Access Object </li></ul></ul><ul><ul><li>DTO : Data Transfer Object (Formerly, we call VO (Value Object)) </li></ul></ul><ul><li>DAO </li></ul><ul><ul><li>Allow us to keep the database code out of the model and to avoid repeating statements . They also help when switching database types . </li></ul></ul><ul><ul><li>The DAO will contain the methods and information to map the objects to the DB . </li></ul></ul><ul><li>DTO </li></ul><ul><ul><li>Design pattern used to transfer data between software applications or layers . </li></ul></ul><ul><ul><li>Normally they represent a single row in the database but they can contain any data structure </li></ul></ul>
  22. 22. DAO & DTO: Sample Code DAO Code <ul><li>Standard DAO class in Tequila </li></ul><ul><li>DAO </li></ul><ul><li>DAO_Unquie </li></ul><ul><li>DAO_blob </li></ul><ul><li>DAO_service </li></ul>DTO Code Property are same field’s name in table
  23. 23. View Strategy in Tequila <ul><li>Strategies are means to simplify and reduce the code used in the view layer . </li></ul><ul><li>Strategies are a pattern for code reuse . Tequila implements strategies on validation a presentation layer .   </li></ul><ul><li>The main idea is to avoid repetitive code and allow complex screens / controls to be done without too much work .   </li></ul><ul><li>Some basic strategies are provided:  View VO , View Array, View editor , View object, View pagination , View Tree, etc.  </li></ul>
  24. 24. Using strategies <ul><li>Strategies are like any other object . They follow a common interface ‘ view ’ and inherit methods from view_strategy class . </li></ul>Code: $v = new view_alternate_table($this->template, $vo_array, array('parent'=>'List')); $v->addlang('label','view'); $v->addblocklang('label'); $v->addbtn('addNew','?task=im_accounts&mode=addNew',true); $v->addfield(&quot;viewLink&quot;, &quot;index.php?task=im_accounts&mode=View&I_IDACCOUNT={I_IDACCOUNT}&quot;); $v->getview();
  25. 25. Advance Topic in Tequila Framework
  26. 26. Advance Topic in Tequila Framework <ul><li>Security Module </li></ul><ul><li>Workflow Module </li></ul><ul><li>Built-in Libraries </li></ul>
  27. 27. Security Module in Tequila Framework
  28. 28. Security Module : Sample Configuration Objects Actions Security Group Security define in format : systems . yoursystem . tasks . taskname Classifier
  29. 29. Workflow Module in Tequila Framework <ul><li>Workflow engine and the designer will be release in version 3.2. </li></ul><ul><li>We are currently working in the flash based designer which is delaying us, however the engine has been available since version 2.0 </li></ul>
  30. 30. Built-in Libraries in Tequila Framework <ul><li>Check built-in libraries under includespackages </li></ul><ul><li>Currently, we provide: - </li></ul><ul><ul><li>Benchmark </li></ul></ul><ul><ul><li>Keep-alive </li></ul></ul><ul><ul><li>Menu Builder </li></ul></ul><ul><ul><li>Notifier (via twitter) </li></ul></ul><ul><ul><li>Mail </li></ul></ul><ul><ul><li>Excel Export </li></ul></ul><ul><ul><li>Etc. </li></ul></ul>
  31. 31. Getting start with Tequila framework
  32. 32. Pre-requisites <ul><li>Skill/Background </li></ul><ul><ul><li>PHP </li></ul></ul><ul><ul><li>OOP Concept </li></ul></ul><ul><ul><li>Database (e.g. MySQL, Oracle, MS-SQL server, etc.) </li></ul></ul><ul><li>Software & OS </li></ul><ul><ul><li>MS® Windows or Linux </li></ul></ul><ul><ul><li>Apache 2.2/IIS5.0 or higher </li></ul></ul><ul><ul><li>PHP5.0 or higher (recommend on 5.2.9) </li></ul></ul><ul><ul><li>Any Database Server (e.g. MySQL 5.0, Oracle, MS-SQL server) </li></ul></ul><ul><li>Recommended Software </li></ul><ul><ul><li>LAMP or WAMP </li></ul></ul>
  33. 33. Installation <ul><li>Download from sourceforge </li></ul><ul><li>Unzip / Unrar the package in a directory inside your webserver, i . e .  yourpath / tequila </li></ul><ul><li>Create new database and initialize tables with SQL script inside </li></ul><ul><li>Create new folder for application by copy from initialize application </li></ul><ul><li>Configuration your application </li></ul>Initialize application
  34. 34. Start Coding! <ul><li>Create new tables in database </li></ul><ul><li>Start Page Generator (aka, Tequila Sunrise) </li></ul><ul><li>Get application! </li></ul>
  35. 35. Sample Code (from Sunrise) Contained required objects e.g. controller, model, views, VO, DAO Contained language for display in webpage (default by English) Contained HTML files for display result (following template style in tequila)
  36. 36. Thank you for your attention! [email_address] www.blueballgroup.com