Hide last authors
Ecaterina Moraru (Valica) 3.1 1 {{warning}}
Ecaterina Moraru (Valica) 2.1 2
3 Also read more details about:
4 * [[Application Development Best Practices>>dev:Community.DevelopmentPractices||anchor='HApplicationDevelopment']]
Ecaterina Moraru (Valica) 5.1 5 * [[Application Design>>contrib:Main.WebHome||anchor='HApplicationDesign']]
Ecaterina Moraru (Valica) 2.1 6 * [[Code Style>>dev:Community.CodeStyle]], especially the [[XHTML/CSS>>dev:Community.XhtmlCssCodeStyle]] rules
7 * [[Special CSS Classes>>platform:DevGuide.SpecialCSSClasses]]
Ecaterina Moraru (Valica) 3.1 8 {{/warning}}
Ecaterina Moraru (Valica) 2.1 9
Ecaterina Moraru (Valica) 3.1 10 == Access ==
Ecaterina Moraru (Valica) 2.1 11
Ecaterina Moraru (Valica) 5.1 12 1. Your application must be accessible through the "Applications" panel(((
Ecaterina Moraru (Valica) 3.1 13 Create a page containing a [[UI extension>>platform:ExtensionPoint.AddApplicationUIX]] object (##XWiki.UIExtensionClass##).
14 )))
15 1. All technical pages must be ##hidden##
Ecaterina Moraru (Valica) 5.2 16 1. Make sure your application has a proper Translation page, read more about [[internationalising applications>>platform:DevGuide.InternationalizingApplications]].
Ecaterina Moraru (Valica) 11.1 17 1. Make sure your application pages are not orphans, use ##mvn xar:format## and ##mvn xar:verify## in order to assure these cases(((
Ecaterina Moraru (Valica) 10.1 18 (!) Standardise the parent, some applications are children of AppWithinMinutes.WebHome
19 )))
Ecaterina Moraru (Valica) 2.1 20
Ecaterina Moraru (Valica) 3.1 21 == Functionality ==
22
Ecaterina Moraru (Valica) 5.1 23 1. Your application should have at least CRUD (create, read, update, delete) operations(((
Ecaterina Moraru (Valica) 3.1 24 No matter what type of entities your application is managing, it is needed to have a way to create, view, edit and delete those types of entities for a basic functionality.
Ecaterina Moraru (Valica) 7.1 25 (!) Standardise the creation of artifacts (pop-up | create action)
26 (!) Standardise the display of artifacts (livetable | custom display)
Ecaterina Moraru (Valica) 3.1 27 )))
Ecaterina Moraru (Valica) 5.1 28 1. Consistent way of interacting with your application(((
Ecaterina Moraru (Valica) 3.1 29 If your application is handling multiple types of entities, you must have a symmetric and consistent way of interacting with them.
30 )))
31
32 == Styling ==
33
Ecaterina Moraru (Valica) 3.2 34 1. Check out the [[current skin>>platform:Features.Skins]] supported by XWiki and make sure your application is following that particular style
Ecaterina Moraru (Valica) 3.3 35 1. Use [[ColorTheme variables>>extensions:Extension.Color Theme Application||anchor="HUsingColorThemesvariables"]] in order for your application to adjust to the theme color changes
Ecaterina Moraru (Valica) 3.2 36 1. All forms must be [[vertical aligned>>platform:DevGuide.VerticalForms]]
Ecaterina Moraru (Valica) 11.1 37 1. Naming conventions(((
Ecaterina Moraru (Valica) 8.1 38 (!) Standardise application's homepage title
39 (!) Standardise usage of spaces for compound names (like Task Manager, File Manager, etc.)
Ecaterina Moraru (Valica) 9.1 40 (!) Standardise 'Applications' panel name entry
Ecaterina Moraru (Valica) 8.1 41 )))
Ecaterina Moraru (Valica) 3.1 42
43 == CSS ==
Ecaterina Moraru (Valica) 5.1 44
Ecaterina Moraru (Valica) 2.1 45 1. Careful using generic XWiki standard classes(((
46 This is particularly important if you are using [[SSX objects>>platform:DevGuide.SkinExtensionsTutorial]] with the "//Always on this wiki//" visibility option, because the rules will affect the whole wiki instance.
47 For example, using something like the following code is bad since it will affect all document titles:
48
49 {{code}}
50 #document-title {
51 color: red;
52 }
53 {{/code}}
54
Ecaterina Moraru (Valica) 3.1 55 A solution is to use "//on demand//" SSX or to prefix your style with a CSS class specific to your application. Also make sure your classes don't overlap with [[other CSS classes>>platform:DevGuide.SpecialCSSClasses]] used by XWiki.
Ecaterina Moraru (Valica) 2.1 56 )))
Ecaterina Moraru (Valica) 5.1 57 1. Don't use ##inline## and ##!important## declarations(((
Ecaterina Moraru (Valica) 4.1 58 Always there is an alternative to rewrite the declarations, usually by adjusting the selector's [[specificity>>https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity]]. Using ##inline## and ##!important## declarations will backfire on the long term when others will want to maintain and integrate your application.
59 )))

Get Connected