|
57 | 57 | margin-top: 0; |
58 | 58 | color: #2c3e50; |
59 | 59 | } |
60 | | - .installation { |
61 | | - background: #f0f0f0; |
62 | | - padding: 20px; |
63 | | - border-radius: 5px; |
64 | | - margin: 20px 0; |
| 60 | + table { |
| 61 | + width: 100%; |
| 62 | + border-collapse: collapse; |
| 63 | + margin: 15px 0; |
65 | 64 | } |
66 | | - .code { |
67 | | - background: #2c3e50; |
68 | | - color: white; |
69 | | - padding: 15px; |
70 | | - border-radius: 5px; |
71 | | - font-family: 'Courier New', monospace; |
72 | | - overflow-x: auto; |
| 65 | + th, td { |
| 66 | + text-align: left; |
| 67 | + padding: 10px 12px; |
| 68 | + border-bottom: 1px solid #e0e0e0; |
73 | 69 | } |
74 | | - .warning { |
75 | | - background: #fff3cd; |
76 | | - border-left: 4px solid #ffc107; |
77 | | - padding: 15px; |
78 | | - margin: 20px 0; |
| 70 | + th { |
| 71 | + background: #f8f9fa; |
| 72 | + font-weight: 600; |
79 | 73 | } |
80 | | - .info { |
81 | | - background: #d1ecf1; |
82 | | - border-left: 4px solid #17a2b8; |
83 | | - padding: 15px; |
84 | | - margin: 20px 0; |
| 74 | + code { |
| 75 | + background: #f0f0f0; |
| 76 | + padding: 2px 6px; |
| 77 | + border-radius: 3px; |
| 78 | + font-size: 0.9em; |
85 | 79 | } |
86 | 80 | </style> |
87 | 81 | </head> |
88 | 82 | <body> |
89 | 83 | <div class="container"> |
90 | 84 | <div class="header"> |
91 | 85 | <h1>OpenSPP Branding Kit</h1> |
92 | | - <p>Complete debranding and rebranding solution for Odoo 17</p> |
| 86 | + <p>Branding customization, URL routing and telemetry management for OpenSPP</p> |
93 | 87 | </div> |
94 | | - |
| 88 | + |
95 | 89 | <div class="content"> |
96 | 90 | <div class="section"> |
97 | 91 | <h2>Overview</h2> |
98 | | - <p>The OpenSPP Branding Kit is a comprehensive module that removes all Odoo branding and replaces it with OpenSPP branding throughout the entire platform. This module is designed specifically for Odoo 17 and follows best practices for maintainability and upgrade-safety.</p> |
| 92 | + <p>Replaces Odoo branding with OpenSPP branding across the platform. Adds <code>/openspp</code> URL routing as an alias for <code>/odoo</code> routes, redirects telemetry to OpenSPP endpoints or disables it entirely, and customizes system messages, email signatures, and report footers. Works with <code>theme_openspp_muk</code> for visual styling.</p> |
99 | 93 | </div> |
100 | | - |
| 94 | + |
101 | 95 | <div class="section"> |
102 | 96 | <h2>Key Features</h2> |
103 | 97 | <div class="features"> |
104 | 98 | <div class="feature"> |
105 | | - <h3>🎨 Complete Debranding</h3> |
106 | | - <p>Removes all Odoo references from backend, frontend, login pages, and reports</p> |
| 99 | + <h3>URL Routing</h3> |
| 100 | + <p><code>/openspp/programs/123</code> works as an alias for <code>/odoo/programs/123</code>. Both routes remain functional.</p> |
107 | 101 | </div> |
108 | 102 | <div class="feature"> |
109 | | - <h3>🔒 Telemetry Disabled</h3> |
110 | | - <p>Blocks all external communications and telemetry to Odoo servers</p> |
| 103 | + <h3>Telemetry Control</h3> |
| 104 | + <p>Redirect telemetry to an OpenSPP endpoint or disable it entirely via Settings.</p> |
111 | 105 | </div> |
112 | 106 | <div class="feature"> |
113 | | - <h3>📄 Custom Reports</h3> |
114 | | - <p>Professional PDF reports with OpenSPP headers and footers</p> |
| 107 | + <h3>Session Branding</h3> |
| 108 | + <p>Injects OpenSPP system name and version into the web client session for consistent UI branding.</p> |
115 | 109 | </div> |
116 | 110 | <div class="feature"> |
117 | | - <h3>🌐 Website Customization</h3> |
118 | | - <p>Fully branded website with custom footer and navigation</p> |
| 111 | + <h3>Report Customization</h3> |
| 112 | + <p>Updates company report headers and footers with OpenSPP text during installation.</p> |
119 | 113 | </div> |
120 | 114 | <div class="feature"> |
121 | | - <h3>👤 User Interface</h3> |
122 | | - <p>Customized login page, user menu, and backend interface</p> |
| 115 | + <h3>Debug Restriction</h3> |
| 116 | + <p>Optionally restricts debug mode access to administrators only.</p> |
123 | 117 | </div> |
124 | 118 | <div class="feature"> |
125 | | - <h3>🚀 OCA Integration</h3> |
126 | | - <p>Compatible with OCA debranding modules for enhanced functionality</p> |
| 119 | + <h3>Module Filtering</h3> |
| 120 | + <p>Adds an "OpenSPP Apps" filter and dedicated menu to browse OpenSPP-specific applications.</p> |
127 | 121 | </div> |
128 | 122 | </div> |
129 | 123 | </div> |
130 | | - |
| 124 | + |
131 | 125 | <div class="section"> |
132 | | - <h2>Installation</h2> |
133 | | - <div class="installation"> |
134 | | - <h3>Prerequisites</h3> |
135 | | - <ul> |
136 | | - <li>Odoo 17 Community Edition</li> |
137 | | - <li>OpenSPP modules (if using with OpenSPP suite)</li> |
138 | | - <li>OCA server-brand repository (recommended)</li> |
139 | | - </ul> |
140 | | - |
141 | | - <h3>Installation Steps</h3> |
142 | | - <ol> |
143 | | - <li>Clone the OCA server-brand repository: |
144 | | - <div class="code">git clone --branch 17.0 https://github.com/OCA/server-brand.git</div> |
145 | | - </li> |
146 | | - <li>Add both module paths to your Odoo configuration (directories containing your addons): |
147 | | - <div class="code">addons_path = /path/to/custom-addons,/path/to/server-brand,/path/to/odoo/addons</div> |
148 | | - </li> |
149 | | - <li>Restart Odoo server and update the apps list</li> |
150 | | - <li>Install the OpenSPP Branding Kit module from the Apps menu</li> |
151 | | - </ol> |
152 | | - </div> |
| 126 | + <h2>Extended Models</h2> |
| 127 | + <table> |
| 128 | + <tr><th>Model</th><th>Extension Purpose</th></tr> |
| 129 | + <tr><td><code>res.users</code></td><td>Custom email signature, removes Odoo account URL</td></tr> |
| 130 | + <tr><td><code>res.config.settings</code></td><td>Adds branding and telemetry configuration fields</td></tr> |
| 131 | + <tr><td><code>ir.http</code></td><td>Injects OpenSPP branding into web client session info</td></tr> |
| 132 | + <tr><td><code>ir.module.module</code></td><td>Provides utility to count paid/proprietary apps</td></tr> |
| 133 | + </table> |
153 | 134 | </div> |
154 | | - |
| 135 | + |
155 | 136 | <div class="section"> |
156 | 137 | <h2>Configuration</h2> |
157 | | - <div class="info"> |
158 | | - <strong>Automatic Setup:</strong> The module automatically configures all branding elements upon installation. No manual configuration is required. |
159 | | - </div> |
160 | | - |
161 | | - <h3>Optional Configuration</h3> |
162 | | - <ul> |
163 | | - <li><strong>Company Logo:</strong> Upload your logo via Settings → Companies → Your Company</li> |
164 | | - <li><strong>Website Footer:</strong> Can be further customized using the website builder</li> |
165 | | - <li><strong>Email Templates:</strong> Modify email signatures in Settings → Technical → Email Templates</li> |
166 | | - <li><strong>Report Headers:</strong> Adjust report layouts in Settings → Technical → Reports</li> |
167 | | - </ul> |
168 | | - </div> |
169 | | - |
170 | | - <div class="section"> |
171 | | - <h2>Technical Details</h2> |
172 | | - <h3>Module Structure</h3> |
173 | | - <ul> |
174 | | - <li><strong>Views:</strong> XML templates for UI customization</li> |
175 | | - <li><strong>Data:</strong> Configuration records for debranding</li> |
176 | | - <li><strong>Static:</strong> CSS, JavaScript, and image assets</li> |
177 | | - <li><strong>Models:</strong> Python overrides for backend logic</li> |
178 | | - <li><strong>Controllers:</strong> Custom routes and endpoints</li> |
179 | | - </ul> |
180 | | - |
181 | | - <h3>Dependencies</h3> |
182 | | - <p>The module can work standalone but achieves best results when used with:</p> |
183 | | - <ul> |
184 | | - <li>disable_odoo_online (OCA)</li> |
185 | | - <li>portal_odoo_debranding (OCA)</li> |
186 | | - <li>remove_odoo_enterprise (OCA)</li> |
187 | | - </ul> |
| 138 | + <ol> |
| 139 | + <li>Open <strong>Settings</strong></li> |
| 140 | + <li>Scroll to the <strong>OpenSPP Branding</strong> app card</li> |
| 141 | + <li>Configure <strong>System Name</strong> (default: "OpenSPP Platform")</li> |
| 142 | + <li>Set <strong>Documentation URL</strong> and <strong>Support URL</strong></li> |
| 143 | + <li>Toggle <strong>Display OpenSPP Branding</strong> to show/hide "Powered by OpenSPP"</li> |
| 144 | + <li>Configure telemetry: enable (redirects to OpenSPP endpoint) or disable</li> |
| 145 | + <li>Set <strong>Telemetry Endpoint</strong> if redirecting</li> |
| 146 | + </ol> |
| 147 | + <p>Post-install hook automatically disables Odoo brand promotion, module update notifications, and theme store menu.</p> |
188 | 148 | </div> |
189 | | - |
| 149 | + |
190 | 150 | <div class="section"> |
191 | | - <h2>Upgrade Safety</h2> |
192 | | - <div class="warning"> |
193 | | - <strong>Important:</strong> This module uses inheritance and XML modifications to ensure upgrade safety. All customizations are contained within the module and will not be lost during Odoo updates. |
194 | | - </div> |
195 | | - |
196 | | - <p>The module follows Odoo best practices:</p> |
197 | | - <ul> |
198 | | - <li>No core code modifications</li> |
199 | | - <li>Uses proper inheritance mechanisms</li> |
200 | | - <li>Declarative XML customizations</li> |
201 | | - <li>Version-controlled development</li> |
202 | | - </ul> |
| 151 | + <h2>Dependencies</h2> |
| 152 | + <table> |
| 153 | + <tr><th>Module</th><th>Purpose</th></tr> |
| 154 | + <tr><td><code>spp_security</code></td><td>OpenSPP security framework</td></tr> |
| 155 | + <tr><td><code>base</code></td><td>Odoo core</td></tr> |
| 156 | + <tr><td><code>web</code></td><td>Web client</td></tr> |
| 157 | + <tr><td><code>base_setup</code></td><td>Settings infrastructure</td></tr> |
| 158 | + <tr><td><code>theme_openspp_muk</code></td><td>OpenSPP visual styling</td></tr> |
| 159 | + </table> |
203 | 160 | </div> |
204 | | - |
| 161 | + |
205 | 162 | <div class="section"> |
206 | 163 | <h2>Support</h2> |
207 | 164 | <p>For support and contributions:</p> |
208 | 165 | <ul> |
209 | 166 | <li><strong>Website:</strong> <a href="https://openspp.org">openspp.org</a></li> |
210 | | - <li><strong>Documentation:</strong> <a href="https://openspp.org/documentation">OpenSPP Documentation</a></li> |
211 | | - <li><strong>GitHub:</strong> <a href="https://github.com/openspp">github.com/openspp</a></li> |
212 | | - <li><strong>Community:</strong> <a href="https://openspp.org/community">OpenSPP Community</a></li> |
| 167 | + <li><strong>Documentation:</strong> <a href="https://docs.openspp.org">docs.openspp.org</a></li> |
| 168 | + <li><strong>GitHub:</strong> <a href="https://github.com/OpenSPP/OpenSPP2">github.com/OpenSPP/OpenSPP2</a></li> |
213 | 169 | </ul> |
214 | 170 | </div> |
215 | | - |
| 171 | + |
216 | 172 | <div class="section"> |
217 | 173 | <h2>License</h2> |
218 | 174 | <p>This module is licensed under LGPL-3. See LICENSE file for details.</p> |
|
0 commit comments