Changes between Version 14 and Version 15 of IIRS/SolutionDesign


Ignore:
Timestamp:
11/14/13 14:05:31 (3 years ago)
Author:
jim
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IIRS/SolutionDesign

    v14 v15  
    88The IIRS will be an add-on service with its own Drupal 7 install. This install will provide the means to: 
    991. '''Initiatives:''' A slimline Initiative content type, related views and maps etc that are synced with TN.org D6. 
    10 1. '''Users:''' Allow users to log in (to their accounts on the current D6 site), or register (with the new account synced back from D7 to D6). 
    11 1. '''Widget:''' Add, Edit (with correct perms), list/map initiatives and view single initiatives via a widget. 
    12 1. '''Sync:''' post-moderated (pre-accepted) D7 initiatives back to TN.org D6 via a web service, AND from D6 to D7 as edits happen there.  
    13 1. '''Hub:''' Store 'National Hub profiles' that facilitate the translation and syncing of the UI and data. 
     101. '''Users:''' Allow users to log in (to their accounts on the current D6 site), or register (once new accounts/auth are synced between D7 to D6). 
     111. '''Widget:''' Add, Edit (with correct perms), list/map initiatives (and any other node we choose to enable) and view single initiatives via a widget. 
     121. '''Sync:''' post-moderated (pre-accepted) D7 initiatives and users are synced to TN.org D6 via a web service, AND from D6 to D7 as edits happen there.  
     131. '''Hub:''' Store 'National Hub profiles' in D6 site that facilitate the translation and syncing of the UI and data, plus the display of their country page on TN.org. 
    1414 
    1515== Drupal 6 site changes == 
     
    2121 
    2222=== Distribution, Profile, Frameworks === 
    23 1. Based on [https://drupal.org/project/panopoly Panopoly] for an excellent editorial experience out of the box. There is a lot of momentum around Panopoly in the Drupal world. 
    24 1. Theme based on Twitter's [http://getbootstrap.com/2.3.2/ Bootstrap (v2.3.2) framework] for a cross-browser, responsive, clean and deeply sexy starting point. There's loads of good resources and tools on the web for Bootstrap. 
     231. Base theme on [http://getbootstrap.com/2.3.2/ Bootstrap (v2.3.2) framework] for a cross-browser, responsive, clean and deeply sexy starting point. There's loads of good resources and tools on the web for Bootstrap. 
    25241. Lots of Drupal themes integrate with Bootstrap, but [https://drupal.org/project/radix Radix] is also gaining a lot of traction with distributions and works great with Panopoly, Open Atrium, Open Outreach and others. 
    26 1. [[https://drupal.org/project/debut Debut] will provide as much base features as possible, to minimise custom code and get a fast start on key features. For now these are not needed for content types, but standardising around other features will make future development and integration with other Drupal sites easier. Recommended for consideration: [https://drupal.org/project/debut_member Membership], [https://drupal.org/project/debut_location Location], [https://drupal.org/project/debut_social Social], [https://drupal.org/project/debut_wysiwyg WYSIWYG] 
    27 1. Will create a 'Transition National Hub' Drupal install profile to allow this site to be built easily on the Transition Network server, and indeed on other interested parties systems. 
     251. Will create a first draft of 'Transition National Hub' Drupal install profile to allow this site to be built easily on the Transition Network server, and indeed on other interested parties systems. 
    2826 
    2927=== Transition-specific custom Features & modules === 
     
    3836 
    3937=== Widget design === 
    40 The widget is to be a more flexible evolution of the work started in [[Sharing_Engine/Technical_Proposal Project Sharing Engine]]. The plan is to build on this base but turn the it into a clear, clean model based on a set of components that can be added, extended and re-used. Since Drupal 7 is not MVC, and neither is Drupal 8, the proposal is to use the [https://drupal.org/project/ctools CTools] Plugin architecture ([http://ygerasimov.com/ctools-plugins-system example here]) to allow new Widget components to be added/enabled over time. 
     38The widget is to be a more flexible evolution of the work started in [[Sharing_Engine/Technical_Proposal Project Sharing Engine]]. The plan is to build on this base but turn the it into a clear, clean model based on a set of components that can be added, extended and re-used. The proposal is to use the [https://drupal.org/project/ctools CTools] Plugin architecture ([http://ygerasimov.com/ctools-plugins-system example here]) to allow new Widget components to be added/enabled over time. 
    4139 
    4240==== Widget modules ==== 
    43 1. '''Widget Core''' --- a ''module'' that holds all the shared variables, admin, functions, permissions and other logic that will drive all widgets and facilitate the rest of the components. 
     411. '''Widgetizer''' --- a ''module'' that holds all the shared variables, admin, functions, workflows, permissions and other logic that will drive all widgets and facilitate the rest of the components to be built using Panels. 
    44421. '''Widget 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 Recipe' (see Components, below) before generating the themed, styled ''Widget Chrome'' (below) for a user to paste into their website. 
    45 1. '''Widget Plugins: Initiatives''' - D7 - a module providing the widget plugins and logic for adding the Initiatives (converted from the [https://wiki.transitionnetwork.org/Sharing_Engine D6 PSE project]). 
     431. '''Widget Plugins: Initiatives''' - D7 - a feature providing the widget plugins and logic for adding the Initiatives (converted from the [https://wiki.transitionnetwork.org/Sharing_Engine D6 PSE project]). 
    4644 
    4745==== Widget components ==== 
    48 1. '''Chrome''' (output, concept) -- 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  
     461. '''Style''' (output) -- the 'chrome' and mechanism for display, includes the HTML and related CSS/JS for the widget and will be generated by the ''Widget Builder'' based on some CTools plugins. Users can then cut/pastes into their site in order to display the widget. It includes whatever tech drives it (iFrames to start, web services & backbone maybe one day). 
    49471. '''Recipe''' -- When user builds a widget, the relevant context, workflow 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: 
    5048  a. '''Style''' -- How it will look when the Chrome is built; Options ''Type'' (Full screen, sidebar, button options etc), ''Style'' (css, colours etc - not planned to be editable initially), and ''Delivery Framework'' (iFrame for now, later other options might become available). 
     
    1031011. A login/authentication service. 
    1041021. Ideally make these resilient with a Queue. 
     103 
     104=== Later enhancements === 
     1051. Later[[https://drupal.org/project/debut Debut] will provide as much base features as possible, to minimise custom code and get a fast start on key features. For now these are not needed for content types, but standardising around other features will make future development and integration with other Drupal sites easier. Recommended for consideration: [https://drupal.org/project/debut_member Membership], [https://drupal.org/project/debut_location Location], [https://drupal.org/project/debut_social Social], [https://drupal.org/project/debut_wysiwyg WYSIWYG]