
Download - Magritte Magic
- 1. Magritte MagicThursday, 25 August 11
2. Who we are Nick Ager Esteban Lorenzano No, we are not the creators of Magritte or experts. Lukas created it (and is the unique expert). But we use it a lot, and we love it.Thursday, 25 August 11 3. Magritte A meta-model for describing adaptive models. Generic. Can be realised in Seaside, Morphic, Cocoa/touch widgets, etc...Thursday, 25 August 11 4. Describe once, get everywhereIntrospection Object persistencyReection Object indexingDocumentation Object setupViewer building Object vericationEditor building Object adaptionReport buildingData validation Object customizationQuery processing and much moreThursday, 25 August 11 5. Describe once, get everywhereIntrospection Object persistencyReection Object indexingDocumentation Object setupViewer building Object vericationEditor building Object adaptionReport buildingData validation Object customizationQuery processing and much moreThursday, 25 August 11 6. Magritte Describe... ...any class, ...their attributes ...relationships ...some kind of type ...accessing and optionally other properties (anyone you need)Thursday, 25 August 11 7. Describing models Descriptions String, Number, Date, etc. OneToOne, OneToMany, etc. Accessors Selector, Pluggable, Chain, etc. MementosThursday, 25 August 11 8. So... what to do with all those descriptions?Thursday, 25 August 11 9. The modelThursday, 25 August 11 10. Interpreting descriptions Creating editors complex validations cancel/save (using mementos) Building custom interpretations Describing non-visual modelsThursday, 25 August 11 11. Edit anything (1) #asComponent addValidation addForm: #() Custom component renderersThursday, 25 August 11 12. DemoThursday, 25 August 11 13. Edit anything (2) We saw Magritte-Seaside There is also Magritte-Morph And you can build your own Magritte-ReefThursday, 25 August 11 14. DemoThursday, 25 August 11 15. Build your ownrenderer You can create your own look and feel and behavioursThursday, 25 August 11 16. DemoThursday, 25 August 11 17. Describe and use The idea is to use magritte description capabilities to create unique, non-common, non-reusable, behaviors But still have the power of using a description (validation, etc.)Thursday, 25 August 11 18. We dont have a demo for this, you have to believe us :)Thursday, 25 August 11 19. Describe anything JSON/XML Magritte-Glorp (DBXTalk: see talk tomorrow) Magritte-UML (just an idea)Thursday, 25 August 11 20. DemoThursday, 25 August 11 21. Problems Where do I place my descriptions? Not everything can be described-then- transformed as I want for instance, not everything can be a master-detail and still be useful, but is hard to build a different implementation (not impossible, just hard)Thursday, 25 August 11 22. Magritte Issues Name collision with #description Cache-invalidation dynamic descriptions: instance specic descriptions context dependent descriptionsThursday, 25 August 11 23. Solutions rename #description to #magritteDescription move descriptions to instance-side Use Thursday, 25 August 11 24. Further information Seaside Book: http://book.seaside.st/book/ advanced/magritte Lukass site: http://www.lukas-renggli.ch/ smalltalk/magritte mail list: Estebans Reef talk on FridayThursday, 25 August 11 25. Questions?Thursday, 25 August 11