[[BackLinksMenu]] [[TicketQuery(summary=BASE_RESOURCE_COMMONS_R0, 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 == Resource is an object that can be persisted. Resources can be frame content. Resource can be used in the timeline.[[BR]] Base resource model should have the following information * UUID * Target * Data * URL * !MetaInfo * Comment Resource Scope could be * Book * Local * Server Types of resources (the target of the resource) * Text * Plain * RTF * HTML * Image * Audio * Movie * Book * Template * etc. !MetaInfo of the resource is: * The author of the resource * The date the resource was created * Version of the resource * The date the resource was last modified * Who was the last that modified the resource * The dimensions of the image (if the target of the resource is an image) * etc. Operations over a resource: * The resource can be created. * The resource can be modified (in a separate window). * The resource can be deleted. * The resource can be persisted. * The resource can be imported(exported) to a server. Resource Manager manages: * Resource Versioning * Resource Security * Resource save/load ''In the first revision of the task you should improve resource concept.'' == Task requirements == * Resources should have a separate module. * The model of the resource should be well and clearly defined. * It should be easily to add new resource type (the library should provide extensibility). * Check what we have for resources and modify where it is necessary. After this revision we are supposed to have the basic hierarchy of the resources. * Book should be made resource. * The !MetaInfo problem * It should be easily to deal with the meta information of the resource. Think about an annotation @Meta("description"). * You should provide that it is easily to add new meta information of a resource (extensibility). == Task result == * The result of this task should be source code. == Implementation idea == * Create module org.sophie2.base.resources * @Meta("description") annotation for the meta info of the resource. == Related == * How to create module - > [wiki:PLATFORM_DEPLOYMENT_BUILD_ECLIPSE] == How to demo == * Show the new module in eclipse. * Show the modified classes. * Run the application and demonstrate the usage of resources. * Ask if there are any questions. = Design = = Implementation = ^(Implementation results should be described and linked here (from the wiki or the repository))^ = Testing = = Comments = = Log = [[Include(wiki:BASE_RESOURCE_COMMONS_R0_LOG)]]