Build a multi-lingual app with Quick ORM (Tamarind v1)
Build a multi-lingual app with Quick ORM (Tamarind v1), available at $54.99, has an average rating of 3.6, with 55 lectures, based on 5 reviews, and has 50 subscribers.
You will learn about Use the Coldbox MVC framework to build a multi-lingual foundation application with modern object oriented ColdFusion Use Quick ORM, a high performance Object Relational Mapper to build a new or migrate an existing database schema Leverage Quick ORM and qb (query builder) to retrieve entity objects Add methods in our entities to enforce relationships defined in the database schema Write and test handler components that call methods encapsulated in our entities Write pre-validation rules in our handlers that check input in our views, broadcasting a message in case of error Create a menu navigation component Create a custom module called Globalization Implement re-usable events with the Viewlets component Build a dynamic menu navigation using layouts and the Viewlets component Build Views that let us create, read, update and delete records Create an interceptor component that catches invalid events and re-directs to a 404 page Tune qb query performance on large tables with the help of cbdebugger Configure the project for internationalization (i18n) Create a Translation builder service component that leverages Coldbox i18n module to retrieve resource bundles Implement an Application helper to make a single getTranslation() function available to all layouts, handlers and views Retrieve menu and core application translations with session loaded resource bundles for the user locale This course is ideal for individuals who are Software developers, consultants and corporate power users curious about modern ColdFusion or Developers and maintainers of legacy ColdFusion code or Developers recognising the value of open source technology adoption or Other language developers that are ready to learn a mature yet modern technology stack It is particularly useful for Software developers, consultants and corporate power users curious about modern ColdFusion or Developers and maintainers of legacy ColdFusion code or Developers recognising the value of open source technology adoption or Other language developers that are ready to learn a mature yet modern technology stack.
Enroll now: Build a multi-lingual app with Quick ORM (Tamarind v1)
Summary
Title: Build a multi-lingual app with Quick ORM (Tamarind v1)
Price: $54.99
Average Rating: 3.6
Number of Lectures: 55
Number of Published Lectures: 55
Number of Curriculum Items: 58
Number of Published Curriculum Objects: 58
Original Price: $27.99
Quality Status: approved
Status: Live
What You Will Learn
- Use the Coldbox MVC framework to build a multi-lingual foundation application with modern object oriented ColdFusion
- Use Quick ORM, a high performance Object Relational Mapper to build a new or migrate an existing database schema
- Leverage Quick ORM and qb (query builder) to retrieve entity objects
- Add methods in our entities to enforce relationships defined in the database schema
- Write and test handler components that call methods encapsulated in our entities
- Write pre-validation rules in our handlers that check input in our views, broadcasting a message in case of error
- Create a menu navigation component
- Create a custom module called Globalization
- Implement re-usable events with the Viewlets component
- Build a dynamic menu navigation using layouts and the Viewlets component
- Build Views that let us create, read, update and delete records
- Create an interceptor component that catches invalid events and re-directs to a 404 page
- Tune qb query performance on large tables with the help of cbdebugger
- Configure the project for internationalization (i18n)
- Create a Translation builder service component that leverages Coldbox i18n module to retrieve resource bundles
- Implement an Application helper to make a single getTranslation() function available to all layouts, handlers and views
- Retrieve menu and core application translations with session loaded resource bundles for the user locale
Who Should Attend
- Software developers, consultants and corporate power users curious about modern ColdFusion
- Developers and maintainers of legacy ColdFusion code
- Developers recognising the value of open source technology adoption
- Other language developers that are ready to learn a mature yet modern technology stack
Target Audiences
- Software developers, consultants and corporate power users curious about modern ColdFusion
- Developers and maintainers of legacy ColdFusion code
- Developers recognising the value of open source technology adoption
- Other language developers that are ready to learn a mature yet modern technology stack
This course expands on the foundation tutorial titled “Build a user login and registration foundation (Tamarind)” that was released a few months ago. We are going to build a modular application that features a component driven dynamic menu. The menu content will be stored in a navigation structure component that will be injected as a dependency in our handlers. At the end of the course, this menu and the core application will be presented in different languages by simply toggling the user locale preference in the MyAccount view where the user can edit his/her account.
We are first going to enhance our MySQL database schema with additional tables (14 altogether) and create foreign key constraints with the help of the cfmigrations module. The cfmigrations module was already briefly covered in the foundation tutorial but will be re-visited again in section 2, at the beginning of this course.
Next, we are going to build entities and map them to the database schema using Quick ORM.
From the Home page, we’ll have a main menu of what we call “processes” (or features within Tamarind) such as Admin or Globalization that link to an array of sub-menu options that would remain in context or disappear dynamically from the view, as we navigate through the main menu. One of the features (Globalization) will be implemented as a Coldbox custom module. Each sub-menu option will then link to views mapped to actions defined in their corresponding handler (index, new, create, edit, update, delete), while keeping track of the current menu navigation cursor as we click around between views. We are also going to trap invalid events in our application with a Coldbox event interceptor and with methods added to the Main.cfc handler that are registered in the Coldbox configuration file to prevent users from manipulating the URL and therefore trigger exceptions.
We are then, going to customise the application layout and build a dynamic menu using the concept of re-usable events with the Viewletshandler. Working with the Viewlets component will help us explore Model-View-Controller in action, and in particular, understand the benefits of the request collection structures (RC,PRC) to exchange data between the views and the handler in conjunction with each event. Request collections constitute one of the key principles of the Coldbox MVC framework that are essential to understand.
Next, we are going to build the application Views (or forms) in conjunction with Coldbox cbValidation and cbMessagebox modules, and associate them to their respective handlers and entities.
Next, we are going to demonstrate how to use the debugger to tune the performance of our queries. Although you may query database tables directly with the qb module, the performance advantage of using qb and Quick ORM stems from performing queries on entities in memory, not on database tables to retrieve records. With the help of the debugger we will show you how to use a technique known as eager loading to improve query performance.
Finally, in the last section, we will configure our project for internationalisation (i18n). We are going to load resource bundles for the following nine locales: Arabic(UAE), English(US), English(Singapore), French(France), French(Canada), Japanese, Korean, Thai and Chinese(Singapore). Note that in Tamarind v1, our application will not generate resource bundles as the result of the maintenance of dictionary keys and their translations in the various locales, which means that the resource bundles will remain as they are, with no feature to update them.
Our menu component as well as the core of our application will then be enabled for translation in any of the nine locales above listed. We will achieve that with the creation of a Translation builder service component and by using a technique called an Application helper that will fetch a getTranslation() function from a single location in the code and make it available to our layout, our handlers and all our views.
At the end of the course, you should have acquired a solid and practical understanding of the Coldbox framework using Layouts, Modules, Entities, Handlers and Internationalisation (i18n), with proper testing using TestBox at every stage of our development. As a result, we would have delivered Tamarind, in its version 1, a real world foundation application, using basic Bootstrap for its user interface.
Course Curriculum
Chapter 1: Introduction
Lecture 1: Introduction
Lecture 2: About Tamarind version 1
Chapter 2: Getting started
Lecture 1: Pre-requisites
Lecture 2: Project migration strategies
Lecture 3: Project baseline
Lecture 4: Configure the project
Lecture 5: Configure the server engine
Lecture 6: Review Testbox configuration
Lecture 7: Review Coldbox exception handling
Chapter 3: Customise the user registration
Lecture 1: Modify the Users table
Lecture 2: Modify the User entity
Lecture 3: Modify the Registrations handler
Lecture 4: Modify the Registrations view
Lecture 5: Modify the Registrations test
Chapter 4: Enhance the database schema
Lecture 1: Create migration components
Lecture 2: Add table columns and seed data
Lecture 3: Add foreign key constraints
Chapter 5: Expand the model with new entities
Lecture 1: Update the User entity
Lecture 2: Map tab_user_profiles to UserProfile entity
Lecture 3: Map tab_languages to Language entity
Lecture 4: Map tab_dictionary_groups to DictionaryGroup entity
Lecture 5: Map tab_dictionary_keys to DictionaryKey entity
Chapter 6: Build Tamarind Admin features
Lecture 1: Add foundation model components
Lecture 2: Create the Admin menu
Lecture 3: Create the Roles feature
Lecture 4: Create the UserProfiles feature
Lecture 5: Create all remaining Admin features
Chapter 7: Create the Globalization module
Lecture 1: Create the Globalization menu
Lecture 2: Add Languages to Globalization module
Lecture 3: Add Locales to Globalization module
Lecture 4: Add Translations to Globalization module
Lecture 5: Create all remaining Globalization features
Lecture 6: Section 7 – Project code
Chapter 8: Build a dynamic navigation menu
Lecture 1: Create a menu content service component
Lecture 2: Create a re-usable event handler
Lecture 3: Finalise the dynamic menu
Lecture 4: Create an interceptor
Chapter 9: Finalize Tamarind Admin foundation
Lecture 1: Improve the Admin app navigation
Lecture 2: Complete all Admin handlers
Lecture 3: Create all UserProfiles views
Lecture 4: Create all Admin SHOW views
Lecture 5: Create all Admin _FORM views
Lecture 6: Create all Admin NEW views
Lecture 7: Create all Admin EDIT views
Chapter 10: Finalize Tamarind Globalization module
Lecture 1: Complete all Globalization handlers
Lecture 2: Complete all Globalization views
Lecture 3: Project code
Chapter 11: Monitor query performance
Lecture 1: Load large tables with data
Lecture 2: Optimize query performance
Chapter 12: Internationalization (i18n)
Lecture 1: Configure the project for i18n
Lecture 2: Add a myAccount EDIT feature
Lecture 3: Translate the menu component
Lecture 4: Create a Translation helper
Lecture 5: Translate the core application
Chapter 13: Conclusion and course wrap-up
Lecture 1: What to expect next?
Instructors
-
Philippe SAMBOR
Managing partner at Aquarius Logics
Rating Distribution
- 1 stars: 0 votes
- 2 stars: 1 votes
- 3 stars: 1 votes
- 4 stars: 2 votes
- 5 stars: 1 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Language Learning Courses to Learn in November 2024
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024