r1 - 28 Nov 2005 - 16:27:59 - KatieCappsParlanteYou are here: OSAF >  Journal Web  >  ContributorNotes > KatieParlanteNotes > KatieParlante20051128

brainstorming with donn about scripting

  • inspirations
    • applescript
    • spreadsheet macros
    • javascript in web pages

  • observations
    • few people write elaborate macros, many people use others' macros and sometimes tweak them

  • who is the target user?
    • pim enthusiast who wants to customize chandler, to a particular workflow or methodology
    • someone who's programming skills are equivalent to a macro developer or light scripter (javascript)
    • someone who wants to avoid overhead of building chandler, using svn, etc.

  • what is the ui for scripts?
    • where do scripts live?
    • how are they edited?
    • how do they integrate with the system?
    • current ui ok for one time action, doesn't really address "agent" scripts or scripts that extend/add functionality

  • what apis are available to the scripts?
    • api to access, extend and customize UI (blocks, menus, events)
    • api to access model (pim, collections)
    • api to drive ui the way a user would (discoverable)

  • agent, background daemon scripts to automate tasks

  • how limited should scripting be? should scripters be able to do any development a parcel developer could? should scripters be given a more narrow/structured box to work in?

  • goal: allow a bigger community of people to experiment with creating new features

  • types of scripts
    • one time action
    • adding new features/extending chandler
    • agent

possible features

  • # of items in collection displayed in sidebar
  • create a new item from the clipboard
  • automate repetitive things
    • export favorite calendars, marking some items as private based on some criteria
    • move things from some collection (IN) to some other collection based on some custom or complex critieria
  • mail
    • auto reply
    • filtering
    • mail templates
  • events
    • add everyone's birthday without manually jumping around and creating by hand
    • invite the same set of people to meetings
    • create meeting agenda with standard template
  • GTD nanny
  • workflow forms processing
  • view customization: display custom field in calendar view
  • integrating with other apps
    • clipboard data turns into chandler items (dnd, imported files)
  • define new schema (kinds, add attributes to kinds, create enumerations etc.)
    • current problem where we'd need a parcel space to do this

what would be needed to support this?

  • CRUD (create, retrieve, update, delete) API for domain model items
  • sensible API for manipulating collections
  • access to global environment
    • clipboard
    • well known collections
    • prefs and styles
    • selected date
  • add actions
    • accessible from menu, toolbar
    • automate actions ("agent")
  • solve the problem of parcel space needed to create schema
  • API to customize UI
    • summary view, sidebar display, detail view
    • allow free form drawing?
    • adding text to well known locations?
    • adding columns to table or fields to detail view?
Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: 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.