r3 - 11 Aug 2004 - 09:54:45 - MorgenSagenYou are here: OSAF >  Journal Web  >  ContributorNotes > MorgenSagenNotes > MorgenSagen20040810

Data Model

  • Ted and Andi feel we can drop inverseAttribute and just use otherName -- inverseAttribute is actually misleading since lookup is done by attribute name.

Sharing

  • For Webdav "account" for 0.4 we only need a username and password, and possibly a base url
  • Stuart has some code for item serialize/deserialize that he is using in webdav -- I should be able to repurpose that for email item transfer
  • Ted, Stuart and I talked about pros/cons of being able to create an item with a specific UUID. My use case is an item which is sent via email -- does the item on the recipient's end have the same UUID? Or does it keep track of the UUID of the original item?

Dialog Boxes

  • Do we want OK/Apply/Cancel buttons, or do it like Apple?
    • I prefer having OK/Apply/Cancel buttons
    • Should Cancel after Apply revert back to values before dialog opened?
    • What if the user has removed an account (with the minus button) and then clicked Cancel?
  • Answer from mimi: For 0.4, include an OK/Cancel button on all platforms, and later we will address platform-specific differences

  • How to handle getting data in and out of the dialog
    • Pass items into the dialog method? Then have the dialog code manipulate the items directly?

  • How are the dialog layouts defined? Ahead of time (in wxDesigner, for example), or dynamically based on the passed in data?
    • Static might be able to make it prettier
    • Dynamic makes it easy to create and change, especially at run time; promotes code reuse
  • John suggests: using XRC as much as possible
  • Jed suggests: that a combination of XRC and python is doable

  • Classes
    • class DynamicDialog?( )
      • tabs[] # one tab means no notebook
    • class DynamicDialogPage?( )
      • label
      • forms[]
    • class SingleItemPage?( ) """ Allows you to edit a single item using forms[] """
      • item
    • class MultipleItemsPage?( ) """ Allows you to create/remove/edit an item list using forms[] """
      • items[] # list of tuples, each with item + flags (such marked for deletion)
    • class DynamicForm?( ) """ Given a list of field descriptions and contents, render form """
      • label
      • fields[]
    • class FieldDescriptor?( ) """ Describes a single field """
      • label
      • type (string, password, radio, checkbox, list, etc.)
      • value
      • readonly

tabs[] =
(
    SingleItemPage,
    SingleItemPage,
    MultipleItemsPage,
)

Webdav

  • To publish a collection
    • From menu, determine what is the collection to publish, prompt for url (dialog could be prepopulated with base url from webdav account)
    • "Account" is username, password, server, directory
    • To "Download", pop up a dialog asking for url
    • UI for acceptance - a dialog for accepting invite
    • Downloaded collection needs to appear in the sidebar -- need to talk to Donn about that

-- MorgenSagen - 10 Aug 2004

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r3 < r2 < r1 | More topic actions
 
Open Source Applications Foundation
Except where otherwise noted, this site and its content are licensed by OSAF under an Creative Commons License, Attribution Only 3.0.
See list of page contributors for attributions.