Sharing Engine/Jim Laura meeting 1
Jim Kirkpatrick (JK) and Laura Whitehead (LW) had a very helpful Skype meeting to clarify the points raised in the Sharing_Engine/Technical_Proposal on 21 February 2012, which resulted in some design principles revisited and changed... These were then discussed with Ed Mitchell and Chris Croome on the 22nd and largely agreed. The outcomes have now been integrated into the Sharing_Engine/Technical_Proposal.
Contents
Actions
Both
- JK & LW to consider moderation process in terms of existing TN site structures
JK
- JK to start Drupal Features and Project content type work
- JK to look multistep form/registration
- JK to build new views for view widget as part of feature
- JK to write code to pull content out of old fields and into 'gulag'
- JK to build new feature with eye to using in Transition Drupal
- JK to use nodeapi & formapis to create slim project form for entry widget
LW
- LW to update project form changes documentation Sharing_Engine/TN_Project_Form_Changes
- LW to build simple responsive theme for use by all types of widget
- LW to build images, surrounds & CSS for container and lower entry button
- LW to work out how much time needed to edit/copy contents of gulag into other Project fields
Topics
Drupal content types and users vs. our technical proposal
Discussed the relationship between submitters and our Project Profile content type vs original need to allow quick or anonymous (from a Drupal perspective). Thought the Alpha is a proof of concept so best to keep things simple. SO, how to somehow juggle content type access with needs of system to know who did it or their contact information WITHOUT (for Alpha at least) needing to create a new content type OR force users to log in. This is hard/impossible without serious coding or fundamental changes to the existing site.
Agreed to force users to login/register as first step, so we have proper user to facilitate moderation, contacting and integration with existing site and Drupal practices.
Content types -- how to handle new and enhance existing
In the Sharing_Engine/Technical_Proposal and related meetings, we agreed it would be better to re-use the existing Project Profile content type (CT), views, layouts and workflows rather than create a new one. The upshot of this is the CT needs to be modified and slimmed down, whilst existing Project content will need to be edited slightly to fit with this structure. LW thought few projects used the more detail fields.
JK will re-create site's Project [1] (very out of date) with a new one which will match the new structure and contain a field to hold any text held in fields to be removed. JK would then write a small Drupal Batch API job to pull these old data into a 'gulag' field which can be edited by LW & others at their leisure. We can then disable and eventually remove the redundant fields.
This means the CT will be lean and the Widget will essentially be just the mandatory fields from the updated project content type.
Behaviour & HTML structure of the widgets themselves
JK had a clear vision of the structure that allowed a) iFrame issues to be avoided where needed, b) responsive theming and existing Drupal forms to do all the work, c) separation between 'view' widgets and 'input' widget.
See: Sharing_Engine/Widget_structure
Meeting Transcript
For the record...
[11:38:06 BST] Jim Kirkpatrick: 1) permissions: anon vs registered// widget entered vs. tn.org entered --- why the dichotomy?
[11:38:50 BST] Jim Kirkpatrick: do we need to block access to project form for anon users on tn.org?
[11:39:03 BST] Jim Kirkpatrick: or can we just allow those submitted there to go into the same moderation stream
[11:39:03 BST] Jim Kirkpatrick: ?
[11:45:43 BST] Jim Kirkpatrick: - need user data stored somewhere, which means either a) storing it againast a project submission (BAD if proper Content type); b) reverting to webform as a submission (BAD as no Location widget available for Webform) or c) force users to login/register as first step
[11:46:03 BST] Jim Kirkpatrick: LW+JK reckon c) is best as it's what Drupal already does...
[11:46:19 BST] Jim Kirkpatrick: would need a 'widget submitter' role -- removes need for anon submission
[11:48:35 BST] Jim Kirkpatrick: so process is: 1) click button, 2) log in/register, 3) enter data, 4) submit & get email 5) moderate, 6) goes live (+email) or dropped (+email)
[11:49:18 BST] Jim Kirkpatrick: WE RECKON: use drupal processes and spend time we'd have spent on mangling this to allow Google, Facebook and Twitter etc. logins on the site as a whole
[11:49:36 BST] Jim Kirkpatrick: Issue 2)
[11:52:01 BST] Jim Kirkpatrick: Content types -- how to handle new and enhance existing
[11:53:29 BST] Jim Kirkpatrick: JK reckons: new slim project CT for widget + new fat(ish) CT 'case study' allowing many case studies to be associated with a project (or initiative, later)
[11:53:45 BST] Jim Kirkpatrick: LW: two project types, fat (existing) and new slim...
[11:56:39 BST] Jim Kirkpatrick: requirements: 1) simple entry for widget
[11:56:56 BST] Jim Kirkpatrick: 2) migration/tweaking of exising project CT
[11:57:55 BST] Jim Kirkpatrick: 3) many (existing) projects have few 'long text' fields entered
[11:58:11 BST] Jim Kirkpatrick: 4) 'case study' is a crap (but descriptive) name
[12:16:51 BST] Jim Kirkpatrick: JK: Is widget form just the subset of mandatory fields of 'fat' project form?
[12:17:00 BST] Jim Kirkpatrick: LW: yes
[12:20:39 BST] Jim Kirkpatrick: JK & LW: we don't need to replicate COmmunity Pathways
[12:21:14 BST] Jim Kirkpatrick: Last question: is there a need for a 'new' project so 'old' ones can be cut/pasted in?
[12:21:18 BST] Jim Kirkpatrick: LW thinks yes
[12:21:23 BST] Jim Kirkpatrick: JK has reservationss...
[12:25:55 BST] Jim Kirkpatrick: so perhaps we a) edit existing project CT; b) add 'gulag' field; c) programtically copy old, unwanted field data into gulag; d) admins can tweak data as time/need exists
[12:26:14 BST] Jim Kirkpatrick: KEY FIELDS: Title, 200 char summary, Locaiton
[12:26:34 BST] Jim Kirkpatrick: Useful fields: tags/taxo, description (aims/whatever)
[12:27:58 BST] Jim Kirkpatrick: LW: to tidy fields on /Sharing_Engine/TN_Project_Form_Changes
[12:30:39 BST] Jim Kirkpatrick: description/gulag to be in collapsed 'Optional' fieldset with nice help about points to write about (unexpected outcomes, issues, funding, stories etc)
[12:32:30 BST] Jim Kirkpatrick: JK: project CT to be exported as Feature, updated on Jim's PC as intermdiate form (with all fields AND gulag)
[12:33:20 BST] Jim Kirkpatrick: then JK (prgramttically) & LW (manuall) to pull extranious data into gulag field
[12:33:37 BST] Jim Kirkpatrick: JK to then remove unneeded fields and re-export field...
[12:33:49 BST] Jim Kirkpatrick: finally new taxo fields to be added to feature
[12:34:03 BST] Jim Kirkpatrick: views and other related bits to be tacked on, can pass feature to Transition Drupal etc.
[12:37:16 BST] Jim Kirkpatrick: SO big part of this is clean up of existing Project CT and (hopefully export of cleaned CT to Transition Drupal)
[12:41:47 BST] Jim Kirkpatrick: Issue 3) widgets themselves
[12:41:54 BST] Jim Kirkpatrick: a) entry widget...
[12:42:43 BST] Jim Kirkpatrick: JK reckons simple script tag + image wrapped in non-js-friendly link back to TN.org
[12:44:41 BST] Jim Kirkpatrick: script modifies link to open a modal div with iFrame inside that loads the /node/add/project_profile page WITH nice theme and only showing the mandatory fields
[12:45:57 BST] Jim Kirkpatrick: b) view widget
[12:46:06 BST] Jim Kirkpatrick: in iframe
[12:46:30 BST] Jim Kirkpatrick: different sizes available (sidebar <--> full page)
[12:53:22 BST] Jim Kirkpatrick: two very separate processes/widgets
[12:53:27 BST] Jim Kirkpatrick: architecture:
[12:53:58 BST] Jim Kirkpatrick: container -- little snippet of HTML, CSS that wraps the two parts
[12:54:30 BST] Jim Kirkpatrick: and the whole 'widget' as far as users sees
[12:54:58 BST] Jim Kirkpatrick: upper (view widget) -- is iFrame of views/tab of existing neazby projects
[12:55:08 BST] Jim Kirkpatrick: lower (entry button)
[12:55:35 BST] Jim Kirkpatrick: -- is simple script tag + image wrapped in non-js-friendly link back to TN.org + script modifies link to open a modal div with iFrame inside that loads the /node/add/project_profile page WITH nice theme and only mandatory fields
[12:55:46 BST] Jim Kirkpatrick: upper and lower parts live within container
[12:56:18 BST] Jim Kirkpatrick: all views and forms to be responsive to fit all screen types
[13:00:50 BST] Jim Kirkpatrick: tracking: need new GA/Piwik campagin for widgets