| 177 | * [http://asteasolutions.net/videos/2009-02-18%20Milo%27s%20Persistence%20Discussion.mpg (2009-02-18) Discussion about base.persistence] |
| 178 | |
| 179 | * base.persistence |
| 180 | * overall description |
| 181 | * current format structure |
| 182 | * different formats |
| 183 | * different entities |
| 184 | * resourses |
| 185 | * immutables |
| 186 | * Pro* |
| 187 | * Storage |
| 188 | * like XML DOM |
| 189 | * used as an internal data format |
| 190 | * attributes |
| 191 | * children tags |
| 192 | * PersistFormat <S,T> |
| 193 | * S - source type |
| 194 | * T - destination type |
| 195 | * converts between two types |
| 196 | * general saving/loading overheads |
| 197 | * SharedSaver |
| 198 | * saves<T> in Storage |
| 199 | * T - Page, Frame... |
| 200 | * single saver for each type |
| 201 | * save scenario |
| 202 | * traverse everything and save it |
| 203 | * SharedLoader |
| 204 | * multiple loaders for different instances of each type |
| 205 | * load scenario |
| 206 | * create "blank" objects for each loaded entity |
| 207 | * fill in dependencies between objects |
| 208 | * savers/loaders and extensions/extension points |
| 209 | * @Persist |
| 210 | * save this as something |
| 211 | * could list multiple @Persist for same field for different target formats |
| 212 | * content to be persisted/not persisted |
| 213 | * saving/loading immutables |
| 214 | * saving/loading Pro* |
| 215 | |
| 216 | * [http://asteasolutions.net/videos/2009-02-19%20Modularity%20Discussion%20(Part%201).mpg (2009-02-19) Discussion about core.modularity, part 1] |
| 217 | |
| 218 | * core.modularity |
| 219 | * modularization |
| 220 | * modules |
| 221 | * different understanding of modules, depending on context |
| 222 | * classes, packages, source files, .jars, eclipse projects, maven projects, plugins, components |
| 223 | * comparison |
| 224 | * dependencies between modules |
| 225 | * cyclic dependencies |
| 226 | * target could be acyclic graph |
| 227 | * sample scenario of registering a TetrisFrame |
| 228 | * sample solution |
| 229 | * works but could be better |
| 230 | * uml notations |
| 231 | * module |
| 232 | * extension |
| 233 | * extension point |
| 234 | * TetrisFrame scenario adapter to these concepts |
| 235 | * scenes examples |
| 236 | * core.modularity module |
| 237 | * content |
| 238 | * SophieModule |
| 239 | * SophieExtension <T> |
| 240 | * SophieExtensionPoint <T> |
| 241 | * comparison with OSGI |
| 242 | * convention for such concept |
| 243 | * hides OSGI complexity |
| 244 | * FakeModule registry |
| 245 | * can run in a fake environment |
| 246 | * provides a simulation of what happens when app is deployed in an OSGI container |
| 247 | * TrueModule registry |
| 248 | * content |
| 249 | * SophieModule |
| 250 | * doStart(), doStop() - shouldn't have to be overriden |
| 251 | * defineExtensions(), defineExtensionPoints() - should be overriden |
| 252 | * SophieExtension <T> |
| 253 | * sortKeys (not present still, will be in the future) |
| 254 | * SophieExtensionPoint <T> |
| 255 | * ProList of extensions, so it's tracked and easy to use |
| 256 | * communication class/interface between extensions and extension points |
| 257 | * extension which provides an Integer doesn't work with extension point which requires Number, should be exactly the same |
| 258 | * matching extensions with extension points |
| 259 | * currently each provided extension maps to each possible extension points which accepts it |
| 260 | * Felix, Maven |
| 261 | * terminology |
| 262 | * pom.xml |
| 263 | * module naming convention |
| 264 | * accessibility of packages |
| 265 | * embedding external modules |
| 266 | * embedding vs depending |
| 267 | * can have classes with the same name in different modules |
| 268 | * example leading to runtime error |
| 269 | * creating a module |
| 270 | * use proto.project |
| 271 | * remove .svn entries |
| 272 | * fix pom.xml of module |
| 273 | * fix pom.xml of parent module |
| 274 | * documented in the wiki |
| 275 | (continued in PART 2...) |
| 276 | |
| 277 | * [http://asteasolutions.net/videos/2009-02-19%20Modularity%20Discussion%20(Part%202).mpg (2009-02-19) Discussion about core.modularity, part 2] |
| 278 | |
| 279 | ...(continued from PART 1) |
| 280 | * the future |
| 281 | * list of modules (for displaying in UI for instance) |
| 282 | * mechanism of accessing resourses in the modules |
| 283 | * platform structure |
| 284 | * current structure (in Eclipse) |
| 285 | * planned final structure |
| 286 | |
| 287 | * [http://asteasolutions.net/videos/2009-02-19%20Visual%20Discussion.mpg (2009-02-19) Discussion about base.visual and some brief notes about base.scenes] |
| 288 | |
| 289 | * base.visual |
| 290 | * VisualElement |
| 291 | * parent |
| 292 | * title |
| 293 | * tooltip |
| 294 | * VisualElement hierarchy |
| 295 | * BaseVisualElement |
| 296 | * getSkinValue() |
| 297 | * computePropElement() |
| 298 | * computeListProp() |
| 299 | * findParent() |
| 300 | * VisualProvider |
| 301 | * SimpleVisualProvider |
| 302 | * AutoVisualProvider |
| 303 | * @VisualDef |
| 304 | * could be used for multiple needs |
| 305 | * @Related |
| 306 | * tells the AutoVisualProvided which classes to scan for extensions to register |
| 307 | * palette tracking current book example |
| 308 | * short AutoProperty discussion |
| 309 | |
| 310 | * base.scenes |
| 311 | * short description |
| 312 | * starting and stopping needed modules |
| 313 | * not enough time... |
| 314 | |
| 315 | |