[[BackLinksMenu]] [[TicketQuery(summary=PRO_LIB_CORE_TUTORIAL_R1, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|)]] = Analysis = == Overview == The PRO_LIB_CORE_TUTORIAL should be revised and made more complete to reflect the current state of the ProLib. [[BR]] Problems and inconsistencies in the old version of the tutorial should be fixed. == Task requirements == * Improve the '''Properties Idea''' section by giving: * a general overview of what are the properties, not just list what problems they solve * a brief explanation of the given problems and how the properties help in such cases * Improve the '''Property Hierarchy''' section by: * adding descriptions to important elements of the hierarchy which haven't been described, like * BaseProObject * Property * ProList * ... * breaking down the general diagram in smaller ones * Improve the '''List Properties Hierarchy''' section by: * providing an overview of the List Properties * providing descriptions on differences between them and single Properties * Improve the '''Code Examples With Property Kinds''' section by: * listing examples for property kinds like ValueProperty * providing a short description on the purpose of each example * adding a Final vs Auto Property example * adding a Resource Property with an unmanaged Swing Component example * Improve the '''Methods To Use''' section by: * listing more convenient methods * Improve the '''Bad Code Examples''' section by: * listing at least several more scenarios where properties have been used in a wrong way also providing an explanation what's wrong and how to fix it. [[BR]] This section is quite important and the code is rich with property abuse. * Improve the '''Demo''' section by: * adding some comments on the provided demo sample code. * Improve the '''How to apply properties to Sophie 2.0''' section by: * renaming it to '''Good practices''' * revise the practices already listed * add more good practices * Describe most frequently used and newly implemented annotations * @Own, * @Shared, * @Immutable * Inspector section which links to the Inspector page and gives usage hints * '''Code Templates''' section which lists the code templates used currently in Eclipse * '''Utils''' section which lists and describes some of the more useful utils in the ProLib * Add comments on ProList and Aspects usage: * findOne() * findAll() * ListEntry * Add comments on integration with Changes, Resources and ChangeManagers: * Creation of ProObjects with a ChangeManager argument, * Leave comments, if any * Reogranize the tutorial to move the deprecated stuff in a '''Deprecated''' section at the end * If possible, write demos for ProLib usage in the tutorial package. == Task result == * Updated wiki page with the given task requirements * New demos in the tutorial package. == Implementation idea == * Scan the ProLib and write all which is needed. == Related == [wiki:PRO_LIB_CORE_TUTORIAL_R0] [[BR]] [wiki:PRO_LIB_CORE_TUTORIAL] [http://asteasolutions.net/videos/] == How to demo == Show the [wiki:PRO_LIB_CORE_TUTORIAL] page = Design = [wiki:PRO_LIB_CORE_TUTORIAL] = Implementation = * [wiki:PRO_LIB_CORE_TUTORIAL] * ProLib templates for properties: * [source:branches/private/peko/sophie2-refactoring/dev-tools/eclipse_templates/properties_templates/list-properties-templates.xml templates for list properties] * [source:branches/private/peko/sophie2-refactoring/dev-tools/eclipse_templates/properties_templates/value-properties-templates.xml templates for value properties] * A more detailed UML diagram for a general picture of the implementation added. = Testing = * Read the tutorial. = Comments = * Resources and Changes are pending... (: