The Sprout Consultant will, in conjunction with MCA and KALRO team members, design, and implement the public (Comprehensive Knowledge Archive Network) CKAN database with a front-end WordPress website by transferring the current live (Drupal-based open data portal based on CKAN) DKAN site and will also make both backend and front end improvements to the Sprout service implementation as defined by this SOW. Sprout will allow multiple Content Creators (organizations and individuals) to create datasets containing farmer-friendly digital ready content in the form of flat files (CSV, XLS, PDF, JSON, MP4, etc…), add them to and maintain them on the Sprout Platform.
Content Users (farmer facing organizations) will be able to search and browse and retrieve content via the Sprout platform database UI and for adaptation and use in their content distribution platforms. APIs for content retrieval will also be supported. The Consultant will work with AgriFin and KALRO to stand-up all software components on KALRO’s Amazon Web Services.
Content Platform/Database functional requirements:
● Schema: the system must allow the implementation of a structured taxonomy, to be designed by the OCAP team and Consultant, such that content can be stored and searched by category, topic, and a variety of tags. E.g. Value-Chain (e.g. “Irish Potato”), phase of production cycle (e.g. “Post harvest processing”), general topic (e.g. “Farm finance”), content type (e.g. “SMS”, IVR etc), Content Developer (e.g. “World Food Programme”, Region of applicability (“Nigeria”), type of license (e.g. “Creative Commons Attribution”) etc…
● Structured and free-text search: datasets may be searched and retrieved based on metadata that follows the implemented schema and by free-text search of the content itself.
● Public web UI: a clean, usable, public web UI to provide browse, search, upload, update, and download functionality.
● Administrative UI: web based UI for adding, editing, and organizing content, and otherwise administering the software platform.
● Public API: a REST or GraphQL API for programmatic search and content retrieval.
● Lightweight Branding: ability to style web UI (color/theme choices) and add logos.
● Multilingual content: For the MVP English (EN) and Kiswahili (SW) content will be published. Content may be in either or both languages.
● No commercial licenses required: None of the software components that comprise the Content Exchange may be encumbered by commercial licenses.
● Containerized: the artifacts provided to KALRO for hosting on their IT infrastructure should be software containers and may take the form of vmWare VM images, Docker images, LXC containers or other common and well supported container technology, as jointly agreed to by KALRO and the Consultant.**
The current Sprout platform was developed on DKAN with a Drupal front/end website. Original System requirements are here.
Here are the main features to be replicated (left column) and additional features required (right column).
Existing Feature on Sprout to be Replicated
Additional Features Requirements
High Value Content. Offer digital ready, farmer friendly agriculture and cross-cutting content for smallholder farmers that includes:
● Value chain
● Financial and digital literacy
● Climate smart agriculture – practices, post harvest loss, etc.
● Pest and Emergency
● Management practice
● Others include mechanization, insurance, etc.
[Future for information only] Hyper Local content and services. Content customized based on the content distributor and/or farmer information such as GIS, type of crop, size of land, season, soil type, etc.
Content Form – Digital Channels. Support a range of digital channels. In some cases these channels may be operated as a service to the content distribution partners. APIs will be made available where applicable.
● SMS (MVP)
● Whats App 4 Business Chatbots (MVP)
● Other messaging apps (Viber, Messenger, Telegram etc)
● Improving search UI, understanding and documenting how search works and how it can be improved
● Implementation of APIs for partners who want to download content via API
● Simple APIs added
● [Optional] Future looking work to develop framework for offering APIs to content providers and content users to provide hyper local services to farmers.
Content Search. All content will be available for search in a content database with a database taxonomy that allows easy search for content developer, agreement type, content type, channel types, relevant markets, etc.
● Correct minor issues with the interview for content search and content uploads by content created.
● Add features that allow basic Ai to remember content searches and interest so that users can be recommended content and notified of new content they are interested in.
● Implement fixes on content search page and content upload page.
● Improve UX for search, upload and download. Across the website (starting from the home page).
Data Analytics and Dashboard
Google Analytics. Otherwise not implemented.
● Develop internal (not public dashboard using search data from Sprout), preferably using Google Datastudio but not required.
● Develop public dashboard as a subset of internal dashboard to offer a live search of uses of data, preferably using Datastudio.
Partially Implemented, do not like the implementation.
● Implement a better user interface for feedback loops (star rating system)
NOt implemented properly.
● Allow content creators to choose content agreements from a drop down list.
● Migrate from DKAN to CKAN and upgrade all security, and operation systems to be up to date.
Content Management and Co-Creation
● Design & implement Simple co-creation capability — allowing used of content to re-upload on content providers data sets when they have made a change and potential improvement (for example, added new language)
● Include versions control and documentation, as content and recommendations could be updated on an annual basis and include updated agronomic best practices and technologies
Drupal Front End
● Review current drupal implementation and make recommendations to switch to WordPress or similar based on requirements.
● Review project/product goals and current database implementation and develop/implement recommendations for feature improvements.
● Review and complete small fixes that will be provided in a list form. These include but are not limited to 1) disallowing new taxonomy additions (tag) from users, 2) cleanup user self administration, 3) additional of privacy plugins for Europe. etc.
● Add in capabilities to only allow content to be uploaded after approval
Users must sign up and also must log in to view content and download content.
● Improve Login/sign up and sign in processes.
● Require login for download, but return user to original starting point after login rather than requirement them to start over.
● Add feature to request content user that is downloading content what they are doing with the content (5 questions maximum)
● Supporting integrating OKTA single single on application
Consultant Activities will include but will not be limited to the following:
○ Replicate existing features and add new features as defined in feature requirements below.
○ Configure and customize a CKAN instance to implement the taxonomy**
○ Configure and customize the instance’s stock web ui with lightweight branding, landing pages, and any other customizable aspects of the stock web UI (in Drupal)
○ Define Hosting Environment: Work with KALRO to specify the hosting resource needed to meet anticipated demand—e.g. CPU, RAM, Storage, Bandwidth
○ Launch: Containerize the customized instance and work with KALRO to launch and test the live instance on KARLO’s infrastructure
● Manage Site Transfer
○ Manage the transfer of the existing instance of the Sprout Platform DKAN instance to CKAN and update database and frontend features and functionalities, preferably to a Word press front end.
○ Training: Provide Mercy Corps OCAP and KALRO technical and content management staff with training on managing the Content Exchange including adding, editing, and properly categorizing content**
○ Ongoing Support: provide at least 3-month of post launch support via a low-cost, light-weight support model such as a set number of support tickets, or fixed number of hours available over the support time period.**
Deliverables and Implementation Schedule
Description of Deliverable
Proposed Delivery Date
Software requirements specification document, System Design Document, and a technical design requirement document
Develop a Software requirements specification, System Design Document, and a technical design requirement document that provides the updated platforms structure, layout, user flow, functionality, content development and content implementation in the technical platform
January 30, 2022
Fully functional website and Database;
User Acceptance Test sign off from MC AgriFin;
Architecture documentation, Technical documentation and a user manual
Back-end configured, containerized, and CKAN instance to serve as the content exchange set up and operational
Front end software
-Fully functional website and Database,
-User Acceptance Test (UAT) signoff from MC AgriFin,
· Architecture documentation: Defines the high-level architecture of the system: the components, their functions and the data and control flow.
· Technical documentation: Written for a technical audience and covers the code, algorithms and interface.
· User manual: This is the how-to document to which users use when they’re figuring things out. Highlight how do you configure the software? How do you convert a file? Can you upload and download files? How do tag content? Basically, a how-to guide, which aid users how to solve a real-world problem with step-by-step instructions.
Feb 20th, 2021
Sign off from MC AgriFn that data has been migrated successfully
Migrate and upload content, meta data, tags, and other attribute information from the previous instance of the DKAN Sprout Platform to the updated CKAN Sprout Platform
Data and schema comparison test results of the legacy and the destination database -Signoff from MC Agrifin data has been migrated
Sprout Platform website and Database live
Coordinate and work with MC AgriFin and KALRO team to host the updated CKAN instance of the Sprout Platform on the AWS.
Live CKAN instance deployed and running on AWS March 7
Training Workshop documentation
At least one (1) CKAN and WordPress administration training for Mercy Corps and KALRO staff
-Invitation of training,
-Recording of training, or
-Snapshot of attendees during training, or
-list of attendees
3 months support report
Support MC AgriFin and Kalro maintain Sprout Platform and provide technical support to resolve platform related issues remotely.
Report clearly showing a set number of support tickets raised, dates, statuses closed June 7
Required Qualifications **
Previous experience and successfully implemented a minimum of 35 CKAN portals and/or platforms Experience creating secure, up-to-date CKAN portals with the major cloud providers like AWS, Google Cloud and Azure. A track record, with portfolio of examples, of successful CKAN implementations Experience working remotely with a distributed team across time zones Experience working with non-profit organizations and government agencies Experience designing content taxonomies and implement these as schemas in knowledge management systems Firm is a key contributor to the continued development and maintenance of CKAN’s core technology Experience offering tailored online or on-site CKAN training sessions Possess industry experience incorporating process automation, scalability and the latest technologies to CKAN solutions to ensure data security Prior experience deploying CKAN in cloud and container environments Experience in implementing WorldPress or equivalent free and open-source content management front end systems Prior experience integrate third-party extensions, most specifically Okta products and services