Skip to content

Inclusion criteria overview

AFaust edited this page Oct 25, 2014 · 7 revisions
No Category Type Item
1 License must allow addon evaluation and/or non-commercial use free of charge
2 License must >= 75% features / functions usable with free / reduced function / trial version of required commercial 3rd-party component(s)
3 License must allow access to addon source code covered by license
4 License should required 3rd-party component(s) covered by public or bundled documentation (specific to APIs used by addon)
5 State must public release for "beta" or "production" use
6 State must release with distinct version number scheme
7 Publication must listed on addons.alfresco.com or committment to list
8 Publication must documentation on licensing, nature of addon, release state and minimal compatible release of Alfresco
9 Publication must link to either source code or installable binary downloads
10 Documentation must sufficient documentation on installation, configuration and general usage
11 Documentation must list dependencies on addons / 3rd-party components / environments with respective version (ranges)
12 ... ... ...
No Category Type Addon variant Item
1 Artifacts must extension available in package form that either supports installing from command line, via build tools or as drop-in, or uploading into Alfresco data dictionary at runtime
2 Artifacts should extension provide AMP/JAR for installation via build tool
3 Artifacts should extension provide AMP for installation via command line (MMT)
4 Artifacts should extension provide JAR for drop-in
5 Artifacts should extension provide ACP for upload into Alfresco data dictionary at runtime
6 Artifacts must tooling available in package form that either supports platform-standard install tools, custom automated install or simple archive extraction into final runnable state
7 Artifacts must not any require build from source level
8 Artifacts may any externalize optional features in separate artifacts / packages
9 Artifacts must not any require manual copying / editing of configuration files apart from alfresco-global.properties / share-config-custom.xml
10 Build should any source provided with build tooling
11 Build must any build tooling produces result identical to pre-built artifacts for unchanged source
12 Build should extension use Maven to build AMP/JAR
13 Configuration must extension use either (web-)extension, module context or customization approach to add addon-specific configuration files
14 Configuration must not extension override Alfresco configuration files in the deployed web application
15 Configuration must not extension override Alfresco out-of-the-box Spring beans / configuration sections without explicit and detailed documentation of changes and user interaction
16 Configuration must not Repository extension override Alfresco out-of-the-box properties without documentation and user interaction
17 Configuration should Repository extension provide addon-specific properties to configure functionality
18 Configuration should Share extension support configuration of functionality using configuration sections / Surf extension modules
19 Configuration should Share extension support configuration of functionality using configuration sections / Surf extension modules
20 API should use Public Java or Script API primarily
21 API should use public Alfresco service beans
22 API must use runAs() instead of unsecured private service beans to execute code with elevated privileges or as substitute for other users
23 API must not require existence of super user called "admin" (e.g. runAs(work, "admin"))
24 API should provide own services using proper interfaces and private/public bean separation
25 API should use automatic resource management over user transactions
26 API should use Alfresco Full Text Search (FTS) syntax and query operations over Lucene
27 API should use database-bound queries for transactional data retrieval (FTS with query consistency or selectNodes)
28 Misc / Java must not create or manipulate threads directly (e.g. sleep / interrupt)
29 Misc / Java must not re-package Alfresco class files or otherwise hide / override them based on classpath loader behaviour
30 Misc / Java must not require bytecode instrumentation except for experimental features
31 ... ... ...
No Category Type Item
1 Alfresco must support Alfresco Community Edition 4.2.e/f
2 Alfresco must not require deprecated or EoL'ed features / components (Explorer, Lucene, AVM...)
3 Alfresco should single distribution for all supported versions of Alfresco
4 Web interface must support two or more of Alfresco supported browsers
5 Web interface should not require installation of 3rd party browser plugins
6 Web interface should not require customization of browser settings
7 ... ... ...