Difference between revisions of "Contensive Best Practice Guide"

From Contensive Wiki
Jump to: navigation, search
(Forms)
(Collections)
Line 26: Line 26:
 
* Should only allow users who are either Authenticated or Anonymous.
 
* Should only allow users who are either Authenticated or Anonymous.
  
===Collections===
+
===Addon Collections===
Should be named legibly.
+
* Should be named legibly.
Should have all non-Admin Addons/Content Definitions hidden. These Addons/Content Definitions are exempt from naming standards.
+
* 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 contain a link to the Help document.
Should be set “system” if it should never display on Admin Navigator.
+
* Should be set “system” if it should never display on Admin Navigator.
  
 
===General Development===
 
===General Development===

Revision as of 14:29, 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. 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