IIRS Architecture
We've considered several options for the IIRS already IIRS/firstOutline, IIRS/firstTechReply, but the current thinking is to keep this as modulular and flexible as possible whilst incorporating web services that allow us to start decoupling components of the system from Drupal, or connecting up sites and services across the internet.
Unfortunately keeping the data in sync with the legacy site will take some effort, however this work (if designed and implemented properly) can be the start of a first-class distributed structure for the Transition Network, its national hubs, and eventually the initiative/project sites over time. (This last bit is a vision held by Ed and Jim, but is not currently part of the Transition Network's formal strategy.)
That said, the focus must remain on delivering the near-term goals whilst keeping an eye on the future plans.
Principles
- We must focus on the IIRS/widgetPurpose: Collecting and displaying initiatives in multiple languages in an internationalised view
- Each additional language is a separate sub-project.
- New work will be in Drupal 7 as unfortunately Drupal 8 is not stable at present.
- All pages in the new language context will be served from a new D7 site.
- The current D6 site will still be the 'master', but this work will be designed to grease the wheels of move to D7 sometime in the next year (or two).
- There will be a web service connection between the current D6 and the new, slim D7 site.
- Adding new code to an already big Drupal 6 site should be kept to a minimum, and service connections should be lean and 'gentle'.
- We will create a new, slimline Initiative content type to store the data from the widgets.
- We will re-use/retool/refactor the D6 Project Widget code to get a quick jump on the core widget features. This is essentially a clean-up and conversion from D6 to D7, plus internationalisation and the addition of a new 'view Initiative details' popup.
- Internationalisation is a BIG part of this, as is facilitating the translation of TN-specific parts of the UI and content -- this happens only in D7 though.
- Translating elements of the current D6 site is a furtherance of its 'colonial' origins. It is better to focus on core functionality and ensure that is inter-dependently available and local-isable and manage-able by National Hub administrators.
Assumptions
- That this is a prototype of a complex service offering for an organsiational process, targeted to a specific audience (National Hub people) as part of a growing internationalisation strategy. It is a learning journey and can be scrapped if it does not work, or does not prove desirable for the National Hubs. It is not a finished product.
- As per the TN.org taxonomy, there is a 1:1 relationship between a User account and an Initiative profile. This is for various purposes including: CRM, anti-spam, moderation.
- One country = one language - for the purposes of 1 and 2 above
- That we are working towards a 'shared global directory' of initiatives - NOT trying to aggregate lists of initiatives from different sources
- A widget offers a complete 'service cycle' (add/edit/unpublish) for an Initiative and its related User in that language
- The context of the web visit defines the language - ie if a French TI item is seen via the French widget, the surrounding language will be French. If a French TI item is seen via the TN.org English site, the surrounding language will be English
Scary questions
- What will the experience be for each type of user on each environment, and what sits where...?
A: TN.org users will see a new page per country with some content translated but not much else. Widget users will stay in 'translated bubble' for all interactions. Hub moderation will be kept to a minimum.
- How will translated content get back to the D6 site [assumes it's done on D7, which is the best place for editors if not the system]... It's one thing to make templates and panels layouts, but how is that edited?
A: There will be a 'National Hub Profile' that lets D6 TN.org know about (and have the translated blocks of content) the other countries present in the D7 site. One of these per language/country for now. D7 will need a mirror of this data too -- probably synced with D6 for now.
- What will the 'Initiatives en France' page on TN.org look like, what will be its location (URL & menu structure), what apart from a widget, map and list will it contain?
A: transitionnetwork.org/world/france -> shows UK site with French content area only (menus etc are English). In there will be the 'full page' widget hosted on the D7 site -- all interaction will be via D7 in the widget in French.
- What is the best way to leverage a) Panels, b) Services and c) the existing PSE widget work to get a clean, fast, integrated solution.
A: KISS... Panels layout on TN.org will be just a widget container, and the translated fields from the 'National Hub Profile' (answer 2, above). Services will be event based only, syncing changes in real time between D6 and D7. The widget will be re-factored to be pluggable and handle any content type, in any language.