root/doc/package-naming.txt

Revision 31815, 3.9 kB (checked in by sfermigier, 7 months ago)

Deprecate old doc.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
Line 
1 [This doc is outdated. It should be updated and moved to the Nuxeo Book.]
2
3 ==========================
4 Package naming conventions
5 ==========================
6
7 :Author: Thierry Delprat <tdelprat@nuxeo.com>
8 :Revision: $Id$
9
10 org.nuxeo.ecm.platform.* is everything that is not core :)
11
12 org.nuxeo.ecm.platform.foundation
13 =================================
14
15 All packages in foundation are mandatory to make the platform run.
16
17 org.nuxeo.ecm.platform.foundation.ui
18 ------------------------------------
19
20 Will contain all generic ui infrastructure used by GUI.
21 This includes :
22     - the Type Service
23     (org.nuxeo.ecm.platform.foundation.ui.typeservice)
24     - the Form service
25     - the Action Service
26
27 This services should (in the end) be usable both in web and rcp
28 environment.
29
30 org.nuxeo.ecm.platform.foundation.web
31 -------------------------------------
32
33 Will contain all web infrastructure used by Nuxeo 5.
34     - the Seam Cache management service
35     - the Business delegates
36     - ...
37
38
39 org.nuxeo.ecm.platform.foundation.jee
40 -------------------------------------
41
42 Will contain all jee infrastructure used by nuxeo 5.
43 This includes :
44     - the containment model of Nuxeo 5 (Server/Domain/Workspace)
45     (org.nuxeo.ecm.foundation.engine.containmentmodel)
46     - Security helpers ?
47
48
49 org.nuxeo.ecm.platform.foundation.rcp
50 -------------------------------------
51 Will contain rcp specific components.
52 Will use the standard Eclipse packaging rules:
53    - org.nuxeo.ecm.platform.foundation.rcp.ui : for GUI
54    - org.nuxeo.ecm.platform.foundation.rcp.core : for logic
55
56
57 org.nuxeo.ecm.platform.ec
58 =========================
59
60 Represent what we used to call Zope Products:
61   - addtionnal ECM services
62   - additionnal Business components
63
64
65 org.nuxeo.ecm.platform.ec.*.ui
66 -------------------------------
67
68 Will contains all presentation-related code that is usable on both jee
69 and rcp.
70 This should be mainly usage of extension points that are inside
71 org.nuxeo.ecm.platform.foundation.ui.
72
73
74 org.nuxeo.ecm.platform.ec.*.web
75 -------------------------------
76
77 Will contains all presentation-related code.
78 For example, the client side of the NXAudit Enterprise Component will be
79 org.nuxeo.ecm.ec.audit.ui.
80
81 Typically we will have such web components for :
82     - all pluggable generic ecm non core services
83         - audit
84         - workflow
85         - transformation
86         - relations
87         - ...
88     - all pluggable specific business objects
89         - Invoice
90         - Blog post
91         - Archive record
92
93
94 org.nuxeo.ecm.platform.ec.*.api
95 -------------------------------
96
97 Will contains the api (interface) exposed by the EC.
98
99
100 org.nuxeo.ecm.platform.ec.*.internal
101 ------------------------------------
102
103 Will contains all logic- and process-related code.
104 For example, the engine side of the NXAudit Enterprise Component will be
105 org.nuxeo.ecm.platform.ec.audit.internal
106
107 Typically we will have such web components for :
108     - all pluggable generic ecm non core services
109         - audit
110         - workflow
111         - transformation
112         - relations
113         - ...
114     - all pluggeable specific business objects
115         - Invoice
116         - Blog post
117         - Archive record
118
119 Depending on the kind of enterprise components we can have :
120  - one engine EC without ui
121  (for example transformation, because in some cases the UI won't be needed)
122  - one ui EC without engine
123  (for example Blog post because there is no need for a specific
124 business behavior)
125  - one engine EC with several ui
126  for example an ecm.ec.mail.engine with 3 ui
127     - ecm.platform.ec.mail.ui.webmail (webmail ui)
128     - ecm.platform.ec.mail.ui.fetcher (action to fetch a mailbox into a
129 folder)
130     - ecm.platform.ec.mail.ui.sendto (action to send a document via mail)
131
132
133 org.nuxeo.ecm.platform.ec.*.rcp
134 -------------------------------
135
136 Will contains EC specific code for RCP.
137 This will be split as in eclipse in:
138     - org.nuxeo.ecm.platform.ec.*.rcp.ui for gui
139     - org.nuxeo.ecm.platform.ec.*.rcp.core for logic
140
Note: See TracBrowser for help on using the browser.