1 / 53

S. Ceri, P. Fraternali, M. Matera, A. Maurino DEI - Politecnico di Milano

Designing Multi-Role, Collaborative Web Sites with WebML The Conference Management System Case Study. S. Ceri, P. Fraternali, M. Matera, A. Maurino DEI - Politecnico di Milano [ceri, fraterna, matera, maurino]@elet.polimi.it. Presentation outline. Overview of the WebML model

xia
Download Presentation

S. Ceri, P. Fraternali, M. Matera, A. Maurino DEI - Politecnico di Milano

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Designing Multi-Role, Collaborative Web Sites with WebML The Conference Management System Case Study S. Ceri, P. Fraternali, M. Matera, A. Maurino DEI - Politecnico di Milano [ceri, fraterna, matera, maurino]@elet.polimi.it

  2. Presentation outline • Overview of the WebML model • Case study solution & demo

  3. Requirements for Web modeling • Expressiveness • Real-life cases should be expressible • Frequently used design patterns should be captured • Ease of use • Intuitive notation • Clear semantics • Consistency checks • Implementability • Efficient mapping to physical data structures • Flexible code generation from behavioral specifications

  4. The WebML layers • WebML: a conceptual language for high-level design of data-intensive web sites • WebML Layers: • Structure: data organization • Derivation: redundant data definition • Composition: definition of pages as sets of elementary publishing units • Navigation: definition of links between units and between pages • Presentation: positioning of the units in the page and definition of graphical appearance

  5. Preview of WebML concepts Site = Structure + Composition + Navigation + Presentation entities,relationships units, pages,links site views styles navigation + composition structure user models presentation

  6. Structure model • A simplified Entity-Relationship model • Only binary relationships • No attributes on relationships • IS-A hierarchies • Typed attributes in entities

  7. Derivation • Derivation queries allows designers: • To augment the content of an entity by adding extra attributes, either imported or calculated from existing information • To define the population of entities or of relationships, based on some property of the involved objects • Derivation queries are expressed through WebML OQL (Object Query Language) • automatically transformed into SQL views installed in the database • A wizard is available in WebML CC - users are not required to write WebML OQL queries

  8. Derived entities • The population of sub-entities in ISA hierarchies • Example: “All the ‘accepted’ papers” is expressed in WebML OQL as “Paper(as SuperEntity) where SuperEntity.FinalStatus= 'accepted‘ “

  9. FinalGrade AvgGrade Derived attributes • Extra attributes can be added to an entity, by defining a query that computes them • Four types of derivation: • Constant attributes • Imported attributes • Aggregated attributes • Calculated attributes • Example: The attribute AvgGrade in Paper is calculated as “avg(Self.Paper2Review.FinalGrade)”

  10. Track2Paper Track2AcceptedPaper Derived relationships • Relationships can be derived in two ways: • by subsetting and/or concatenating existing relationships • by matching pairs of objects by means of a condition • Example: “Self.Track2Paper(as Var1) where Var1.FinalStatus = 'accepted’ “ • Variable Self denotes the instance of the source entity of the relationship

  11. Hypertext model • Content units: atomic units that specify how to publish information described in the structural schema • Pages: abstractions of the pages actually delivered to the user (e.g. an HTML page) - structured containers of units and links • Links: connects units and pages, so that to define the hypertext

  12. Index of Papers All Papers Paper Title:XXX Abstract:xxxyyyxx xxxxxxxxx • paper1 • paper2 • paper3 Search Papers Browse Papers • Title 1/12 5/12: go to    Content units DATA UNIT INDEX UNIT MULTIDATA UNIT FILTER UNIT SCROLLER UNIT • Each unit has a master object • an entity or a relationship role

  13. Track Track2Paper Index of Subjects Index of Tracks Navigation - Links • Semantics of a link: • Moving from one place to another • Carrying information from one place to another (navigation context) • Activating a computation (side effect) • Contextual links • Between units • Context transported • Non-contextual links • Between pages • No context transported

  14. Which papers in a track? What about a paper? Example of contextual link Track Paper Track2Paper Track Title: XXX Description:YYY Paper Title: Paper1 Abstract: xxxxxxxx xxxxxyyyxxxyyxxx Papers in YYY • Paper1 • Paper2 • Paper3

  15. Site Views • Site view = Set of pages forming a global view of the site • One site view per user group, access device, etc. • A page marked as “Home” • Landmark pages: globally visible page within a site view (NC-link implicitly defined from every other page in the site view) • Consistency checks: criteria for validity of hypertext (e.g., topology constraints, computability of nodes) PageX H L

  16. The Write Access Problem • From read-only navigation to content management operations (e.g., e-commerce trolley, personal profile creation and updating, ecc.) • WebML offers: • A data entryunit • A set of operation units for: • Built-in content management operations (creation, update, and deletion of new entities and relationships) • Genericexternal operations

  17. From other units for preloading some fields To other units for subsequent use • Outgoing link, for shipping content to other units • Incoming link, for receiving the context from other units - preloading some fields (OPTIONAL) DataEntry Unit • Specifies data input by user • It contains fields to insert data (in, out, inout) • It can be translated into HTML using the <form> tag and the associated submit button

  18. Operation Units • Invoke built-in database operations or generic external operations implemented in un-modelled server side code • Input from one or more incoming links (one is declared as operation-activating) • Two types of output links: • OK link: followed if the operation is successful • KO link: followed if the operation fails

  19. Built-in Operations • A set of frequently used built-in operations to manage the Web site content • Traditional database operations, predefined in the WebML tool suite: • create, delete, and modify entities • create and drop relationships

  20. field1 attribute1 Identifier of the new object field2  attribute2 field1 attribute1 Identifier of the modified object field2  attribute2 Identifier of the object to modify Nothing Identifier of the object to delete In/out flow: create, modify, delete

  21. In/out flow: connect Identifier of first object to connect Identifier of the first object Identifier of second object to connect The master object is a relationship role: e.g., Paper2Track

  22. In/out flow: disconnect Identifier of first object to disconnect Identifier of the first object Identifier of second object to disconnect The master object is a relationship role: e.g., Paper2Track

  23. field1 username field2  password Generic Operation: Login • It is a particular case of “entry unit + operation” pattern • The entry unit typically feeds the user credentials to the subsequent operation (username, password) • Operation failure leads automatically to the home page of the everyone site view • Operation success leads to the home page of the unique enabled site view

  24. Personalization • Personalization has three facets: • Access control: login/logout operations for user identification • Site view assignement: based on the group(s) a user belongs to, some site views are accessible (1 site view per group) • Page personalization: user or group dependent content

  25. User/Group metaphor • Each User can belong to one or more Groups (predefined entities in the structural model) • In a given time, each group can have one associated site-views (attribute of the Group entity) • Each site view can be associated to more groups siteview

  26. Site view access • One group is predefined (everyone) • Users belonging to this group are not required to login – they access only one site view, including unprotected content (the “everyone” site view) • Other site views can be accessed only after login (“secured” site views) • These site views obviously include Login and Logout operations

  27. After login the data unit on user is bound to “my” identity, thus the index shows “my” papers Page personalization • Personalization can be achieved as a result of appropriate structure design submission • Hypertext can reflect structure, thus providing personalization

  28. Presentation Design • An elementary unit positioning mechanism • Gallery of default presentation styles applicable to site views or single pages • each presentation style is an XSL stylesheet

  29. Presentation

  30. data schema meta data Pagetemplates Previewof architecture Legacy content Site and Presentation Design Conceptualize Site Mapping WebML schemas Map content content Generateapplication deploy Commercial engine Templategenerator run

  31. Design Patterns, Skeletons and Frameworks Refined Structure Model Refined Site View WebML core design process Structure Model Skeleton Structure Model Skeleton Refined Structure Model Mockup and Textual Specs Mockup and textual specs Running Prototype Running Prototype Site View Skeleton Site View Skeleton Refined Site View Population & Presentation default Population & Presentation default

  32. The Conference Management System The project Structure schema Derivation Site view schema A demo

  33. Identifying users’ roles (1) • PC chair • Creates the conference • Creates the PC members • Assigns papers for review • Decides the final paper evaluation • Modifies the conference status • PC Members • Express their preference about subjects and tracks • Express their preference about papers • Indicate conflicts of interest • Create new reviewers and assign papers • Enter paper reviews • Discuss with the PC Chair about the final evaluation

  34. Identifying users’ roles (2) • Authors • Submit papers • Create coauthors • Reviewers • Enter paper reviews • Non registered users • Access the preliminary program, at the end of the conference life cycle

  35. Step2:Paper submission Step3:Paper bidding Step4:Assignement Step6:Final discussion Step5:Review Step7:Acceptance notification The conference lifecycle Step1:Set up • Authors submit papers • PC Memeber express preferences • PC chair and PC members discuss about reviews; • PC chair assigns the final evaluation PC chair (the only authorized user) creates the conference and the PC members • All users see the preliminary Program; • Authors see the review results PC members express preferences about papers PC chair assigns papers to PC members PC members create reviewers and enter reviews

  36. Basic structure schema User_Group User_Preference User_Review User_Subject User_Track User_Submits_Paper User_Reviews_Papers Explicit_Conflict Paper_Track Paper_Preference Paper_Coauthor Paper_Subject

  37. Basic structure schema NoOfSubmittedReviews MaxGrade MinGrade AvgGrade

  38. Hypertext • Basic idea • 5 user’s groups • 7 conference status • 11 site views, obtained by associating user groups to some conference status • Change in the conference status  Change in the association between site views and groups

  39. Conference phase/user role PC chair PC Member Author Reviewer (non PC member) Non registered user 1.Conference set-up PC chair SV -- -- -- Everyone - login 2.Paper submission PC chair SV PCM subjects & tracks Author-submission open -- Everyone - register 3.Bidding PC chair SV PCM-bid Everyone- login suspended -- Everyone – login 4.Paper assignment PC chair SV Login suspended Login suspended -- Everyone – login 5.Paper Review PC chair SV PCM-insert review Author-submission close Reviewer-insert review Everyone – login Site views

  40. Final discussion Conference phase/user role PC chair SV PC chair PCM-final discussion PC Member Author-submission close Author Reviewer (non PC member) Login suspended Non registered user Everyone – login 2.Acceptance notification PC chair SV Login suspended Login suspended Login suspended Everyone-conference program Site views (cont.)

  41. Conference set-up

  42. PC member registration

  43. Review assignment (1) To the Assign reviewer page To the Assign paper page

  44. Review assignment (2)

  45. Paper acceptance

  46. Final statistics

  47. Access rights management

  48. Evolution of status • A ralational trigger changes the access right • It is activated when conference satus attribute changes • A number of update instructions change the association between siteviews and groups • When the conference status is in the bidding phase the trigger assigns to PC members a list of papers • papers are assigned to a track, or to a set of subjects preferred by the PC member. • the grade of interest for these papers is initally 0 • PC member can modify this grade or s/he can raise an explicit conflict of interest about a specified paper

  49. Derivation • Example of derived relationship • PcMember_NoConflicutalPaper (it shows for a given PC member the list of all the papers so that: • The PC member doesn’t work in the same organization of the paper author; • The PC member doesn’t work in the same organization of any of the paper co-authors; • The PC member does not show any explicit conflict with the paper; • The PC member has not been already designated as a reviewer for the paper. • Self to Paper (as M2U) WHERESelf.affiliation <> M2U.User_Submits_Paper.affiliation ANDSelf.affiliation NOT IN ( M2U.Paper_Coauthor.Affiliation ) ANDSelf.Oid NOT IN (M2U.Explicit_Conflict.UserOid) ANDSelf.Oid NOT IN (Self.M2U.User_Reviewer_Papers.UserOid)

  50. A few data about implementation • Number of site views:11 • Number of JSP pages:148 • Number of relational tables:16 • Dimension of the generated JSP code (Kbytes):~ 950 • Number of relational views for derived data:56 • Number of JSP page templates manually retouched: 2 • Number of SQL views manually retouched:6

More Related