Frequently Asked Questions (FAQ) containing information on topics
we are frequently asked about along with pointers for futher information.
- Place Simulation And Validation Fields At Bottom Of Right Group - Form consistency.
- Use Path Links For Links To Large Files - Security and portability matter.
- Method Name Is Camelcase Starting With Lowercase Letter - Consistency across languages
- Use Translated Portal Type To Display Portal Type - To enable automatic translation.
- Include Module Base Categories In Business Template - They will not be created automatically.
- Only Site Wide Script Uses ERP5Site Prefix - This should be an exception.
- Sentence Starts With Capital Letter And Finishes With Semi-Colon Or Full-Stop - Make text consistent.
- SQL Column Id Use Singular For Related Key - To ensure consistent SQL naming.
- Abbreviation Link Title Must Contain Abbreviated Text And Description Split By Semicolon - To create table of document abbreviations.
- SQL Column Id Is Lowercase - To ensure consistency in SQL tables.
- Image Format Must Be SVG Or PNG - No other formats are allowed (jpg/gif)
- Set Form Action To Base_edit - For form consistency.
- Listbox Uses List, Stat Or Count Method - For consistent naming.
- Logs Must Contain Their Cause - Test report must contain info on the cause of a log
- Page Template Macro Id Is Lowercase - Follow convention for variable names.
- Sessions Are Not Allowed - Sessions are incompatible with clustering.
- A Document Form Uses The form_view Page Template - For consistency across all forms.
- Document Theme Is Set Using Follow Up Software Product - For predicate and themeing.
- Abbreviations Are Not Allowed - Context is lost quickly.
- Set Listbox Action To List Action On Document Form Listboxes - To allow clicking on listbox title.
- Set Post Method And Utf-8 Encoding On Document Forms - For form consistency.
- Document Name Must Use Anchor, Reference, Name, Version, Language And File Type - Main rule for document names.
- Set List Method To contentValues On Document Form Listbox - Subobjects should be displayed.
- Page Template Uses Method Naming Conventions - As page templates are used like scripts.
- Include Module Local Roles In Business Template - They will not be created automatically.
- Table Has Caption Defined After Tbody Tag - Normally it should be a the top.
- Add Viewable Listbox Fields To More Columns - To allow user to view and toggle.
- Private Method Starts With Underscore - Consistent patterns.
- Tool Title Is Plural - For consistent naming patterns.
- Validator Method Is Prefixed With Validator - To provide context.
- Set Listbox Selection Name To form_name_selection_name - Names must be unique.
- Document Content Is Written In HTML5 - Documents are written in HTML5.
- Set Content Permission To Fast Input - Fast Inputs usually create sub documents or modify content.
- Modify Correct Changelog On Business Template Commits - Differentiate major changes and purpose changelog.
- Hide Listbox Editable Fields On The Form - To ensure they are not rendered.
- A Fast Input Must Use object_fast_input Action - Never configure as object_exchange action.
- Abbreviations Are Not Allowed In ERP5 Code - Code must be understandable.
- Document Name Is Camel Case And Dot Separated - Name in document name
- Use Localizer For Module Title Translation - Module titles are part of user interface.
- ZSQL Method Is Prefixed With Z In Portal Skin - For consistent naming.
- Code Snippet Uses Code Tag Wrapped In Pre Tag - Code section convention.
- Semantic Field Is Named Using My Prefix, Technical Context And Semantic Name - Differentiate between semantic and technical template fields.
- Document Title Uses Capitalized Keywords Prefixed By Publication Section - Convention for Documentation title.
- Set At Least View Action On Module Action Tab - Only actions required should be set by default.
- Document Has Mandatory View And Optional Detais And History Tab - For consistent appearance.
- Live Tests Should Not Be Run On Production - Create and remove data is dangerous in production.
- Link Explaining Abbreviation Is Wrapped in Square Bracket And Uses Abbreviation As Link Text - For automatic link formatting.
- A Link Between Internal Documents Uses A Relative Url - General link pattern convention.
- Headers Start At Level 1 And Are Not Numbered - Numbers and downgrades are made automatically.
- Use My Prefix and Class Name For Template Field Name - To prevent creating multiple technical template fields.
- Embedded SVG Image Must Have A Format Specified - Source format must be defined.
- Variable Name Is Lowercase Separated By Underscore - Independent of language used.
- A Python Class Is Defined Inside ERP5 Product Only - For consistent patterns across ERP5.
- Set Form Encytype to multipart/form-data When Using File Upload - For form consistency.
- Report Name Uses Portal Type Followed By View Report Name And Report - For consistent naming.
- Use Base_view Prefix Followed By Business Filed and FieldLibrary For Field Library Title - For naming consistency.
- Document Keywords Are Lowercase Singular And Line Separated - Keywords are used.
- Page Template Containing Multiple Macros Is Postfixed With Renderer - File acts as macro repository.
- Use form_list Page Template On Forms - To name and declare forms consistently.
- Use Proxy Fields Of Proxy Fields In Form - To improve consistency and maintainability.
- Image Must Have Alt Attribute - Required for certain templates. Add manually or dynamically.
- Define Transition Title From A Business Point Of View - User must understand easily.
- Define Declare Fast Input As Hidden Content Type - Use of fast input depends on use case.
- Use Method Post And UTF-8 Encoding On Forms - To name and declare forms consistently.
- Forms Must Use Left, Right, Center, Bottom And Hidden Groups - To allow consistent form rendering.
- JavaScript Class Name And Id Attribute Are Lowercase With Underscore Separator - General coding convention.
- Documentation Document Anchor Uses Software And Publication Section Split By Hyphen - Documentation reference convention.
- Plural Is Not Allowed - They can be amiguous.
- Set Document Form Titles To What Is Displayed - Usually this is the portal type title.
- Commits Are Purpose Based - A change in code must have a motivation (like fixing a bug).
- Define The Roles Allowed To Excecute A Transition - Follow ERP5 5A security model.
- Interface Name Uses Camelcase - To ensure consistent naming patterns.
- Image Should Not Be Wrapped By Hand For Fullsize Viewing - It will be done automatic.
- Set Priorities On Important Activities - To allow these activities to be executed faster.
- Define And Translate Workflow Titles - For a meaningful workflow history.
- Image Must Have Alt Attribute For Automatic Captioning - Always add manually or dynamically.
- In Document Name Publication Section Is Written In Camelcase - Publication Section convention.
- Define Workflow Titles From A Business Point Of View - User must understand easily
- Method In Listbox Is Prefixed With Listbox Section - To provide understandable context.
- ZSQL Method Is Lowercase And Uses Z Prefix And Underscore Separator - For consistent naming.
- Image Must Have Format And Display Parameter In Url - To not render images in original format and size.
- Use Path Links For Linking To Images Or Assets - Convention for working with inks in document content
- A Documentation Document Must Have Group And Classification Defined - This determines accessibility.
- Use Glossary Defined Prefix For Specific Semantics - Field libraries should be consistent within.
- Png Is Saved In Image And Svg In Web Page Module - SVGs are written in xml.
- User Interface Module Title Is Singular, Separated By Space And Capitalized - Visible to the user.
- User Interface Must Use Uppercase Abbreviations - For consistent naming patterns.
- Tab Title Is Singular Capitalized And Space Separated - For consistent naming patterns.
- Metadata Is Last Tab For Managers - For consistent appearance.
- SVG Image Must Have Format Specified In Url - Format should always be defined.
- JavaScript Closing Bracket Is At Indent Of Function Call - Consistent coding patterns.
- Set Document Form Ids To PortalType_view - This is the naming convention.
- Set Form Id To ModulePortalType_viewPortalTypeList - For form consistency.
- Listbox Selection Name Must Follow module_name_selection Pattern - It is used to find parameters in listbox.
- Always Provide Portal Type Description - Modules can be complex, short description is helpful
- Language Is Abbreviated As Two Lowercase Characters - Language in document name.
- A Non Anonymous JavaScript Method Must Be Declared Before Use - Jslint will throw on this, too.
- Write Testable Code And Test Smart - To create quality code and tests.
- Define Workflow Permission To Allow Redefinition On Workflow States - This allows redefiniton on each document.
- Inside The Roles Tab, Assignor, Assignee, Associate And Auditor Must Be Defined - Follow 5A security model.
- Listbox Selection Uses Name Selection Postfix - For consistent naming.
- Add Date In Listbox As Editable Date-Time Field - To allow to automatically adjust date format based on user preference.
- End A File With Empty Line - Some tools cannot handle, display file as truncated.
- Project Reference Uses A Suffix And Character Sequence Separated By Hyphen - Document name project reference rules.
- Define Report Actions As object_report Linked With View Permission - To enable fast report button.
- Technical Template Fields Are Defined In Base_viewFieldLibrary - Non semantic fields should not be duplicated.
- Business Reference Is An Uppercase Id And Number Sequence Separated By Hyphen - Used as document name anchor.
- Use Two Space Indentation - Consistent code indentation across languages.
- Page Template Macro Variables Must Be Defined In Header - To not prevent standalone rendering.
- Configuration And Project Business Templates Must Include Roles For Group, Site And Function - Extend generic security permissions.
- Field Title Must Be Singular, Capitalized And Uses Space Separator - Visible in user interface.
- Define Module Author And Auditor In Roles Tab Based On Use Cases - Follow ERP 5A Security model.
- Fix Whitespace In A Separate Commit - It is a motivation to fix unneeded whitespace.
- Text From The User Interface Is Written In Italic - To highlight text to interact with.
- Generic Business Templates Must Have Security Roles Set On States And Transitions - Must always be present.
- Method Name Is Prefixed With Portal Or Meta Type, Class Or Interface - Context must be clear.
- A Business Template Has Only One Field Library - Field libraries share semantic configuration.
- Link Text On Applicable And Referenced Documents Is AD/RD - Counters are added automatically.
- Document Content Is Written In British English - General principle in ERP5 regarding language.
- Split Large Forms On Multiple Tabs - Multiple views preserver clarity.
- Do Not Test Required In Field View Form - This should be done in constraints.
- A Validation Workflow Must Have A Delete State And Action - Deleting a document is part of the document life cycle.
- Rule Uses Optional Root And Mandatory Simulation Rule Postfix - For naming consistency.
- Workflow Validation Scripts Must Return Translated Messages - They are visible in user interface and workflow history.
- Use getTranslatedId To Display Document Ids In Listbox Or Form - Special Ids need meaningful translation.
- Use Methods To Access Properties In ERP5 - ERP5 is method based.
- Reference Anchor Uses Uppercase Group, Project, Publication Section Or Business - Document name reference options.
- A Form Field Proxies From A Buiness Template Field - Differentiate Core, Business and Custom Fields.
- Use Only Allowed Html Tags - Conventions on html tags in document content.
- ListField Or MultListField For Categories Must Use Item List Method - Preserve consistency in pop-up field rendering.
- Listbox Method Is Named Using Module Type And Portal Type List - For consistent naming in forms.
- Workflow State Is Single Adjective Or Verb - To ensure consistent layouts.
- Commits Are Atomic - Changes from a motivation must be committed together.
- Form Report Dialog Is Postfixed With Report - For consistent naming
- Python Script Method Name Be Prefixed With Portal Type - The context should always be visible.
- Form Name Uses Lowercase View After Portal Type - For consistent naming.
- Version Number Is Ascending And Use Three Digits - Versioning in document name.
- Set Form Action Base_doSelect On Forms - To name and declare forms consistently.
- Use gender neutral writing in documentation - Make text consistent.
- Test Changes Before Committing - Verify that system is usable after your change.
- Set Listbox Title To Plural Of Portal Type Title If Applicable - Listbox title should reflect portal types displayed.
- Business Library Fields Proxy From Core Fields - Use three levels: core, business, custom
- Table Uses Thead Tbody And Caption Tags - For consistent appearance.
- Group Reference Is Uppercase And Uses Category Value - Group determines viewing permission.
- Language Priority -
- Workflow Validation Scripts Must Be Well Defined - To ensure data consistency.
- A Proxy Field Never Links To An External Field Library - Business templates must work standalone.
- Use Log Levels - Log levels help understand the importance of a log.
- Never Hardcode If Not Necessary - Hard code is hard to maintain.
- JavaScript Constructor Starts With Captial Letter - Consistent Javascript patterns.
- Publication Section In Document Name Is Separated By Hypen And Lowercase - When used in document name
- JavaScript Opening Brace Is On Line Of Current Statement - Consistent coding patterns.
- Report Method Name Uses ReportSectionList Postfix - for consistent naming.
- Log Clear Enough To Disable Easily - It should be easy to track logs in the code.
- Documentation Document Is Classified Using Publication Section - For categorising documentation.
- Only Use Proxy Fields In Non Field Library Forms - To prevent excessive customisation.
- Define Action Name Explicitly For Users - They are visible on the user interface.
- Documentation Document Must Have Introduction Paragraph - Explain WHY document was written.
- Attribute Must Be Assigned Only To Object Or Class - For consistent patterns across ERP5.
- Module Title Is Plural, Capitalized And Space Separated - For consistent naming patterns.
- Short Title On Documentation Documents Uses Title Without Publication Section - Short title convention.
- Define Document Actions As Global Actions - Global actions will automatically be present.
- Link To Applicable Or Referenced Document Uses Title And Is Wrapped In Square Brackets - To flag links for auto tables.
- A Screeshot Displays Full Screen Without Bars - Patterns for working with screenshots.
- Inline CSS And JavaScript Are Not Allowed - Content should be free of layout instructions.
- Use Correct Names For Simulation And Validation Titles - For consistent titles across ERP5.
- Image Uses Publication Section As Anchor Reference - Patterns for working with images.
- Add Column Portal Type If Listbox Contains Multiple Types - The listbox title will not display all types.
- Set Description On Form Fields - Used to generate tool tips.
- Assign Properties To Zope Objects Only - For consistent patterns across ERP5.
- Listbox Must Only Be Put In Form Bottom Group - This is the default view of a module.
- Define Module Default Actions On Portal Action Tool - And not as portal type actions.
- Dialog Form Name Is Postfixed With Dialog - For consistent naming.
- Plural In ERP5 Is Written Using List And Count - Plural is forbidden in ERP5.
- Set Form Title To What Is Displayed - For form consistency.
- Use Of JavaScript Id Attribute Is Not Allowed - Duplicate ids will beak a page.
- Documentation Document Must Have Description Abstract - Explain WHAT document contains.
- Pseudo Constant Uses Uppercase In ERP5 - Consistent naming patterns.
- Define Count Method As countFolder On Module Listbox - To use portal catalog.
- Do Not Add Any New Messages To User Interface - Message catalog is sufficient.
- Method Name Uses Mixed Case And Begins With Verb - To ensure consistent naming patterns.
- Code Must Be Validated With JsLint - To ensure consistent syntax and quality.