45 | 45 | 1. '''Builder''' -- this is the UI ''module'' that will allow a user (with permission) to chose the type of widget, Context (see below) Purpose and style of a Widget and build an instance. The module will take these options and create a 'Widget Instance' (see below) before generating the themed, styled ''Widget Chrome'' (below) for a user to paste into their website. |
46 | 46 | 1. '''Chrome''' -- the 'Widget Chrome' is this is the actual HTML and related CSS/JS, built by the ''Widget Builder'' (above), that a user cut/pastes into their site in order to display the widget. It's held on the client site and runs via whatever tech drives it (iFrames to start, web services & backbone maybe one day). The chrome used depends the user's choice of ''Type'' (Full screen, sidebar, button options etc), ''Style'' (css, colours etc - not planned to be editable initially), and ''Framework'' (iFrame for now, later other options might become available). |
47 | | 1. '''Settings''' -- When user builds a widget, the relevant context and purpose will be stored in a Drupal ''entity'' called ''Widget Recipe''. This then allows a user to re-generate the widget with different styles/types using this instance. |
| 47 | 1. '''Recipe''' -- When user builds a widget, the relevant context and purpose of the widget will be stored in a Drupal ''entity'' called ''Widget Recipe''. This then allows a user to re-generate the widget at any with different styles/types using this recipe. It also allows a central store of both users and administrators to manage widgets and avoid misuse, and provides a means of recreating any widget in use to provide support and debugging. A '''Widget Recipe'' consists of: |
| 48 | a. '''Target''' -- the entity target(s) for the widget... For now the only 'target' data will be an 'Initiative' node, but this can be anything once the appropriate widget displays and services plugins are built (see below). |
| 49 | a. '''Purpose''' -- what the widget is for, e.g. National Directory (this is all we're building for the IIRS), Projects near Initiative, Single Node (e.g. for embedding a single page for an event, initiative or other content), Newsletter signup etc etc. Again, 'National Directory' will be the only purpose for now |
| 50 | a. '''Context''' -- the language, country, user (owner) and other background information the widget is to be used for. This data will be auto-selected from the user's account, or from another target depending on purpose. |
| 51 | 1. '''Display''' |
| 52 | |