[[BackLinksMenu]] [[TicketQuery(summary=GROUP_TEMPLATES_R2, 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|)]] [[TicketQuery(summary=TASK_NAME_HERE, 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 == * Templates and resources are not independent, so they should be somewhat integrated to each other. * Book templates should behave in such a way that when it is edited, the created book should reflect the changes. == Task requirements == * The goal of this revision is to integrate templates with resources. * Book templates should also be refactored. == Task result == * The result of this task should be source code. == Implementation idea == * Consider adding a property template() to the Resource class. Thus, each resource can have a template which is a ResourceRef. * Non-resource classes can calculate the value of their properties through the parent() property, if it is a resource, or through the parent's parent, and so on. * Creating a book from a book template can be described like this: for each page in the template, create a page that has the original page as a template. == Related == * book model: [source:/trunk/sophie2-platform/modules/org.sophie2.base.model.book] * [wiki:GROUP_TEMPLATES_R0] * [wiki:GROUP_TEMPLATES_R1] == How to demo == * Start Sophie2. * Create a book from a book template. * Open and edit the template. * Show that the new book also changed. = Design = ^(Describe your design here.)^ = Implementation = ^(Describe and link the implementation results here (from the wiki or the repository).)^ = Testing = ^(Place the testing results here.)^ = Comments = ^(Write comments for this or later revisions here.)