| Joomla components: 1.5 native or 1.5 legacy |
|
Joomla 1.5 getting more and more popular and more and more components supports it. Some of them in obvious legacy mode and some of them claim as native. The legacy compatibility was written into 1.5 for a reason--so that you can take advantage of the vast efforts of a cadre of programmers that have toiled over the thousands of 1.0.x extensions over the past several years. Many of them are still being faithfully maintained. But some legacy components will causes problems with other extensions and templates. But how you can check if a component is legacy or native? If a components works without legacy mode turned on does not means it is native. Below is a list of definitions of native standards that we believe can help developers create more compatible and standard components. Database 1. Every table should contain published field where it is applicable. 2. Every table should contain checked_out and checked_out _time fields if this table records managed in backed. 3. Every table should contains access field where is ti applicable. Development 1. Component should be developed in complete MVC module of Joomla 1.5 taking in account all Joomla MVC standards. MVC implementation should be done through core Joomla JController, JVire, JModel classes. File structure should conform. 2. In administration component should use Joomla core Toolbar to create Functional buttons. 3. Every list of records have to have checkin and checkout functionality implemented to prevent double editiong record at the same time. 4. Every list of records should hae puglished/unpuglished opportunity. 5. Every list of records should have access column where it is applicable and its implementation should work in froutend. 6. All error messages should be outputted through JError class. Admin Styling 1. All standard toolbar buttons functions like puglish, unpuglish save, apply, close, edit, etc should use template images. 2. Custom button icon should be in the same style. 3. Should think out interface using Joomla interface elements like Sliders, Tabs, Toolbar, as much as possible. 4. Generating tables and forms standard CSS classes like admintable, adminform... should be sued. 5. Everything component generate and display either in back-end or front-end should be formatted with appropriate core Joomla classes that should guaranty best outlook with any template. 5. Personal formatting may be used but it should not format colors and borders. Frontend Styling 1. All elements renderd on frontend should be formated by core Joomla CSS classes. For example: using .componentheading as main title, using .contentheading as subtitle, using .cretedate and .modifydate as date/time ...... 2. Special attention to format tables that list items. Do not forget table classes like .sectiontableheader, .sectiontableenty1, .sectiontableentry2. 3. Elements should be placed on the page in general Joomla style.
|