-
Notifications
You must be signed in to change notification settings - Fork 4
Inclusion criteria overview
AFaust edited this page Jan 6, 2015
·
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, META-INF (in JAR) 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 |
|
|||
20 | API | should | extension | use Public Java or Script API primarily |
21 | API | should | Repository extension | use public Alfresco service beans |
22 | API | must | Repository extension | use runAs() instead of unsecured private service beans to execute code with elevated privileges or as substitute for other users |
23 | API | must not | extension | require existence of super user called "admin" (e.g. runAs(work, "admin")) |
24 | API | should | Repository extension | provide own services using proper interfaces and private/public bean separation |
25 | API | should | Repository extension | use automatic transaction management over user transactions |
26 | API | should | extension | use Alfresco Full Text Search (FTS) syntax and query operations over Lucene |
27 | API | should | Repository extension | use database-bound queries for transactional data retrieval (FTS with query consistency or selectNodes) |
28 | Misc / Java | must not | extension | create or manipulate threads directly (e.g. sleep / interrupt) |
29 | Misc / Java | must not | extension | re-package Alfresco class files or otherwise hide / override them based on classpath loader behaviour |
30 | Misc / Java | must not | extension | require bytecode instrumentation except for experimental features |
31 | Misc / Java | should not | extension | re-package Alfresco JavaScript, Freemarker or static web asset files or otherwise hide / ovveride them based on classpath loader behaviour |
32 | Configuration | should | extension | support end user / customer override of web scripts via (web-)extension approach |
33 | ... | ... | ... | ... |
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 | ... | ... | ... |