|
Joomla Nativity Standards (JNS) |
Joomla Nativity Standards (JNS)
Designing DB
- Every table should contain published field where it is applicable
- Every table should contain checked_out and checked_out_time fields if this table records managed in backed.
- Every table should contain access field where it is applicable
Development
- Component should be developed in complete MVC model of Joomla 1.5 taking in account all Joomla MVC standards
- MVC implementation should be done through core Joomla JController, JView, JModel classes.
- File structure should conform
- In administration component should use Joomla core Toolbar to create Functional buttons
- Every list of records have to have checkin and checkout functionality implemented to prevent double editing record at the same time.
- Every list of records should have published/unpublished opportunity
- Every list of records should have access column where it is applicable and its implementation should work in frontend.
- All error messages should be outputted through JError class
Styling Admin
- All standard toolbar buttons functions like publish, unpublish save, apply, close, edit, etc should use template images
- Custom button icon should be in the same style
- You should think out interface using Joomla interface elements like Sliders, Tabs, Toolbar, ... as much as possible
- Generating tables and forms standard CSS classes like admintable, adminform, ... should be used
- 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.
- Personal formatting may be used but it should not format colors and borders
By one word all this above tells that your component in admin should looks & feel like core Joomla component. When users use it, they should intuitively understand this except where it is very specific. I mean at least ow to create new item or delete it, should not be the question.
Styling Frontend
- All elements rendered on frontend should be formated by core Joomla CSS classes. For example main title: .componentheading, subtitle: .contentheading, data/time: .createdate, .modifydateand so on.
- Special attention to format tables that list items. Do not forget table classes like .sectiontableheader, .sectiontableentry1, .sectiontableemtry2. I noted that many ignore that.
- Elements should be placed on the page in general Joomla style.
By one word, user should not think a lot how to adopt component to looks great in his currect template but just install component and use it. I mean that even if user need to edit template just to change positions and order of elements but not color and font size.
|