Difference between revisions of "Contensive Best Practice Guide"

From Contensive Wiki
Jump to: navigation, search
(Collections)
(General Development)
Line 33: Line 33:
  
 
===General Development===
 
===General Development===
Best practices used within general development would require code review and can not be incorporated into each test plan.
+
* Best practices used within general development would require code review and can not be incorporated into each test plan.
Browser Compatibility
+
===Browser Compatibility===
 
We will use w3Schools.com to determine the current browsers. ON the Menu as Browser Statistics. Any browser with > 5% usage will be included by default. The client is welcome (encouraged) to include other browsers with appropriate labor requirements.
 
We will use w3Schools.com to determine the current browsers. ON the Menu as Browser Statistics. Any browser with > 5% usage will be included by default. The client is welcome (encouraged) to include other browsers with appropriate labor requirements.
  
Line 43: Line 43:
 
The testing practices document will include a line item that says we test for browsers listed in the project requirements.
 
The testing practices document will include a line item that says we test for browsers listed in the project requirements.
 
We will create a new product under products and services to offer ongoing browser testing as a monthly service.
 
We will create a new product under products and services to offer ongoing browser testing as a monthly service.
Addons
 
Should be contained within a Collection.
 
Should load within a reasonable time.
 
Should prefix all non-standard folders stored in the wwwroot.
 
Should prevent duplicate users.
 
Collections
 
Should contain all files/records necessary for its addons to function, no additional work should be needed to deploy
 
Should be set “Block Navigator Node” if only for developers.
 
Each collection represents no more than one Visual Studio Project.
 
Coding Practices
 
Variables and methods should be camelCase.
 
Variables and methods must be named consistent with their meaning
 
Wherever possible, use methods within the development namespace
 
If third party code is needed, preference should be given to nuget packages
 
Should prefix all non-standard CSS declarations.
 
Should use jQuery alias rather than $.
 
Variables should be prefixed if used globally.
 
Methods should be prefixed if used globally.
 
Referencing Content
 
Should be referred to by GUID not name.
 
Should contain a constant and descriptive for each GUID.
 
Should not use shared Content Definitions/Tables between different features.
 
Should be contained in Content Definitions.
 
Should prefix all table names.
 
Logging
 
Should be maintain programmatically if used.
 
Add only errors to the /Logs/Tracexxx.log
 
For logging helpful information, or custom errors, use a subfolder of /logs
 
  
 
==Design==
 
==Design==

Revision as of 14:30, 22 July 2015

This page includes our best practices guidelines.

Website Patterns

Software Development

Addons

  • Should be named legibly.
  • Should be contained within a Collection.
  • Should have Field Help for all non-standard fields.
  • Should have Presentation set (Tool/Report/Setting/Addon).
  • Should populate name fields in all records that are created.
  • Should be done with Layouts.
  • Should handle visit timeouts gracefully, returning users to the beginning of the process with an error message.

Logins

  • Should focus on the username/email field.
  • Should tab to password field.
  • Should submit on pressing the Enter key or SUBMIT button.
  • Record Lists
  • Should use layouts and repeaters.
  • Should paginate.
  • Should contain pagination menu top and bottom.

Forms

  • Should focus on first field.
  • Should tab in a logical order.
  • Should not show default name Guest.
  • Should only allow users who are either Authenticated or Anonymous.

Addon Collections

  • Should be named legibly.
  • Should have all non-Admin Addons/Content Definitions hidden. These Addons/Content Definitions are exempt from naming standards.
  • Should contain a link to the Help document.
  • Should be set “system” if it should never display on Admin Navigator.

General Development

  • Best practices used within general development would require code review and can not be incorporated into each test plan.

Browser Compatibility

We will use w3Schools.com to determine the current browsers. ON the Menu as Browser Statistics. Any browser with > 5% usage will be included by default. The client is welcome (encouraged) to include other browsers with appropriate labor requirements.

http://www.w3schools.com/browsers/browsers_stats.asp


The browsers supported will be specifically listed in all project requirements, stored in the project folder. The testing practices document will include a line item that says we test for browsers listed in the project requirements. We will create a new product under products and services to offer ongoing browser testing as a monthly service.

Design